react-localization-dk
Version:
Module for localize React app
22 lines • 1.04 kB
JavaScript
import React, { useMemo, useState, useContext } from 'react';
var LocalizationContext = React.createContext({
locale: null,
setCurrentAbbreviation: null,
currentAbbreviation: null,
abbreviations: []
});
export var LocalizationProvider = function (_a) {
var localization = _a.localization, children = _a.children, defaultValue = _a.defaultValue, abbreviations = _a.abbreviations;
var _b = useState(defaultValue), currentAbbreviation = _b[0], setCurrentAbbreviation = _b[1];
var valueObj = useMemo(function () { return ({
locale: localization[currentAbbreviation],
setCurrentAbbreviation: setCurrentAbbreviation,
currentAbbreviation: currentAbbreviation,
abbreviations: abbreviations
}); }, [currentAbbreviation, abbreviations, localization]);
return (
// @ts-ignore
React.createElement(LocalizationContext.Provider, { value: valueObj }, children));
};
export var useLocalization = useContext(LocalizationContext);
//# sourceMappingURL=index.js.map