Socket
Socket
Sign inDemoInstall

react-calendar

Package Overview
Dependencies
Maintainers
3
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-calendar - npm Package Compare versions

Comparing version 3.0.1 to 3.1.0

112

dist/esm/Calendar.js
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); }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -11,15 +11,19 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -32,10 +36,14 @@ 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import React, { Component } from 'react';

@@ -51,3 +59,3 @@ import PropTypes from 'prop-types';

import { isCalendarType, isClassName, isMaxDate, isMinDate, isValue, isView } from './shared/propTypes';
import { between, callIfDefined } from './shared/utils';
import { between } from './shared/utils';
var baseClassName = 'react-calendar';

@@ -60,5 +68,5 @@ var allViews = ['century', 'decade', 'year', 'month'];

var getLimitedViews = function getLimitedViews(minDetail, maxDetail) {
function getLimitedViews(minDetail, maxDetail) {
return allViews.slice(allViews.indexOf(minDetail), allViews.indexOf(maxDetail) + 1);
};
}
/**

@@ -69,6 +77,6 @@ * Determines whether a given view is allowed with currently applied settings.

var isViewAllowed = function isViewAllowed(view, minDetail, maxDetail) {
function isViewAllowed(view, minDetail, maxDetail) {
var views = getLimitedViews(minDetail, maxDetail);
return views.indexOf(view) !== -1;
};
}
/**

@@ -80,3 +88,3 @@ * Gets either provided view if allowed by minDetail and maxDetail, or gets

var getView = function getView(view, minDetail, maxDetail) {
function getView(view, minDetail, maxDetail) {
if (isViewAllowed(view, minDetail, maxDetail)) {

@@ -87,3 +95,3 @@ return view;

return maxDetail;
};
}
/**

@@ -94,7 +102,7 @@ * Returns value type that can be returned with currently applied settings.

var getValueType = function getValueType(maxDetail) {
function getValueType(maxDetail) {
return allValueTypes[allViews.indexOf(maxDetail)];
};
}
var getValue = function getValue(value, index) {
function getValue(value, index) {
if (!value) {

@@ -117,5 +125,5 @@ return null;

return valueDate;
};
}
var getDetailValue = function getDetailValue(_ref, index) {
function getDetailValue(_ref, index) {
var value = _ref.value,

@@ -134,3 +142,3 @@ minDate = _ref.minDate,

return between(detailValueFrom, minDate, maxDate);
};
}

@@ -200,14 +208,12 @@ var getDetailValueFrom = function getDetailValueFrom(args) {

var isSingleValue = function isSingleValue(value) {
var getIsSingleValue = function getIsSingleValue(value) {
return value && [].concat(value).length === 1;
};
var Calendar =
/*#__PURE__*/
function (_Component) {
var Calendar = /*#__PURE__*/function (_Component) {
_inherits(Calendar, _Component);
var _super = _createSuper(Calendar);
function Calendar() {
var _getPrototypeOf2;
var _this;

@@ -221,3 +227,3 @@

_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Calendar)).call.apply(_getPrototypeOf2, [this].concat(_args)));
_this = _super.call.apply(_super, [this].concat(_args));

@@ -239,2 +245,3 @@ _defineProperty(_assertThisInitialized(_this), "state", {

var _this$props = _this.props,
allowPartialRange = _this$props.allowPartialRange,
onActiveStartDateChange = _this$props.onActiveStartDateChange,

@@ -264,16 +271,26 @@ onChange = _this$props.onChange,

if (shouldUpdate('activeStartDate')) {
callIfDefined(onActiveStartDateChange, args);
if (onActiveStartDateChange) onActiveStartDateChange(args);
}
if (shouldUpdate('view')) {
callIfDefined(onViewChange, args);
if (onViewChange) onViewChange(args);
}
if (shouldUpdate('value')) {
if (!selectRange || !isSingleValue(nextState.value)) {
callIfDefined(onChange, nextState.value);
if (onChange) {
if (selectRange) {
var isSingleValue = getIsSingleValue(nextState.value);
if (!isSingleValue) {
onChange(nextState.value);
} else if (allowPartialRange) {
onChange([nextState.value]);
}
} else {
onChange(nextState.value);
}
}
}
callIfDefined(callback, args);
if (callback) callback(args);
});

@@ -341,3 +358,3 @@ });

if (!isSingleValue(previousValue)) {
if (!getIsSingleValue(previousValue)) {
// Value has 0 or 2 elements - either way we're starting a new array

@@ -394,3 +411,3 @@ // First value

callIfDefined(callback, value, event);
if (callback) callback(value, event);
});

@@ -473,3 +490,3 @@

var hover = this.hover;
var activeStartDate = next ? getBeginNext(view, currentActiveStartDate) : currentActiveStartDate;
var activeStartDate = next ? getBeginNext(view, currentActiveStartDate) : getBegin(view, currentActiveStartDate);
var onClick = this.drillDownAvailable ? this.drillDown : this.onChange;

@@ -495,3 +512,3 @@ var commonProps = {

var formatYear = this.props.formatYear;
return React.createElement(CenturyView, _extends({
return /*#__PURE__*/React.createElement(CenturyView, _extends({
formatYear: formatYear

@@ -504,3 +521,3 @@ }, commonProps));

var _formatYear = this.props.formatYear;
return React.createElement(DecadeView, _extends({
return /*#__PURE__*/React.createElement(DecadeView, _extends({
formatYear: _formatYear

@@ -515,3 +532,3 @@ }, commonProps));

formatMonthYear = _this$props5.formatMonthYear;
return React.createElement(YearView, _extends({
return /*#__PURE__*/React.createElement(YearView, _extends({
formatMonth: formatMonth,

@@ -533,3 +550,3 @@ formatMonthYear: formatMonthYear

var onMouseLeave = this.onMouseLeave;
return React.createElement(MonthView, _extends({
return /*#__PURE__*/React.createElement(MonthView, _extends({
calendarType: calendarType,

@@ -539,3 +556,3 @@ formatLongDate: formatLongDate,

onClickWeekNumber: onClickWeekNumber,
onMouseLeave: onMouseLeave,
onMouseLeave: selectRange ? onMouseLeave : null,
showFixedNumberOfWeeks: showFixedNumberOfWeeks || showDoubleView,

@@ -580,3 +597,3 @@ showNeighboringMonth: showNeighboringMonth,

showDoubleView = _this$props7.showDoubleView;
return React.createElement(Navigation, {
return /*#__PURE__*/React.createElement(Navigation, {
activeStartDate: activeStartDate,

@@ -615,5 +632,5 @@ drillUp: this.drillUp,

var valueArray = [].concat(value);
return React.createElement("div", {
return /*#__PURE__*/React.createElement("div", {
className: mergeClassNames(baseClassName, selectRange && valueArray.length === 1 && "".concat(baseClassName, "--selectRange"), showDoubleView && "".concat(baseClassName, "--doubleView"), className)
}, this.renderNavigation(), React.createElement("div", {
}, this.renderNavigation(), /*#__PURE__*/React.createElement("div", {
className: "".concat(baseClassName, "__viewContainer"),

@@ -639,3 +656,3 @@ onBlur: selectRange ? onMouseLeave : null,

if (selectRange && isSingleValue(valueState)) {
if (selectRange && getIsSingleValue(valueState)) {
return valueState;

@@ -708,2 +725,3 @@ }

activeStartDate: isActiveStartDate,
allowPartialRange: PropTypes.bool,
calendarType: isCalendarType,

@@ -710,0 +728,0 @@ className: isClassName,

@@ -113,3 +113,23 @@ import React from 'react';

return React.createElement("div", {
function renderButton() {
var labelClassName = "".concat(className, "__label");
return /*#__PURE__*/React.createElement("button", {
"aria-label": navigationAriaLabel,
className: labelClassName,
disabled: !drillUpAvailable,
onClick: drillUp,
style: {
flexGrow: 1
},
type: "button"
}, /*#__PURE__*/React.createElement("span", {
className: "".concat(labelClassName, "__labelText ").concat(labelClassName, "__labelText--from")
}, renderLabel(activeStartDate)), showDoubleView && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
className: "".concat(labelClassName, "__divider")
}, ' ', "\u2013", ' '), /*#__PURE__*/React.createElement("span", {
className: "".concat(labelClassName, "__labelText ").concat(labelClassName, "__labelText--to")
}, renderLabel(nextActiveStartDate))));
}
return /*#__PURE__*/React.createElement("div", {
className: className,

@@ -119,3 +139,3 @@ style: {

}
}, prev2Label !== null && shouldShowPrevNext2Buttons && React.createElement("button", {
}, prev2Label !== null && shouldShowPrevNext2Buttons && /*#__PURE__*/React.createElement("button", {
"aria-label": prev2AriaLabel,

@@ -126,3 +146,3 @@ className: "".concat(className, "__arrow ").concat(className, "__prev2-button"),

type: "button"
}, prev2Label), React.createElement("button", {
}, prev2Label), /*#__PURE__*/React.createElement("button", {
"aria-label": prevAriaLabel,

@@ -133,12 +153,3 @@ className: "".concat(className, "__arrow ").concat(className, "__prev-button"),

type: "button"
}, prevLabel), React.createElement("button", {
"aria-label": navigationAriaLabel,
className: "".concat(className, "__label"),
disabled: !drillUpAvailable,
onClick: drillUp,
style: {
flexGrow: 1
},
type: "button"
}, renderLabel(activeStartDate), showDoubleView && React.createElement(React.Fragment, null, ' ', "\u2013", ' ', renderLabel(nextActiveStartDate))), React.createElement("button", {
}, prevLabel), renderButton(), /*#__PURE__*/React.createElement("button", {
"aria-label": nextAriaLabel,

@@ -149,3 +160,3 @@ className: "".concat(className, "__arrow ").concat(className, "__next-button"),

type: "button"
}, nextLabel), next2Label !== null && shouldShowPrevNext2Buttons && React.createElement("button", {
}, nextLabel), next2Label !== null && shouldShowPrevNext2Buttons && /*#__PURE__*/React.createElement("button", {
"aria-label": next2AriaLabel,

@@ -152,0 +163,0 @@ className: "".concat(className, "__arrow ").concat(className, "__next2-button"),

@@ -5,8 +5,8 @@ import React from 'react';

function renderDecades() {
return React.createElement(Decades, props);
return /*#__PURE__*/React.createElement(Decades, props);
}
return React.createElement("div", {
return /*#__PURE__*/React.createElement("div", {
className: "react-calendar__century-view"
}, renderDecades());
}
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -29,3 +29,3 @@ 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; }

locale = otherProps.locale;
return React.createElement(Tile, _extends({}, otherProps, {
return /*#__PURE__*/React.createElement(Tile, _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -32,0 +32,0 @@ maxDateTransform: getDecadeEnd,

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -19,3 +19,3 @@ 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; }

var end = start + 99;
return React.createElement(TileGroup, _extends({}, props, {
return /*#__PURE__*/React.createElement(TileGroup, _extends({}, props, {
className: "react-calendar__century-view__decades",

@@ -22,0 +22,0 @@ dateTransform: getDecadeStart,

@@ -5,8 +5,8 @@ import React from 'react';

function renderYears() {
return React.createElement(Years, props);
return /*#__PURE__*/React.createElement(Years, props);
}
return React.createElement("div", {
return /*#__PURE__*/React.createElement("div", {
className: "react-calendar__decade-view"
}, renderYears());
}
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -28,3 +28,3 @@ 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; }

locale = otherProps.locale;
return React.createElement(Tile, _extends({}, otherProps, {
return /*#__PURE__*/React.createElement(Tile, _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -31,0 +31,0 @@ maxDateTransform: getYearEnd,

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -18,3 +18,3 @@ 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; }

var end = start + 9;
return React.createElement(TileGroup, _extends({}, props, {
return /*#__PURE__*/React.createElement(TileGroup, _extends({}, props, {
className: "react-calendar__decade-view__years",

@@ -21,0 +21,0 @@ dateTransform: function dateTransform(year) {

@@ -5,3 +5,3 @@ 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); }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -31,3 +31,3 @@ 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; }

return React.createElement("div", _extends({
return /*#__PURE__*/React.createElement("div", _extends({
className: className,

@@ -34,0 +34,0 @@ style: _objectSpread({

@@ -35,3 +35,3 @@ 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); }

function renderWeekdays() {
return React.createElement(Weekdays, {
return /*#__PURE__*/React.createElement(Weekdays, {
calendarType: calendarType,

@@ -49,3 +49,3 @@ formatShortWeekday: formatShortWeekday,

return React.createElement(WeekNumbers, {
return /*#__PURE__*/React.createElement(WeekNumbers, {
activeStartDate: activeStartDate,

@@ -60,3 +60,3 @@ calendarType: calendarType,

function renderDays() {
return React.createElement(Days, _extends({
return /*#__PURE__*/React.createElement(Days, _extends({
calendarType: calendarType

@@ -67,5 +67,5 @@ }, childProps));

var className = 'react-calendar__month-view';
return React.createElement("div", {
return /*#__PURE__*/React.createElement("div", {
className: [className, showWeekNumbers ? "".concat(className, "--weekNumbers") : ''].join(' ')
}, React.createElement("div", {
}, /*#__PURE__*/React.createElement("div", {
style: {

@@ -75,3 +75,3 @@ display: 'flex',

}
}, renderWeekNumbers(), React.createElement("div", {
}, renderWeekNumbers(), /*#__PURE__*/React.createElement("div", {
style: {

@@ -78,0 +78,0 @@ flexGrow: 1,

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -30,3 +30,3 @@ 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; }

var date = otherProps.date;
return React.createElement(Tile, _extends({}, otherProps, {
return /*#__PURE__*/React.createElement(Tile, _extends({}, otherProps, {
classes: [].concat(classes, className, isWeekend(date, calendarType) ? "".concat(className, "--weekend") : null, date.getMonth() !== currentMonthIndex ? "".concat(className, "--neighboringMonth") : null),

@@ -33,0 +33,0 @@ formatAbbr: formatLongDate,

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -65,3 +65,3 @@ 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; }

return React.createElement(TileGroup, _extends({}, otherProps, {
return /*#__PURE__*/React.createElement(TileGroup, _extends({}, otherProps, {
className: "react-calendar__month-view__days",

@@ -68,0 +68,0 @@ count: 7,

@@ -24,6 +24,6 @@ import React from 'react';

var abbr = formatWeekday(locale, weekdayDate);
weekdays.push(React.createElement("div", {
weekdays.push( /*#__PURE__*/React.createElement("div", {
key: weekday,
className: "".concat(className, "__weekday")
}, React.createElement("abbr", {
}, /*#__PURE__*/React.createElement("abbr", {
"aria-label": abbr,

@@ -34,3 +34,3 @@ title: abbr

return React.createElement(Flex, {
return /*#__PURE__*/React.createElement(Flex, {
className: className,

@@ -37,0 +37,0 @@ count: 7,

@@ -15,4 +15,4 @@ 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); }

};
var children = React.createElement("span", null, weekNumber);
return onClickWeekNumber ? React.createElement("button", _extends({}, props, {
var children = /*#__PURE__*/React.createElement("span", null, weekNumber);
return onClickWeekNumber ? /*#__PURE__*/React.createElement("button", _extends({}, props, {
onClick: function onClick(event) {

@@ -22,3 +22,3 @@ return onClickWeekNumber(weekNumber, date, event);

type: "button"
}), children) : React.createElement("div", props, children);
}), children) : /*#__PURE__*/React.createElement("div", props, children);
}

@@ -25,0 +25,0 @@ WeekNumber.propTypes = {

@@ -42,3 +42,3 @@ import React from 'react';

});
return React.createElement(Flex, {
return /*#__PURE__*/React.createElement(Flex, {
className: "react-calendar__month-view__weekNumbers",

@@ -54,3 +54,3 @@ count: numberOfWeeks,

}, weekNumbers.map(function (weekNumber, weekIndex) {
return React.createElement(WeekNumber, {
return /*#__PURE__*/React.createElement(WeekNumber, {
key: weekNumber,

@@ -57,0 +57,0 @@ date: dates[weekIndex],

var _CALENDAR_TYPE_LOCALE;
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
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; }

@@ -12,0 +16,0 @@

@@ -1,2 +0,2 @@

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -3,0 +3,0 @@ import PropTypes from 'prop-types';

@@ -0,1 +1,13 @@

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
import { getRange } from './dates';

@@ -21,17 +33,2 @@ /**

}
/**
* Calls a function, if it's defined, with specified arguments
* @param {Function} fn
* @param {Object} args
*/
export function callIfDefined(fn) {
if (fn && typeof fn === 'function') {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
fn.apply(void 0, args);
}
}
export function isValueWithinRange(value, range) {

@@ -46,2 +43,28 @@ return range[0] <= value && range[1] >= value;

}
function getRangeClassNames(valueRange, dateRange, baseClassName) {
var isRange = doRangesOverlap(dateRange, valueRange);
var classes = [];
if (isRange) {
classes.push(baseClassName);
var isRangeStart = isValueWithinRange(valueRange[0], dateRange);
var isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
if (isRangeStart) {
classes.push("".concat(baseClassName, "Start"));
}
if (isRangeEnd) {
classes.push("".concat(baseClassName, "End"));
}
if (isRangeStart && isRangeEnd) {
classes.push("".concat(baseClassName, "BothEnds"));
}
}
return classes;
}
export function getTileClasses() {

@@ -87,24 +110,14 @@ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},

classes.push("".concat(className, "--hasActive"));
} else if (hover && ( // Date before value
dateRange[1] < valueRange[0] && doRangesOverlap(dateRange, [hover, valueRange[0]]) || // Date after value
dateRange[0] > valueRange[1] && doRangesOverlap(dateRange, [valueRange[1], hover]))) {
classes.push("".concat(className, "--hover"));
}
var isRangeStart = isValueWithinRange(valueRange[0], dateRange);
var isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
var valueRangeClassNames = getRangeClassNames(valueRange, dateRange, "".concat(className, "--range"));
classes.push.apply(classes, _toConsumableArray(valueRangeClassNames));
if (isRangeStart) {
classes.push("".concat(className, "--rangeStart"));
if (hover) {
var hoverRange = hover > valueRange[1] ? [valueRange[1], hover] : [hover, valueRange[0]];
var hoverRangeClassNames = getRangeClassNames(hoverRange, dateRange, "".concat(className, "--hover"));
classes.push.apply(classes, _toConsumableArray(hoverRangeClassNames));
}
if (isRangeEnd) {
classes.push("".concat(className, "--rangeEnd"));
}
if (isRangeStart && isRangeEnd) {
classes.push("".concat(className, "--rangeBothEnds"));
}
return classes;
}
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -13,11 +13,15 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

@@ -42,10 +46,8 @@ 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; }

var Tile =
/*#__PURE__*/
function (_Component) {
var Tile = /*#__PURE__*/function (_Component) {
_inherits(Tile, _Component);
var _super = _createSuper(Tile);
function Tile() {
var _getPrototypeOf2;
var _this;

@@ -59,3 +61,3 @@

_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Tile)).call.apply(_getPrototypeOf2, [this].concat(args)));
_this = _super.call.apply(_super, [this].concat(args));

@@ -89,3 +91,3 @@ _defineProperty(_assertThisInitialized(_this), "state", {});

tileContent = _this$state.tileContent;
return React.createElement("button", {
return /*#__PURE__*/React.createElement("button", {
className: mergeClassNames(classes, tileClassName),

@@ -108,3 +110,3 @@ disabled: minDate && minDateTransform(minDate) > date || maxDate && maxDateTransform(maxDate) < date || tileDisabled && tileDisabled({

type: "button"
}, formatAbbr ? React.createElement("abbr", {
}, formatAbbr ? /*#__PURE__*/React.createElement("abbr", {
"aria-label": formatAbbr(locale, date)

@@ -111,0 +113,0 @@ }, children) : children, tileContent);

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -39,3 +39,3 @@ 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; }

var date = dateTransform(point);
tiles.push(React.createElement(Tile, _extends({
tiles.push( /*#__PURE__*/React.createElement(Tile, _extends({
key: date.getTime(),

@@ -54,3 +54,3 @@ classes: getTileClasses({

return React.createElement(Flex, {
return /*#__PURE__*/React.createElement(Flex, {
className: className,

@@ -57,0 +57,0 @@ count: count,

@@ -5,8 +5,8 @@ import React from 'react';

function renderMonths() {
return React.createElement(Months, props);
return /*#__PURE__*/React.createElement(Months, props);
}
return React.createElement("div", {
return /*#__PURE__*/React.createElement("div", {
className: "react-calendar__year-view"
}, renderMonths());
}
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -30,3 +30,3 @@ 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; }

locale = otherProps.locale;
return React.createElement(Tile, _extends({}, otherProps, {
return /*#__PURE__*/React.createElement(Tile, _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -33,0 +33,0 @@ formatAbbr: formatMonthYear,

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -20,3 +20,3 @@ 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; }

var year = getYear(activeStartDate);
return React.createElement(TileGroup, _extends({}, props, {
return /*#__PURE__*/React.createElement(TileGroup, _extends({}, props, {
className: "react-calendar__year-view__months",

@@ -23,0 +23,0 @@ dateTransform: function dateTransform(monthIndex) {

@@ -32,7 +32,9 @@ "use strict";

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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); }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -45,15 +47,19 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -66,10 +72,14 @@ 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var baseClassName = 'react-calendar';

@@ -82,5 +92,5 @@ var allViews = ['century', 'decade', 'year', 'month'];

var getLimitedViews = function getLimitedViews(minDetail, maxDetail) {
function getLimitedViews(minDetail, maxDetail) {
return allViews.slice(allViews.indexOf(minDetail), allViews.indexOf(maxDetail) + 1);
};
}
/**

@@ -91,6 +101,6 @@ * Determines whether a given view is allowed with currently applied settings.

var isViewAllowed = function isViewAllowed(view, minDetail, maxDetail) {
function isViewAllowed(view, minDetail, maxDetail) {
var views = getLimitedViews(minDetail, maxDetail);
return views.indexOf(view) !== -1;
};
}
/**

@@ -102,3 +112,3 @@ * Gets either provided view if allowed by minDetail and maxDetail, or gets

var getView = function getView(view, minDetail, maxDetail) {
function getView(view, minDetail, maxDetail) {
if (isViewAllowed(view, minDetail, maxDetail)) {

@@ -109,3 +119,3 @@ return view;

return maxDetail;
};
}
/**

@@ -116,7 +126,7 @@ * Returns value type that can be returned with currently applied settings.

var getValueType = function getValueType(maxDetail) {
function getValueType(maxDetail) {
return allValueTypes[allViews.indexOf(maxDetail)];
};
}
var getValue = function getValue(value, index) {
function getValue(value, index) {
if (!value) {

@@ -139,5 +149,5 @@ return null;

return valueDate;
};
}
var getDetailValue = function getDetailValue(_ref, index) {
function getDetailValue(_ref, index) {
var value = _ref.value,

@@ -156,3 +166,3 @@ minDate = _ref.minDate,

return (0, _utils.between)(detailValueFrom, minDate, maxDate);
};
}

@@ -222,14 +232,12 @@ var getDetailValueFrom = function getDetailValueFrom(args) {

var isSingleValue = function isSingleValue(value) {
var getIsSingleValue = function getIsSingleValue(value) {
return value && [].concat(value).length === 1;
};
var Calendar =
/*#__PURE__*/
function (_Component) {
var Calendar = /*#__PURE__*/function (_Component) {
_inherits(Calendar, _Component);
var _super = _createSuper(Calendar);
function Calendar() {
var _getPrototypeOf2;
var _this;

@@ -243,3 +251,3 @@

_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Calendar)).call.apply(_getPrototypeOf2, [this].concat(_args)));
_this = _super.call.apply(_super, [this].concat(_args));

@@ -261,2 +269,3 @@ _defineProperty(_assertThisInitialized(_this), "state", {

var _this$props = _this.props,
allowPartialRange = _this$props.allowPartialRange,
onActiveStartDateChange = _this$props.onActiveStartDateChange,

@@ -286,16 +295,26 @@ onChange = _this$props.onChange,

if (shouldUpdate('activeStartDate')) {
(0, _utils.callIfDefined)(onActiveStartDateChange, args);
if (onActiveStartDateChange) onActiveStartDateChange(args);
}
if (shouldUpdate('view')) {
(0, _utils.callIfDefined)(onViewChange, args);
if (onViewChange) onViewChange(args);
}
if (shouldUpdate('value')) {
if (!selectRange || !isSingleValue(nextState.value)) {
(0, _utils.callIfDefined)(onChange, nextState.value);
if (onChange) {
if (selectRange) {
var isSingleValue = getIsSingleValue(nextState.value);
if (!isSingleValue) {
onChange(nextState.value);
} else if (allowPartialRange) {
onChange([nextState.value]);
}
} else {
onChange(nextState.value);
}
}
}
(0, _utils.callIfDefined)(callback, args);
if (callback) callback(args);
});

@@ -363,3 +382,3 @@ });

if (!isSingleValue(previousValue)) {
if (!getIsSingleValue(previousValue)) {
// Value has 0 or 2 elements - either way we're starting a new array

@@ -416,3 +435,3 @@ // First value

(0, _utils.callIfDefined)(callback, value, event);
if (callback) callback(value, event);
});

@@ -495,3 +514,3 @@

var hover = this.hover;
var activeStartDate = next ? (0, _dates.getBeginNext)(view, currentActiveStartDate) : currentActiveStartDate;
var activeStartDate = next ? (0, _dates.getBeginNext)(view, currentActiveStartDate) : (0, _dates.getBegin)(view, currentActiveStartDate);
var onClick = this.drillDownAvailable ? this.drillDown : this.onChange;

@@ -517,3 +536,3 @@ var commonProps = {

var formatYear = this.props.formatYear;
return _react["default"].createElement(_CenturyView["default"], _extends({
return /*#__PURE__*/_react["default"].createElement(_CenturyView["default"], _extends({
formatYear: formatYear

@@ -526,3 +545,3 @@ }, commonProps));

var _formatYear = this.props.formatYear;
return _react["default"].createElement(_DecadeView["default"], _extends({
return /*#__PURE__*/_react["default"].createElement(_DecadeView["default"], _extends({
formatYear: _formatYear

@@ -537,3 +556,3 @@ }, commonProps));

formatMonthYear = _this$props5.formatMonthYear;
return _react["default"].createElement(_YearView["default"], _extends({
return /*#__PURE__*/_react["default"].createElement(_YearView["default"], _extends({
formatMonth: formatMonth,

@@ -555,3 +574,3 @@ formatMonthYear: formatMonthYear

var onMouseLeave = this.onMouseLeave;
return _react["default"].createElement(_MonthView["default"], _extends({
return /*#__PURE__*/_react["default"].createElement(_MonthView["default"], _extends({
calendarType: calendarType,

@@ -561,3 +580,3 @@ formatLongDate: formatLongDate,

onClickWeekNumber: onClickWeekNumber,
onMouseLeave: onMouseLeave,
onMouseLeave: selectRange ? onMouseLeave : null,
showFixedNumberOfWeeks: showFixedNumberOfWeeks || showDoubleView,

@@ -602,3 +621,3 @@ showNeighboringMonth: showNeighboringMonth,

showDoubleView = _this$props7.showDoubleView;
return _react["default"].createElement(_Navigation["default"], {
return /*#__PURE__*/_react["default"].createElement(_Navigation["default"], {
activeStartDate: activeStartDate,

@@ -637,5 +656,5 @@ drillUp: this.drillUp,

var valueArray = [].concat(value);
return _react["default"].createElement("div", {
return /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _mergeClassNames["default"])(baseClassName, selectRange && valueArray.length === 1 && "".concat(baseClassName, "--selectRange"), showDoubleView && "".concat(baseClassName, "--doubleView"), className)
}, this.renderNavigation(), _react["default"].createElement("div", {
}, this.renderNavigation(), /*#__PURE__*/_react["default"].createElement("div", {
className: "".concat(baseClassName, "__viewContainer"),

@@ -661,3 +680,3 @@ onBlur: selectRange ? onMouseLeave : null,

if (selectRange && isSingleValue(valueState)) {
if (selectRange && getIsSingleValue(valueState)) {
return valueState;

@@ -733,2 +752,3 @@ }

activeStartDate: isActiveStartDate,
allowPartialRange: _propTypes["default"].bool,
calendarType: _propTypes2.isCalendarType,

@@ -735,0 +755,0 @@ className: _propTypes2.isClassName,

@@ -129,3 +129,23 @@ "use strict";

return _react["default"].createElement("div", {
function renderButton() {
var labelClassName = "".concat(className, "__label");
return /*#__PURE__*/_react["default"].createElement("button", {
"aria-label": navigationAriaLabel,
className: labelClassName,
disabled: !drillUpAvailable,
onClick: drillUp,
style: {
flexGrow: 1
},
type: "button"
}, /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(labelClassName, "__labelText ").concat(labelClassName, "__labelText--from")
}, renderLabel(activeStartDate)), showDoubleView && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(labelClassName, "__divider")
}, ' ', "\u2013", ' '), /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(labelClassName, "__labelText ").concat(labelClassName, "__labelText--to")
}, renderLabel(nextActiveStartDate))));
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: className,

@@ -135,3 +155,3 @@ style: {

}
}, prev2Label !== null && shouldShowPrevNext2Buttons && _react["default"].createElement("button", {
}, prev2Label !== null && shouldShowPrevNext2Buttons && /*#__PURE__*/_react["default"].createElement("button", {
"aria-label": prev2AriaLabel,

@@ -142,3 +162,3 @@ className: "".concat(className, "__arrow ").concat(className, "__prev2-button"),

type: "button"
}, prev2Label), _react["default"].createElement("button", {
}, prev2Label), /*#__PURE__*/_react["default"].createElement("button", {
"aria-label": prevAriaLabel,

@@ -149,12 +169,3 @@ className: "".concat(className, "__arrow ").concat(className, "__prev-button"),

type: "button"
}, prevLabel), _react["default"].createElement("button", {
"aria-label": navigationAriaLabel,
className: "".concat(className, "__label"),
disabled: !drillUpAvailable,
onClick: drillUp,
style: {
flexGrow: 1
},
type: "button"
}, renderLabel(activeStartDate), showDoubleView && _react["default"].createElement(_react["default"].Fragment, null, ' ', "\u2013", ' ', renderLabel(nextActiveStartDate))), _react["default"].createElement("button", {
}, prevLabel), renderButton(), /*#__PURE__*/_react["default"].createElement("button", {
"aria-label": nextAriaLabel,

@@ -165,3 +176,3 @@ className: "".concat(className, "__arrow ").concat(className, "__next-button"),

type: "button"
}, nextLabel), next2Label !== null && shouldShowPrevNext2Buttons && _react["default"].createElement("button", {
}, nextLabel), next2Label !== null && shouldShowPrevNext2Buttons && /*#__PURE__*/_react["default"].createElement("button", {
"aria-label": next2AriaLabel,

@@ -168,0 +179,0 @@ className: "".concat(className, "__arrow ").concat(className, "__next2-button"),

@@ -16,8 +16,8 @@ "use strict";

function renderDecades() {
return _react["default"].createElement(_Decades["default"], props);
return /*#__PURE__*/_react["default"].createElement(_Decades["default"], props);
}
return _react["default"].createElement("div", {
return /*#__PURE__*/_react["default"].createElement("div", {
className: "react-calendar__century-view"
}, renderDecades());
}

@@ -26,3 +26,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -47,3 +47,3 @@ 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; }

locale = otherProps.locale;
return _react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
return /*#__PURE__*/_react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -50,0 +50,0 @@ maxDateTransform: _dateUtils.getDecadeEnd,

@@ -24,3 +24,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -35,3 +35,3 @@ 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; }

var end = start + 99;
return _react["default"].createElement(_TileGroup["default"], _extends({}, props, {
return /*#__PURE__*/_react["default"].createElement(_TileGroup["default"], _extends({}, props, {
className: "react-calendar__century-view__decades",

@@ -38,0 +38,0 @@ dateTransform: _dateUtils.getDecadeStart,

@@ -16,8 +16,8 @@ "use strict";

function renderYears() {
return _react["default"].createElement(_Years["default"], props);
return /*#__PURE__*/_react["default"].createElement(_Years["default"], props);
}
return _react["default"].createElement("div", {
return /*#__PURE__*/_react["default"].createElement("div", {
className: "react-calendar__decade-view"
}, renderYears());
}

@@ -24,3 +24,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -45,3 +45,3 @@ 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; }

locale = otherProps.locale;
return _react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
return /*#__PURE__*/_react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -48,0 +48,0 @@ maxDateTransform: _dateUtils.getYearEnd,

@@ -22,3 +22,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -33,3 +33,3 @@ 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; }

var end = start + 9;
return _react["default"].createElement(_TileGroup["default"], _extends({}, props, {
return /*#__PURE__*/_react["default"].createElement(_TileGroup["default"], _extends({}, props, {
className: "react-calendar__decade-view__years",

@@ -36,0 +36,0 @@ dateTransform: function dateTransform(year) {

@@ -18,3 +18,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -41,3 +41,3 @@ 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; }

return _react["default"].createElement("div", _extends({
return /*#__PURE__*/_react["default"].createElement("div", _extends({
className: className,

@@ -44,0 +44,0 @@ style: _objectSpread({

@@ -50,3 +50,3 @@ "use strict";

function renderWeekdays() {
return _react["default"].createElement(_Weekdays["default"], {
return /*#__PURE__*/_react["default"].createElement(_Weekdays["default"], {
calendarType: calendarType,

@@ -64,3 +64,3 @@ formatShortWeekday: formatShortWeekday,

return _react["default"].createElement(_WeekNumbers["default"], {
return /*#__PURE__*/_react["default"].createElement(_WeekNumbers["default"], {
activeStartDate: activeStartDate,

@@ -75,3 +75,3 @@ calendarType: calendarType,

function renderDays() {
return _react["default"].createElement(_Days["default"], _extends({
return /*#__PURE__*/_react["default"].createElement(_Days["default"], _extends({
calendarType: calendarType

@@ -82,5 +82,5 @@ }, childProps));

var className = 'react-calendar__month-view';
return _react["default"].createElement("div", {
return /*#__PURE__*/_react["default"].createElement("div", {
className: [className, showWeekNumbers ? "".concat(className, "--weekNumbers") : ''].join(' ')
}, _react["default"].createElement("div", {
}, /*#__PURE__*/_react["default"].createElement("div", {
style: {

@@ -90,3 +90,3 @@ display: 'flex',

}
}, renderWeekNumbers(), _react["default"].createElement("div", {
}, renderWeekNumbers(), /*#__PURE__*/_react["default"].createElement("div", {
style: {

@@ -93,0 +93,0 @@ flexGrow: 1,

@@ -26,3 +26,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -48,3 +48,3 @@ 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; }

var date = otherProps.date;
return _react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
return /*#__PURE__*/_react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
classes: [].concat(classes, className, (0, _dates.isWeekend)(date, calendarType) ? "".concat(className, "--weekend") : null, date.getMonth() !== currentMonthIndex ? "".concat(className, "--neighboringMonth") : null),

@@ -51,0 +51,0 @@ formatAbbr: formatLongDate,

@@ -26,3 +26,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -82,3 +82,3 @@ 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; }

return _react["default"].createElement(_TileGroup["default"], _extends({}, otherProps, {
return /*#__PURE__*/_react["default"].createElement(_TileGroup["default"], _extends({}, otherProps, {
className: "react-calendar__month-view__days",

@@ -85,0 +85,0 @@ count: 7,

@@ -41,6 +41,6 @@ "use strict";

var abbr = (0, _dateFormatter.formatWeekday)(locale, weekdayDate);
weekdays.push(_react["default"].createElement("div", {
weekdays.push( /*#__PURE__*/_react["default"].createElement("div", {
key: weekday,
className: "".concat(className, "__weekday")
}, _react["default"].createElement("abbr", {
}, /*#__PURE__*/_react["default"].createElement("abbr", {
"aria-label": abbr,

@@ -51,3 +51,3 @@ title: abbr

return _react["default"].createElement(_Flex["default"], {
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
className: className,

@@ -54,0 +54,0 @@ count: 7,

@@ -27,5 +27,5 @@ "use strict";

var children = _react["default"].createElement("span", null, weekNumber);
var children = /*#__PURE__*/_react["default"].createElement("span", null, weekNumber);
return onClickWeekNumber ? _react["default"].createElement("button", _extends({}, props, {
return onClickWeekNumber ? /*#__PURE__*/_react["default"].createElement("button", _extends({}, props, {
onClick: function onClick(event) {

@@ -35,3 +35,3 @@ return onClickWeekNumber(weekNumber, date, event);

type: "button"
}), children) : _react["default"].createElement("div", props, children);
}), children) : /*#__PURE__*/_react["default"].createElement("div", props, children);
}

@@ -38,0 +38,0 @@

@@ -58,3 +58,3 @@ "use strict";

});
return _react["default"].createElement(_Flex["default"], {
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
className: "react-calendar__month-view__weekNumbers",

@@ -70,3 +70,3 @@ count: numberOfWeeks,

}, weekNumbers.map(function (weekNumber, weekIndex) {
return _react["default"].createElement(_WeekNumber["default"], {
return /*#__PURE__*/_react["default"].createElement(_WeekNumber["default"], {
key: weekNumber,

@@ -73,0 +73,0 @@ date: dates[weekIndex],

@@ -10,10 +10,14 @@ "use strict";

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
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; }

@@ -20,0 +24,0 @@

@@ -14,3 +14,3 @@ "use strict";

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -17,0 +17,0 @@ var calendarTypes = Object.values(_const.CALENDAR_TYPES);

@@ -7,3 +7,2 @@ "use strict";

exports.between = between;
exports.callIfDefined = callIfDefined;
exports.isValueWithinRange = isValueWithinRange;

@@ -16,2 +15,14 @@ exports.isRangeWithinRange = isRangeWithinRange;

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
/**

@@ -35,19 +46,3 @@ * Returns a value no smaller than min and no larger than max.

}
/**
* Calls a function, if it's defined, with specified arguments
* @param {Function} fn
* @param {Object} args
*/
function callIfDefined(fn) {
if (fn && typeof fn === 'function') {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
fn.apply(void 0, args);
}
}
function isValueWithinRange(value, range) {

@@ -65,2 +60,27 @@ return range[0] <= value && range[1] >= value;

function getRangeClassNames(valueRange, dateRange, baseClassName) {
var isRange = doRangesOverlap(dateRange, valueRange);
var classes = [];
if (isRange) {
classes.push(baseClassName);
var isRangeStart = isValueWithinRange(valueRange[0], dateRange);
var isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
if (isRangeStart) {
classes.push("".concat(baseClassName, "Start"));
}
if (isRangeEnd) {
classes.push("".concat(baseClassName, "End"));
}
if (isRangeStart && isRangeEnd) {
classes.push("".concat(baseClassName, "BothEnds"));
}
}
return classes;
}
function getTileClasses() {

@@ -106,24 +126,14 @@ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},

classes.push("".concat(className, "--hasActive"));
} else if (hover && ( // Date before value
dateRange[1] < valueRange[0] && doRangesOverlap(dateRange, [hover, valueRange[0]]) || // Date after value
dateRange[0] > valueRange[1] && doRangesOverlap(dateRange, [valueRange[1], hover]))) {
classes.push("".concat(className, "--hover"));
}
var isRangeStart = isValueWithinRange(valueRange[0], dateRange);
var isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
var valueRangeClassNames = getRangeClassNames(valueRange, dateRange, "".concat(className, "--range"));
classes.push.apply(classes, _toConsumableArray(valueRangeClassNames));
if (isRangeStart) {
classes.push("".concat(className, "--rangeStart"));
if (hover) {
var hoverRange = hover > valueRange[1] ? [valueRange[1], hover] : [hover, valueRange[0]];
var hoverRangeClassNames = getRangeClassNames(hoverRange, dateRange, "".concat(className, "--hover"));
classes.push.apply(classes, _toConsumableArray(hoverRangeClassNames));
}
if (isRangeEnd) {
classes.push("".concat(className, "--rangeEnd"));
}
if (isRangeStart && isRangeEnd) {
classes.push("".concat(className, "--rangeBothEnds"));
}
return classes;
}

@@ -18,9 +18,11 @@ "use strict";

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

@@ -33,11 +35,15 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

@@ -57,10 +63,8 @@ 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; }

var Tile =
/*#__PURE__*/
function (_Component) {
var Tile = /*#__PURE__*/function (_Component) {
_inherits(Tile, _Component);
var _super = _createSuper(Tile);
function Tile() {
var _getPrototypeOf2;
var _this;

@@ -74,3 +78,3 @@

_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Tile)).call.apply(_getPrototypeOf2, [this].concat(args)));
_this = _super.call.apply(_super, [this].concat(args));

@@ -104,3 +108,3 @@ _defineProperty(_assertThisInitialized(_this), "state", {});

tileContent = _this$state.tileContent;
return _react["default"].createElement("button", {
return /*#__PURE__*/_react["default"].createElement("button", {
className: (0, _mergeClassNames["default"])(classes, tileClassName),

@@ -123,3 +127,3 @@ disabled: minDate && minDateTransform(minDate) > date || maxDate && maxDateTransform(maxDate) < date || tileDisabled && tileDisabled({

type: "button"
}, formatAbbr ? _react["default"].createElement("abbr", {
}, formatAbbr ? /*#__PURE__*/_react["default"].createElement("abbr", {
"aria-label": formatAbbr(locale, date)

@@ -126,0 +130,0 @@ }, children) : children, tileContent);

@@ -22,3 +22,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -54,3 +54,3 @@ 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; }

var date = dateTransform(point);
tiles.push(_react["default"].createElement(Tile, _extends({
tiles.push( /*#__PURE__*/_react["default"].createElement(Tile, _extends({
key: date.getTime(),

@@ -69,3 +69,3 @@ classes: (0, _utils.getTileClasses)({

return _react["default"].createElement(_Flex["default"], {
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
className: className,

@@ -72,0 +72,0 @@ count: count,

@@ -16,8 +16,8 @@ "use strict";

function renderMonths() {
return _react["default"].createElement(_Months["default"], props);
return /*#__PURE__*/_react["default"].createElement(_Months["default"], props);
}
return _react["default"].createElement("div", {
return /*#__PURE__*/_react["default"].createElement("div", {
className: "react-calendar__year-view"
}, renderMonths());
}

@@ -24,3 +24,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -47,3 +47,3 @@ 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; }

locale = otherProps.locale;
return _react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
return /*#__PURE__*/_react["default"].createElement(_Tile["default"], _extends({}, otherProps, {
classes: [].concat(classes, className),

@@ -50,0 +50,0 @@ formatAbbr: formatMonthYear,

@@ -24,3 +24,3 @@ "use strict";

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

@@ -36,3 +36,3 @@ 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; }

var year = (0, _dateUtils.getYear)(activeStartDate);
return _react["default"].createElement(_TileGroup["default"], _extends({}, props, {
return /*#__PURE__*/_react["default"].createElement(_TileGroup["default"], _extends({}, props, {
className: "react-calendar__year-view__months",

@@ -39,0 +39,0 @@ dateTransform: function dateTransform(monthIndex) {

{
"name": "react-calendar",
"version": "3.0.1",
"version": "3.1.0",
"description": "Ultimate calendar for your React app.",

@@ -69,2 +69,5 @@ "main": "dist/umd/index.js",

"email": "rkritesh078@gmail.com"
},
{
"name": "Sergi Meseguer"
}

@@ -80,9 +83,8 @@ ],

"devDependencies": {
"@babel/cli": "^7.5.5",
"@babel/core": "^7.5.5",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
"@babel/cli": "^7.8.0",
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-class-properties": "^7.8.0",
"@babel/preset-env": "^7.9.0",
"@babel/preset-react": "^7.9.0",
"babel-eslint": "^10.0.0",
"babel-jest": "^25.1.0",
"cross-env": "^7.0.0",

@@ -96,4 +98,4 @@ "enzyme": "^3.10.0",

"eslint-plugin-react": "^7.14.3",
"eslint-plugin-react-hooks": "^1.7.0",
"jest": "^25.1.0",
"eslint-plugin-react-hooks": "^2.5.0",
"jest": "^26.0.0",
"less": "^3.8.1",

@@ -100,0 +102,0 @@ "react": "^16.7.0",

@@ -1,2 +0,2 @@

[![npm](https://img.shields.io/npm/v/react-calendar.svg)](https://www.npmjs.com/package/react-calendar) ![downloads](https://img.shields.io/npm/dt/react-calendar.svg) ![build](https://img.shields.io/travis/wojtekmaj/react-calendar/master.svg) ![dependencies](https://img.shields.io/david/wojtekmaj/react-calendar.svg) ![dev dependencies](https://img.shields.io/david/dev/wojtekmaj/react-calendar.svg) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest)
[![npm](https://img.shields.io/npm/v/react-calendar.svg)](https://www.npmjs.com/package/react-calendar) ![downloads](https://img.shields.io/npm/dt/react-calendar.svg) ![build](https://travis-ci.com/wojtekmaj/react-calendar.svg?branch=master) ![dependencies](https://img.shields.io/david/wojtekmaj/react-calendar.svg) ![dev dependencies](https://img.shields.io/david/dev/wojtekmaj/react-calendar.svg) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest)

@@ -6,3 +6,3 @@ # React-Calendar

<div align="center">
<img width="436" heigth="398" src="https://wojtekmaj.home.pl/projekty/react-calendar/react-calendar.jpg">
<img width="436" heigth="398" src="https://projects.wojtekmaj.pl/react-calendar/react-calendar.jpg">
</div>

@@ -101,2 +101,3 @@

|activeStartDate|The beginning of a period that shall be displayed. If you wish to use React-Calendar in an uncontrolled way, use `defaultActiveStartDate` instead.|(today)|`new Date(2017, 0, 1)`|
|allowPartialRange|Whether to call onChange with only partial result given `selectRange` prop.|`false`|`true`|
|calendarType|Type of calendar that should be used. Can be `"ISO 8601"`, `"US"`, `"Arabic"`, or `"Hebrew"`. Setting to `"US"` or `"Hebrew"` will change the first day of the week to Sunday. Setting to `"Arabic"` will change the first day of the week to Saturday. Setting to `"Arabic"` or `"Hebrew"` will make weekends appear on Friday to Saturday.|Type of calendar most commonly used in a given locale|`"ISO 8601"`|

@@ -120,5 +121,5 @@ |className|Class name(s) that will be added along with `"react-calendar"` to the main React-Calendar `<div>` element.|n/a|<ul><li>String: `"class1 class2"`</li><li>Array of strings: `["class1", "class2 class3"]`</li></ul>|

|nextAriaLabel|`aria-label` attribute of the "next" button on the navigation pane.|n/a|`"Next"`|
|nextLabel|Content of the "next" button on the navigation pane.|`"›"`|<ul><li>String: `"›"`</li><li>React element: `<NextIcon />`</li></ul>|
|nextLabel|Content of the "next" button on the navigation pane. Setting the value explicitly to null will hide the icon.|`"›"`|<ul><li>String: `"›"`</li><li>React element: `<NextIcon />`</li></ul>|
|next2AriaLabel|`aria-label` attribute of the "next on higher level" button on the navigation pane.|n/a|`"Jump forwards"`|
|next2Label|Content of the "next on higher level" button on the navigation pane.|`"»"`|<ul><li>String: `"»"`</li><li>React element: `<DoubleNextIcon />`</li></ul>|
|next2Label|Content of the "next on higher level" button on the navigation pane. Setting the value explicitly to null will hide the icon.|`"»"`|<ul><li>String: `"»"`</li><li>React element: `<DoubleNextIcon />`</li></ul>|
|onActiveStartDateChange|Function called when the user navigates from one view to another using previous/next button.|n/a|`({ activeStartDate, view }) => alert('Changed view to: ', activeStartDate, view)`|

@@ -135,5 +136,5 @@ |onChange|Function called when the user clicks an item (day on month view, month on year view and so on) on the most detailed view available.|n/a|`(value, event) => alert('New date is: ', value)`|

|prevAriaLabel|`aria-label` attribute of the "previous" button on the navigation pane.|n/a|`"Previous"`|
|prevLabel|Content of the "previous" button on the navigation pane.|`"‹"`|<ul><li>String: `"‹"`</li><li>React element: `<PreviousIcon />`</li></ul>|
|prevLabel|Content of the "previous" button on the navigation pane. Setting the value explicitly to null will hide the icon.|`"‹"`|<ul><li>String: `"‹"`</li><li>React element: `<PreviousIcon />`</li></ul>|
|prev2AriaLabel|`aria-label` attribute of the "previous on higher level" button on the navigation pane.|n/a|`"Jump backwards"`|
|prev2Label|Content of the "previous on higher level" button on the navigation pane.| `"«"`|<ul><li>String: `"«"`</li><li>React element: `<DoublePreviousIcon />`</li></ul>|
|prev2Label|Content of the "previous on higher level" button on the navigation pane. Setting the value explicitly to null will hide the icon.|`"«"`|<ul><li>String: `"«"`</li><li>React element: `<DoublePreviousIcon />`</li></ul>|
|returnValue|Which dates shall be passed by the calendar to the onChange function and onClick{Period} functions. Can be `"start"`, `"end"` or `"range"`. The latter will cause an array with start and end values to be passed.|`"start"`|`"range"`|

@@ -140,0 +141,0 @@ |showDoubleView|Whether to show two months/years/… at a time instead of one. Forces `showFixedNumberOfWeeks` prop to be `true`.|`false`|`true`|

@@ -17,3 +17,3 @@ import React, { Component } from 'react';

} from './shared/propTypes';
import { between, callIfDefined } from './shared/utils';
import { between } from './shared/utils';

@@ -27,4 +27,5 @@ const baseClassName = 'react-calendar';

*/
const getLimitedViews = (minDetail, maxDetail) => allViews
.slice(allViews.indexOf(minDetail), allViews.indexOf(maxDetail) + 1);
function getLimitedViews(minDetail, maxDetail) {
return allViews.slice(allViews.indexOf(minDetail), allViews.indexOf(maxDetail) + 1);
}

@@ -34,7 +35,7 @@ /**

*/
const isViewAllowed = (view, minDetail, maxDetail) => {
function isViewAllowed(view, minDetail, maxDetail) {
const views = getLimitedViews(minDetail, maxDetail);
return views.indexOf(view) !== -1;
};
}

@@ -45,3 +46,3 @@ /**

*/
const getView = (view, minDetail, maxDetail) => {
function getView(view, minDetail, maxDetail) {
if (isViewAllowed(view, minDetail, maxDetail)) {

@@ -52,3 +53,3 @@ return view;

return maxDetail;
};
}

@@ -58,5 +59,7 @@ /**

*/
const getValueType = maxDetail => allValueTypes[allViews.indexOf(maxDetail)];
function getValueType(maxDetail) {
return allValueTypes[allViews.indexOf(maxDetail)];
}
const getValue = (value, index) => {
function getValue(value, index) {
if (!value) {

@@ -79,7 +82,7 @@ return null;

return valueDate;
};
}
const getDetailValue = ({
function getDetailValue({
value, minDate, maxDate, maxDetail,
}, index) => {
}, index) {
const valuePiece = getValue(value, index);

@@ -95,3 +98,3 @@

return between(detailValueFrom, minDate, maxDate);
};
}

@@ -162,3 +165,3 @@ const getDetailValueFrom = args => getDetailValue(args, 0);

const isSingleValue = value => value && [].concat(value).length === 1;
const getIsSingleValue = value => value && [].concat(value).length === 1;

@@ -186,3 +189,3 @@ export default class Calendar extends Component {

// In the middle of range selection, use value from state
if (selectRange && isSingleValue(valueState)) {
if (selectRange && getIsSingleValue(valueState)) {
return valueState;

@@ -242,10 +245,6 @@ }

switch (returnValue) {
case 'start':
return getDetailValueFrom;
case 'end':
return getDetailValueTo;
case 'range':
return getDetailValueArray;
default:
throw new Error('Invalid returnValue.');
case 'start': return getDetailValueFrom;
case 'end': return getDetailValueTo;
case 'range': return getDetailValueArray;
default: throw new Error('Invalid returnValue.');
}

@@ -266,3 +265,7 @@ })();

const {
onActiveStartDateChange, onChange, onViewChange, selectRange,
allowPartialRange,
onActiveStartDateChange,
onChange,
onViewChange,
selectRange,
} = this.props;

@@ -299,16 +302,26 @@

if (shouldUpdate('activeStartDate')) {
callIfDefined(onActiveStartDateChange, args);
if (onActiveStartDateChange) onActiveStartDateChange(args);
}
if (shouldUpdate('view')) {
callIfDefined(onViewChange, args);
if (onViewChange) onViewChange(args);
}
if (shouldUpdate('value')) {
if (!selectRange || !isSingleValue(nextState.value)) {
callIfDefined(onChange, nextState.value);
if (onChange) {
if (selectRange) {
const isSingleValue = getIsSingleValue(nextState.value);
if (!isSingleValue) {
onChange(nextState.value);
} else if (allowPartialRange) {
onChange([nextState.value]);
}
} else {
onChange(nextState.value);
}
}
}
callIfDefined(callback, args);
if (callback) callback(args);
});

@@ -368,3 +381,3 @@ }

const { value: previousValue, valueType } = this;
if (!isSingleValue(previousValue)) {
if (!getIsSingleValue(previousValue)) {
// Value has 0 or 2 elements - either way we're starting a new array

@@ -417,3 +430,3 @@ // First value

callIfDefined(callback, value, event);
if (callback) callback(value, event);
}

@@ -458,3 +471,3 @@

? getBeginNext(view, currentActiveStartDate)
: currentActiveStartDate
: getBegin(view, currentActiveStartDate)
);

@@ -529,3 +542,3 @@

onClickWeekNumber={onClickWeekNumber}
onMouseLeave={onMouseLeave}
onMouseLeave={selectRange ? onMouseLeave : null}
showFixedNumberOfWeeks={showFixedNumberOfWeeks || showDoubleView}

@@ -641,2 +654,3 @@ showNeighboringMonth={showNeighboringMonth}

activeStartDate: isActiveStartDate,
allowPartialRange: PropTypes.bool,
calendarType: isCalendarType,

@@ -643,0 +657,0 @@ className: isClassName,

import React from 'react';
import { shallow } from 'enzyme';
import { shallow, mount } from 'enzyme';
import { getMonthStart } from '@wojtekmaj/date-utils';

@@ -7,2 +7,4 @@

const { format } = new Intl.DateTimeFormat('en-US', { day: 'numeric', month: 'long', year: 'numeric' });
describe('Calendar', () => {

@@ -340,2 +342,28 @@ it('renders Navigation by default', () => {

});
it('displays days on the correct weekdays when given a defaultActiveStartDate', () => {
const defaultActiveStartDate = new Date(2012, 5, 6);
const component = mount(
<Calendar defaultActiveStartDate={defaultActiveStartDate} />,
);
const firstDayTile = component.find('.react-calendar__tile').first();
const firstDayTileTimeAbbr = firstDayTile.find('abbr').prop('aria-label');
// The date of the first Monday that this calendar should show is May 28, 2012.
expect(firstDayTileTimeAbbr).toBe(format(new Date(2012, 4, 28)));
});
it('displays days on the correct weekdays when given an activeStartDate', () => {
const activeStartDate = new Date(2012, 5, 6);
const component = mount(
<Calendar activeStartDate={activeStartDate} />,
);
const firstDayTile = component.find('.react-calendar__tile').first();
const firstDayTileTimeAbbr = firstDayTile.find('abbr').prop('aria-label');
// The date of the first Monday that this calendar should show is May 28, 2012.
expect(firstDayTileTimeAbbr).toBe(format(new Date(2012, 4, 28)));
});
});

@@ -636,17 +664,2 @@

it('calls onChange function returning the beginning of the selected period when returnValue is set to "start"', () => {
const onChange = jest.fn();
const component = shallow(
<Calendar
onChange={onChange}
returnValue="start"
view="month"
/>,
);
component.instance().onChange(new Date(2017, 0, 1));
expect(onChange).toHaveBeenCalledWith(new Date(2017, 0, 1));
});
it('calls onChange function returning the end of the selected period when returnValue is set to "end"', () => {

@@ -749,3 +762,3 @@ const onChange = jest.fn();

it('does not call onChange function returning a range when selected one piece of a range', () => {
it('does not call onChange function returning a range when selected one piece of a range by default', () => {
const onChange = jest.fn();

@@ -765,2 +778,37 @@ const component = shallow(

it('does not call onChange function returning a range when selected one piece of a range given allowPartialRange = false', () => {
const onChange = jest.fn();
const component = shallow(
<Calendar
allowPartialRange={false}
onChange={onChange}
selectRange
view="month"
/>,
);
component.instance().onChange(new Date(2018, 0, 1));
expect(onChange).not.toHaveBeenCalled();
});
it('calls onChange function returning a partial range when selected one piece of a range given allowPartialRange = true', () => {
const onChange = jest.fn();
const component = shallow(
<Calendar
allowPartialRange
onChange={onChange}
selectRange
view="month"
/>,
);
component.instance().onChange(new Date(2018, 0, 1));
expect(onChange).toHaveBeenCalledTimes(1);
expect(onChange).toHaveBeenCalledWith([
new Date(2018, 0, 1),
]);
});
it('calls onChange function returning a range when selected two pieces of a range', () => {

@@ -767,0 +815,0 @@ const onChange = jest.fn();

@@ -125,2 +125,32 @@ import React from 'react';

function renderButton() {
const labelClassName = `${className}__label`;
return (
<button
aria-label={navigationAriaLabel}
className={labelClassName}
disabled={!drillUpAvailable}
onClick={drillUp}
style={{ flexGrow: 1 }}
type="button"
>
<span className={`${labelClassName}__labelText ${labelClassName}__labelText--from`}>
{renderLabel(activeStartDate)}
</span>
{showDoubleView && (
<>
<span className={`${labelClassName}__divider`}>
{' '}
{' '}
</span>
<span className={`${labelClassName}__labelText ${labelClassName}__labelText--to`}>
{renderLabel(nextActiveStartDate)}
</span>
</>
)}
</button>
);
}
return (

@@ -151,21 +181,4 @@ <div

</button>
{renderButton()}
<button
aria-label={navigationAriaLabel}
className={`${className}__label`}
disabled={!drillUpAvailable}
onClick={drillUp}
style={{ flexGrow: 1 }}
type="button"
>
{renderLabel(activeStartDate)}
{showDoubleView && (
<>
{' '}
{' '}
{renderLabel(nextActiveStartDate)}
</>
)}
</button>
<button
aria-label={nextAriaLabel}

@@ -172,0 +185,0 @@ className={`${className}__arrow ${className}__next-button`}

@@ -20,13 +20,2 @@ import { getRange } from './dates';

/**
* Calls a function, if it's defined, with specified arguments
* @param {Function} fn
* @param {Object} args
*/
export function callIfDefined(fn, ...args) {
if (fn && typeof fn === 'function') {
fn(...args);
}
}
export function isValueWithinRange(value, range) {

@@ -53,2 +42,29 @@ return (

function getRangeClassNames(valueRange, dateRange, baseClassName) {
const isRange = doRangesOverlap(dateRange, valueRange);
const classes = [];
if (isRange) {
classes.push(baseClassName);
const isRangeStart = isValueWithinRange(valueRange[0], dateRange);
const isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
if (isRangeStart) {
classes.push(`${baseClassName}Start`);
}
if (isRangeEnd) {
classes.push(`${baseClassName}End`);
}
if (isRangeStart && isRangeEnd) {
classes.push(`${baseClassName}BothEnds`);
}
}
return classes;
}
export function getTileClasses({

@@ -89,32 +105,13 @@ value, valueType, date, dateType, hover,

classes.push(`${className}--hasActive`);
} else if (
hover && (
// Date before value
(
dateRange[1] < valueRange[0]
&& doRangesOverlap(dateRange, [hover, valueRange[0]])
)
// Date after value
|| (
dateRange[0] > valueRange[1]
&& doRangesOverlap(dateRange, [valueRange[1], hover])
)
)
) {
classes.push(`${className}--hover`);
}
const isRangeStart = isValueWithinRange(valueRange[0], dateRange);
const isRangeEnd = isValueWithinRange(valueRange[1], dateRange);
const valueRangeClassNames = getRangeClassNames(valueRange, dateRange, `${className}--range`);
if (isRangeStart) {
classes.push(`${className}--rangeStart`);
}
classes.push(...valueRangeClassNames);
if (isRangeEnd) {
classes.push(`${className}--rangeEnd`);
}
if (hover) {
const hoverRange = hover > valueRange[1] ? [valueRange[1], hover] : [hover, valueRange[0]];
const hoverRangeClassNames = getRangeClassNames(hoverRange, dateRange, `${className}--hover`);
if (isRangeStart && isRangeEnd) {
classes.push(`${className}--rangeBothEnds`);
classes.push(...hoverRangeClassNames);
}

@@ -121,0 +118,0 @@

@@ -7,3 +7,2 @@ import {

getTileClasses,
callIfDefined,
} from './utils';

@@ -47,14 +46,2 @@

describe('callIfDefined', () => {
it('calls given function if defined', () => {
const fn = jest.fn();
const arg1 = 'hi';
const arg2 = 'hello';
callIfDefined(fn, arg1, arg2);
expect(fn).toHaveBeenCalledWith(arg1, arg2);
});
});
describe('isValueWithinRange', () => {

@@ -242,9 +229,8 @@ it('returns true for a value between range bonduaries', () => {

it('returns hover flag set to true when passed a date between value and hover (1)', () => {
it('returns all flags set to false when given value completely unrelated to date', () => {
const result = getTileClasses({
value: new Date(2017, 6, 1),
valueType: 'month',
date: new Date(2017, 3, 1),
date: new Date(2016, 0, 1),
dateType: 'month',
hover: new Date(2017, 0, 1),
});

@@ -254,31 +240,102 @@

expect(result.includes('react-calendar__tile--hasActive')).toBe(false);
expect(result.includes('react-calendar__tile--hover')).toBe(true);
});
it('returns hover flag set to true when passed a date between value and hover (2)', () => {
const result = getTileClasses({
value: new Date(2017, 0, 1),
valueType: 'month',
date: new Date(2017, 3, 1),
dateType: 'month',
hover: new Date(2017, 6, 1),
describe('range classes', () => {
it('returns range flag set to true when passed a date within value array', () => {
const result = getTileClasses({
value: [new Date(2017, 0, 1), new Date(2017, 6, 1)],
valueType: 'month',
date: new Date(2017, 3, 1),
dateType: 'month',
});
expect(result.includes('react-calendar__tile--range')).toBe(true);
expect(result.includes('react-calendar__tile--rangeStart')).toBe(false);
expect(result.includes('react-calendar__tile--rangeEnd')).toBe(false);
});
expect(result.includes('react-calendar__tile--active')).toBe(false);
expect(result.includes('react-calendar__tile--hasActive')).toBe(false);
expect(result.includes('react-calendar__tile--hover')).toBe(true);
it('returns range & rangeStart flags set to true when passed a date equal to value start', () => {
const result = getTileClasses({
value: [new Date(2017, 0, 1), new Date(2017, 6, 1)],
valueType: 'month',
date: new Date(2017, 0, 1),
dateType: 'month',
});
expect(result.includes('react-calendar__tile--range')).toBe(true);
expect(result.includes('react-calendar__tile--rangeStart')).toBe(true);
expect(result.includes('react-calendar__tile--rangeEnd')).toBe(false);
});
it('returns range & rangeEnd flags set to true when passed a date equal to value end', () => {
const result = getTileClasses({
value: [new Date(2017, 0, 1), new Date(2017, 6, 1)],
valueType: 'month',
date: new Date(2017, 6, 1),
dateType: 'month',
});
expect(result.includes('react-calendar__tile--range')).toBe(true);
expect(result.includes('react-calendar__tile--rangeStart')).toBe(false);
expect(result.includes('react-calendar__tile--rangeEnd')).toBe(true);
});
});
it('returns all flags set to false when given value completely unrelated to date', () => {
const result = getTileClasses({
value: new Date(2017, 6, 1),
valueType: 'month',
date: new Date(2016, 0, 1),
dateType: 'month',
describe('hover classes', () => {
it('returns hover flag set to true when passed a date between value and hover (1)', () => {
const result = getTileClasses({
value: new Date(2017, 6, 1),
valueType: 'month',
date: new Date(2017, 3, 1),
dateType: 'month',
hover: new Date(2017, 0, 1),
});
expect(result.includes('react-calendar__tile--hover')).toBe(true);
expect(result.includes('react-calendar__tile--hoverStart')).toBe(false);
expect(result.includes('react-calendar__tile--hoverEnd')).toBe(false);
});
expect(result.includes('react-calendar__tile--active')).toBe(false);
expect(result.includes('react-calendar__tile--hasActive')).toBe(false);
expect(result.includes('react-calendar__tile--hover')).toBe(false);
it('returns hover flag set to true when passed a date between value and hover (2)', () => {
const result = getTileClasses({
value: new Date(2017, 0, 1),
valueType: 'month',
date: new Date(2017, 3, 1),
dateType: 'month',
hover: new Date(2017, 6, 1),
});
expect(result.includes('react-calendar__tile--hover')).toBe(true);
expect(result.includes('react-calendar__tile--hoverStart')).toBe(false);
expect(result.includes('react-calendar__tile--hoverEnd')).toBe(false);
});
it('returns hover & hoverStart flags set to true when passed a date equal to hover', () => {
const result = getTileClasses({
value: new Date(2017, 0, 1),
valueType: 'month',
date: new Date(2017, 0, 1),
dateType: 'month',
hover: new Date(2017, 6, 1),
});
expect(result.includes('react-calendar__tile--hover')).toBe(true);
expect(result.includes('react-calendar__tile--hoverStart')).toBe(true);
expect(result.includes('react-calendar__tile--hoverEnd')).toBe(false);
});
it('returns hover & hoverEnd flags set to true when passed a date equal to hover', () => {
const result = getTileClasses({
value: new Date(2017, 0, 1),
valueType: 'month',
date: new Date(2017, 6, 1),
dateType: 'month',
hover: new Date(2017, 6, 1),
});
expect(result.includes('react-calendar__tile--hover')).toBe(true);
expect(result.includes('react-calendar__tile--hoverStart')).toBe(false);
expect(result.includes('react-calendar__tile--hoverEnd')).toBe(true);
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc