@atlaskit/calendar
Version:
An interactive calendar for date selection experiences.
35 lines (34 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useLocale;
var _react = require("react");
var _localizationProvider = require("@atlaskit/locale/localization-provider");
var _fg = require("@atlaskit/platform-feature-flags/fg");
// eslint-disable-next-line @repo/internal/react/require-jsdoc
function useLocale(_ref) {
var locale = _ref.locale,
weekStartDay = _ref.weekStartDay;
var l10n = (0, _react.useMemo)(function () {
return (0, _localizationProvider.createLocalizationProvider)(locale);
}, [locale]);
var resolvedWeekStartDay = (0, _react.useMemo)(function () {
return weekStartDay !== null && weekStartDay !== void 0 ? weekStartDay : (0, _fg.fg)('platform-dst-locale-week-start-day') ? l10n.getFirstDayOfWeek() : 0;
}, [l10n, weekStartDay]);
var monthsLong = (0, _react.useMemo)(function () {
return l10n.getMonthsLong();
}, [l10n]);
var daysShort = (0, _react.useMemo)(function () {
return l10n.getDaysShort(resolvedWeekStartDay);
}, [l10n, resolvedWeekStartDay]);
var daysLong = (0, _react.useMemo)(function () {
return l10n.getDaysLong(resolvedWeekStartDay);
}, [l10n, resolvedWeekStartDay]);
return {
monthsLong: monthsLong,
daysShort: daysShort,
daysLong: daysLong,
weekStartDay: resolvedWeekStartDay
};
}