UNPKG

@atlaskit/mention

Version:

A React component used to display user profiles in a list for 'Mention' functionality

44 lines (43 loc) 1.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireDefault(require("react")); var _reactIntlNext = require("react-intl-next"); var _i18n = require("../../util/i18n"); var EMPTY = {}; var useI18n = function useI18n(locale) { var _React$useState = _react.default.useState(EMPTY), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), messages = _React$useState2[0], setMessages = _React$useState2[1]; _react.default.useEffect(function () { var aborted = false; setMessages(EMPTY); (0, _i18n.getMessagesForLocale)(locale).then(function (messages) { if (!aborted) { setMessages(messages); } }).catch(function (error) { // eslint-disable-next-line no-console console.error(error); }); return function () { aborted = true; }; }, [locale]); return messages; }; var MessagesIntlProvider = function MessagesIntlProvider(props) { var children = props.children; var intl = (0, _reactIntlNext.useIntl)(); var messages = useI18n(intl.locale); return /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, (0, _extends2.default)({}, intl, { messages: messages }), children); }; var _default = exports.default = MessagesIntlProvider;