@atlaskit/reactions 21.3.4 → 21.5.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 (87) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/analytics/constants.js +9 -0
  3. package/dist/cjs/analytics/ufo.js +10 -2
  4. package/dist/cjs/client/MockReactionsClient.js +202 -107
  5. package/dist/cjs/client/index.js +33 -1
  6. package/dist/cjs/components/Counter.js +1 -0
  7. package/dist/cjs/components/Reaction.js +7 -4
  8. package/dist/cjs/components/ReactionPicker.js +13 -5
  9. package/dist/cjs/components/Reactions.js +1 -1
  10. package/dist/cjs/containers/ConnectedReactionPicker.js +9 -0
  11. package/dist/cjs/containers/ConnectedReactionsView.js +1 -1
  12. package/dist/cjs/shared/constants.js +13 -0
  13. package/dist/cjs/shared/index.js +16 -0
  14. package/dist/cjs/store/ReactionsStore.js +19 -7
  15. package/dist/cjs/types/ReactionStatus.js +4 -0
  16. package/dist/cjs/version.json +1 -1
  17. package/dist/es2019/analytics/constants.js +2 -0
  18. package/dist/es2019/analytics/ufo.js +3 -1
  19. package/dist/es2019/client/MockReactionsClient.js +90 -86
  20. package/dist/es2019/client/index.js +2 -1
  21. package/dist/es2019/components/Counter.js +2 -1
  22. package/dist/es2019/components/Reaction.js +5 -2
  23. package/dist/es2019/components/ReactionPicker.js +13 -5
  24. package/dist/es2019/components/Reactions.js +1 -1
  25. package/dist/es2019/containers/ConnectedReactionPicker.js +9 -0
  26. package/dist/es2019/containers/ConnectedReactionsView.js +1 -1
  27. package/dist/es2019/shared/constants.js +4 -0
  28. package/dist/es2019/shared/index.js +2 -0
  29. package/dist/es2019/store/ReactionsStore.js +18 -7
  30. package/dist/es2019/types/ReactionStatus.js +3 -0
  31. package/dist/es2019/version.json +1 -1
  32. package/dist/esm/analytics/constants.js +2 -0
  33. package/dist/esm/analytics/ufo.js +5 -1
  34. package/dist/esm/client/MockReactionsClient.js +196 -102
  35. package/dist/esm/client/index.js +2 -1
  36. package/dist/esm/components/Counter.js +2 -1
  37. package/dist/esm/components/Reaction.js +7 -4
  38. package/dist/esm/components/ReactionPicker.js +13 -5
  39. package/dist/esm/components/Reactions.js +1 -1
  40. package/dist/esm/containers/ConnectedReactionPicker.js +9 -0
  41. package/dist/esm/containers/ConnectedReactionsView.js +1 -1
  42. package/dist/esm/shared/constants.js +4 -0
  43. package/dist/esm/shared/index.js +2 -0
  44. package/dist/esm/store/ReactionsStore.js +20 -7
  45. package/dist/esm/types/ReactionStatus.js +3 -0
  46. package/dist/esm/version.json +1 -1
  47. package/dist/types/analytics/constants.d.ts +1 -0
  48. package/dist/types/analytics/ufo.d.ts +1 -0
  49. package/dist/types/client/MockReactionsClient.d.ts +6 -13
  50. package/dist/types/client/ReactionClient.d.ts +5 -2
  51. package/dist/types/client/index.d.ts +1 -0
  52. package/dist/types/components/Counter.d.ts +18 -0
  53. package/dist/types/components/EmojiButton.d.ts +9 -0
  54. package/dist/types/components/FlashAnimation.d.ts +7 -2
  55. package/dist/types/components/Reaction.d.ts +26 -7
  56. package/dist/types/components/ReactionPicker.d.ts +36 -1
  57. package/dist/types/components/ReactionTooltip.d.ts +7 -2
  58. package/dist/types/components/Reactions.d.ts +42 -8
  59. package/dist/types/components/Selector.d.ts +12 -0
  60. package/dist/types/components/ShowMore.d.ts +12 -0
  61. package/dist/types/components/Trigger.d.ts +9 -0
  62. package/dist/types/components/UfoErrorBoundary.d.ts +2 -1
  63. package/dist/types/containers/ConnectedReactionPicker.d.ts +9 -3
  64. package/dist/types/containers/ConnectedReactionsView.d.ts +12 -0
  65. package/dist/types/index.d.ts +1 -1
  66. package/dist/types/shared/constants.d.ts +3 -0
  67. package/dist/types/shared/index.d.ts +1 -0
  68. package/dist/types/store/ReactionsStore.d.ts +44 -7
  69. package/dist/types/store/index.d.ts +1 -1
  70. package/dist/types/types/Actions.d.ts +17 -4
  71. package/dist/types/types/ReactionSource.d.ts +3 -0
  72. package/dist/types/types/ReactionStatus.d.ts +3 -0
  73. package/dist/types/types/ReactionsState.d.ts +3 -0
  74. package/dist/types/types/index.d.ts +1 -1
  75. package/docs/0-intro.tsx +118 -27
  76. package/docs/1-connected-reaction-picker.tsx +133 -0
  77. package/docs/2-connected-reactions-view.tsx +130 -0
  78. package/docs/3-reactions-store.tsx +71 -0
  79. package/docs/4-reaction-service-client.tsx +42 -0
  80. package/extract-react-type/ConnectedReactionPicker.ts +8 -0
  81. package/extract-react-type/ConnectedReactionsView.ts +8 -0
  82. package/extract-react-type/Reaction.ts +8 -0
  83. package/extract-react-type/Reactions.ts +8 -0
  84. package/extract-react-type/actions.ts +8 -0
  85. package/extract-react-type/reactionClient.ts +8 -0
  86. package/extract-react-type/reactionsStore.ts +8 -0
  87. package/package.json +9 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 21.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8d4228767b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8d4228767b0) - Upgrade Typescript from `4.2.4` to `4.3.5`.
8
+
9
+ ## 21.5.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`e3192fc9dc2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e3192fc9dc2) - Fix add own emoji in reaction picker
14
+
15
+ ### Patch Changes
16
+
17
+ - [`ac51581fc14`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ac51581fc14) - Update the examples, docs descriptions and added tsdoc comments to relevant components and objects
18
+ - Updated dependencies
19
+
20
+ ## 21.4.0
21
+
22
+ ### Minor Changes
23
+
24
+ - [`34155ee7563`](https://bitbucket.org/atlassian/atlassian-frontend/commits/34155ee7563) - add sampling for 2 ufo experiences to reduce volume of analytics
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies
29
+
3
30
  ## 21.3.4
4
31
 
5
32
  ### Patch Changes
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SAMPLING_RATE_REACTIONS_RENDERED_EXP = void 0;
7
+ // This rate is used in fetching emoji resource
8
+ var SAMPLING_RATE_REACTIONS_RENDERED_EXP = 0.02;
9
+ exports.SAMPLING_RATE_REACTIONS_RENDERED_EXP = SAMPLING_RATE_REACTIONS_RENDERED_EXP;
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ReactionsRendered = exports.ReactionsRemove = exports.ReactionsAdd = exports.ReactionDetailsFetch = exports.PickerRender = exports.ExperienceName = exports.ComponentName = void 0;
6
+ exports.sampledReactionsRendered = exports.ReactionsRendered = exports.ReactionsRemove = exports.ReactionsAdd = exports.ReactionDetailsFetch = exports.PickerRender = exports.ExperienceName = exports.ComponentName = void 0;
7
7
 
8
8
  var _ufo = require("@atlaskit/ufo");
9
9
 
10
+ var _emoji = require("@atlaskit/emoji");
11
+
10
12
  /**
11
13
  * Helper method for create the config type for an individual/Concurrent experience
12
14
  * @param componentName
@@ -78,4 +80,10 @@ var ReactionDetailsFetch = new _ufo.ConcurrentExperience(ExperienceName.REACTION
78
80
 
79
81
  exports.ReactionDetailsFetch = ReactionDetailsFetch;
80
82
  var ReactionsRemove = new _ufo.ConcurrentExperience(ExperienceName.REACTION_REMOVED, createExperienceConfig(ComponentName.REACTIONS, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
81
- exports.ReactionsRemove = ReactionsRemove;
83
+ exports.ReactionsRemove = ReactionsRemove;
84
+
85
+ var sampledReactionsRendered = function sampledReactionsRendered(instanceId) {
86
+ return (0, _emoji.withSampling)(ReactionsRendered.getInstance(instanceId));
87
+ };
88
+
89
+ exports.sampledReactionsRendered = sampledReactionsRendered;
@@ -5,28 +5,34 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.user = exports.reaction = exports.containerAri = exports.ari = exports.MockReactionsClient = void 0;
8
+ exports.getUser = exports.getReactionSummary = exports.containerAri = exports.ari = exports.MockReactionsClient = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
11
 
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
12
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
17
 
14
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
19
 
16
- var _defineProperty3 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
21
 
18
22
  var _Selector = require("../components/Selector");
19
23
 
24
+ var _shared = require("../shared");
25
+
20
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; }
21
27
 
22
- 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, _defineProperty3.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; }
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; }
23
29
 
24
- var containerAri = 'ari:cloud:owner:demo-cloud-id:container/1';
30
+ var containerAri = "".concat(_shared.Constants.ContainerAriPrefix, "1");
25
31
  exports.containerAri = containerAri;
26
- var ari = 'ari:cloud:owner:demo-cloud-id:item/1';
32
+ var ari = "".concat(_shared.Constants.AriPrefix, "1");
27
33
  exports.ari = ari;
28
34
 
29
- var reaction = function reaction(shortName, count, reacted) {
35
+ var getReactionSummary = function getReactionSummary(shortName, count, reacted) {
30
36
  return {
31
37
  ari: ari,
32
38
  containerAri: containerAri,
@@ -36,22 +42,26 @@ var reaction = function reaction(shortName, count, reacted) {
36
42
  };
37
43
  };
38
44
 
39
- exports.reaction = reaction;
45
+ exports.getReactionSummary = getReactionSummary;
40
46
 
41
- var user = function user(id, displayName) {
47
+ var getUser = function getUser(id, displayName) {
42
48
  return {
43
49
  id: id,
44
50
  displayName: displayName
45
51
  };
46
52
  };
47
53
 
48
- exports.user = user;
54
+ exports.getUser = getUser;
49
55
 
50
- var objectReactionKey = function objectReactionKey(containerAri, ari) {
56
+ var getReactionKey = function getReactionKey(containerAri, ari) {
51
57
  return "".concat(containerAri, "|").concat(ari);
52
58
  };
53
59
 
54
- var defaultUsers = [user('oscar', 'Oscar Wallhult'), user('julien', 'Julien Michel Hoarau'), user('craig', 'Craig Petchell'), user('jerome', 'Jerome Touffe-Blin'), user('esoares', 'Eduardo Soares'), user('lpereira', 'Luiz Pereira'), user('pcurren', 'Paul Curren'), user('ttjandra', 'Tara Tjandra'), user('severington', 'Ste Everington'), user('sguillope', 'Sylvain Guillope'), user('alunnon', 'Alex Lunnon')];
60
+ var defaultUsers = [getUser('oscar', 'Oscar Wallhult'), getUser('julien', 'Julien Michel Hoarau'), getUser('craig', 'Craig Petchell'), getUser('jerome', 'Jerome Touffe-Blin'), getUser('esoares', 'Eduardo Soares'), getUser('lpereira', 'Luiz Pereira'), getUser('pcurren', 'Paul Curren'), getUser('ttjandra', 'Tara Tjandra'), getUser('severington', 'Ste Everington'), getUser('sguillope', 'Sylvain Guillope'), getUser('alunnon', 'Alex Lunnon')];
61
+ var mockData = (0, _defineProperty2.default)({}, getReactionKey(containerAri, ari), [getReactionSummary(':fire:', 1, true), getReactionSummary(':thumbsup:', 999, false), getReactionSummary(':astonished:', 9, false), getReactionSummary(':heart:', 99, false)]);
62
+ /**
63
+ * Mocked version of the client to fetch user information
64
+ */
55
65
 
56
66
  var MockReactionsClient = /*#__PURE__*/function () {
57
67
  function MockReactionsClient() {
@@ -59,8 +69,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
59
69
 
60
70
  var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
61
71
  (0, _classCallCheck2.default)(this, MockReactionsClient);
62
- (0, _defineProperty3.default)(this, "mockData", (0, _defineProperty3.default)({}, objectReactionKey(containerAri, ari), [reaction(':fire:', 1, true), reaction(':thumbsup:', 9, false), reaction(':astonished:', 5, false), reaction(':heart:', 100, false)]));
63
- (0, _defineProperty3.default)(this, "delayPromise", function () {
72
+ (0, _defineProperty2.default)(this, "delayPromise", function () {
64
73
  return new Promise(function (resolve) {
65
74
  return window.setTimeout(resolve, _this.delay);
66
75
  });
@@ -70,112 +79,198 @@ var MockReactionsClient = /*#__PURE__*/function () {
70
79
 
71
80
  (0, _createClass2.default)(MockReactionsClient, [{
72
81
  key: "getReactions",
73
- value: function getReactions(containerAri, aris) {
74
- var _this2 = this;
75
-
76
- return this.delayPromise().then(function () {
77
- return aris.reduce(function (results, ari) {
78
- var reactionKey = objectReactionKey(containerAri, ari);
79
- results[ari] = _this2.mockData[reactionKey] || [];
80
- return results;
81
- }, {});
82
- });
83
- }
82
+ value: function () {
83
+ var _getReactions = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(containerAri, aris) {
84
+ return _regenerator.default.wrap(function _callee$(_context) {
85
+ while (1) {
86
+ switch (_context.prev = _context.next) {
87
+ case 0:
88
+ _context.next = 2;
89
+ return this.delayPromise();
90
+
91
+ case 2:
92
+ return _context.abrupt("return", aris.reduce(function (results, ari) {
93
+ var reactionKey = getReactionKey(containerAri, ari);
94
+ results[ari] = mockData[reactionKey] || [];
95
+ return results;
96
+ }, {}));
97
+
98
+ case 3:
99
+ case "end":
100
+ return _context.stop();
101
+ }
102
+ }
103
+ }, _callee, this);
104
+ }));
105
+
106
+ function getReactions(_x, _x2) {
107
+ return _getReactions.apply(this, arguments);
108
+ }
109
+
110
+ return getReactions;
111
+ }()
84
112
  }, {
85
113
  key: "getDetailedReaction",
86
- value: function getDetailedReaction(containerAri, ari, emojiId) {
87
- var _this3 = this;
88
-
89
- return this.delayPromise().then(function () {
90
- var reactionKey = "".concat(containerAri, "|").concat(ari);
91
- var reactionsMockData = _this3.mockData[reactionKey];
92
-
93
- if (reactionsMockData) {
94
- var _reaction = reactionsMockData.find(function (reaction) {
95
- return reaction.emojiId === emojiId;
96
- });
97
-
98
- if (_reaction) {
99
- var users = [].concat(defaultUsers).slice(Math.floor(Math.random() * 4), Math.floor(Math.random() * 9) + 4).slice(0, _reaction.count);
100
- return _objectSpread(_objectSpread({}, _reaction), {}, {
101
- users: users
102
- });
114
+ value: function () {
115
+ var _getDetailedReaction = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(containerAri, ari, emojiId) {
116
+ var reactionKey, reactionsMockData, reaction, users;
117
+ return _regenerator.default.wrap(function _callee2$(_context2) {
118
+ while (1) {
119
+ switch (_context2.prev = _context2.next) {
120
+ case 0:
121
+ _context2.next = 2;
122
+ return this.delayPromise();
123
+
124
+ case 2:
125
+ reactionKey = "".concat(containerAri, "|").concat(ari);
126
+ reactionsMockData = mockData[reactionKey];
127
+
128
+ if (!reactionsMockData) {
129
+ _context2.next = 9;
130
+ break;
131
+ }
132
+
133
+ reaction = reactionsMockData.find(function (reaction_1) {
134
+ return reaction_1.emojiId === emojiId;
135
+ });
136
+
137
+ if (!reaction) {
138
+ _context2.next = 9;
139
+ break;
140
+ }
141
+
142
+ users = [].concat(defaultUsers).slice(Math.floor(Math.random() * 4), Math.floor(Math.random() * 9) + 4).slice(0, reaction.count);
143
+ return _context2.abrupt("return", _objectSpread(_objectSpread({}, reaction), {}, {
144
+ users: users
145
+ }));
146
+
147
+ case 9:
148
+ return _context2.abrupt("return", {
149
+ containerAri: containerAri,
150
+ ari: ari,
151
+ emojiId: emojiId,
152
+ count: 1,
153
+ reacted: true,
154
+ users: []
155
+ });
156
+
157
+ case 10:
158
+ case "end":
159
+ return _context2.stop();
160
+ }
103
161
  }
104
- }
105
-
106
- return {
107
- containerAri: containerAri,
108
- ari: ari,
109
- emojiId: emojiId,
110
- count: 1,
111
- reacted: true,
112
- users: []
113
- };
114
- });
115
- }
162
+ }, _callee2, this);
163
+ }));
164
+
165
+ function getDetailedReaction(_x3, _x4, _x5) {
166
+ return _getDetailedReaction.apply(this, arguments);
167
+ }
168
+
169
+ return getDetailedReaction;
170
+ }()
116
171
  }, {
117
172
  key: "addReaction",
118
- value: function addReaction(containerAri, ari, emojiId) {
119
- var _this4 = this;
120
-
121
- return this.delayPromise().then(function () {
122
- var reactionKey = objectReactionKey(containerAri, ari);
123
- var found = false;
124
- var reactionsMockData = _this4.mockData[reactionKey];
125
-
126
- if (reactionsMockData) {
127
- _this4.mockData[reactionKey] = reactionsMockData.map(function (reaction) {
128
- if (reaction.emojiId === emojiId) {
129
- found = true;
130
- return _objectSpread(_objectSpread({}, reaction), {}, {
131
- count: reaction.count + 1,
132
- reacted: true
133
- });
173
+ value: function () {
174
+ var _addReaction = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(containerAri, ari, emojiId) {
175
+ var reactionKey, found, reactionsMockData;
176
+ return _regenerator.default.wrap(function _callee3$(_context3) {
177
+ while (1) {
178
+ switch (_context3.prev = _context3.next) {
179
+ case 0:
180
+ _context3.next = 2;
181
+ return this.delayPromise();
182
+
183
+ case 2:
184
+ reactionKey = getReactionKey(containerAri, ari);
185
+ found = false;
186
+ reactionsMockData = mockData[reactionKey];
187
+
188
+ if (reactionsMockData) {
189
+ mockData[reactionKey] = reactionsMockData.map(function (reaction) {
190
+ if (reaction.emojiId === emojiId) {
191
+ found = true;
192
+ return _objectSpread(_objectSpread({}, reaction), {}, {
193
+ count: reaction.count + 1,
194
+ reacted: true
195
+ });
196
+ }
197
+
198
+ return reaction;
199
+ });
200
+ }
201
+
202
+ if (!found) {
203
+ mockData[reactionKey] = [].concat((0, _toConsumableArray2.default)(reactionsMockData ? reactionsMockData : []), [{
204
+ containerAri: containerAri,
205
+ ari: ari,
206
+ emojiId: emojiId,
207
+ count: 1,
208
+ reacted: true
209
+ }]);
210
+ }
211
+
212
+ return _context3.abrupt("return", mockData[reactionKey]);
213
+
214
+ case 8:
215
+ case "end":
216
+ return _context3.stop();
134
217
  }
218
+ }
219
+ }, _callee3, this);
220
+ }));
135
221
 
136
- return reaction;
137
- });
138
- }
139
-
140
- if (!found) {
141
- _this4.mockData[reactionKey] = [].concat((0, _toConsumableArray2.default)(reactionsMockData ? reactionsMockData : []), [{
142
- containerAri: containerAri,
143
- ari: ari,
144
- emojiId: emojiId,
145
- count: 1,
146
- reacted: true
147
- }]);
148
- }
149
-
150
- return _this4.mockData[reactionKey];
151
- });
152
- }
222
+ function addReaction(_x6, _x7, _x8) {
223
+ return _addReaction.apply(this, arguments);
224
+ }
225
+
226
+ return addReaction;
227
+ }()
153
228
  }, {
154
229
  key: "deleteReaction",
155
- value: function deleteReaction(containerAri, ari, emojiId) {
156
- var _this5 = this;
157
-
158
- return this.delayPromise().then(function () {
159
- var reactionKey = objectReactionKey(containerAri, ari);
160
- _this5.mockData[reactionKey] = _this5.mockData[reactionKey].map(function (reaction) {
161
- if (reaction.emojiId === emojiId) {
162
- if (reaction.count === 1) {
163
- return undefined;
230
+ value: function () {
231
+ var _deleteReaction = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(containerAri, ari, emojiId) {
232
+ var reactionKey;
233
+ return _regenerator.default.wrap(function _callee4$(_context4) {
234
+ while (1) {
235
+ switch (_context4.prev = _context4.next) {
236
+ case 0:
237
+ _context4.next = 2;
238
+ return this.delayPromise();
239
+
240
+ case 2:
241
+ reactionKey = getReactionKey(containerAri, ari);
242
+ mockData[reactionKey] = mockData[reactionKey].map(function (reaction) {
243
+ if (reaction.emojiId === emojiId) {
244
+ if (reaction.count === 1) {
245
+ return undefined;
246
+ }
247
+
248
+ return _objectSpread(_objectSpread({}, reaction), {}, {
249
+ count: reaction.count - 1,
250
+ reacted: false
251
+ });
252
+ }
253
+
254
+ return reaction;
255
+ }).filter(function (reaction_1) {
256
+ return !!reaction_1;
257
+ });
258
+ return _context4.abrupt("return", mockData[reactionKey]);
259
+
260
+ case 5:
261
+ case "end":
262
+ return _context4.stop();
164
263
  }
165
-
166
- return _objectSpread(_objectSpread({}, reaction), {}, {
167
- count: reaction.count - 1,
168
- reacted: false
169
- });
170
264
  }
265
+ }, _callee4, this);
266
+ }));
171
267
 
172
- return reaction;
173
- }).filter(function (reaction) {
174
- return !!reaction;
175
- });
176
- return _this5.mockData[reactionKey];
177
- });
178
- }
268
+ function deleteReaction(_x9, _x10, _x11) {
269
+ return _deleteReaction.apply(this, arguments);
270
+ }
271
+
272
+ return deleteReaction;
273
+ }()
179
274
  }]);
180
275
  return MockReactionsClient;
181
276
  }();
@@ -3,11 +3,43 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "MockReactionsClient", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _MockReactionsClient.MockReactionsClient;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "ReactionServiceClient", {
7
13
  enumerable: true,
8
14
  get: function get() {
9
15
  return _ReactionServiceClient.ReactionServiceClient;
10
16
  }
11
17
  });
18
+ Object.defineProperty(exports, "ari", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _MockReactionsClient.ari;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "containerAri", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _MockReactionsClient.containerAri;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "getReactionSummary", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _MockReactionsClient.getReactionSummary;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "getUser", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _MockReactionsClient.getUser;
40
+ }
41
+ });
42
+
43
+ var _ReactionServiceClient = require("./ReactionServiceClient");
12
44
 
13
- var _ReactionServiceClient = require("./ReactionServiceClient");
45
+ var _MockReactionsClient = require("./MockReactionsClient");
@@ -26,6 +26,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
26
26
  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; }
27
27
 
28
28
  /** @jsx jsx */
29
+ // eslint-disable-next-line @atlaskit/design-system/no-banned-imports
29
30
  var counterTestId = 'counter-container';
30
31
  exports.counterTestId = counterTestId;
31
32
  var countStyle = (0, _core.css)({
@@ -98,6 +98,10 @@ var flashStyle = (0, _core.css)({
98
98
  borderRadius: '10px',
99
99
  height: "".concat(flashHeight, "px")
100
100
  });
101
+ /**
102
+ * @param id give id for the emoji
103
+ * @param event selected mouse event proerties
104
+ */
101
105
 
102
106
  var ReactionWithoutAnalytics = /*#__PURE__*/function (_PureComponent) {
103
107
  (0, _inherits2.default)(ReactionWithoutAnalytics, _PureComponent);
@@ -119,8 +123,8 @@ var ReactionWithoutAnalytics = /*#__PURE__*/function (_PureComponent) {
119
123
  _reaction = _this$props.reaction,
120
124
  createAnalyticsEvent = _this$props.createAnalyticsEvent;
121
125
  var reacted = _reaction.reacted,
122
- _emojiId = _reaction.emojiId;
123
- (0, _analytics.createAndFireSafe)(createAnalyticsEvent, _analytics.createReactionClickedEvent, !reacted, _emojiId);
126
+ emojiId = _reaction.emojiId;
127
+ (0, _analytics.createAndFireSafe)(createAnalyticsEvent, _analytics.createReactionClickedEvent, !reacted, emojiId);
124
128
 
125
129
  _this.props.onClick(_this.props.reaction.emojiId, event);
126
130
  }
@@ -218,8 +222,7 @@ var ReactionWithoutAnalytics = /*#__PURE__*/function (_PureComponent) {
218
222
  (0, _defineProperty2.default)(ReactionWithoutAnalytics, "defaultProps", {
219
223
  flash: false,
220
224
  className: undefined,
221
- onMouseEnter: undefined,
222
- flashOnMount: false
225
+ onMouseEnter: undefined
223
226
  });
224
227
  (0, _defineProperty2.default)(ReactionWithoutAnalytics, "displayName", 'Reaction');
225
228
  var Reaction = (0, _analyticsNext.withAnalyticsEvents)()(ReactionWithoutAnalytics);
@@ -77,6 +77,10 @@ var popupStyle = (0, _core.css)({
77
77
  });
78
78
 
79
79
  function noop() {}
80
+ /**
81
+ * This renders the picker component (wrapped by the ConnectedReactionPicker)
82
+ */
83
+
80
84
 
81
85
  var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
82
86
  (0, _inherits2.default)(ReactionPicker, _PureComponent);
@@ -108,10 +112,10 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
108
112
  });
109
113
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "showFullPicker", function (e) {
110
114
  e.preventDefault();
111
- var onMore = _this.props.onMore;
115
+ var onShowMore = _this.props.onShowMore;
112
116
 
113
- if (onMore) {
114
- onMore();
117
+ if (onShowMore) {
118
+ onShowMore();
115
119
  } // Update popper position
116
120
 
117
121
 
@@ -182,12 +186,16 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
182
186
  (0, _createClass2.default)(ReactionPicker, [{
183
187
  key: "componentDidMount",
184
188
  value: function componentDidMount() {
185
- document.addEventListener('click', this.handleClickOutside);
189
+ document.addEventListener('click', this.handleClickOutside, {
190
+ capture: true
191
+ });
186
192
  }
187
193
  }, {
188
194
  key: "componentWillUnmount",
189
195
  value: function componentWillUnmount() {
190
- document.removeEventListener('click', this.handleClickOutside);
196
+ document.removeEventListener('click', this.handleClickOutside, {
197
+ capture: true
198
+ });
191
199
 
192
200
  _analytics.UFO.PickerRender.abort({
193
201
  metadata: {
@@ -170,7 +170,7 @@ var ReactionsWithoutAnalytics = /*#__PURE__*/function (_React$PureComponent) {
170
170
  onSelection: this.handleOnSelection,
171
171
  onOpen: this.handlePickerOpen,
172
172
  onCancel: this.handleOnCancel,
173
- onMore: this.handleOnMore
173
+ onShowMore: this.handleOnMore
174
174
  }));
175
175
  }
176
176
  }, {
@@ -24,9 +24,18 @@ var ConnectedReactionPicker = function ConnectedReactionPicker(props) {
24
24
  var renderChild = function renderChild(innerProps) {
25
25
  return /*#__PURE__*/_react.default.createElement(_components.ReactionPicker, (0, _extends2.default)({}, props, innerProps));
26
26
  };
27
+ /**
28
+ * Mapping actions for the picker selection
29
+ * @param actions
30
+ * @returns void
31
+ */
32
+
27
33
 
28
34
  var actionsMapper = function actionsMapper(actions) {
29
35
  return {
36
+ /**
37
+ * Event handler when an emoji gets selected
38
+ */
30
39
  onSelection: function onSelection(emojiId) {
31
40
  actions.addReaction(props.containerAri, props.ari, emojiId);
32
41
  }
@@ -37,7 +37,7 @@ var ReactionsView = function ReactionsView(props) {
37
37
  store = props.store,
38
38
  containerAri = props.containerAri;
39
39
  (0, _react.useEffect)(function () {
40
- experienceInstance.current = _ReactionsStore.ufoExperiences.render.getInstance(ari);
40
+ experienceInstance.current = _ReactionsStore.ufoExperiences.render(ari);
41
41
  }, [ari]);
42
42
  (0, _react.useEffect)(function () {
43
43
  Promise.resolve(store).then(function (_store) {
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.demoCloudId = exports.ContainerAriPrefix = exports.AriPrefix = void 0;
7
+ // site id for jdog.jira-dev.com
8
+ var demoCloudId = "49d8b9d6-ee7d-4931-a0ca-7fcae7d1c3b5";
9
+ exports.demoCloudId = demoCloudId;
10
+ var AriPrefix = "ari:cloud:test:".concat(demoCloudId, ":item/");
11
+ exports.AriPrefix = AriPrefix;
12
+ var ContainerAriPrefix = "ari:cloud:test:".concat(demoCloudId, ":container/");
13
+ exports.ContainerAriPrefix = ContainerAriPrefix;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Constants = void 0;
9
+
10
+ var _Constants = _interopRequireWildcard(require("./constants"));
11
+
12
+ exports.Constants = _Constants;
13
+
14
+ 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); }
15
+
16
+ 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; }