@atlaskit/emoji 65.1.1 → 65.2.0

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 (95) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/components/common/CachingEmoji.js +84 -151
  3. package/dist/cjs/components/common/Emoji.js +2 -2
  4. package/dist/cjs/components/common/EmojiActions.js +129 -175
  5. package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
  6. package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
  7. package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
  8. package/dist/cjs/components/common/FileChooser.js +34 -71
  9. package/dist/cjs/components/common/Popup.js +105 -154
  10. package/dist/cjs/components/common/RetryableButton.js +43 -64
  11. package/dist/cjs/components/common/ToneSelector.js +50 -89
  12. package/dist/cjs/components/common/styles.js +14 -16
  13. package/dist/cjs/components/hooks.js +16 -0
  14. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
  15. package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -516
  16. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
  17. package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -48
  18. package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
  19. package/dist/cjs/hooks/useEmojiContext.js +16 -0
  20. package/dist/cjs/hooks/{index.js → usePrevious.js} +0 -0
  21. package/dist/cjs/index.js +16 -0
  22. package/dist/cjs/version.json +1 -1
  23. package/dist/es2019/components/common/CachingEmoji.js +65 -112
  24. package/dist/es2019/components/common/Emoji.js +2 -2
  25. package/dist/es2019/components/common/EmojiActions.js +124 -150
  26. package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
  27. package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
  28. package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
  29. package/dist/es2019/components/common/FileChooser.js +37 -40
  30. package/dist/es2019/components/common/Popup.js +89 -109
  31. package/dist/es2019/components/common/RetryableButton.js +43 -34
  32. package/dist/es2019/components/common/ToneSelector.js +46 -59
  33. package/dist/es2019/components/common/styles.js +9 -9
  34. package/dist/es2019/components/hooks.js +8 -0
  35. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
  36. package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -506
  37. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
  38. package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -21
  39. package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
  40. package/dist/es2019/hooks/useEmojiContext.js +3 -0
  41. package/dist/es2019/hooks/{index.js → usePrevious.js} +0 -0
  42. package/dist/es2019/index.js +4 -1
  43. package/dist/es2019/version.json +1 -1
  44. package/dist/esm/components/common/CachingEmoji.js +86 -156
  45. package/dist/esm/components/common/Emoji.js +2 -2
  46. package/dist/esm/components/common/EmojiActions.js +129 -176
  47. package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
  48. package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
  49. package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
  50. package/dist/esm/components/common/FileChooser.js +34 -70
  51. package/dist/esm/components/common/Popup.js +104 -155
  52. package/dist/esm/components/common/RetryableButton.js +40 -60
  53. package/dist/esm/components/common/ToneSelector.js +50 -87
  54. package/dist/esm/components/common/styles.js +10 -10
  55. package/dist/esm/components/hooks.js +8 -0
  56. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
  57. package/dist/esm/components/picker/EmojiPickerComponent.js +486 -535
  58. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
  59. package/dist/esm/components/picker/EmojiPickerFooter.js +14 -49
  60. package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
  61. package/dist/esm/hooks/useEmojiContext.js +5 -0
  62. package/dist/esm/hooks/{index.js → usePrevious.js} +0 -0
  63. package/dist/esm/index.js +4 -1
  64. package/dist/esm/version.json +1 -1
  65. package/dist/types/components/common/CachingEmoji.d.ts +3 -13
  66. package/dist/types/components/common/Emoji.d.ts +1 -1
  67. package/dist/types/components/common/EmojiActions.d.ts +6 -17
  68. package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
  69. package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
  70. package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
  71. package/dist/types/components/common/FileChooser.d.ts +3 -5
  72. package/dist/types/components/common/Popup.d.ts +3 -20
  73. package/dist/types/components/common/RetryableButton.d.ts +3 -7
  74. package/dist/types/components/common/ToneSelector.d.ts +4 -10
  75. package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
  76. package/dist/types/components/common/styles.d.ts +1 -3
  77. package/dist/types/components/hooks.d.ts +1 -0
  78. package/dist/types/components/picker/CategorySelector.d.ts +1 -1
  79. package/dist/types/components/picker/EmojiPicker.d.ts +3 -3
  80. package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
  81. package/dist/types/components/picker/EmojiPickerComponent.d.ts +4 -80
  82. package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
  83. package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -6
  84. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
  85. package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
  86. package/dist/types/hooks/useEmojiContext.d.ts +1 -0
  87. package/dist/types/hooks/{index.d.ts → usePrevious.d.ts} +0 -0
  88. package/dist/types/index.d.ts +3 -1
  89. package/dist/types/types.d.ts +2 -1
  90. package/local-config-example.ts +3 -1
  91. package/package.json +17 -4
  92. package/dist/cjs/components/common/EmojiPreview.js +0 -194
  93. package/dist/es2019/components/common/EmojiPreview.js +0 -152
  94. package/dist/esm/components/common/EmojiPreview.js +0 -170
  95. package/dist/types/components/common/EmojiPreview.d.ts +0 -31
@@ -7,16 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
10
  var _core = require("@emotion/core");
21
11
 
22
12
  var _react = require("react");
@@ -25,53 +15,36 @@ var _CachingEmoji = _interopRequireDefault(require("../common/CachingEmoji"));
25
15
 
26
16
  var _styles = require("./styles");
27
17
 
28
- 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); }; }
29
-
30
- 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; } }
31
-
32
- var EmojiPickerEmojiRow = /*#__PURE__*/function (_PureComponent) {
33
- (0, _inherits2.default)(EmojiPickerEmojiRow, _PureComponent);
34
-
35
- var _super = _createSuper(EmojiPickerEmojiRow);
36
-
37
- function EmojiPickerEmojiRow() {
38
- (0, _classCallCheck2.default)(this, EmojiPickerEmojiRow);
39
- return _super.apply(this, arguments);
40
- }
41
-
42
- (0, _createClass2.default)(EmojiPickerEmojiRow, [{
43
- key: "render",
44
- value: function render() {
45
- var _this$props = this.props,
46
- emojis = _this$props.emojis,
47
- onSelected = _this$props.onSelected,
48
- onMouseMove = _this$props.onMouseMove,
49
- title = _this$props.title,
50
- showDelete = _this$props.showDelete,
51
- onDelete = _this$props.onDelete;
52
- return (0, _core.jsx)("div", {
53
- css: _styles.emojiPickerRow
54
- }, emojis.map(function (emoji) {
55
- var shortName = emoji.shortName,
56
- id = emoji.id;
57
- var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
58
- return (0, _core.jsx)("span", {
59
- css: _styles.emojiItem,
60
- key: key
61
- }, (0, _core.jsx)(_CachingEmoji.default, {
62
- emoji: emoji,
63
- selectOnHover: true,
64
- onSelected: onSelected,
65
- onMouseMove: onMouseMove,
66
- showDelete: showDelete,
67
- onDelete: onDelete,
68
- placeholderSize: 24,
69
- shouldBeInteractive: true
70
- }));
71
- }));
72
- }
73
- }]);
74
- return EmojiPickerEmojiRow;
75
- }(_react.PureComponent);
76
-
77
- exports.default = EmojiPickerEmojiRow;
18
+ /** @jsx jsx */
19
+ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
20
+ var emojis = _ref.emojis,
21
+ onSelected = _ref.onSelected,
22
+ onMouseMove = _ref.onMouseMove,
23
+ title = _ref.title,
24
+ showDelete = _ref.showDelete,
25
+ onDelete = _ref.onDelete;
26
+ return (0, _core.jsx)("div", {
27
+ css: _styles.emojiPickerRow
28
+ }, emojis.map(function (emoji) {
29
+ var shortName = emoji.shortName,
30
+ id = emoji.id;
31
+ var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
32
+ return (0, _core.jsx)("span", {
33
+ css: _styles.emojiItem,
34
+ key: key
35
+ }, (0, _core.jsx)(_CachingEmoji.default, {
36
+ emoji: emoji,
37
+ selectOnHover: true,
38
+ onSelected: onSelected,
39
+ onMouseMove: onMouseMove,
40
+ showDelete: showDelete,
41
+ onDelete: onDelete,
42
+ placeholderSize: 24,
43
+ shouldBeInteractive: true
44
+ }));
45
+ }));
46
+ };
47
+
48
+ var _default = /*#__PURE__*/(0, _react.memo)(EmojiPickerEmojiRow);
49
+
50
+ exports.default = _default;
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
7
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
8
  var _core = require("@emotion/core");
21
9
 
22
10
  var _react = require("react");
@@ -25,42 +13,19 @@ var _EmojiPreviewComponent = require("../common/EmojiPreviewComponent");
25
13
 
26
14
  var _styles = require("./styles");
27
15
 
28
- 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); }; }
29
-
30
- 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; } }
31
-
32
- var EmojiPickerFooter = /*#__PURE__*/function (_PureComponent) {
33
- (0, _inherits2.default)(EmojiPickerFooter, _PureComponent);
34
-
35
- var _super = _createSuper(EmojiPickerFooter);
36
-
37
- function EmojiPickerFooter() {
38
- (0, _classCallCheck2.default)(this, EmojiPickerFooter);
39
- return _super.apply(this, arguments);
40
- }
41
-
42
- (0, _createClass2.default)(EmojiPickerFooter, [{
43
- key: "render",
44
- value: function render() {
45
- var _this$props = this.props,
46
- selectedEmoji = _this$props.selectedEmoji,
47
- isUploading = _this$props.isUploading;
48
- var previewFooterClassnames = [_styles.emojiPickerFooter, _styles.emojiPickerFooterWithTopShadow];
16
+ /** @jsx jsx */
17
+ var previewFooterClassnames = [_styles.emojiPickerFooter, _styles.emojiPickerFooterWithTopShadow];
49
18
 
50
- if (!selectedEmoji || isUploading) {
51
- this.props.onPreviewDisplayed(false);
52
- return null;
53
- }
19
+ var EmojiPickerFooter = function EmojiPickerFooter(_ref) {
20
+ var selectedEmoji = _ref.selectedEmoji;
21
+ return (0, _core.jsx)("div", {
22
+ css: previewFooterClassnames,
23
+ "data-testid": "emoji-picker-footer"
24
+ }, selectedEmoji && (0, _core.jsx)(_EmojiPreviewComponent.EmojiPreviewComponent, {
25
+ emoji: selectedEmoji
26
+ }));
27
+ };
54
28
 
55
- this.props.onPreviewDisplayed(true);
56
- return (0, _core.jsx)("div", {
57
- css: previewFooterClassnames
58
- }, selectedEmoji && (0, _core.jsx)(_EmojiPreviewComponent.EmojiPreviewComponent, {
59
- emoji: selectedEmoji
60
- }));
61
- }
62
- }]);
63
- return EmojiPickerFooter;
64
- }(_react.PureComponent);
29
+ var _default = /*#__PURE__*/(0, _react.memo)(EmojiPickerFooter);
65
30
 
66
- exports.default = EmojiPickerFooter;
31
+ exports.default = _default;
@@ -7,19 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
15
 
24
16
  var _core = require("@emotion/core");
25
17
 
@@ -39,113 +31,136 @@ var _styles = require("./styles");
39
31
 
40
32
  var _ufoExperiences = require("../../util/analytics/ufoExperiences");
41
33
 
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var EmojiUploadComponent = /*#__PURE__*/function (_PureComponent) {
47
- (0, _inherits2.default)(EmojiUploadComponent, _PureComponent);
48
-
49
- var _super = _createSuper(EmojiUploadComponent);
50
-
51
- function EmojiUploadComponent(props) {
52
- var _this;
34
+ var _i18n = require("../i18n");
53
35
 
54
- (0, _classCallCheck2.default)(this, EmojiUploadComponent);
55
- _this = _super.call(this, props);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onUploadEmoji", function (upload, retry) {
57
- var emojiProvider = _this.props.emojiProvider;
36
+ /** @jsx jsx */
37
+ var EmojiUploadComponent = function EmojiUploadComponent(props) {
38
+ var emojiProvider = props.emojiProvider,
39
+ createAnalyticsEvent = props.createAnalyticsEvent,
40
+ onUploaderRef = props.onUploaderRef;
58
41
 
59
- _ufoExperiences.ufoExperiences['emoji-uploaded'].start();
42
+ var _useState = (0, _react.useState)(),
43
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
+ uploadErrorMessage = _useState2[0],
45
+ setUploadErrorMessage = _useState2[1];
60
46
 
61
- _ufoExperiences.ufoExperiences['emoji-uploaded'].addMetadata({
62
- retry: retry
47
+ (0, _react.useEffect)(function () {
48
+ if ((0, _EmojiResource.supportsUploadFeature)(emojiProvider)) {
49
+ emojiProvider.prepareForUpload();
50
+ }
51
+ }, [emojiProvider]);
52
+ (0, _react.useEffect)(function () {
53
+ return function () {
54
+ _ufoExperiences.ufoExperiences['emoji-uploaded'].abort({
55
+ metadata: {
56
+ source: 'EmojiUploadComponent',
57
+ reason: 'unmount'
58
+ }
63
59
  });
60
+ };
61
+ }, []);
62
+
63
+ var onUploadEmoji = /*#__PURE__*/function () {
64
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(upload, retry, onSuccessHandler) {
65
+ var errorSetter, message;
66
+ return _regenerator.default.wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ _ufoExperiences.ufoExperiences['emoji-uploaded'].start();
71
+
72
+ _ufoExperiences.ufoExperiences['emoji-uploaded'].addMetadata({
73
+ retry: retry
74
+ });
75
+
76
+ if (!(0, _EmojiResource.supportsUploadFeature)(emojiProvider)) {
77
+ _context.next = 16;
78
+ break;
79
+ }
80
+
81
+ fireAnalytics((0, _analytics.uploadConfirmButton)({
82
+ retry: retry
83
+ }));
84
+ _context.prev = 4;
85
+ _context.next = 7;
86
+ return emojiProvider.prepareForUpload();
87
+
88
+ case 7:
89
+ errorSetter = function errorSetter(message) {
90
+ setUploadErrorMessage(message);
91
+ }; // internally handled error from upload callback
92
+
93
+
94
+ (0, _UploadEmoji.uploadEmoji)(upload, emojiProvider, errorSetter, onUploaded(onSuccessHandler), fireAnalytics, retry);
95
+ _context.next = 16;
96
+ break;
97
+
98
+ case 11:
99
+ _context.prev = 11;
100
+ _context.t0 = _context["catch"](4);
101
+ // error from upload token generation
102
+ message = _context.t0 instanceof Error ? _context.t0.message : 'Issue with generating upload token';
103
+
104
+ _ufoExperiences.ufoExperiences['emoji-uploaded'].failure({
105
+ metadata: {
106
+ source: 'EmojiUploadComponent',
107
+ error: message
108
+ }
109
+ });
110
+
111
+ setUploadErrorMessage(_i18n.messages.emojiUploadFailed);
112
+
113
+ case 16:
114
+ case "end":
115
+ return _context.stop();
116
+ }
117
+ }
118
+ }, _callee, null, [[4, 11]]);
119
+ }));
64
120
 
65
- _this.fireAnalytics((0, _analytics.uploadConfirmButton)({
66
- retry: retry
67
- }));
68
-
69
- var errorSetter = function errorSetter(message) {
70
- _this.setState({
71
- uploadErrorMessage: message
72
- });
73
- };
121
+ return function onUploadEmoji(_x, _x2, _x3) {
122
+ return _ref.apply(this, arguments);
123
+ };
124
+ }();
74
125
 
75
- (0, _UploadEmoji.uploadEmoji)(upload, emojiProvider, errorSetter, _this.prepareForUpload, _this.fireAnalytics, retry);
76
- });
77
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "prepareForUpload", function () {
78
- var emojiProvider = _this.props.emojiProvider;
126
+ var onUploaded = function onUploaded(onSuccessHandler) {
127
+ return function () {
128
+ setUploadErrorMessage(undefined);
79
129
 
80
- if ((0, _EmojiResource.supportsUploadFeature)(emojiProvider)) {
81
- emojiProvider.prepareForUpload();
130
+ if (onSuccessHandler) {
131
+ onSuccessHandler();
82
132
  }
133
+ };
134
+ };
83
135
 
84
- _this.setState({
85
- uploadErrorMessage: undefined
86
- });
136
+ var onFileChooserClicked = function onFileChooserClicked() {
137
+ fireAnalytics((0, _analytics.selectedFileEvent)());
138
+ };
87
139
 
88
- if (_this.ref) {
89
- _this.ref.clearUploadPicker();
90
- }
91
- });
92
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFileChooserClicked", function () {
93
- _this.fireAnalytics((0, _analytics.selectedFileEvent)());
94
- });
95
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onUploadCancelled", function () {
96
- _this.fireAnalytics((0, _analytics.uploadCancelButton)());
97
-
98
- _this.prepareForUpload();
99
- });
100
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onUploaderRef", function (emojiUploadPicker) {
101
- _this.ref = emojiUploadPicker;
102
- });
103
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fireAnalytics", function (analyticsEvent) {
104
- var createAnalyticsEvent = _this.props.createAnalyticsEvent;
105
-
106
- if (createAnalyticsEvent) {
107
- (0, _analytics.createAndFireEventInElementsChannel)(analyticsEvent)(createAnalyticsEvent);
108
- }
109
- });
140
+ var onUploadCancelled = function onUploadCancelled() {
141
+ fireAnalytics((0, _analytics.uploadCancelButton)());
142
+ onUploaded();
143
+ };
110
144
 
111
- if ((0, _EmojiResource.supportsUploadFeature)(props.emojiProvider)) {
112
- props.emojiProvider.prepareForUpload();
145
+ var fireAnalytics = function fireAnalytics(analyticsEvent) {
146
+ if (createAnalyticsEvent) {
147
+ (0, _analytics.createAndFireEventInElementsChannel)(analyticsEvent)(createAnalyticsEvent);
113
148
  }
114
-
115
- _this.state = {};
116
- return _this;
117
- }
118
-
119
- (0, _createClass2.default)(EmojiUploadComponent, [{
120
- key: "componentWillUnmount",
121
- value: function componentWillUnmount() {
122
- _ufoExperiences.ufoExperiences['emoji-uploaded'].abort({
123
- metadata: {
124
- source: 'EmojiUploadComponent',
125
- reason: 'unmount'
126
- }
127
- });
128
- }
129
- }, {
130
- key: "render",
131
- value: function render() {
132
- var uploadErrorMessage = this.state.uploadErrorMessage;
133
- var errorMessage = uploadErrorMessage ? (0, _core.jsx)(_reactIntlNext.FormattedMessage, uploadErrorMessage) : null;
134
- return (0, _core.jsx)("div", {
135
- css: _styles.emojiUploadWidget,
136
- ref: this.props.onUploaderRef
137
- }, (0, _core.jsx)("div", {
138
- css: _styles.emojiUploadFooter
139
- }, (0, _core.jsx)(_EmojiUploadPicker.default, {
140
- ref: this.onUploaderRef,
141
- onFileChooserClicked: this.onFileChooserClicked,
142
- onUploadCancelled: this.onUploadCancelled,
143
- onUploadEmoji: this.onUploadEmoji,
144
- errorMessage: errorMessage
145
- })));
146
- }
147
- }]);
148
- return EmojiUploadComponent;
149
- }(_react.PureComponent);
150
-
151
- exports.default = EmojiUploadComponent;
149
+ };
150
+
151
+ return (0, _core.jsx)("div", {
152
+ css: _styles.emojiUploadWidget,
153
+ ref: onUploaderRef
154
+ }, (0, _core.jsx)("div", {
155
+ css: _styles.emojiUploadFooter
156
+ }, (0, _core.jsx)(_EmojiUploadPicker.default, {
157
+ onFileChooserClicked: onFileChooserClicked,
158
+ onUploadCancelled: onUploadCancelled,
159
+ onUploadEmoji: onUploadEmoji,
160
+ errorMessage: uploadErrorMessage ? (0, _core.jsx)(_reactIntlNext.FormattedMessage, uploadErrorMessage) : null
161
+ })));
162
+ };
163
+
164
+ var _default = /*#__PURE__*/(0, _react.memo)(EmojiUploadComponent);
165
+
166
+ exports.default = _default;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEmojiContext = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _EmojiContext = require("../context/EmojiContext");
11
+
12
+ var useEmojiContext = function useEmojiContext() {
13
+ return (0, _react.useContext)(_EmojiContext.EmojiContext);
14
+ };
15
+
16
+ exports.useEmojiContext = useEmojiContext;
File without changes
package/dist/cjs/index.js CHANGED
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "Emoji", {
17
17
  return _Emoji.default;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "EmojiContextProvider", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _EmojiContextProvider.EmojiContextProvider;
24
+ }
25
+ });
20
26
  Object.defineProperty(exports, "EmojiImage", {
21
27
  enumerable: true,
22
28
  get: function get() {
@@ -198,6 +204,12 @@ Object.defineProperty(exports, "ufoExperiences", {
198
204
  return _analytics.ufoExperiences;
199
205
  }
200
206
  });
207
+ Object.defineProperty(exports, "useEmojiContext", {
208
+ enumerable: true,
209
+ get: function get() {
210
+ return _useEmojiContext.useEmojiContext;
211
+ }
212
+ });
201
213
  Object.defineProperty(exports, "withSampling", {
202
214
  enumerable: true,
203
215
  get: function get() {
@@ -241,6 +253,10 @@ var _constants = require("./util/constants");
241
253
 
242
254
  var _UsageFrequencyTracker = require("./api/internal/UsageFrequencyTracker");
243
255
 
256
+ var _useEmojiContext = require("./hooks/useEmojiContext");
257
+
258
+ var _EmojiContextProvider = require("./context/EmojiContextProvider");
259
+
244
260
  var _types = require("./types");
245
261
 
246
262
  var _default = _EmojiPicker.default;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "65.1.1",
3
+ "version": "65.2.0",
4
4
  "sideEffects": false
5
5
  }