@roo-ui/components
Version:
112 lines (88 loc) • 4.24 kB
JavaScript
'use strict';
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 _templateObject = _taggedTemplateLiteral(['\n text-align: center;\n padding: 0 ', ';\n width: ', ';\n\n ', ';\n'], ['\n text-align: center;\n padding: 0 ', ';\n width: ', ';\n\n ', ';\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _styledSystem = require('styled-system');
var _styledComponents = require('styled-components');
var _ = require('../../../');
var _CalendarWeekdays = require('../CalendarWeekdays');
var _CalendarWeekdays2 = _interopRequireDefault(_CalendarWeekdays);
var _CalendarDays = require('../CalendarDays');
var _CalendarDays2 = _interopRequireDefault(_CalendarDays);
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 _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var MonthWrapper = _.Box.extend(_templateObject, (0, _styledSystem.themeGet)('space.4'), function (props) {
return 100 / props.monthsToDisplay + '%';
}, function (props) {
return props.stacked && (0, _styledComponents.css)(['width:100%;margin-top:', ';&:first-of-type{margin-top:0;}'], (0, _styledSystem.themeGet)('space.8'));
});
MonthWrapper.displayName = 'MonthWrapper';
var CalendarMonth = function CalendarMonth(_ref) {
var monthsToDisplay = _ref.monthsToDisplay,
month = _ref.month,
monthName = _ref.monthName,
year = _ref.year,
stacked = _ref.stacked,
weekdayNames = _ref.weekdayNames,
weeks = _ref.weeks,
getDateProps = _ref.getDateProps,
disabledDates = _ref.disabledDates,
interactiveDisabledDates = _ref.interactiveDisabledDates,
onMouseEnterOfDay = _ref.onMouseEnterOfDay,
isInRange = _ref.isInRange;
return _react2.default.createElement(
MonthWrapper,
{ monthsToDisplay: monthsToDisplay, stacked: stacked },
_react2.default.createElement(
_.Text,
{ textStyle: 'caps' },
monthName,
' ',
year
),
_react2.default.createElement(_CalendarWeekdays2.default, { month: month, year: year, weekdayNames: weekdayNames }),
_react2.default.createElement(_CalendarDays2.default, {
weeks: weeks,
month: month,
year: year,
getDateProps: getDateProps,
disabledDates: disabledDates,
interactiveDisabledDates: interactiveDisabledDates,
onMouseEnterOfDay: onMouseEnterOfDay,
isInRange: isInRange
})
);
};
MonthWrapper.defaultProps = _extends({}, _.Box.defaultProps, {
blacklist: [].concat(_toConsumableArray(Object.keys(_.Box.propTypes)), ['monthsToDisplay', 'stacked'])
});
CalendarMonth.defaultProps = {
monthsToDisplay: 1,
stacked: false,
disabledDates: [],
interactiveDisabledDates: false,
isInRange: function isInRange() {},
onMouseEnterOfDay: function onMouseEnterOfDay() {}
};
CalendarMonth.propTypes = {
month: _propTypes2.default.number.isRequired,
year: _propTypes2.default.number.isRequired,
monthName: _propTypes2.default.string.isRequired,
weeks: _propTypes2.default.arrayOf(_propTypes2.default.array).isRequired,
weekdayNames: _propTypes2.default.arrayOf(_propTypes2.default.string).isRequired,
disabledDates: _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(Date)),
interactiveDisabledDates: _propTypes2.default.bool,
monthsToDisplay: _propTypes2.default.number,
stacked: _propTypes2.default.bool,
getDateProps: _propTypes2.default.func.isRequired,
onMouseEnterOfDay: _propTypes2.default.func,
isInRange: _propTypes2.default.func
};
exports.default = CalendarMonth;