@atlaskit/calendar
Version:
An interactive calendar for date selection experiences.
29 lines • 1.15 kB
JavaScript
import { useMemo } from 'react';
import { createLocalizationProvider } from '@atlaskit/locale/localization-provider';
import { fg } from '@atlaskit/platform-feature-flags/fg';
// eslint-disable-next-line @repo/internal/react/require-jsdoc
export default function useLocale(_ref) {
var locale = _ref.locale,
weekStartDay = _ref.weekStartDay;
var l10n = useMemo(function () {
return createLocalizationProvider(locale);
}, [locale]);
var resolvedWeekStartDay = useMemo(function () {
return weekStartDay !== null && weekStartDay !== void 0 ? weekStartDay : fg('platform-dst-locale-week-start-day') ? l10n.getFirstDayOfWeek() : 0;
}, [l10n, weekStartDay]);
var monthsLong = useMemo(function () {
return l10n.getMonthsLong();
}, [l10n]);
var daysShort = useMemo(function () {
return l10n.getDaysShort(resolvedWeekStartDay);
}, [l10n, resolvedWeekStartDay]);
var daysLong = useMemo(function () {
return l10n.getDaysLong(resolvedWeekStartDay);
}, [l10n, resolvedWeekStartDay]);
return {
monthsLong: monthsLong,
daysShort: daysShort,
daysLong: daysLong,
weekStartDay: resolvedWeekStartDay
};
}