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

35 lines 2.39 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { useInternalI18n } from '../i18n/context.js'; import { getDateLabel, renderMonthAndYear } from './utils/intl'; export default function useCalendarLabels({ granularity, locale, i18nStrings, previousMonthAriaLabel, nextMonthAriaLabel, todayAriaLabel, }) { var _a, _b, _c; const i18n = useInternalI18n('calendar'); const isMonthPicker = granularity === 'month'; const previousButtonLabel = isMonthPicker ? i18n('i18nStrings.previousYearAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousYearAriaLabel) : i18n('previousMonthAriaLabel', (_a = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel) !== null && _a !== void 0 ? _a : previousMonthAriaLabel); const nextButtonLabel = isMonthPicker ? i18n('i18nStrings.nextYearAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextYearAriaLabel) : i18n('nextMonthAriaLabel', (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel) !== null && _b !== void 0 ? _b : nextMonthAriaLabel); const currentDateLabel = isMonthPicker ? i18n('i18nStrings.currentMonthAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.currentMonthAriaLabel) : i18n('todayAriaLabel', (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel) !== null && _c !== void 0 ? _c : todayAriaLabel); const renderDate = (date) => isMonthPicker ? date.toLocaleString(locale, { month: 'short' }) : date.getDate().toString(); const renderDateAnnouncement = (date, isCurrentDate) => { const formattedDate = isMonthPicker ? renderMonthAndYear(locale, date) : getDateLabel(locale, date, 'short'); if (isCurrentDate && currentDateLabel) { return formattedDate + '. ' + currentDateLabel; } return formattedDate; }; const renderHeaderText = (date) => isMonthPicker ? date.getFullYear().toString() : renderMonthAndYear(locale, date); return { previousButtonLabel, nextButtonLabel, renderDate, renderDateAnnouncement, renderHeaderText, }; } //# sourceMappingURL=use-calendar-labels.js.map