@atlaskit/emoji 63.2.0 → 64.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/cjs/api/EmojiUtils.js +11 -6
  3. package/dist/cjs/api/internal/UsageFrequencyTracker.js +2 -2
  4. package/dist/cjs/api/media/SiteEmojiResource.js +5 -3
  5. package/dist/cjs/components/common/CachingEmoji.js +5 -2
  6. package/dist/cjs/components/common/DeleteButton.js +1 -1
  7. package/dist/cjs/components/common/Emoji.js +37 -16
  8. package/dist/cjs/components/common/EmojiActions.js +233 -0
  9. package/dist/cjs/components/common/EmojiDeletePreview.js +22 -23
  10. package/dist/cjs/components/common/EmojiPlaceholder.js +3 -10
  11. package/dist/cjs/components/common/EmojiPreview.js +24 -24
  12. package/dist/cjs/components/common/EmojiUploadPicker.js +76 -72
  13. package/dist/cjs/components/common/EmojiUploadPreview.js +17 -15
  14. package/dist/cjs/components/common/ResourcedEmoji.js +3 -1
  15. package/dist/cjs/components/common/RetryableButton.js +2 -2
  16. package/dist/cjs/components/common/styles.js +22 -25
  17. package/dist/cjs/components/i18n.js +2 -2
  18. package/dist/cjs/components/picker/CategorySelector.js +21 -16
  19. package/dist/cjs/components/picker/EmojiPicker.js +3 -1
  20. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +2 -2
  21. package/dist/cjs/components/picker/EmojiPickerComponent.js +12 -31
  22. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +2 -1
  23. package/dist/cjs/components/picker/EmojiPickerFooter.js +7 -49
  24. package/dist/cjs/components/picker/EmojiPickerList.js +38 -12
  25. package/dist/cjs/components/picker/EmojiPickerListSearch.js +25 -26
  26. package/dist/cjs/components/picker/EmojiPickerPreview.js +87 -0
  27. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +7 -6
  28. package/dist/cjs/components/picker/styles.js +21 -16
  29. package/dist/cjs/components/typeahead/EmojiTypeAhead.js +3 -1
  30. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +3 -3
  31. package/dist/cjs/components/typeahead/styles.js +2 -2
  32. package/dist/cjs/components/uploader/EmojiUploadComponent.js +2 -2
  33. package/dist/cjs/components/uploader/EmojiUploader.js +3 -1
  34. package/dist/cjs/components/uploader/styles.js +1 -1
  35. package/dist/cjs/util/analytics.js +2 -2
  36. package/dist/cjs/util/shared-styles.js +6 -6
  37. package/dist/cjs/util/type-helpers.js +2 -2
  38. package/dist/cjs/version.json +1 -1
  39. package/dist/es2019/components/common/DeleteButton.js +1 -1
  40. package/dist/es2019/components/common/Emoji.js +33 -13
  41. package/dist/es2019/components/common/EmojiActions.js +178 -0
  42. package/dist/es2019/components/common/EmojiDeletePreview.js +16 -9
  43. package/dist/es2019/components/common/EmojiPlaceholder.js +3 -7
  44. package/dist/es2019/components/common/EmojiPreview.js +21 -16
  45. package/dist/es2019/components/common/EmojiUploadPicker.js +22 -13
  46. package/dist/es2019/components/common/EmojiUploadPreview.js +14 -7
  47. package/dist/es2019/components/common/RetryableButton.js +1 -1
  48. package/dist/es2019/components/common/styles.js +19 -24
  49. package/dist/es2019/components/i18n.js +1 -1
  50. package/dist/es2019/components/picker/CategorySelector.js +13 -6
  51. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +1 -1
  52. package/dist/es2019/components/picker/EmojiPickerComponent.js +9 -30
  53. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -1
  54. package/dist/es2019/components/picker/EmojiPickerFooter.js +6 -46
  55. package/dist/es2019/components/picker/EmojiPickerList.js +36 -10
  56. package/dist/es2019/components/picker/EmojiPickerListSearch.js +15 -8
  57. package/dist/es2019/components/picker/EmojiPickerPreview.js +43 -0
  58. package/dist/es2019/components/picker/styles.js +18 -14
  59. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +2 -2
  60. package/dist/es2019/components/typeahead/styles.js +2 -2
  61. package/dist/es2019/components/uploader/EmojiUploadComponent.js +3 -3
  62. package/dist/es2019/components/uploader/styles.js +1 -1
  63. package/dist/es2019/util/shared-styles.js +6 -6
  64. package/dist/es2019/version.json +1 -1
  65. package/dist/esm/api/EmojiUtils.js +10 -6
  66. package/dist/esm/api/internal/UsageFrequencyTracker.js +2 -2
  67. package/dist/esm/api/media/SiteEmojiResource.js +4 -3
  68. package/dist/esm/components/common/CachingEmoji.js +4 -2
  69. package/dist/esm/components/common/DeleteButton.js +1 -1
  70. package/dist/esm/components/common/Emoji.js +37 -15
  71. package/dist/esm/components/common/EmojiActions.js +200 -0
  72. package/dist/esm/components/common/EmojiDeletePreview.js +18 -21
  73. package/dist/esm/components/common/EmojiPlaceholder.js +3 -7
  74. package/dist/esm/components/common/EmojiPreview.js +19 -24
  75. package/dist/esm/components/common/EmojiUploadPicker.js +70 -71
  76. package/dist/esm/components/common/EmojiUploadPreview.js +13 -13
  77. package/dist/esm/components/common/ResourcedEmoji.js +2 -1
  78. package/dist/esm/components/common/RetryableButton.js +1 -1
  79. package/dist/esm/components/common/styles.js +19 -22
  80. package/dist/esm/components/i18n.js +1 -1
  81. package/dist/esm/components/picker/CategorySelector.js +17 -15
  82. package/dist/esm/components/picker/EmojiPicker.js +2 -1
  83. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +1 -1
  84. package/dist/esm/components/picker/EmojiPickerComponent.js +11 -32
  85. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -1
  86. package/dist/esm/components/picker/EmojiPickerFooter.js +6 -46
  87. package/dist/esm/components/picker/EmojiPickerList.js +38 -12
  88. package/dist/esm/components/picker/EmojiPickerListSearch.js +21 -25
  89. package/dist/esm/components/picker/EmojiPickerPreview.js +67 -0
  90. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +6 -5
  91. package/dist/esm/components/picker/styles.js +18 -14
  92. package/dist/esm/components/typeahead/EmojiTypeAhead.js +2 -1
  93. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +2 -2
  94. package/dist/esm/components/typeahead/styles.js +2 -2
  95. package/dist/esm/components/uploader/EmojiUploadComponent.js +3 -3
  96. package/dist/esm/components/uploader/EmojiUploader.js +2 -1
  97. package/dist/esm/components/uploader/styles.js +1 -1
  98. package/dist/esm/util/analytics.js +2 -2
  99. package/dist/esm/util/shared-styles.js +6 -6
  100. package/dist/esm/util/type-helpers.js +2 -2
  101. package/dist/esm/version.json +1 -1
  102. package/dist/types/components/common/Emoji.d.ts +2 -0
  103. package/dist/types/components/common/EmojiActions.d.ts +43 -0
  104. package/dist/types/components/common/EmojiDeletePreview.d.ts +6 -8
  105. package/dist/types/components/common/EmojiPlaceholder.d.ts +1 -0
  106. package/dist/types/components/common/EmojiPreview.d.ts +7 -1
  107. package/dist/types/components/common/EmojiUploadPicker.d.ts +11 -4
  108. package/dist/types/components/common/EmojiUploadPreview.d.ts +6 -4
  109. package/dist/types/components/common/UploadEmoji.d.ts +2 -2
  110. package/dist/types/components/common/styles.d.ts +1 -1
  111. package/dist/types/components/picker/CategorySelector.d.ts +5 -11
  112. package/dist/types/components/picker/EmojiPickerComponent.d.ts +2 -5
  113. package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -19
  114. package/dist/types/components/picker/EmojiPickerList.d.ts +17 -3
  115. package/dist/types/components/picker/EmojiPickerListSearch.d.ts +6 -15
  116. package/dist/types/components/picker/EmojiPickerPreview.d.ts +9 -0
  117. package/dist/types/components/picker/styles.d.ts +1 -0
  118. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +2 -2
  119. package/dist/types/util/shared-styles.d.ts +6 -6
  120. package/package.json +10 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,72 @@
1
1
  # @atlaskit/emoji
2
2
 
3
+ ## 64.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`21e15939c73`](https://bitbucket.org/atlassian/atlassian-frontend/commits/21e15939c73) - add SSR examples for emoji
8
+ - [`95015909035`](https://bitbucket.org/atlassian/atlassian-frontend/commits/95015909035) - Fixed issue where some of the examples where crashing.
9
+
10
+ ## 64.1.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - [ux] Task: https://a11y-internal.atlassian.net/browse/AK-97, Emoji picker: made emojis list keyboard accessible, moved tone selector and place it right after search input, placed upload/remove emoji menus above the emoji list.
15
+ - [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Remove @atlaskit/tooltip from critical path of rendering emoji
16
+ - [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Upgrade js-search to v2
17
+
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies
21
+
22
+ ## 64.0.1
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies
27
+
28
+ ## 64.0.0
29
+
30
+ ### Major Changes
31
+
32
+ - [`47f58da5946`](https://bitbucket.org/atlassian/atlassian-frontend/commits/47f58da5946) - ED-13322, ED-13324, ED-13326, ED-13323, ED-13204: Upgrade and support react-intl@^5.18.1 including breaking API changes, types and tests in atlassian-frontend packages
33
+
34
+ What changed: Upgraded our react-intl support from ^2.6.0 to ^5.18.1. This means editor packages now rely on consumers installing ^5.18.1, otherwise editor usage of react-intl will mismatch with actual installed react-intl APIs.
35
+ Why change was made: As part of a coordinated upgrade effort across AF packages, as react-intl v2 is quite dated.
36
+ How consumer should update their code: Ensure react-intl ^5.18.1 is installed in consuming applications.
37
+
38
+ Upgrade guide: To consume atlassian-frontend packages that use react-intl5 setup a second provider for the new version, using an npm alias
39
+
40
+ ```js
41
+ "react-intl": "^2.6.0",
42
+ "react-intl-next": "npm:react-intl@^5.18.1",
43
+ ```
44
+
45
+ ```js
46
+ import { IntlProvider } from 'react-intl';
47
+ import { IntlProvider as IntlNextProvider } from 'react-intl-next';
48
+
49
+ return (
50
+ <IntlProvider
51
+ key={locale}
52
+ data-test-language={locale}
53
+ locale={locale}
54
+ defaultLocale={DEFAULT_LOCALE}
55
+ messages={messages}
56
+ >
57
+ <IntlNextProvider
58
+ key={locale}
59
+ data-test-language={locale}
60
+ locale={locale}
61
+ defaultLocale={DEFAULT_LOCALE}
62
+ messages={messages}
63
+ >
64
+ {children}
65
+ </IntlNextProvider>
66
+ </IntlProvider>
67
+ );
68
+ ```
69
+
3
70
  ## 63.2.0
4
71
 
5
72
  ### Minor Changes
@@ -17,20 +17,25 @@ var _typeHelpers = require("../util/type-helpers");
17
17
 
18
18
  var _logger = _interopRequireDefault(require("../util/logger"));
19
19
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
20
+ var _excluded = ["getRatio"],
21
+ _excluded2 = ["queryParams"],
22
+ _excluded3 = ["representation", "altRepresentations"],
23
+ _excluded4 = ["representation", "skinVariations", "altRepresentations"];
21
24
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
+
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
28
 
24
29
  var emojiRequest = function emojiRequest(provider, options) {
25
30
  var _provider$getRatio = provider.getRatio,
26
31
  getRatio = _provider$getRatio === void 0 ? getPixelRatio : _provider$getRatio,
27
- serviceConfig = (0, _objectWithoutProperties2.default)(provider, ["getRatio"]);
32
+ serviceConfig = (0, _objectWithoutProperties2.default)(provider, _excluded);
28
33
  var scaleQueryParams = calculateScale(getRatio);
29
34
 
30
35
  var _ref = options || {},
31
36
  _ref$queryParams = _ref.queryParams,
32
37
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
33
- otherOptions = (0, _objectWithoutProperties2.default)(_ref, ["queryParams"]);
38
+ otherOptions = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
34
39
 
35
40
  var requestOptions = _objectSpread(_objectSpread({}, otherOptions), {}, {
36
41
  queryParams: _objectSpread(_objectSpread(_objectSpread({}, scaleQueryParams), queryParams), {}, {
@@ -138,7 +143,7 @@ var denormaliseSkinEmoji = function denormaliseSkinEmoji(emoji, meta) {
138
143
  return skinEmoji.map(function (skin) {
139
144
  var representation = skin.representation,
140
145
  altRepresentations = skin.altRepresentations,
141
- other = (0, _objectWithoutProperties2.default)(skin, ["representation", "altRepresentations"]);
146
+ other = (0, _objectWithoutProperties2.default)(skin, _excluded3);
142
147
  return _objectSpread({
143
148
  baseId: baseId,
144
149
  representation: denormaliseServiceRepresentation(representation, meta),
@@ -163,7 +168,7 @@ var denormaliseEmojiServiceResponse = function denormaliseEmojiServiceResponse(e
163
168
  var representation = emoji.representation,
164
169
  skinVariations = emoji.skinVariations,
165
170
  altRepresentations = emoji.altRepresentations,
166
- trimmedServiceDesc = (0, _objectWithoutProperties2.default)(emoji, ["representation", "skinVariations", "altRepresentations"]);
171
+ trimmedServiceDesc = (0, _objectWithoutProperties2.default)(emoji, _excluded4);
167
172
 
168
173
  var response = _objectSpread(_objectSpread({}, trimmedServiceDesc), {}, {
169
174
  representation: newRepresentation,
@@ -23,9 +23,9 @@ var _StoredDuplicateLimitedQueue = _interopRequireDefault(require("../../util/St
23
23
 
24
24
  var _storageAvailable = _interopRequireDefault(require("../../util/storage-available"));
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
27
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
29
 
30
30
  /**
31
31
  * Keeps track of the last 150 emoji usages, although limiting the maximum count for a single emoji to 25 to
@@ -29,9 +29,11 @@ var _TokenManager = _interopRequireDefault(require("./TokenManager"));
29
29
 
30
30
  var _logger = _interopRequireDefault(require("../../util/logger"));
31
31
 
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
32
+ var _excluded = ["altRepresentations"];
33
33
 
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
+
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
37
 
36
38
  // Assume media is 95% of total upload time.
37
39
  var mediaProportionOfProgress = 95 / 100;
@@ -69,7 +71,7 @@ var SiteEmojiResource = /*#__PURE__*/function () {
69
71
  if (emojis.length) {
70
72
  var _emojis$ = emojis[0],
71
73
  altRepresentations = _emojis$.altRepresentations,
72
- emoji = (0, _objectWithoutProperties2.default)(_emojis$, ["altRepresentations"]);
74
+ emoji = (0, _objectWithoutProperties2.default)(_emojis$, _excluded);
73
75
 
74
76
  var _response = _objectSpread(_objectSpread({}, emoji), {}, {
75
77
  representation: (0, _typeHelpers.convertImageToMediaRepresentation)(emoji.representation)
@@ -41,6 +41,9 @@ var _Emoji = _interopRequireDefault(require("./Emoji"));
41
41
 
42
42
  var _EmojiPlaceholder = _interopRequireDefault(require("./EmojiPlaceholder"));
43
43
 
44
+ var _excluded = ["placeholderSize"],
45
+ _excluded2 = ["children", "placeholderSize"];
46
+
44
47
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
48
 
46
49
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -56,7 +59,7 @@ var CachingEmoji = function CachingEmoji(props) {
56
59
  // Optimisation to only render the class based CachingMediaEmoji if necessary
57
60
  // slight performance hit, which accumulates for a large number of emoji.
58
61
  var placeholderSize = props.placeholderSize,
59
- emojiProps = (0, _objectWithoutProperties2.default)(props, ["placeholderSize"]);
62
+ emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded);
60
63
 
61
64
  if ((0, _typeHelpers.isMediaEmoji)(props.emoji)) {
62
65
  return /*#__PURE__*/_react.default.createElement(CachingMediaEmoji, props);
@@ -181,7 +184,7 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
181
184
  var _this$props = this.props,
182
185
  children = _this$props.children,
183
186
  placeholderSize = _this$props.placeholderSize,
184
- otherProps = (0, _objectWithoutProperties2.default)(_this$props, ["children", "placeholderSize"]);
187
+ otherProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded2);
185
188
  var emojiComponent;
186
189
 
187
190
  if (cachedEmoji) {
@@ -33,7 +33,7 @@ var DeleteButton = function DeleteButton(props) {
33
33
  }, /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
34
34
  iconBefore: /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
35
35
  label: _constants.deleteEmojiLabel,
36
- primaryColor: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500),
36
+ primaryColor: (0, _tokens.token)('color.text.subtle', _colors.N500),
37
37
  size: "small"
38
38
  }),
39
39
  onClick: props.onClick,
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
 
16
- var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
17
-
18
16
  var _classnames = _interopRequireDefault(require("classnames"));
19
17
 
20
18
  var _react = _interopRequireDefault(require("react"));
@@ -35,9 +33,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
35
33
 
36
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
35
 
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
37
 
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
39
 
42
40
  var handleMouseDown = function handleMouseDown(props, event) {
43
41
  // Clicked emoji delete button
@@ -54,6 +52,21 @@ var handleMouseDown = function handleMouseDown(props, event) {
54
52
  }
55
53
  };
56
54
 
55
+ var handleKeyPress = function handleKeyPress(props, event) {
56
+ // Clicked emoji delete button
57
+ if (event.target instanceof Element && event.target.getAttribute('aria-label') === _constants.deleteEmojiLabel) {
58
+ return;
59
+ }
60
+
61
+ var emoji = props.emoji,
62
+ onSelected = props.onSelected;
63
+ event.preventDefault();
64
+
65
+ if (onSelected && (event.key === 'Enter' || event.key === ' ')) {
66
+ onSelected((0, _typeHelpers.toEmojiId)(emoji), emoji, event);
67
+ }
68
+ };
69
+
57
70
  var handleMouseMove = function handleMouseMove(props, event) {
58
71
  var emoji = props.emoji,
59
72
  onMouseMove = props.onMouseMove;
@@ -96,7 +109,8 @@ var renderAsSprite = function renderAsSprite(props) {
96
109
  selected = props.selected,
97
110
  selectOnHover = props.selectOnHover,
98
111
  className = props.className,
99
- showTooltip = props.showTooltip;
112
+ showTooltip = props.showTooltip,
113
+ shouldBeInteractive = props.shouldBeInteractive;
100
114
  var representation = emoji.representation;
101
115
  var sprite = representation.sprite;
102
116
  var classes = (_classes = {}, (0, _defineProperty2.default)(_classes, styles.emojiContainer, true), (0, _defineProperty2.default)(_classes, styles.emojiNode, true), (0, _defineProperty2.default)(_classes, styles.selected, selected), (0, _defineProperty2.default)(_classes, styles.selectOnHover, selectOnHover), _classes);
@@ -129,18 +143,21 @@ var renderAsSprite = function renderAsSprite(props) {
129
143
  }, "\xA0");
130
144
 
131
145
  return /*#__PURE__*/_react.default.createElement("span", {
146
+ tabIndex: shouldBeInteractive ? 0 : undefined,
147
+ role: shouldBeInteractive ? 'button' : undefined,
132
148
  className: (0, _classnames.default)(classes),
149
+ onKeyPress: function onKeyPress(event) {
150
+ return handleKeyPress(props, event);
151
+ },
133
152
  onMouseDown: function onMouseDown(event) {
134
153
  handleMouseDown(props, event);
135
154
  },
136
155
  onMouseMove: function onMouseMove(event) {
137
156
  handleMouseMove(props, event);
138
157
  },
139
- "aria-label": emoji.shortName
140
- }, showTooltip ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
141
- tag: "span",
142
- content: emoji.shortName
143
- }, emojiNode) : emojiNode);
158
+ "aria-label": emoji.shortName,
159
+ title: showTooltip ? emoji.shortName : ''
160
+ }, emojiNode);
144
161
  }; // Keep as pure functional component, see renderAsSprite.
145
162
 
146
163
 
@@ -153,7 +170,8 @@ var renderAsImage = function renderAsImage(props) {
153
170
  selectOnHover = props.selectOnHover,
154
171
  className = props.className,
155
172
  showTooltip = props.showTooltip,
156
- showDelete = props.showDelete;
173
+ showDelete = props.showDelete,
174
+ shouldBeInteractive = props.shouldBeInteractive;
157
175
  var classes = (_classes2 = {}, (0, _defineProperty2.default)(_classes2, styles.emoji, true), (0, _defineProperty2.default)(_classes2, styles.emojiNode, true), (0, _defineProperty2.default)(_classes2, styles.selected, selected), (0, _defineProperty2.default)(_classes2, styles.selectOnHover, selectOnHover), (0, _defineProperty2.default)(_classes2, styles.emojiImage, true), _classes2);
158
176
 
159
177
  if (className) {
@@ -221,18 +239,21 @@ var renderAsImage = function renderAsImage(props) {
221
239
  }, sizing));
222
240
 
223
241
  return /*#__PURE__*/_react.default.createElement("span", {
242
+ tabIndex: shouldBeInteractive ? 0 : undefined,
243
+ role: shouldBeInteractive ? 'button' : undefined,
224
244
  className: (0, _classnames.default)(classes),
245
+ onKeyPress: function onKeyPress(event) {
246
+ return handleKeyPress(props, event);
247
+ },
225
248
  onMouseDown: function onMouseDown(event) {
226
249
  handleMouseDown(props, event);
227
250
  },
228
251
  onMouseMove: function onMouseMove(event) {
229
252
  handleMouseMove(props, event);
230
253
  },
231
- "aria-label": emoji.shortName
232
- }, deleteButton, showTooltip ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
233
- tag: "span",
234
- content: emoji.shortName
235
- }, emojiNode) : emojiNode);
254
+ "aria-label": emoji.shortName,
255
+ title: showTooltip ? emoji.shortName : ''
256
+ }, deleteButton, emojiNode);
236
257
  };
237
258
 
238
259
  var Emoji = function Emoji(props) {
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.EmojiActions = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _classnames = _interopRequireDefault(require("classnames"));
27
+
28
+ var _react = _interopRequireWildcard(require("react"));
29
+
30
+ var _reactIntlNext = require("react-intl-next");
31
+
32
+ var _EmojiDeletePreview = _interopRequireDefault(require("../common/EmojiDeletePreview"));
33
+
34
+ var _EmojiUploadPicker = _interopRequireDefault(require("../common/EmojiUploadPicker"));
35
+
36
+ var styles = _interopRequireWildcard(require("./styles"));
37
+
38
+ var footerStyles = _interopRequireWildcard(require("../picker/styles"));
39
+
40
+ var _EmojiPickerListSearch = _interopRequireDefault(require("../picker/EmojiPickerListSearch"));
41
+
42
+ var _ToneSelector = _interopRequireDefault(require("./ToneSelector"));
43
+
44
+ var _EmojiButton = _interopRequireDefault(require("./EmojiButton"));
45
+
46
+ var _i18n = require("../i18n");
47
+
48
+ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
49
+
50
+ var _add = _interopRequireDefault(require("@atlaskit/icon/glyph/add"));
51
+
52
+ var _setSkinToneAriaLabelText = require("./setSkinToneAriaLabelText");
53
+
54
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
55
+
56
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
57
+
58
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
59
+
60
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
+
62
+ var EmojiActions = /*#__PURE__*/function (_PureComponent) {
63
+ (0, _inherits2.default)(EmojiActions, _PureComponent);
64
+
65
+ var _super = _createSuper(EmojiActions);
66
+
67
+ function EmojiActions() {
68
+ var _this;
69
+
70
+ (0, _classCallCheck2.default)(this, EmojiActions);
71
+
72
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
73
+ args[_key] = arguments[_key];
74
+ }
75
+
76
+ _this = _super.call.apply(_super, [this].concat(args));
77
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
78
+ selectingTone: false
79
+ });
80
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneButtonClick", function () {
81
+ _this.setState({
82
+ selectingTone: !_this.state.selectingTone
83
+ });
84
+ });
85
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneSelected", function (toneValue) {
86
+ _this.setState({
87
+ selectingTone: false
88
+ });
89
+
90
+ if (_this.props.onToneSelected) {
91
+ _this.props.onToneSelected(toneValue);
92
+ }
93
+ });
94
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMouseLeave", function () {
95
+ var selectingTone = _this.state.selectingTone;
96
+ var onToneSelectorCancelled = _this.props.onToneSelectorCancelled;
97
+
98
+ if (selectingTone && onToneSelectorCancelled) {
99
+ onToneSelectorCancelled();
100
+ }
101
+
102
+ _this.setState({
103
+ selectingTone: false
104
+ });
105
+ });
106
+ return _this;
107
+ }
108
+
109
+ (0, _createClass2.default)(EmojiActions, [{
110
+ key: "renderTones",
111
+ value: function renderTones() {
112
+ var _this$props = this.props,
113
+ toneEmoji = _this$props.toneEmoji,
114
+ selectedTone = _this$props.selectedTone,
115
+ intl = _this$props.intl;
116
+ var formatMessage = intl.formatMessage;
117
+
118
+ if (!toneEmoji) {
119
+ return null;
120
+ }
121
+
122
+ var previewEmoji = toneEmoji;
123
+
124
+ if (selectedTone && previewEmoji.skinVariations) {
125
+ previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
126
+ }
127
+
128
+ return /*#__PURE__*/_react.default.createElement("div", {
129
+ className: styles.emojiToneSelectorContainer
130
+ }, this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_ToneSelector.default, {
131
+ emoji: toneEmoji,
132
+ onToneSelected: this.onToneSelected,
133
+ previewEmojiId: previewEmoji.id
134
+ }), /*#__PURE__*/_react.default.createElement(_EmojiButton.default, {
135
+ ariaExpanded: this.state.selectingTone,
136
+ emoji: previewEmoji,
137
+ selectOnHover: true,
138
+ onSelected: this.onToneButtonClick,
139
+ ariaLabelText: formatMessage(_i18n.messages.emojiSelectSkinToneButtonAriaLabelText, {
140
+ selectedTone: "".concat((0, _setSkinToneAriaLabelText.setSkinToneAriaLabelText)(previewEmoji.name), " selected")
141
+ })
142
+ }));
143
+ } // note: emoji-picker-add-emoji className is used by pollinator synthetic checks
144
+
145
+ }, {
146
+ key: "renderAddOwnEmoji",
147
+ value: function renderAddOwnEmoji() {
148
+ var _this$props2 = this.props,
149
+ onOpenUpload = _this$props2.onOpenUpload,
150
+ uploadEnabled = _this$props2.uploadEnabled,
151
+ intl = _this$props2.intl;
152
+ var formatMessage = intl.formatMessage;
153
+
154
+ if (!uploadEnabled) {
155
+ return null;
156
+ }
157
+
158
+ return /*#__PURE__*/_react.default.createElement("div", {
159
+ className: styles.AddCustomEmoji
160
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.addCustomEmojiLabel, function (label) {
161
+ return /*#__PURE__*/_react.default.createElement(_standardButton.default, {
162
+ onClick: onOpenUpload,
163
+ iconBefore: /*#__PURE__*/_react.default.createElement(_add.default, {
164
+ label: formatMessage(_i18n.messages.addCustomEmojiLabel),
165
+ size: "small"
166
+ }),
167
+ appearance: "subtle",
168
+ className: styles.addCustomEmojiButton + ' emoji-picker-add-emoji'
169
+ }, label);
170
+ }));
171
+ }
172
+ }, {
173
+ key: "render",
174
+ value: function render() {
175
+ var _this$props3 = this.props,
176
+ initialUploadName = _this$props3.initialUploadName,
177
+ onUploadCancelled = _this$props3.onUploadCancelled,
178
+ onUploadEmoji = _this$props3.onUploadEmoji,
179
+ onCloseDelete = _this$props3.onCloseDelete,
180
+ onDeleteEmoji = _this$props3.onDeleteEmoji,
181
+ uploadErrorMessage = _this$props3.uploadErrorMessage,
182
+ uploading = _this$props3.uploading,
183
+ onFileChooserClicked = _this$props3.onFileChooserClicked,
184
+ emojiToDelete = _this$props3.emojiToDelete,
185
+ onChange = _this$props3.onChange,
186
+ query = _this$props3.query;
187
+ var previewFooterClassnames = (0, _classnames.default)([footerStyles.emojiPickerFooter, footerStyles.emojiActionsContainerWithBottomShadow]);
188
+
189
+ if (uploading) {
190
+ return /*#__PURE__*/_react.default.createElement("div", {
191
+ className: previewFooterClassnames
192
+ }, /*#__PURE__*/_react.default.createElement(_EmojiUploadPicker.default, {
193
+ onUploadCancelled: onUploadCancelled,
194
+ onUploadEmoji: onUploadEmoji,
195
+ onFileChooserClicked: onFileChooserClicked,
196
+ errorMessage: uploadErrorMessage,
197
+ initialUploadName: initialUploadName
198
+ }));
199
+ }
200
+
201
+ if (emojiToDelete) {
202
+ return /*#__PURE__*/_react.default.createElement("div", {
203
+ className: previewFooterClassnames
204
+ }, /*#__PURE__*/_react.default.createElement(_EmojiDeletePreview.default, {
205
+ emoji: emojiToDelete,
206
+ onDeleteEmoji: onDeleteEmoji,
207
+ onCloseDelete: onCloseDelete
208
+ }));
209
+ }
210
+
211
+ return /*#__PURE__*/_react.default.createElement("div", {
212
+ className: previewFooterClassnames,
213
+ onMouseLeave: this.onMouseLeave
214
+ }, /*#__PURE__*/_react.default.createElement("div", {
215
+ style: {
216
+ display: 'flex',
217
+ justifyContent: 'flex-end',
218
+ alignItems: 'center'
219
+ }
220
+ }, !this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_EmojiPickerListSearch.default, {
221
+ onChange: onChange,
222
+ query: query
223
+ }), this.renderTones()), this.renderAddOwnEmoji());
224
+ }
225
+ }]);
226
+ return EmojiActions;
227
+ }(_react.PureComponent);
228
+
229
+ exports.EmojiActions = EmojiActions;
230
+
231
+ var _default = (0, _reactIntlNext.injectIntl)(EmojiActions);
232
+
233
+ exports.default = _default;
@@ -29,7 +29,7 @@ var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom
29
29
 
30
30
  var _react = _interopRequireWildcard(require("react"));
31
31
 
32
- var _reactIntl = require("react-intl");
32
+ var _reactIntlNext = require("react-intl-next");
33
33
 
34
34
  var _i18n = require("../i18n");
35
35
 
@@ -105,17 +105,18 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
105
105
  }, {
106
106
  key: "render",
107
107
  value: function render() {
108
- var _this2 = this;
109
-
110
- var emoji = this.props.emoji;
108
+ var _this$props2 = this.props,
109
+ emoji = _this$props2.emoji,
110
+ intl = _this$props2.intl;
111
111
  var _this$state = this.state,
112
112
  loading = _this$state.loading,
113
113
  error = _this$state.error;
114
+ var formatMessage = intl.formatMessage;
114
115
  return /*#__PURE__*/_react.default.createElement("div", {
115
116
  className: styles.deletePreview
116
117
  }, /*#__PURE__*/_react.default.createElement("div", {
117
118
  className: styles.deleteText
118
- }, /*#__PURE__*/_react.default.createElement("h5", null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _i18n.messages.deleteEmojiTitle)), /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.deleteEmojiDescription, {
119
+ }, /*#__PURE__*/_react.default.createElement("h5", null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.deleteEmojiTitle)), /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.deleteEmojiDescription, {
119
120
  values: {
120
121
  emojiShortName: emoji.shortName
121
122
  }
@@ -125,30 +126,28 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
125
126
  emoji: emoji
126
127
  }), /*#__PURE__*/_react.default.createElement("div", {
127
128
  className: styles.previewButtonGroup
128
- }, error ? /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _i18n.messages.deleteEmojiFailed, function (message) {
129
- return !loading ? /*#__PURE__*/_react.default.createElement(_EmojiErrorMessage.default, {
130
- message: message,
131
- className: styles.emojiDeleteErrorMessage,
132
- tooltip: true
133
- }) : null;
134
- }) : null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _i18n.messages.deleteEmojiLabel, function (message) {
135
- return /*#__PURE__*/_react.default.createElement(_RetryableButton.default, {
136
- className: styles.uploadEmojiButton,
137
- retryClassName: styles.uploadRetryButton,
138
- label: message,
139
- onSubmit: _this2.onSubmit,
140
- appearance: "danger",
141
- loading: loading,
142
- error: error
143
- });
129
+ }, error ? !loading ? /*#__PURE__*/_react.default.createElement(_EmojiErrorMessage.default, {
130
+ message: formatMessage(_i18n.messages.deleteEmojiFailed),
131
+ className: styles.emojiDeleteErrorMessage,
132
+ tooltip: true
133
+ }) : null : null, /*#__PURE__*/_react.default.createElement(_RetryableButton.default, {
134
+ className: styles.uploadEmojiButton,
135
+ retryClassName: styles.uploadRetryButton,
136
+ label: formatMessage(_i18n.messages.deleteEmojiLabel),
137
+ onSubmit: this.onSubmit,
138
+ appearance: "danger",
139
+ loading: loading,
140
+ error: error
144
141
  }), /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
145
142
  appearance: "subtle",
146
143
  onClick: this.onCancel,
147
144
  className: styles.cancelButton
148
- }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, _i18n.messages.cancelLabel)))));
145
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.cancelLabel)))));
149
146
  }
150
147
  }]);
151
148
  return EmojiDeletePreview;
152
149
  }(_react.Component);
153
150
 
154
- exports.default = EmojiDeletePreview;
151
+ var _default = (0, _reactIntlNext.injectIntl)(EmojiDeletePreview);
152
+
153
+ exports.default = _default;