UNPKG

24 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var React = _interopRequireWildcard(require("react"));
9
10var _arrowRight = _interopRequireDefault(require("../icon/arrow-right.js"));
11
12var _arrowLeft = _interopRequireDefault(require("../icon/arrow-left.js"));
13
14var _triangleDown = _interopRequireDefault(require("../icon/triangle-down.js"));
15
16var _dateFnsAdapter = _interopRequireDefault(require("./utils/date-fns-adapter.js"));
17
18var _dateHelpers = _interopRequireDefault(require("./utils/date-helpers.js"));
19
20var _index = require("../menu/index.js");
21
22var _index2 = require("../popover/index.js");
23
24var _index3 = require("../locale/index.js");
25
26var _themeProvider = require("../styles/theme-provider.js");
27
28var _styledComponents = require("./styled-components.js");
29
30var _constants = require("./constants.js");
31
32var _overrides = require("../helpers/overrides.js");
33
34var _focusVisible = require("../utils/focusVisible.js");
35
36function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
38function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
39
40function _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; }
41
42function _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); }
43
44function _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); }
45
46function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
47
48function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
49
50function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
51
52function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
53
54function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
55
56function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
57
58function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
59
60function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
61
62function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
63
64function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
65
66function _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); }
67
68function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
69
70function _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; }
71
72var navBtnStyle = function navBtnStyle(_ref) {
73 var $theme = _ref.$theme;
74 return {
75 cursor: 'pointer'
76 };
77};
78
79var MIN_YEAR = 2000;
80var MAX_YEAR = 2030;
81var MIN_MONTH = 0;
82var MAX_MONTH = 11;
83var DIRECTION = {
84 NEXT: 'next',
85 PREVIOUS: 'previous'
86};
87
88function yearMonthToId(year, month) {
89 return "".concat(year, "-").concat(month);
90}
91
92function idToYearMonth(id) {
93 return id.split('-').map(Number);
94}
95
96var CalendarHeader =
97/*#__PURE__*/
98function (_React$Component) {
99 _inherits(CalendarHeader, _React$Component);
100
101 function CalendarHeader(props) {
102 var _this;
103
104 _classCallCheck(this, CalendarHeader);
105
106 _this = _possibleConstructorReturn(this, _getPrototypeOf(CalendarHeader).call(this, props));
107
108 _defineProperty(_assertThisInitialized(_this), "dateHelpers", void 0);
109
110 _defineProperty(_assertThisInitialized(_this), "state", {
111 isMonthYearDropdownOpen: false,
112 isFocusVisible: false
113 });
114
115 _defineProperty(_assertThisInitialized(_this), "getDateProp", function () {
116 return _this.props.date || _this.dateHelpers.date();
117 });
118
119 _defineProperty(_assertThisInitialized(_this), "handleMonthChange", function (_ref2) {
120 var value = _ref2.value;
121
122 if (_this.props.onMonthChange) {
123 // $FlowFixMe
124 _this.props.onMonthChange({
125 date: _this.dateHelpers.setMonth(_this.getDateProp(), value[0].id)
126 });
127 }
128 });
129
130 _defineProperty(_assertThisInitialized(_this), "handleYearChange", function (_ref3) {
131 var value = _ref3.value;
132
133 if (_this.props.onYearChange) {
134 // $FlowFixMe
135 _this.props.onYearChange({
136 date: _this.dateHelpers.setYear(_this.getDateProp(), value[0].id)
137 });
138 }
139 });
140
141 _defineProperty(_assertThisInitialized(_this), "increaseMonth", function () {
142 if (_this.props.onMonthChange) {
143 // $FlowFixMe
144 _this.props.onMonthChange({
145 date: _this.dateHelpers.addMonths(_this.getDateProp(), 1)
146 });
147 }
148 });
149
150 _defineProperty(_assertThisInitialized(_this), "decreaseMonth", function () {
151 if (_this.props.onMonthChange) {
152 // $FlowFixMe
153 _this.props.onMonthChange({
154 date: _this.dateHelpers.subMonths(_this.getDateProp(), 1)
155 });
156 }
157 });
158
159 _defineProperty(_assertThisInitialized(_this), "isMultiMonthHorizontal", function () {
160 var _this$props = _this.props,
161 monthsShown = _this$props.monthsShown,
162 orientation = _this$props.orientation;
163
164 if (!monthsShown) {
165 return false;
166 }
167
168 return orientation === _constants.ORIENTATION.horizontal && monthsShown > 1;
169 });
170
171 _defineProperty(_assertThisInitialized(_this), "isHiddenPaginationButton", function (direction) {
172 var _this$props2 = _this.props,
173 monthsShown = _this$props2.monthsShown,
174 order = _this$props2.order;
175
176 if (monthsShown && _this.isMultiMonthHorizontal()) {
177 if (direction === DIRECTION.NEXT) {
178 var isLastMonth = order === monthsShown - 1;
179 return !isLastMonth;
180 } else {
181 var isFirstMonth = order === 0;
182 return !isFirstMonth;
183 }
184 }
185
186 return false;
187 });
188
189 _defineProperty(_assertThisInitialized(_this), "handleFocus", function (event) {
190 if ((0, _focusVisible.isFocusVisible)(event)) {
191 _this.setState({
192 isFocusVisible: true
193 });
194 }
195 });
196
197 _defineProperty(_assertThisInitialized(_this), "handleBlur", function (event) {
198 if (_this.state.isFocusVisible !== false) {
199 _this.setState({
200 isFocusVisible: false
201 });
202 }
203 });
204
205 _defineProperty(_assertThisInitialized(_this), "renderPreviousMonthButton", function (_ref4) {
206 var locale = _ref4.locale,
207 theme = _ref4.theme;
208
209 var date = _this.getDateProp();
210
211 var _this$props$overrides = _this.props.overrides,
212 overrides = _this$props$overrides === void 0 ? {} : _this$props$overrides;
213
214 var allPrevDaysDisabled = _this.dateHelpers.monthDisabledBefore(date, _this.props);
215
216 var isDisabled = false;
217
218 if (allPrevDaysDisabled) {
219 isDisabled = true;
220 }
221
222 var nextMonth = _this.dateHelpers.subMonths(date, 1);
223
224 var minYear = _this.props.minDate ? _this.dateHelpers.getYear(_this.props.minDate) : MIN_YEAR;
225
226 if (_this.dateHelpers.getYear(nextMonth) < minYear) {
227 isDisabled = true;
228 }
229
230 var isHidden = _this.isHiddenPaginationButton(DIRECTION.PREVIOUS);
231
232 if (isHidden) {
233 isDisabled = true;
234 }
235
236 var _getOverrides = (0, _overrides.getOverrides)(overrides.PrevButton, _styledComponents.StyledPrevButton),
237 _getOverrides2 = _slicedToArray(_getOverrides, 2),
238 PrevButton = _getOverrides2[0],
239 prevButtonProps = _getOverrides2[1];
240
241 var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PrevButtonIcon, theme.direction === 'rtl' ? _arrowRight.default : _arrowLeft.default),
242 _getOverrides4 = _slicedToArray(_getOverrides3, 2),
243 PrevButtonIcon = _getOverrides4[0],
244 prevButtonIconProps = _getOverrides4[1];
245
246 var clickHandler = _this.decreaseMonth;
247
248 if (allPrevDaysDisabled) {
249 clickHandler = null;
250 }
251
252 return React.createElement(PrevButton, _extends({
253 "aria-label": locale.datepicker.previousMonth,
254 tabIndex: 0,
255 onClick: clickHandler,
256 disabled: isDisabled,
257 $isFocusVisible: _this.state.isFocusVisible,
258 type: "button",
259 $disabled: isDisabled
260 }, prevButtonProps), isHidden ? null : React.createElement(PrevButtonIcon, _extends({
261 size: '24px',
262 overrides: {
263 Svg: {
264 style: navBtnStyle
265 }
266 }
267 }, prevButtonIconProps)));
268 });
269
270 _defineProperty(_assertThisInitialized(_this), "renderNextMonthButton", function (_ref5) {
271 var locale = _ref5.locale,
272 theme = _ref5.theme;
273
274 var date = _this.getDateProp();
275
276 var _this$props$overrides2 = _this.props.overrides,
277 overrides = _this$props$overrides2 === void 0 ? {} : _this$props$overrides2;
278
279 var allNextDaysDisabled = _this.dateHelpers.monthDisabledAfter(date, _this.props);
280
281 var isDisabled = false;
282
283 if (allNextDaysDisabled) {
284 isDisabled = true;
285 }
286
287 var nextMonth = _this.dateHelpers.addMonths(date, 1);
288
289 var maxYear = _this.props.maxDate ? _this.dateHelpers.getYear(_this.props.maxDate) : MAX_YEAR;
290
291 if (_this.dateHelpers.getYear(nextMonth) > maxYear) {
292 isDisabled = true;
293 }
294
295 var isHidden = _this.isHiddenPaginationButton(DIRECTION.NEXT);
296
297 if (isHidden) {
298 isDisabled = true;
299 }
300
301 var _getOverrides5 = (0, _overrides.getOverrides)(overrides.NextButton, _styledComponents.StyledNextButton),
302 _getOverrides6 = _slicedToArray(_getOverrides5, 2),
303 NextButton = _getOverrides6[0],
304 nextButtonProps = _getOverrides6[1];
305
306 var _getOverrides7 = (0, _overrides.getOverrides)(overrides.NextButtonIcon, theme.direction === 'rtl' ? _arrowLeft.default : _arrowRight.default),
307 _getOverrides8 = _slicedToArray(_getOverrides7, 2),
308 NextButtonIcon = _getOverrides8[0],
309 nextButtonIconProps = _getOverrides8[1];
310
311 var clickHandler = _this.increaseMonth; // The other option is to always provide a click handler and let customers
312 // override its functionality based on the `$allPrevDaysDisabled` prop
313 // in a custom NextButton component override
314 // Their options would be to render `null` or not apply the components handler
315 // on click or do nothing
316
317 if (allNextDaysDisabled) {
318 clickHandler = null;
319 }
320
321 return React.createElement(NextButton, _extends({
322 "aria-label": locale.datepicker.nextMonth,
323 tabIndex: 0,
324 onClick: clickHandler,
325 disabled: isDisabled,
326 type: "button",
327 $disabled: isDisabled,
328 $isFocusVisible: _this.state.isFocusVisible
329 }, nextButtonProps), isHidden ? null : React.createElement(NextButtonIcon, _extends({
330 size: '24px',
331 overrides: {
332 Svg: {
333 style: navBtnStyle
334 }
335 }
336 }, nextButtonIconProps)));
337 });
338
339 _defineProperty(_assertThisInitialized(_this), "canArrowsOpenDropdown", function (event) {
340 if (!_this.state.isMonthYearDropdownOpen) {
341 if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
342 return true;
343 }
344 }
345
346 return false;
347 });
348
349 _defineProperty(_assertThisInitialized(_this), "renderMonthYearDropdown", function () {
350 var date = _this.getDateProp();
351
352 var _this$props3 = _this.props,
353 locale = _this$props3.locale,
354 maxDate = _this$props3.maxDate,
355 minDate = _this$props3.minDate,
356 _this$props3$override = _this$props3.overrides,
357 overrides = _this$props3$override === void 0 ? {} : _this$props3$override;
358
359 var _getOverrides9 = (0, _overrides.getOverrides)(overrides.MonthYearSelectButton, _styledComponents.StyledMonthYearSelectButton),
360 _getOverrides10 = _slicedToArray(_getOverrides9, 2),
361 MonthYearSelectButton = _getOverrides10[0],
362 monthYearSelectButtonProps = _getOverrides10[1];
363
364 var _getOverrides11 = (0, _overrides.getOverrides)(overrides.MonthYearSelectIconContainer, _styledComponents.StyledMonthYearSelectIconContainer),
365 _getOverrides12 = _slicedToArray(_getOverrides11, 2),
366 MonthYearSelectIconContainer = _getOverrides12[0],
367 monthYearSelectIconContainerProps = _getOverrides12[1];
368
369 var _getOverrides13 = (0, _overrides.getOverrides)(overrides.MonthYearSelectPopover, _index2.Popover),
370 _getOverrides14 = _slicedToArray(_getOverrides13, 2),
371 OverriddenPopover = _getOverrides14[0],
372 popoverProps = _getOverrides14[1];
373
374 var _getOverrides15 = (0, _overrides.getOverrides)(overrides.MonthYearSelectStatefulMenu, _index.StatefulMenu),
375 _getOverrides16 = _slicedToArray(_getOverrides15, 2),
376 OverriddenStatefulMenu = _getOverrides16[0],
377 menuProps = _getOverrides16[1];
378
379 var menuOverrides = (0, _overrides.mergeOverrides)({
380 List: {
381 style: {
382 height: 'auto',
383 maxHeight: '257px'
384 }
385 }
386 }, // $FlowFixMe
387 menuProps && menuProps.overrides); // $FlowFixMe
388
389 menuProps.overrides = menuOverrides;
390 var defaultMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
391 var maxYear = maxDate ? _this.dateHelpers.getYear(maxDate) : MAX_YEAR;
392 var minYear = minDate ? _this.dateHelpers.getYear(minDate) : MIN_YEAR;
393 var maxDateMonth = maxDate ? _this.dateHelpers.getMonth(maxDate) : MAX_MONTH; // Generates array like [0,1,.... maxDateMonth]
394
395 var maxYearMonths = Array.from({
396 length: maxDateMonth + 1
397 }, function (x, i) {
398 return i;
399 });
400 var minDateMonth = minDate ? _this.dateHelpers.getMonth(minDate) : MIN_MONTH; // Generates array like [minDateMonth, ...., 10, 11]
401
402 var minYearMonths = Array.from({
403 length: 12 - minDateMonth
404 }, function (x, i) {
405 return i + minDateMonth;
406 });
407 var items = [];
408
409 var _loop = function _loop(i) {
410 var months = void 0;
411
412 if (i === minYear && i === maxYear) {
413 months = maxYearMonths.filter(function (month) {
414 return minYearMonths.includes(month);
415 });
416 } else if (i === minYear) {
417 months = minYearMonths;
418 } else if (i === maxYear) {
419 months = maxYearMonths;
420 } else {
421 months = defaultMonths;
422 }
423
424 months.forEach(function (month) {
425 items.push({
426 id: yearMonthToId(i, month),
427 label: "".concat(_this.dateHelpers.getMonthInLocale(month, locale), " ").concat(i)
428 });
429 });
430 };
431
432 for (var i = minYear; i <= maxYear; i++) {
433 _loop(i);
434 }
435
436 var initialIndex = items.findIndex(function (item) {
437 return item.id === yearMonthToId(_this.dateHelpers.getYear(date), _this.dateHelpers.getMonth(date));
438 });
439 var monthYearTitle = "".concat(_this.dateHelpers.getMonthInLocale(_this.dateHelpers.getMonth(date), locale), " ").concat(_this.dateHelpers.getYear(date));
440 return _this.isMultiMonthHorizontal() ? React.createElement("div", null, monthYearTitle) : React.createElement(OverriddenPopover, _extends({
441 placement: "bottom" // eslint-disable-next-line jsx-a11y/no-autofocus
442 ,
443 autoFocus: true,
444 focusLock: true,
445 isOpen: _this.state.isMonthYearDropdownOpen,
446 onClick: function onClick() {
447 _this.setState(function (prev) {
448 return {
449 isMonthYearDropdownOpen: !prev.isMonthYearDropdownOpen
450 };
451 });
452 },
453 onClickOutside: function onClickOutside() {
454 return _this.setState({
455 isMonthYearDropdownOpen: false
456 });
457 },
458 onEsc: function onEsc() {
459 return _this.setState({
460 isMonthYearDropdownOpen: false
461 });
462 },
463 content: function content() {
464 return React.createElement(OverriddenStatefulMenu, _extends({
465 initialState: {
466 highlightedIndex: initialIndex,
467 isFocused: true
468 },
469 items: items,
470 onItemSelect: function onItemSelect(_ref6) {
471 var item = _ref6.item,
472 event = _ref6.event;
473 event.preventDefault();
474
475 var _idToYearMonth = idToYearMonth(item.id),
476 _idToYearMonth2 = _slicedToArray(_idToYearMonth, 2),
477 year = _idToYearMonth2[0],
478 month = _idToYearMonth2[1];
479
480 var updatedDate = _this.dateHelpers.set(date, {
481 year: year,
482 month: month
483 });
484
485 _this.props.onMonthChange && _this.props.onMonthChange({
486 date: updatedDate
487 });
488 _this.props.onYearChange && _this.props.onYearChange({
489 date: updatedDate
490 });
491
492 _this.setState({
493 isMonthYearDropdownOpen: false
494 });
495 }
496 }, menuProps));
497 }
498 }, popoverProps), React.createElement(MonthYearSelectButton, _extends({
499 "aria-live": "polite",
500 type: "button",
501 $isFocusVisible: _this.state.isFocusVisible,
502 onKeyUp: function onKeyUp(event) {
503 if (_this.canArrowsOpenDropdown(event)) {
504 _this.setState({
505 isMonthYearDropdownOpen: true
506 });
507 }
508 },
509 onKeyDown: function onKeyDown(event) {
510 if (_this.canArrowsOpenDropdown(event)) {
511 // disables page scroll
512 event.preventDefault();
513 }
514
515 if (event.key === 'Tab') {
516 _this.setState({
517 isMonthYearDropdownOpen: false
518 });
519 }
520 }
521 }, monthYearSelectButtonProps), monthYearTitle, React.createElement(MonthYearSelectIconContainer, monthYearSelectIconContainerProps, React.createElement(_triangleDown.default, {
522 title: "",
523 overrides: {
524 Svg: {
525 props: {
526 role: 'presentation'
527 }
528 }
529 }
530 }))));
531 });
532
533 _this.dateHelpers = new _dateHelpers.default(props.adapter);
534 return _this;
535 }
536
537 _createClass(CalendarHeader, [{
538 key: "render",
539 value: function render() {
540 var _this2 = this;
541
542 var _this$props$overrides3 = this.props.overrides,
543 overrides = _this$props$overrides3 === void 0 ? {} : _this$props$overrides3;
544
545 var _getOverrides17 = (0, _overrides.getOverrides)(overrides.CalendarHeader, _styledComponents.StyledCalendarHeader),
546 _getOverrides18 = _slicedToArray(_getOverrides17, 2),
547 CalendarHeader = _getOverrides18[0],
548 calendarHeaderProps = _getOverrides18[1];
549
550 var _getOverrides19 = (0, _overrides.getOverrides)(overrides.MonthHeader, _styledComponents.StyledMonthHeader),
551 _getOverrides20 = _slicedToArray(_getOverrides19, 2),
552 MonthHeader = _getOverrides20[0],
553 monthHeaderProps = _getOverrides20[1];
554
555 var _getOverrides21 = (0, _overrides.getOverrides)(overrides.WeekdayHeader, _styledComponents.StyledWeekdayHeader),
556 _getOverrides22 = _slicedToArray(_getOverrides21, 2),
557 WeekdayHeader = _getOverrides22[0],
558 weekdayHeaderProps = _getOverrides22[1];
559
560 var startOfWeek = this.dateHelpers.getStartOfWeek(this.getDateProp(), this.props.locale);
561 return React.createElement(_themeProvider.ThemeContext.Consumer, null, function (theme) {
562 return React.createElement(_index3.LocaleContext.Consumer, null, function (locale) {
563 return React.createElement(React.Fragment, null, React.createElement(CalendarHeader, _extends({}, calendarHeaderProps, {
564 onFocus: (0, _focusVisible.forkFocus)(calendarHeaderProps, _this2.handleFocus),
565 onBlur: (0, _focusVisible.forkBlur)(calendarHeaderProps, _this2.handleBlur)
566 }), _this2.renderPreviousMonthButton({
567 locale: locale,
568 theme: theme
569 }), _this2.renderMonthYearDropdown(), _this2.renderNextMonthButton({
570 locale: locale,
571 theme: theme
572 })), React.createElement(MonthHeader, _extends({
573 role: "presentation"
574 }, monthHeaderProps), _constants.WEEKDAYS.map(function (offset) {
575 var day = _this2.dateHelpers.addDays(startOfWeek, offset);
576
577 return React.createElement(WeekdayHeader, _extends({
578 key: offset,
579 alt: _this2.dateHelpers.getWeekdayInLocale(day, _this2.props.locale)
580 }, weekdayHeaderProps), _this2.dateHelpers.getWeekdayMinInLocale(day, _this2.props.locale));
581 })));
582 });
583 });
584 }
585 }]);
586
587 return CalendarHeader;
588}(React.Component);
589
590exports.default = CalendarHeader;
591
592_defineProperty(CalendarHeader, "defaultProps", {
593 adapter: _dateFnsAdapter.default,
594 locale: null,
595 maxDate: null,
596 minDate: null,
597 onYearChange: function onYearChange() {},
598 overrides: {}
599});
\No newline at end of file