@appannie/react-infinite-calendar
Version:
Infinite scrolling date-picker built with React, with localization, themes, keyboard support, and more.
131 lines (106 loc) • 5.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
var _createClass = require('@babel/runtime/helpers/createClass');
var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
var _inherits = require('@babel/runtime/helpers/inherits');
var _createSuper = require('@babel/runtime/helpers/createSuper');
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var React = require('react');
var index = require('./Calendar/index.js');
var withDateSelection = require('./Calendar/withDateSelection.js');
var withKeyboardSupport = require('./Calendar/withKeyboardSupport.js');
var withMultipleDates = require('./Calendar/withMultipleDates.js');
var withRange = require('./Calendar/withRange.js');
var index$1 = require('./Calendar/Range/index.js');
var withMonthRange = require('./Calendar/withMonthRange.js');
var withQuarterRange = require('./Calendar/withQuarterRange.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
var _createSuper__default = /*#__PURE__*/_interopDefaultLegacy(_createSuper);
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
/*
* By default, Calendar is a controlled component.
* Export a sensible default for minimal setup
*/
var DefaultCalendar = /*#__PURE__*/function (_Component) {
_inherits__default['default'](DefaultCalendar, _Component);
var _super = _createSuper__default['default'](DefaultCalendar);
function DefaultCalendar() {
var _this;
_classCallCheck__default['default'](this, DefaultCalendar);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "state", {
selected: typeof _this.props.selected !== 'undefined' ? _this.props.selected : new Date()
});
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "_getRef", function (ref) {
_this.calendar = ref;
});
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleSelect", function (selected) {
var _this$props = _this.props,
onSelect = _this$props.onSelect,
interpolateSelection = _this$props.interpolateSelection;
if (typeof onSelect === 'function') {
onSelect(selected);
}
_this.setState({
selected: interpolateSelection(selected, _this.state.selected)
});
});
_defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "scrollToDate", function (date) {
_this.calendar && _this.calendar.scrollToDate(date, -40);
});
return _this;
}
_createClass__default['default'](DefaultCalendar, [{
key: "UNSAFE_componentWillReceiveProps",
value: function UNSAFE_componentWillReceiveProps(_ref) {
var selected = _ref.selected;
if (selected !== this.props.selected) {
this.setState({
selected: selected
});
}
}
}, {
key: "render",
value: function render() {
// eslint-disable-next-line no-unused-vars
var _this$props2 = this.props,
Component = _this$props2.Component;
_this$props2.interpolateSelection;
var props = _objectWithoutProperties__default['default'](_this$props2, ["Component", "interpolateSelection"]);
return /*#__PURE__*/React__default['default'].createElement(Component, Object.assign({}, props, {
ref: this._getRef,
onSelect: this.handleSelect,
selected: this.state.selected
}));
}
}]);
return DefaultCalendar;
}(React.Component);
_defineProperty__default['default'](DefaultCalendar, "defaultProps", {
Component: withDateSelection.withDateSelection(index['default']),
interpolateSelection: function interpolateSelection(selected) {
return selected;
}
});
exports.Calendar = index['default'];
exports.withDateSelection = withDateSelection.withDateSelection;
exports.withKeyboardSupport = withKeyboardSupport.withKeyboardSupport;
exports.defaultMultipleDateInterpolation = withMultipleDates.defaultMultipleDateInterpolation;
exports.withMultipleDates = withMultipleDates.withMultipleDates;
exports.withRange = withRange.withRange;
exports.EVENT_TYPE = index$1.EVENT_TYPE;
exports.withMonthRange = withMonthRange.withMonthRange;
exports.withQuarterRange = withQuarterRange.withQuarterRange;
exports.default = DefaultCalendar;