material-date-range-picker
Version:
React components, that implements material design pickers for material-ui v1
151 lines (107 loc) • 5.52 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.Spacer = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
var _react = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
var _NavigateNext = _interopRequireDefault(require("@material-ui/icons/NavigateNext"));
var _NavigateBefore = _interopRequireDefault(require("@material-ui/icons/NavigateBefore"));
var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
var _ArrowDropUp = _interopRequireDefault(require("@material-ui/icons/ArrowDropUp"));
var _ClearAll = _interopRequireDefault(require("@material-ui/icons/ClearAll"));
var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
var _Components = require("./Components");
var _DaySelect = _interopRequireDefault(require("./DaySelect"));
var _MonthSelect = _interopRequireDefault(require("./MonthSelect"));
function _templateObject4() {
var data = (0, _taggedTemplateLiteralLoose2.default)(["\n && {\n font-weight: 600;\n font-size: 14px;\n }\n"]);
_templateObject4 = function _templateObject4() {
return data;
};
return data;
}
function _templateObject3() {
var data = (0, _taggedTemplateLiteralLoose2.default)(["\n flex: 1;\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = (0, _taggedTemplateLiteralLoose2.default)(["\n && {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = (0, _taggedTemplateLiteralLoose2.default)(["\n && {\n margin-top: 10px;\n width: 100%;\n min-width: 212px;\n position: absolute;\n z-index: 1;\n flex-direction: row;\n padding: 8px;\n }\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
var Wrapper = (0, _styledComponents.default)(_Card.default)(_templateObject());
var MonthButton = (0, _styledComponents.default)(_IconButton.default)(_templateObject2());
var Spacer = _styledComponents.default.div(_templateObject3());
exports.Spacer = Spacer;
var MothText = (0, _styledComponents.default)(_Button.default)(_templateObject4());
var Calendar =
/*#__PURE__*/
function (_PureComponent) {
(0, _inheritsLoose2.default)(Calendar, _PureComponent);
function Calendar() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _PureComponent.call.apply(_PureComponent, [this].concat(args)) || this;
_this.state = {
monthSelectOpen: false
};
_this.handleMonthTextClick = function () {
return _this.setState(function (_ref) {
var monthSelectOpen = _ref.monthSelectOpen;
return {
monthSelectOpen: !monthSelectOpen
};
});
};
_this.preventInputLosingFocus = function (e) {
return e.preventDefault();
};
return _this;
}
var _proto = Calendar.prototype;
_proto.render = function render() {
var _this$props = this.props,
getFormattedDate = _this$props.getFormattedDate,
setDateNextMonth = _this$props.setDateNextMonth,
setDatePrevMonth = _this$props.setDatePrevMonth,
clearDateRange = _this$props.clearDateRange;
var monthSelectOpen = this.state.monthSelectOpen;
return _react.default.createElement(Wrapper, {
raised: true,
onMouseDown: this.preventInputLosingFocus
}, _react.default.createElement(_Components.Row, null, _react.default.createElement(MothText, {
size: "small",
onClick: this.handleMonthTextClick
}, getFormattedDate('MMM YYYY'), monthSelectOpen ? _react.default.createElement(_ArrowDropUp.default, null) : _react.default.createElement(_ArrowDropDown.default, null)), _react.default.createElement(Spacer, null), _react.default.createElement(_Components.Cell, null, _react.default.createElement(MonthButton, {
onClick: clearDateRange,
"aria-label": "Clear selection"
}, _react.default.createElement(_ClearAll.default, null))), _react.default.createElement(_Components.Cell, null, _react.default.createElement(MonthButton, {
onClick: setDatePrevMonth,
"aria-label": "Previous month"
}, _react.default.createElement(_NavigateBefore.default, null))), _react.default.createElement(_Components.Cell, null, _react.default.createElement(MonthButton, {
onClick: setDateNextMonth,
"aria-label": "Next month"
}, _react.default.createElement(_NavigateNext.default, null)))), monthSelectOpen ? _react.default.createElement(_MonthSelect.default, this.props) : _react.default.createElement(_DaySelect.default, this.props));
};
return Calendar;
}(_react.PureComponent);
exports.default = Calendar;
;