Repository URL to install this package:
|
Version:
5.0.0-rc.5 ▾
|
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRedux = require("react-redux");
var _LanguageMenu = _interopRequireDefault(require("@doodle/components/controls/LanguageMenu"));
var _localeFlagsHelper = _interopRequireDefault(require("./localeFlagsHelper"));
var _actions = require("../../state/actions");
var _locales = _interopRequireDefault(require("../../locales"));
class LocaleSwitcher extends _react.Component {
render() {
const {
currentLocale,
locales,
onChangeLocale
} = this.props;
const items = Object.entries(locales).map(([locale, label]) => ({
label,
icon: _localeFlagsHelper.default[locale],
action: () => onChangeLocale(locale)
}));
return /*#__PURE__*/_react.default.createElement(_LanguageMenu.default, {
className: "LocaleSwitcher",
items: items
}, locales[currentLocale]);
}
}
(0, _defineProperty2.default)(LocaleSwitcher, "propTypes", {
currentLocale: _propTypes.default.string.isRequired,
locales: _propTypes.default.object,
onChangeLocale: _propTypes.default.func.isRequired
});
(0, _defineProperty2.default)(LocaleSwitcher, "defaultProps", {
locales: _locales.default
});
const mapStateToProps = state => ({
currentLocale: state.i18n.locale
});
const mapDispatchToProps = dispatch => ({
onChangeLocale: locale => {
dispatch((0, _actions.changeLocale)(locale));
}
});
var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LocaleSwitcher);
exports.default = _default;
//# sourceMappingURL=LocaleSwitcher.js.map