Skip to content

Instantly share code, notes, and snippets.

@ddellacosta
Created March 28, 2017 18:59
Show Gist options
  • Save ddellacosta/fe3bfd51fe4440d88c98aa211fb3b942 to your computer and use it in GitHub Desktop.
Save ddellacosta/fe3bfd51fe4440d88c98aa211fb3b942 to your computer and use it in GitHub Desktop.
testing
var ReactDates =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/build/";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
var DateRangePicker = __webpack_require__(1)['default'];
var DateRangePickerInput = __webpack_require__(101)['default'];
var DateRangePickerInputController = __webpack_require__(97)['default'];
var SingleDatePicker = __webpack_require__(123)['default'];
var SingleDatePickerInput = __webpack_require__(124)['default'];
var DayPicker = __webpack_require__(112)['default'];
var DayPickerRangeController = __webpack_require__(108)['default'];
var CalendarMonthGrid = __webpack_require__(114)['default'];
var CalendarMonth = __webpack_require__(115)['default'];
var CalendarDay = __webpack_require__(116)['default'];
var DateRangePickerShape = __webpack_require__(120)['default'];
var SingleDatePickerShape = __webpack_require__(125)['default'];
var isInclusivelyAfterDay = __webpack_require__(95)['default'];
var isInclusivelyBeforeDay = __webpack_require__(107)['default'];
var isNextDay = __webpack_require__(110)['default'];
var isSameDay = __webpack_require__(96)['default'];
var toISODateString = __webpack_require__(106)['default'];
var toLocalizedDateString = __webpack_require__(105)['default'];
var toMomentObject = __webpack_require__(104)['default'];
module.exports = {
DateRangePicker: DateRangePicker,
SingleDatePicker: SingleDatePicker,
DateRangePickerInputController: DateRangePickerInputController,
DateRangePickerInput: DateRangePickerInput,
SingleDatePickerInput: SingleDatePickerInput,
DayPicker: DayPicker,
DayPickerRangeController: DayPickerRangeController,
CalendarMonthGrid: CalendarMonthGrid,
CalendarMonth: CalendarMonth,
CalendarDay: CalendarDay,
DateRangePickerShape: DateRangePickerShape,
SingleDatePickerShape: SingleDatePickerShape,
isInclusivelyAfterDay: isInclusivelyAfterDay,
isInclusivelyBeforeDay: isInclusivelyBeforeDay,
isNextDay: isNextDay,
isSameDay: isSameDay,
toISODateString: toISODateString,
toLocalizedDateString: toLocalizedDateString,
toMomentObject: toMomentObject
};
/***/ },
/* 1 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(16);
var _reactDom2 = _interopRequireDefault(_reactDom);
var _reactAddonsShallowCompare = __webpack_require__(2);
var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _reactPortal = __webpack_require__(17);
var _reactPortal2 = _interopRequireDefault(_reactPortal);
var _airbnbPropTypes = __webpack_require__(4);
var _consolidatedEvents = __webpack_require__(11);
var _defaultPhrases = __webpack_require__(18);
var _OutsideClickHandler = __webpack_require__(19);
var _OutsideClickHandler2 = _interopRequireDefault(_OutsideClickHandler);
var _getResponsiveContainerStyles = __webpack_require__(20);
var _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);
var _isInclusivelyAfterDay = __webpack_require__(21);
var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
var _DateRangePickerInputController = __webpack_require__(22);
var _DateRangePickerInputController2 = _interopRequireDefault(_DateRangePickerInputController);
var _DayPickerRangeController = __webpack_require__(23);
var _DayPickerRangeController2 = _interopRequireDefault(_DayPickerRangeController);
var _close = __webpack_require__(24);
var _close2 = _interopRequireDefault(_close);
var _DateRangePickerShape = __webpack_require__(25);
var _DateRangePickerShape2 = _interopRequireDefault(_DateRangePickerShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)(_DateRangePickerShape2['default']);
var defaultProps = {
// required props for a functional interactive DateRangePicker
startDate: null,
endDate: null,
focusedInput: null,
// input related props
startDateId: _constants.START_DATE,
startDatePlaceholderText: 'Start Date',
endDateId: _constants.END_DATE,
endDatePlaceholderText: 'End Date',
disabled: false,
required: false,
screenReaderInputMessage: '',
showClearDates: false,
showDefaultInputIcon: false,
customInputIcon: null,
customArrowIcon: null,
customCloseIcon: null,
// calendar presentation and interaction related props
orientation: _constants.HORIZONTAL_ORIENTATION,
anchorDirection: _constants.ANCHOR_LEFT,
horizontalMargin: 0,
withPortal: false,
withFullScreenPortal: false,
initialVisibleMonth: null,
numberOfMonths: 2,
keepOpenOnDateSelect: false,
reopenPickerOnClearDates: false,
renderCalendarInfo: null,
// navigation related props
navPrev: null,
navNext: null,
onPrevMonthClick: function () {
function onPrevMonthClick() {}
return onPrevMonthClick;
}(),
onNextMonthClick: function () {
function onNextMonthClick() {}
return onNextMonthClick;
}(),
// day presentation and interaction related props
renderDay: null,
minimumNights: 1,
enableOutsideDays: false,
isDayBlocked: function () {
function isDayBlocked() {
return false;
}
return isDayBlocked;
}(),
isOutsideRange: function () {
function isOutsideRange(day) {
return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
}
return isOutsideRange;
}(),
isDayHighlighted: function () {
function isDayHighlighted() {
return false;
}
return isDayHighlighted;
}(),
// internationalization
displayFormat: function () {
function displayFormat() {
return _moment2['default'].localeData().longDateFormat('L');
}
return displayFormat;
}(),
monthFormat: 'MMMM YYYY',
phrases: _defaultPhrases.DateRangePickerPhrases
};
var DateRangePicker = function (_React$Component) {
_inherits(DateRangePicker, _React$Component);
function DateRangePicker(props) {
_classCallCheck(this, DateRangePicker);
var _this = _possibleConstructorReturn(this, (DateRangePicker.__proto__ || Object.getPrototypeOf(DateRangePicker)).call(this, props));
_this.state = {
dayPickerContainerStyles: {}
};
_this.onOutsideClick = _this.onOutsideClick.bind(_this);
_this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);
return _this;
}
_createClass(DateRangePicker, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
this.resizeHandle = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });
this.responsivizePickerPosition();
}
return componentDidMount;
}()
}, {
key: 'shouldComponentUpdate',
value: function () {
function shouldComponentUpdate(nextProps, nextState) {
return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
}
return shouldComponentUpdate;
}()
}, {
key: 'componentDidUpdate',
value: function () {
function componentDidUpdate(prevProps) {
if (!prevProps.focusedInput && this.props.focusedInput && this.isOpened()) {
// The date picker just changed from being closed to being open.
this.responsivizePickerPosition();
}
}
return componentDidUpdate;
}()
}, {
key: 'componentWillUnmount',
value: function () {
function componentWillUnmount() {
(0, _consolidatedEvents.removeEventListener)(this.resizeHandle);
}
return componentWillUnmount;
}()
}, {
key: 'onOutsideClick',
value: function () {
function onOutsideClick() {
var onFocusChange = this.props.onFocusChange;
if (!this.isOpened()) return;
onFocusChange(null);
}
return onOutsideClick;
}()
}, {
key: 'getDayPickerContainerClasses',
value: function () {
function getDayPickerContainerClasses() {
var _props = this.props;
var orientation = _props.orientation;
var withPortal = _props.withPortal;
var withFullScreenPortal = _props.withFullScreenPortal;
var anchorDirection = _props.anchorDirection;
var dayPickerClassName = (0, _classnames2['default'])('DateRangePicker__picker', {
'DateRangePicker__picker--direction-left': anchorDirection === _constants.ANCHOR_LEFT,
'DateRangePicker__picker--direction-right': anchorDirection === _constants.ANCHOR_RIGHT,
'DateRangePicker__picker--horizontal': orientation === _constants.HORIZONTAL_ORIENTATION,
'DateRangePicker__picker--vertical': orientation === _constants.VERTICAL_ORIENTATION,
'DateRangePicker__picker--portal': withPortal || withFullScreenPortal,
'DateRangePicker__picker--full-screen-portal': withFullScreenPortal
});
return dayPickerClassName;
}
return getDayPickerContainerClasses;
}()
}, {
key: 'getDayPickerDOMNode',
value: function () {
function getDayPickerDOMNode() {
return _reactDom2['default'].findDOMNode(this.dayPicker); // eslint-disable-line react/no-find-dom-node
}
return getDayPickerDOMNode;
}()
}, {
key: 'isOpened',
value: function () {
function isOpened() {
var focusedInput = this.props.focusedInput;
return focusedInput === _constants.START_DATE || focusedInput === _constants.END_DATE;
}
return isOpened;
}()
}, {
key: 'responsivizePickerPosition',
value: function () {
function responsivizePickerPosition() {
if (!this.isOpened()) {
return;
}
var _props2 = this.props;
var anchorDirection = _props2.anchorDirection;
var horizontalMargin = _props2.horizontalMargin;
var withPortal = _props2.withPortal;
var withFullScreenPortal = _props2.withFullScreenPortal;
var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;
if (!withPortal && !withFullScreenPortal) {
var containerRect = this.dayPickerContainer.getBoundingClientRect();
var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;
var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];
this.setState({
dayPickerContainerStyles: (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin)
});
}
}
return responsivizePickerPosition;
}()
}, {
key: 'maybeRenderDayPickerWithPortal',
value: function () {
function maybeRenderDayPickerWithPortal() {
var _props3 = this.props;
var withPortal = _props3.withPortal;
var withFullScreenPortal = _props3.withFullScreenPortal;
if (!this.isOpened()) {
return null;
}
if (withPortal || withFullScreenPortal) {
return _react2['default'].createElement(_reactPortal2['default'], { isOpened: true }, this.renderDayPicker());
}
return this.renderDayPicker();
}
return maybeRenderDayPickerWithPortal;
}()
}, {
key: 'renderDayPicker',
value: function () {
function renderDayPicker() {
var _this2 = this;
var _props4 = this.props;
var isDayBlocked = _props4.isDayBlocked;
var isDayHighlighted = _props4.isDayHighlighted;
var isOutsideRange = _props4.isOutsideRange;
var numberOfMonths = _props4.numberOfMonths;
var orientation = _props4.orientation;
var monthFormat = _props4.monthFormat;
var navPrev = _props4.navPrev;
var navNext = _props4.navNext;
var onPrevMonthClick = _props4.onPrevMonthClick;
var onNextMonthClick = _props4.onNextMonthClick;
var onDatesChange = _props4.onDatesChange;
var onFocusChange = _props4.onFocusChange;
var withPortal = _props4.withPortal;
var withFullScreenPortal = _props4.withFullScreenPortal;
var enableOutsideDays = _props4.enableOutsideDays;
var focusedInput = _props4.focusedInput;
var startDate = _props4.startDate;
var endDate = _props4.endDate;
var minimumNights = _props4.minimumNights;
var keepOpenOnDateSelect = _props4.keepOpenOnDateSelect;
var renderDay = _props4.renderDay;
var renderCalendarInfo = _props4.renderCalendarInfo;
var initialVisibleMonth = _props4.initialVisibleMonth;
var customCloseIcon = _props4.customCloseIcon;
var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
var onOutsideClick = !withFullScreenPortal && withPortal ? this.onOutsideClick : undefined;
var initialVisibleMonthThunk = initialVisibleMonth || function () {
return startDate || endDate || (0, _moment2['default'])();
};
var closeIcon = customCloseIcon || _react2['default'].createElement(_close2['default'], null);
return _react2['default'].createElement('div', {
ref: function () {
function ref(_ref2) {
_this2.dayPickerContainer = _ref2;
}
return ref;
}(),
className: this.getDayPickerContainerClasses(),
style: dayPickerContainerStyles
}, _react2['default'].createElement(_DayPickerRangeController2['default'], {
ref: function () {
function ref(_ref) {
_this2.dayPicker = _ref;
}
return ref;
}(),
orientation: orientation,
enableOutsideDays: enableOutsideDays,
numberOfMonths: numberOfMonths,
onPrevMonthClick: onPrevMonthClick,
onNextMonthClick: onNextMonthClick,
onDatesChange: onDatesChange,
onFocusChange: onFocusChange,
focusedInput: focusedInput,
startDate: startDate,
endDate: endDate,
monthFormat: monthFormat,
withPortal: withPortal || withFullScreenPortal,
initialVisibleMonth: initialVisibleMonthThunk,
onOutsideClick: onOutsideClick,
navPrev: navPrev,
navNext: navNext,
minimumNights: minimumNights,
isOutsideRange: isOutsideRange,
isDayHighlighted: isDayHighlighted,
isDayBlocked: isDayBlocked,
keepOpenOnDateSelect: keepOpenOnDateSelect,
renderDay: renderDay,
renderCalendarInfo: renderCalendarInfo
}), withFullScreenPortal && _react2['default'].createElement('button', {
className: 'DateRangePicker__close',
type: 'button',
onClick: this.onOutsideClick
}, _react2['default'].createElement('span', { className: 'screen-reader-only' }, this.props.phrases.closeDatePicker), _react2['default'].createElement('div', { className: 'DateRangePicker__close' }, closeIcon)));
}
return renderDayPicker;
}()
}, {
key: 'render',
value: function () {
function render() {
var _props5 = this.props;
var startDate = _props5.startDate;
var startDateId = _props5.startDateId;
var startDatePlaceholderText = _props5.startDatePlaceholderText;
var endDate = _props5.endDate;
var endDateId = _props5.endDateId;
var endDatePlaceholderText = _props5.endDatePlaceholderText;
var focusedInput = _props5.focusedInput;
var screenReaderInputMessage = _props5.screenReaderInputMessage;
var showClearDates = _props5.showClearDates;
var showDefaultInputIcon = _props5.showDefaultInputIcon;
var customInputIcon = _props5.customInputIcon;
var customArrowIcon = _props5.customArrowIcon;
var customCloseIcon = _props5.customCloseIcon;
var disabled = _props5.disabled;
var required = _props5.required;
var phrases = _props5.phrases;
var isOutsideRange = _props5.isOutsideRange;
var withPortal = _props5.withPortal;
var withFullScreenPortal = _props5.withFullScreenPortal;
var displayFormat = _props5.displayFormat;
var reopenPickerOnClearDates = _props5.reopenPickerOnClearDates;
var keepOpenOnDateSelect = _props5.keepOpenOnDateSelect;
var onDatesChange = _props5.onDatesChange;
var onFocusChange = _props5.onFocusChange;
var onOutsideClick = !withPortal && !withFullScreenPortal ? this.onOutsideClick : undefined;
return _react2['default'].createElement('div', { className: 'DateRangePicker' }, _react2['default'].createElement(_OutsideClickHandler2['default'], { onOutsideClick: onOutsideClick }, _react2['default'].createElement(_DateRangePickerInputController2['default'], {
startDate: startDate,
startDateId: startDateId,
startDatePlaceholderText: startDatePlaceholderText,
isStartDateFocused: focusedInput === _constants.START_DATE,
endDate: endDate,
endDateId: endDateId,
endDatePlaceholderText: endDatePlaceholderText,
isEndDateFocused: focusedInput === _constants.END_DATE,
displayFormat: displayFormat,
showClearDates: showClearDates,
showCaret: !withPortal && !withFullScreenPortal,
showDefaultInputIcon: showDefaultInputIcon,
customInputIcon: customInputIcon,
customArrowIcon: customArrowIcon,
customCloseIcon: customCloseIcon,
disabled: disabled,
required: required,
reopenPickerOnClearDates: reopenPickerOnClearDates,
keepOpenOnDateSelect: keepOpenOnDateSelect,
isOutsideRange: isOutsideRange,
withFullScreenPortal: withFullScreenPortal,
onDatesChange: onDatesChange,
onFocusChange: onFocusChange,
phrases: phrases,
screenReaderMessage: screenReaderInputMessage
}), this.maybeRenderDayPickerWithPortal()));
}
return render;
}()
}]);
return DateRangePicker;
}(_react2['default'].Component);
exports['default'] = DateRangePicker;
DateRangePicker.propTypes = propTypes;
DateRangePicker.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},
/* 2 */
/***/function (module, exports) {
module.exports = __webpack_require__(3);
/***/
},,
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,,
/* 7 */
/* 8 */
/* 9 */
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},
/* 11 */
/***/function (module, exports) {
module.exports = __webpack_require__(84);
/***/
},,,,,
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/* 16 */
/***/function (module, exports) {
module.exports = __webpack_require__(90);
/***/
},
/* 17 */
/***/function (module, exports) {
module.exports = __webpack_require__(91);
/***/
},
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},
/* 19 */
/***/function (module, exports) {
module.exports = __webpack_require__(93);
/***/
},
/* 20 */
/***/function (module, exports) {
module.exports = __webpack_require__(94);
/***/
},
/* 21 */
/***/function (module, exports) {
module.exports = __webpack_require__(95);
/***/
},
/* 22 */
/***/function (module, exports) {
module.exports = __webpack_require__(97);
/***/
},
/* 23 */
/***/function (module, exports) {
module.exports = __webpack_require__(108);
/***/
},
/* 24 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 12 12" }, this.props), _react2["default"].createElement("path", { fillRule: "evenodd", d: "M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},
/* 25 */
/***/function (module, exports) {
module.exports = __webpack_require__(120);
/***/
}
/******/]);
/***/ },
/* 2 */
/***/ function(module, exports) {
module.exports = React;
/***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(4);
/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {
/**
* Copyright 2013-present, 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.
*
*/
'use strict';
var shallowEqual = __webpack_require__(5);
/**
* Does a shallow comparison for props and state.
* See ReactComponentWithPureRenderMixin
* See also https://facebook.github.io/react/docs/shallow-compare.html
*/
function shallowCompare(instance, nextProps, nextState) {
return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
}
module.exports = shallowCompare;
/***/ },
/* 5 */
/***/ function(module, exports) {
/**
* Copyright (c) 2013-present, 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
*
*/
/*eslint-disable no-self-compare */
'use strict';
var hasOwnProperty = Object.prototype.hasOwnProperty;
/**
* inlined Object.is polyfill to avoid requiring consumers ship their own
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
*/
function is(x, y) {
// SameValue algorithm
if (x === y) {
// Steps 1-5, 7-10
// Steps 6.b-6.e: +0 != -0
// Added the nonzero y check to make Flow happy, but it is redundant
return x !== 0 || y !== 0 || 1 / x === 1 / y;
} else {
// Step 6.a: NaN == NaN
return x !== x && y !== y;
}
}
/**
* Performs equality by iterating through keys on an object and returning false
* when any key has values which are not strictly equal between the arguments.
* Returns true when the values of all keys are strictly equal.
*/
function shallowEqual(objA, objB) {
if (is(objA, objB)) {
return true;
}
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
return false;
}
var keysA = Object.keys(objA);
var keysB = Object.keys(objB);
if (keysA.length !== keysB.length) {
return false;
}
// Test for A's keys different from B.
for (var i = 0; i < keysA.length; i++) {
if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
module.exports = shallowEqual;
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {module.exports = process.env.NODE_ENV === 'production' ? __webpack_require__(8) : __webpack_require__(9);
//# sourceMappingURL=index.js.map
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))
/***/ },
/* 7 */
/***/ function(module, exports) {
// shim for using process in browser
var process = module.exports = {};
// cached from whatever global is present so that test runners that stub it
// don't break things. But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals. It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout;
var cachedClearTimeout;
function defaultSetTimout() {
throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
throw new Error('clearTimeout has not been defined');
}
(function () {
try {
if (typeof setTimeout === 'function') {
cachedSetTimeout = setTimeout;
} else {
cachedSetTimeout = defaultSetTimout;
}
} catch (e) {
cachedSetTimeout = defaultSetTimout;
}
try {
if (typeof clearTimeout === 'function') {
cachedClearTimeout = clearTimeout;
} else {
cachedClearTimeout = defaultClearTimeout;
}
} catch (e) {
cachedClearTimeout = defaultClearTimeout;
}
} ())
function runTimeout(fun) {
if (cachedSetTimeout === setTimeout) {
//normal enviroments in sane situations
return setTimeout(fun, 0);
}
// if setTimeout wasn't available but was latter defined
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
cachedSetTimeout = setTimeout;
return setTimeout(fun, 0);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun, 0);
} catch(e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null, fun, 0);
} catch(e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this, fun, 0);
}
}
}
function runClearTimeout(marker) {
if (cachedClearTimeout === clearTimeout) {
//normal enviroments in sane situations
return clearTimeout(marker);
}
// if clearTimeout wasn't available but was latter defined
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
cachedClearTimeout = clearTimeout;
return clearTimeout(marker);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);
} catch (e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedClearTimeout.call(null, marker);
} catch (e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this, marker);
}
}
}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
if (!draining || !currentQueue) {
return;
}
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
} else {
queueIndex = -1;
}
if (queue.length) {
drainQueue();
}
}
function drainQueue() {
if (draining) {
return;
}
var timeout = runTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
while(len) {
currentQueue = queue;
queue = [];
while (++queueIndex < len) {
if (currentQueue) {
currentQueue[queueIndex].run();
}
}
queueIndex = -1;
len = queue.length;
}
currentQueue = null;
draining = false;
runClearTimeout(timeout);
}
process.nextTick = function (fun) {
var args = new Array(arguments.length - 1);
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args[i - 1] = arguments[i];
}
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
runTimeout(drainQueue);
}
};
// v8 likes predictible objects
function Item(fun, array) {
this.fun = fun;
this.array = array;
}
Item.prototype.run = function () {
this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};
function noop() {}
process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.binding = function (name) {
throw new Error('process.binding is not supported');
};
process.cwd = function () { return '/' };
process.chdir = function (dir) {
throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };
/***/ },
/* 8 */
/***/ function(module, exports) {
function noop() {}
noop.isRequired = noop;
function noopThunk() {
return noop;
}
module.exports = {
and: noopThunk,
between: noopThunk,
childrenHavePropXorChildren: noopThunk,
childrenOf: noopThunk,
childrenOfType: noopThunk,
childrenSequenceOf: noopThunk,
componentWithName: noopThunk,
elementType: noopThunk,
explicitNull: noopThunk,
forbidExtraProps: Object,
integer: noopThunk,
keysOf: noopThunk,
mutuallyExclusiveProps: noopThunk,
mutuallyExclusiveTrueProps: noopThunk,
nChildren: noopThunk,
nonNegativeInteger: noopThunk,
nonNegativeNumber: noopThunk,
numericString: noopThunk,
object: noopThunk,
or: noopThunk,
range: noopThunk,
restrictedProp: noopThunk,
sequenceOf: noopThunk,
shape: noopThunk,
uniqueArray: noopThunk,
uniqueArrayOf: noopThunk,
valuesOf: noopThunk,
withShape: noopThunk
};
//# sourceMappingURL=index.js.map
/***/ },
/* 9 */
/***/ function(module, exports, __webpack_require__) {
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _between = __webpack_require__(23);
var _between2 = _interopRequireDefault(_between);
var _childrenHavePropXorChildren = __webpack_require__(49);
var _childrenHavePropXorChildren2 = _interopRequireDefault(_childrenHavePropXorChildren);
var _childrenOf = __webpack_require__(50);
var _childrenOf2 = _interopRequireDefault(_childrenOf);
var _childrenOfType = __webpack_require__(52);
var _childrenOfType2 = _interopRequireDefault(_childrenOfType);
var _childrenSequenceOf = __webpack_require__(58);
var _childrenSequenceOf2 = _interopRequireDefault(_childrenSequenceOf);
var _componentWithName = __webpack_require__(67);
var _componentWithName2 = _interopRequireDefault(_componentWithName);
var _elementType = __webpack_require__(68);
var _elementType2 = _interopRequireDefault(_elementType);
var _explicitNull = __webpack_require__(69);
var _explicitNull2 = _interopRequireDefault(_explicitNull);
var _forbidExtraProps = __webpack_require__(70);
var _forbidExtraProps2 = _interopRequireDefault(_forbidExtraProps);
var _integer = __webpack_require__(61);
var _integer2 = _interopRequireDefault(_integer);
var _keysOf = __webpack_require__(71);
var _keysOf2 = _interopRequireDefault(_keysOf);
var _mutuallyExclusiveProps = __webpack_require__(72);
var _mutuallyExclusiveProps2 = _interopRequireDefault(_mutuallyExclusiveProps);
var _mutuallyExclusiveTrueProps = __webpack_require__(73);
var _mutuallyExclusiveTrueProps2 = _interopRequireDefault(_mutuallyExclusiveTrueProps);
var _nChildren = __webpack_require__(74);
var _nChildren2 = _interopRequireDefault(_nChildren);
var _nonNegativeInteger = __webpack_require__(60);
var _nonNegativeInteger2 = _interopRequireDefault(_nonNegativeInteger);
var _nonNegativeNumber = __webpack_require__(63);
var _nonNegativeNumber2 = _interopRequireDefault(_nonNegativeNumber);
var _numericString = __webpack_require__(75);
var _numericString2 = _interopRequireDefault(_numericString);
var _object = __webpack_require__(64);
var _object2 = _interopRequireDefault(_object);
var _or = __webpack_require__(76);
var _or2 = _interopRequireDefault(_or);
var _range = __webpack_require__(77);
var _range2 = _interopRequireDefault(_range);
var _restrictedProp = __webpack_require__(78);
var _restrictedProp2 = _interopRequireDefault(_restrictedProp);
var _sequenceOf = __webpack_require__(59);
var _sequenceOf2 = _interopRequireDefault(_sequenceOf);
var _shape = __webpack_require__(45);
var _shape2 = _interopRequireDefault(_shape);
var _uniqueArray = __webpack_require__(79);
var _uniqueArray2 = _interopRequireDefault(_uniqueArray);
var _uniqueArrayOf = __webpack_require__(80);
var _uniqueArrayOf2 = _interopRequireDefault(_uniqueArrayOf);
var _valuesOf = __webpack_require__(47);
var _valuesOf2 = _interopRequireDefault(_valuesOf);
var _withShape = __webpack_require__(66);
var _withShape2 = _interopRequireDefault(_withShape);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
module.exports = {
and: _and2['default'],
between: _between2['default'],
childrenHavePropXorChildren: _childrenHavePropXorChildren2['default'],
childrenOf: _childrenOf2['default'],
childrenOfType: _childrenOfType2['default'],
childrenSequenceOf: _childrenSequenceOf2['default'],
componentWithName: _componentWithName2['default'],
elementType: _elementType2['default'],
explicitNull: _explicitNull2['default'],
forbidExtraProps: _forbidExtraProps2['default'],
integer: _integer2['default'],
keysOf: _keysOf2['default'],
mutuallyExclusiveProps: _mutuallyExclusiveProps2['default'],
mutuallyExclusiveTrueProps: _mutuallyExclusiveTrueProps2['default'],
nChildren: _nChildren2['default'],
nonNegativeInteger: _nonNegativeInteger2['default'],
nonNegativeNumber: _nonNegativeNumber2['default'],
numericString: _numericString2['default'],
object: _object2['default'],
or: _or2['default'],
range: _range2['default'],
restrictedProp: _restrictedProp2['default'],
sequenceOf: _sequenceOf2['default'],
shape: _shape2['default'],
uniqueArray: _uniqueArray2['default'],
uniqueArrayOf: _uniqueArrayOf2['default'],
valuesOf: _valuesOf2['default'],
withShape: _withShape2['default']
};
//# sourceMappingURL=index.js.map
/***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = andValidator;
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function andValidator(validators) {
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'and';
if (!Array.isArray(validators)) {
throw new TypeError('and: 2 or more validators are required');
}
if (validators.length <= 1) {
throw new RangeError('and: 2 or more validators are required');
}
var validator = function () {
function and() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var firstError = null;
validators.some(function (validatorFn) {
firstError = validatorFn.apply(undefined, args);
return firstError != null;
});
return firstError == null ? null : firstError;
}
return and;
}();
validator.isRequired = function () {
function andIsRequired() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
var firstError = null;
validators.some(function (validatorFn) {
firstError = validatorFn.isRequired.apply(validatorFn, args);
return firstError != null;
});
return firstError == null ? null : firstError;
}
return andIsRequired;
}();
return (0, _wrapValidator2['default'])(validator, name, validators);
}
//# sourceMappingURL=and.js.map
/***/ },
/* 11 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = wrapValidator;
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function wrapValidator(validator, typeName) {
var typeChecker = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
return (0, _object2['default'])(validator.bind(), {
typeName: typeName,
typeChecker: typeChecker,
isRequired: (0, _object2['default'])(validator.isRequired.bind(), {
typeName: typeName,
typeChecker: typeChecker,
typeRequired: true
})
});
}
//# sourceMappingURL=wrapValidator.js.map
/***/ },
/* 12 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var defineProperties = __webpack_require__(13);
var implementation = __webpack_require__(17);
var getPolyfill = __webpack_require__(21);
var shim = __webpack_require__(22);
var polyfill = getPolyfill();
defineProperties(polyfill, {
implementation: implementation,
getPolyfill: getPolyfill,
shim: shim
});
module.exports = polyfill;
/***/ },
/* 13 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var keys = __webpack_require__(14);
var foreach = __webpack_require__(16);
var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
var toStr = Object.prototype.toString;
var isFunction = function (fn) {
return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
};
var arePropertyDescriptorsSupported = function () {
var obj = {};
try {
Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
/* eslint-disable no-unused-vars, no-restricted-syntax */
for (var _ in obj) { return false; }
/* eslint-enable no-unused-vars, no-restricted-syntax */
return obj.x === obj;
} catch (e) { /* this is IE 8. */
return false;
}
};
var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
var defineProperty = function (object, name, value, predicate) {
if (name in object && (!isFunction(predicate) || !predicate())) {
return;
}
if (supportsDescriptors) {
Object.defineProperty(object, name, {
configurable: true,
enumerable: false,
value: value,
writable: true
});
} else {
object[name] = value;
}
};
var defineProperties = function (object, map) {
var predicates = arguments.length > 2 ? arguments[2] : {};
var props = keys(map);
if (hasSymbols) {
props = props.concat(Object.getOwnPropertySymbols(map));
}
foreach(props, function (name) {
defineProperty(object, name, map[name], predicates[name]);
});
};
defineProperties.supportsDescriptors = !!supportsDescriptors;
module.exports = defineProperties;
/***/ },
/* 14 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
// modified from https://github.com/es-shims/es5-shim
var has = Object.prototype.hasOwnProperty;
var toStr = Object.prototype.toString;
var slice = Array.prototype.slice;
var isArgs = __webpack_require__(15);
var isEnumerable = Object.prototype.propertyIsEnumerable;
var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
var dontEnums = [
'toString',
'toLocaleString',
'valueOf',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'constructor'
];
var equalsConstructorPrototype = function (o) {
var ctor = o.constructor;
return ctor && ctor.prototype === o;
};
var excludedKeys = {
$console: true,
$external: true,
$frame: true,
$frameElement: true,
$frames: true,
$innerHeight: true,
$innerWidth: true,
$outerHeight: true,
$outerWidth: true,
$pageXOffset: true,
$pageYOffset: true,
$parent: true,
$scrollLeft: true,
$scrollTop: true,
$scrollX: true,
$scrollY: true,
$self: true,
$webkitIndexedDB: true,
$webkitStorageInfo: true,
$window: true
};
var hasAutomationEqualityBug = (function () {
/* global window */
if (typeof window === 'undefined') { return false; }
for (var k in window) {
try {
if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
try {
equalsConstructorPrototype(window[k]);
} catch (e) {
return true;
}
}
} catch (e) {
return true;
}
}
return false;
}());
var equalsConstructorPrototypeIfNotBuggy = function (o) {
/* global window */
if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
return equalsConstructorPrototype(o);
}
try {
return equalsConstructorPrototype(o);
} catch (e) {
return false;
}
};
var keysShim = function keys(object) {
var isObject = object !== null && typeof object === 'object';
var isFunction = toStr.call(object) === '[object Function]';
var isArguments = isArgs(object);
var isString = isObject && toStr.call(object) === '[object String]';
var theKeys = [];
if (!isObject && !isFunction && !isArguments) {
throw new TypeError('Object.keys called on a non-object');
}
var skipProto = hasProtoEnumBug && isFunction;
if (isString && object.length > 0 && !has.call(object, 0)) {
for (var i = 0; i < object.length; ++i) {
theKeys.push(String(i));
}
}
if (isArguments && object.length > 0) {
for (var j = 0; j < object.length; ++j) {
theKeys.push(String(j));
}
} else {
for (var name in object) {
if (!(skipProto && name === 'prototype') && has.call(object, name)) {
theKeys.push(String(name));
}
}
}
if (hasDontEnumBug) {
var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
for (var k = 0; k < dontEnums.length; ++k) {
if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
theKeys.push(dontEnums[k]);
}
}
}
return theKeys;
};
keysShim.shim = function shimObjectKeys() {
if (Object.keys) {
var keysWorksWithArguments = (function () {
// Safari 5.0 bug
return (Object.keys(arguments) || '').length === 2;
}(1, 2));
if (!keysWorksWithArguments) {
var originalKeys = Object.keys;
Object.keys = function keys(object) {
if (isArgs(object)) {
return originalKeys(slice.call(object));
} else {
return originalKeys(object);
}
};
}
} else {
Object.keys = keysShim;
}
return Object.keys || keysShim;
};
module.exports = keysShim;
/***/ },
/* 15 */
/***/ function(module, exports) {
'use strict';
var toStr = Object.prototype.toString;
module.exports = function isArguments(value) {
var str = toStr.call(value);
var isArgs = str === '[object Arguments]';
if (!isArgs) {
isArgs = str !== '[object Array]' &&
value !== null &&
typeof value === 'object' &&
typeof value.length === 'number' &&
value.length >= 0 &&
toStr.call(value.callee) === '[object Function]';
}
return isArgs;
};
/***/ },
/* 16 */
/***/ function(module, exports) {
var hasOwn = Object.prototype.hasOwnProperty;
var toString = Object.prototype.toString;
module.exports = function forEach (obj, fn, ctx) {
if (toString.call(fn) !== '[object Function]') {
throw new TypeError('iterator must be a function');
}
var l = obj.length;
if (l === +l) {
for (var i = 0; i < l; i++) {
fn.call(ctx, obj[i], i, obj);
}
} else {
for (var k in obj) {
if (hasOwn.call(obj, k)) {
fn.call(ctx, obj[k], k, obj);
}
}
}
};
/***/ },
/* 17 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
// modified from https://github.com/es-shims/es6-shim
var keys = __webpack_require__(14);
var bind = __webpack_require__(18);
var canBeObject = function (obj) {
return typeof obj !== 'undefined' && obj !== null;
};
var hasSymbols = __webpack_require__(20)();
var toObject = Object;
var push = bind.call(Function.call, Array.prototype.push);
var propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;
module.exports = function assign(target, source1) {
if (!canBeObject(target)) { throw new TypeError('target must be an object'); }
var objTarget = toObject(target);
var s, source, i, props, syms, value, key;
for (s = 1; s < arguments.length; ++s) {
source = toObject(arguments[s]);
props = keys(source);
var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);
if (getSymbols) {
syms = getSymbols(source);
for (i = 0; i < syms.length; ++i) {
key = syms[i];
if (propIsEnumerable(source, key)) {
push(props, key);
}
}
}
for (i = 0; i < props.length; ++i) {
key = props[i];
value = source[key];
if (propIsEnumerable(source, key)) {
objTarget[key] = value;
}
}
}
return objTarget;
};
/***/ },
/* 18 */
/***/ function(module, exports, __webpack_require__) {
var implementation = __webpack_require__(19);
module.exports = Function.prototype.bind || implementation;
/***/ },
/* 19 */
/***/ function(module, exports) {
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
var slice = Array.prototype.slice;
var toStr = Object.prototype.toString;
var funcType = '[object Function]';
module.exports = function bind(that) {
var target = this;
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
throw new TypeError(ERROR_MESSAGE + target);
}
var args = slice.call(arguments, 1);
var bound;
var binder = function () {
if (this instanceof bound) {
var result = target.apply(
this,
args.concat(slice.call(arguments))
);
if (Object(result) === result) {
return result;
}
return this;
} else {
return target.apply(
that,
args.concat(slice.call(arguments))
);
}
};
var boundLength = Math.max(0, target.length - args.length);
var boundArgs = [];
for (var i = 0; i < boundLength; i++) {
boundArgs.push('$' + i);
}
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
if (target.prototype) {
var Empty = function Empty() {};
Empty.prototype = target.prototype;
bound.prototype = new Empty();
Empty.prototype = null;
}
return bound;
};
/***/ },
/* 20 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var keys = __webpack_require__(14);
module.exports = function hasSymbols() {
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
if (typeof Symbol.iterator === 'symbol') { return true; }
var obj = {};
var sym = Symbol('test');
var symObj = Object(sym);
if (typeof sym === 'string') { return false; }
if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
// temp disabled per https://github.com/ljharb/object.assign/issues/17
// if (sym instanceof Symbol) { return false; }
// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
// if (!(symObj instanceof Symbol)) { return false; }
var symVal = 42;
obj[sym] = symVal;
for (sym in obj) { return false; }
if (keys(obj).length !== 0) { return false; }
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
var syms = Object.getOwnPropertySymbols(obj);
if (syms.length !== 1 || syms[0] !== sym) { return false; }
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
if (typeof Object.getOwnPropertyDescriptor === 'function') {
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
}
return true;
};
/***/ },
/* 21 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var implementation = __webpack_require__(17);
var lacksProperEnumerationOrder = function () {
if (!Object.assign) {
return false;
}
// v8, specifically in node 4.x, has a bug with incorrect property enumeration order
// note: this does not detect the bug unless there's 20 characters
var str = 'abcdefghijklmnopqrst';
var letters = str.split('');
var map = {};
for (var i = 0; i < letters.length; ++i) {
map[letters[i]] = letters[i];
}
var obj = Object.assign({}, map);
var actual = '';
for (var k in obj) {
actual += k;
}
return str !== actual;
};
var assignHasPendingExceptions = function () {
if (!Object.assign || !Object.preventExtensions) {
return false;
}
// Firefox 37 still has "pending exception" logic in its Object.assign implementation,
// which is 72% slower than our shim, and Firefox 40's native implementation.
var thrower = Object.preventExtensions({ 1: 2 });
try {
Object.assign(thrower, 'xy');
} catch (e) {
return thrower[1] === 'y';
}
return false;
};
module.exports = function getPolyfill() {
if (!Object.assign) {
return implementation;
}
if (lacksProperEnumerationOrder()) {
return implementation;
}
if (assignHasPendingExceptions()) {
return implementation;
}
return Object.assign;
};
/***/ },
/* 22 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var define = __webpack_require__(13);
var getPolyfill = __webpack_require__(21);
module.exports = function shimAssign() {
var polyfill = getPolyfill();
define(
Object,
{ assign: polyfill },
{ assign: function () { return Object.assign !== polyfill; } }
);
return polyfill;
};
/***/ },
/* 23 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
exports['default'] = betweenValidator;
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _object3 = __webpack_require__(24);
var _object4 = _interopRequireDefault(_object3);
var _shape = __webpack_require__(45);
var _shape2 = _interopRequireDefault(_shape);
var _valuesOf = __webpack_require__(47);
var _valuesOf2 = _interopRequireDefault(_valuesOf);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function number(props, propName, componentName) {
var value = props[propName];
if (typeof value === 'number' && !isNaN(value)) {
return null;
}
return new TypeError(String(componentName) + ': ' + String(propName) + ' must be a non-NaN number.');
}
function numberOrPropsFunc(props, propName) {
var value = props[propName];
if (typeof value === 'function') {
return null;
}
if (typeof value === 'number' && !isNaN(value)) {
return null;
}
return new TypeError(String(propName) + ': a function, or a non-NaN number is required');
}
function lowerCompare(value, _ref) {
var gt = _ref.gt,
gte = _ref.gte;
if (typeof gt === 'number') {
return value > gt;
}
if (typeof gte === 'number') {
return value >= gte;
}
return true;
}
function upperCompare(value, _ref2) {
var lt = _ref2.lt,
lte = _ref2.lte;
if (typeof lt === 'number') {
return value < lt;
}
if (typeof lte === 'number') {
return value <= lte;
}
return true;
}
function greaterThanError(_ref3) {
var gt = _ref3.gt,
gte = _ref3.gte;
if (typeof gt === 'number') {
return 'greater than ' + gt;
}
if (typeof gte === 'number') {
return 'greater than or equal to ' + gte;
}
return '';
}
function lessThanError(_ref4) {
var lt = _ref4.lt,
lte = _ref4.lte;
if (typeof lt === 'number') {
return 'less than ' + lt;
}
if (typeof lte === 'number') {
return 'less than or equal to ' + lte;
}
return '';
}
function errorMessage(componentName, propName, opts) {
var errors = [greaterThanError(opts), lessThanError(opts)].filter(Boolean).join(' and ');
return String(componentName) + ': ' + String(propName) + ' must be ' + String(errors);
}
function propsThunkify(opts) {
return (0, _object4['default'])(opts).reduce(function (acc, _ref5) {
var _ref6 = _slicedToArray(_ref5, 2),
key = _ref6[0],
value = _ref6[1];
var numberThunk = typeof value === 'number' ? function () {
return value;
} : value;
return (0, _object2['default'])({}, acc, _defineProperty({}, key, numberThunk));
}, {});
}
function invokeWithProps(optsThunks, props) {
return (0, _object4['default'])(optsThunks).reduce(function (acc, _ref7) {
var _ref8 = _slicedToArray(_ref7, 2),
key = _ref8[0],
thunk = _ref8[1];
var value = thunk(props);
return (0, _object2['default'])({}, acc, _defineProperty({}, key, value));
}, {});
}
var argValidators = [(0, _shape2['default'])({ lt: numberOrPropsFunc, gt: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ lte: numberOrPropsFunc, gt: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ lt: numberOrPropsFunc, gte: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ lte: numberOrPropsFunc, gte: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ lt: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ lte: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ gt: numberOrPropsFunc }).isRequired, (0, _shape2['default'])({ gte: numberOrPropsFunc }).isRequired];
function argValidator(props, propName) {
return argValidators.every(function (validator) {
return !!validator(props, propName);
});
}
var thunkValueValidator = (0, _valuesOf2['default'])(number).isRequired;
function betweenValidator(options) {
var argError = argValidator({ options: options }, 'options');
if (argError) {
throw new TypeError('between: only one of the pairs of `lt`/`lte`, and `gt`/`gte`, may be supplied, and at least one pair must be provided.');
}
var optsThunks = propsThunkify(options);
var validator = function () {
function between(props, propName, componentName) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
if (typeof propValue !== 'number') {
return new RangeError(String(componentName) + ': ' + String(propName) + ' must be a number, got "' + (typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue)) + '"');
}
var opts = invokeWithProps(optsThunks, props);
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
var thunkValuesError = thunkValueValidator.apply(undefined, [_defineProperty({}, propName, opts), propName, componentName].concat(rest));
if (thunkValuesError) {
return thunkValuesError;
}
if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) {
return new RangeError(errorMessage(componentName, propName, opts));
}
return null;
}
return between;
}();
validator.isRequired = function () {
function betweenRequired(props, propName, componentName) {
var propValue = props[propName];
if (typeof propValue !== 'number') {
return new RangeError(String(componentName) + ': ' + String(propName) + ' must be a number, got "' + (typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue)) + '"');
}
var opts = invokeWithProps(optsThunks, props);
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
var thunkValuesError = thunkValueValidator.apply(undefined, [_defineProperty({}, propName, opts), propName, componentName].concat(rest));
if (thunkValuesError) {
return thunkValuesError;
}
if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) {
return new RangeError(errorMessage(componentName, propName, opts));
}
return null;
}
return betweenRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'between', options);
}
//# sourceMappingURL=between.js.map
/***/ },
/* 24 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var define = __webpack_require__(13);
var implementation = __webpack_require__(25);
var getPolyfill = __webpack_require__(43);
var shim = __webpack_require__(44);
var polyfill = getPolyfill();
define(polyfill, {
getPolyfill: getPolyfill,
implementation: implementation,
shim: shim
});
module.exports = polyfill;
/***/ },
/* 25 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var ES = __webpack_require__(26);
var has = __webpack_require__(42);
var bind = __webpack_require__(18);
var isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
module.exports = function entries(O) {
var obj = ES.RequireObjectCoercible(O);
var entrys = [];
for (var key in obj) {
if (has(obj, key) && isEnumerable(obj, key)) {
entrys.push([key, obj[key]]);
}
}
return entrys;
};
/***/ },
/* 26 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var ES6 = __webpack_require__(27);
var assign = __webpack_require__(30);
var ES7 = assign(ES6, {
// https://github.com/tc39/ecma262/pull/60
SameValueNonNumber: function SameValueNonNumber(x, y) {
if (typeof x === 'number' || typeof x !== typeof y) {
throw new TypeError('SameValueNonNumber requires two non-number values of the same type.');
}
return this.SameValue(x, y);
}
});
module.exports = ES7;
/***/ },
/* 27 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var toStr = Object.prototype.toString;
var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
var symbolToStr = hasSymbols ? Symbol.prototype.toString : toStr;
var $isNaN = __webpack_require__(28);
var $isFinite = __webpack_require__(29);
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
var assign = __webpack_require__(30);
var sign = __webpack_require__(31);
var mod = __webpack_require__(32);
var isPrimitive = __webpack_require__(33);
var toPrimitive = __webpack_require__(34);
var parseInteger = parseInt;
var bind = __webpack_require__(18);
var strSlice = bind.call(Function.call, String.prototype.slice);
var isBinary = bind.call(Function.call, RegExp.prototype.test, /^0b[01]+$/i);
var isOctal = bind.call(Function.call, RegExp.prototype.test, /^0o[0-7]+$/i);
var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
var nonWSregex = new RegExp('[' + nonWS + ']', 'g');
var hasNonWS = bind.call(Function.call, RegExp.prototype.test, nonWSregex);
var invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;
var isInvalidHexLiteral = bind.call(Function.call, RegExp.prototype.test, invalidHexLiteral);
// whitespace from: http://es5.github.io/#x15.5.4.20
// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
var ws = [
'\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
'\u2029\uFEFF'
].join('');
var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
var replace = bind.call(Function.call, String.prototype.replace);
var trim = function (value) {
return replace(value, trimRegex, '');
};
var ES5 = __webpack_require__(39);
var hasRegExpMatcher = __webpack_require__(41);
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations
var ES6 = assign(assign({}, ES5), {
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
Call: function Call(F, V) {
var args = arguments.length > 2 ? arguments[2] : [];
if (!this.IsCallable(F)) {
throw new TypeError(F + ' is not a function');
}
return F.apply(V, args);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive
ToPrimitive: toPrimitive,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean
// ToBoolean: ES5.ToBoolean,
// http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber
ToNumber: function ToNumber(argument) {
var value = isPrimitive(argument) ? argument : toPrimitive(argument, 'number');
if (typeof value === 'symbol') {
throw new TypeError('Cannot convert a Symbol value to a number');
}
if (typeof value === 'string') {
if (isBinary(value)) {
return this.ToNumber(parseInteger(strSlice(value, 2), 2));
} else if (isOctal(value)) {
return this.ToNumber(parseInteger(strSlice(value, 2), 8));
} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
return NaN;
} else {
var trimmed = trim(value);
if (trimmed !== value) {
return this.ToNumber(trimmed);
}
}
}
return Number(value);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger
// ToInteger: ES5.ToNumber,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32
// ToInt32: ES5.ToInt32,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32
// ToUint32: ES5.ToUint32,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16
ToInt16: function ToInt16(argument) {
var int16bit = this.ToUint16(argument);
return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16
// ToUint16: ES5.ToUint16,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8
ToInt8: function ToInt8(argument) {
var int8bit = this.ToUint8(argument);
return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8
ToUint8: function ToUint8(argument) {
var number = this.ToNumber(argument);
if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
var posInt = sign(number) * Math.floor(Math.abs(number));
return mod(posInt, 0x100);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp
ToUint8Clamp: function ToUint8Clamp(argument) {
var number = this.ToNumber(argument);
if ($isNaN(number) || number <= 0) { return 0; }
if (number >= 0xFF) { return 0xFF; }
var f = Math.floor(argument);
if (f + 0.5 < number) { return f + 1; }
if (number < f + 0.5) { return f; }
if (f % 2 !== 0) { return f + 1; }
return f;
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
ToString: function ToString(argument) {
if (typeof argument === 'symbol') {
throw new TypeError('Cannot convert a Symbol value to a string');
}
return String(argument);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject
ToObject: function ToObject(value) {
this.RequireObjectCoercible(value);
return Object(value);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
ToPropertyKey: function ToPropertyKey(argument) {
var key = this.ToPrimitive(argument, String);
return typeof key === 'symbol' ? symbolToStr.call(key) : this.ToString(key);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
ToLength: function ToLength(argument) {
var len = this.ToInteger(argument);
if (len <= 0) { return 0; } // includes converting -0 to +0
if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
return len;
},
// http://www.ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
CanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {
if (toStr.call(argument) !== '[object String]') {
throw new TypeError('must be a string');
}
if (argument === '-0') { return -0; }
var n = this.ToNumber(argument);
if (this.SameValue(this.ToString(n), argument)) { return n; }
return void 0;
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible
RequireObjectCoercible: ES5.CheckObjectCoercible,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
IsArray: Array.isArray || function IsArray(argument) {
return toStr.call(argument) === '[object Array]';
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable
// IsCallable: ES5.IsCallable,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
IsConstructor: function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o
IsExtensible: function IsExtensible(obj) {
if (!Object.preventExtensions) { return true; }
if (isPrimitive(obj)) {
return false;
}
return Object.isExtensible(obj);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger
IsInteger: function IsInteger(argument) {
if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
return false;
}
var abs = Math.abs(argument);
return Math.floor(abs) === abs;
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey
IsPropertyKey: function IsPropertyKey(argument) {
return typeof argument === 'string' || typeof argument === 'symbol';
},
// http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp
IsRegExp: function IsRegExp(argument) {
if (!argument || typeof argument !== 'object') {
return false;
}
if (hasSymbols) {
var isRegExp = argument[Symbol.match];
if (typeof isRegExp !== 'undefined') {
return ES5.ToBoolean(isRegExp);
}
}
return hasRegExpMatcher(argument);
},
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue
// SameValue: ES5.SameValue,
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero
SameValueZero: function SameValueZero(x, y) {
return (x === y) || ($isNaN(x) && $isNaN(y));
},
/**
* 7.3.2 GetV (V, P)
* 1. Assert: IsPropertyKey(P) is true.
* 2. Let O be ToObject(V).
* 3. ReturnIfAbrupt(O).
* 4. Return O.[[Get]](P, V).
*/
GetV: function GetV(V, P) {
// 7.3.2.1
if (!this.IsPropertyKey(P)) {
throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
// 7.3.2.2-3
var O = this.ToObject(V);
// 7.3.2.4
return O[P];
},
/**
* 7.3.9 - http://www.ecma-international.org/ecma-262/6.0/#sec-getmethod
* 1. Assert: IsPropertyKey(P) is true.
* 2. Let func be GetV(O, P).
* 3. ReturnIfAbrupt(func).
* 4. If func is either undefined or null, return undefined.
* 5. If IsCallable(func) is false, throw a TypeError exception.
* 6. Return func.
*/
GetMethod: function GetMethod(O, P) {
// 7.3.9.1
if (!this.IsPropertyKey(P)) {
throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
// 7.3.9.2
var func = this.GetV(O, P);
// 7.3.9.4
if (func == null) {
return undefined;
}
// 7.3.9.5
if (!this.IsCallable(func)) {
throw new TypeError(P + 'is not a function');
}
// 7.3.9.6
return func;
},
/**
* 7.3.1 Get (O, P) - http://www.ecma-international.org/ecma-262/6.0/#sec-get-o-p
* 1. Assert: Type(O) is Object.
* 2. Assert: IsPropertyKey(P) is true.
* 3. Return O.[[Get]](P, O).
*/
Get: function Get(O, P) {
// 7.3.1.1
if (this.Type(O) !== 'Object') {
throw new TypeError('Assertion failed: Type(O) is not Object');
}
// 7.3.1.2
if (!this.IsPropertyKey(P)) {
throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
// 7.3.1.3
return O[P];
},
Type: function Type(x) {
if (typeof x === 'symbol') {
return 'Symbol';
}
return ES5.Type(x);
},
// http://www.ecma-international.org/ecma-262/6.0/#sec-speciesconstructor
SpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {
if (this.Type(O) !== 'Object') {
throw new TypeError('Assertion failed: Type(O) is not Object');
}
var C = O.constructor;
if (typeof C === 'undefined') {
return defaultConstructor;
}
if (this.Type(C) !== 'Object') {
throw new TypeError('O.constructor is not an Object');
}
var S = hasSymbols && Symbol.species ? C[Symbol.species] : undefined;
if (S == null) {
return defaultConstructor;
}
if (this.IsConstructor(S)) {
return S;
}
throw new TypeError('no constructor found');
}
});
delete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
module.exports = ES6;
/***/ },
/* 28 */
/***/ function(module, exports) {
module.exports = Number.isNaN || function isNaN(a) {
return a !== a;
};
/***/ },
/* 29 */
/***/ function(module, exports) {
var $isNaN = Number.isNaN || function (a) { return a !== a; };
module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
/***/ },
/* 30 */
/***/ function(module, exports) {
var has = Object.prototype.hasOwnProperty;
module.exports = Object.assign || function assign(target, source) {
for (var key in source) {
if (has.call(source, key)) {
target[key] = source[key];
}
}
return target;
};
/***/ },
/* 31 */
/***/ function(module, exports) {
module.exports = function sign(number) {
return number >= 0 ? 1 : -1;
};
/***/ },
/* 32 */
/***/ function(module, exports) {
module.exports = function mod(number, modulo) {
var remain = number % modulo;
return Math.floor(remain >= 0 ? remain : remain + modulo);
};
/***/ },
/* 33 */
/***/ function(module, exports) {
module.exports = function isPrimitive(value) {
return value === null || (typeof value !== 'function' && typeof value !== 'object');
};
/***/ },
/* 34 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
var isPrimitive = __webpack_require__(35);
var isCallable = __webpack_require__(36);
var isDate = __webpack_require__(37);
var isSymbol = __webpack_require__(38);
var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
if (typeof O === 'undefined' || O === null) {
throw new TypeError('Cannot call method on ' + O);
}
if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
throw new TypeError('hint must be "string" or "number"');
}
var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
var method, result, i;
for (i = 0; i < methodNames.length; ++i) {
method = O[methodNames[i]];
if (isCallable(method)) {
result = method.call(O);
if (isPrimitive(result)) {
return result;
}
}
}
throw new TypeError('No default value');
};
var GetMethod = function GetMethod(O, P) {
var func = O[P];
if (func !== null && typeof func !== 'undefined') {
if (!isCallable(func)) {
throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
}
return func;
}
};
// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
module.exports = function ToPrimitive(input, PreferredType) {
if (isPrimitive(input)) {
return input;
}
var hint = 'default';
if (arguments.length > 1) {
if (PreferredType === String) {
hint = 'string';
} else if (PreferredType === Number) {
hint = 'number';
}
}
var exoticToPrim;
if (hasSymbols) {
if (Symbol.toPrimitive) {
exoticToPrim = GetMethod(input, Symbol.toPrimitive);
} else if (isSymbol(input)) {
exoticToPrim = Symbol.prototype.valueOf;
}
}
if (typeof exoticToPrim !== 'undefined') {
var result = exoticToPrim.call(input, hint);
if (isPrimitive(result)) {
return result;
}
throw new TypeError('unable to convert exotic object to primitive');
}
if (hint === 'default' && (isDate(input) || isSymbol(input))) {
hint = 'string';
}
return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
};
/***/ },
/* 35 */
/***/ function(module, exports) {
module.exports = function isPrimitive(value) {
return value === null || (typeof value !== 'function' && typeof value !== 'object');
};
/***/ },
/* 36 */
/***/ function(module, exports) {
'use strict';
var fnToStr = Function.prototype.toString;
var constructorRegex = /^\s*class /;
var isES6ClassFn = function isES6ClassFn(value) {
try {
var fnStr = fnToStr.call(value);
var singleStripped = fnStr.replace(/\/\/.*\n/g, '');
var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, '');
var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' ');
return constructorRegex.test(spaceStripped);
} catch (e) {
return false; // not a function
}
};
var tryFunctionObject = function tryFunctionObject(value) {
try {
if (isES6ClassFn(value)) { return false; }
fnToStr.call(value);
return true;
} catch (e) {
return false;
}
};
var toStr = Object.prototype.toString;
var fnClass = '[object Function]';
var genClass = '[object GeneratorFunction]';
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
module.exports = function isCallable(value) {
if (!value) { return false; }
if (typeof value !== 'function' && typeof value !== 'object') { return false; }
if (hasToStringTag) { return tryFunctionObject(value); }
if (isES6ClassFn(value)) { return false; }
var strClass = toStr.call(value);
return strClass === fnClass || strClass === genClass;
};
/***/ },
/* 37 */
/***/ function(module, exports) {
'use strict';
var getDay = Date.prototype.getDay;
var tryDateObject = function tryDateObject(value) {
try {
getDay.call(value);
return true;
} catch (e) {
return false;
}
};
var toStr = Object.prototype.toString;
var dateClass = '[object Date]';
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
module.exports = function isDateObject(value) {
if (typeof value !== 'object' || value === null) { return false; }
return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
};
/***/ },
/* 38 */
/***/ function(module, exports) {
'use strict';
var toStr = Object.prototype.toString;
var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
if (hasSymbols) {
var symToStr = Symbol.prototype.toString;
var symStringRegex = /^Symbol\(.*\)$/;
var isSymbolObject = function isSymbolObject(value) {
if (typeof value.valueOf() !== 'symbol') { return false; }
return symStringRegex.test(symToStr.call(value));
};
module.exports = function isSymbol(value) {
if (typeof value === 'symbol') { return true; }
if (toStr.call(value) !== '[object Symbol]') { return false; }
try {
return isSymbolObject(value);
} catch (e) {
return false;
}
};
} else {
module.exports = function isSymbol(value) {
// this environment does not support Symbols.
return false;
};
}
/***/ },
/* 39 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var $isNaN = __webpack_require__(28);
var $isFinite = __webpack_require__(29);
var sign = __webpack_require__(31);
var mod = __webpack_require__(32);
var IsCallable = __webpack_require__(36);
var toPrimitive = __webpack_require__(40);
// https://es5.github.io/#x9
var ES5 = {
ToPrimitive: toPrimitive,
ToBoolean: function ToBoolean(value) {
return Boolean(value);
},
ToNumber: function ToNumber(value) {
return Number(value);
},
ToInteger: function ToInteger(value) {
var number = this.ToNumber(value);
if ($isNaN(number)) { return 0; }
if (number === 0 || !$isFinite(number)) { return number; }
return sign(number) * Math.floor(Math.abs(number));
},
ToInt32: function ToInt32(x) {
return this.ToNumber(x) >> 0;
},
ToUint32: function ToUint32(x) {
return this.ToNumber(x) >>> 0;
},
ToUint16: function ToUint16(value) {
var number = this.ToNumber(value);
if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
var posInt = sign(number) * Math.floor(Math.abs(number));
return mod(posInt, 0x10000);
},
ToString: function ToString(value) {
return String(value);
},
ToObject: function ToObject(value) {
this.CheckObjectCoercible(value);
return Object(value);
},
CheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {
/* jshint eqnull:true */
if (value == null) {
throw new TypeError(optMessage || 'Cannot call method on ' + value);
}
return value;
},
IsCallable: IsCallable,
SameValue: function SameValue(x, y) {
if (x === y) { // 0 === -0, but they are not identical.
if (x === 0) { return 1 / x === 1 / y; }
return true;
}
return $isNaN(x) && $isNaN(y);
},
// http://www.ecma-international.org/ecma-262/5.1/#sec-8
Type: function Type(x) {
if (x === null) {
return 'Null';
}
if (typeof x === 'undefined') {
return 'Undefined';
}
if (typeof x === 'function' || typeof x === 'object') {
return 'Object';
}
if (typeof x === 'number') {
return 'Number';
}
if (typeof x === 'boolean') {
return 'Boolean';
}
if (typeof x === 'string') {
return 'String';
}
}
};
module.exports = ES5;
/***/ },
/* 40 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var toStr = Object.prototype.toString;
var isPrimitive = __webpack_require__(35);
var isCallable = __webpack_require__(36);
// https://es5.github.io/#x8.12
var ES5internalSlots = {
'[[DefaultValue]]': function (O, hint) {
var actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);
if (actualHint === String || actualHint === Number) {
var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
var value, i;
for (i = 0; i < methods.length; ++i) {
if (isCallable(O[methods[i]])) {
value = O[methods[i]]();
if (isPrimitive(value)) {
return value;
}
}
}
throw new TypeError('No default value');
}
throw new TypeError('invalid [[DefaultValue]] hint supplied');
}
};
// https://es5.github.io/#x9
module.exports = function ToPrimitive(input, PreferredType) {
if (isPrimitive(input)) {
return input;
}
return ES5internalSlots['[[DefaultValue]]'](input, PreferredType);
};
/***/ },
/* 41 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var has = __webpack_require__(42);
var regexExec = RegExp.prototype.exec;
var gOPD = Object.getOwnPropertyDescriptor;
var tryRegexExecCall = function tryRegexExec(value) {
try {
var lastIndex = value.lastIndex;
value.lastIndex = 0;
regexExec.call(value);
return true;
} catch (e) {
return false;
} finally {
value.lastIndex = lastIndex;
}
};
var toStr = Object.prototype.toString;
var regexClass = '[object RegExp]';
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
module.exports = function isRegex(value) {
if (!value || typeof value !== 'object') {
return false;
}
if (!hasToStringTag) {
return toStr.call(value) === regexClass;
}
var descriptor = gOPD(value, 'lastIndex');
var hasLastIndexDataProperty = descriptor && has(descriptor, 'value');
if (!hasLastIndexDataProperty) {
return false;
}
return tryRegexExecCall(value);
};
/***/ },
/* 42 */
/***/ function(module, exports, __webpack_require__) {
var bind = __webpack_require__(18);
module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
/***/ },
/* 43 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var implementation = __webpack_require__(25);
module.exports = function getPolyfill() {
return typeof Object.entries === 'function' ? Object.entries : implementation;
};
/***/ },
/* 44 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var getPolyfill = __webpack_require__(43);
var define = __webpack_require__(13);
module.exports = function shimEntries() {
var polyfill = getPolyfill();
define(Object, { entries: polyfill }, {
entries: function testEntries() {
return Object.entries !== polyfill;
}
});
return polyfill;
};
/***/ },
/* 45 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = shapeValidator;
var _isPlainObject = __webpack_require__(46);
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function shapeValidator(shapeTypes) {
if (!(0, _isPlainObject2['default'])(shapeTypes)) {
throw new TypeError('shape must be a normal object');
}
function shape(props, propName, componentName, location) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
// code adapted from PropTypes.shape: https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L381
// eslint-disable-next-line guard-for-in, no-restricted-syntax
for (var _len = arguments.length, rest = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
rest[_key - 4] = arguments[_key];
}
for (var key in shapeTypes) {
var checker = shapeTypes[key];
if (checker) {
var error = checker.apply(undefined, [propValue, key, componentName, location].concat(rest));
if (error) {
return error;
}
}
}
return null;
}
shape.isRequired = function () {
function shapeRequired(props, propName, componentName) {
var propValue = props[propName];
if (propValue == null) {
return new TypeError(String(componentName) + ': ' + String(propName) + ' is required.');
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return shape.apply(undefined, [props, propName, componentName].concat(rest));
}
return shapeRequired;
}();
return (0, _wrapValidator2['default'])(shape, 'shape', shapeTypes);
}
//# sourceMappingURL=shape.js.map
/***/ },
/* 46 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports['default'] = isPlainObject;
function isPlainObject(x) {
return x && (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && !Array.isArray(x);
}
//# sourceMappingURL=isPlainObject.js.map
/***/ },
/* 47 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = valuesOfValidator;
var _isPrimitive = __webpack_require__(48);
var _isPrimitive2 = _interopRequireDefault(_isPrimitive);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L307-L340
function valuesOfValidator(propType) {
if (typeof propType !== 'function') {
throw new TypeError('objectOf: propType must be a function');
}
var validator = function () {
function valuesOf(props, propName, componentName, location, propFullName) {
for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
rest[_key - 5] = arguments[_key];
}
var propValue = props[propName];
if (propValue == null || (0, _isPrimitive2['default'])(propValue)) {
return null;
}
var firstError = void 0;
Object.keys(propValue).some(function (key) {
firstError = propType.apply(undefined, [propValue, key, componentName, location, String(propFullName) + '.' + String(key)].concat(rest));
return firstError;
});
return firstError || null;
}
return valuesOf;
}();
validator.isRequired = function () {
function valuesOfRequired(props, propName, componentName) {
var propValue = props[propName];
if (propValue == null) {
return new TypeError(String(componentName) + ': ' + String(propName) + ' is required.');
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return validator.apply(undefined, [props, propName, componentName].concat(rest));
}
return valuesOfRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'valuesOf', propType);
}
//# sourceMappingURL=valuesOf.js.map
/***/ },
/* 48 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports['default'] = isPrimitive;
function isPrimitive(x) {
return !x || (typeof x === 'undefined' ? 'undefined' : _typeof(x)) !== 'object' && typeof x !== 'function';
}
//# sourceMappingURL=isPrimitive.js.map
/***/ },
/* 49 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports['default'] = childrenHavePropXorChildren;
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function childrenHavePropXorChildren(prop) {
if (typeof prop !== 'string' && (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) !== 'symbol') {
throw new TypeError('invalid prop: must be string or symbol');
}
var validator = function () {
function childrenHavePropXorChildrenWithProp(_ref, _, componentName) {
var children = _ref.children;
var childrenCount = _react2['default'].Children.count(children);
var propCount = 0;
var grandchildrenCount = 0;
_react2['default'].Children.forEach(children, function (child) {
if (child.props[prop]) {
propCount += 1;
}
if (_react2['default'].Children.count(child.props.children)) {
grandchildrenCount += 1;
}
});
if (propCount === childrenCount && grandchildrenCount === 0 || propCount === 0 && grandchildrenCount === childrenCount || propCount === 0 && grandchildrenCount === 0) {
return null;
}
return new TypeError('`' + String(componentName) + '` requires children to all have prop \u201C' + String(prop) + '\u201D, all have children, or all have neither.');
}
return childrenHavePropXorChildrenWithProp;
}();
validator.isRequired = validator;
return (0, _wrapValidator2['default'])(validator, 'childrenHavePropXorChildrenWithProp:' + String(prop), prop);
}
//# sourceMappingURL=childrenHavePropXorChildren.js.map
/***/ },
/* 50 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = childrenOf;
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _renderableChildren = __webpack_require__(51);
var _renderableChildren2 = _interopRequireDefault(_renderableChildren);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function validateChildren(propType, children, props) {
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
var error = void 0;
children.some(function (child) {
error = propType.apply(undefined, [(0, _object2['default'])({}, props, { children: child }), 'children'].concat(rest));
return error;
});
return error || null;
}
function childrenOf(propType) {
function childrenOfPropType(props, propName, componentName) {
if (propName !== 'children') {
return new TypeError(String(componentName) + ' is using the childrenOf validator on non-children prop "' + String(propName) + '"');
}
var propValue = props[propName];
if (propValue == null) {
return null;
}
var children = (0, _renderableChildren2['default'])(propValue);
if (children.length === 0) {
return null;
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return validateChildren.apply(undefined, [propType, children, props, componentName].concat(rest));
}
childrenOfPropType.isRequired = function (props, propName, componentName) {
for (var _len3 = arguments.length, rest = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
rest[_key3 - 3] = arguments[_key3];
}
if (propName !== 'children') {
return new TypeError(String(componentName) + ' is using the childrenOf validator on non-children prop "' + String(propName) + '"');
}
var children = (0, _renderableChildren2['default'])(props[propName]);
if (children.length === 0) {
return new TypeError('`' + String(componentName) + '` requires at least one node of type ' + String(propType.typeName || propType.name));
}
return validateChildren.apply(undefined, [propType, children, props, componentName].concat(rest));
};
return (0, _wrapValidator2['default'])(childrenOfPropType, 'childrenOf', propType);
}
//# sourceMappingURL=childrenOf.js.map
/***/ },
/* 51 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = renderableChildren;
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function renderableChildren(childrenProp) {
return _react2['default'].Children.toArray(childrenProp).filter(function (child) {
return child === 0 || child;
});
}
//# sourceMappingURL=renderableChildren.js.map
/***/ },
/* 52 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _arrayPrototype = __webpack_require__(53);
var _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);
var _getComponentName = __webpack_require__(57);
var _getComponentName2 = _interopRequireDefault(_getComponentName);
var _renderableChildren = __webpack_require__(51);
var _renderableChildren2 = _interopRequireDefault(_renderableChildren);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function onlyTypes(types, children, componentName) {
if (!children.every(function (child) {
return child && (0, _arrayPrototype2['default'])(types, function (Type) {
return Type === '*' || child.type === Type;
});
})) {
var typeNames = types.map(_getComponentName2['default']).join(', or ');
return new TypeError('`' + String(componentName) + '` only accepts children of type ' + String(typeNames));
}
return null;
}
function isRequired(types, children, componentName) {
if (children.length === 0) {
var typeNames = types.map(_getComponentName2['default']).join(', or ');
return new TypeError('`' + String(componentName) + '` requires at least one node of type ' + String(typeNames));
}
return null;
}
function childrenOfType() {
for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
types[_key] = arguments[_key];
}
if (types.length < 1) {
throw new TypeError('childrenOfType: at least 1 type is required');
}
function validator(props, propName, componentName) {
return onlyTypes(types, (0, _renderableChildren2['default'])(props[propName]), componentName);
}
validator.isRequired = function (props, propName, componentName) {
var children = (0, _renderableChildren2['default'])(props[propName]);
return isRequired(types, children, componentName) || onlyTypes(types, children, componentName);
};
return (0, _wrapValidator2['default'])(validator, 'childrenOfType', types);
}
exports['default'] = childrenOfType;
//# sourceMappingURL=childrenOfType.js.map
/***/ },
/* 53 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var define = __webpack_require__(13);
var ES = __webpack_require__(27);
var implementation = __webpack_require__(54);
var getPolyfill = __webpack_require__(55);
var shim = __webpack_require__(56);
var slice = Array.prototype.slice;
var boundFindShim = function find(array, predicate) { // eslint-disable-line no-unused-vars
ES.RequireObjectCoercible(array);
var args = slice.call(arguments, 1);
return implementation.apply(array, args);
};
define(boundFindShim, {
getPolyfill: getPolyfill,
implementation: implementation,
shim: shim
});
module.exports = boundFindShim;
/***/ },
/* 54 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var ES = __webpack_require__(27);
module.exports = function find(predicate) {
var list = ES.ToObject(this);
var length = ES.ToInteger(ES.ToLength(list.length));
if (!ES.IsCallable(predicate)) {
throw new TypeError('Array#find: predicate must be a function');
}
if (length === 0) {
return undefined;
}
var thisArg = arguments[1];
for (var i = 0, value; i < length; i++) {
value = list[i];
if (ES.Call(predicate, thisArg, [value, i, list])) {
return value;
}
}
return undefined;
};
/***/ },
/* 55 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
module.exports = function getPolyfill() {
// Detect if an implementation exists
// Detect early implementations which skipped holes in sparse arrays
// eslint-disable-next-line no-sparse-arrays
var implemented = Array.prototype.find && [, 1].find(function () {
return true;
}) !== 1;
// eslint-disable-next-line global-require
return implemented ? Array.prototype.find : __webpack_require__(54);
};
/***/ },
/* 56 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var define = __webpack_require__(13);
var getPolyfill = __webpack_require__(55);
module.exports = function shimArrayPrototypeFind() {
var polyfill = getPolyfill();
define(Array.prototype, { find: polyfill }, {
find: function () {
return Array.prototype.find !== polyfill;
}
});
return polyfill;
};
/***/ },
/* 57 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getComponentName;
function getComponentName(Component) {
if (typeof Component === 'string') {
return Component;
}
if (typeof Component === 'function') {
var displayName = Component.displayName,
name = Component.name;
return displayName || name;
}
return null;
}
//# sourceMappingURL=getComponentName.js.map
/***/ },
/* 58 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = childrenSequenceOfValidator;
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _sequenceOf = __webpack_require__(59);
var _sequenceOf2 = _interopRequireDefault(_sequenceOf);
var _renderableChildren = __webpack_require__(51);
var _renderableChildren2 = _interopRequireDefault(_renderableChildren);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function childrenSequenceOfValidator() {
for (var _len = arguments.length, specifiers = Array(_len), _key = 0; _key < _len; _key++) {
specifiers[_key] = arguments[_key];
}
var seq = _sequenceOf2['default'].apply(undefined, specifiers);
var validator = function () {
function childrenSequenceOf(props, propName, componentName) {
if (propName !== 'children') {
return new TypeError(String(componentName) + ' is using the childrenSequenceOf validator on non-children prop "' + String(propName) + '"');
}
var propValue = props[propName];
var children = (0, _renderableChildren2['default'])(propValue);
if (children.length === 0) {
return null;
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return seq.apply(undefined, [(0, _object2['default'])({}, props, { children: children }), propName, componentName].concat(rest));
}
return childrenSequenceOf;
}();
validator.isRequired = function () {
function childrenSequenceOfRequired(props, propName, componentName) {
if (propName !== 'children') {
return new TypeError(String(componentName) + ' is using the childrenSequenceOf validator on non-children prop "' + String(propName) + '"');
}
var propValue = props[propName];
var children = (0, _renderableChildren2['default'])(propValue);
if (children.length === 0) {
return new TypeError(String(componentName) + ': renderable children are required.');
}
for (var _len3 = arguments.length, rest = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
rest[_key3 - 3] = arguments[_key3];
}
return seq.isRequired.apply(seq, [(0, _object2['default'])({}, props, { children: children }), propName, componentName].concat(rest));
}
return childrenSequenceOfRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'childrenSequenceOf', specifiers);
}
//# sourceMappingURL=childrenSequenceOf.js.map
/***/ },
/* 59 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = sequenceOfValidator;
var _react = __webpack_require__(2);
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _between = __webpack_require__(23);
var _between2 = _interopRequireDefault(_between);
var _nonNegativeInteger = __webpack_require__(60);
var _nonNegativeInteger2 = _interopRequireDefault(_nonNegativeInteger);
var _object3 = __webpack_require__(64);
var _object4 = _interopRequireDefault(_object3);
var _withShape = __webpack_require__(66);
var _withShape2 = _interopRequireDefault(_withShape);
var _typeOf = __webpack_require__(65);
var _typeOf2 = _interopRequireDefault(_typeOf);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var minValidator = _nonNegativeInteger2['default'];
var maxValidator = (0, _and2['default'])([_nonNegativeInteger2['default'], (0, _between2['default'])({ gte: 1 })]);
function validateRange(min, max) {
if (typeof max !== 'number' || typeof min !== 'number') {
return null; // no additional checking needed unless both are present
}
if (min <= max) {
return null;
}
return new RangeError('min must be less than or equal to max');
}
var specifierShape = {
validator: function () {
function validator(props, propName) {
if (typeof props[propName] !== 'function') {
return new TypeError('"validator" must be a propType validator function');
}
return null;
}
return validator;
}(),
min: function () {
function min(props, propName) {
return minValidator(props, propName) || validateRange(props.min, props.max);
}
return min;
}(),
max: function () {
function max(props, propName) {
return maxValidator(props, propName) || validateRange(props.min, props.max);
}
return max;
}()
};
function getMinMax(_ref) {
var min = _ref.min,
max = _ref.max;
var minimum = void 0;
var maximum = void 0;
if (typeof min !== 'number' && typeof max !== 'number') {
// neither provided, default to "1"
minimum = 1;
maximum = 1;
} else {
minimum = typeof min === 'number' ? min : 1;
maximum = typeof max === 'number' ? max : Infinity;
}
return { minimum: minimum, maximum: maximum };
}
function chunkByType(items) {
var chunk = [];
var lastType = void 0;
return items.reduce(function (chunks, item) {
var itemType = (0, _typeOf2['default'])(item);
if (!lastType || itemType === lastType) {
chunk.push(item);
} else {
chunks.push(chunk);
chunk = [item];
}
lastType = itemType;
return chunks;
}, []).concat(chunk.length > 0 ? [chunk] : []);
}
function validateChunks(specifiers, props, propName, componentName) {
var items = props[propName];
var chunks = chunkByType(items);
for (var _len = arguments.length, rest = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
rest[_key - 4] = arguments[_key];
}
for (var i = 0; i < specifiers.length; i += 1) {
var _specifiers$i = specifiers[i],
validator = _specifiers$i.validator,
min = _specifiers$i.min,
max = _specifiers$i.max;
var _getMinMax = getMinMax({ min: min, max: max }),
minimum = _getMinMax.minimum,
maximum = _getMinMax.maximum;
if (chunks.length === 0 && minimum === 0) {
// no chunks left, but this specifier does not require any items
continue; // eslint-disable-line no-continue
}
var arrayOfValidator = _react.PropTypes.arrayOf(validator).isRequired;
var chunk = chunks.shift(); // extract the next chunk to test
var chunkError = arrayOfValidator.apply(undefined, [(0, _object2['default'])({}, props, _defineProperty({}, propName, chunk)), propName, componentName].concat(rest));
if (chunkError) {
// this chunk is invalid
if (minimum === 0) {
// but, specifier has a min of 0 and can be skipped
chunks.unshift(chunk); // put the chunk back, for the next iteration
continue; // eslint-disable-line no-continue
}
return chunkError;
}
// chunk is valid!
if (chunk.length < minimum) {
return new RangeError(String(componentName) + ': specifier index ' + i + ' requires a minimum of ' + String(min) + ' items, but only has ' + String(chunk.length) + '.');
}
if (chunk.length > maximum) {
return new RangeError(String(componentName) + ': specifier index ' + i + ' requires a maximum of ' + String(max) + ' items, but has ' + String(chunk.length) + '.');
}
}
if (chunks.length > 0) {
return new TypeError(String(componentName) + ': after all ' + String(specifiers.length) + ' specifiers matched, ' + String(chunks.length) + ' types of items were remaining.');
}
return null;
}
var specifierValidator = (0, _withShape2['default'])((0, _object4['default'])(), specifierShape).isRequired;
function sequenceOfValidator() {
for (var _len2 = arguments.length, specifiers = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
specifiers[_key2] = arguments[_key2];
}
if (specifiers.length === 0) {
throw new RangeError('sequenceOf: at least one specifier is required');
}
var errors = specifiers.map(function (specifier, i) {
return specifierValidator({ specifier: specifier }, 'specifier', 'sequenceOf specifier', 'suequenceOf specifier, index ' + String(i), 'specifier, index ' + String(i));
});
if (errors.some(Boolean)) {
throw new TypeError('\n sequenceOf: all specifiers must match the appropriate shape.\n\n Errors:\n ' + String(errors.map(function (e, i) {
return ' - Argument index ' + String(i) + ': ' + String(e.message);
}).join(',\n ')) + '\n ');
}
var validator = function () {
function sequenceOf(props, propName) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
for (var _len3 = arguments.length, rest = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
rest[_key3 - 2] = arguments[_key3];
}
var error = _react.PropTypes.array.apply(_react.PropTypes, [props, propName].concat(rest));
if (error) {
return error;
}
return validateChunks.apply(undefined, [specifiers, props, propName].concat(rest));
}
return sequenceOf;
}();
validator.isRequired = function () {
function sequenceOfRequired(props, propName, componentName) {
var _PropTypes$array;
for (var _len4 = arguments.length, rest = Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {
rest[_key4 - 3] = arguments[_key4];
}
var error = (_PropTypes$array = _react.PropTypes.array).isRequired.apply(_PropTypes$array, [props, propName, componentName].concat(rest));
if (error) {
return error;
}
return validateChunks.apply(undefined, [specifiers, props, propName, componentName].concat(rest));
}
return sequenceOfRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'sequenceOf', specifiers);
}
//# sourceMappingURL=sequenceOf.js.map
/***/ },
/* 60 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _integer = __webpack_require__(61);
var _integer2 = _interopRequireDefault(_integer);
var _nonNegativeNumber = __webpack_require__(63);
var _nonNegativeNumber2 = _interopRequireDefault(_nonNegativeNumber);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = (0, _and2['default'])([(0, _integer2['default'])(), (0, _nonNegativeNumber2['default'])()], 'nonNegativeInteger');
//# sourceMappingURL=nonNegativeInteger.js.map
/***/ },
/* 61 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _isInteger = __webpack_require__(62);
var _isInteger2 = _interopRequireDefault(_isInteger);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function requiredInteger(props, propName, componentName) {
var value = props[propName];
if (value == null || !(0, _isInteger2['default'])(value)) {
return new RangeError(String(propName) + ' in ' + String(componentName) + ' must be an integer');
}
return null;
}
var validator = function () {
function integer(props, propName) {
var value = props[propName];
if (value == null) {
return null;
}
for (var _len = arguments.length, rest = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
rest[_key - 2] = arguments[_key];
}
return requiredInteger.apply(undefined, [props, propName].concat(rest));
}
return integer;
}();
validator.isRequired = requiredInteger;
exports['default'] = function () {
return (0, _wrapValidator2['default'])(validator, 'integer');
};
//# sourceMappingURL=integer.js.map
/***/ },
/* 62 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var floor = Math.floor;
var finite = isFinite;
exports['default'] = Number.isInteger || /* istanbul ignore next */function (x) {
return typeof x === 'number' && finite(x) && floor(x) === x;
};
//# sourceMappingURL=isInteger.js.map
/***/ },
/* 63 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function isNonNegative(x) {
return typeof x === 'number' && isFinite(x) && x >= 0 && !Object.is(x, -0);
}
function nonNegativeNumber(props, propName, componentName) {
var value = props[propName];
if (value == null || isNonNegative(value)) {
return null;
}
return new RangeError(String(propName) + ' in ' + String(componentName) + ' must be a non-negative number');
}
function requiredNonNegativeNumber(props, propName, componentName) {
var value = props[propName];
if (isNonNegative(value)) {
return null;
}
return new RangeError(String(propName) + ' in ' + String(componentName) + ' must be a non-negative number');
}
nonNegativeNumber.isRequired = requiredNonNegativeNumber;
exports['default'] = function () {
return (0, _wrapValidator2['default'])(nonNegativeNumber, 'nonNegativeNumber');
};
//# sourceMappingURL=nonNegativeNumber.js.map
/***/ },
/* 64 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _isPlainObject = __webpack_require__(46);
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
var _typeOf = __webpack_require__(65);
var _typeOf2 = _interopRequireDefault(_typeOf);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/*
code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L202-L206
so that it can be called outside of React's normal PropType flow
*/
var ReactPropTypeLocationNames = {
prop: 'prop',
context: 'context',
childContext: 'child context'
};
function object(props, propName, componentName, location, propFullName) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
if ((0, _isPlainObject2['default'])(propValue)) {
return null;
}
var locationName = ReactPropTypeLocationNames[location] || location;
return new TypeError('Invalid ' + String(locationName) + ' `' + String(propFullName) + '` of type `' + String((0, _typeOf2['default'])(propValue)) + '` supplied to `' + String(componentName) + '`, expected `object`.');
}
object.isRequired = function () {
function objectRequired(props, propName, componentName, location, propFullName) {
var propValue = props[propName];
if (propValue == null) {
var locationName = ReactPropTypeLocationNames[location] || location;
return new TypeError('The ' + String(locationName) + ' `' + String(propFullName) + '` is marked as required in `' + String(componentName) + '`, but its value is `' + String(propValue) + '`.');
}
for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
rest[_key - 5] = arguments[_key];
}
return object.apply(undefined, [props, propName, componentName, location, propFullName].concat(rest));
}
return objectRequired;
}();
exports['default'] = function () {
return (0, _wrapValidator2['default'])(object, 'object');
};
//# sourceMappingURL=object.js.map
/***/ },
/* 65 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports['default'] = typeOf;
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function typeOf(child) {
if (child === null) {
return 'null';
}
if (Array.isArray(child)) {
return 'array';
}
if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) !== 'object') {
return typeof child === 'undefined' ? 'undefined' : _typeof(child);
}
if (_react2['default'].isValidElement(child)) {
return child.type;
}
return child;
}
//# sourceMappingURL=typeOf.js.map
/***/ },
/* 66 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = withShape;
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _shape = __webpack_require__(45);
var _shape2 = _interopRequireDefault(_shape);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function withShape(type, shapeTypes) {
if (typeof type !== 'function') {
throw new TypeError('type must be a valid PropType');
}
var shapeValidator = (0, _shape2['default'])(shapeTypes);
return (0, _and2['default'])([type, shapeValidator], 'withShape');
}
//# sourceMappingURL=withShape.js.map
/***/ },
/* 67 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = componentWithName;
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
var _isRegex = __webpack_require__(41);
var _isRegex2 = _interopRequireDefault(_isRegex);
var _arrayPrototype = __webpack_require__(53);
var _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);
var _getComponentName = __webpack_require__(57);
var _getComponentName2 = _interopRequireDefault(_getComponentName);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function hasName(name, prop, propName, componentName) {
for (var _len = arguments.length, rest = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
rest[_key - 4] = arguments[_key];
}
if (Array.isArray(prop)) {
return (0, _arrayPrototype2['default'])(prop.map(function (item) {
return hasName.apply(undefined, [name, item, propName, componentName].concat(rest));
}), Boolean) || null;
}
if (!_react2['default'].isValidElement(prop)) {
return new TypeError(String(componentName) + '.' + String(propName) + ' is not a valid React element');
}
var type = prop.type;
var componentNameFromType = (0, _getComponentName2['default'])(type);
if ((0, _isRegex2['default'])(name) && !name.test(componentNameFromType)) {
return new TypeError('`' + String(componentName) + '.' + String(propName) + '` only accepts components matching the regular expression ' + String(name));
}
if (!(0, _isRegex2['default'])(name) && componentNameFromType !== name) {
return new TypeError('`' + String(componentName) + '.' + String(propName) + '` only accepts components named ' + String(name));
}
return null;
}
function componentWithName(name) {
if (typeof name !== 'string' && !(0, _isRegex2['default'])(name)) {
throw new TypeError('name must be a string or a regex');
}
function componentWithNameValidator(props, propName, componentName) {
var prop = props[propName];
if (props[propName] == null) {
return null;
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return hasName.apply(undefined, [name, prop, propName, componentName].concat(rest));
}
componentWithNameValidator.isRequired = function () {
function componentWithNameRequired(props, propName, componentName) {
var prop = props[propName];
if (prop == null) {
return new TypeError('`' + String(componentName) + '.' + String(propName) + '` requires at least one component named ' + String(name));
}
for (var _len3 = arguments.length, rest = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
rest[_key3 - 3] = arguments[_key3];
}
return hasName.apply(undefined, [name, prop, propName, componentName].concat(rest));
}
return componentWithNameRequired;
}();
return (0, _wrapValidator2['default'])(componentWithNameValidator, 'componentWithName:' + String(name), name);
}
//# sourceMappingURL=componentWithName.js.map
/***/ },
/* 68 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports['default'] = elementTypeValidator;
var _react = __webpack_require__(2);
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _getComponentName = __webpack_require__(57);
var _getComponentName2 = _interopRequireDefault(_getComponentName);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function getTypeName(Type) {
if (typeof Type === 'string') {
return Type;
}
var type = (0, _getComponentName2['default'])(Type);
/* istanbul ignore next */ // in environments where functions do not have names
return type || 'Anonymous Component';
}
function validateElementType(Type, props, propName, componentName) {
var type = props[propName].type;
if (type === Type) {
return null;
}
return new TypeError(String(componentName) + '.' + String(propName) + ' must be a React element of type ' + String(getTypeName(Type)));
}
function elementTypeValidator(Type) {
if (Type === '*') {
return (0, _wrapValidator2['default'])(_react.PropTypes.element, 'elementType(*)', Type);
}
if (typeof Type !== 'string' && typeof Type !== 'function') {
throw new TypeError('Type must be a React Component, an HTML element tag name, or "*". Got an ' + (typeof Type === 'undefined' ? 'undefined' : _typeof(Type)));
}
function elementType(props, propName, componentName) {
if (props[propName] == null) {
return null;
}
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
return validateElementType.apply(undefined, [Type, props, propName, componentName].concat(rest));
}
elementType.isRequired = elementType; // covered by and + element
var typeName = getTypeName(Type);
var validatorName = 'elementType(' + String(typeName) + ')';
return (0, _wrapValidator2['default'])((0, _and2['default'])([_react.PropTypes.element, elementType], validatorName), validatorName, Type);
}
//# sourceMappingURL=elementType.js.map
/***/ },
/* 69 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function explicitNull(props, propName, componentName) {
if (props[propName] == null) {
return null;
}
return new TypeError(String(componentName) + ': prop \u201C' + String(propName) + '\u201D must be null or undefined; received ' + _typeof(props[propName]));
}
explicitNull.isRequired = function () {
function explicitNullRequired(props, propName, componentName) {
if (props[propName] === null) {
return null;
}
return new TypeError(String(componentName) + ': prop \u201C' + String(propName) + '\u201D must be null; received ' + _typeof(props[propName]));
}
return explicitNullRequired;
}();
exports['default'] = function () {
return (0, _wrapValidator2['default'])(explicitNull, 'explicitNull');
};
//# sourceMappingURL=explicitNull.js.map
/***/ },
/* 70 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = forbidExtraProps;
var _has = __webpack_require__(42);
var _has2 = _interopRequireDefault(_has);
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _isPlainObject = __webpack_require__(46);
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var zeroWidthSpace = '\u200B';
var semaphore = {};
function brand(fn) {
return (0, _object2['default'])(fn, _defineProperty({}, zeroWidthSpace, semaphore));
}
function isBranded(value) {
return value && value[zeroWidthSpace] === semaphore;
}
function forbidExtraProps(propTypes) {
if (!(0, _isPlainObject2['default'])(propTypes)) {
throw new TypeError('given propTypes must be an object');
}
if ((0, _has2['default'])(propTypes, zeroWidthSpace) && !isBranded(propTypes[zeroWidthSpace])) {
throw new TypeError('Against all odds, you created a propType for a prop named after the zero-width space - which, sadly, conflicts with `forbidExtraProps`');
}
return (0, _object2['default'])({}, propTypes, _defineProperty({}, zeroWidthSpace, brand(function () {
function forbidUnknownProps(props, _, componentName) {
var unknownProps = Object.keys(props).filter(function (prop) {
return !(0, _has2['default'])(propTypes, prop);
});
if (unknownProps.length > 0) {
return new TypeError(String(componentName) + ': unknown props found: ' + String(unknownProps.join(', ')));
}
return null;
}
return forbidUnknownProps;
}())));
}
//# sourceMappingURL=forbidExtraProps.js.map
/***/ },
/* 71 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = keysOfValidator;
var _isPrimitive = __webpack_require__(48);
var _isPrimitive2 = _interopRequireDefault(_isPrimitive);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function keysOfValidator(propType) {
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'keysOf';
if (typeof propType !== 'function') {
throw new TypeError('argument to keysOf must be a valid PropType function');
}
var validator = function () {
function keysOf(props, propName, componentName, location, propFullName) {
for (var _len = arguments.length, rest = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
rest[_key - 5] = arguments[_key];
}
var propValue = props[propName];
if (propValue == null || (0, _isPrimitive2['default'])(propValue)) {
return null;
}
var firstError = null;
Object.keys(propValue).some(function (key) {
firstError = propType.apply(undefined, [_defineProperty({}, key, key), key, componentName, location, '(' + String(propFullName) + ').' + String(key)].concat(rest));
return firstError != null;
});
return firstError || null;
}
return keysOf;
}();
validator.isRequired = function () {
function keyedByRequired(props, propName, componentName) {
var propValue = props[propName];
if (propValue == null) {
return new TypeError(String(componentName) + ': ' + String(propName) + ' is required, but value is ' + String(propValue));
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return validator.apply(undefined, [props, propName, componentName].concat(rest));
}
return keyedByRequired;
}();
return (0, _wrapValidator2['default'])(validator, name, propType);
}
//# sourceMappingURL=keysOf.js.map
/***/ },
/* 72 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = mutuallyExclusiveOfType;
var _object = __webpack_require__(12);
var _object2 = _interopRequireDefault(_object);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function mutuallyExclusiveOfType(propType) {
if (typeof propType !== 'function') {
throw new TypeError('a propType is required');
}
for (var _len = arguments.length, exclusiveProps = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
exclusiveProps[_key - 1] = arguments[_key];
}
if (exclusiveProps.length < 1) {
throw new TypeError('at least one prop that is mutually exclusive with this propType is required');
}
var propList = exclusiveProps.join(', or ');
var map = exclusiveProps.reduce(function (acc, prop) {
return (0, _object2['default'])({}, acc, _defineProperty({}, prop, true));
}, {});
var countProps = function countProps(count, prop) {
return count + (map[prop] ? 1 : 0);
};
var validator = function () {
function mutuallyExclusiveProps(props, propName, componentName) {
var exclusivePropCount = Object.keys(props).filter(function (prop) {
return props[prop] != null;
}).reduce(countProps, 0);
if (exclusivePropCount > 1) {
return new Error('A ' + String(componentName) + ' cannot have more than one of these props: ' + String(propList));
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return propType.apply(undefined, [props, propName, componentName].concat(rest));
}
return mutuallyExclusiveProps;
}();
validator.isRequired = function () {
function mutuallyExclusivePropsRequired(props, propName, componentName) {
var exclusivePropCount = Object.keys(props).filter(function (prop) {
return prop === propName || props[prop] != null;
}).reduce(countProps, 0);
if (exclusivePropCount > 1) {
return new Error('A ' + String(componentName) + ' cannot have more than one of these props: ' + String(propList));
}
for (var _len3 = arguments.length, rest = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
rest[_key3 - 3] = arguments[_key3];
}
return propType.apply(undefined, [props, propName, componentName].concat(rest));
}
return mutuallyExclusivePropsRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'mutuallyExclusiveProps:' + String(propList), exclusiveProps);
}
//# sourceMappingURL=mutuallyExclusiveProps.js.map
/***/ },
/* 73 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = mutuallyExclusiveTrue;
var _react = __webpack_require__(2);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var bool = _react.PropTypes.bool;
function mutuallyExclusiveTrue() {
for (var _len = arguments.length, exclusiveProps = Array(_len), _key = 0; _key < _len; _key++) {
exclusiveProps[_key] = arguments[_key];
}
if (exclusiveProps.length < 1) {
throw new TypeError('at least one prop that is mutually exclusive is required');
}
if (!exclusiveProps.every(function (x) {
return typeof x === 'string';
})) {
throw new TypeError('all exclusive true props must be strings');
}
var propsList = exclusiveProps.join(', or ');
var validator = function () {
function mutuallyExclusiveTrueProps(props, propName, componentName) {
var countProps = function () {
function countProps(count, prop) {
return count + (props[prop] ? 1 : 0);
}
return countProps;
}();
var exclusivePropCount = exclusiveProps.reduce(countProps, 0);
if (exclusivePropCount > 1) {
return new Error('A ' + String(componentName) + ' cannot have more than one of these boolean props be true: ' + String(propsList));
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return bool.apply(undefined, [props, propName, componentName].concat(rest));
}
return mutuallyExclusiveTrueProps;
}();
validator.isRequired = function () {
function mutuallyExclusiveTruePropsRequired(props, propName, componentName) {
var countProps = function () {
function countProps(count, prop) {
return count + (props[prop] ? 1 : 0);
}
return countProps;
}();
var exclusivePropCount = exclusiveProps.reduce(countProps, 0);
if (exclusivePropCount > 1) {
return new Error('A ' + String(componentName) + ' cannot have more than one of these boolean props be true: ' + String(propsList));
}
for (var _len3 = arguments.length, rest = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {
rest[_key3 - 3] = arguments[_key3];
}
return bool.isRequired.apply(bool, [props, propName, componentName].concat(rest));
}
return mutuallyExclusiveTruePropsRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'mutuallyExclusiveTrueProps: ' + String(propsList), exclusiveProps);
}
//# sourceMappingURL=mutuallyExclusiveTrueProps.js.map
/***/ },
/* 74 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = nChildren;
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function nChildren(n) {
var propType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _react.PropTypes.node;
if (typeof n !== 'number' || isNaN(n) || n < 0) {
throw new TypeError('a non-negative number is required');
}
var validator = function () {
function nChildrenValidator(props, propName, componentName) {
if (propName !== 'children') {
return new TypeError(String(componentName) + ' is using the nChildren validator on a non-children prop');
}
var children = props.children;
var childrenCount = _react2['default'].Children.count(children);
if (childrenCount !== n) {
return new RangeError(String(componentName) + ' expects to receive ' + String(n) + ' children, but received ' + String(childrenCount) + ' children.');
}
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
return propType.apply(undefined, [props, propName, componentName].concat(rest));
}
return nChildrenValidator;
}();
validator.isRequired = validator;
return (0, _wrapValidator2['default'])(validator, 'nChildren:' + String(n), n);
}
//# sourceMappingURL=nChildren.js.map
/***/ },
/* 75 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var validNumericChars = /^[-+]?(?:[1-9][0-9]*(?:\.[0-9]+)?|0|0\.[0-9]+)$/;
var validator = function () {
function numericString(props, propName, componentName) {
if (props[propName] == null) {
return null;
}
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
var stringError = _react.PropTypes.string.apply(_react.PropTypes, [props, propName, componentName].concat(rest));
if (stringError) {
return stringError;
}
var value = props[propName];
var passesRegex = validNumericChars.test(value);
if (passesRegex) {
return null;
}
return new TypeError(String(componentName) + ': prop "' + String(propName) + '" (value "' + String(value) + '") must be a numeric string:\n - starting with an optional + or -\n - that does not have a leading zero\n - with an optional decimal part (that contains only one decimal point, if present)\n - that otherwise only contains digits (0-9)\n - not +-NaN, or +-Infinity\n ');
}
return numericString;
}();
validator.isRequired = function () {
function numericStringRequired(props, propName, componentName) {
if (props[propName] == null) {
return new TypeError(String(componentName) + ': ' + String(propName) + ' is required');
}
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
return validator.apply(undefined, [props, propName, componentName].concat(rest));
}
return numericStringRequired;
}();
exports['default'] = function () {
return (0, _wrapValidator2['default'])(validator, 'numericString');
};
//# sourceMappingURL=numericString.js.map
/***/ },
/* 76 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = or;
var _react = __webpack_require__(2);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
function oneOfTypeValidator(validators) {
var validator = function () {
function oneOfType(props, propName, componentName) {
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
if (typeof props[propName] === 'undefined') {
return null;
}
var errors = validators.map(function (v) {
return v.apply(undefined, [props, propName, componentName].concat(rest));
}).filter(Boolean);
if (errors.length < validators.length) {
return null;
}
return new TypeError(String(componentName) + ': invalid value supplied to ' + String(propName) + '.');
}
return oneOfType;
}();
validator.isRequired = function () {
function oneOfTypeRequired(props, propName, componentName) {
for (var _len2 = arguments.length, rest = Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
rest[_key2 - 3] = arguments[_key2];
}
if (typeof props[propName] === 'undefined') {
return new TypeError(String(componentName) + ': missing value for required ' + String(propName) + '.');
}
var errors = validators.map(function (v) {
return v.apply(undefined, [props, propName, componentName].concat(rest));
}).filter(Boolean);
if (errors.length === validators.length) {
return new TypeError(String(componentName) + ': invalid value ' + String(errors) + ' supplied to required ' + String(propName) + '.');
}
return null;
}
return oneOfTypeRequired;
}();
return (0, _wrapValidator2['default'])(validator, 'oneOfType', validators);
}
function or(validators) {
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'or';
if (!Array.isArray(validators)) {
throw new TypeError('or: 2 or more validators are required');
}
if (validators.length <= 1) {
throw new RangeError('or: 2 or more validators are required');
}
var validator = oneOfTypeValidator([_react.PropTypes.arrayOf(oneOfTypeValidator(validators))].concat(_toConsumableArray(validators)));
return (0, _wrapValidator2['default'])(validator, name, validators);
}
//# sourceMappingURL=or.js.map
/***/ },
/* 77 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = range;
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _between = __webpack_require__(23);
var _between2 = _interopRequireDefault(_between);
var _integer = __webpack_require__(61);
var _integer2 = _interopRequireDefault(_integer);
var _isInteger = __webpack_require__(62);
var _isInteger2 = _interopRequireDefault(_isInteger);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */Math.pow(2, 53) - 1;
function isValidLength(x) {
return (0, _isInteger2['default'])(x) && Math.abs(x) < MAX_SAFE_INTEGER;
}
function range(min, max) {
if (!isValidLength(min) || !isValidLength(max)) {
throw new RangeError('"range" requires two integers: ' + String(min) + ' and ' + String(max) + ' given');
}
if (min === max) {
throw new RangeError('min and max must not be the same');
}
return (0, _wrapValidator2['default'])((0, _and2['default'])([(0, _integer2['default'])(), (0, _between2['default'])({ gte: min, lt: max })], 'range'), 'range', { min: min, max: max });
}
//# sourceMappingURL=range.js.map
/***/ },
/* 78 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function restrictedProp(props, propName, componentName) {
if (props[propName] != null) {
return new TypeError('The ' + String(propName) + ' prop on ' + String(componentName) + ' is not allowed.');
}
return null;
}
restrictedProp.isRequired = restrictedProp;
exports['default'] = function () {
return (0, _wrapValidator2['default'])(restrictedProp, 'restrictedProp');
};
//# sourceMappingURL=restrictedProp.js.map
/***/ },
/* 79 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _wrapValidator = __webpack_require__(11);
var _wrapValidator2 = _interopRequireDefault(_wrapValidator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function uniqueCountWithSet(array) {
return new Set(array).size;
}
/* istanbul ignore next */
function uniqueCountLegacy(array) {
var seen = [];
array.forEach(function (item) {
if (seen.indexOf(item) === -1) {
seen.push(item);
}
});
return seen.length;
}
var getUniqueCount = typeof Set === 'function' ? uniqueCountWithSet : /* istanbul ignore next */uniqueCountLegacy;
function requiredUniqueArray(props, propName, componentName) {
var _PropTypes$array;
for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
rest[_key - 3] = arguments[_key];
}
var result = (_PropTypes$array = _react.PropTypes.array).isRequired.apply(_PropTypes$array, [props, propName, componentName].concat(rest));
if (result != null) {
return result;
}
var propValue = props[propName];
var uniqueCount = getUniqueCount(propValue);
if (uniqueCount !== propValue.length) {
return new RangeError(String(componentName) + ': values must be unique. ' + (propValue.length - uniqueCount) + ' duplicate values found.');
}
return null;
}
function uniqueArray(props, propName) {
var propValue = props[propName];
if (propValue == null) {
return null;
}
for (var _len2 = arguments.length, rest = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
rest[_key2 - 2] = arguments[_key2];
}
return requiredUniqueArray.apply(undefined, [props, propName].concat(rest));
}
uniqueArray.isRequired = requiredUniqueArray;
exports['default'] = function () {
return (0, _wrapValidator2['default'])(uniqueArray, 'uniqueArray');
};
//# sourceMappingURL=uniqueArray.js.map
/***/ },
/* 80 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = uniqueArrayOfTypeValidator;
var _react = __webpack_require__(2);
var _and = __webpack_require__(10);
var _and2 = _interopRequireDefault(_and);
var _uniqueArray = __webpack_require__(79);
var _uniqueArray2 = _interopRequireDefault(_uniqueArray);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var unique = (0, _uniqueArray2['default'])();
function uniqueArrayOfTypeValidator(type) {
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'uniqueArrayOfType';
if (typeof type !== 'function') {
throw new TypeError('type must be a validator function');
}
var arrayValidator = _react.PropTypes.arrayOf(type);
var validator = (0, _and2['default'])([arrayValidator, unique], name);
validator.isRequired = (0, _and2['default'])([arrayValidator.isRequired, unique.isRequired], String(name) + '.isRequired');
return validator;
}
//# sourceMappingURL=uniqueArrayOf.js.map
/***/ },
/* 81 */
/***/ function(module, exports) {
module.exports = moment;
/***/ },
/* 82 */
/***/ function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
Copyright (c) 2016 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/* global define */
(function () {
'use strict';
var hasOwn = {}.hasOwnProperty;
function classNames () {
var classes = [];
for (var i = 0; i < arguments.length; i++) {
var arg = arguments[i];
if (!arg) continue;
var argType = typeof arg;
if (argType === 'string' || argType === 'number') {
classes.push(arg);
} else if (Array.isArray(arg)) {
classes.push(classNames.apply(null, arg));
} else if (argType === 'object') {
for (var key in arg) {
if (hasOwn.call(arg, key) && arg[key]) {
classes.push(key);
}
}
}
}
return classes.join(' ');
}
if (typeof module !== 'undefined' && module.exports) {
module.exports = classNames;
} else if (true) {
// register as 'classnames', consistent with npm package name
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
return classNames;
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {
window.classNames = classNames;
}
}());
/***/ },
/* 83 */
/***/ function(module, exports) {
module.exports = {
DISPLAY_FORMAT: 'L',
ISO_FORMAT: 'YYYY-MM-DD',
START_DATE: 'startDate',
END_DATE: 'endDate',
HORIZONTAL_ORIENTATION: 'horizontal',
VERTICAL_ORIENTATION: 'vertical',
VERTICAL_SCROLLABLE: 'verticalScrollable',
ANCHOR_LEFT: 'left',
ANCHOR_RIGHT: 'right'
};
/***/ },
/* 84 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.EVENT_HANDLERS_KEY = undefined;
exports.addEventListener = addEventListener;
exports.removeEventListener = removeEventListener;
var _normalizeEventOptions = __webpack_require__(85);
var _normalizeEventOptions2 = _interopRequireDefault(_normalizeEventOptions);
var _TargetEventHandlers = __webpack_require__(88);
var _TargetEventHandlers2 = _interopRequireDefault(_TargetEventHandlers);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// Export to make testing possible.
var EVENT_HANDLERS_KEY = exports.EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';
function addEventListener(target, eventName, listener, options) {
if (!target[EVENT_HANDLERS_KEY]) {
// eslint-disable-next-line no-param-reassign
target[EVENT_HANDLERS_KEY] = new _TargetEventHandlers2['default'](target);
}
var normalizedEventOptions = (0, _normalizeEventOptions2['default'])(options);
return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);
}
function removeEventListener(eventHandle) {
var target = eventHandle.target;
// There can be a race condition where the target may no longer exist when
// this function is called, e.g. when a React component is unmounting.
// Guarding against this prevents the following error:
//
// Cannot read property 'removeEventListener' of undefined
if (target) {
target[EVENT_HANDLERS_KEY]['delete'](eventHandle);
}
}
/***/ },
/* 85 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = normalizeEventOptions;
var _canUsePassiveEventListeners = __webpack_require__(86);
var _canUsePassiveEventListeners2 = _interopRequireDefault(_canUsePassiveEventListeners);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function normalizeEventOptions(eventOptions) {
if (!eventOptions) {
return undefined;
}
if (!(0, _canUsePassiveEventListeners2['default'])()) {
// If the browser does not support the passive option, then it is expecting
// a boolean for the options argument to specify whether it should use
// capture or not. In more modern browsers, this is passed via the `capture`
// option, so let's just hoist that value up.
return !!eventOptions.capture;
}
return eventOptions;
}
/***/ },
/* 86 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = canUsePassiveEventListeners;
var _canUseDOM = __webpack_require__(87);
var _canUseDOM2 = _interopRequireDefault(_canUseDOM);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// Adapted from Modernizr
// https://github.com/Modernizr/Modernizr/blob/5eea7e2a/feature-detects/dom/passiveeventlisteners.js#L26-L35
function testPassiveEventListeners() {
if (!_canUseDOM2['default']) {
return false;
}
var supportsPassiveOption = false;
try {
var opts = Object.defineProperty({}, 'passive', {
get: function () {
function get() {
supportsPassiveOption = true;
}
return get;
}()
});
window.addEventListener('test', null, opts);
} catch (e) {
// do nothing
}
return supportsPassiveOption;
}
var memoized = void 0;
function canUsePassiveEventListeners() {
if (memoized === undefined) {
memoized = testPassiveEventListeners();
}
return memoized;
}
/***/ },
/* 87 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
exports['default'] = CAN_USE_DOM;
/***/ },
/* 88 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _eventOptionsKey = __webpack_require__(89);
var _eventOptionsKey2 = _interopRequireDefault(_eventOptionsKey);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var TargetEventHandlers = function () {
function TargetEventHandlers(target) {
_classCallCheck(this, TargetEventHandlers);
this.target = target;
this.events = {};
}
_createClass(TargetEventHandlers, [{
key: 'getEventHandlers',
value: function () {
function getEventHandlers(eventName, options) {
var key = String(eventName) + ' ' + String((0, _eventOptionsKey2['default'])(options));
if (!this.events[key]) {
this.events[key] = {
size: 0,
index: 0,
handlers: {},
handleEvent: undefined
};
}
return this.events[key];
}
return getEventHandlers;
}()
}, {
key: 'handleEvent',
value: function () {
function handleEvent(eventName, options, event) {
var _getEventHandlers = this.getEventHandlers(eventName, options),
handlers = _getEventHandlers.handlers;
Object.keys(handlers).forEach(function (index) {
var handler = handlers[index];
if (handler) {
// We need to check for presence here because a handler function may
// cause later handlers to get removed. This can happen if you for
// instance have a waypoint that unmounts another waypoint as part of an
// onEnter/onLeave handler.
handler(event);
}
});
}
return handleEvent;
}()
}, {
key: 'add',
value: function () {
function add(eventName, listener, options) {
// options has already been normalized at this point.
var eventHandlers = this.getEventHandlers(eventName, options);
if (eventHandlers.size === 0) {
eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);
this.target.addEventListener(eventName, eventHandlers.handleEvent, options);
}
eventHandlers.size += 1;
eventHandlers.index += 1;
eventHandlers.handlers[eventHandlers.index] = listener;
return {
target: this.target,
eventName: eventName,
options: options,
index: eventHandlers.index
};
}
return add;
}()
}, {
key: 'delete',
value: function () {
function _delete(_ref) {
var eventName = _ref.eventName,
index = _ref.index,
options = _ref.options;
// options has already been normalized at this point.
var eventHandlers = this.getEventHandlers(eventName, options);
if (eventHandlers.size === 0) {
// There are no matching event handlers, so no work to be done here.
return;
}
if (eventHandlers.handlers[index]) {
delete eventHandlers.handlers[index];
eventHandlers.size -= 1;
}
if (eventHandlers.size === 0) {
this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);
eventHandlers.handleEvent = undefined;
}
}
return _delete;
}()
}]);
return TargetEventHandlers;
}();
exports['default'] = TargetEventHandlers;
/***/ },
/* 89 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = eventOptionsKey;
/* eslint-disable no-bitwise */
/**
* Generate a unique key for any set of event options
*/
function eventOptionsKey(normalizedEventOptions) {
if (!normalizedEventOptions) {
return 0;
}
// If the browser does not support passive event listeners, the normalized
// event options will be a boolean.
if (normalizedEventOptions === true) {
return 100;
}
// At this point, the browser supports passive event listeners, so we expect
// the event options to be an object with possible properties of capture,
// passive, and once.
//
// We want to consistently return the same value, regardless of the order of
// these properties, so let's use binary maths to assign each property to a
// bit, and then add those together (with an offset to account for the
// booleans at the beginning of this function).
var capture = normalizedEventOptions.capture << 0;
var passive = normalizedEventOptions.passive << 1;
var once = normalizedEventOptions.once << 2;
return capture + passive + once;
}
/***/ },
/* 90 */
/***/ function(module, exports) {
module.exports = ReactDOM;
/***/ },
/* 91 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = __webpack_require__(2);
var _react2 = _interopRequireDefault(_react);
var _reactDom = __webpack_require__(90);
var _reactDom2 = _interopRequireDefault(_reactDom);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var KEYCODES = {
ESCAPE: 27
};
var Portal = function (_React$Component) {
_inherits(Portal, _React$Component);
function Portal() {
_classCallCheck(this, Portal);
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Portal).call(this));
_this.state = { active: false };
_this.handleWrapperClick = _this.handleWrapperClick.bind(_this);
_this.closePortal = _this.closePortal.bind(_this);
_this.handleOutsideMouseClick = _this.handleOutsideMouseClick.bind(_this);
_this.handleKeydown = _this.handleKeydown.bind(_this);
_this.portal = null;
_this.node = null;
return _this;
}
_createClass(Portal, [{
key: 'componentDidMount',
value: function componentDidMount() {
if (this.props.closeOnEsc) {
document.addEventListener('keydown', this.handleKeydown);
}
if (this.props.closeOnOutsideClick) {
document.addEventListener('mouseup', this.handleOutsideMouseClick);
document.addEventListener('touchstart', this.handleOutsideMouseClick);
}
if (this.props.isOpened) {
this.openPortal();
}
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(newProps) {
// portal's 'is open' state is handled through the prop isOpened
if (typeof newProps.isOpened !== 'undefined') {
if (newProps.isOpened) {
if (this.state.active) {
this.renderPortal(newProps);
} else {
this.openPortal(newProps);
}
}
if (!newProps.isOpened && this.state.active) {
this.closePortal();
}
}
// portal handles its own 'is open' state
if (typeof newProps.isOpened === 'undefined' && this.state.active) {
this.renderPortal(newProps);
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
if (this.props.closeOnEsc) {
document.removeEventListener('keydown', this.handleKeydown);
}
if (this.props.closeOnOutsideClick) {
document.removeEventListener('mouseup', this.handleOutsideMouseClick);
document.removeEventListener('touchstart', this.handleOutsideMouseClick);
}
this.closePortal(true);
}
}, {
key: 'handleWrapperClick',
value: function handleWrapperClick(e) {
e.preventDefault();
e.stopPropagation();
if (this.state.active) {
return;
}
this.openPortal();
}
}, {
key: 'openPortal',
value: function openPortal() {
var props = arguments.length <= 0 || arguments[0] === undefined ? this.props : arguments[0];
this.setState({ active: true });
this.renderPortal(props);
this.props.onOpen(this.node);
}
}, {
key: 'closePortal',
value: function closePortal() {
var _this2 = this;
var isUnmounted = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];
var resetPortalState = function resetPortalState() {
if (_this2.node) {
_reactDom2.default.unmountComponentAtNode(_this2.node);
document.body.removeChild(_this2.node);
}
_this2.portal = null;
_this2.node = null;
if (isUnmounted !== true) {
_this2.setState({ active: false });
}
};
if (this.state.active) {
if (this.props.beforeClose) {
this.props.beforeClose(this.node, resetPortalState);
} else {
resetPortalState();
}
this.props.onClose();
}
}
}, {
key: 'handleOutsideMouseClick',
value: function handleOutsideMouseClick(e) {
if (!this.state.active) {
return;
}
var root = (0, _reactDom.findDOMNode)(this.portal);
if (root.contains(e.target) || e.button && e.button !== 0) {
return;
}
e.stopPropagation();
this.closePortal();
}
}, {
key: 'handleKeydown',
value: function handleKeydown(e) {
if (e.keyCode === KEYCODES.ESCAPE && this.state.active) {
this.closePortal();
}
}
}, {
key: 'renderPortal',
value: function renderPortal(props) {
if (!this.node) {
this.node = document.createElement('div');
document.body.appendChild(this.node);
}
var children = props.children;
// https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b
if (typeof props.children.type === 'function') {
children = _react2.default.cloneElement(props.children, { closePortal: this.closePortal });
}
this.portal = _reactDom2.default.unstable_renderSubtreeIntoContainer(this, children, this.node, this.props.onUpdate);
}
}, {
key: 'render',
value: function render() {
if (this.props.openByClickOn) {
return _react2.default.cloneElement(this.props.openByClickOn, { onClick: this.handleWrapperClick });
}
return null;
}
}]);
return Portal;
}(_react2.default.Component);
exports.default = Portal;
Portal.propTypes = {
children: _react2.default.PropTypes.element.isRequired,
openByClickOn: _react2.default.PropTypes.element,
closeOnEsc: _react2.default.PropTypes.bool,
closeOnOutsideClick: _react2.default.PropTypes.bool,
isOpened: _react2.default.PropTypes.bool,
onOpen: _react2.default.PropTypes.func,
onClose: _react2.default.PropTypes.func,
beforeClose: _react2.default.PropTypes.func,
onUpdate: _react2.default.PropTypes.func
};
Portal.defaultProps = {
onOpen: function onOpen() {},
onClose: function onClose() {},
onUpdate: function onUpdate() {}
};
module.exports = exports['default'];
/***/ },
/* 92 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var closeDatePicker = 'Close';
var focusStartDate = 'Focus on start date';
var clearDate = 'Clear Date';
var clearDates = 'Clear Dates';
var jumpToPrevMonth = 'Jump to previous month';
var jumpToNextMonth = 'Jump to next month';
exports['default'] = {
closeDatePicker: closeDatePicker,
focusStartDate: focusStartDate,
clearDate: clearDate,
clearDates: clearDates,
jumpToPrevMonth: jumpToPrevMonth,
jumpToNextMonth: jumpToNextMonth
};
var DateRangePickerPhrases = exports.DateRangePickerPhrases = {
closeDatePicker: closeDatePicker,
clearDates: clearDates,
focusStartDate: focusStartDate,
jumpToPrevMonth: jumpToPrevMonth,
jumpToNextMonth: jumpToNextMonth
};
var DateRangePickerInputPhrases = exports.DateRangePickerInputPhrases = {
focusStartDate: focusStartDate,
clearDates: clearDates
};
var SingleDatePickerPhrases = exports.SingleDatePickerPhrases = {
closeDatePicker: closeDatePicker,
clearDate: clearDate,
jumpToPrevMonth: jumpToPrevMonth,
jumpToNextMonth: jumpToNextMonth
};
var SingleDatePickerInputPhrases = exports.SingleDatePickerInputPhrases = {
clearDate: clearDate
};
var DayPickerPhrases = exports.DayPickerPhrases = {
jumpToPrevMonth: jumpToPrevMonth,
jumpToNextMonth: jumpToNextMonth
};
var DayPickerNavigationPhrases = exports.DayPickerNavigationPhrases = {
jumpToPrevMonth: jumpToPrevMonth,
jumpToNextMonth: jumpToNextMonth
};
/***/ },
/* 93 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _airbnbPropTypes = __webpack_require__(4);
var _consolidatedEvents = __webpack_require__(11);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = {
children: _react.PropTypes.node,
onOutsideClick: _react.PropTypes.func
};
var defaultProps = (0, _airbnbPropTypes.forbidExtraProps)({
children: _react2['default'].createElement('span', null),
onOutsideClick: function () {
function onOutsideClick() {}
return onOutsideClick;
}()
});
var OutsideClickHandler = function (_React$Component) {
_inherits(OutsideClickHandler, _React$Component);
function OutsideClickHandler(props) {
_classCallCheck(this, OutsideClickHandler);
var _this = _possibleConstructorReturn(this, (OutsideClickHandler.__proto__ || Object.getPrototypeOf(OutsideClickHandler)).call(this, props));
_this.onOutsideClick = _this.onOutsideClick.bind(_this);
return _this;
}
_createClass(OutsideClickHandler, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
// `capture` flag is set to true so that a `stopPropagation` in the children
// will not prevent all outside click handlers from firing - maja
this.clickHandle = (0, _consolidatedEvents.addEventListener)(document, 'click', this.onOutsideClick, { capture: true });
}
return componentDidMount;
}()
}, {
key: 'componentWillUnmount',
value: function () {
function componentWillUnmount() {
(0, _consolidatedEvents.removeEventListener)(this.clickHandle);
}
return componentWillUnmount;
}()
}, {
key: 'onOutsideClick',
value: function () {
function onOutsideClick(e) {
var isDescendantOfRoot = this.childNode.contains(e.target);
if (!isDescendantOfRoot) {
this.props.onOutsideClick(e);
}
}
return onOutsideClick;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
return _react2['default'].createElement('div', { ref: function () {
function ref(_ref) {
_this2.childNode = _ref;
}
return ref;
}() }, this.props.children);
}
return render;
}()
}]);
return OutsideClickHandler;
}(_react2['default'].Component);
exports['default'] = OutsideClickHandler;
OutsideClickHandler.propTypes = propTypes;
OutsideClickHandler.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,,
/* 2 */
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},,,,,,,
/* 5 */
/* 6 */
/* 7 */
/* 8 */
/* 9 */
/* 10 */
/* 11 */
/***/function (module, exports) {
module.exports = __webpack_require__(84);
/***/
}
/******/]);
/***/ },
/* 94 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getResponsiveContainerStyles;
var _constants = __webpack_require__(83);
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });
} else {
obj[key] = value;
}return obj;
}
function getResponsiveContainerStyles(anchorDirection, currentOffset, containerEdge, margin) {
var windowWidth = typeof window !== 'undefined' && window.innerWidth;
var calculatedOffset = anchorDirection === _constants.ANCHOR_LEFT ? windowWidth - containerEdge : containerEdge;
var calculatedMargin = margin || 0;
return _defineProperty({}, anchorDirection, Math.min(currentOffset + calculatedOffset - calculatedMargin, 0));
}
/***/ },
/* 95 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isInclusivelyAfterDay;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _isSameDay = __webpack_require__(96);
var _isSameDay2 = _interopRequireDefault(_isSameDay);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function isInclusivelyAfterDay(a, b) {
if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
return a.isAfter(b) || (0, _isSameDay2['default'])(a, b);
}
/***/ },
/* 96 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isSameDay;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function isSameDay(a, b) {
if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
return a.isSame(b, 'day');
}
/***/ },
/* 97 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _reactMomentProptypes = __webpack_require__(3);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _airbnbPropTypes = __webpack_require__(4);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _DateRangePickerInput = __webpack_require__(30);
var _DateRangePickerInput2 = _interopRequireDefault(_DateRangePickerInput);
var _toMomentObject = __webpack_require__(31);
var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
var _toLocalizedDateString = __webpack_require__(32);
var _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);
var _toISODateString = __webpack_require__(33);
var _toISODateString2 = _interopRequireDefault(_toISODateString);
var _isInclusivelyAfterDay = __webpack_require__(21);
var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
var _isInclusivelyBeforeDay = __webpack_require__(34);
var _isInclusivelyBeforeDay2 = _interopRequireDefault(_isInclusivelyBeforeDay);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
startDate: _reactMomentProptypes2['default'].momentObj,
startDateId: _react.PropTypes.string,
startDatePlaceholderText: _react.PropTypes.string,
isStartDateFocused: _react.PropTypes.bool,
endDate: _reactMomentProptypes2['default'].momentObj,
endDateId: _react.PropTypes.string,
endDatePlaceholderText: _react.PropTypes.string,
isEndDateFocused: _react.PropTypes.bool,
screenReaderMessage: _react.PropTypes.string,
showClearDates: _react.PropTypes.bool,
showCaret: _react.PropTypes.bool,
showDefaultInputIcon: _react.PropTypes.bool,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
keepOpenOnDateSelect: _react.PropTypes.bool,
reopenPickerOnClearDates: _react.PropTypes.bool,
withFullScreenPortal: _react.PropTypes.bool,
isOutsideRange: _react.PropTypes.func,
displayFormat: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.func]),
onFocusChange: _react.PropTypes.func,
onDatesChange: _react.PropTypes.func,
customInputIcon: _react.PropTypes.node,
customArrowIcon: _react.PropTypes.node,
customCloseIcon: _react.PropTypes.node,
// i18n
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases))
});
var defaultProps = {
startDate: null,
startDateId: _constants.START_DATE,
startDatePlaceholderText: 'Start Date',
isStartDateFocused: false,
endDate: null,
endDateId: _constants.END_DATE,
endDatePlaceholderText: 'End Date',
isEndDateFocused: false,
screenReaderMessage: '',
showClearDates: false,
showCaret: false,
showDefaultInputIcon: false,
disabled: false,
required: false,
keepOpenOnDateSelect: false,
reopenPickerOnClearDates: false,
withFullScreenPortal: false,
isOutsideRange: function () {
function isOutsideRange(day) {
return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
}
return isOutsideRange;
}(),
displayFormat: function () {
function displayFormat() {
return _moment2['default'].localeData().longDateFormat('L');
}
return displayFormat;
}(),
onFocusChange: function () {
function onFocusChange() {}
return onFocusChange;
}(),
onDatesChange: function () {
function onDatesChange() {}
return onDatesChange;
}(),
customInputIcon: null,
customArrowIcon: null,
customCloseIcon: null,
// i18n
phrases: _defaultPhrases.DateRangePickerInputPhrases
};
var DateRangePickerInputWithHandlers = function (_React$Component) {
_inherits(DateRangePickerInputWithHandlers, _React$Component);
function DateRangePickerInputWithHandlers(props) {
_classCallCheck(this, DateRangePickerInputWithHandlers);
var _this = _possibleConstructorReturn(this, (DateRangePickerInputWithHandlers.__proto__ || Object.getPrototypeOf(DateRangePickerInputWithHandlers)).call(this, props));
_this.onClearFocus = _this.onClearFocus.bind(_this);
_this.onStartDateChange = _this.onStartDateChange.bind(_this);
_this.onStartDateFocus = _this.onStartDateFocus.bind(_this);
_this.onEndDateChange = _this.onEndDateChange.bind(_this);
_this.onEndDateFocus = _this.onEndDateFocus.bind(_this);
_this.clearDates = _this.clearDates.bind(_this);
return _this;
}
_createClass(DateRangePickerInputWithHandlers, [{
key: 'onClearFocus',
value: function () {
function onClearFocus() {
this.props.onFocusChange(null);
}
return onClearFocus;
}()
}, {
key: 'onEndDateChange',
value: function () {
function onEndDateChange(endDateString) {
var _props = this.props;
var startDate = _props.startDate;
var isOutsideRange = _props.isOutsideRange;
var keepOpenOnDateSelect = _props.keepOpenOnDateSelect;
var onDatesChange = _props.onDatesChange;
var onFocusChange = _props.onFocusChange;
var endDate = (0, _toMomentObject2['default'])(endDateString, this.getDisplayFormat());
var isEndDateValid = endDate && !isOutsideRange(endDate) && !(0, _isInclusivelyBeforeDay2['default'])(endDate, startDate);
if (isEndDateValid) {
onDatesChange({ startDate: startDate, endDate: endDate });
if (!keepOpenOnDateSelect) onFocusChange(null);
} else {
onDatesChange({
startDate: startDate,
endDate: null
});
}
}
return onEndDateChange;
}()
}, {
key: 'onEndDateFocus',
value: function () {
function onEndDateFocus() {
var _props2 = this.props;
var startDate = _props2.startDate;
var onFocusChange = _props2.onFocusChange;
var withFullScreenPortal = _props2.withFullScreenPortal;
var disabled = _props2.disabled;
if (!startDate && withFullScreenPortal && !disabled) {
// When the datepicker is full screen, we never want to focus the end date first
// because there's no indication that that is the case once the datepicker is open and it
// might confuse the user
onFocusChange(_constants.START_DATE);
} else if (!disabled) {
onFocusChange(_constants.END_DATE);
}
}
return onEndDateFocus;
}()
}, {
key: 'onStartDateChange',
value: function () {
function onStartDateChange(startDateString) {
var startDate = (0, _toMomentObject2['default'])(startDateString, this.getDisplayFormat());
var endDate = this.props.endDate;
var _props3 = this.props;
var isOutsideRange = _props3.isOutsideRange;
var onDatesChange = _props3.onDatesChange;
var onFocusChange = _props3.onFocusChange;
var isStartDateValid = startDate && !isOutsideRange(startDate);
if (isStartDateValid) {
if ((0, _isInclusivelyBeforeDay2['default'])(endDate, startDate)) {
endDate = null;
}
onDatesChange({ startDate: startDate, endDate: endDate });
onFocusChange(_constants.END_DATE);
} else {
onDatesChange({
startDate: null,
endDate: endDate
});
}
}
return onStartDateChange;
}()
}, {
key: 'onStartDateFocus',
value: function () {
function onStartDateFocus() {
if (!this.props.disabled) {
this.props.onFocusChange(_constants.START_DATE);
}
}
return onStartDateFocus;
}()
}, {
key: 'getDisplayFormat',
value: function () {
function getDisplayFormat() {
var displayFormat = this.props.displayFormat;
return typeof displayFormat === 'string' ? displayFormat : displayFormat();
}
return getDisplayFormat;
}()
}, {
key: 'getDateString',
value: function () {
function getDateString(date) {
var displayFormat = this.getDisplayFormat();
if (date && displayFormat) {
return date && date.format(displayFormat);
}
return (0, _toLocalizedDateString2['default'])(date);
}
return getDateString;
}()
}, {
key: 'clearDates',
value: function () {
function clearDates() {
var _props4 = this.props;
var onDatesChange = _props4.onDatesChange;
var reopenPickerOnClearDates = _props4.reopenPickerOnClearDates;
var onFocusChange = _props4.onFocusChange;
onDatesChange({ startDate: null, endDate: null });
if (reopenPickerOnClearDates) {
onFocusChange(_constants.START_DATE);
}
}
return clearDates;
}()
}, {
key: 'render',
value: function () {
function render() {
var _props5 = this.props;
var startDate = _props5.startDate;
var startDateId = _props5.startDateId;
var startDatePlaceholderText = _props5.startDatePlaceholderText;
var isStartDateFocused = _props5.isStartDateFocused;
var endDate = _props5.endDate;
var endDateId = _props5.endDateId;
var endDatePlaceholderText = _props5.endDatePlaceholderText;
var isEndDateFocused = _props5.isEndDateFocused;
var screenReaderMessage = _props5.screenReaderMessage;
var showClearDates = _props5.showClearDates;
var showCaret = _props5.showCaret;
var showDefaultInputIcon = _props5.showDefaultInputIcon;
var customInputIcon = _props5.customInputIcon;
var customArrowIcon = _props5.customArrowIcon;
var customCloseIcon = _props5.customCloseIcon;
var disabled = _props5.disabled;
var required = _props5.required;
var phrases = _props5.phrases;
var startDateString = this.getDateString(startDate);
var startDateValue = (0, _toISODateString2['default'])(startDate);
var endDateString = this.getDateString(endDate);
var endDateValue = (0, _toISODateString2['default'])(endDate);
return _react2['default'].createElement(_DateRangePickerInput2['default'], {
startDate: startDateString,
startDateValue: startDateValue,
startDateId: startDateId,
startDatePlaceholderText: startDatePlaceholderText,
isStartDateFocused: isStartDateFocused,
endDate: endDateString,
endDateValue: endDateValue,
endDateId: endDateId,
endDatePlaceholderText: endDatePlaceholderText,
isEndDateFocused: isEndDateFocused,
disabled: disabled,
required: required,
showCaret: showCaret,
showDefaultInputIcon: showDefaultInputIcon,
customInputIcon: customInputIcon,
customArrowIcon: customArrowIcon,
customCloseIcon: customCloseIcon,
phrases: phrases,
onStartDateChange: this.onStartDateChange,
onStartDateFocus: this.onStartDateFocus,
onStartDateShiftTab: this.onClearFocus,
onEndDateChange: this.onEndDateChange,
onEndDateFocus: this.onEndDateFocus,
onEndDateTab: this.onClearFocus,
showClearDates: showClearDates,
onClearDates: this.clearDates,
screenReaderMessage: screenReaderMessage
});
}
return render;
}()
}]);
return DateRangePickerInputWithHandlers;
}(_react2['default'].Component);
exports['default'] = DateRangePickerInputWithHandlers;
DateRangePickerInputWithHandlers.propTypes = propTypes;
DateRangePickerInputWithHandlers.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,
/* 2 */
/* 3 */
/***/function (module, exports) {
module.exports = __webpack_require__(98);
/***/
},
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},,,,,
/* 6 */
/* 7 */
/* 8 */
/* 9 */
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},,,,,,,,
/* 11 */
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/* 16 */
/* 17 */
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},,,
/* 19 */
/* 20 */
/* 21 */
/***/function (module, exports) {
module.exports = __webpack_require__(95);
/***/
},,,,,
/* 22 */
/* 23 */
/* 24 */
/* 25 */
/* 26 */
/***/function (module, exports) {
module.exports = __webpack_require__(100);
/***/
},,,,
/* 27 */
/* 28 */
/* 29 */
/* 30 */
/***/function (module, exports) {
module.exports = __webpack_require__(101);
/***/
},
/* 31 */
/***/function (module, exports) {
module.exports = __webpack_require__(104);
/***/
},
/* 32 */
/***/function (module, exports) {
module.exports = __webpack_require__(105);
/***/
},
/* 33 */
/***/function (module, exports) {
module.exports = __webpack_require__(106);
/***/
},
/* 34 */
/***/function (module, exports) {
module.exports = __webpack_require__(107);
/***/
}
/******/]);
/***/ },
/* 98 */
/***/ function(module, exports, __webpack_require__) {
var moment = __webpack_require__(81);
var momentValidationWrapper = __webpack_require__(99);
moment.createFromInputFallback = function(config) {
config._d = new Date(config._i);
};
var ANONYMOUS = '<<anonymous>>';
var ReactPropTypeLocationNames = {
prop : 'prop',
context : 'context',
childContext : 'child context',
};
function createMomentChecker(type, typeValidator, validator, momentType) {
function propValidator(
isRequired, // Bound parameter to indicate with the propType is required
predicate, // Bound parameter to allow user to add dynamic validation
props,
propName,
componentName,
location,
propFullName
) {
if (isRequired) {
var locationName = ReactPropTypeLocationNames[ location ];
componentName = componentName || ANONYMOUS;
propFullName = propFullName || propName;
if (!props.hasOwnProperty(propName)) {
return new Error(
'Required ' + locationName + ' `' + propFullName +
'` was not specified in `' +
componentName + '`.'
);
}
}
var propValue = props[ propName ];
var propType = typeof propValue;
if (typeof propValue === 'undefined' || propValue === null) {
return null;
}
if (typeValidator && !typeValidator(propValue)) {
return new Error(
'Invalid input type: `' + propName + '` of type `' + propType + '` ' +
'supplied to `' + componentName + '`, expected `' + type + '`.'
);
}
if (! validator(propValue)) {
return new Error(
'Invalid ' + location + ' `' + propName + '` of type `' + propType + '` ' +
'supplied to `' + componentName + '`, expected `' + momentType + '`.'
);
}
if (predicate && ! predicate(propValue)) {
var predicateName = predicate.name || ANONYMOUS;
return new Error(
'Invalid ' + location + ' `' + propName + '` of type `' + propType + '` ' +
'supplied to `' + componentName + '`. Failed to succeed with predicate `' +
predicateName + '`.'
);
}
return null;
}
var requiredPropValidator = propValidator.bind(null, false, null);
requiredPropValidator.isRequired = propValidator.bind(null, true, null);
requiredPropValidator.withPredicate = function predicateApplication(predicate) {
if (typeof predicate !== 'function') {
throw new Error('`predicate` must be a function');
}
var basePropValidator = propValidator.bind(null, false, predicate);
basePropValidator.isRequired = propValidator.bind(null, true, predicate);
return basePropValidator;
};
return requiredPropValidator;
}
module.exports = {
momentObj : createMomentChecker(
'object',
function(obj) {
return typeof obj === 'object';
},
function isValid(value) {
return momentValidationWrapper.isValidMoment(value);
},
'Moment'
),
momentString : createMomentChecker(
'string',
function(str) {
return typeof str === 'string';
},
function isValid(value) {
return momentValidationWrapper.isValidMoment(moment(value));
},
'Moment'
),
momentDurationObj : createMomentChecker(
'object',
function(obj) {
return typeof obj === 'object';
},
function isValid(value) {
return moment.isDuration(value);
},
'Duration'
),
};
/***/ },
/* 99 */
/***/ function(module, exports, __webpack_require__) {
var moment = __webpack_require__(81);
function isValidMoment(testMoment) {
if (typeof testMoment.isValid === 'function') {
// moment 1.7.0+
return testMoment.isValid();
}
return ! isNaN(testMoment);
}
module.exports = {
isValidMoment : isValidMoment,
}
/***/ },
/* 100 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getPhrasePropTypes;
var _react = __webpack_require__(2);
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });
} else {
obj[key] = value;
}return obj;
}
function getPhrasePropTypes(defaultPhrases) {
return Object.keys(defaultPhrases).reduce(function (phrases, key) {
return Object.assign({}, phrases, _defineProperty({}, key, _react.PropTypes.node));
}, {});
}
/***/ },
/* 101 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _airbnbPropTypes = __webpack_require__(4);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _DateInput = __webpack_require__(27);
var _DateInput2 = _interopRequireDefault(_DateInput);
var _arrowRight = __webpack_require__(28);
var _arrowRight2 = _interopRequireDefault(_arrowRight);
var _close = __webpack_require__(24);
var _close2 = _interopRequireDefault(_close);
var _calendar = __webpack_require__(29);
var _calendar2 = _interopRequireDefault(_calendar);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
startDateId: _react.PropTypes.string,
startDatePlaceholderText: _react.PropTypes.string,
screenReaderMessage: _react.PropTypes.string,
endDateId: _react.PropTypes.string,
endDatePlaceholderText: _react.PropTypes.string,
onStartDateFocus: _react.PropTypes.func,
onEndDateFocus: _react.PropTypes.func,
onStartDateChange: _react.PropTypes.func,
onEndDateChange: _react.PropTypes.func,
onStartDateShiftTab: _react.PropTypes.func,
onEndDateTab: _react.PropTypes.func,
onClearDates: _react.PropTypes.func,
startDate: _react.PropTypes.string,
startDateValue: _react.PropTypes.string,
endDate: _react.PropTypes.string,
endDateValue: _react.PropTypes.string,
isStartDateFocused: _react.PropTypes.bool,
isEndDateFocused: _react.PropTypes.bool,
showClearDates: _react.PropTypes.bool,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
showCaret: _react.PropTypes.bool,
showDefaultInputIcon: _react.PropTypes.bool,
customInputIcon: _react.PropTypes.node,
customArrowIcon: _react.PropTypes.node,
customCloseIcon: _react.PropTypes.node,
// i18n
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases))
});
var defaultProps = {
startDateId: _constants.START_DATE,
endDateId: _constants.END_DATE,
startDatePlaceholderText: 'Start Date',
endDatePlaceholderText: 'End Date',
screenReaderMessage: '',
onStartDateFocus: function () {
function onStartDateFocus() {}
return onStartDateFocus;
}(),
onEndDateFocus: function () {
function onEndDateFocus() {}
return onEndDateFocus;
}(),
onStartDateChange: function () {
function onStartDateChange() {}
return onStartDateChange;
}(),
onEndDateChange: function () {
function onEndDateChange() {}
return onEndDateChange;
}(),
onStartDateShiftTab: function () {
function onStartDateShiftTab() {}
return onStartDateShiftTab;
}(),
onEndDateTab: function () {
function onEndDateTab() {}
return onEndDateTab;
}(),
onClearDates: function () {
function onClearDates() {}
return onClearDates;
}(),
startDate: '',
startDateValue: '',
endDate: '',
endDateValue: '',
isStartDateFocused: false,
isEndDateFocused: false,
showClearDates: false,
disabled: false,
required: false,
showCaret: false,
showDefaultInputIcon: false,
customInputIcon: null,
customArrowIcon: null,
customCloseIcon: null,
// i18n
phrases: _defaultPhrases.DateRangePickerInputPhrases
};
var DateRangePickerInput = function (_React$Component) {
_inherits(DateRangePickerInput, _React$Component);
function DateRangePickerInput(props) {
_classCallCheck(this, DateRangePickerInput);
var _this = _possibleConstructorReturn(this, (DateRangePickerInput.__proto__ || Object.getPrototypeOf(DateRangePickerInput)).call(this, props));
_this.state = {
isClearDatesHovered: false
};
_this.onClearDatesMouseEnter = _this.onClearDatesMouseEnter.bind(_this);
_this.onClearDatesMouseLeave = _this.onClearDatesMouseLeave.bind(_this);
return _this;
}
_createClass(DateRangePickerInput, [{
key: 'onClearDatesMouseEnter',
value: function () {
function onClearDatesMouseEnter() {
this.setState({
isClearDatesHovered: true
});
}
return onClearDatesMouseEnter;
}()
}, {
key: 'onClearDatesMouseLeave',
value: function () {
function onClearDatesMouseLeave() {
this.setState({
isClearDatesHovered: false
});
}
return onClearDatesMouseLeave;
}()
}, {
key: 'render',
value: function () {
function render() {
var isClearDatesHovered = this.state.isClearDatesHovered;
var _props = this.props;
var startDate = _props.startDate;
var startDateValue = _props.startDateValue;
var startDateId = _props.startDateId;
var startDatePlaceholderText = _props.startDatePlaceholderText;
var screenReaderMessage = _props.screenReaderMessage;
var isStartDateFocused = _props.isStartDateFocused;
var onStartDateChange = _props.onStartDateChange;
var onStartDateFocus = _props.onStartDateFocus;
var onStartDateShiftTab = _props.onStartDateShiftTab;
var endDate = _props.endDate;
var endDateValue = _props.endDateValue;
var endDateId = _props.endDateId;
var endDatePlaceholderText = _props.endDatePlaceholderText;
var isEndDateFocused = _props.isEndDateFocused;
var onEndDateChange = _props.onEndDateChange;
var onEndDateFocus = _props.onEndDateFocus;
var onEndDateTab = _props.onEndDateTab;
var onClearDates = _props.onClearDates;
var showClearDates = _props.showClearDates;
var disabled = _props.disabled;
var required = _props.required;
var showCaret = _props.showCaret;
var showDefaultInputIcon = _props.showDefaultInputIcon;
var customInputIcon = _props.customInputIcon;
var customArrowIcon = _props.customArrowIcon;
var customCloseIcon = _props.customCloseIcon;
var phrases = _props.phrases;
var inputIcon = customInputIcon || _react2['default'].createElement(_calendar2['default'], null);
var arrowIcon = customArrowIcon || _react2['default'].createElement(_arrowRight2['default'], null);
var closeIcon = customCloseIcon || _react2['default'].createElement(_close2['default'], null);
return _react2['default'].createElement('div', {
className: (0, _classnames2['default'])('DateRangePickerInput', {
'DateRangePickerInput--disabled': disabled
})
}, (showDefaultInputIcon || customInputIcon !== null) && _react2['default'].createElement('button', {
type: 'button',
'aria-label': phrases.focusStartDate,
className: 'DateRangePickerInput__calendar-icon',
onClick: onStartDateFocus
}, inputIcon), _react2['default'].createElement(_DateInput2['default'], {
id: startDateId,
placeholder: startDatePlaceholderText,
displayValue: startDate,
inputValue: startDateValue,
screenReaderMessage: screenReaderMessage,
focused: isStartDateFocused,
disabled: disabled,
required: required,
showCaret: showCaret,
onChange: onStartDateChange,
onFocus: onStartDateFocus,
onKeyDownShiftTab: onStartDateShiftTab
}), _react2['default'].createElement('div', { className: 'DateRangePickerInput__arrow' }, arrowIcon), _react2['default'].createElement(_DateInput2['default'], {
id: endDateId,
placeholder: endDatePlaceholderText,
displayValue: endDate,
inputValue: endDateValue,
screenReaderMessage: screenReaderMessage,
focused: isEndDateFocused,
disabled: disabled,
required: required,
showCaret: showCaret,
onChange: onEndDateChange,
onFocus: onEndDateFocus,
onKeyDownTab: onEndDateTab
}), showClearDates && _react2['default'].createElement('button', {
type: 'button',
className: (0, _classnames2['default'])('DateRangePickerInput__clear-dates', {
'DateRangePickerInput__clear-dates--hide': !(startDate || endDate),
'DateRangePickerInput__clear-dates--hover': isClearDatesHovered
}),
onMouseEnter: this.onClearDatesMouseEnter,
onMouseLeave: this.onClearDatesMouseLeave,
onClick: onClearDates
}, _react2['default'].createElement('span', { className: 'screen-reader-only' }, phrases.clearDates), _react2['default'].createElement('div', { className: 'DateRangePickerInput__close-icon' }, closeIcon)));
}
return render;
}()
}]);
return DateRangePickerInput;
}(_react2['default'].Component);
exports['default'] = DateRangePickerInput;
DateRangePickerInput.propTypes = propTypes;
DateRangePickerInput.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,,
/* 2 */
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},,
/* 5 */
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,,
/* 7 */
/* 8 */
/* 9 */
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},,,,,,,,
/* 11 */
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/* 16 */
/* 17 */
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},,,,,,
/* 19 */
/* 20 */
/* 21 */
/* 22 */
/* 23 */
/* 24 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 12 12" }, this.props), _react2["default"].createElement("path", { fillRule: "evenodd", d: "M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},,
/* 25 */
/* 26 */
/***/function (module, exports) {
module.exports = __webpack_require__(100);
/***/
},
/* 27 */
/***/function (module, exports) {
module.exports = __webpack_require__(102);
/***/
},
/* 28 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 1000 1000" }, this.props), _react2["default"].createElement("path", { d: "M694.4 242.4l249.1 249.1c11 11 11 21 0 32L694.4 772.7c-5 5-10 7-16 7s-11-2-16-7c-11-11-11-21 0-32l210.1-210.1H67.1c-13 0-23-10-23-23s10-23 23-23h805.4L662.4 274.5c-21-21.1 11-53.1 32-32.1z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},
/* 29 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 1393.1 1500" }, this.props), _react2["default"].createElement("path", { d: "M107.2 1392.9h241.1v-241.1H107.2v241.1zm294.7 0h267.9v-241.1H401.9v241.1zm-294.7-294.7h241.1V830.4H107.2v267.8zm294.7 0h267.9V830.4H401.9v267.8zM107.2 776.8h241.1V535.7H107.2v241.1zm616.2 616.1h267.9v-241.1H723.4v241.1zM401.9 776.8h267.9V535.7H401.9v241.1zm642.9 616.1H1286v-241.1h-241.1v241.1zm-321.4-294.7h267.9V830.4H723.4v267.8zM428.7 375V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.3-5.3 8-11.5 8-18.8zm616.1 723.2H1286V830.4h-241.1v267.8zM723.4 776.8h267.9V535.7H723.4v241.1zm321.4 0H1286V535.7h-241.1v241.1zm26.8-401.8V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.4-5.3 8-11.5 8-18.8zm321.5-53.6v1071.4c0 29-10.6 54.1-31.8 75.3-21.2 21.2-46.3 31.8-75.3 31.8H107.2c-29 0-54.1-10.6-75.3-31.8C10.6 1447 0 1421.9 0 1392.9V321.4c0-29 10.6-54.1 31.8-75.3s46.3-31.8 75.3-31.8h107.2v-80.4c0-36.8 13.1-68.4 39.3-94.6S311.4 0 348.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3 26.2 26.2 39.3 57.8 39.3 94.6v80.4h321.5v-80.4c0-36.8 13.1-68.4 39.3-94.6C922.9 13.1 954.4 0 991.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3s39.3 57.8 39.3 94.6v80.4H1286c29 0 54.1 10.6 75.3 31.8 21.2 21.2 31.8 46.3 31.8 75.3z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
}
/******/]);
/***/ },
/* 102 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/{
/***/0:
/***/function () {
function _(module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _airbnbPropTypes = __webpack_require__(4);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _isTouchDevice = __webpack_require__(15);
var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
id: _react.PropTypes.string.isRequired,
placeholder: _react.PropTypes.string, // also used as label
displayValue: _react.PropTypes.string,
inputValue: _react.PropTypes.string,
screenReaderMessage: _react.PropTypes.string,
focused: _react.PropTypes.bool,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
showCaret: _react.PropTypes.bool,
onChange: _react.PropTypes.func,
onFocus: _react.PropTypes.func,
onKeyDownShiftTab: _react.PropTypes.func,
onKeyDownTab: _react.PropTypes.func
});
var defaultProps = {
placeholder: 'Select Date',
displayValue: '',
inputValue: '',
screenReaderMessage: '',
focused: false,
disabled: false,
required: false,
showCaret: false,
onChange: function () {
function onChange() {}
return onChange;
}(),
onFocus: function () {
function onFocus() {}
return onFocus;
}(),
onKeyDownShiftTab: function () {
function onKeyDownShiftTab() {}
return onKeyDownShiftTab;
}(),
onKeyDownTab: function () {
function onKeyDownTab() {}
return onKeyDownTab;
}()
};
var DateInput = function (_React$Component) {
_inherits(DateInput, _React$Component);
function DateInput(props) {
_classCallCheck(this, DateInput);
var _this = _possibleConstructorReturn(this, (DateInput.__proto__ || Object.getPrototypeOf(DateInput)).call(this, props));
_this.state = {
dateString: '',
isTouchDevice: false
};
_this.onChange = _this.onChange.bind(_this);
_this.onKeyDown = _this.onKeyDown.bind(_this);
return _this;
}
_createClass(DateInput, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() });
}
return componentDidMount;
}()
}, {
key: 'componentWillReceiveProps',
value: function () {
function componentWillReceiveProps(nextProps) {
if (!this.props.displayValue && nextProps.displayValue) {
this.setState({
dateString: ''
});
}
}
return componentWillReceiveProps;
}()
}, {
key: 'componentDidUpdate',
value: function () {
function componentDidUpdate(prevProps) {
var focused = this.props.focused;
if (prevProps.focused === focused) return;
if (focused) {
this.inputRef.focus();
this.inputRef.select();
} else {
this.inputRef.blur();
}
}
return componentDidUpdate;
}()
}, {
key: 'onChange',
value: function () {
function onChange(e) {
var dateString = e.target.value;
this.setState({ dateString: dateString });
this.props.onChange(dateString);
}
return onChange;
}()
}, {
key: 'onKeyDown',
value: function () {
function onKeyDown(e) {
var _props = this.props;
var onKeyDownShiftTab = _props.onKeyDownShiftTab;
var onKeyDownTab = _props.onKeyDownTab;
if (e.key === 'Tab') {
if (e.shiftKey) {
onKeyDownShiftTab(e);
} else {
onKeyDownTab(e);
}
}
}
return onKeyDown;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
var _state = this.state;
var dateString = _state.dateString;
var isTouch = _state.isTouchDevice;
var _props2 = this.props;
var id = _props2.id;
var placeholder = _props2.placeholder;
var displayValue = _props2.displayValue;
var inputValue = _props2.inputValue;
var screenReaderMessage = _props2.screenReaderMessage;
var focused = _props2.focused;
var showCaret = _props2.showCaret;
var onFocus = _props2.onFocus;
var disabled = _props2.disabled;
var required = _props2.required;
var displayText = displayValue || inputValue || dateString || placeholder || '';
var value = inputValue || displayValue || dateString || '';
var screenReaderMessageId = 'DateInput__screen-reader-message-' + String(id);
return _react2['default'].createElement('div', {
className: (0, _classnames2['default'])('DateInput', {
'DateInput--with-caret': showCaret && focused,
'DateInput--disabled': disabled
})
}, _react2['default'].createElement('input', {
'aria-label': placeholder,
className: 'DateInput__input needsclick',
type: 'text',
id: id,
name: id,
ref: function () {
function ref(_ref) {
_this2.inputRef = _ref;
}
return ref;
}(),
value: value,
onChange: this.onChange,
onKeyDown: this.onKeyDown,
onFocus: onFocus,
placeholder: placeholder,
autoComplete: 'off',
disabled: disabled,
readOnly: isTouch,
required: required,
'aria-describedby': screenReaderMessage && screenReaderMessageId
}), screenReaderMessage && _react2['default'].createElement('p', { id: screenReaderMessageId, className: 'screen-reader-only' }, screenReaderMessage), _react2['default'].createElement('div', {
className: (0, _classnames2['default'])('DateInput__display-text', {
'DateInput__display-text--has-input': !!value,
'DateInput__display-text--focused': focused,
'DateInput__display-text--disabled': disabled
})
}, displayText));
}
return render;
}()
}]);
return DateInput;
}(_react2['default'].Component);
exports['default'] = DateInput;
DateInput.propTypes = propTypes;
DateInput.defaultProps = defaultProps;
/***/
}
return _;
}(),
/***/1:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(2);
/***/
}
return _;
}(),
/***/4:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(6);
/***/
}
return _;
}(),
/***/6:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(82);
/***/
}
return _;
}(),
/***/15:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(103);
/***/
}
return _;
}()
/******/ });
/***/ },
/* 103 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isTouchDevice;
function isTouchDevice() {
return !!(typeof window !== 'undefined' && 'ontouchstart' in window) || !!(typeof navigator !== 'undefined' && navigator.maxTouchPoints);
}
/***/ },
/* 104 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = toMomentObject;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _constants = __webpack_require__(83);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function toMomentObject(dateString, customFormat) {
var dateFormats = customFormat ? [customFormat, _constants.DISPLAY_FORMAT, _constants.ISO_FORMAT] : [_constants.DISPLAY_FORMAT, _constants.ISO_FORMAT];
var date = (0, _moment2['default'])(dateString, dateFormats, true);
return date.isValid() ? date.hour(12) : null;
}
/***/ },
/* 105 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = toLocalizedDateString;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _toMomentObject = __webpack_require__(104);
var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
var _constants = __webpack_require__(83);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function toLocalizedDateString(date, currentFormat) {
var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
if (!dateObj) return null;
return dateObj.format(_constants.DISPLAY_FORMAT);
}
/***/ },
/* 106 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = toISODateString;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _toMomentObject = __webpack_require__(104);
var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
var _constants = __webpack_require__(83);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function toISODateString(date, currentFormat) {
var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
if (!dateObj) return null;
return dateObj.format(_constants.ISO_FORMAT);
}
/***/ },
/* 107 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isInclusivelyBeforeDay;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _isSameDay = __webpack_require__(96);
var _isSameDay2 = _interopRequireDefault(_isSameDay);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function isInclusivelyBeforeDay(a, b) {
if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
return a.isBefore(b) || (0, _isSameDay2['default'])(a, b);
}
/***/ },
/* 108 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactMomentProptypes = __webpack_require__(3);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _airbnbPropTypes = __webpack_require__(4);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _isTouchDevice = __webpack_require__(15);
var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
var _isInclusivelyAfterDay = __webpack_require__(21);
var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
var _isNextDay = __webpack_require__(40);
var _isNextDay2 = _interopRequireDefault(_isNextDay);
var _isSameDay = __webpack_require__(41);
var _isSameDay2 = _interopRequireDefault(_isSameDay);
var _FocusedInputShape = __webpack_require__(42);
var _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);
var _ScrollableOrientationShape = __webpack_require__(9);
var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
var _constants = __webpack_require__(10);
var _DayPicker = __webpack_require__(43);
var _DayPicker2 = _interopRequireDefault(_DayPicker);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
startDate: _reactMomentProptypes2['default'].momentObj,
endDate: _reactMomentProptypes2['default'].momentObj,
onDatesChange: _react.PropTypes.func,
focusedInput: _FocusedInputShape2['default'],
onFocusChange: _react.PropTypes.func,
keepOpenOnDateSelect: _react.PropTypes.bool,
minimumNights: _react.PropTypes.number,
isOutsideRange: _react.PropTypes.func,
isDayBlocked: _react.PropTypes.func,
isDayHighlighted: _react.PropTypes.func,
// DayPicker props
enableOutsideDays: _react.PropTypes.bool,
numberOfMonths: _react.PropTypes.number,
orientation: _ScrollableOrientationShape2['default'],
withPortal: _react.PropTypes.bool,
initialVisibleMonth: _react.PropTypes.func,
navPrev: _react.PropTypes.node,
navNext: _react.PropTypes.node,
onPrevMonthClick: _react.PropTypes.func,
onNextMonthClick: _react.PropTypes.func,
onOutsideClick: _react.PropTypes.func,
renderDay: _react.PropTypes.func,
renderCalendarInfo: _react.PropTypes.func,
// i18n
monthFormat: _react.PropTypes.string,
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases))
});
var defaultProps = {
startDate: undefined, // TODO: use null
endDate: undefined, // TODO: use null
onDatesChange: function () {
function onDatesChange() {}
return onDatesChange;
}(),
focusedInput: null,
onFocusChange: function () {
function onFocusChange() {}
return onFocusChange;
}(),
keepOpenOnDateSelect: false,
minimumNights: 1,
isOutsideRange: function () {
function isOutsideRange() {}
return isOutsideRange;
}(),
isDayBlocked: function () {
function isDayBlocked() {}
return isDayBlocked;
}(),
isDayHighlighted: function () {
function isDayHighlighted() {}
return isDayHighlighted;
}(),
// DayPicker props
enableOutsideDays: false,
numberOfMonths: 1,
orientation: _constants.HORIZONTAL_ORIENTATION,
withPortal: false,
initialVisibleMonth: function () {
function initialVisibleMonth() {
return (0, _moment2['default'])();
}
return initialVisibleMonth;
}(),
navPrev: null,
navNext: null,
onPrevMonthClick: function () {
function onPrevMonthClick() {}
return onPrevMonthClick;
}(),
onNextMonthClick: function () {
function onNextMonthClick() {}
return onNextMonthClick;
}(),
onOutsideClick: function () {
function onOutsideClick() {}
return onOutsideClick;
}(),
renderDay: null,
renderCalendarInfo: null,
// i18n
monthFormat: 'MMMM YYYY',
phrases: _defaultPhrases.DayPickerPhrases
};
var DayPickerRangeController = function (_React$Component) {
_inherits(DayPickerRangeController, _React$Component);
function DayPickerRangeController(props) {
_classCallCheck(this, DayPickerRangeController);
var _this = _possibleConstructorReturn(this, (DayPickerRangeController.__proto__ || Object.getPrototypeOf(DayPickerRangeController)).call(this, props));
_this.state = {
hoverDate: null
};
_this.isTouchDevice = (0, _isTouchDevice2['default'])();
_this.today = (0, _moment2['default'])();
_this.onDayClick = _this.onDayClick.bind(_this);
_this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);
_this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);
return _this;
}
_createClass(DayPickerRangeController, [{
key: 'componentWillUpdate',
value: function () {
function componentWillUpdate() {
this.today = (0, _moment2['default'])();
}
return componentWillUpdate;
}()
}, {
key: 'onDayClick',
value: function () {
function onDayClick(day, e) {
var _props = this.props;
var keepOpenOnDateSelect = _props.keepOpenOnDateSelect;
var minimumNights = _props.minimumNights;
if (e) e.preventDefault();
if (this.isBlocked(day)) return;
var focusedInput = this.props.focusedInput;
var _props2 = this.props;
var startDate = _props2.startDate;
var endDate = _props2.endDate;
if (focusedInput === _constants.START_DATE) {
this.props.onFocusChange(_constants.END_DATE);
startDate = day;
if ((0, _isInclusivelyAfterDay2['default'])(day, endDate)) {
endDate = null;
}
} else if (focusedInput === _constants.END_DATE) {
var firstAllowedEndDate = startDate && startDate.clone().add(minimumNights, 'days');
if (!startDate) {
endDate = day;
this.props.onFocusChange(_constants.START_DATE);
} else if ((0, _isInclusivelyAfterDay2['default'])(day, firstAllowedEndDate)) {
endDate = day;
if (!keepOpenOnDateSelect) this.props.onFocusChange(null);
} else {
startDate = day;
endDate = null;
}
}
this.props.onDatesChange({ startDate: startDate, endDate: endDate });
}
return onDayClick;
}()
}, {
key: 'onDayMouseEnter',
value: function () {
function onDayMouseEnter(day) {
if (this.isTouchDevice) return;
this.setState({
hoverDate: day
});
}
return onDayMouseEnter;
}()
}, {
key: 'onDayMouseLeave',
value: function () {
function onDayMouseLeave() {
if (this.isTouchDevice) return;
this.setState({
hoverDate: null
});
}
return onDayMouseLeave;
}()
}, {
key: 'doesNotMeetMinimumNights',
value: function () {
function doesNotMeetMinimumNights(day) {
var _props3 = this.props;
var startDate = _props3.startDate;
var isOutsideRange = _props3.isOutsideRange;
var focusedInput = _props3.focusedInput;
var minimumNights = _props3.minimumNights;
if (focusedInput !== _constants.END_DATE) return false;
if (startDate) {
var dayDiff = day.diff(startDate.clone().startOf('day').hour(12), 'days');
return dayDiff < minimumNights && dayDiff >= 0;
}
return isOutsideRange((0, _moment2['default'])(day).subtract(minimumNights, 'days'));
}
return doesNotMeetMinimumNights;
}()
}, {
key: 'isDayAfterHoveredStartDate',
value: function () {
function isDayAfterHoveredStartDate(day) {
var _props4 = this.props;
var startDate = _props4.startDate;
var endDate = _props4.endDate;
var minimumNights = _props4.minimumNights;
var hoverDate = this.state.hoverDate;
return !!startDate && !endDate && !this.isBlocked(day) && (0, _isNextDay2['default'])(hoverDate, day) && minimumNights > 0 && (0, _isSameDay2['default'])(hoverDate, startDate);
}
return isDayAfterHoveredStartDate;
}()
}, {
key: 'isEndDate',
value: function () {
function isEndDate(day) {
return (0, _isSameDay2['default'])(day, this.props.endDate);
}
return isEndDate;
}()
}, {
key: 'isHovered',
value: function () {
function isHovered(day) {
return (0, _isSameDay2['default'])(day, this.state.hoverDate);
}
return isHovered;
}()
}, {
key: 'isInHoveredSpan',
value: function () {
function isInHoveredSpan(day) {
var _props5 = this.props;
var startDate = _props5.startDate;
var endDate = _props5.endDate;
var hoverDate = this.state.hoverDate;
var isForwardRange = !!startDate && !endDate && (day.isBetween(startDate, hoverDate) || (0, _isSameDay2['default'])(hoverDate, day));
var isBackwardRange = !!endDate && !startDate && (day.isBetween(hoverDate, endDate) || (0, _isSameDay2['default'])(hoverDate, day));
var isValidDayHovered = hoverDate && !this.isBlocked(hoverDate);
return (isForwardRange || isBackwardRange) && isValidDayHovered;
}
return isInHoveredSpan;
}()
}, {
key: 'isInSelectedSpan',
value: function () {
function isInSelectedSpan(day) {
var _props6 = this.props;
var startDate = _props6.startDate;
var endDate = _props6.endDate;
return day.isBetween(startDate, endDate);
}
return isInSelectedSpan;
}()
}, {
key: 'isLastInRange',
value: function () {
function isLastInRange(day) {
return this.isInSelectedSpan(day) && (0, _isNextDay2['default'])(day, this.props.endDate);
}
return isLastInRange;
}()
}, {
key: 'isStartDate',
value: function () {
function isStartDate(day) {
return (0, _isSameDay2['default'])(day, this.props.startDate);
}
return isStartDate;
}()
}, {
key: 'isBlocked',
value: function () {
function isBlocked(day) {
var _props7 = this.props;
var isDayBlocked = _props7.isDayBlocked;
var isOutsideRange = _props7.isOutsideRange;
return isDayBlocked(day) || isOutsideRange(day) || this.doesNotMeetMinimumNights(day);
}
return isBlocked;
}()
}, {
key: 'isToday',
value: function () {
function isToday(day) {
return (0, _isSameDay2['default'])(day, this.today);
}
return isToday;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
var _props8 = this.props;
var isDayBlocked = _props8.isDayBlocked;
var isDayHighlighted = _props8.isDayHighlighted;
var isOutsideRange = _props8.isOutsideRange;
var numberOfMonths = _props8.numberOfMonths;
var orientation = _props8.orientation;
var monthFormat = _props8.monthFormat;
var navPrev = _props8.navPrev;
var navNext = _props8.navNext;
var onOutsideClick = _props8.onOutsideClick;
var onPrevMonthClick = _props8.onPrevMonthClick;
var onNextMonthClick = _props8.onNextMonthClick;
var withPortal = _props8.withPortal;
var enableOutsideDays = _props8.enableOutsideDays;
var initialVisibleMonth = _props8.initialVisibleMonth;
var focusedInput = _props8.focusedInput;
var renderDay = _props8.renderDay;
var renderCalendarInfo = _props8.renderCalendarInfo;
var modifiers = {
today: function () {
function today(day) {
return _this2.isToday(day);
}
return today;
}(),
blocked: function () {
function blocked(day) {
return _this2.isBlocked(day);
}
return blocked;
}(),
'blocked-calendar': function () {
function blockedCalendar(day) {
return isDayBlocked(day);
}
return blockedCalendar;
}(),
'blocked-out-of-range': function () {
function blockedOutOfRange(day) {
return isOutsideRange(day);
}
return blockedOutOfRange;
}(),
'blocked-minimum-nights': function () {
function blockedMinimumNights(day) {
return _this2.doesNotMeetMinimumNights(day);
}
return blockedMinimumNights;
}(),
'highlighted-calendar': function () {
function highlightedCalendar(day) {
return isDayHighlighted(day);
}
return highlightedCalendar;
}(),
valid: function () {
function valid(day) {
return !_this2.isBlocked(day);
}
return valid;
}(),
// before anything has been set or after both are set
hovered: function () {
function hovered(day) {
return _this2.isHovered(day);
}
return hovered;
}(),
// while start date has been set, but end date has not been
'hovered-span': function () {
function hoveredSpan(day) {
return _this2.isInHoveredSpan(day);
}
return hoveredSpan;
}(),
'after-hovered-start': function () {
function afterHoveredStart(day) {
return _this2.isDayAfterHoveredStartDate(day);
}
return afterHoveredStart;
}(),
'last-in-range': function () {
function lastInRange(day) {
return _this2.isLastInRange(day);
}
return lastInRange;
}(),
// once a start date and end date have been set
'selected-start': function () {
function selectedStart(day) {
return _this2.isStartDate(day);
}
return selectedStart;
}(),
'selected-end': function () {
function selectedEnd(day) {
return _this2.isEndDate(day);
}
return selectedEnd;
}(),
'selected-span': function () {
function selectedSpan(day) {
return _this2.isInSelectedSpan(day);
}
return selectedSpan;
}()
};
return _react2['default'].createElement(_DayPicker2['default'], {
ref: function () {
function ref(_ref) {
_this2.dayPicker = _ref;
}
return ref;
}(),
orientation: orientation,
enableOutsideDays: enableOutsideDays,
modifiers: modifiers,
numberOfMonths: numberOfMonths,
onDayClick: this.onDayClick,
onDayMouseEnter: this.onDayMouseEnter,
onDayMouseLeave: this.onDayMouseLeave,
onPrevMonthClick: onPrevMonthClick,
onNextMonthClick: onNextMonthClick,
monthFormat: monthFormat,
withPortal: withPortal,
hidden: !focusedInput,
initialVisibleMonth: initialVisibleMonth,
onOutsideClick: onOutsideClick,
navPrev: navPrev,
navNext: navNext,
renderDay: renderDay,
renderCalendarInfo: renderCalendarInfo
});
}
return render;
}()
}]);
return DayPickerRangeController;
}(_react2['default'].Component);
exports['default'] = DayPickerRangeController;
DayPickerRangeController.propTypes = propTypes;
DayPickerRangeController.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,
/* 2 */
/* 3 */
/***/function (module, exports) {
module.exports = __webpack_require__(98);
/***/
},
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},,,,
/* 6 */
/* 7 */
/* 8 */
/* 9 */
/***/function (module, exports) {
module.exports = __webpack_require__(109);
/***/
},
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},,,,,
/* 11 */
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/***/function (module, exports) {
module.exports = __webpack_require__(103);
/***/
},,,
/* 16 */
/* 17 */
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},,,
/* 19 */
/* 20 */
/* 21 */
/***/function (module, exports) {
module.exports = __webpack_require__(95);
/***/
},,,,,
/* 22 */
/* 23 */
/* 24 */
/* 25 */
/* 26 */
/***/function (module, exports) {
module.exports = __webpack_require__(100);
/***/
},,,,,,,,,,,,,,
/* 27 */
/* 28 */
/* 29 */
/* 30 */
/* 31 */
/* 32 */
/* 33 */
/* 34 */
/* 35 */
/* 36 */
/* 37 */
/* 38 */
/* 39 */
/* 40 */
/***/function (module, exports) {
module.exports = __webpack_require__(110);
/***/
},
/* 41 */
/***/function (module, exports) {
module.exports = __webpack_require__(96);
/***/
},
/* 42 */
/***/function (module, exports) {
module.exports = __webpack_require__(111);
/***/
},
/* 43 */
/***/function (module, exports) {
module.exports = __webpack_require__(112);
/***/
}
/******/]);
/***/ },
/* 109 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _constants = __webpack_require__(83);
exports['default'] = _react.PropTypes.oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION, _constants.VERTICAL_SCROLLABLE]);
/***/ },
/* 110 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isNextDay;
var _moment = __webpack_require__(81);
var _moment2 = _interopRequireDefault(_moment);
var _isSameDay = __webpack_require__(96);
var _isSameDay2 = _interopRequireDefault(_isSameDay);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function isNextDay(a, b) {
if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
var nextDay = (0, _moment2['default'])(a).add(1, 'day');
return (0, _isSameDay2['default'])(nextDay, b);
}
/***/ },
/* 111 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _constants = __webpack_require__(83);
exports['default'] = _react.PropTypes.oneOf([_constants.START_DATE, _constants.END_DATE]);
/***/ },
/* 112 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
exports.calculateDimension = calculateDimension;
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactAddonsShallowCompare = __webpack_require__(2);
var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
var _reactDom = __webpack_require__(16);
var _reactDom2 = _interopRequireDefault(_reactDom);
var _airbnbPropTypes = __webpack_require__(4);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _OutsideClickHandler = __webpack_require__(19);
var _OutsideClickHandler2 = _interopRequireDefault(_OutsideClickHandler);
var _CalendarMonthGrid = __webpack_require__(35);
var _CalendarMonthGrid2 = _interopRequireDefault(_CalendarMonthGrid);
var _DayPickerNavigation = __webpack_require__(36);
var _DayPickerNavigation2 = _interopRequireDefault(_DayPickerNavigation);
var _getTransformStyles = __webpack_require__(14);
var _getTransformStyles2 = _interopRequireDefault(_getTransformStyles);
var _ScrollableOrientationShape = __webpack_require__(9);
var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var CALENDAR_MONTH_WIDTH = 300;
var DAY_PICKER_PADDING = 9;
var MONTH_PADDING = 23;
var PREV_TRANSITION = 'prev';
var NEXT_TRANSITION = 'next';
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
// calendar presentation props
enableOutsideDays: _react.PropTypes.bool,
numberOfMonths: _react.PropTypes.number,
orientation: _ScrollableOrientationShape2['default'],
withPortal: _react.PropTypes.bool,
onOutsideClick: _react.PropTypes.func,
hidden: _react.PropTypes.bool,
initialVisibleMonth: _react.PropTypes.func,
renderCalendarInfo: _react.PropTypes.func,
// navigation props
navPrev: _react.PropTypes.node,
navNext: _react.PropTypes.node,
onPrevMonthClick: _react.PropTypes.func,
onNextMonthClick: _react.PropTypes.func,
// day props
modifiers: _react.PropTypes.object,
renderDay: _react.PropTypes.func,
onDayClick: _react.PropTypes.func,
onDayMouseEnter: _react.PropTypes.func,
onDayMouseLeave: _react.PropTypes.func,
// internationalization
monthFormat: _react.PropTypes.string,
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases))
});
var defaultProps = {
// calendar presentation props
enableOutsideDays: false,
numberOfMonths: 2,
orientation: _constants.HORIZONTAL_ORIENTATION,
withPortal: false,
onOutsideClick: function () {
function onOutsideClick() {}
return onOutsideClick;
}(),
hidden: false,
initialVisibleMonth: function () {
function initialVisibleMonth() {
return (0, _moment2['default'])();
}
return initialVisibleMonth;
}(),
renderCalendarInfo: null,
// navigation props
navPrev: null,
navNext: null,
onPrevMonthClick: function () {
function onPrevMonthClick() {}
return onPrevMonthClick;
}(),
onNextMonthClick: function () {
function onNextMonthClick() {}
return onNextMonthClick;
}(),
// day props
modifiers: {},
renderDay: null,
onDayClick: function () {
function onDayClick() {}
return onDayClick;
}(),
onDayMouseEnter: function () {
function onDayMouseEnter() {}
return onDayMouseEnter;
}(),
onDayMouseLeave: function () {
function onDayMouseLeave() {}
return onDayMouseLeave;
}(),
// internationalization
monthFormat: 'MMMM YYYY',
phrases: _defaultPhrases.DayPickerPhrases
};
function applyTransformStyles(el, transform) {
var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
var transformStyles = (0, _getTransformStyles2['default'])(transform);
transformStyles.opacity = opacity;
Object.keys(transformStyles).forEach(function (styleKey) {
// eslint-disable-next-line no-param-reassign
el.style[styleKey] = transformStyles[styleKey];
});
}
function calculateDimension(el, axis) {
var borderBox = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var withMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
if (!el) {
return 0;
}
var axisStart = axis === 'width' ? 'Left' : 'Top';
var axisEnd = axis === 'width' ? 'Right' : 'Bottom';
// Only read styles if we need to
var style = !borderBox || withMargin ? window.getComputedStyle(el) : {};
// Offset includes border and padding
var size = axis === 'width' ? el.offsetWidth : el.offsetHeight;
// Get the inner size
if (!borderBox) {
size -= parseFloat(style['padding' + axisStart]) + parseFloat(style['padding' + axisEnd]) + parseFloat(style['border' + axisStart + 'Width']) + parseFloat(style['border' + axisEnd + 'Width']);
}
// Apply margin
if (withMargin) {
size += parseFloat(style['margin' + axisStart]) + parseFloat(style['margin' + axisEnd]);
}
return size;
}
function getMonthHeight(el) {
var caption = el.querySelector('.js-CalendarMonth__caption');
var grid = el.querySelector('.js-CalendarMonth__grid');
// Need to separate out table children for FF
// Add an additional +1 for the border
return calculateDimension(caption, 'height', true, true) + calculateDimension(grid, 'height') + 1;
}
var DayPicker = function (_React$Component) {
_inherits(DayPicker, _React$Component);
function DayPicker(props) {
_classCallCheck(this, DayPicker);
var _this = _possibleConstructorReturn(this, (DayPicker.__proto__ || Object.getPrototypeOf(DayPicker)).call(this, props));
_this.hasSetInitialVisibleMonth = !props.hidden;
_this.state = {
currentMonth: props.hidden ? (0, _moment2['default'])() : props.initialVisibleMonth(),
monthTransition: null,
translationValue: 0,
scrollableMonthMultiple: 1
};
_this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);
_this.onNextMonthClick = _this.onNextMonthClick.bind(_this);
_this.multiplyScrollableMonths = _this.multiplyScrollableMonths.bind(_this);
_this.updateStateAfterMonthTransition = _this.updateStateAfterMonthTransition.bind(_this);
return _this;
}
_createClass(DayPicker, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
if (this.isHorizontal()) {
this.adjustDayPickerHeight();
this.initializeDayPickerWidth();
}
}
return componentDidMount;
}()
}, {
key: 'componentWillReceiveProps',
value: function () {
function componentWillReceiveProps(nextProps) {
if (!nextProps.hidden) {
if (!this.hasSetInitialVisibleMonth) {
this.hasSetInitialVisibleMonth = true;
this.setState({
currentMonth: nextProps.initialVisibleMonth()
});
}
if (!this.dayPickerWidth && this.isHorizontal()) {
this.initializeDayPickerWidth();
this.adjustDayPickerHeight();
}
}
}
return componentWillReceiveProps;
}()
}, {
key: 'shouldComponentUpdate',
value: function () {
function shouldComponentUpdate(nextProps, nextState) {
return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
}
return shouldComponentUpdate;
}()
}, {
key: 'componentDidUpdate',
value: function () {
function componentDidUpdate(prevProps, prevState) {
if (this.state.monthTransition || !this.state.currentMonth.isSame(prevState.currentMonth)) {
if (this.isHorizontal()) {
this.adjustDayPickerHeight();
}
}
}
return componentDidUpdate;
}()
}, {
key: 'onPrevMonthClick',
value: function () {
function onPrevMonthClick(e) {
if (e) e.preventDefault();
if (this.props.onPrevMonthClick) {
this.props.onPrevMonthClick(e);
}
var translationValue = this.isVertical() ? this.getMonthHeightByIndex(0) : this.dayPickerWidth;
// The first CalendarMonth is always positioned absolute at top: 0 or left: 0
// so we need to transform it to the appropriate location before the animation.
// This behavior is because we would otherwise need a double-render in order to
// adjust the container position once we had the height the first calendar
// (ie first draw all the calendar, then in a second render, use the first calendar's
// height to position the container). Variable calendar heights, amirite? <3 Maja
this.translateFirstDayPickerForAnimation(translationValue);
this.setState({
monthTransition: PREV_TRANSITION,
translationValue: translationValue
});
}
return onPrevMonthClick;
}()
}, {
key: 'onNextMonthClick',
value: function () {
function onNextMonthClick(e) {
if (e) e.preventDefault();
if (this.props.onNextMonthClick) {
this.props.onNextMonthClick(e);
}
var translationValue = this.isVertical() ? -this.getMonthHeightByIndex(1) : -this.dayPickerWidth;
this.setState({
monthTransition: NEXT_TRANSITION,
translationValue: translationValue
});
}
return onNextMonthClick;
}()
}, {
key: 'getMonthHeightByIndex',
value: function () {
function getMonthHeightByIndex(i) {
return getMonthHeight(this.transitionContainer.querySelectorAll('.CalendarMonth')[i]);
}
return getMonthHeightByIndex;
}()
}, {
key: 'multiplyScrollableMonths',
value: function () {
function multiplyScrollableMonths(e) {
if (e) e.preventDefault();
this.setState({
scrollableMonthMultiple: this.state.scrollableMonthMultiple + 1
});
}
return multiplyScrollableMonths;
}()
}, {
key: 'isHorizontal',
value: function () {
function isHorizontal() {
return this.props.orientation === _constants.HORIZONTAL_ORIENTATION;
}
return isHorizontal;
}()
}, {
key: 'isVertical',
value: function () {
function isVertical() {
return this.props.orientation === _constants.VERTICAL_ORIENTATION || this.props.orientation === _constants.VERTICAL_SCROLLABLE;
}
return isVertical;
}()
}, {
key: 'initializeDayPickerWidth',
value: function () {
function initializeDayPickerWidth() {
this.dayPickerWidth = calculateDimension(
// eslint-disable-next-line react/no-find-dom-node
_reactDom2['default'].findDOMNode(this.calendarMonthGrid).querySelector('.CalendarMonth'), 'width', true);
}
return initializeDayPickerWidth;
}()
}, {
key: 'updateStateAfterMonthTransition',
value: function () {
function updateStateAfterMonthTransition() {
var _state = this.state;
var currentMonth = _state.currentMonth;
var monthTransition = _state.monthTransition;
var newMonth = currentMonth;
if (monthTransition === PREV_TRANSITION) {
newMonth = currentMonth.clone().subtract(1, 'month');
} else if (monthTransition === NEXT_TRANSITION) {
newMonth = currentMonth.clone().add(1, 'month');
}
// clear the previous transforms
applyTransformStyles(
// eslint-disable-next-line react/no-find-dom-node
_reactDom2['default'].findDOMNode(this.calendarMonthGrid).querySelector('.CalendarMonth'), 'none');
this.setState({
currentMonth: newMonth,
monthTransition: null,
translationValue: 0
});
}
return updateStateAfterMonthTransition;
}()
}, {
key: 'adjustDayPickerHeight',
value: function () {
function adjustDayPickerHeight() {
var heights = [];
Array.prototype.forEach.call(this.transitionContainer.querySelectorAll('.CalendarMonth'), function (el) {
if (el.getAttribute('data-visible') === 'true') {
heights.push(getMonthHeight(el));
}
});
var newMonthHeight = Math.max.apply(Math, heights) + MONTH_PADDING;
if (newMonthHeight !== calculateDimension(this.transitionContainer, 'height')) {
this.monthHeight = newMonthHeight;
this.transitionContainer.style.height = String(newMonthHeight) + 'px';
}
}
return adjustDayPickerHeight;
}()
}, {
key: 'translateFirstDayPickerForAnimation',
value: function () {
function translateFirstDayPickerForAnimation(translationValue) {
var transformType = this.isVertical() ? 'translateY' : 'translateX';
var transformValue = transformType + '(-' + String(translationValue) + 'px)';
applyTransformStyles(this.transitionContainer.querySelector('.CalendarMonth'), transformValue, 1);
}
return translateFirstDayPickerForAnimation;
}()
}, {
key: 'renderNavigation',
value: function () {
function renderNavigation() {
var _props = this.props;
var navPrev = _props.navPrev;
var navNext = _props.navNext;
var orientation = _props.orientation;
var onNextMonthClick = void 0;
if (orientation === _constants.VERTICAL_SCROLLABLE) {
onNextMonthClick = this.multiplyScrollableMonths;
} else {
onNextMonthClick = this.onNextMonthClick;
}
return _react2['default'].createElement(_DayPickerNavigation2['default'], {
onPrevMonthClick: this.onPrevMonthClick,
onNextMonthClick: onNextMonthClick,
navPrev: navPrev,
navNext: navNext,
orientation: orientation
});
}
return renderNavigation;
}()
}, {
key: 'renderWeekHeader',
value: function () {
function renderWeekHeader(index) {
var horizontalStyle = {
left: index * CALENDAR_MONTH_WIDTH
};
var style = this.isHorizontal() ? horizontalStyle : {};
var header = [];
for (var i = 0; i < 7; i += 1) {
header.push(_react2['default'].createElement('li', { key: i }, _react2['default'].createElement('small', null, (0, _moment2['default'])().weekday(i).format('dd'))));
}
return _react2['default'].createElement('div', {
className: 'DayPicker__week-header',
key: 'week-' + String(index),
style: style
}, _react2['default'].createElement('ul', null, header));
}
return renderWeekHeader;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
var _state2 = this.state;
var currentMonth = _state2.currentMonth;
var monthTransition = _state2.monthTransition;
var translationValue = _state2.translationValue;
var scrollableMonthMultiple = _state2.scrollableMonthMultiple;
var _props2 = this.props;
var enableOutsideDays = _props2.enableOutsideDays;
var numberOfMonths = _props2.numberOfMonths;
var orientation = _props2.orientation;
var modifiers = _props2.modifiers;
var withPortal = _props2.withPortal;
var onDayClick = _props2.onDayClick;
var onDayMouseEnter = _props2.onDayMouseEnter;
var onDayMouseLeave = _props2.onDayMouseLeave;
var renderDay = _props2.renderDay;
var renderCalendarInfo = _props2.renderCalendarInfo;
var onOutsideClick = _props2.onOutsideClick;
var monthFormat = _props2.monthFormat;
var numOfWeekHeaders = this.isVertical() ? 1 : numberOfMonths;
var weekHeaders = [];
for (var i = 0; i < numOfWeekHeaders; i += 1) {
weekHeaders.push(this.renderWeekHeader(i));
}
var firstVisibleMonthIndex = 1;
if (monthTransition === PREV_TRANSITION) {
firstVisibleMonthIndex -= 1;
} else if (monthTransition === NEXT_TRANSITION) {
firstVisibleMonthIndex += 1;
}
var verticalScrollable = this.props.orientation === _constants.VERTICAL_SCROLLABLE;
var dayPickerClassNames = (0, _classnames2['default'])('DayPicker', {
'DayPicker--horizontal': this.isHorizontal(),
'DayPicker--vertical': this.isVertical(),
'DayPicker--vertical-scrollable': verticalScrollable,
'DayPicker--portal': withPortal
});
var transitionContainerClasses = (0, _classnames2['default'])('transition-container', {
'transition-container--horizontal': this.isHorizontal(),
'transition-container--vertical': this.isVertical()
});
var horizontalWidth = CALENDAR_MONTH_WIDTH * numberOfMonths + 2 * DAY_PICKER_PADDING;
// this is a kind of made-up value that generally looks good. we'll
// probably want to let the user set this explicitly.
var verticalHeight = 1.75 * CALENDAR_MONTH_WIDTH;
var dayPickerStyle = {
width: this.isHorizontal() && horizontalWidth,
// These values are to center the datepicker (approximately) on the page
marginLeft: this.isHorizontal() && withPortal && -horizontalWidth / 2,
marginTop: this.isHorizontal() && withPortal && -CALENDAR_MONTH_WIDTH / 2
};
var transitionContainerStyle = {
width: this.isHorizontal() && horizontalWidth,
height: this.isVertical() && !verticalScrollable && !withPortal && verticalHeight
};
var isCalendarMonthGridAnimating = monthTransition !== null;
var transformType = this.isVertical() ? 'translateY' : 'translateX';
var transformValue = transformType + '(' + String(translationValue) + 'px)';
return _react2['default'].createElement('div', { className: dayPickerClassNames, style: dayPickerStyle }, _react2['default'].createElement(_OutsideClickHandler2['default'], { onOutsideClick: onOutsideClick }, !verticalScrollable && this.renderNavigation(), _react2['default'].createElement('div', { className: 'DayPicker__week-headers' }, weekHeaders), _react2['default'].createElement('div', {
className: transitionContainerClasses,
ref: function () {
function ref(_ref2) {
_this2.transitionContainer = _ref2;
}
return ref;
}(),
style: transitionContainerStyle
}, _react2['default'].createElement(_CalendarMonthGrid2['default'], {
ref: function () {
function ref(_ref) {
_this2.calendarMonthGrid = _ref;
}
return ref;
}(),
transformValue: transformValue,
enableOutsideDays: enableOutsideDays,
firstVisibleMonthIndex: firstVisibleMonthIndex,
initialMonth: currentMonth,
isAnimating: isCalendarMonthGridAnimating,
modifiers: modifiers,
orientation: orientation,
numberOfMonths: numberOfMonths * scrollableMonthMultiple,
onDayClick: onDayClick,
onDayMouseEnter: onDayMouseEnter,
onDayMouseLeave: onDayMouseLeave,
renderDay: renderDay,
onMonthTransitionEnd: this.updateStateAfterMonthTransition,
monthFormat: monthFormat
}), verticalScrollable && this.renderNavigation()), renderCalendarInfo && renderCalendarInfo()));
}
return render;
}()
}]);
return DayPicker;
}(_react2['default'].Component);
exports['default'] = DayPicker;
DayPicker.propTypes = propTypes;
DayPicker.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},
/* 2 */
/***/function (module, exports) {
module.exports = __webpack_require__(3);
/***/
},,
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,
/* 7 */
/* 8 */
/* 9 */
/***/function (module, exports) {
module.exports = __webpack_require__(109);
/***/
},
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},,,,
/* 11 */
/* 12 */
/* 13 */
/* 14 */
/***/function (module, exports) {
module.exports = __webpack_require__(113);
/***/
},,
/* 15 */
/* 16 */
/***/function (module, exports) {
module.exports = __webpack_require__(90);
/***/
},,
/* 17 */
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},
/* 19 */
/***/function (module, exports) {
module.exports = __webpack_require__(93);
/***/
},,,,,,,
/* 20 */
/* 21 */
/* 22 */
/* 23 */
/* 24 */
/* 25 */
/* 26 */
/***/function (module, exports) {
module.exports = __webpack_require__(100);
/***/
},,,,,,,,,
/* 27 */
/* 28 */
/* 29 */
/* 30 */
/* 31 */
/* 32 */
/* 33 */
/* 34 */
/* 35 */
/***/function (module, exports) {
module.exports = __webpack_require__(114);
/***/
},
/* 36 */
/***/function (module, exports) {
module.exports = __webpack_require__(119);
/***/
}
/******/]);
/***/ },
/* 113 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getTransformStyles;
function getTransformStyles(transformValue) {
return {
transform: transformValue,
msTransform: transformValue,
MozTransform: transformValue,
WebkitTransform: transformValue
};
}
/***/ },
/* 114 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactAddonsShallowCompare = __webpack_require__(2);
var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
var _reactMomentProptypes = __webpack_require__(3);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _airbnbPropTypes = __webpack_require__(4);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _consolidatedEvents = __webpack_require__(11);
var _CalendarMonth = __webpack_require__(12);
var _CalendarMonth2 = _interopRequireDefault(_CalendarMonth);
var _isTransitionEndSupported = __webpack_require__(13);
var _isTransitionEndSupported2 = _interopRequireDefault(_isTransitionEndSupported);
var _getTransformStyles = __webpack_require__(14);
var _getTransformStyles2 = _interopRequireDefault(_getTransformStyles);
var _ScrollableOrientationShape = __webpack_require__(9);
var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
enableOutsideDays: _react.PropTypes.bool,
firstVisibleMonthIndex: _react.PropTypes.number,
initialMonth: _reactMomentProptypes2['default'].momentObj,
isAnimating: _react.PropTypes.bool,
numberOfMonths: _react.PropTypes.number,
modifiers: _react.PropTypes.object,
orientation: _ScrollableOrientationShape2['default'],
onDayClick: _react.PropTypes.func,
onDayMouseEnter: _react.PropTypes.func,
onDayMouseLeave: _react.PropTypes.func,
onMonthTransitionEnd: _react.PropTypes.func,
renderDay: _react.PropTypes.func,
transformValue: _react.PropTypes.string,
// i18n
monthFormat: _react.PropTypes.string
});
var defaultProps = {
enableOutsideDays: false,
firstVisibleMonthIndex: 0,
initialMonth: (0, _moment2['default'])(),
isAnimating: false,
numberOfMonths: 1,
modifiers: {},
orientation: _constants.HORIZONTAL_ORIENTATION,
onDayClick: function () {
function onDayClick() {}
return onDayClick;
}(),
onDayMouseEnter: function () {
function onDayMouseEnter() {}
return onDayMouseEnter;
}(),
onDayMouseLeave: function () {
function onDayMouseLeave() {}
return onDayMouseLeave;
}(),
onMonthTransitionEnd: function () {
function onMonthTransitionEnd() {}
return onMonthTransitionEnd;
}(),
renderDay: null,
transformValue: 'none',
// i18n
monthFormat: 'MMMM YYYY' };
function getMonths(initialMonth, numberOfMonths) {
var month = initialMonth.clone().subtract(1, 'month');
var months = [];
for (var i = 0; i < numberOfMonths + 2; i += 1) {
months.push(month);
month = month.clone().add(1, 'month');
}
return months;
}
var CalendarMonthGrid = function (_React$Component) {
_inherits(CalendarMonthGrid, _React$Component);
function CalendarMonthGrid(props) {
_classCallCheck(this, CalendarMonthGrid);
var _this = _possibleConstructorReturn(this, (CalendarMonthGrid.__proto__ || Object.getPrototypeOf(CalendarMonthGrid)).call(this, props));
_this.state = {
months: getMonths(props.initialMonth, props.numberOfMonths)
};
_this.isTransitionEndSupported = (0, _isTransitionEndSupported2['default'])();
_this.onTransitionEnd = _this.onTransitionEnd.bind(_this);
return _this;
}
_createClass(CalendarMonthGrid, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
this.eventHandle = (0, _consolidatedEvents.addEventListener)(this.container, 'transitionend', this.onTransitionEnd);
}
return componentDidMount;
}()
}, {
key: 'componentWillReceiveProps',
value: function () {
function componentWillReceiveProps(nextProps) {
var initialMonth = nextProps.initialMonth;
var numberOfMonths = nextProps.numberOfMonths;
var months = this.state.months;
var hasMonthChanged = !this.props.initialMonth.isSame(initialMonth, 'month');
var hasNumberOfMonthsChanged = this.props.numberOfMonths !== numberOfMonths;
var newMonths = months;
if (hasMonthChanged && !hasNumberOfMonthsChanged) {
if (initialMonth.isAfter(this.props.initialMonth)) {
newMonths = months.slice(1);
newMonths.push(months[months.length - 1].clone().add(1, 'month'));
} else {
newMonths = months.slice(0, months.length - 1);
newMonths.unshift(months[0].clone().subtract(1, 'month'));
}
}
if (hasNumberOfMonthsChanged) {
newMonths = getMonths(initialMonth, numberOfMonths);
}
this.setState({
months: newMonths
});
}
return componentWillReceiveProps;
}()
}, {
key: 'shouldComponentUpdate',
value: function () {
function shouldComponentUpdate(nextProps, nextState) {
return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
}
return shouldComponentUpdate;
}()
}, {
key: 'componentDidUpdate',
value: function () {
function componentDidUpdate() {
var _props = this.props;
var isAnimating = _props.isAnimating;
var onMonthTransitionEnd = _props.onMonthTransitionEnd;
// For IE9, immediately call onMonthTransitionEnd instead of
// waiting for the animation to complete
if (!this.isTransitionEndSupported && isAnimating) {
onMonthTransitionEnd();
}
}
return componentDidUpdate;
}()
}, {
key: 'componentWillUnmount',
value: function () {
function componentWillUnmount() {
(0, _consolidatedEvents.removeEventListener)(this.eventHandle);
}
return componentWillUnmount;
}()
}, {
key: 'onTransitionEnd',
value: function () {
function onTransitionEnd() {
this.props.onMonthTransitionEnd();
}
return onTransitionEnd;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
var _props2 = this.props;
var enableOutsideDays = _props2.enableOutsideDays;
var firstVisibleMonthIndex = _props2.firstVisibleMonthIndex;
var isAnimating = _props2.isAnimating;
var modifiers = _props2.modifiers;
var numberOfMonths = _props2.numberOfMonths;
var monthFormat = _props2.monthFormat;
var orientation = _props2.orientation;
var transformValue = _props2.transformValue;
var onDayMouseEnter = _props2.onDayMouseEnter;
var onDayMouseLeave = _props2.onDayMouseLeave;
var onDayClick = _props2.onDayClick;
var renderDay = _props2.renderDay;
var onMonthTransitionEnd = _props2.onMonthTransitionEnd;
var months = this.state.months;
var className = (0, _classnames2['default'])('CalendarMonthGrid', {
'CalendarMonthGrid--horizontal': orientation === _constants.HORIZONTAL_ORIENTATION,
'CalendarMonthGrid--vertical': orientation === _constants.VERTICAL_ORIENTATION,
'CalendarMonthGrid--vertical-scrollable': orientation === _constants.VERTICAL_SCROLLABLE,
'CalendarMonthGrid--animating': isAnimating
});
return _react2['default'].createElement('div', {
ref: function () {
function ref(_ref) {
_this2.container = _ref;
}
return ref;
}(),
className: className,
style: (0, _getTransformStyles2['default'])(transformValue),
onTransitionEnd: onMonthTransitionEnd
}, months.map(function (month, i) {
var isVisible = i >= firstVisibleMonthIndex && i < firstVisibleMonthIndex + numberOfMonths;
return _react2['default'].createElement(_CalendarMonth2['default'], {
key: month.format('YYYY-MM'),
month: month,
isVisible: isVisible,
enableOutsideDays: enableOutsideDays,
modifiers: modifiers,
monthFormat: monthFormat,
orientation: orientation,
onDayMouseEnter: onDayMouseEnter,
onDayMouseLeave: onDayMouseLeave,
onDayClick: onDayClick,
renderDay: renderDay
});
}));
}
return render;
}()
}]);
return CalendarMonthGrid;
}(_react2['default'].Component);
exports['default'] = CalendarMonthGrid;
CalendarMonthGrid.propTypes = propTypes;
CalendarMonthGrid.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},
/* 2 */
/***/function (module, exports) {
module.exports = __webpack_require__(3);
/***/
},
/* 3 */
/***/function (module, exports) {
module.exports = __webpack_require__(98);
/***/
},
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,
/* 7 */
/* 8 */
/* 9 */
/***/function (module, exports) {
module.exports = __webpack_require__(109);
/***/
},
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},
/* 11 */
/***/function (module, exports) {
module.exports = __webpack_require__(84);
/***/
},
/* 12 */
/***/function (module, exports) {
module.exports = __webpack_require__(115);
/***/
},
/* 13 */
/***/function (module, exports) {
module.exports = __webpack_require__(118);
/***/
},
/* 14 */
/***/function (module, exports) {
module.exports = __webpack_require__(113);
/***/
}
/******/]);
/***/ },
/* 115 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactAddonsShallowCompare = __webpack_require__(2);
var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
var _reactMomentProptypes = __webpack_require__(3);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _airbnbPropTypes = __webpack_require__(4);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _CalendarDay = __webpack_require__(7);
var _CalendarDay2 = _interopRequireDefault(_CalendarDay);
var _getCalendarMonthWeeks = __webpack_require__(8);
var _getCalendarMonthWeeks2 = _interopRequireDefault(_getCalendarMonthWeeks);
var _ScrollableOrientationShape = __webpack_require__(9);
var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
} /* eslint react/no-array-index-key: 0 */
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
month: _reactMomentProptypes2['default'].momentObj,
isVisible: _react.PropTypes.bool,
enableOutsideDays: _react.PropTypes.bool,
modifiers: _react.PropTypes.object,
orientation: _ScrollableOrientationShape2['default'],
onDayClick: _react.PropTypes.func,
onDayMouseEnter: _react.PropTypes.func,
onDayMouseLeave: _react.PropTypes.func,
renderDay: _react.PropTypes.func,
// i18n
monthFormat: _react.PropTypes.string
});
var defaultProps = {
month: (0, _moment2['default'])(),
isVisible: true,
enableOutsideDays: false,
modifiers: {},
orientation: _constants.HORIZONTAL_ORIENTATION,
onDayClick: function () {
function onDayClick() {}
return onDayClick;
}(),
onDayMouseEnter: function () {
function onDayMouseEnter() {}
return onDayMouseEnter;
}(),
onDayMouseLeave: function () {
function onDayMouseLeave() {}
return onDayMouseLeave;
}(),
renderDay: null,
// i18n
monthFormat: 'MMMM YYYY' };
var CalendarMonth = function (_React$Component) {
_inherits(CalendarMonth, _React$Component);
function CalendarMonth(props) {
_classCallCheck(this, CalendarMonth);
var _this = _possibleConstructorReturn(this, (CalendarMonth.__proto__ || Object.getPrototypeOf(CalendarMonth)).call(this, props));
_this.state = {
weeks: (0, _getCalendarMonthWeeks2['default'])(props.month, props.enableOutsideDays)
};
return _this;
}
_createClass(CalendarMonth, [{
key: 'componentWillReceiveProps',
value: function () {
function componentWillReceiveProps(nextProps) {
var month = nextProps.month;
var enableOutsideDays = nextProps.enableOutsideDays;
if (!month.isSame(this.props.month)) {
this.setState({
weeks: (0, _getCalendarMonthWeeks2['default'])(month, enableOutsideDays)
});
}
}
return componentWillReceiveProps;
}()
}, {
key: 'shouldComponentUpdate',
value: function () {
function shouldComponentUpdate(nextProps, nextState) {
return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
}
return shouldComponentUpdate;
}()
}, {
key: 'render',
value: function () {
function render() {
var _props = this.props;
var month = _props.month;
var monthFormat = _props.monthFormat;
var orientation = _props.orientation;
var isVisible = _props.isVisible;
var modifiers = _props.modifiers;
var onDayClick = _props.onDayClick;
var onDayMouseEnter = _props.onDayMouseEnter;
var onDayMouseLeave = _props.onDayMouseLeave;
var renderDay = _props.renderDay;
var weeks = this.state.weeks;
var monthTitle = month.format(monthFormat);
var calendarMonthClasses = (0, _classnames2['default'])('CalendarMonth', {
'CalendarMonth--horizontal': orientation === _constants.HORIZONTAL_ORIENTATION,
'CalendarMonth--vertical': orientation === _constants.VERTICAL_ORIENTATION,
'CalendarMonth--vertical-scrollable': orientation === _constants.VERTICAL_SCROLLABLE
});
return _react2['default'].createElement('div', { className: calendarMonthClasses, 'data-visible': isVisible }, _react2['default'].createElement('table', null, _react2['default'].createElement('caption', { className: 'CalendarMonth__caption js-CalendarMonth__caption' }, _react2['default'].createElement('strong', null, monthTitle)), _react2['default'].createElement('tbody', { className: 'js-CalendarMonth__grid' }, weeks.map(function (week, i) {
return _react2['default'].createElement('tr', { key: i }, week.map(function (day, dayOfWeek) {
return _react2['default'].createElement(_CalendarDay2['default'], {
day: day,
isOutsideDay: !day || day.month() !== month.month(),
modifiers: modifiers,
key: dayOfWeek,
onDayMouseEnter: onDayMouseEnter,
onDayMouseLeave: onDayMouseLeave,
onDayClick: onDayClick,
renderDay: renderDay
});
}));
}))));
}
return render;
}()
}]);
return CalendarMonth;
}(_react2['default'].Component);
exports['default'] = CalendarMonth;
CalendarMonth.propTypes = propTypes;
CalendarMonth.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},
/* 2 */
/***/function (module, exports) {
module.exports = __webpack_require__(3);
/***/
},
/* 3 */
/***/function (module, exports) {
module.exports = __webpack_require__(98);
/***/
},
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},
/* 7 */
/***/function (module, exports) {
module.exports = __webpack_require__(116);
/***/
},
/* 8 */
/***/function (module, exports) {
module.exports = __webpack_require__(117);
/***/
},
/* 9 */
/***/function (module, exports) {
module.exports = __webpack_require__(109);
/***/
},
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
}
/******/]);
/***/ },
/* 116 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
exports.getModifiersForDay = getModifiersForDay;
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _reactAddonsShallowCompare = __webpack_require__(2);
var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
var _reactMomentProptypes = __webpack_require__(3);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _airbnbPropTypes = __webpack_require__(4);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
day: _reactMomentProptypes2['default'].momentObj,
isOutsideDay: _react.PropTypes.bool,
modifiers: _react.PropTypes.object,
onDayClick: _react.PropTypes.func,
onDayMouseEnter: _react.PropTypes.func,
onDayMouseLeave: _react.PropTypes.func,
renderDay: _react.PropTypes.func
});
var defaultProps = {
day: (0, _moment2['default'])(),
isOutsideDay: false,
modifiers: {},
onDayClick: function () {
function onDayClick() {}
return onDayClick;
}(),
onDayMouseEnter: function () {
function onDayMouseEnter() {}
return onDayMouseEnter;
}(),
onDayMouseLeave: function () {
function onDayMouseLeave() {}
return onDayMouseLeave;
}(),
renderDay: null
};
function getModifiersForDay(modifiers, day) {
return day ? Object.keys(modifiers).filter(function (key) {
return modifiers[key](day);
}) : [];
}
var CalendarDay = function (_React$Component) {
_inherits(CalendarDay, _React$Component);
function CalendarDay() {
_classCallCheck(this, CalendarDay);
return _possibleConstructorReturn(this, (CalendarDay.__proto__ || Object.getPrototypeOf(CalendarDay)).apply(this, arguments));
}
_createClass(CalendarDay, [{
key: 'shouldComponentUpdate',
value: function () {
function shouldComponentUpdate(nextProps, nextState) {
return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
}
return shouldComponentUpdate;
}()
}, {
key: 'onDayClick',
value: function () {
function onDayClick(day, e) {
var onDayClick = this.props.onDayClick;
onDayClick(day, e);
}
return onDayClick;
}()
}, {
key: 'onDayMouseEnter',
value: function () {
function onDayMouseEnter(day, e) {
var onDayMouseEnter = this.props.onDayMouseEnter;
onDayMouseEnter(day, e);
}
return onDayMouseEnter;
}()
}, {
key: 'onDayMouseLeave',
value: function () {
function onDayMouseLeave(day, e) {
var onDayMouseLeave = this.props.onDayMouseLeave;
onDayMouseLeave(day, e);
}
return onDayMouseLeave;
}()
}, {
key: 'render',
value: function () {
function render() {
var _this2 = this;
var _props = this.props;
var day = _props.day;
var isOutsideDay = _props.isOutsideDay;
var modifiers = _props.modifiers;
var renderDay = _props.renderDay;
var className = (0, _classnames2['default'])('CalendarDay', {
'CalendarDay--outside': !day || isOutsideDay
}, getModifiersForDay(modifiers, day).map(function (mod) {
return 'CalendarDay--' + String(mod);
}));
return day ? _react2['default'].createElement('td', {
className: className,
onMouseEnter: function () {
function onMouseEnter(e) {
return _this2.onDayMouseEnter(day, e);
}
return onMouseEnter;
}(),
onMouseLeave: function () {
function onMouseLeave(e) {
return _this2.onDayMouseLeave(day, e);
}
return onMouseLeave;
}(),
onClick: function () {
function onClick(e) {
return _this2.onDayClick(day, e);
}
return onClick;
}()
}, renderDay ? renderDay(day) : day.format('D')) : _react2['default'].createElement('td', null);
}
return render;
}()
}]);
return CalendarDay;
}(_react2['default'].Component);
exports['default'] = CalendarDay;
CalendarDay.propTypes = propTypes;
CalendarDay.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},
/* 2 */
/***/function (module, exports) {
module.exports = __webpack_require__(3);
/***/
},
/* 3 */
/***/function (module, exports) {
module.exports = __webpack_require__(98);
/***/
},
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
}
/******/]);
/***/ },
/* 117 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = getCalendarMonthWeeks;
function getCalendarMonthWeeks(month, enableOutsideDays) {
// set utc offset to get correct dates in future (when timezone changes)
var baseDate = month.clone();
var firstOfMonth = baseDate.clone().startOf('month').hour(12);
var lastOfMonth = baseDate.clone().endOf('month').hour(12);
var currentDay = firstOfMonth.clone();
var currentWeek = [];
var weeksInMonth = [];
// days belonging to the previous month
for (var i = 0; i < currentDay.weekday(); i += 1) {
var prevDay = enableOutsideDays ? currentDay.clone().subtract(i + 1, 'day') : null;
currentWeek.unshift(prevDay);
}
while (currentDay < lastOfMonth) {
currentWeek.push(currentDay.clone());
currentDay.add(1, 'd');
if (currentDay.weekday() === 0) {
weeksInMonth.push(currentWeek);
currentWeek = [];
}
}
// weekday() returns the index of the day of the week according to the locale
// this means if the week starts on Monday, weekday() will return 0 for a Monday date, not 1
if (currentDay.weekday() !== 0) {
// days belonging to the next month
for (var k = currentDay.weekday(), count = 0; k < 7; k += 1, count += 1) {
var nextDay = enableOutsideDays ? currentDay.clone().add(count, 'day') : null;
currentWeek.push(nextDay);
}
weeksInMonth.push(currentWeek);
}
return weeksInMonth;
}
/***/ },
/* 118 */
/***/ function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = isTransitionEndSupported;
function isTransitionEndSupported() {
return !!(typeof window !== 'undefined' && 'TransitionEvent' in window);
}
/***/ },
/* 119 */
/***/ function(module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = DayPickerNavigation;
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _airbnbPropTypes = __webpack_require__(4);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _arrowLeft = __webpack_require__(37);
var _arrowLeft2 = _interopRequireDefault(_arrowLeft);
var _arrowRight = __webpack_require__(28);
var _arrowRight2 = _interopRequireDefault(_arrowRight);
var _chevronUp = __webpack_require__(38);
var _chevronUp2 = _interopRequireDefault(_chevronUp);
var _chevronDown = __webpack_require__(39);
var _chevronDown2 = _interopRequireDefault(_chevronDown);
var _ScrollableOrientationShape = __webpack_require__(9);
var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
navPrev: _react.PropTypes.node,
navNext: _react.PropTypes.node,
orientation: _ScrollableOrientationShape2['default'],
onPrevMonthClick: _react.PropTypes.func,
onNextMonthClick: _react.PropTypes.func,
// internationalization
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerNavigationPhrases))
});
var defaultProps = {
navPrev: null,
navNext: null,
orientation: _constants.HORIZONTAL_ORIENTATION,
onPrevMonthClick: function () {
function onPrevMonthClick() {}
return onPrevMonthClick;
}(),
onNextMonthClick: function () {
function onNextMonthClick() {}
return onNextMonthClick;
}(),
// internationalization
phrases: _defaultPhrases.DayPickerNavigationPhrases
};
function DayPickerNavigation(props) {
var navPrev = props.navPrev;
var navNext = props.navNext;
var onPrevMonthClick = props.onPrevMonthClick;
var onNextMonthClick = props.onNextMonthClick;
var orientation = props.orientation;
var phrases = props.phrases;
var isVertical = orientation !== _constants.HORIZONTAL_ORIENTATION;
var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
var navPrevIcon = navPrev;
var navNextIcon = navNext;
var isDefaultNavPrev = false;
var isDefaultNavNext = false;
if (!navPrevIcon) {
isDefaultNavPrev = true;
navPrevIcon = isVertical ? _react2['default'].createElement(_chevronUp2['default'], null) : _react2['default'].createElement(_arrowLeft2['default'], null);
}
if (!navNextIcon) {
isDefaultNavNext = true;
navNextIcon = isVertical ? _react2['default'].createElement(_chevronDown2['default'], null) : _react2['default'].createElement(_arrowRight2['default'], null);
}
var navClassNames = (0, _classnames2['default'])('DayPickerNavigation', {
'DayPickerNavigation--horizontal': !isVertical,
'DayPickerNavigation--vertical': isVertical,
'DayPickerNavigation--vertical-scrollable': isVerticalScrollable
});
var prevClassNames = (0, _classnames2['default'])('DayPickerNavigation__prev', {
'DayPickerNavigation__prev--default': isDefaultNavPrev
});
var nextClassNames = (0, _classnames2['default'])('DayPickerNavigation__next', {
'DayPickerNavigation__next--default': isDefaultNavNext
});
return _react2['default'].createElement('div', { className: navClassNames }, !isVerticalScrollable && _react2['default'].createElement('span', {
'aria-label': phrases.jumpToPrevMonth,
className: prevClassNames,
onClick: onPrevMonthClick
}, navPrevIcon), _react2['default'].createElement('span', {
'aria-label': phrases.jumpToNextMonth,
className: nextClassNames,
onClick: onNextMonthClick
}, navNextIcon));
}
DayPickerNavigation.propTypes = propTypes;
DayPickerNavigation.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,,
/* 2 */
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},,
/* 5 */
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,
/* 7 */
/* 8 */
/* 9 */
/***/function (module, exports) {
module.exports = __webpack_require__(109);
/***/
},
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},,,,,,,,
/* 11 */
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/* 16 */
/* 17 */
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},,,,,,,,
/* 19 */
/* 20 */
/* 21 */
/* 22 */
/* 23 */
/* 24 */
/* 25 */
/* 26 */
/***/function (module, exports) {
module.exports = __webpack_require__(100);
/***/
},,
/* 27 */
/* 28 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 1000 1000" }, this.props), _react2["default"].createElement("path", { d: "M694.4 242.4l249.1 249.1c11 11 11 21 0 32L694.4 772.7c-5 5-10 7-16 7s-11-2-16-7c-11-11-11-21 0-32l210.1-210.1H67.1c-13 0-23-10-23-23s10-23 23-23h805.4L662.4 274.5c-21-21.1 11-53.1 32-32.1z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},,,,,,,,,
/* 29 */
/* 30 */
/* 31 */
/* 32 */
/* 33 */
/* 34 */
/* 35 */
/* 36 */
/* 37 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 1000 1000" }, this.props), _react2["default"].createElement("path", { d: "M336.2 274.5l-210.1 210h805.4c13 0 23 10 23 23s-10 23-23 23H126.1l210.1 210.1c11 11 11 21 0 32-5 5-10 7-16 7s-11-2-16-7l-249.1-249c-11-11-11-21 0-32l249.1-249.1c21-21.1 53 10.9 32 32z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},
/* 38 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 1000 1000" }, this.props), _react2["default"].createElement("path", { d: "M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},
/* 39 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 1000 1000" }, this.props), _react2["default"].createElement("path", { d: "M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
}
/******/]);
/***/ },
/* 120 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _reactMomentProptypes = __webpack_require__(98);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _defaultPhrases = __webpack_require__(92);
var _getPhrasePropTypes = __webpack_require__(100);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _FocusedInputShape = __webpack_require__(111);
var _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);
var _OrientationShape = __webpack_require__(121);
var _OrientationShape2 = _interopRequireDefault(_OrientationShape);
var _AnchorDirectionShape = __webpack_require__(122);
var _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
exports['default'] = {
// required props for a functional interactive DateRangePicker
startDate: _reactMomentProptypes2['default'].momentObj,
endDate: _reactMomentProptypes2['default'].momentObj,
onDatesChange: _react.PropTypes.func.isRequired,
focusedInput: _FocusedInputShape2['default'],
onFocusChange: _react.PropTypes.func.isRequired,
// input related props
startDateId: _react.PropTypes.string.isRequired,
startDatePlaceholderText: _react.PropTypes.string,
endDateId: _react.PropTypes.string.isRequired,
endDatePlaceholderText: _react.PropTypes.string,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
screenReaderInputMessage: _react.PropTypes.string,
showClearDates: _react.PropTypes.bool,
showDefaultInputIcon: _react.PropTypes.bool,
customInputIcon: _react.PropTypes.node,
customArrowIcon: _react.PropTypes.node,
customCloseIcon: _react.PropTypes.node,
// calendar presentation and interaction related props
orientation: _OrientationShape2['default'],
anchorDirection: _AnchorDirectionShape2['default'],
horizontalMargin: _react.PropTypes.number,
withPortal: _react.PropTypes.bool,
withFullScreenPortal: _react.PropTypes.bool,
initialVisibleMonth: _react.PropTypes.func,
numberOfMonths: _react.PropTypes.number,
keepOpenOnDateSelect: _react.PropTypes.bool,
reopenPickerOnClearDates: _react.PropTypes.bool,
renderCalendarInfo: _react.PropTypes.func,
// navigation related props
navPrev: _react.PropTypes.node,
navNext: _react.PropTypes.node,
onPrevMonthClick: _react.PropTypes.func,
onNextMonthClick: _react.PropTypes.func,
// day presentation and interaction related props
renderDay: _react.PropTypes.func,
minimumNights: _react.PropTypes.number,
enableOutsideDays: _react.PropTypes.bool,
isDayBlocked: _react.PropTypes.func,
isOutsideRange: _react.PropTypes.func,
isDayHighlighted: _react.PropTypes.func,
// internationalization props
displayFormat: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.func]),
monthFormat: _react.PropTypes.string,
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerPhrases))
};
/***/ },
/* 121 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _constants = __webpack_require__(83);
exports['default'] = _react.PropTypes.oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION]);
/***/ },
/* 122 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _constants = __webpack_require__(83);
exports['default'] = _react.PropTypes.oneOf([_constants.ANCHOR_LEFT, _constants.ANCHOR_RIGHT]);
/***/ },
/* 123 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/[
/* 0 */
/***/function (module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _moment = __webpack_require__(5);
var _moment2 = _interopRequireDefault(_moment);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _reactPortal = __webpack_require__(17);
var _reactPortal2 = _interopRequireDefault(_reactPortal);
var _airbnbPropTypes = __webpack_require__(4);
var _consolidatedEvents = __webpack_require__(11);
var _defaultPhrases = __webpack_require__(18);
var _OutsideClickHandler = __webpack_require__(19);
var _OutsideClickHandler2 = _interopRequireDefault(_OutsideClickHandler);
var _toMomentObject = __webpack_require__(31);
var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
var _toLocalizedDateString = __webpack_require__(32);
var _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);
var _toISODateString = __webpack_require__(33);
var _toISODateString2 = _interopRequireDefault(_toISODateString);
var _getResponsiveContainerStyles = __webpack_require__(20);
var _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);
var _SingleDatePickerInput = __webpack_require__(44);
var _SingleDatePickerInput2 = _interopRequireDefault(_SingleDatePickerInput);
var _DayPicker = __webpack_require__(43);
var _DayPicker2 = _interopRequireDefault(_DayPicker);
var _close = __webpack_require__(24);
var _close2 = _interopRequireDefault(_close);
var _isInclusivelyAfterDay = __webpack_require__(21);
var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
var _isSameDay = __webpack_require__(41);
var _isSameDay2 = _interopRequireDefault(_isSameDay);
var _SingleDatePickerShape = __webpack_require__(45);
var _SingleDatePickerShape2 = _interopRequireDefault(_SingleDatePickerShape);
var _constants = __webpack_require__(10);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)(_SingleDatePickerShape2['default']);
var defaultProps = {
// required props for a functional interactive SingleDatePicker
date: null,
focused: false,
// input related props
id: 'date',
placeholder: 'Date',
disabled: false,
required: false,
screenReaderInputMessage: '',
showClearDate: false,
customCloseIcon: null,
// calendar presentation and interaction related props
orientation: _constants.HORIZONTAL_ORIENTATION,
anchorDirection: _constants.ANCHOR_LEFT,
horizontalMargin: 0,
withPortal: false,
withFullScreenPortal: false,
initialVisibleMonth: null,
numberOfMonths: 2,
keepOpenOnDateSelect: false,
reopenPickerOnClearDate: false,
renderCalendarInfo: null,
// navigation related props
navPrev: null,
navNext: null,
onPrevMonthClick: function () {
function onPrevMonthClick() {}
return onPrevMonthClick;
}(),
onNextMonthClick: function () {
function onNextMonthClick() {}
return onNextMonthClick;
}(),
// day presentation and interaction related props
renderDay: null,
enableOutsideDays: false,
isDayBlocked: function () {
function isDayBlocked() {
return false;
}
return isDayBlocked;
}(),
isOutsideRange: function () {
function isOutsideRange(day) {
return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
}
return isOutsideRange;
}(),
isDayHighlighted: function () {
function isDayHighlighted() {}
return isDayHighlighted;
}(),
// internationalization props
displayFormat: function () {
function displayFormat() {
return _moment2['default'].localeData().longDateFormat('L');
}
return displayFormat;
}(),
monthFormat: 'MMMM YYYY',
phrases: _defaultPhrases.SingleDatePickerPhrases
};
var SingleDatePicker = function (_React$Component) {
_inherits(SingleDatePicker, _React$Component);
function SingleDatePicker(props) {
_classCallCheck(this, SingleDatePicker);
var _this = _possibleConstructorReturn(this, (SingleDatePicker.__proto__ || Object.getPrototypeOf(SingleDatePicker)).call(this, props));
_this.state = {
dayPickerContainerStyles: {},
hoverDate: null
};
_this.today = (0, _moment2['default'])();
_this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);
_this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);
_this.onDayClick = _this.onDayClick.bind(_this);
_this.onChange = _this.onChange.bind(_this);
_this.onFocus = _this.onFocus.bind(_this);
_this.onClearFocus = _this.onClearFocus.bind(_this);
_this.clearDate = _this.clearDate.bind(_this);
_this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);
return _this;
}
/* istanbul ignore next */
_createClass(SingleDatePicker, [{
key: 'componentDidMount',
value: function () {
function componentDidMount() {
this.resizeHandle = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });
this.responsivizePickerPosition();
}
return componentDidMount;
}()
}, {
key: 'componentWillUpdate',
value: function () {
function componentWillUpdate() {
this.today = (0, _moment2['default'])();
}
return componentWillUpdate;
}()
}, {
key: 'componentDidUpdate',
value: function () {
function componentDidUpdate(prevProps) {
if (!prevProps.focused && this.props.focused) {
this.responsivizePickerPosition();
}
}
return componentDidUpdate;
}()
/* istanbul ignore next */
}, {
key: 'componentWillUnmount',
value: function () {
function componentWillUnmount() {
(0, _consolidatedEvents.removeEventListener)(this.resizeHandle);
}
return componentWillUnmount;
}()
}, {
key: 'onChange',
value: function () {
function onChange(dateString) {
var _props = this.props;
var isOutsideRange = _props.isOutsideRange;
var keepOpenOnDateSelect = _props.keepOpenOnDateSelect;
var onDateChange = _props.onDateChange;
var onFocusChange = _props.onFocusChange;
var date = (0, _toMomentObject2['default'])(dateString, this.getDisplayFormat());
var isValid = date && !isOutsideRange(date);
if (isValid) {
onDateChange(date);
if (!keepOpenOnDateSelect) onFocusChange({ focused: false });
} else {
onDateChange(null);
}
}
return onChange;
}()
}, {
key: 'onDayClick',
value: function () {
function onDayClick(day, e) {
if (e) e.preventDefault();
if (this.isBlocked(day)) return;
this.props.onDateChange(day);
if (!this.props.keepOpenOnDateSelect) this.props.onFocusChange({ focused: null });
}
return onDayClick;
}()
}, {
key: 'onDayMouseEnter',
value: function () {
function onDayMouseEnter(day) {
this.setState({
hoverDate: day
});
}
return onDayMouseEnter;
}()
}, {
key: 'onDayMouseLeave',
value: function () {
function onDayMouseLeave() {
this.setState({
hoverDate: null
});
}
return onDayMouseLeave;
}()
}, {
key: 'onFocus',
value: function () {
function onFocus() {
if (!this.props.disabled) {
this.props.onFocusChange({ focused: true });
}
}
return onFocus;
}()
}, {
key: 'onClearFocus',
value: function () {
function onClearFocus() {
var _props2 = this.props;
var focused = _props2.focused;
var onFocusChange = _props2.onFocusChange;
if (!focused) return;
onFocusChange({ focused: false });
}
return onClearFocus;
}()
}, {
key: 'getDateString',
value: function () {
function getDateString(date) {
var displayFormat = this.getDisplayFormat();
if (date && displayFormat) {
return date && date.format(displayFormat);
}
return (0, _toLocalizedDateString2['default'])(date);
}
return getDateString;
}()
}, {
key: 'getDayPickerContainerClasses',
value: function () {
function getDayPickerContainerClasses() {
var _props3 = this.props;
var orientation = _props3.orientation;
var withPortal = _props3.withPortal;
var withFullScreenPortal = _props3.withFullScreenPortal;
var anchorDirection = _props3.anchorDirection;
var hoverDate = this.state.hoverDate;
var dayPickerClassName = (0, _classnames2['default'])('SingleDatePicker__picker', {
'SingleDatePicker__picker--direction-left': anchorDirection === _constants.ANCHOR_LEFT,
'SingleDatePicker__picker--direction-right': anchorDirection === _constants.ANCHOR_RIGHT,
'SingleDatePicker__picker--horizontal': orientation === _constants.HORIZONTAL_ORIENTATION,
'SingleDatePicker__picker--vertical': orientation === _constants.VERTICAL_ORIENTATION,
'SingleDatePicker__picker--portal': withPortal || withFullScreenPortal,
'SingleDatePicker__picker--full-screen-portal': withFullScreenPortal,
'SingleDatePicker__picker--valid-date-hovered': hoverDate && !this.isBlocked(hoverDate)
});
return dayPickerClassName;
}
return getDayPickerContainerClasses;
}()
}, {
key: 'getDisplayFormat',
value: function () {
function getDisplayFormat() {
var displayFormat = this.props.displayFormat;
return typeof displayFormat === 'string' ? displayFormat : displayFormat();
}
return getDisplayFormat;
}()
}, {
key: 'clearDate',
value: function () {
function clearDate() {
var _props4 = this.props;
var onDateChange = _props4.onDateChange;
var reopenPickerOnClearDate = _props4.reopenPickerOnClearDate;
var onFocusChange = _props4.onFocusChange;
onDateChange(null);
if (reopenPickerOnClearDate) {
onFocusChange({ focused: true });
}
}
return clearDate;
}()
/* istanbul ignore next */
}, {
key: 'responsivizePickerPosition',
value: function () {
function responsivizePickerPosition() {
var _props5 = this.props;
var anchorDirection = _props5.anchorDirection;
var horizontalMargin = _props5.horizontalMargin;
var withPortal = _props5.withPortal;
var withFullScreenPortal = _props5.withFullScreenPortal;
var focused = _props5.focused;
var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
if (!focused) {
return;
}
var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;
if (!withPortal && !withFullScreenPortal) {
var containerRect = this.dayPickerContainer.getBoundingClientRect();
var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;
var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];
this.setState({
dayPickerContainerStyles: (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin)
});
}
}
return responsivizePickerPosition;
}()
}, {
key: 'isBlocked',
value: function () {
function isBlocked(day) {
var _props6 = this.props;
var isDayBlocked = _props6.isDayBlocked;
var isOutsideRange = _props6.isOutsideRange;
return isDayBlocked(day) || isOutsideRange(day);
}
return isBlocked;
}()
}, {
key: 'isHovered',
value: function () {
function isHovered(day) {
return (0, _isSameDay2['default'])(day, this.state.hoverDate);
}
return isHovered;
}()
}, {
key: 'isSelected',
value: function () {
function isSelected(day) {
return (0, _isSameDay2['default'])(day, this.props.date);
}
return isSelected;
}()
}, {
key: 'isToday',
value: function () {
function isToday(day) {
return (0, _isSameDay2['default'])(day, this.today);
}
return isToday;
}()
}, {
key: 'maybeRenderDayPickerWithPortal',
value: function () {
function maybeRenderDayPickerWithPortal() {
var _props7 = this.props;
var focused = _props7.focused;
var withPortal = _props7.withPortal;
var withFullScreenPortal = _props7.withFullScreenPortal;
if (!focused) {
return null;
}
if (withPortal || withFullScreenPortal) {
return _react2['default'].createElement(_reactPortal2['default'], { isOpened: true }, this.renderDayPicker());
}
return this.renderDayPicker();
}
return maybeRenderDayPickerWithPortal;
}()
}, {
key: 'renderDayPicker',
value: function () {
function renderDayPicker() {
var _this2 = this;
var _props8 = this.props;
var isDayBlocked = _props8.isDayBlocked;
var isDayHighlighted = _props8.isDayHighlighted;
var isOutsideRange = _props8.isOutsideRange;
var enableOutsideDays = _props8.enableOutsideDays;
var numberOfMonths = _props8.numberOfMonths;
var orientation = _props8.orientation;
var monthFormat = _props8.monthFormat;
var navPrev = _props8.navPrev;
var navNext = _props8.navNext;
var onPrevMonthClick = _props8.onPrevMonthClick;
var onNextMonthClick = _props8.onNextMonthClick;
var withPortal = _props8.withPortal;
var withFullScreenPortal = _props8.withFullScreenPortal;
var focused = _props8.focused;
var renderDay = _props8.renderDay;
var renderCalendarInfo = _props8.renderCalendarInfo;
var date = _props8.date;
var initialVisibleMonth = _props8.initialVisibleMonth;
var customCloseIcon = _props8.customCloseIcon;
var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
var modifiers = {
today: function () {
function today(day) {
return _this2.isToday(day);
}
return today;
}(),
blocked: function () {
function blocked(day) {
return _this2.isBlocked(day);
}
return blocked;
}(),
'blocked-calendar': function () {
function blockedCalendar(day) {
return isDayBlocked(day);
}
return blockedCalendar;
}(),
'blocked-out-of-range': function () {
function blockedOutOfRange(day) {
return isOutsideRange(day);
}
return blockedOutOfRange;
}(),
'highlighted-calendar': function () {
function highlightedCalendar(day) {
return isDayHighlighted(day);
}
return highlightedCalendar;
}(),
valid: function () {
function valid(day) {
return !_this2.isBlocked(day);
}
return valid;
}(),
hovered: function () {
function hovered(day) {
return _this2.isHovered(day);
}
return hovered;
}(),
selected: function () {
function selected(day) {
return _this2.isSelected(day);
}
return selected;
}()
};
var onOutsideClick = !withFullScreenPortal && withPortal ? this.onClearFocus : undefined;
var initialVisibleMonthThunk = initialVisibleMonth || function () {
return date || (0, _moment2['default'])();
};
var closeIcon = customCloseIcon || _react2['default'].createElement(_close2['default'], null);
return _react2['default'].createElement('div', {
ref: function () {
function ref(_ref) {
_this2.dayPickerContainer = _ref;
}
return ref;
}(),
className: this.getDayPickerContainerClasses(),
style: dayPickerContainerStyles
}, _react2['default'].createElement(_DayPicker2['default'], {
orientation: orientation,
enableOutsideDays: enableOutsideDays,
modifiers: modifiers,
numberOfMonths: numberOfMonths,
onDayClick: this.onDayClick,
onDayMouseEnter: this.onDayMouseEnter,
onDayMouseLeave: this.onDayMouseLeave,
onPrevMonthClick: onPrevMonthClick,
onNextMonthClick: onNextMonthClick,
monthFormat: monthFormat,
withPortal: withPortal || withFullScreenPortal,
hidden: !focused,
initialVisibleMonth: initialVisibleMonthThunk,
onOutsideClick: onOutsideClick,
navPrev: navPrev,
navNext: navNext,
renderDay: renderDay,
renderCalendarInfo: renderCalendarInfo
}), withFullScreenPortal && _react2['default'].createElement('button', {
className: 'SingleDatePicker__close',
type: 'button',
onClick: this.onClearFocus
}, _react2['default'].createElement('span', { className: 'screen-reader-only' }, this.props.phrases.closeDatePicker), _react2['default'].createElement('div', { className: 'SingleDatePicker__close-icon' }, closeIcon)));
}
return renderDayPicker;
}()
}, {
key: 'render',
value: function () {
function render() {
var _props9 = this.props;
var id = _props9.id;
var placeholder = _props9.placeholder;
var focused = _props9.focused;
var disabled = _props9.disabled;
var required = _props9.required;
var showClearDate = _props9.showClearDate;
var date = _props9.date;
var phrases = _props9.phrases;
var withPortal = _props9.withPortal;
var withFullScreenPortal = _props9.withFullScreenPortal;
var screenReaderInputMessage = _props9.screenReaderInputMessage;
var displayValue = this.getDateString(date);
var inputValue = (0, _toISODateString2['default'])(date);
var onOutsideClick = !withPortal && !withFullScreenPortal ? this.onClearFocus : undefined;
return _react2['default'].createElement('div', { className: 'SingleDatePicker' }, _react2['default'].createElement(_OutsideClickHandler2['default'], { onOutsideClick: onOutsideClick }, _react2['default'].createElement(_SingleDatePickerInput2['default'], {
id: id,
placeholder: placeholder,
focused: focused,
disabled: disabled,
required: required,
showCaret: !withPortal && !withFullScreenPortal,
phrases: phrases,
onClearDate: this.clearDate,
showClearDate: showClearDate,
displayValue: displayValue,
inputValue: inputValue,
onChange: this.onChange,
onFocus: this.onFocus,
onKeyDownShiftTab: this.onClearFocus,
onKeyDownTab: this.onClearFocus,
screenReaderMessage: screenReaderInputMessage
}), this.maybeRenderDayPickerWithPortal()));
}
return render;
}()
}]);
return SingleDatePicker;
}(_react2['default'].Component);
exports['default'] = SingleDatePicker;
SingleDatePicker.propTypes = propTypes;
SingleDatePicker.defaultProps = defaultProps;
/***/
},
/* 1 */
/***/function (module, exports) {
module.exports = __webpack_require__(2);
/***/
},,,
/* 2 */
/* 3 */
/* 4 */
/***/function (module, exports) {
module.exports = __webpack_require__(6);
/***/
},
/* 5 */
/***/function (module, exports) {
module.exports = __webpack_require__(81);
/***/
},
/* 6 */
/***/function (module, exports) {
module.exports = __webpack_require__(82);
/***/
},,,,
/* 7 */
/* 8 */
/* 9 */
/* 10 */
/***/function (module, exports) {
module.exports = __webpack_require__(83);
/***/
},
/* 11 */
/***/function (module, exports) {
module.exports = __webpack_require__(84);
/***/
},,,,,,
/* 12 */
/* 13 */
/* 14 */
/* 15 */
/* 16 */
/* 17 */
/***/function (module, exports) {
module.exports = __webpack_require__(91);
/***/
},
/* 18 */
/***/function (module, exports) {
module.exports = __webpack_require__(92);
/***/
},
/* 19 */
/***/function (module, exports) {
module.exports = __webpack_require__(93);
/***/
},
/* 20 */
/***/function (module, exports) {
module.exports = __webpack_require__(94);
/***/
},
/* 21 */
/***/function (module, exports) {
module.exports = __webpack_require__(95);
/***/
},,,
/* 22 */
/* 23 */
/* 24 */
/***/function (module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 12 12" }, this.props), _react2["default"].createElement("path", { fillRule: "evenodd", d: "M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
},,,,,,,
/* 25 */
/* 26 */
/* 27 */
/* 28 */
/* 29 */
/* 30 */
/* 31 */
/***/function (module, exports) {
module.exports = __webpack_require__(104);
/***/
},
/* 32 */
/***/function (module, exports) {
module.exports = __webpack_require__(105);
/***/
},
/* 33 */
/***/function (module, exports) {
module.exports = __webpack_require__(106);
/***/
},,,,,,,,
/* 34 */
/* 35 */
/* 36 */
/* 37 */
/* 38 */
/* 39 */
/* 40 */
/* 41 */
/***/function (module, exports) {
module.exports = __webpack_require__(96);
/***/
},,
/* 42 */
/* 43 */
/***/function (module, exports) {
module.exports = __webpack_require__(112);
/***/
},
/* 44 */
/***/function (module, exports) {
module.exports = __webpack_require__(124);
/***/
},
/* 45 */
/***/function (module, exports) {
module.exports = __webpack_require__(125);
/***/
}
/******/]);
/***/ },
/* 124 */
/***/ function(module, exports, __webpack_require__) {
var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
module.exports =
/******/function (modules) {
// webpackBootstrap
/******/ // The module cache
/******/var installedModules = {};
/******/ // The require function
/******/function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/if (installedModules[moduleId])
/******/return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/var module = installedModules[moduleId] = {
/******/exports: {},
/******/id: moduleId,
/******/loaded: false
/******/ };
/******/ // Execute the module function
/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/module.loaded = true;
/******/ // Return the exports of the module
/******/return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/__webpack_require__.m = modules;
/******/ // expose the module cache
/******/__webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/__webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/return __webpack_require__(0);
/******/
}(
/************************************************************************/
/******/{
/***/0:
/***/function () {
function _(module, exports, __webpack_require__) {
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
var _airbnbPropTypes = __webpack_require__(4);
var _classnames = __webpack_require__(6);
var _classnames2 = _interopRequireDefault(_classnames);
var _defaultPhrases = __webpack_require__(18);
var _getPhrasePropTypes = __webpack_require__(26);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _DateInput = __webpack_require__(27);
var _DateInput2 = _interopRequireDefault(_DateInput);
var _close = __webpack_require__(24);
var _close2 = _interopRequireDefault(_close);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
id: _react.PropTypes.string.isRequired,
placeholder: _react.PropTypes.string, // also used as label
displayValue: _react.PropTypes.string,
inputValue: _react.PropTypes.string,
screenReaderMessage: _react.PropTypes.string,
focused: _react.PropTypes.bool,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
showCaret: _react.PropTypes.bool,
showClearDate: _react.PropTypes.bool,
customCloseIcon: _react.PropTypes.node,
onChange: _react.PropTypes.func,
onClearDate: _react.PropTypes.func,
onFocus: _react.PropTypes.func,
onKeyDownShiftTab: _react.PropTypes.func,
onKeyDownTab: _react.PropTypes.func,
// i18n
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerInputPhrases))
});
var defaultProps = {
placeholder: 'Select Date',
displayValue: '',
inputValue: '',
screenReaderMessage: '',
focused: false,
disabled: false,
required: false,
showCaret: false,
showClearDate: false,
customCloseIcon: null,
onChange: function () {
function onChange() {}
return onChange;
}(),
onClearDate: function () {
function onClearDate() {}
return onClearDate;
}(),
onFocus: function () {
function onFocus() {}
return onFocus;
}(),
onKeyDownShiftTab: function () {
function onKeyDownShiftTab() {}
return onKeyDownShiftTab;
}(),
onKeyDownTab: function () {
function onKeyDownTab() {}
return onKeyDownTab;
}(),
// i18n
phrases: _defaultPhrases.SingleDatePickerInputPhrases
};
var SingleDatePickerInput = function (_React$Component) {
_inherits(SingleDatePickerInput, _React$Component);
function SingleDatePickerInput(props) {
_classCallCheck(this, SingleDatePickerInput);
var _this = _possibleConstructorReturn(this, (SingleDatePickerInput.__proto__ || Object.getPrototypeOf(SingleDatePickerInput)).call(this, props));
_this.state = {
isClearDateHovered: false
};
_this.onClearDateMouseEnter = _this.onClearDateMouseEnter.bind(_this);
_this.onClearDateMouseLeave = _this.onClearDateMouseLeave.bind(_this);
return _this;
}
_createClass(SingleDatePickerInput, [{
key: 'onClearDateMouseEnter',
value: function () {
function onClearDateMouseEnter() {
this.setState({
isClearDateHovered: true
});
}
return onClearDateMouseEnter;
}()
}, {
key: 'onClearDateMouseLeave',
value: function () {
function onClearDateMouseLeave() {
this.setState({
isClearDateHovered: false
});
}
return onClearDateMouseLeave;
}()
}, {
key: 'render',
value: function () {
function render() {
var isClearDateHovered = this.state.isClearDateHovered;
var _props = this.props;
var id = _props.id;
var placeholder = _props.placeholder;
var displayValue = _props.displayValue;
var inputValue = _props.inputValue;
var focused = _props.focused;
var disabled = _props.disabled;
var required = _props.required;
var showCaret = _props.showCaret;
var showClearDate = _props.showClearDate;
var phrases = _props.phrases;
var onClearDate = _props.onClearDate;
var onChange = _props.onChange;
var onFocus = _props.onFocus;
var onKeyDownShiftTab = _props.onKeyDownShiftTab;
var onKeyDownTab = _props.onKeyDownTab;
var screenReaderMessage = _props.screenReaderMessage;
var customCloseIcon = _props.customCloseIcon;
var closeIcon = customCloseIcon || _react2['default'].createElement(_close2['default'], null);
return _react2['default'].createElement('div', { className: 'SingleDatePickerInput' }, _react2['default'].createElement(_DateInput2['default'], {
id: id,
placeholder: placeholder // also used as label
, displayValue: displayValue,
inputValue: inputValue,
screenReaderMessage: screenReaderMessage,
focused: focused,
disabled: disabled,
required: required,
showCaret: showCaret,
onChange: onChange,
onFocus: onFocus,
onKeyDownShiftTab: onKeyDownShiftTab,
onKeyDownTab: onKeyDownTab
}), showClearDate && _react2['default'].createElement('button', {
type: 'button',
className: (0, _classnames2['default'])('SingleDatePickerInput__clear-date', {
'SingleDatePickerInput__clear-date--hide': !displayValue,
'SingleDatePickerInput__clear-date--hover': isClearDateHovered
}),
'aria-label': phrases.clearDate,
onMouseEnter: this.onClearDateMouseEnter,
onMouseLeave: this.onClearDateMouseLeave,
onClick: onClearDate
}, _react2['default'].createElement('div', { className: 'DateRangePickerInput__close' }, closeIcon)));
}
return render;
}()
}]);
return SingleDatePickerInput;
}(_react2['default'].Component);
exports['default'] = SingleDatePickerInput;
SingleDatePickerInput.propTypes = propTypes;
SingleDatePickerInput.defaultProps = defaultProps;
/***/
}
return _;
}(),
/***/1:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(2);
/***/
}
return _;
}(),
/***/4:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(6);
/***/
}
return _;
}(),
/***/6:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(82);
/***/
}
return _;
}(),
/***/18:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(92);
/***/
}
return _;
}(),
/***/24:
/***/function () {
function _(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}return target;
};
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
var _react = __webpack_require__(1);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { "default": obj };
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}return call && ((typeof call === "undefined" ? "undefined" : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof2(superClass)));
}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var SVG = function (_React$Component) {
_inherits(SVG, _React$Component);
function SVG() {
_classCallCheck(this, SVG);
return _possibleConstructorReturn(this, (SVG.__proto__ || Object.getPrototypeOf(SVG)).apply(this, arguments));
}
_createClass(SVG, [{
key: "render",
value: function () {
function render() {
return _react2["default"].createElement("svg", _extends({ viewBox: "0 0 12 12" }, this.props), _react2["default"].createElement("path", { fillRule: "evenodd", d: "M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z" }));
}
return render;
}()
}]);
return SVG;
}(_react2["default"].Component);
exports["default"] = SVG;
/***/
}
return _;
}(),
/***/26:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(100);
/***/
}
return _;
}(),
/***/27:
/***/function () {
function _(module, exports) {
module.exports = __webpack_require__(102);
/***/
}
return _;
}()
/******/ });
/***/ },
/* 125 */
/***/ function(module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(2);
var _reactMomentProptypes = __webpack_require__(98);
var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
var _defaultPhrases = __webpack_require__(92);
var _getPhrasePropTypes = __webpack_require__(100);
var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
var _OrientationShape = __webpack_require__(121);
var _OrientationShape2 = _interopRequireDefault(_OrientationShape);
var _AnchorDirectionShape = __webpack_require__(122);
var _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { 'default': obj };
}
exports['default'] = {
// required props for a functional interactive SingleDatePicker
date: _reactMomentProptypes2['default'].momentObj,
onDateChange: _react.PropTypes.func.isRequired,
focused: _react.PropTypes.bool,
onFocusChange: _react.PropTypes.func.isRequired,
// input related props
id: _react.PropTypes.string.isRequired,
placeholder: _react.PropTypes.string,
disabled: _react.PropTypes.bool,
required: _react.PropTypes.bool,
screenReaderInputMessage: _react.PropTypes.string,
showClearDate: _react.PropTypes.bool,
customCloseIcon: _react.PropTypes.node,
// calendar presentation and interaction related props
orientation: _OrientationShape2['default'],
anchorDirection: _AnchorDirectionShape2['default'],
horizontalMargin: _react.PropTypes.number,
withPortal: _react.PropTypes.bool,
withFullScreenPortal: _react.PropTypes.bool,
initialVisibleMonth: _react.PropTypes.func,
numberOfMonths: _react.PropTypes.number,
keepOpenOnDateSelect: _react.PropTypes.bool,
reopenPickerOnClearDate: _react.PropTypes.bool,
renderCalendarInfo: _react.PropTypes.func,
// navigation related props
navPrev: _react.PropTypes.node,
navNext: _react.PropTypes.node,
onPrevMonthClick: _react.PropTypes.func,
onNextMonthClick: _react.PropTypes.func,
// day presentation and interaction related props
renderDay: _react.PropTypes.func,
enableOutsideDays: _react.PropTypes.bool,
isDayBlocked: _react.PropTypes.func,
isOutsideRange: _react.PropTypes.func,
isDayHighlighted: _react.PropTypes.func,
// internationalization props
displayFormat: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.func]),
monthFormat: _react.PropTypes.string,
phrases: _react.PropTypes.shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerPhrases))
};
/***/ }
/******/ ]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment