UNPKG

@roo-ui/components

Version:

90 lines (82 loc) 11.1 kB
import _styled from "@emotion/styled-base"; function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } 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 _extends() { _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; }; return _extends.apply(this, arguments); } import React from 'react'; import PropTypes from 'prop-types'; import { themeGet } from 'styled-system'; import { css } from '@emotion/core'; import { Box, Text } from '../../../'; import CalendarWeekdays from '../CalendarWeekdays'; import CalendarDays from '../CalendarDays'; import omitProps from '../../../omitProps'; var MonthWrapper = /*#__PURE__*/ _styled(Box, _extends({}, { target: "e22daib0", label: "MonthWrapper" }, omitProps(['monthsToDisplay', 'stacked'])))("text-align:center;padding:0 ", themeGet('space.4'), ";width:", function (props) { return "".concat(100 / props.monthsToDisplay, "%"); }, ";", function (props) { return props.stacked && /*#__PURE__*/ css("width:100%;margin-top:", themeGet('space.8')(props), ";&:first-of-type{margin-top:0;}label:MonthWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9EYXRlUGlja2VyL2NvbXBvbmVudHMvQ2FsZW5kYXJNb250aC9DYWxlbmRhck1vbnRoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCTyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvRGF0ZVBpY2tlci9jb21wb25lbnRzL0NhbGVuZGFyTW9udGgvQ2FsZW5kYXJNb250aC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdGhlbWVHZXQgfSBmcm9tICdzdHlsZWQtc3lzdGVtJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vLi4vJztcbmltcG9ydCBDYWxlbmRhcldlZWtkYXlzIGZyb20gJy4uL0NhbGVuZGFyV2Vla2RheXMnO1xuaW1wb3J0IENhbGVuZGFyRGF5cyBmcm9tICcuLi9DYWxlbmRhckRheXMnO1xuaW1wb3J0IG9taXRQcm9wcyBmcm9tICcuLi8uLi8uLi9vbWl0UHJvcHMnO1xuXG5jb25zdCBNb250aFdyYXBwZXIgPSBzdHlsZWQoQm94LCBvbWl0UHJvcHMoWydtb250aHNUb0Rpc3BsYXknLCAnc3RhY2tlZCddKSlgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAke3RoZW1lR2V0KCdzcGFjZS40Jyl9O1xuICB3aWR0aDogJHtwcm9wcyA9PiBgJHsxMDAgLyBwcm9wcy5tb250aHNUb0Rpc3BsYXl9JWB9O1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuc3RhY2tlZCAmJlxuICAgIGNzc2BcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJHt0aGVtZUdldCgnc3BhY2UuOCcpKHByb3BzKX07XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgYH07XG5gO1xuXG5Nb250aFdyYXBwZXIuZGlzcGxheU5hbWUgPSAnTW9udGhXcmFwcGVyJztcblxuY29uc3QgQ2FsZW5kYXJNb250aCA9ICh7XG4gIG1vbnRoc1RvRGlzcGxheSwgbW9udGgsIG1vbnRoTmFtZSwgeWVhciwgc3RhY2tlZCwgd2Vla2RheU5hbWVzLFxuICB3ZWVrcywgZ2V0RGF0ZVByb3BzLCBkaXNhYmxlZERhdGVzLCBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXMsXG4gIG9uTW91c2VFbnRlck9mRGF5LCBpc0luUmFuZ2UsXG59KSA9PiAoXG4gIDxNb250aFdyYXBwZXIgbW9udGhzVG9EaXNwbGF5PXttb250aHNUb0Rpc3BsYXl9IHN0YWNrZWQ9e3N0YWNrZWR9PlxuICAgIDxUZXh0IHRleHRTdHlsZT1cImNhcHNcIj5cbiAgICAgIHttb250aE5hbWV9IHt5ZWFyfVxuICAgIDwvVGV4dD5cbiAgICA8Q2FsZW5kYXJXZWVrZGF5cyBtb250aD17bW9udGh9IHllYXI9e3llYXJ9IHdlZWtkYXlOYW1lcz17d2Vla2RheU5hbWVzfSAvPlxuICAgIDxDYWxlbmRhckRheXNcbiAgICAgIHdlZWtzPXt3ZWVrc31cbiAgICAgIG1vbnRoPXttb250aH1cbiAgICAgIHllYXI9e3llYXJ9XG4gICAgICBnZXREYXRlUHJvcHM9e2dldERhdGVQcm9wc31cbiAgICAgIGRpc2FibGVkRGF0ZXM9e2Rpc2FibGVkRGF0ZXN9XG4gICAgICBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXM9e2ludGVyYWN0aXZlRGlzYWJsZWREYXRlc31cbiAgICAgIG9uTW91c2VFbnRlck9mRGF5PXtvbk1vdXNlRW50ZXJPZkRheX1cbiAgICAgIGlzSW5SYW5nZT17aXNJblJhbmdlfVxuICAgIC8+XG4gIDwvTW9udGhXcmFwcGVyPlxuKTtcblxuTW9udGhXcmFwcGVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uQm94LmRlZmF1bHRQcm9wcyxcbn07XG5cbkNhbGVuZGFyTW9udGguZGVmYXVsdFByb3BzID0ge1xuICBtb250aHNUb0Rpc3BsYXk6IDEsXG4gIHN0YWNrZWQ6IGZhbHNlLFxuICBkaXNhYmxlZERhdGVzOiBbXSxcbiAgaW50ZXJhY3RpdmVEaXNhYmxlZERhdGVzOiBmYWxzZSxcbiAgaXNJblJhbmdlOiAoKSA9PiB7fSxcbiAgb25Nb3VzZUVudGVyT2ZEYXk6ICgpID0+IHt9LFxufTtcblxuQ2FsZW5kYXJNb250aC5wcm9wVHlwZXMgPSB7XG4gIG1vbnRoOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHllYXI6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgbW9udGhOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHdlZWtzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYXJyYXkpLmlzUmVxdWlyZWQsXG4gIHdlZWtkYXlOYW1lczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWREYXRlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmluc3RhbmNlT2YoRGF0ZSkpLFxuICBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXM6IFByb3BUeXBlcy5ib29sLFxuICBtb250aHNUb0Rpc3BsYXk6IFByb3BUeXBlcy5udW1iZXIsXG4gIHN0YWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICBnZXREYXRlUHJvcHM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uTW91c2VFbnRlck9mRGF5OiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNJblJhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENhbGVuZGFyTW9udGg7XG4iXX0= */")); }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9EYXRlUGlja2VyL2NvbXBvbmVudHMvQ2FsZW5kYXJNb250aC9DYWxlbmRhck1vbnRoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVUyRSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi9zcmMvRGF0ZVBpY2tlci9jb21wb25lbnRzL0NhbGVuZGFyTW9udGgvQ2FsZW5kYXJNb250aC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdGhlbWVHZXQgfSBmcm9tICdzdHlsZWQtc3lzdGVtJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vLi4vJztcbmltcG9ydCBDYWxlbmRhcldlZWtkYXlzIGZyb20gJy4uL0NhbGVuZGFyV2Vla2RheXMnO1xuaW1wb3J0IENhbGVuZGFyRGF5cyBmcm9tICcuLi9DYWxlbmRhckRheXMnO1xuaW1wb3J0IG9taXRQcm9wcyBmcm9tICcuLi8uLi8uLi9vbWl0UHJvcHMnO1xuXG5jb25zdCBNb250aFdyYXBwZXIgPSBzdHlsZWQoQm94LCBvbWl0UHJvcHMoWydtb250aHNUb0Rpc3BsYXknLCAnc3RhY2tlZCddKSlgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAke3RoZW1lR2V0KCdzcGFjZS40Jyl9O1xuICB3aWR0aDogJHtwcm9wcyA9PiBgJHsxMDAgLyBwcm9wcy5tb250aHNUb0Rpc3BsYXl9JWB9O1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuc3RhY2tlZCAmJlxuICAgIGNzc2BcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJHt0aGVtZUdldCgnc3BhY2UuOCcpKHByb3BzKX07XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgYH07XG5gO1xuXG5Nb250aFdyYXBwZXIuZGlzcGxheU5hbWUgPSAnTW9udGhXcmFwcGVyJztcblxuY29uc3QgQ2FsZW5kYXJNb250aCA9ICh7XG4gIG1vbnRoc1RvRGlzcGxheSwgbW9udGgsIG1vbnRoTmFtZSwgeWVhciwgc3RhY2tlZCwgd2Vla2RheU5hbWVzLFxuICB3ZWVrcywgZ2V0RGF0ZVByb3BzLCBkaXNhYmxlZERhdGVzLCBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXMsXG4gIG9uTW91c2VFbnRlck9mRGF5LCBpc0luUmFuZ2UsXG59KSA9PiAoXG4gIDxNb250aFdyYXBwZXIgbW9udGhzVG9EaXNwbGF5PXttb250aHNUb0Rpc3BsYXl9IHN0YWNrZWQ9e3N0YWNrZWR9PlxuICAgIDxUZXh0IHRleHRTdHlsZT1cImNhcHNcIj5cbiAgICAgIHttb250aE5hbWV9IHt5ZWFyfVxuICAgIDwvVGV4dD5cbiAgICA8Q2FsZW5kYXJXZWVrZGF5cyBtb250aD17bW9udGh9IHllYXI9e3llYXJ9IHdlZWtkYXlOYW1lcz17d2Vla2RheU5hbWVzfSAvPlxuICAgIDxDYWxlbmRhckRheXNcbiAgICAgIHdlZWtzPXt3ZWVrc31cbiAgICAgIG1vbnRoPXttb250aH1cbiAgICAgIHllYXI9e3llYXJ9XG4gICAgICBnZXREYXRlUHJvcHM9e2dldERhdGVQcm9wc31cbiAgICAgIGRpc2FibGVkRGF0ZXM9e2Rpc2FibGVkRGF0ZXN9XG4gICAgICBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXM9e2ludGVyYWN0aXZlRGlzYWJsZWREYXRlc31cbiAgICAgIG9uTW91c2VFbnRlck9mRGF5PXtvbk1vdXNlRW50ZXJPZkRheX1cbiAgICAgIGlzSW5SYW5nZT17aXNJblJhbmdlfVxuICAgIC8+XG4gIDwvTW9udGhXcmFwcGVyPlxuKTtcblxuTW9udGhXcmFwcGVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uQm94LmRlZmF1bHRQcm9wcyxcbn07XG5cbkNhbGVuZGFyTW9udGguZGVmYXVsdFByb3BzID0ge1xuICBtb250aHNUb0Rpc3BsYXk6IDEsXG4gIHN0YWNrZWQ6IGZhbHNlLFxuICBkaXNhYmxlZERhdGVzOiBbXSxcbiAgaW50ZXJhY3RpdmVEaXNhYmxlZERhdGVzOiBmYWxzZSxcbiAgaXNJblJhbmdlOiAoKSA9PiB7fSxcbiAgb25Nb3VzZUVudGVyT2ZEYXk6ICgpID0+IHt9LFxufTtcblxuQ2FsZW5kYXJNb250aC5wcm9wVHlwZXMgPSB7XG4gIG1vbnRoOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHllYXI6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgbW9udGhOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHdlZWtzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYXJyYXkpLmlzUmVxdWlyZWQsXG4gIHdlZWtkYXlOYW1lczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWREYXRlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmluc3RhbmNlT2YoRGF0ZSkpLFxuICBpbnRlcmFjdGl2ZURpc2FibGVkRGF0ZXM6IFByb3BUeXBlcy5ib29sLFxuICBtb250aHNUb0Rpc3BsYXk6IFByb3BUeXBlcy5udW1iZXIsXG4gIHN0YWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICBnZXREYXRlUHJvcHM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uTW91c2VFbnRlck9mRGF5OiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNJblJhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENhbGVuZGFyTW9udGg7XG4iXX0= */")); 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 React.createElement(MonthWrapper, { monthsToDisplay: monthsToDisplay, stacked: stacked }, React.createElement(Text, { textStyle: "caps" }, monthName, " ", year), React.createElement(CalendarWeekdays, { month: month, year: year, weekdayNames: weekdayNames }), React.createElement(CalendarDays, { weeks: weeks, month: month, year: year, getDateProps: getDateProps, disabledDates: disabledDates, interactiveDisabledDates: interactiveDisabledDates, onMouseEnterOfDay: onMouseEnterOfDay, isInRange: isInRange })); }; MonthWrapper.defaultProps = _objectSpread({}, Box.defaultProps); CalendarMonth.defaultProps = { monthsToDisplay: 1, stacked: false, disabledDates: [], interactiveDisabledDates: false, isInRange: function isInRange() {}, onMouseEnterOfDay: function onMouseEnterOfDay() {} }; CalendarMonth.propTypes = { month: PropTypes.number.isRequired, year: PropTypes.number.isRequired, monthName: PropTypes.string.isRequired, weeks: PropTypes.arrayOf(PropTypes.array).isRequired, weekdayNames: PropTypes.arrayOf(PropTypes.string).isRequired, disabledDates: PropTypes.arrayOf(PropTypes.instanceOf(Date)), interactiveDisabledDates: PropTypes.bool, monthsToDisplay: PropTypes.number, stacked: PropTypes.bool, getDateProps: PropTypes.func.isRequired, onMouseEnterOfDay: PropTypes.func, isInRange: PropTypes.func }; export default CalendarMonth;