UNPKG

@apptane/react-ui-calendar

Version:
206 lines (171 loc) 26.8 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import { Pane } from "@apptane/react-ui-pane"; import { useVisualAppearance } from "@apptane/react-ui-theme"; import { Text } from "@apptane/react-ui-typography"; import { css } from "@emotion/react"; import { differenceInCalendarDays, getDay, isAfter, isBefore, isSameDay, isToday, lastDayOfMonth } from "date-fns"; import { CalendarDayCornerBL, CalendarDayCornerBR, CalendarDayCornerTL, CalendarDayCornerTR, CalendarMonthPropTypes } from "./Calendar.types.js"; import { CalendarDay } from "./CalendarDay.js"; import { jsx as _jsx } from "@emotion/react/jsx-runtime"; import { jsxs as _jsxs } from "@emotion/react/jsx-runtime"; const StyleContainer = width => /*#__PURE__*/css("width:", width, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyleContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DYWxlbmRhck1vbnRoLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlNkMiLCJmaWxlIjoiLi4vc3JjL0NhbGVuZGFyTW9udGgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFuZSB9IGZyb20gXCJAYXBwdGFuZS9yZWFjdC11aS1wYW5lXCI7XG5pbXBvcnQgeyB1c2VWaXN1YWxBcHBlYXJhbmNlIH0gZnJvbSBcIkBhcHB0YW5lL3JlYWN0LXVpLXRoZW1lXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIkBhcHB0YW5lL3JlYWN0LXVpLXR5cG9ncmFwaHlcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLCBnZXREYXksIGlzQWZ0ZXIsIGlzQmVmb3JlLCBpc1NhbWVEYXksIGlzVG9kYXksIGxhc3REYXlPZk1vbnRoIH0gZnJvbSBcImRhdGUtZm5zXCI7XG5pbXBvcnQge1xuICBDYWxlbmRhckRheUNvcm5lckJMLFxuICBDYWxlbmRhckRheUNvcm5lckJSLFxuICBDYWxlbmRhckRheUNvcm5lclRMLFxuICBDYWxlbmRhckRheUNvcm5lclRSLFxuICBDYWxlbmRhck1vbnRoUHJvcHMsXG4gIENhbGVuZGFyTW9udGhQcm9wVHlwZXMsXG59IGZyb20gXCIuL0NhbGVuZGFyLnR5cGVzLmpzXCI7XG5pbXBvcnQgeyBDYWxlbmRhckRheSB9IGZyb20gXCIuL0NhbGVuZGFyRGF5LmpzXCI7XG5cbmNvbnN0IFN0eWxlQ29udGFpbmVyID0gKHdpZHRoOiBudW1iZXIpID0+IGNzc2BcbiAgd2lkdGg6ICR7d2lkdGh9cHg7XG5gO1xuXG5jb25zdCBTdHlsZUhlYWRlciA9IChzaXplOiBudW1iZXIpID0+IGNzc2BcbiAgd2lkdGg6ICR7c2l6ZX1weDtcbiAgaGVpZ2h0OiAke3NpemV9cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBET1dzID0gW1wiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCIsIFwiU3VuXCJdOyAvLyBUT0RPOiBpMThuXG5cbi8qKlxuICogYENhbGVuZGFyTW9udGhgIGNvbXBvbmVudCDigJQgcmVuZGVycyBpbmRpdmlkdWFsIG1vbnRoIHBhbmUgaW4gdGhlIGNhbGVuZGFyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsZW5kYXJNb250aCh7XG4gIGNvbG9yTW9kZSxcbiAgYXBwZWFyYW5jZSxcbiAgeWVhcixcbiAgbW9udGgsXG4gIHNlbGVjdGVkLFxuICByYW5nZVN0YXJ0LFxuICByYW5nZUVuZCxcbiAgbm90QmVmb3JlLFxuICBub3RBZnRlcixcbiAgd2Vla1N0YXJ0c09uU3VuZGF5LFxuICBvbkNsaWNrLFxufTogQ2FsZW5kYXJNb250aFByb3BzKSB7XG4gIGNvbnN0IFt2aXN1YWxBcHBlYXJhbmNlLCB0aGVtZSwgYWN0dWFsQ29sb3JNb2RlXSA9IHVzZVZpc3VhbEFwcGVhcmFuY2UoXCJjYWxlbmRhclwiLCBjb2xvck1vZGUsIGFwcGVhcmFuY2UpO1xuICBjb25zdCB2aXN1YWxTdHlsZSA9IHRoZW1lLmNvbXBvbmVudHMuY2FsZW5kYXIuc3R5bGU7XG5cbiAgY29uc3QgY2hpbGRQcm9wcyA9IHsgdGhlbWUsIGNvbG9yTW9kZTogYWN0dWFsQ29sb3JNb2RlIH07XG5cbiAgY29uc3QgdGhpc01vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xuICBjb25zdCBwcmV2WWVhciA9IG1vbnRoID09PSAwID8geWVhciAtIDEgOiB5ZWFyO1xuICBjb25zdCBwcmV2TW9udGggPSBtb250aCA9PT0gMCA/IDExIDogbW9udGggLSAxO1xuICBjb25zdCBuZXh0WWVhciA9IG1vbnRoID09PSAxMSA/IHllYXIgKyAxIDogeWVhcjtcbiAgY29uc3QgbmV4dE1vbnRoID0gbW9udGggPT09IDExID8gMCA6IG1vbnRoICsgMTtcblxuICBjb25zdCBwcmV2TGFzdERhdGUgPSBsYXN0RGF5T2ZNb250aChuZXcgRGF0ZShwcmV2WWVhciwgcHJldk1vbnRoLCAxKSk7XG4gIGNvbnN0IHRoaXNMYXN0RGF0ZSA9IGxhc3REYXlPZk1vbnRoKHRoaXNNb250aCk7XG4gIGNvbnN0IHRoaXNMYXN0RGF5ID0gdGhpc0xhc3REYXRlLmdldERhdGUoKTtcbiAgY29uc3QgcHJldkxhc3REYXkgPSBwcmV2TGFzdERhdGUuZ2V0RGF0ZSgpO1xuXG4gIC8vIDAgPSBTdSwgMSA9IE1vLCAuLi4gNiA9IFNhXG4gIGxldCB0aGlzRmlyc3REb3c6IG51bWJlciA9IGdldERheSh0aGlzTW9udGgpO1xuICBpZiAoIXdlZWtTdGFydHNPblN1bmRheSkge1xuICAgIHRoaXNGaXJzdERvdyA9ICh0aGlzRmlyc3REb3cgKyA2KSAlIDc7XG4gIH1cblxuICAvLyBkaWZmUmFuZ2VTdGFydFRvRmlyc3REYXkgPSByYW5nZVN0YXJ0IC0gdGhpc01vbnRoXG4gIC8vIGRpZmZSYW5nZUVuZFRvRmlyc3REYXkgPSByYW5nZUVuZCAtIHRoaXNNb250aFxuICBjb25zdCBkaWZmUmFuZ2VTdGFydFRvRmlyc3REYXkgPSByYW5nZVN0YXJ0ICE9IG51bGwgPyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMocmFuZ2VTdGFydCwgdGhpc01vbnRoKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgZGlmZlJhbmdlRW5kVG9GaXJzdERheSA9IHJhbmdlRW5kICE9IG51bGwgPyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMocmFuZ2VFbmQsIHRoaXNNb250aCkgOiB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0KGQ6IG51bWJlciwgaTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyBubyByYW5nZSBkZWZpbmVkXG4gICAgaWYgKGRpZmZSYW5nZVN0YXJ0VG9GaXJzdERheSA9PSBudWxsIHx8IGRpZmZSYW5nZUVuZFRvRmlyc3REYXkgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8vIG5lZ2F0aXZlID0gZGF5cyBiZWZvcmUgcmFuZ2UgYm91bmRhcnlcbiAgICAvLyB6ZXJvID0gYXQgcmFuZ2UgYm91bmRhcnkgZXhhY3RseVxuICAgIC8vIHBvc2l0aXZlID0gZGF5cyBhZnRlciByYW5nZSBib3VuZGFyeVxuICAgIGNvbnN0IGRlbHRhUmFuZ2VTdGFydCA9IGQgLSAxIC0gZGlmZlJhbmdlU3RhcnRUb0ZpcnN0RGF5O1xuICAgIGNvbnN0IGRlbHRhUmFuZ2VFbmQgPSBkIC0gMSAtIGRpZmZSYW5nZUVuZFRvRmlyc3REYXk7XG5cbiAgICAvLyBvdXRzaWRlIG9mIHRoZSByYW5nZVxuICAgIGlmIChkZWx0YVJhbmdlU3RhcnQgPCAwIHx8IGRlbHRhUmFuZ2VFbmQgPiAwKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RXZWVrID0gZGVsdGFSYW5nZVN0YXJ0IDwgNztcbiAgICBjb25zdCBsYXN0V2VlayA9IGRlbHRhUmFuZ2VFbmQgPiAtNztcblxuICAgIGxldCBjb3JuZXJzID0gMDtcblxuICAgIC8vIHN0YXJ0IG9mIHRoZSBtb250aFxuICAgIC8vIHN0YXJ0IG9mIHRoZSByYW5nZVxuICAgIC8vIHN0YXJ0IG9mIHRoZSB3ZWVrIHdpdGhpbiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgcmFuZ2VcbiAgICBpZiAoZCA9PT0gMSB8fCBkZWx0YVJhbmdlU3RhcnQgPT09IDAgfHwgKGkgPT09IDAgJiYgZmlyc3RXZWVrKSkge1xuICAgICAgY29ybmVycyB8PSBDYWxlbmRhckRheUNvcm5lclRMO1xuICAgIH1cblxuICAgIC8vIGVuZCBvZiB0aGUgbW9udGhcbiAgICAvLyBlbmQgb2YgdGhlIHJhbmdlXG4gICAgLy8gZW5kIG9mIHRoZSB3ZWVrIHdpdGhpbiB0aGUgbGFzdCB3ZWVrIG9mIHRoZSByYW5nZVxuICAgIGlmIChkID09PSB0aGlzTGFzdERheSB8fCBkZWx0YVJhbmdlRW5kID09PSAwIHx8IChpID09PSA2ICYmIGxhc3RXZWVrKSkge1xuICAgICAgY29ybmVycyB8PSBDYWxlbmRhckRheUNvcm5lckJSO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0IG9mIHRoZSByYW5nZSB3aXRoaW4gdGhlIGxhc3Qgd2VlayBvZiB0aGUgcmFuZ2VcbiAgICAvLyBzdGFydCB0aGUgd2VlayB3aXRoaW4gdGhlIGxhc3Qgd2VlayBvZiB0aGUgcmFuZ2VcbiAgICBpZiAoKGRlbHRhUmFuZ2VTdGFydCA9PT0gMCAmJiBsYXN0V2VlaykgfHwgKGkgPT09IDAgJiYgbGFzdFdlZWspKSB7XG4gICAgICBjb3JuZXJzIHw9IENhbGVuZGFyRGF5Q29ybmVyQkw7XG4gICAgfVxuXG4gICAgLy8gZW5kIG9mIHRoZSByYW5nZSB3aXRoaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHJhbmdlXG4gICAgLy8gZW5kIHRoZSB3ZWVrIHdpdGhpbiB0aGUgZmlyc3Qgd2VlayBvZiB0aGUgcmFuZ2VcbiAgICBpZiAoKGRlbHRhUmFuZ2VFbmQgPT09IDAgJiYgZmlyc3RXZWVrKSB8fCAoaSA9PT0gNiAmJiBmaXJzdFdlZWspKSB7XG4gICAgICBjb3JuZXJzIHw9IENhbGVuZGFyRGF5Q29ybmVyVFI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcm5lcnM7XG4gIH1cblxuICBmdW5jdGlvbiBpbnRlcmFjdGl2ZShkOiBEYXRlKSB7XG4gICAgaWYgKG5vdEJlZm9yZSAhPSBudWxsICYmIGlzQmVmb3JlKGQsIG5vdEJlZm9yZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAobm90QWZ0ZXIgIT0gbnVsbCAmJiBpc0FmdGVyKGQsIG5vdEFmdGVyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgbGV0IHRoaXNEYXkgPSAxO1xuICBsZXQgbmV4dERheSA9IDE7XG4gIGNvbnN0IHdlZWtzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICBmb3IgKGxldCB3ID0gMDsgdyA8IDU7ICsrdykge1xuICAgIGNvbnN0IGRheXM6IFJlYWN0LlJlYWN0Tm9kZVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyArK2kpIHtcbiAgICAgIGlmICh3ID09PSAwICYmIGkgPCB0aGlzRmlyc3REb3cpIHtcbiAgICAgICAgY29uc3QgZCA9IHByZXZMYXN0RGF5IC0gdGhpc0ZpcnN0RG93ICsgaSArIDE7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShwcmV2WWVhciwgcHJldk1vbnRoLCBkKTtcbiAgICAgICAgZGF5cy5wdXNoKFxuICAgICAgICAgIDxDYWxlbmRhckRheVxuICAgICAgICAgICAga2V5PXtgJHtwcmV2TW9udGh9LSR7ZH1gfVxuICAgICAgICAgICAgey4uLmNoaWxkUHJvcHN9XG4gICAgICAgICAgICBkYXRlPXtkYXRlfVxuICAgICAgICAgICAgZGF5PXtkfVxuICAgICAgICAgICAgdG9kYXk9e2lzVG9kYXkoZGF0ZSl9XG4gICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWQgJiYgaXNTYW1lRGF5KHNlbGVjdGVkLCBkYXRlKX1cbiAgICAgICAgICAgIG11dGVkXG4gICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrICE9IG51bGwgJiYgaW50ZXJhY3RpdmUoZGF0ZSkgPyBvbkNsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXNEYXkgPD0gdGhpc0xhc3REYXkpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCB0aGlzRGF5KTtcbiAgICAgICAgY29uc3QgaCA9IGhpZ2hsaWdodCh0aGlzRGF5LCBpKTtcbiAgICAgICAgZGF5cy5wdXNoKFxuICAgICAgICAgIDxDYWxlbmRhckRheVxuICAgICAgICAgICAga2V5PXtgJHttb250aH0tJHt0aGlzRGF5fWB9XG4gICAgICAgICAgICB7Li4uY2hpbGRQcm9wc31cbiAgICAgICAgICAgIGRhdGU9e2RhdGV9XG4gICAgICAgICAgICBkYXk9e3RoaXNEYXl9XG4gICAgICAgICAgICB0b2RheT17aXNUb2RheShkYXRlKX1cbiAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZCAmJiBpc1NhbWVEYXkoc2VsZWN0ZWQsIGRhdGUpfVxuICAgICAgICAgICAgaGlnaGxpZ2h0PXtoID49IDB9XG4gICAgICAgICAgICBjb3JuZXJzPXtofVxuICAgICAgICAgICAgb25DbGljaz17b25DbGljayAhPSBudWxsICYmIGludGVyYWN0aXZlKGRhdGUpID8gb25DbGljayA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuXG4gICAgICAgICsrdGhpc0RheTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShuZXh0WWVhciwgbmV4dE1vbnRoLCBuZXh0RGF5KTtcbiAgICAgICAgZGF5cy5wdXNoKFxuICAgICAgICAgIDxDYWxlbmRhckRheVxuICAgICAgICAgICAga2V5PXtgJHtuZXh0TW9udGh9LSR7bmV4dERheX1gfVxuICAgICAgICAgICAgey4uLmNoaWxkUHJvcHN9XG4gICAgICAgICAgICBkYXRlPXtkYXRlfVxuICAgICAgICAgICAgZGF5PXtuZXh0RGF5fVxuICAgICAgICAgICAgdG9kYXk9e2lzVG9kYXkoZGF0ZSl9XG4gICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWQgJiYgaXNTYW1lRGF5KHNlbGVjdGVkLCBkYXRlKX1cbiAgICAgICAgICAgIG11dGVkXG4gICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrICE9IG51bGwgJiYgaW50ZXJhY3RpdmUoZGF0ZSkgPyBvbkNsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG5cbiAgICAgICAgKytuZXh0RGF5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHdlZWtzLnB1c2goXG4gICAgICA8UGFuZSBrZXk9e2BfJHt3fWB9IG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiPlxuICAgICAgICB7ZGF5c31cbiAgICAgIDwvUGFuZT5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgaGVhZGVyOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDc7ICsraSkge1xuICAgIGhlYWRlci5wdXNoKFxuICAgICAgPGRpdiBrZXk9e2BfJHtpfWB9IGNzcz17U3R5bGVIZWFkZXIodmlzdWFsU3R5bGUuc2l6ZSl9IHJvbGU9XCJjb2x1bW5oZWFkZXJcIj5cbiAgICAgICAgPFRleHQgey4uLnZpc3VhbFN0eWxlLmZvbnQuaGVhZGVyfSBjb2xvcj17dmlzdWFsQXBwZWFyYW5jZS50ZXh0LmRvd30+XG4gICAgICAgICAge0RPV3Nbd2Vla1N0YXJ0c09uU3VuZGF5ID8gKGkgKyA2KSAlIDcgOiBpXX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e1N0eWxlQ29udGFpbmVyKHZpc3VhbFN0eWxlLnNpemUgKiA3KX0gcm9sZT1cImdyaWRcIj5cbiAgICAgIDxQYW5lIGdyb3c9ezF9IG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiPlxuICAgICAgICB7aGVhZGVyfVxuICAgICAgPC9QYW5lPlxuICAgICAge3dlZWtzfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5DYWxlbmRhck1vbnRoLmRpc3BsYXlOYW1lID0gXCJDYWxlbmRhck1vbnRoXCI7XG5DYWxlbmRhck1vbnRoLnByb3BUeXBlcyA9IENhbGVuZGFyTW9udGhQcm9wVHlwZXM7XG5cbmV4cG9ydCBkZWZhdWx0IENhbGVuZGFyTW9udGg7XG4iXX0= */"); const StyleHeader = size => /*#__PURE__*/css("width:", size, "px;height:", size, "px;display:grid;place-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyleHeader;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DYWxlbmRhck1vbnRoLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQnlDIiwiZmlsZSI6Ii4uL3NyYy9DYWxlbmRhck1vbnRoLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhbmUgfSBmcm9tIFwiQGFwcHRhbmUvcmVhY3QtdWktcGFuZVwiO1xuaW1wb3J0IHsgdXNlVmlzdWFsQXBwZWFyYW5jZSB9IGZyb20gXCJAYXBwdGFuZS9yZWFjdC11aS10aGVtZVwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCJAYXBwdGFuZS9yZWFjdC11aS10eXBvZ3JhcGh5XCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cywgZ2V0RGF5LCBpc0FmdGVyLCBpc0JlZm9yZSwgaXNTYW1lRGF5LCBpc1RvZGF5LCBsYXN0RGF5T2ZNb250aCB9IGZyb20gXCJkYXRlLWZuc1wiO1xuaW1wb3J0IHtcbiAgQ2FsZW5kYXJEYXlDb3JuZXJCTCxcbiAgQ2FsZW5kYXJEYXlDb3JuZXJCUixcbiAgQ2FsZW5kYXJEYXlDb3JuZXJUTCxcbiAgQ2FsZW5kYXJEYXlDb3JuZXJUUixcbiAgQ2FsZW5kYXJNb250aFByb3BzLFxuICBDYWxlbmRhck1vbnRoUHJvcFR5cGVzLFxufSBmcm9tIFwiLi9DYWxlbmRhci50eXBlcy5qc1wiO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXkgfSBmcm9tIFwiLi9DYWxlbmRhckRheS5qc1wiO1xuXG5jb25zdCBTdHlsZUNvbnRhaW5lciA9ICh3aWR0aDogbnVtYmVyKSA9PiBjc3NgXG4gIHdpZHRoOiAke3dpZHRofXB4O1xuYDtcblxuY29uc3QgU3R5bGVIZWFkZXIgPSAoc2l6ZTogbnVtYmVyKSA9PiBjc3NgXG4gIHdpZHRoOiAke3NpemV9cHg7XG4gIGhlaWdodDogJHtzaXplfXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgRE9XcyA9IFtcIk1vblwiLCBcIlR1ZVwiLCBcIldlZFwiLCBcIlRodVwiLCBcIkZyaVwiLCBcIlNhdFwiLCBcIlN1blwiXTsgLy8gVE9ETzogaTE4blxuXG4vKipcbiAqIGBDYWxlbmRhck1vbnRoYCBjb21wb25lbnQg4oCUIHJlbmRlcnMgaW5kaXZpZHVhbCBtb250aCBwYW5lIGluIHRoZSBjYWxlbmRhci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhbGVuZGFyTW9udGgoe1xuICBjb2xvck1vZGUsXG4gIGFwcGVhcmFuY2UsXG4gIHllYXIsXG4gIG1vbnRoLFxuICBzZWxlY3RlZCxcbiAgcmFuZ2VTdGFydCxcbiAgcmFuZ2VFbmQsXG4gIG5vdEJlZm9yZSxcbiAgbm90QWZ0ZXIsXG4gIHdlZWtTdGFydHNPblN1bmRheSxcbiAgb25DbGljayxcbn06IENhbGVuZGFyTW9udGhQcm9wcykge1xuICBjb25zdCBbdmlzdWFsQXBwZWFyYW5jZSwgdGhlbWUsIGFjdHVhbENvbG9yTW9kZV0gPSB1c2VWaXN1YWxBcHBlYXJhbmNlKFwiY2FsZW5kYXJcIiwgY29sb3JNb2RlLCBhcHBlYXJhbmNlKTtcbiAgY29uc3QgdmlzdWFsU3R5bGUgPSB0aGVtZS5jb21wb25lbnRzLmNhbGVuZGFyLnN0eWxlO1xuXG4gIGNvbnN0IGNoaWxkUHJvcHMgPSB7IHRoZW1lLCBjb2xvck1vZGU6IGFjdHVhbENvbG9yTW9kZSB9O1xuXG4gIGNvbnN0IHRoaXNNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgY29uc3QgcHJldlllYXIgPSBtb250aCA9PT0gMCA/IHllYXIgLSAxIDogeWVhcjtcbiAgY29uc3QgcHJldk1vbnRoID0gbW9udGggPT09IDAgPyAxMSA6IG1vbnRoIC0gMTtcbiAgY29uc3QgbmV4dFllYXIgPSBtb250aCA9PT0gMTEgPyB5ZWFyICsgMSA6IHllYXI7XG4gIGNvbnN0IG5leHRNb250aCA9IG1vbnRoID09PSAxMSA/IDAgOiBtb250aCArIDE7XG5cbiAgY29uc3QgcHJldkxhc3REYXRlID0gbGFzdERheU9mTW9udGgobmV3IERhdGUocHJldlllYXIsIHByZXZNb250aCwgMSkpO1xuICBjb25zdCB0aGlzTGFzdERhdGUgPSBsYXN0RGF5T2ZNb250aCh0aGlzTW9udGgpO1xuICBjb25zdCB0aGlzTGFzdERheSA9IHRoaXNMYXN0RGF0ZS5nZXREYXRlKCk7XG4gIGNvbnN0IHByZXZMYXN0RGF5ID0gcHJldkxhc3REYXRlLmdldERhdGUoKTtcblxuICAvLyAwID0gU3UsIDEgPSBNbywgLi4uIDYgPSBTYVxuICBsZXQgdGhpc0ZpcnN0RG93OiBudW1iZXIgPSBnZXREYXkodGhpc01vbnRoKTtcbiAgaWYgKCF3ZWVrU3RhcnRzT25TdW5kYXkpIHtcbiAgICB0aGlzRmlyc3REb3cgPSAodGhpc0ZpcnN0RG93ICsgNikgJSA3O1xuICB9XG5cbiAgLy8gZGlmZlJhbmdlU3RhcnRUb0ZpcnN0RGF5ID0gcmFuZ2VTdGFydCAtIHRoaXNNb250aFxuICAvLyBkaWZmUmFuZ2VFbmRUb0ZpcnN0RGF5ID0gcmFuZ2VFbmQgLSB0aGlzTW9udGhcbiAgY29uc3QgZGlmZlJhbmdlU3RhcnRUb0ZpcnN0RGF5ID0gcmFuZ2VTdGFydCAhPSBudWxsID8gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHJhbmdlU3RhcnQsIHRoaXNNb250aCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGRpZmZSYW5nZUVuZFRvRmlyc3REYXkgPSByYW5nZUVuZCAhPSBudWxsID8gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHJhbmdlRW5kLCB0aGlzTW9udGgpIDogdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhpZ2hsaWdodChkOiBudW1iZXIsIGk6IG51bWJlcik6IG51bWJlciB7XG4gICAgLy8gbm8gcmFuZ2UgZGVmaW5lZFxuICAgIGlmIChkaWZmUmFuZ2VTdGFydFRvRmlyc3REYXkgPT0gbnVsbCB8fCBkaWZmUmFuZ2VFbmRUb0ZpcnN0RGF5ID09IG51bGwpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICAvLyBuZWdhdGl2ZSA9IGRheXMgYmVmb3JlIHJhbmdlIGJvdW5kYXJ5XG4gICAgLy8gemVybyA9IGF0IHJhbmdlIGJvdW5kYXJ5IGV4YWN0bHlcbiAgICAvLyBwb3NpdGl2ZSA9IGRheXMgYWZ0ZXIgcmFuZ2UgYm91bmRhcnlcbiAgICBjb25zdCBkZWx0YVJhbmdlU3RhcnQgPSBkIC0gMSAtIGRpZmZSYW5nZVN0YXJ0VG9GaXJzdERheTtcbiAgICBjb25zdCBkZWx0YVJhbmdlRW5kID0gZCAtIDEgLSBkaWZmUmFuZ2VFbmRUb0ZpcnN0RGF5O1xuXG4gICAgLy8gb3V0c2lkZSBvZiB0aGUgcmFuZ2VcbiAgICBpZiAoZGVsdGFSYW5nZVN0YXJ0IDwgMCB8fCBkZWx0YVJhbmdlRW5kID4gMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0V2VlayA9IGRlbHRhUmFuZ2VTdGFydCA8IDc7XG4gICAgY29uc3QgbGFzdFdlZWsgPSBkZWx0YVJhbmdlRW5kID4gLTc7XG5cbiAgICBsZXQgY29ybmVycyA9IDA7XG5cbiAgICAvLyBzdGFydCBvZiB0aGUgbW9udGhcbiAgICAvLyBzdGFydCBvZiB0aGUgcmFuZ2VcbiAgICAvLyBzdGFydCBvZiB0aGUgd2VlayB3aXRoaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHJhbmdlXG4gICAgaWYgKGQgPT09IDEgfHwgZGVsdGFSYW5nZVN0YXJ0ID09PSAwIHx8IChpID09PSAwICYmIGZpcnN0V2VlaykpIHtcbiAgICAgIGNvcm5lcnMgfD0gQ2FsZW5kYXJEYXlDb3JuZXJUTDtcbiAgICB9XG5cbiAgICAvLyBlbmQgb2YgdGhlIG1vbnRoXG4gICAgLy8gZW5kIG9mIHRoZSByYW5nZVxuICAgIC8vIGVuZCBvZiB0aGUgd2VlayB3aXRoaW4gdGhlIGxhc3Qgd2VlayBvZiB0aGUgcmFuZ2VcbiAgICBpZiAoZCA9PT0gdGhpc0xhc3REYXkgfHwgZGVsdGFSYW5nZUVuZCA9PT0gMCB8fCAoaSA9PT0gNiAmJiBsYXN0V2VlaykpIHtcbiAgICAgIGNvcm5lcnMgfD0gQ2FsZW5kYXJEYXlDb3JuZXJCUjtcbiAgICB9XG5cbiAgICAvLyBzdGFydCBvZiB0aGUgcmFuZ2Ugd2l0aGluIHRoZSBsYXN0IHdlZWsgb2YgdGhlIHJhbmdlXG4gICAgLy8gc3RhcnQgdGhlIHdlZWsgd2l0aGluIHRoZSBsYXN0IHdlZWsgb2YgdGhlIHJhbmdlXG4gICAgaWYgKChkZWx0YVJhbmdlU3RhcnQgPT09IDAgJiYgbGFzdFdlZWspIHx8IChpID09PSAwICYmIGxhc3RXZWVrKSkge1xuICAgICAgY29ybmVycyB8PSBDYWxlbmRhckRheUNvcm5lckJMO1xuICAgIH1cblxuICAgIC8vIGVuZCBvZiB0aGUgcmFuZ2Ugd2l0aGluIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSByYW5nZVxuICAgIC8vIGVuZCB0aGUgd2VlayB3aXRoaW4gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHJhbmdlXG4gICAgaWYgKChkZWx0YVJhbmdlRW5kID09PSAwICYmIGZpcnN0V2VlaykgfHwgKGkgPT09IDYgJiYgZmlyc3RXZWVrKSkge1xuICAgICAgY29ybmVycyB8PSBDYWxlbmRhckRheUNvcm5lclRSO1xuICAgIH1cblxuICAgIHJldHVybiBjb3JuZXJzO1xuICB9XG5cbiAgZnVuY3Rpb24gaW50ZXJhY3RpdmUoZDogRGF0ZSkge1xuICAgIGlmIChub3RCZWZvcmUgIT0gbnVsbCAmJiBpc0JlZm9yZShkLCBub3RCZWZvcmUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKG5vdEFmdGVyICE9IG51bGwgJiYgaXNBZnRlcihkLCBub3RBZnRlcikpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGxldCB0aGlzRGF5ID0gMTtcbiAgbGV0IG5leHREYXkgPSAxO1xuICBjb25zdCB3ZWVrczogUmVhY3QuUmVhY3ROb2RlW10gPSBbXTtcbiAgZm9yIChsZXQgdyA9IDA7IHcgPCA1OyArK3cpIHtcbiAgICBjb25zdCBkYXlzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgKytpKSB7XG4gICAgICBpZiAodyA9PT0gMCAmJiBpIDwgdGhpc0ZpcnN0RG93KSB7XG4gICAgICAgIGNvbnN0IGQgPSBwcmV2TGFzdERheSAtIHRoaXNGaXJzdERvdyArIGkgKyAxO1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUocHJldlllYXIsIHByZXZNb250aCwgZCk7XG4gICAgICAgIGRheXMucHVzaChcbiAgICAgICAgICA8Q2FsZW5kYXJEYXlcbiAgICAgICAgICAgIGtleT17YCR7cHJldk1vbnRofS0ke2R9YH1cbiAgICAgICAgICAgIHsuLi5jaGlsZFByb3BzfVxuICAgICAgICAgICAgZGF0ZT17ZGF0ZX1cbiAgICAgICAgICAgIGRheT17ZH1cbiAgICAgICAgICAgIHRvZGF5PXtpc1RvZGF5KGRhdGUpfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkICYmIGlzU2FtZURheShzZWxlY3RlZCwgZGF0ZSl9XG4gICAgICAgICAgICBtdXRlZFxuICAgICAgICAgICAgb25DbGljaz17b25DbGljayAhPSBudWxsICYmIGludGVyYWN0aXZlKGRhdGUpID8gb25DbGljayA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzRGF5IDw9IHRoaXNMYXN0RGF5KSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgdGhpc0RheSk7XG4gICAgICAgIGNvbnN0IGggPSBoaWdobGlnaHQodGhpc0RheSwgaSk7XG4gICAgICAgIGRheXMucHVzaChcbiAgICAgICAgICA8Q2FsZW5kYXJEYXlcbiAgICAgICAgICAgIGtleT17YCR7bW9udGh9LSR7dGhpc0RheX1gfVxuICAgICAgICAgICAgey4uLmNoaWxkUHJvcHN9XG4gICAgICAgICAgICBkYXRlPXtkYXRlfVxuICAgICAgICAgICAgZGF5PXt0aGlzRGF5fVxuICAgICAgICAgICAgdG9kYXk9e2lzVG9kYXkoZGF0ZSl9XG4gICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWQgJiYgaXNTYW1lRGF5KHNlbGVjdGVkLCBkYXRlKX1cbiAgICAgICAgICAgIGhpZ2hsaWdodD17aCA+PSAwfVxuICAgICAgICAgICAgY29ybmVycz17aH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2sgIT0gbnVsbCAmJiBpbnRlcmFjdGl2ZShkYXRlKSA/IG9uQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcblxuICAgICAgICArK3RoaXNEYXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUobmV4dFllYXIsIG5leHRNb250aCwgbmV4dERheSk7XG4gICAgICAgIGRheXMucHVzaChcbiAgICAgICAgICA8Q2FsZW5kYXJEYXlcbiAgICAgICAgICAgIGtleT17YCR7bmV4dE1vbnRofS0ke25leHREYXl9YH1cbiAgICAgICAgICAgIHsuLi5jaGlsZFByb3BzfVxuICAgICAgICAgICAgZGF0ZT17ZGF0ZX1cbiAgICAgICAgICAgIGRheT17bmV4dERheX1cbiAgICAgICAgICAgIHRvZGF5PXtpc1RvZGF5KGRhdGUpfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkICYmIGlzU2FtZURheShzZWxlY3RlZCwgZGF0ZSl9XG4gICAgICAgICAgICBtdXRlZFxuICAgICAgICAgICAgb25DbGljaz17b25DbGljayAhPSBudWxsICYmIGludGVyYWN0aXZlKGRhdGUpID8gb25DbGljayA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuXG4gICAgICAgICsrbmV4dERheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB3ZWVrcy5wdXNoKFxuICAgICAgPFBhbmUga2V5PXtgXyR7d31gfSBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIj5cbiAgICAgICAge2RheXN9XG4gICAgICA8L1BhbmU+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGhlYWRlcjogUmVhY3QuUmVhY3ROb2RlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA3OyArK2kpIHtcbiAgICBoZWFkZXIucHVzaChcbiAgICAgIDxkaXYga2V5PXtgXyR7aX1gfSBjc3M9e1N0eWxlSGVhZGVyKHZpc3VhbFN0eWxlLnNpemUpfSByb2xlPVwiY29sdW1uaGVhZGVyXCI+XG4gICAgICAgIDxUZXh0IHsuLi52aXN1YWxTdHlsZS5mb250LmhlYWRlcn0gY29sb3I9e3Zpc3VhbEFwcGVhcmFuY2UudGV4dC5kb3d9PlxuICAgICAgICAgIHtET1dzW3dlZWtTdGFydHNPblN1bmRheSA/IChpICsgNikgJSA3IDogaV19XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY3NzPXtTdHlsZUNvbnRhaW5lcih2aXN1YWxTdHlsZS5zaXplICogNyl9IHJvbGU9XCJncmlkXCI+XG4gICAgICA8UGFuZSBncm93PXsxfSBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIj5cbiAgICAgICAge2hlYWRlcn1cbiAgICAgIDwvUGFuZT5cbiAgICAgIHt3ZWVrc31cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuQ2FsZW5kYXJNb250aC5kaXNwbGF5TmFtZSA9IFwiQ2FsZW5kYXJNb250aFwiO1xuQ2FsZW5kYXJNb250aC5wcm9wVHlwZXMgPSBDYWxlbmRhck1vbnRoUHJvcFR5cGVzO1xuXG5leHBvcnQgZGVmYXVsdCBDYWxlbmRhck1vbnRoO1xuIl19 */"); const DOWs = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; // TODO: i18n /** * `CalendarMonth` component — renders individual month pane in the calendar. */ export function CalendarMonth(_ref) { let { colorMode, appearance, year, month, selected, rangeStart, rangeEnd, notBefore, notAfter, weekStartsOnSunday, onClick } = _ref; const [visualAppearance, theme, actualColorMode] = useVisualAppearance("calendar", colorMode, appearance); const visualStyle = theme.components.calendar.style; const childProps = { theme, colorMode: actualColorMode }; const thisMonth = new Date(year, month, 1); const prevYear = month === 0 ? year - 1 : year; const prevMonth = month === 0 ? 11 : month - 1; const nextYear = month === 11 ? year + 1 : year; const nextMonth = month === 11 ? 0 : month + 1; const prevLastDate = lastDayOfMonth(new Date(prevYear, prevMonth, 1)); const thisLastDate = lastDayOfMonth(thisMonth); const thisLastDay = thisLastDate.getDate(); const prevLastDay = prevLastDate.getDate(); // 0 = Su, 1 = Mo, ... 6 = Sa let thisFirstDow = getDay(thisMonth); if (!weekStartsOnSunday) { thisFirstDow = (thisFirstDow + 6) % 7; } // diffRangeStartToFirstDay = rangeStart - thisMonth // diffRangeEndToFirstDay = rangeEnd - thisMonth const diffRangeStartToFirstDay = rangeStart != null ? differenceInCalendarDays(rangeStart, thisMonth) : undefined; const diffRangeEndToFirstDay = rangeEnd != null ? differenceInCalendarDays(rangeEnd, thisMonth) : undefined; function highlight(d, i) { // no range defined if (diffRangeStartToFirstDay == null || diffRangeEndToFirstDay == null) { return -1; } // negative = days before range boundary // zero = at range boundary exactly // positive = days after range boundary const deltaRangeStart = d - 1 - diffRangeStartToFirstDay; const deltaRangeEnd = d - 1 - diffRangeEndToFirstDay; // outside of the range if (deltaRangeStart < 0 || deltaRangeEnd > 0) { return -1; } const firstWeek = deltaRangeStart < 7; const lastWeek = deltaRangeEnd > -7; let corners = 0; // start of the month // start of the range // start of the week within the first week of the range if (d === 1 || deltaRangeStart === 0 || i === 0 && firstWeek) { corners |= CalendarDayCornerTL; } // end of the month // end of the range // end of the week within the last week of the range if (d === thisLastDay || deltaRangeEnd === 0 || i === 6 && lastWeek) { corners |= CalendarDayCornerBR; } // start of the range within the last week of the range // start the week within the last week of the range if (deltaRangeStart === 0 && lastWeek || i === 0 && lastWeek) { corners |= CalendarDayCornerBL; } // end of the range within the first week of the range // end the week within the first week of the range if (deltaRangeEnd === 0 && firstWeek || i === 6 && firstWeek) { corners |= CalendarDayCornerTR; } return corners; } function interactive(d) { if (notBefore != null && isBefore(d, notBefore)) { return false; } if (notAfter != null && isAfter(d, notAfter)) { return false; } return true; } let thisDay = 1; let nextDay = 1; const weeks = []; for (let w = 0; w < 5; ++w) { const days = []; for (let i = 0; i < 7; ++i) { if (w === 0 && i < thisFirstDow) { const d = prevLastDay - thisFirstDow + i + 1; const date = new Date(prevYear, prevMonth, d); days.push(_jsx(CalendarDay, _objectSpread(_objectSpread({}, childProps), {}, { date: date, day: d, today: isToday(date), selected: selected && isSameDay(selected, date), muted: true, onClick: onClick != null && interactive(date) ? onClick : undefined }), "".concat(prevMonth, "-").concat(d))); } else if (thisDay <= thisLastDay) { const date = new Date(year, month, thisDay); const h = highlight(thisDay, i); days.push(_jsx(CalendarDay, _objectSpread(_objectSpread({}, childProps), {}, { date: date, day: thisDay, today: isToday(date), selected: selected && isSameDay(selected, date), highlight: h >= 0, corners: h, onClick: onClick != null && interactive(date) ? onClick : undefined }), "".concat(month, "-").concat(thisDay))); ++thisDay; } else { const date = new Date(nextYear, nextMonth, nextDay); days.push(_jsx(CalendarDay, _objectSpread(_objectSpread({}, childProps), {}, { date: date, day: nextDay, today: isToday(date), selected: selected && isSameDay(selected, date), muted: true, onClick: onClick != null && interactive(date) ? onClick : undefined }), "".concat(nextMonth, "-").concat(nextDay))); ++nextDay; } } weeks.push(_jsx(Pane, { orientation: "horizontal", children: days }, "_".concat(w))); } const header = []; for (let i = 0; i < 7; ++i) { header.push(_jsx("div", { css: StyleHeader(visualStyle.size), role: "columnheader", children: _jsx(Text, _objectSpread(_objectSpread({}, visualStyle.font.header), {}, { color: visualAppearance.text.dow, children: DOWs[weekStartsOnSunday ? (i + 6) % 7 : i] })) }, "_".concat(i))); } return _jsxs("div", { css: StyleContainer(visualStyle.size * 7), role: "grid", children: [_jsx(Pane, { grow: 1, orientation: "horizontal", children: header }), weeks] }); } CalendarMonth.displayName = "CalendarMonth"; CalendarMonth.propTypes = CalendarMonthPropTypes; export default CalendarMonth; //# sourceMappingURL=CalendarMonth.js.map