ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
33 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLocales = void 0;
const react_1 = require("react");
const useI18nProvider_1 = require("./useI18nProvider.cjs");
/**
* A hook that gets the available locales from the i18nProvider.
* @example
*
* import { useLocales } from 'react-admin';
*
* const LocaleSelector = () => {
* const locales = useLocales();
* const [currentLocale, setCurrentLocale] = useLocaleState();
*
* return (
* <select onChange={event => setCurrentLocale(event.target.value)}>
* {locales.map(locale => (
* <option key={locale.locale} value={locale.locale}>
* {locale.name}
* </option>
* )}
* </select>
* );
* }
*/
const useLocales = (options) => {
const i18nProvider = (0, useI18nProvider_1.useI18nProvider)();
const locales = (0, react_1.useMemo)(() => (i18nProvider?.getLocales ? i18nProvider?.getLocales() : []), [i18nProvider]);
return options?.locales ?? locales;
};
exports.useLocales = useLocales;
//# sourceMappingURL=useLocales.js.map