UNPKG

@fluentui/react-northstar

Version:
56 lines (54 loc) 2.28 kB
"use strict"; exports.__esModule = true; exports.navigateToNewDate = exports.contstraintNavigatedDate = void 0; var _dateTimeUtilities = require("../../utils/date-time-utilities"); var contstraintNavigatedDate = function contstraintNavigatedDate(initialDate, targetDate, direction, restrictedDatesOptions, navigateToDisabledDates) { if (!targetDate) { // if we couldn't find a target date at all, do nothing return undefined; } var findAvailableDateOptions = Object.assign({ initialDate: initialDate, targetDate: targetDate, direction: direction }, !navigateToDisabledDates && restrictedDatesOptions); var newNavigatedDate = (0, _dateTimeUtilities.findAvailableDate)(findAvailableDateOptions); if (!newNavigatedDate) { // if no dates available in initial direction, try going backwards findAvailableDateOptions.direction = -direction; newNavigatedDate = (0, _dateTimeUtilities.findAvailableDate)(findAvailableDateOptions); } if (!navigateToDisabledDates && (0, _dateTimeUtilities.isAfterMaxDate)(targetDate, restrictedDatesOptions)) { newNavigatedDate = restrictedDatesOptions.maxDate; } else if (!navigateToDisabledDates && (0, _dateTimeUtilities.isBeforeMinDate)(targetDate, restrictedDatesOptions)) { newNavigatedDate = restrictedDatesOptions.minDate; } return newNavigatedDate; }; exports.contstraintNavigatedDate = contstraintNavigatedDate; var navigateToNewDate = function navigateToNewDate(originalDate, kind, step, restrictedDatesOptions, navigateToDisabledDates) { var targetDate = null; var targetDayDirection = step > 0 ? 1 : -1; switch (kind) { case 'Month': { targetDate = (0, _dateTimeUtilities.addMonths)(originalDate, targetDayDirection); break; } case 'Week': { targetDate = (0, _dateTimeUtilities.addWeeks)(originalDate, targetDayDirection); break; } case 'Day': { targetDate = (0, _dateTimeUtilities.addDays)(originalDate, targetDayDirection); break; } default: break; } return contstraintNavigatedDate(originalDate, targetDate, step, restrictedDatesOptions, navigateToDisabledDates); }; exports.navigateToNewDate = navigateToNewDate; //# sourceMappingURL=navigateToNewDate.js.map