UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

97 lines 3.93 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { addMonths, addYears, isSameMonth, isSameYear, startOfMonth, startOfYear } from 'date-fns'; import { parseDate } from '../../internal/utils/date-time'; export function findDateToFocus(selected, baseDate, isDateEnabled) { if (selected && isDateEnabled(selected) && isSameMonth(selected, baseDate)) { return selected; } const today = new Date(); if (isDateEnabled(today) && isSameMonth(today, baseDate)) { return today; } if (isDateEnabled(baseDate)) { return baseDate; } return null; } export function findMonthToFocus(selected, baseDate, isMonthEnabled) { if (selected && isMonthEnabled(selected) && isSameYear(selected, baseDate)) { return selected; } const today = new Date(); if (isMonthEnabled(today) && isSameYear(today, baseDate)) { return today; } if (isMonthEnabled(baseDate)) { return baseDate; } return null; } export function findMonthToDisplay(value, isSingleGrid) { if (value.start.date) { const startDate = parseDate(value.start.date); if (isSingleGrid) { return startOfMonth(startDate); } return startOfMonth(addMonths(startDate, 1)); } if (value.end.date) { return startOfMonth(parseDate(value.end.date)); } return startOfMonth(Date.now()); } export function findYearToDisplay(value, isSingleGrid) { if (value.start.date) { const startDate = parseDate(value.start.date); if (isSingleGrid) { return startOfYear(startDate); } return startOfYear(addYears(startDate, 1)); } if (value.end.date) { return startOfYear(parseDate(value.end.date)); } return startOfYear(Date.now()); } export const generateI18NFallbackKey = (isMonthPicker, isDateOnly) => { if (isMonthPicker) { return 'i18nStrings.monthConstraintText'; } if (isDateOnly) { return 'i18nStrings.dateConstraintText'; } return 'i18nStrings.dateTimeConstraintText'; }; export const generateI18NKey = (isMonthPicker, isDateOnly, isIso) => { if (isMonthPicker) { return isIso ? 'i18nStrings.isoMonthConstraintText' : 'i18nStrings.slashedMonthConstraintText'; } if (isDateOnly) { return isIso ? 'i18nStrings.isoDateConstraintText' : 'i18nStrings.slashedDateConstraintText'; } return isIso ? 'i18nStrings.isoDateTimeConstraintText' : 'i18nStrings.slashedDateTimeConstraintText'; }; export const provideI18N = (i18nStrings, isMonthPicker, isDateOnly, isIso) => { let result; if (isMonthPicker) { result = isIso ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.isoMonthConstraintText : i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.slashedMonthConstraintText; if (!result) { result = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.monthConstraintText; } } else if (isDateOnly) { result = isIso ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.isoDateConstraintText : i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.slashedDateConstraintText; if (!result) { result = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.dateConstraintText; } } if (!result) { result = isIso ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.isoDateTimeConstraintText : i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.slashedDateTimeConstraintText; if (!result) { result = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.dateTimeConstraintText; } } return result; }; //# sourceMappingURL=utils.js.map