@atlaskit/mention
Version:
A React component used to display user profiles in a list for 'Mention' functionality
190 lines (189 loc) • 10.1 kB
JavaScript
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
import _extends from "@babel/runtime/helpers/extends";
import _regeneratorRuntime from "@babel/runtime/regenerator";
import React from 'react';
import { FormattedMessage, useIntl } from 'react-intl-next';
import { messages } from '../components/i18n';
export var propFormatter = function propFormatter(messageDescriptor) {
return function (_ref) {
var values = _ref.values,
children = _ref.children;
var _useIntl = useIntl(),
formatMessage = _useIntl.formatMessage;
var message = formatMessage(messageDescriptor, values);
if (typeof children === 'function') {
return children(message);
}
return /*#__PURE__*/React.createElement(FormattedMessage, _extends({
values: values
}, messageDescriptor));
};
};
export var UnknownUserError = propFormatter(messages.unknownUserError);
export var NoAccessWarning = propFormatter(messages.noAccessWarning);
export var NoAccessLabel = propFormatter(messages.noAccessLabel);
export var DefaultHeadline = propFormatter(messages.defaultHeadline);
export var DefaultAdvisedAction = propFormatter(messages.defaultAdvisedAction);
export var LoginAgain = propFormatter(messages.loginAgain);
export var DifferentText = propFormatter(messages.differentText);
/**
* Tries to get the most specific messages bundle for a given locale.
*
* Strategy:
* 1. Try to find messages with the exact string (i.e. 'fr_FR')
* 2. If that doesn't work, try to find messages for the country locale (i.e. 'fr')
* 3. If that doesn't work, return english messages as a fallback.
*
* @param locale string specifying the locale like 'en_GB', or 'fr'.
*/
var _getMessagesForLocale = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(locale) {
var fragments;
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.t0 = locale;
_context.next = _context.t0 === 'cs' ? 3 : _context.t0 === 'da' ? 4 : _context.t0 === 'de' ? 5 : _context.t0 === 'en' ? 6 : _context.t0 === 'en_GB' ? 7 : _context.t0 === 'en_ZZ' ? 8 : _context.t0 === 'es' ? 9 : _context.t0 === 'et' ? 10 : _context.t0 === 'fi' ? 11 : _context.t0 === 'fr' ? 12 : _context.t0 === 'hu' ? 13 : _context.t0 === 'is' ? 14 : _context.t0 === 'it' ? 15 : _context.t0 === 'ja' ? 16 : _context.t0 === 'ko' ? 17 : _context.t0 === 'nb' ? 18 : _context.t0 === 'nl' ? 19 : _context.t0 === 'pl' ? 20 : _context.t0 === 'pt_BR' ? 21 : _context.t0 === 'pt-BR' ? 21 : _context.t0 === 'pt_PT' ? 22 : _context.t0 === 'pt-PT' ? 22 : _context.t0 === 'ro' ? 23 : _context.t0 === 'ru' ? 24 : _context.t0 === 'sk' ? 25 : _context.t0 === 'sv' ? 26 : _context.t0 === 'th' ? 27 : _context.t0 === 'tr' ? 28 : _context.t0 === 'uk' ? 29 : _context.t0 === 'vi' ? 30 : _context.t0 === 'zh_TW' ? 31 : _context.t0 === 'zh' ? 32 : 33;
break;
case 3:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-cs" */'../i18n/cs').then(function (mod) {
return mod.default;
}));
case 4:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-da" */'../i18n/da').then(function (mod) {
return mod.default;
}));
case 5:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-de" */'../i18n/de').then(function (mod) {
return mod.default;
}));
case 6:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en').then(function (mod) {
return mod.default;
}));
case 7:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_GB" */'../i18n/en_GB').then(function (mod) {
return mod.default;
}));
case 8:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_ZZ" */'../i18n/en_ZZ').then(function (mod) {
return mod.default;
}));
case 9:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-es" */'../i18n/es').then(function (mod) {
return mod.default;
}));
case 10:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-et" */'../i18n/et').then(function (mod) {
return mod.default;
}));
case 11:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fi" */'../i18n/fi').then(function (mod) {
return mod.default;
}));
case 12:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fr" */'../i18n/fr').then(function (mod) {
return mod.default;
}));
case 13:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-hu" */'../i18n/hu').then(function (mod) {
return mod.default;
}));
case 14:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-is" */'../i18n/is').then(function (mod) {
return mod.default;
}));
case 15:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-it" */'../i18n/it').then(function (mod) {
return mod.default;
}));
case 16:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ja" */'../i18n/ja').then(function (mod) {
return mod.default;
}));
case 17:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ko" */'../i18n/ko').then(function (mod) {
return mod.default;
}));
case 18:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nb" */'../i18n/nb').then(function (mod) {
return mod.default;
}));
case 19:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nl" */'../i18n/nl').then(function (mod) {
return mod.default;
}));
case 20:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pl" */'../i18n/pl').then(function (mod) {
return mod.default;
}));
case 21:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_BR" */'../i18n/pt_BR').then(function (mod) {
return mod.default;
}));
case 22:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_PT" */'../i18n/pt_PT').then(function (mod) {
return mod.default;
}));
case 23:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ro" */'../i18n/ro').then(function (mod) {
return mod.default;
}));
case 24:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ru" */'../i18n/ru').then(function (mod) {
return mod.default;
}));
case 25:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sk" */'../i18n/sk').then(function (mod) {
return mod.default;
}));
case 26:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sv" */'../i18n/sv').then(function (mod) {
return mod.default;
}));
case 27:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-th" */'../i18n/th').then(function (mod) {
return mod.default;
}));
case 28:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-tr" */'../i18n/tr').then(function (mod) {
return mod.default;
}));
case 29:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-uk" */'../i18n/uk').then(function (mod) {
return mod.default;
}));
case 30:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-vi" */'../i18n/vi').then(function (mod) {
return mod.default;
}));
case 31:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh_TW" */'../i18n/zh_TW').then(function (mod) {
return mod.default;
}));
case 32:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh" */'../i18n/zh').then(function (mod) {
return mod.default;
}));
case 33:
fragments = locale.split(/[_-]/);
if (!(fragments.length === 2)) {
_context.next = 38;
break;
}
return _context.abrupt("return", _getMessagesForLocale(fragments[0]));
case 38:
return _context.abrupt("return", import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en').then(function (mod) {
return mod.default;
}));
case 39:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getMessagesForLocale(_x) {
return _ref2.apply(this, arguments);
};
}();
export { _getMessagesForLocale as getMessagesForLocale };