UNPKG

@atlaskit/mention

Version:

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

37 lines 1.23 kB
import _extends from "@babel/runtime/helpers/extends"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import React from 'react'; import { IntlProvider, useIntl } from 'react-intl-next'; import { getMessagesForLocale } from '../../util/i18n'; var EMPTY = {}; var useI18n = function useI18n(locale) { var _React$useState = React.useState(EMPTY), _React$useState2 = _slicedToArray(_React$useState, 2), messages = _React$useState2[0], setMessages = _React$useState2[1]; React.useEffect(function () { var aborted = false; setMessages(EMPTY); 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 = useIntl(); var messages = useI18n(intl.locale); return /*#__PURE__*/React.createElement(IntlProvider, _extends({}, intl, { messages: messages }), children); }; export default MessagesIntlProvider;