@atlaskit/emoji 67.3.1 → 67.4.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 (69) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/api/EmojiRepository.js +2 -0
  3. package/dist/cjs/api/EmojiResource.js +184 -191
  4. package/dist/cjs/api/media/SiteEmojiResource.js +24 -26
  5. package/dist/cjs/components/common/Emoji.js +1 -1
  6. package/dist/cjs/components/common/EmojiDeletePreview.js +1 -1
  7. package/dist/cjs/components/common/EmojiUploadPicker.js +18 -20
  8. package/dist/cjs/components/common/EmojiUploadPreview.js +1 -1
  9. package/dist/cjs/components/common/ResourcedEmoji.js +1 -1
  10. package/dist/cjs/components/common/ResourcedEmojiComponent.js +48 -50
  11. package/dist/cjs/components/common/Scrollable.js +3 -1
  12. package/dist/cjs/components/common/ToneSelector.js +1 -1
  13. package/dist/cjs/components/common/UfoErrorBoundary.js +1 -1
  14. package/dist/cjs/components/common/internal-types.js +4 -4
  15. package/dist/cjs/components/picker/EmojiPicker.js +4 -5
  16. package/dist/cjs/components/picker/EmojiPickerComponent.js +1 -1
  17. package/dist/cjs/components/picker/EmojiPickerList.js +17 -1
  18. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +1 -1
  19. package/dist/cjs/components/picker/VirtualList.js +1 -1
  20. package/dist/cjs/components/typeahead/EmojiTypeAhead.js +3 -4
  21. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +1 -1
  22. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +2 -1
  23. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +2 -3
  24. package/dist/cjs/components/uploader/EmojiUploadComponent.js +36 -38
  25. package/dist/cjs/components/uploader/EmojiUploader.js +3 -4
  26. package/dist/cjs/context/EmojiContextProvider.js +15 -17
  27. package/dist/cjs/hooks/useEmoji.js +17 -19
  28. package/dist/cjs/types.js +28 -28
  29. package/dist/cjs/util/StoredDuplicateLimitedQueue.js +3 -0
  30. package/dist/cjs/util/analytics/samplingUfo.js +65 -73
  31. package/dist/cjs/util/constants.js +8 -8
  32. package/dist/cjs/version.json +1 -1
  33. package/dist/es2019/api/EmojiRepository.js +2 -0
  34. package/dist/es2019/api/EmojiResource.js +3 -0
  35. package/dist/es2019/components/common/ResourcedEmojiComponent.js +3 -3
  36. package/dist/es2019/components/common/Scrollable.js +1 -0
  37. package/dist/es2019/components/common/internal-types.js +3 -3
  38. package/dist/es2019/components/picker/EmojiPicker.js +2 -3
  39. package/dist/es2019/components/picker/EmojiPickerList.js +16 -0
  40. package/dist/es2019/components/typeahead/EmojiTypeAhead.js +2 -3
  41. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +1 -0
  42. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +1 -3
  43. package/dist/es2019/components/uploader/EmojiUploader.js +2 -3
  44. package/dist/es2019/types.js +21 -21
  45. package/dist/es2019/util/constants.js +8 -8
  46. package/dist/es2019/version.json +1 -1
  47. package/dist/esm/api/EmojiRepository.js +2 -0
  48. package/dist/esm/api/EmojiResource.js +184 -191
  49. package/dist/esm/api/media/SiteEmojiResource.js +24 -26
  50. package/dist/esm/components/common/EmojiUploadPicker.js +18 -20
  51. package/dist/esm/components/common/ResourcedEmojiComponent.js +48 -50
  52. package/dist/esm/components/common/Scrollable.js +1 -0
  53. package/dist/esm/components/common/UfoErrorBoundary.js +1 -1
  54. package/dist/esm/components/common/internal-types.js +3 -3
  55. package/dist/esm/components/picker/EmojiPicker.js +2 -3
  56. package/dist/esm/components/picker/EmojiPickerList.js +16 -0
  57. package/dist/esm/components/typeahead/EmojiTypeAhead.js +2 -3
  58. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +1 -1
  59. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +1 -0
  60. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +1 -2
  61. package/dist/esm/components/uploader/EmojiUploadComponent.js +36 -38
  62. package/dist/esm/components/uploader/EmojiUploader.js +2 -3
  63. package/dist/esm/context/EmojiContextProvider.js +15 -17
  64. package/dist/esm/hooks/useEmoji.js +17 -19
  65. package/dist/esm/types.js +21 -21
  66. package/dist/esm/util/analytics/samplingUfo.js +65 -73
  67. package/dist/esm/util/constants.js +8 -8
  68. package/dist/esm/version.json +1 -1
  69. package/package.json +18 -18
@@ -13,12 +13,12 @@ import EmojiPlaceholder from './EmojiPlaceholder';
13
13
  import { sampledUfoRenderedEmoji } from '../../util/analytics';
14
14
  import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
15
15
  import { hasUfoMarked } from '../../util/analytics/ufoExperiences';
16
- var ResourcedEmojiComponentRenderStatesEnum;
17
- (function (ResourcedEmojiComponentRenderStatesEnum) {
16
+ var ResourcedEmojiComponentRenderStatesEnum = /*#__PURE__*/function (ResourcedEmojiComponentRenderStatesEnum) {
18
17
  ResourcedEmojiComponentRenderStatesEnum["INITIAL"] = "INITIAL";
19
18
  ResourcedEmojiComponentRenderStatesEnum["FALLBACK"] = "FALLBACK";
20
19
  ResourcedEmojiComponentRenderStatesEnum["EMOJI"] = "EMOJI";
21
- })(ResourcedEmojiComponentRenderStatesEnum || (ResourcedEmojiComponentRenderStatesEnum = {}));
20
+ return ResourcedEmojiComponentRenderStatesEnum;
21
+ }(ResourcedEmojiComponentRenderStatesEnum || {});
22
22
  export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
23
23
  var emojiProvider = props.emojiProvider,
24
24
  emojiId = props.emojiId,
@@ -57,45 +57,29 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
57
57
  foundEmoji,
58
58
  _args = arguments;
59
59
  return _regeneratorRuntime.wrap(function _callee$(_context) {
60
- while (1) {
61
- switch (_context.prev = _context.next) {
62
- case 0:
63
- optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
64
- if (!_emojiProvider.fetchByEmojiId) {
65
- setEmoji(undefined);
66
- sampledUfoRenderedEmoji(emojiId).failure({
67
- metadata: {
68
- reason: 'missing fetchByEmojiId interface',
69
- source: 'ResourcedEmojiComponent'
70
- }
71
- });
72
- }
73
- foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
74
- sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_START);
75
- if (isPromise(foundEmoji)) {
76
- setLoaded(false);
77
- foundEmoji.then(function (emoji) {
78
- setEmoji(emoji);
79
- if (!emoji) {
80
- // emoji is undefined
81
- sampledUfoRenderedEmoji(emojiId).failure({
82
- metadata: {
83
- reason: 'failed to find',
84
- source: 'ResourcedEmojiComponent',
85
- data: {
86
- emoji: {
87
- id: emojiId.id,
88
- shortName: emojiId.shortName
89
- }
90
- }
91
- }
92
- });
93
- }
94
- }).catch(function () {
95
- setEmoji(undefined);
60
+ while (1) switch (_context.prev = _context.next) {
61
+ case 0:
62
+ optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
63
+ if (!_emojiProvider.fetchByEmojiId) {
64
+ setEmoji(undefined);
65
+ sampledUfoRenderedEmoji(emojiId).failure({
66
+ metadata: {
67
+ reason: 'missing fetchByEmojiId interface',
68
+ source: 'ResourcedEmojiComponent'
69
+ }
70
+ });
71
+ }
72
+ foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
73
+ sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_START);
74
+ if (isPromise(foundEmoji)) {
75
+ setLoaded(false);
76
+ foundEmoji.then(function (emoji) {
77
+ setEmoji(emoji);
78
+ if (!emoji) {
79
+ // emoji is undefined
96
80
  sampledUfoRenderedEmoji(emojiId).failure({
97
81
  metadata: {
98
- reason: 'failed to load',
82
+ reason: 'failed to find',
99
83
  source: 'ResourcedEmojiComponent',
100
84
  data: {
101
85
  emoji: {
@@ -105,19 +89,33 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
105
89
  }
106
90
  }
107
91
  });
108
- }).finally(function () {
109
- setLoaded(true);
110
- sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_END);
92
+ }
93
+ }).catch(function () {
94
+ setEmoji(undefined);
95
+ sampledUfoRenderedEmoji(emojiId).failure({
96
+ metadata: {
97
+ reason: 'failed to load',
98
+ source: 'ResourcedEmojiComponent',
99
+ data: {
100
+ emoji: {
101
+ id: emojiId.id,
102
+ shortName: emojiId.shortName
103
+ }
104
+ }
105
+ }
111
106
  });
112
- } else {
113
- setEmoji(foundEmoji);
107
+ }).finally(function () {
114
108
  setLoaded(true);
115
109
  sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_END);
116
- }
117
- case 5:
118
- case "end":
119
- return _context.stop();
120
- }
110
+ });
111
+ } else {
112
+ setEmoji(foundEmoji);
113
+ setLoaded(true);
114
+ sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_END);
115
+ }
116
+ case 5:
117
+ case "end":
118
+ return _context.stop();
121
119
  }
122
120
  }, _callee);
123
121
  }));
@@ -25,6 +25,7 @@ var Scrollable = /*#__PURE__*/function (_PureComponent) {
25
25
  }
26
26
  _this = _super.call.apply(_super, [this].concat(args));
27
27
  _defineProperty(_assertThisInitialized(_this), "scrollableDiv", null);
28
+ // API
28
29
  _defineProperty(_assertThisInitialized(_this), "reveal", function (child, forceToTop) {
29
30
  if (child && _this.scrollableDiv) {
30
31
  var childNode = findDOMNode(child);
@@ -5,7 +5,7 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
5
5
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
6
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
7
7
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
10
  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; } }
11
11
  import React from 'react';
@@ -1,6 +1,6 @@
1
- export var UploadStatus;
2
- (function (UploadStatus) {
1
+ export var UploadStatus = /*#__PURE__*/function (UploadStatus) {
3
2
  UploadStatus[UploadStatus["Waiting"] = 0] = "Waiting";
4
3
  UploadStatus[UploadStatus["Uploading"] = 1] = "Uploading";
5
4
  UploadStatus[UploadStatus["Error"] = 2] = "Error";
6
- })(UploadStatus || (UploadStatus = {}));
5
+ return UploadStatus;
6
+ }({});
@@ -31,9 +31,6 @@ var emojiPickerLoader = function emojiPickerLoader() {
31
31
  export var EmojiPickerInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
32
32
  _inherits(EmojiPickerInternal, _LoadingEmojiComponen);
33
33
  var _super = _createSuper(EmojiPickerInternal);
34
- // state initialised with static component to prevent
35
- // rerender when the module has already been loaded
36
-
37
34
  function EmojiPickerInternal(props) {
38
35
  var _this;
39
36
  _classCallCheck(this, EmojiPickerInternal);
@@ -84,6 +81,8 @@ export var EmojiPickerInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
84
81
  }]);
85
82
  return EmojiPickerInternal;
86
83
  }(LoadingEmojiComponent);
84
+ // state initialised with static component to prevent
85
+ // rerender when the module has already been loaded
87
86
  _defineProperty(EmojiPickerInternal, "defaultProps", {
88
87
  size: defaultEmojiPickerSize
89
88
  });
@@ -30,6 +30,11 @@ import { EmojiPickerListContextProvider } from '../../context/EmojiPickerListCon
30
30
  */
31
31
  export var RENDER_EMOJI_PICKER_LIST_TESTID = 'render-emoji-picker-list';
32
32
  var categoryClassname = 'emoji-category';
33
+
34
+ /**
35
+ * Emoji grouped by a category title ie. Frequent, Your Uploads, All Uploads
36
+ */
37
+
33
38
  var byOrder = function byOrder(orderableA, orderableB) {
34
39
  return (orderableA.order || 0) - (orderableB.order || 0);
35
40
  };
@@ -229,6 +234,12 @@ var EmojiPickerVirtualListInternal = /*#__PURE__*/function (_PureComponent2) {
229
234
  }
230
235
  return category;
231
236
  });
237
+ /**
238
+ * onRowsRendered callback function
239
+ *
240
+ * Check the category of top of rendered row and inform category selector to change active category
241
+ * Rove index of emoji picker list
242
+ */
232
243
  _defineProperty(_assertThisInitialized(_this), "onRowsRendered", function (indexes) {
233
244
  var startIndex = indexes.startIndex;
234
245
  var rowItem = _this.virtualItems[startIndex];
@@ -259,6 +270,11 @@ var EmojiPickerVirtualListInternal = /*#__PURE__*/function (_PureComponent2) {
259
270
  _defineProperty(_assertThisInitialized(_this), "renderRow", function (context) {
260
271
  return virtualItemRenderer(_this.virtualItems, context);
261
272
  });
273
+ /**
274
+ * After deleting emoji, we'll update the focus index to the first emoji of last row of your uploads, so when user navigate back focus will still work
275
+ * if last emoji in your uploads is deleted, the updated focus index will be outdated, as there will be no your uploads section
276
+ * however, it'll trigger onChange from VirtualList, which will update focus index automatically for us
277
+ */
262
278
  _defineProperty(_assertThisInitialized(_this), "handleOnCloseDelete", function () {
263
279
  var list = _this.listRef.current;
264
280
  list === null || list === void 0 ? void 0 : list.updateFocusIndex(_this.lastYourUploadsRow);
@@ -25,13 +25,12 @@ var emojiTypeAheadComponentLoader = function emojiTypeAheadComponentLoader() {
25
25
  var EmojiTypeahead = /*#__PURE__*/function (_LoadingEmojiComponen) {
26
26
  _inherits(EmojiTypeahead, _LoadingEmojiComponen);
27
27
  var _super = _createSuper(EmojiTypeahead);
28
- // state initialised with static component to prevent
29
- // rerender when the module has already been loaded
30
-
31
28
  function EmojiTypeahead(props) {
32
29
  var _this;
33
30
  _classCallCheck(this, EmojiTypeahead);
34
31
  _this = _super.call(this, props, {});
32
+ // state initialised with static component to prevent
33
+ // rerender when the module has already been loaded
35
34
  _defineProperty(_assertThisInitialized(_this), "state", {
36
35
  asyncLoadedComponent: EmojiTypeahead.AsyncLoadedComponent
37
36
  });
@@ -9,7 +9,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
9
9
  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; } }
10
10
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
11
11
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
13
  /** @jsx jsx */
14
14
  import { PureComponent } from 'react';
15
15
  import uuid from 'uuid';
@@ -26,6 +26,7 @@ var EmojiTypeAheadItem = /*#__PURE__*/function (_PureComponent) {
26
26
  args[_key] = arguments[_key];
27
27
  }
28
28
  _this = _super.call.apply(_super, [this].concat(args));
29
+ // internal, used for callbacks
29
30
  _defineProperty(_assertThisInitialized(_this), "onEmojiSelected", function (event) {
30
31
  var _this$props = _this.props,
31
32
  emoji = _this$props.emoji,
@@ -43,6 +43,7 @@ var EmojiTypeAheadList = /*#__PURE__*/function (_PureComponent) {
43
43
  var _this;
44
44
  _classCallCheck(this, EmojiTypeAheadList);
45
45
  _this = _super.call(this, props);
46
+ // API
46
47
  _defineProperty(_assertThisInitialized(_this), "selectNext", function () {
47
48
  var newIndex = wrapIndex(_this.props.emojis, _this.state.selectedIndex + 1);
48
49
  _this.selectIndex(newIndex);
@@ -118,8 +119,6 @@ var EmojiTypeAheadList = /*#__PURE__*/function (_PureComponent) {
118
119
  this.revealItem(selectedEmoji.id || selectedEmoji.shortName);
119
120
  }
120
121
  }
121
-
122
- // API
123
122
  }, {
124
123
  key: "revealItem",
125
124
  value:
@@ -39,46 +39,44 @@ var EmojiUploadComponent = function EmojiUploadComponent(props) {
39
39
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(upload, retry, onSuccessHandler) {
40
40
  var errorSetter, message;
41
41
  return _regeneratorRuntime.wrap(function _callee$(_context) {
42
- while (1) {
43
- switch (_context.prev = _context.next) {
44
- case 0:
45
- ufoExperiences['emoji-uploaded'].start();
46
- ufoExperiences['emoji-uploaded'].addMetadata({
47
- retry: retry
48
- });
49
- if (!supportsUploadFeature(emojiProvider)) {
50
- _context.next = 16;
51
- break;
52
- }
53
- fireAnalytics(uploadConfirmButton({
54
- retry: retry
55
- }));
56
- _context.prev = 4;
57
- _context.next = 7;
58
- return emojiProvider.prepareForUpload();
59
- case 7:
60
- errorSetter = function errorSetter(message) {
61
- setUploadErrorMessage(message);
62
- }; // internally handled error from upload callback
63
- uploadEmoji(upload, emojiProvider, errorSetter, onUploaded(onSuccessHandler), fireAnalytics, retry);
42
+ while (1) switch (_context.prev = _context.next) {
43
+ case 0:
44
+ ufoExperiences['emoji-uploaded'].start();
45
+ ufoExperiences['emoji-uploaded'].addMetadata({
46
+ retry: retry
47
+ });
48
+ if (!supportsUploadFeature(emojiProvider)) {
64
49
  _context.next = 16;
65
50
  break;
66
- case 11:
67
- _context.prev = 11;
68
- _context.t0 = _context["catch"](4);
69
- // error from upload token generation
70
- message = _context.t0 instanceof Error ? _context.t0.message : 'Issue with generating upload token';
71
- ufoExperiences['emoji-uploaded'].failure({
72
- metadata: {
73
- source: 'EmojiUploadComponent',
74
- error: message
75
- }
76
- });
77
- setUploadErrorMessage(messages.emojiUploadFailed);
78
- case 16:
79
- case "end":
80
- return _context.stop();
81
- }
51
+ }
52
+ fireAnalytics(uploadConfirmButton({
53
+ retry: retry
54
+ }));
55
+ _context.prev = 4;
56
+ _context.next = 7;
57
+ return emojiProvider.prepareForUpload();
58
+ case 7:
59
+ errorSetter = function errorSetter(message) {
60
+ setUploadErrorMessage(message);
61
+ }; // internally handled error from upload callback
62
+ uploadEmoji(upload, emojiProvider, errorSetter, onUploaded(onSuccessHandler), fireAnalytics, retry);
63
+ _context.next = 16;
64
+ break;
65
+ case 11:
66
+ _context.prev = 11;
67
+ _context.t0 = _context["catch"](4);
68
+ // error from upload token generation
69
+ message = _context.t0 instanceof Error ? _context.t0.message : 'Issue with generating upload token';
70
+ ufoExperiences['emoji-uploaded'].failure({
71
+ metadata: {
72
+ source: 'EmojiUploadComponent',
73
+ error: message
74
+ }
75
+ });
76
+ setUploadErrorMessage(messages.emojiUploadFailed);
77
+ case 16:
78
+ case "end":
79
+ return _context.stop();
82
80
  }
83
81
  }, _callee, null, [[4, 11]]);
84
82
  }));
@@ -24,13 +24,12 @@ var emojiUploadLoader = function emojiUploadLoader() {
24
24
  export var EmojiUploaderInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
25
25
  _inherits(EmojiUploaderInternal, _LoadingEmojiComponen);
26
26
  var _super = _createSuper(EmojiUploaderInternal);
27
- // state initialised with static component to prevent
28
- // rerender when the module has already been loaded
29
-
30
27
  function EmojiUploaderInternal(props) {
31
28
  var _this;
32
29
  _classCallCheck(this, EmojiUploaderInternal);
33
30
  _this = _super.call(this, props, {});
31
+ // state initialised with static component to prevent
32
+ // rerender when the module has already been loaded
34
33
  _defineProperty(_assertThisInitialized(_this), "state", {
35
34
  asyncLoadedComponent: EmojiUploaderInternal.AsyncLoadedComponent
36
35
  });
@@ -17,23 +17,21 @@ export var EmojiContextProvider = function EmojiContextProvider(_ref) {
17
17
  function _fetchEmojiProvider() {
18
18
  _fetchEmojiProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
19
19
  return _regeneratorRuntime.wrap(function _callee$(_context) {
20
- while (1) {
21
- switch (_context.prev = _context.next) {
22
- case 0:
23
- _context.prev = 0;
24
- _context.next = 3;
25
- return memoizedEmojiContextValue === null || memoizedEmojiContextValue === void 0 ? void 0 : memoizedEmojiContextValue.emoji.emojiProvider.fetchEmojiProvider();
26
- case 3:
27
- _context.next = 8;
28
- break;
29
- case 5:
30
- _context.prev = 5;
31
- _context.t0 = _context["catch"](0);
32
- debug('fetchEmojiProvider error catched from outside', _context.t0);
33
- case 8:
34
- case "end":
35
- return _context.stop();
36
- }
20
+ while (1) switch (_context.prev = _context.next) {
21
+ case 0:
22
+ _context.prev = 0;
23
+ _context.next = 3;
24
+ return memoizedEmojiContextValue === null || memoizedEmojiContextValue === void 0 ? void 0 : memoizedEmojiContextValue.emoji.emojiProvider.fetchEmojiProvider();
25
+ case 3:
26
+ _context.next = 8;
27
+ break;
28
+ case 5:
29
+ _context.prev = 5;
30
+ _context.t0 = _context["catch"](0);
31
+ debug('fetchEmojiProvider error catched from outside', _context.t0);
32
+ case 8:
33
+ case "end":
34
+ return _context.stop();
37
35
  }
38
36
  }, _callee, null, [[0, 5]]);
39
37
  }));
@@ -25,25 +25,23 @@ export var useEmoji = function useEmoji() {
25
25
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
26
26
  var supported;
27
27
  return _regeneratorRuntime.wrap(function _callee$(_context) {
28
- while (1) {
29
- switch (_context.prev = _context.next) {
30
- case 0:
31
- _context.prev = 0;
32
- _context.next = 3;
33
- return emojiProvider.isUploadSupported();
34
- case 3:
35
- supported = _context.sent;
36
- setIsUploadSupported(supported);
37
- _context.next = 10;
38
- break;
39
- case 7:
40
- _context.prev = 7;
41
- _context.t0 = _context["catch"](0);
42
- return _context.abrupt("return", false);
43
- case 10:
44
- case "end":
45
- return _context.stop();
46
- }
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ _context.prev = 0;
31
+ _context.next = 3;
32
+ return emojiProvider.isUploadSupported();
33
+ case 3:
34
+ supported = _context.sent;
35
+ setIsUploadSupported(supported);
36
+ _context.next = 10;
37
+ break;
38
+ case 7:
39
+ _context.prev = 7;
40
+ _context.t0 = _context["catch"](0);
41
+ return _context.abrupt("return", false);
42
+ case 10:
43
+ case "end":
44
+ return _context.stop();
47
45
  }
48
46
  }, _callee, null, [[0, 7]]);
49
47
  }));
package/dist/esm/types.js CHANGED
@@ -28,50 +28,49 @@
28
28
  * The expected response from an Emoji service.
29
29
  */
30
30
 
31
- export var SearchSort;
32
- (function (SearchSort) {
31
+ export var SearchSort = /*#__PURE__*/function (SearchSort) {
33
32
  SearchSort[SearchSort["None"] = 0] = "None";
34
33
  SearchSort[SearchSort["Default"] = 1] = "Default";
35
34
  SearchSort[SearchSort["UsageFrequency"] = 2] = "UsageFrequency";
36
- })(SearchSort || (SearchSort = {}));
37
- export var SearchSourceTypes;
38
- (function (SearchSourceTypes) {
35
+ return SearchSort;
36
+ }({});
37
+ export var SearchSourceTypes = /*#__PURE__*/function (SearchSourceTypes) {
39
38
  SearchSourceTypes["PICKER"] = "picker";
40
39
  SearchSourceTypes["TYPEAHEAD"] = "typeahead";
41
- })(SearchSourceTypes || (SearchSourceTypes = {}));
42
- export var ProviderTypes;
43
- (function (ProviderTypes) {
40
+ return SearchSourceTypes;
41
+ }({});
42
+ export var ProviderTypes = /*#__PURE__*/function (ProviderTypes) {
44
43
  ProviderTypes["SITE"] = "SITE";
45
44
  ProviderTypes["STANDARD"] = "STANDARD";
46
45
  ProviderTypes["ATLASSIAN"] = "ATLASSIAN";
47
46
  ProviderTypes["UNKNOWN"] = "UNKNOWN";
48
47
  ProviderTypes["SINGLE"] = "SINGLE";
49
- })(ProviderTypes || (ProviderTypes = {}));
50
- export var UfoExperienceName;
51
- (function (UfoExperienceName) {
48
+ return ProviderTypes;
49
+ }({});
50
+ export var UfoExperienceName = /*#__PURE__*/function (UfoExperienceName) {
52
51
  UfoExperienceName["EMOJI_RENDERED"] = "emoji-rendered";
53
52
  UfoExperienceName["EMOJI_RESOURCE_FETCHED"] = "emoji-resource-fetched";
54
53
  UfoExperienceName["EMOJI_PICKER_OPENED"] = "emoji-picker-opened";
55
54
  UfoExperienceName["EMOJI_SELECTION_RECORDED"] = "emoji-selection-recorded";
56
55
  UfoExperienceName["EMOJI_UPLOADED"] = "emoji-uploaded";
57
56
  UfoExperienceName["EMOJI_SEARCHED"] = "emoji-searched";
58
- })(UfoExperienceName || (UfoExperienceName = {}));
59
- export var UfoComponentName;
60
- (function (UfoComponentName) {
57
+ return UfoExperienceName;
58
+ }({});
59
+ export var UfoComponentName = /*#__PURE__*/function (UfoComponentName) {
61
60
  UfoComponentName["EMOJI"] = "emoji";
62
61
  UfoComponentName["EMOJI_PICKER"] = "emoji-picker";
63
62
  UfoComponentName["EMOJI_PROVIDER"] = "emoji-provider";
64
- })(UfoComponentName || (UfoComponentName = {}));
65
- export var UfoEmojiTimingsKeys;
66
- (function (UfoEmojiTimingsKeys) {
63
+ return UfoComponentName;
64
+ }({});
65
+ export var UfoEmojiTimingsKeys = /*#__PURE__*/function (UfoEmojiTimingsKeys) {
67
66
  UfoEmojiTimingsKeys["FMP"] = "fmp";
68
67
  UfoEmojiTimingsKeys["MOUNTED"] = "emoji-mount";
69
68
  UfoEmojiTimingsKeys["METADATA"] = "emoji-metadata";
70
69
  UfoEmojiTimingsKeys["MEDIADATA"] = "emoji-media";
71
70
  UfoEmojiTimingsKeys["ONLOAD"] = "emoji-onload";
72
- })(UfoEmojiTimingsKeys || (UfoEmojiTimingsKeys = {}));
73
- export var UfoEmojiTimings;
74
- (function (UfoEmojiTimings) {
71
+ return UfoEmojiTimingsKeys;
72
+ }({});
73
+ export var UfoEmojiTimings = /*#__PURE__*/function (UfoEmojiTimings) {
75
74
  UfoEmojiTimings["FMP_END"] = "fmp";
76
75
  UfoEmojiTimings["MOUNTED_END"] = "emoji-mount_end";
77
76
  UfoEmojiTimings["METADATA_START"] = "emoji-metadata_start";
@@ -80,4 +79,5 @@ export var UfoEmojiTimings;
80
79
  UfoEmojiTimings["MEDIA_END"] = "emoji-media_end";
81
80
  UfoEmojiTimings["ONLOAD_START"] = "emoji-onload_start";
82
81
  UfoEmojiTimings["ONLOAD_END"] = "emoji-onload_end";
83
- })(UfoEmojiTimings || (UfoEmojiTimings = {}));
82
+ return UfoEmojiTimings;
83
+ }({});