@atlaskit/reactions 21.8.0 → 22.0.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.
- package/CHANGELOG.md +32 -0
- package/dist/cjs/MockReactionsClient.js +24 -16
- package/dist/cjs/analytics/analytics.js +9 -1
- package/dist/cjs/analytics/ufo.js +24 -2
- package/dist/cjs/components/Counter/Counter.js +16 -20
- package/dist/cjs/components/Reaction/Reaction.js +52 -18
- package/dist/cjs/components/Reaction/styles.js +8 -1
- package/dist/cjs/components/ReactionDialog/ReactionView.js +121 -0
- package/dist/cjs/components/ReactionDialog/ReactionsDialog.js +187 -0
- package/dist/cjs/components/ReactionDialog/ReactionsList.js +104 -0
- package/dist/cjs/components/ReactionDialog/index.js +13 -0
- package/dist/cjs/components/ReactionDialog/styles.js +202 -0
- package/dist/cjs/components/ReactionPicker/ReactionPicker.js +15 -20
- package/dist/cjs/components/ReactionTooltip/ReactionTooltip.js +26 -12
- package/dist/cjs/components/ReactionTooltip/styles.js +11 -2
- package/dist/cjs/components/Reactions/Reactions.js +166 -21
- package/dist/cjs/components/Reactions/styles.js +11 -6
- package/dist/cjs/components/Trigger/Trigger.js +1 -2
- package/dist/cjs/components/index.js +9 -1
- package/dist/cjs/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +6 -2
- package/dist/cjs/containers/ConnectedReactionsView/ConnectedReactionsView.js +9 -4
- package/dist/cjs/shared/constants.js +62 -10
- package/dist/cjs/shared/i18n.js +40 -0
- package/dist/cjs/shared/utils.js +60 -2
- package/dist/cjs/types/reaction.js +13 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/MockReactionsClient.js +22 -14
- package/dist/es2019/analytics/analytics.js +3 -0
- package/dist/es2019/analytics/ufo.js +19 -0
- package/dist/es2019/components/Counter/Counter.js +16 -15
- package/dist/es2019/components/Reaction/Reaction.js +43 -18
- package/dist/es2019/components/Reaction/styles.js +9 -2
- package/dist/es2019/components/ReactionDialog/ReactionView.js +69 -0
- package/dist/es2019/components/ReactionDialog/ReactionsDialog.js +145 -0
- package/dist/es2019/components/ReactionDialog/ReactionsList.js +69 -0
- package/dist/es2019/components/ReactionDialog/index.js +1 -0
- package/dist/es2019/components/ReactionDialog/styles.js +169 -0
- package/dist/es2019/components/ReactionPicker/ReactionPicker.js +12 -20
- package/dist/es2019/components/ReactionTooltip/ReactionTooltip.js +22 -12
- package/dist/es2019/components/ReactionTooltip/styles.js +9 -1
- package/dist/es2019/components/Reactions/Reactions.js +146 -22
- package/dist/es2019/components/Reactions/styles.js +9 -5
- package/dist/es2019/components/Trigger/Trigger.js +1 -2
- package/dist/es2019/components/index.js +2 -1
- package/dist/es2019/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +8 -2
- package/dist/es2019/containers/ConnectedReactionsView/ConnectedReactionsView.js +5 -4
- package/dist/es2019/shared/constants.js +55 -6
- package/dist/es2019/shared/i18n.js +43 -0
- package/dist/es2019/shared/utils.js +51 -0
- package/dist/es2019/types/reaction.js +13 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/MockReactionsClient.js +24 -13
- package/dist/esm/analytics/analytics.js +5 -0
- package/dist/esm/analytics/ufo.js +19 -0
- package/dist/esm/components/Counter/Counter.js +17 -17
- package/dist/esm/components/Reaction/Reaction.js +51 -19
- package/dist/esm/components/Reaction/styles.js +9 -2
- package/dist/esm/components/ReactionDialog/ReactionView.js +98 -0
- package/dist/esm/components/ReactionDialog/ReactionsDialog.js +161 -0
- package/dist/esm/components/ReactionDialog/ReactionsList.js +79 -0
- package/dist/esm/components/ReactionDialog/index.js +1 -0
- package/dist/esm/components/ReactionDialog/styles.js +177 -0
- package/dist/esm/components/ReactionPicker/ReactionPicker.js +15 -20
- package/dist/esm/components/ReactionTooltip/ReactionTooltip.js +26 -12
- package/dist/esm/components/ReactionTooltip/styles.js +9 -1
- package/dist/esm/components/Reactions/Reactions.js +158 -22
- package/dist/esm/components/Reactions/styles.js +9 -5
- package/dist/esm/components/Trigger/Trigger.js +1 -2
- package/dist/esm/components/index.js +2 -1
- package/dist/esm/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +6 -2
- package/dist/esm/containers/ConnectedReactionsView/ConnectedReactionsView.js +8 -4
- package/dist/esm/shared/constants.js +57 -6
- package/dist/esm/shared/i18n.js +40 -0
- package/dist/esm/shared/utils.js +53 -0
- package/dist/esm/types/reaction.js +13 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/MockReactionsClient.d.ts +7 -3
- package/dist/types/analytics/analytics.d.ts +10 -0
- package/dist/types/analytics/ufo.d.ts +18 -2
- package/dist/types/components/Counter/Counter.d.ts +0 -1
- package/dist/types/components/Reaction/Reaction.d.ts +11 -1
- package/dist/types/components/ReactionDialog/ReactionView.d.ts +19 -0
- package/dist/types/components/ReactionDialog/ReactionsDialog.d.ts +32 -0
- package/dist/types/components/ReactionDialog/ReactionsList.d.ts +23 -0
- package/dist/types/components/ReactionDialog/index.d.ts +1 -0
- package/dist/types/components/ReactionDialog/styles.d.ts +11 -0
- package/dist/types/components/ReactionPicker/ReactionPicker.d.ts +5 -0
- package/dist/types/components/ReactionTooltip/ReactionTooltip.d.ts +12 -0
- package/dist/types/components/ReactionTooltip/styles.d.ts +1 -0
- package/dist/types/components/Reactions/Reactions.d.ts +45 -6
- package/dist/types/components/Reactions/styles.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +0 -4
- package/dist/types/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +2 -11
- package/dist/types/index.d.ts +1 -1
- package/dist/types/shared/constants.d.ts +11 -5
- package/dist/types/shared/i18n.d.ts +40 -0
- package/dist/types/shared/utils.d.ts +7 -0
- package/dist/types/types/User.d.ts +10 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/reaction.d.ts +15 -2
- package/docs/0-intro.tsx +3 -0
- package/docs/5-graphql-support.tsx +153 -0
- package/package.json +11 -18
- package/dist/types-ts4.0/MockReactionsClient.d.ts +0 -23
- package/dist/types-ts4.0/analytics/analytics.d.ts +0 -102
- package/dist/types-ts4.0/analytics/constants.d.ts +0 -1
- package/dist/types-ts4.0/analytics/index.d.ts +0 -2
- package/dist/types-ts4.0/analytics/ufo.d.ts +0 -40
- package/dist/types-ts4.0/client/ReactionServiceClient.d.ts +0 -35
- package/dist/types-ts4.0/client/index.d.ts +0 -1
- package/dist/types-ts4.0/components/Counter/Counter.d.ts +0 -45
- package/dist/types-ts4.0/components/Counter/index.d.ts +0 -3
- package/dist/types-ts4.0/components/Counter/styles.d.ts +0 -3
- package/dist/types-ts4.0/components/EmojiButton/EmojiButton.d.ts +0 -22
- package/dist/types-ts4.0/components/EmojiButton/index.d.ts +0 -2
- package/dist/types-ts4.0/components/EmojiButton/styles.d.ts +0 -1
- package/dist/types-ts4.0/components/FlashAnimation/FlashAnimation.d.ts +0 -20
- package/dist/types-ts4.0/components/FlashAnimation/index.d.ts +0 -2
- package/dist/types-ts4.0/components/FlashAnimation/styles.d.ts +0 -5
- package/dist/types-ts4.0/components/Reaction/Reaction.d.ts +0 -38
- package/dist/types-ts4.0/components/Reaction/index.d.ts +0 -2
- package/dist/types-ts4.0/components/Reaction/styles.d.ts +0 -10
- package/dist/types-ts4.0/components/ReactionPicker/ReactionPicker.d.ts +0 -50
- package/dist/types-ts4.0/components/ReactionPicker/index.d.ts +0 -2
- package/dist/types-ts4.0/components/ReactionPicker/styles.d.ts +0 -3
- package/dist/types-ts4.0/components/ReactionTooltip/ReactionTooltip.d.ts +0 -22
- package/dist/types-ts4.0/components/ReactionTooltip/index.d.ts +0 -2
- package/dist/types-ts4.0/components/ReactionTooltip/styles.d.ts +0 -4
- package/dist/types-ts4.0/components/Reactions/Reactions.d.ts +0 -57
- package/dist/types-ts4.0/components/Reactions/index.d.ts +0 -2
- package/dist/types-ts4.0/components/Reactions/styles.d.ts +0 -2
- package/dist/types-ts4.0/components/Selector/Selector.d.ts +0 -34
- package/dist/types-ts4.0/components/Selector/index.d.ts +0 -3
- package/dist/types-ts4.0/components/Selector/styles.d.ts +0 -12
- package/dist/types-ts4.0/components/ShowMore/ShowMore.d.ts +0 -35
- package/dist/types-ts4.0/components/ShowMore/index.d.ts +0 -2
- package/dist/types-ts4.0/components/ShowMore/styles.d.ts +0 -3
- package/dist/types-ts4.0/components/Trigger/Trigger.d.ts +0 -35
- package/dist/types-ts4.0/components/Trigger/index.d.ts +0 -2
- package/dist/types-ts4.0/components/Trigger/styles.d.ts +0 -5
- package/dist/types-ts4.0/components/UfoErrorBoundary/UfoErrorBoundary.d.ts +0 -16
- package/dist/types-ts4.0/components/UfoErrorBoundary/index.d.ts +0 -2
- package/dist/types-ts4.0/components/index.d.ts +0 -8
- package/dist/types-ts4.0/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +0 -27
- package/dist/types-ts4.0/containers/ConnectedReactionPicker/index.d.ts +0 -2
- package/dist/types-ts4.0/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +0 -52
- package/dist/types-ts4.0/containers/ConnectedReactionsView/index.d.ts +0 -2
- package/dist/types-ts4.0/containers/index.d.ts +0 -2
- package/dist/types-ts4.0/hooks/index.d.ts +0 -1
- package/dist/types-ts4.0/hooks/useClickAway.d.ts +0 -9
- package/dist/types-ts4.0/i18n/cs.d.ts +0 -13
- package/dist/types-ts4.0/i18n/da.d.ts +0 -13
- package/dist/types-ts4.0/i18n/de.d.ts +0 -13
- package/dist/types-ts4.0/i18n/en.d.ts +0 -7
- package/dist/types-ts4.0/i18n/en_GB.d.ts +0 -7
- package/dist/types-ts4.0/i18n/en_ZZ.d.ts +0 -13
- package/dist/types-ts4.0/i18n/es.d.ts +0 -13
- package/dist/types-ts4.0/i18n/et.d.ts +0 -12
- package/dist/types-ts4.0/i18n/fi.d.ts +0 -13
- package/dist/types-ts4.0/i18n/fr.d.ts +0 -13
- package/dist/types-ts4.0/i18n/hu.d.ts +0 -13
- package/dist/types-ts4.0/i18n/index.d.ts +0 -35
- package/dist/types-ts4.0/i18n/is.d.ts +0 -6
- package/dist/types-ts4.0/i18n/it.d.ts +0 -13
- package/dist/types-ts4.0/i18n/ja.d.ts +0 -13
- package/dist/types-ts4.0/i18n/ko.d.ts +0 -13
- package/dist/types-ts4.0/i18n/languages.d.ts +0 -27
- package/dist/types-ts4.0/i18n/nb.d.ts +0 -13
- package/dist/types-ts4.0/i18n/nl.d.ts +0 -13
- package/dist/types-ts4.0/i18n/pl.d.ts +0 -13
- package/dist/types-ts4.0/i18n/pt_BR.d.ts +0 -13
- package/dist/types-ts4.0/i18n/pt_PT.d.ts +0 -12
- package/dist/types-ts4.0/i18n/ro.d.ts +0 -6
- package/dist/types-ts4.0/i18n/ru.d.ts +0 -13
- package/dist/types-ts4.0/i18n/sk.d.ts +0 -12
- package/dist/types-ts4.0/i18n/sv.d.ts +0 -13
- package/dist/types-ts4.0/i18n/th.d.ts +0 -13
- package/dist/types-ts4.0/i18n/tr.d.ts +0 -13
- package/dist/types-ts4.0/i18n/uk.d.ts +0 -13
- package/dist/types-ts4.0/i18n/vi.d.ts +0 -13
- package/dist/types-ts4.0/i18n/zh.d.ts +0 -13
- package/dist/types-ts4.0/i18n/zh_TW.d.ts +0 -13
- package/dist/types-ts4.0/index.d.ts +0 -7
- package/dist/types-ts4.0/shared/constants.d.ts +0 -21
- package/dist/types-ts4.0/shared/i18n.d.ts +0 -32
- package/dist/types-ts4.0/shared/index.d.ts +0 -3
- package/dist/types-ts4.0/shared/utils.d.ts +0 -11
- package/dist/types-ts4.0/store/MemoryReactionsStore.d.ts +0 -94
- package/dist/types-ts4.0/store/ReactionConsumer.d.ts +0 -57
- package/dist/types-ts4.0/store/batched.d.ts +0 -2
- package/dist/types-ts4.0/store/index.d.ts +0 -3
- package/dist/types-ts4.0/store/utils.d.ts +0 -11
- package/dist/types-ts4.0/types/Actions.d.ts +0 -27
- package/dist/types-ts4.0/types/Updater.d.ts +0 -1
- package/dist/types-ts4.0/types/User.d.ts +0 -10
- package/dist/types-ts4.0/types/client.d.ts +0 -38
- package/dist/types-ts4.0/types/index.d.ts +0 -7
- package/dist/types-ts4.0/types/reaction.d.ts +0 -100
- package/dist/types-ts4.0/types/store.d.ts +0 -63
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @atlaskit/reactions
|
|
2
2
|
|
|
3
|
+
## 22.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`0617b7ef2aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0617b7ef2aa) - [ux]
|
|
8
|
+
Created a new prop, allowUserDialog, that enables an actionable tooltip link to see
|
|
9
|
+
a detailed breakdown of reacted users. The reactions dialog shows the complete user list for
|
|
10
|
+
the currently selected reaction, as well as, the user list for all other reactions. Can tab or click through the reactions list to see all reactions and user lists.
|
|
11
|
+
|
|
12
|
+
Allow handling of numbers up to 999M and truncate them accordingly.
|
|
13
|
+
1000 => 1K, 1,500 => 1.5K, 1,000,000 => 1M
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- [`cf558ddee28`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cf558ddee28) - [ux] add see who reacted button to view all reacted users in a modal, and make reactions more friendly to keyboard users
|
|
18
|
+
- [`4f5ecac139f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4f5ecac139f) - [ux] Provide `emojiPickerSize` option for reaction picker, including `small`, `medium`, and `large`. Emoji picker will be `medium` size by default, which will show more emojis.
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [`7cfd0383741`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7cfd0383741) - Add UFO metrics for the Reactions Dialog
|
|
23
|
+
- [`ac2824857ec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ac2824857ec) - Reactionspicker - fix onClose event gets triggered on each click inside document
|
|
24
|
+
- [`f84d560bdbd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f84d560bdbd) - make onReactionHover depreacted so it's backwards compatible
|
|
25
|
+
- [`99b7758e403`](https://bitbucket.org/atlassian/atlassian-frontend/commits/99b7758e403) - support pluralization for reactions count message in reactions dialog
|
|
26
|
+
- [`b1e9279b174`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b1e9279b174) - Fixing the closing animation for Reactions dialog window
|
|
27
|
+
- Updated dependencies
|
|
28
|
+
|
|
29
|
+
## 21.8.1
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- Updated dependencies
|
|
34
|
+
|
|
3
35
|
## 21.8.0
|
|
4
36
|
|
|
5
37
|
### Minor Changes
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.simpleMockData = exports.getUser = exports.getReactionSummary = exports.containerAri = exports.ari = exports.MockReactionsClient = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -30,11 +30,12 @@ exports.containerAri = containerAri;
|
|
|
30
30
|
var ari = 'ari:cloud:owner:demo-cloud-id:item/1';
|
|
31
31
|
exports.ari = ari;
|
|
32
32
|
|
|
33
|
-
var getReactionSummary = function getReactionSummary(shortName, count, reacted) {
|
|
33
|
+
var getReactionSummary = function getReactionSummary(shortName, count, reacted, extendedReactions) {
|
|
34
|
+
var getReactionsByShortName = extendedReactions ? _shared.constants.ExtendedReactionsByShortName.get(shortName) : _shared.constants.DefaultReactionsByShortName.get(shortName);
|
|
34
35
|
return {
|
|
35
36
|
ari: ari,
|
|
36
37
|
containerAri: containerAri,
|
|
37
|
-
emojiId:
|
|
38
|
+
emojiId: getReactionsByShortName.id,
|
|
38
39
|
count: count,
|
|
39
40
|
reacted: reacted
|
|
40
41
|
};
|
|
@@ -45,7 +46,10 @@ exports.getReactionSummary = getReactionSummary;
|
|
|
45
46
|
var getUser = function getUser(id, displayName) {
|
|
46
47
|
return {
|
|
47
48
|
id: id,
|
|
48
|
-
displayName: displayName
|
|
49
|
+
displayName: displayName,
|
|
50
|
+
profilePicture: {
|
|
51
|
+
path: 'https://pbs.twimg.com/profile_images/803832195970433027/aaoG6PJI_400x400.jpg'
|
|
52
|
+
}
|
|
49
53
|
};
|
|
50
54
|
};
|
|
51
55
|
|
|
@@ -55,19 +59,20 @@ var getReactionKey = function getReactionKey(containerAri, ari) {
|
|
|
55
59
|
return "".concat(containerAri, "|").concat(ari);
|
|
56
60
|
};
|
|
57
61
|
|
|
58
|
-
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')];
|
|
59
|
-
var
|
|
62
|
+
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'), getUser('bsmith', 'Bob Smith'), getUser('jdoe', 'Jane Doe'), getUser('mhomes', 'Mary Homes'), getUser('ckent', 'Clark Kent')];
|
|
63
|
+
var simpleMockData = (0, _defineProperty2.default)({}, getReactionKey(containerAri, ari), [getReactionSummary(':fire:', 1, true), getReactionSummary(':thumbsup:', 999, false), getReactionSummary(':astonished:', 9, false), getReactionSummary(':heart:', 99, false)]);
|
|
64
|
+
exports.simpleMockData = simpleMockData;
|
|
65
|
+
var extendedMockData = (0, _defineProperty2.default)({}, getReactionKey(containerAri, ari), [getReactionSummary(':fire:', 1, true, true), getReactionSummary(':thumbsup:', 999, false, true), getReactionSummary(':astonished:', 9, false, true), getReactionSummary(':heart:', 99, false, true), getReactionSummary(':thinking:', 10, false, true), getReactionSummary(':clap:', 99, false, true), getReactionSummary(':thumbsdown:', 2, false, true), getReactionSummary(':bulb:', 16, false, true), getReactionSummary(':star:', 9999, false, true), getReactionSummary(':green_heart:', 9, false, true), getReactionSummary(':blue_heart:', 8392, false, true), getReactionSummary(':broken_heart:', 1, false, true), getReactionSummary(':grinning:', 10601, false, true), getReactionSummary(':slight_smile:', 99, false, true)]);
|
|
60
66
|
/**
|
|
61
67
|
* Mocked version of the client to fetch user information
|
|
62
68
|
*/
|
|
63
69
|
|
|
64
|
-
exports.mockData = mockData;
|
|
65
|
-
|
|
66
70
|
var MockReactionsClient = /*#__PURE__*/function () {
|
|
67
71
|
function MockReactionsClient() {
|
|
68
72
|
var _this = this;
|
|
69
73
|
|
|
70
74
|
var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
75
|
+
var showExtendedReactions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
71
76
|
(0, _classCallCheck2.default)(this, MockReactionsClient);
|
|
72
77
|
(0, _defineProperty2.default)(this, "delayPromise", function () {
|
|
73
78
|
return new Promise(function (resolve) {
|
|
@@ -75,12 +80,15 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
75
80
|
});
|
|
76
81
|
});
|
|
77
82
|
this.delay = delay;
|
|
83
|
+
this.mockData = showExtendedReactions ? extendedMockData : simpleMockData;
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
(0, _createClass2.default)(MockReactionsClient, [{
|
|
81
87
|
key: "getReactions",
|
|
82
88
|
value: function () {
|
|
83
89
|
var _getReactions = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(containerAri, aris) {
|
|
90
|
+
var _this2 = this;
|
|
91
|
+
|
|
84
92
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
85
93
|
while (1) {
|
|
86
94
|
switch (_context.prev = _context.next) {
|
|
@@ -91,7 +99,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
91
99
|
case 2:
|
|
92
100
|
return _context.abrupt("return", aris.reduce(function (results, ari) {
|
|
93
101
|
var reactionKey = getReactionKey(containerAri, ari);
|
|
94
|
-
results[ari] = mockData[reactionKey] || [];
|
|
102
|
+
results[ari] = _this2.mockData[reactionKey] || [];
|
|
95
103
|
return results;
|
|
96
104
|
}, {}));
|
|
97
105
|
|
|
@@ -123,7 +131,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
123
131
|
|
|
124
132
|
case 2:
|
|
125
133
|
reactionKey = "".concat(containerAri, "|").concat(ari);
|
|
126
|
-
reactionsMockData = mockData[reactionKey];
|
|
134
|
+
reactionsMockData = this.mockData[reactionKey];
|
|
127
135
|
|
|
128
136
|
if (!reactionsMockData) {
|
|
129
137
|
_context2.next = 9;
|
|
@@ -183,10 +191,10 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
183
191
|
case 2:
|
|
184
192
|
reactionKey = getReactionKey(containerAri, ari);
|
|
185
193
|
found = false;
|
|
186
|
-
reactionsMockData = mockData[reactionKey];
|
|
194
|
+
reactionsMockData = this.mockData[reactionKey];
|
|
187
195
|
|
|
188
196
|
if (reactionsMockData) {
|
|
189
|
-
mockData[reactionKey] = reactionsMockData.map(function (reaction) {
|
|
197
|
+
this.mockData[reactionKey] = reactionsMockData.map(function (reaction) {
|
|
190
198
|
if (reaction.emojiId === emojiId) {
|
|
191
199
|
found = true;
|
|
192
200
|
return _objectSpread(_objectSpread({}, reaction), {}, {
|
|
@@ -200,7 +208,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
200
208
|
}
|
|
201
209
|
|
|
202
210
|
if (!found) {
|
|
203
|
-
mockData[reactionKey] = [].concat((0, _toConsumableArray2.default)(reactionsMockData ? reactionsMockData : []), [{
|
|
211
|
+
this.mockData[reactionKey] = [].concat((0, _toConsumableArray2.default)(reactionsMockData ? reactionsMockData : []), [{
|
|
204
212
|
containerAri: containerAri,
|
|
205
213
|
ari: ari,
|
|
206
214
|
emojiId: emojiId,
|
|
@@ -209,7 +217,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
209
217
|
}]);
|
|
210
218
|
}
|
|
211
219
|
|
|
212
|
-
return _context3.abrupt("return", mockData[reactionKey]);
|
|
220
|
+
return _context3.abrupt("return", this.mockData[reactionKey]);
|
|
213
221
|
|
|
214
222
|
case 8:
|
|
215
223
|
case "end":
|
|
@@ -239,7 +247,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
239
247
|
|
|
240
248
|
case 2:
|
|
241
249
|
reactionKey = getReactionKey(containerAri, ari);
|
|
242
|
-
mockData[reactionKey] = mockData[reactionKey].map(function (reaction) {
|
|
250
|
+
this.mockData[reactionKey] = this.mockData[reactionKey].map(function (reaction) {
|
|
243
251
|
if (reaction.emojiId === emojiId) {
|
|
244
252
|
if (reaction.count === 1) {
|
|
245
253
|
return undefined;
|
|
@@ -255,7 +263,7 @@ var MockReactionsClient = /*#__PURE__*/function () {
|
|
|
255
263
|
}).filter(function (reaction_1) {
|
|
256
264
|
return !!reaction_1;
|
|
257
265
|
});
|
|
258
|
-
return _context4.abrupt("return", mockData[reactionKey]);
|
|
266
|
+
return _context4.abrupt("return", this.mockData[reactionKey]);
|
|
259
267
|
|
|
260
268
|
case 5:
|
|
261
269
|
case "end":
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.extractErrorInfo = exports.createRestSucceededEvent = exports.createRestFailedEvent = exports.createReactionsRenderedEvent = exports.createReactionSelectionEvent = exports.createReactionHoveredEvent = exports.createReactionClickedEvent = exports.createPickerMoreClickedEvent = exports.createPickerCancelledEvent = exports.createPickerButtonClickedEvent = exports.createAndFireSafe = exports.createAndFireEventInElementsChannel = void 0;
|
|
8
|
+
exports.extractErrorInfo = exports.createRestSucceededEvent = exports.createRestFailedEvent = exports.createReactionsRenderedEvent = exports.createReactionSelectionEvent = exports.createReactionHoveredEvent = exports.createReactionFocusedEvent = exports.createReactionClickedEvent = exports.createPickerMoreClickedEvent = exports.createPickerCancelledEvent = exports.createPickerButtonClickedEvent = exports.createAndFireSafe = exports.createAndFireEventInElementsChannel = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -131,6 +131,14 @@ var createReactionHoveredEvent = function createReactionHoveredEvent(startTime)
|
|
|
131
131
|
|
|
132
132
|
exports.createReactionHoveredEvent = createReactionHoveredEvent;
|
|
133
133
|
|
|
134
|
+
var createReactionFocusedEvent = function createReactionFocusedEvent(startTime) {
|
|
135
|
+
return createPayload('focused', 'existingReaction', _analyticsGasTypes.UI_EVENT_TYPE)({
|
|
136
|
+
duration: calculateDuration(startTime)
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
exports.createReactionFocusedEvent = createReactionFocusedEvent;
|
|
141
|
+
|
|
134
142
|
var createReactionClickedEvent = function createReactionClickedEvent(added, emojiId) {
|
|
135
143
|
return createPayload('clicked', 'existingReaction', _analyticsGasTypes.UI_EVENT_TYPE)({
|
|
136
144
|
added: added,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.sampledReactionsRendered = 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.ReactionDialogSelectedReactionChanged = exports.ReactionDialogOpened = exports.ReactionDialogClosed = exports.ReactionDetailsFetch = exports.PickerRender = exports.ExperienceName = exports.ComponentName = void 0;
|
|
7
7
|
|
|
8
8
|
var _ufo = require("@atlaskit/ufo");
|
|
9
9
|
|
|
@@ -40,6 +40,9 @@ exports.ExperienceName = ExperienceName;
|
|
|
40
40
|
ExperienceName["REACTION_ADDED"] = "reaction-added";
|
|
41
41
|
ExperienceName["REACTION_REMOVED"] = "reaction-removed";
|
|
42
42
|
ExperienceName["REACTION_DETAILS_FETCHED"] = "reaction-details-fetched";
|
|
43
|
+
ExperienceName["REACTION_DIALOG_OPENED"] = "reaction-dialog-opened";
|
|
44
|
+
ExperienceName["REACTION_DIALOG_CLOSED"] = "reaction-dialog-closed";
|
|
45
|
+
ExperienceName["REACTION_DIALOG_SELECTED_REACTION_CHANGED"] = "reaction-dialog-selected-reaction-changed";
|
|
43
46
|
})(ExperienceName || (exports.ExperienceName = ExperienceName = {}));
|
|
44
47
|
|
|
45
48
|
var ComponentName;
|
|
@@ -53,6 +56,7 @@ exports.ComponentName = ComponentName;
|
|
|
53
56
|
ComponentName["PICKER_RENDERED"] = "reactions-picker";
|
|
54
57
|
ComponentName["REACTIONS"] = "reactions-list";
|
|
55
58
|
ComponentName["REACTION_ITEM"] = "reaction-item";
|
|
59
|
+
ComponentName["REACTION_DIALOG"] = "reaction-dialog";
|
|
56
60
|
})(ComponentName || (exports.ComponentName = ComponentName = {}));
|
|
57
61
|
|
|
58
62
|
var PickerRender = new _ufo.UFOExperience(ExperienceName.PICKER_OPENED, createExperienceConfig(ComponentName.PICKER_RENDERED, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
@@ -69,10 +73,28 @@ var ReactionsRendered = new _ufo.ConcurrentExperience(ExperienceName.REACTIONS_R
|
|
|
69
73
|
exports.ReactionsRendered = ReactionsRendered;
|
|
70
74
|
var ReactionsAdd = new _ufo.ConcurrentExperience(ExperienceName.REACTION_ADDED, createExperienceConfig(ComponentName.REACTIONS, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
71
75
|
/**
|
|
72
|
-
*
|
|
76
|
+
* Expeirence when a reaction dialog is opened
|
|
73
77
|
*/
|
|
74
78
|
|
|
75
79
|
exports.ReactionsAdd = ReactionsAdd;
|
|
80
|
+
var ReactionDialogOpened = new _ufo.UFOExperience(ExperienceName.REACTION_DIALOG_OPENED, createExperienceConfig(ComponentName.REACTION_DIALOG, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
81
|
+
/**
|
|
82
|
+
* Experience when a reaction dialog is closed
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
exports.ReactionDialogOpened = ReactionDialogOpened;
|
|
86
|
+
var ReactionDialogClosed = new _ufo.UFOExperience(ExperienceName.REACTION_DIALOG_CLOSED, createExperienceConfig(ComponentName.REACTION_DIALOG, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
87
|
+
/**
|
|
88
|
+
* Experience when a reaction changed/fetched from inside the modal dialog
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
exports.ReactionDialogClosed = ReactionDialogClosed;
|
|
92
|
+
var ReactionDialogSelectedReactionChanged = new _ufo.UFOExperience(ExperienceName.REACTION_DIALOG_SELECTED_REACTION_CHANGED, createExperienceConfig(ComponentName.REACTION_DIALOG, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
93
|
+
/**
|
|
94
|
+
* Experience when a reaction details gets fetched
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
exports.ReactionDialogSelectedReactionChanged = ReactionDialogSelectedReactionChanged;
|
|
76
98
|
var ReactionDetailsFetch = new _ufo.ConcurrentExperience(ExperienceName.REACTION_DETAILS_FETCHED, createExperienceConfig(ComponentName.REACTION_ITEM, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
|
|
77
99
|
/**
|
|
78
100
|
* Experience when a reaction emoji gets removed/decrement
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.RENDER_LABEL_TESTID = exports.RENDER_COUNTER_TESTID = exports.RENDER_COMPONENT_WRAPPER = exports.Counter = void 0;
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
|
|
@@ -46,36 +46,32 @@ exports.RENDER_COUNTER_TESTID = RENDER_COUNTER_TESTID;
|
|
|
46
46
|
var RENDER_LABEL_TESTID = 'counter_label_wrapper';
|
|
47
47
|
exports.RENDER_LABEL_TESTID = RENDER_LABEL_TESTID;
|
|
48
48
|
|
|
49
|
-
var getLabel = function getLabel(value, overLimitLabel, limit) {
|
|
50
|
-
// Check if reached limit
|
|
51
|
-
if (limit && value >= limit) {
|
|
52
|
-
return overLimitLabel || '';
|
|
53
|
-
} else if (value === 0) {
|
|
54
|
-
return '';
|
|
55
|
-
} else {
|
|
56
|
-
return value.toString();
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
49
|
/**
|
|
60
50
|
* Display reaction count next to the emoji button
|
|
61
51
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
exports.getLabel = getLabel;
|
|
65
|
-
|
|
66
52
|
var Counter = function Counter(_ref) {
|
|
67
53
|
var _ref$highlight = _ref.highlight,
|
|
68
54
|
highlight = _ref$highlight === void 0 ? false : _ref$highlight,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
_ref$overLimitLabel = _ref.overLimitLabel,
|
|
72
|
-
overLimitLabel = _ref$overLimitLabel === void 0 ? _shared.constants.DEFAULT_OVER_THE_LIMIT_REACTION_LABEL : _ref$overLimitLabel,
|
|
55
|
+
limit = _ref.limit,
|
|
56
|
+
overLimitLabel = _ref.overLimitLabel,
|
|
73
57
|
className = _ref.className,
|
|
74
58
|
value = _ref.value,
|
|
75
59
|
_ref$animationDuratio = _ref.animationDuration,
|
|
76
60
|
animationDuration = _ref$animationDuratio === void 0 ? _motion.mediumDurationMs : _ref$animationDuratio;
|
|
61
|
+
|
|
62
|
+
var getLabel = function getLabel(value) {
|
|
63
|
+
// Check if reached limit
|
|
64
|
+
if (limit && overLimitLabel && value >= limit) {
|
|
65
|
+
return overLimitLabel || '';
|
|
66
|
+
} else if (value === 0) {
|
|
67
|
+
return '';
|
|
68
|
+
} else {
|
|
69
|
+
return _shared.utils.formatLargeNumber(value);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
77
73
|
var previousValue = (0, _usePreviousValue.default)(value);
|
|
78
|
-
var label = getLabel(value
|
|
74
|
+
var label = getLabel(value);
|
|
79
75
|
var increase = previousValue ? previousValue < value : false;
|
|
80
76
|
return (0, _react2.jsx)("div", {
|
|
81
77
|
className: className,
|
|
@@ -56,15 +56,19 @@ var Reaction = function Reaction(_ref) {
|
|
|
56
56
|
var emojiProvider = _ref.emojiProvider,
|
|
57
57
|
onClick = _ref.onClick,
|
|
58
58
|
reaction = _ref.reaction,
|
|
59
|
-
onMouseEnter = _ref.onMouseEnter,
|
|
59
|
+
_ref$onMouseEnter = _ref.onMouseEnter,
|
|
60
|
+
onMouseEnter = _ref$onMouseEnter === void 0 ? function () {} : _ref$onMouseEnter,
|
|
61
|
+
_ref$onFocused = _ref.onFocused,
|
|
62
|
+
onFocused = _ref$onFocused === void 0 ? function () {} : _ref$onFocused,
|
|
60
63
|
className = _ref.className,
|
|
61
64
|
_ref$flash = _ref.flash,
|
|
62
|
-
flash = _ref$flash === void 0 ? false : _ref$flash
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
flash = _ref$flash === void 0 ? false : _ref$flash,
|
|
66
|
+
_ref$handleUserListCl = _ref.handleUserListClick,
|
|
67
|
+
handleUserListClick = _ref$handleUserListCl === void 0 ? function () {} : _ref$handleUserListCl,
|
|
68
|
+
allowUserDialog = _ref.allowUserDialog;
|
|
69
|
+
var intl = (0, _reactIntlNext.useIntl)();
|
|
67
70
|
var hoverStart = (0, _react.useRef)();
|
|
71
|
+
var focusStart = (0, _react.useRef)();
|
|
68
72
|
|
|
69
73
|
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
70
74
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
@@ -72,9 +76,18 @@ var Reaction = function Reaction(_ref) {
|
|
|
72
76
|
var _useState = (0, _react.useState)(),
|
|
73
77
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
74
78
|
emojiName = _useState2[0],
|
|
75
|
-
setEmojiName = _useState2[1];
|
|
76
|
-
// Also optimize in future version to fetch in batch several emojiIds
|
|
79
|
+
setEmojiName = _useState2[1];
|
|
77
80
|
|
|
81
|
+
var _useState3 = (0, _react.useState)(true),
|
|
82
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
83
|
+
isTooltipEnabled = _useState4[0],
|
|
84
|
+
setIsTooltipEnabled = _useState4[1];
|
|
85
|
+
|
|
86
|
+
var emojiId = {
|
|
87
|
+
id: reaction.emojiId,
|
|
88
|
+
shortName: ''
|
|
89
|
+
}; // TODO: Extract the flow to a custom hook to retrieve emoji detailed description from an id using a custom hook. This will benefit a better optimization instead of the emojiProvider resolving everytime.
|
|
90
|
+
// Also optimize in future version to fetch in batch several emojiIds
|
|
78
91
|
|
|
79
92
|
(0, _react.useEffect)(function () {
|
|
80
93
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
@@ -106,7 +119,7 @@ var Reaction = function Reaction(_ref) {
|
|
|
106
119
|
}, _callee);
|
|
107
120
|
}))();
|
|
108
121
|
}, [emojiProvider, reaction.emojiId]);
|
|
109
|
-
var
|
|
122
|
+
var handleClick = (0, _react.useCallback)(function (event) {
|
|
110
123
|
event.preventDefault();
|
|
111
124
|
|
|
112
125
|
if (_shared.utils.isLeftClick(event)) {
|
|
@@ -120,21 +133,40 @@ var Reaction = function Reaction(_ref) {
|
|
|
120
133
|
}, [createAnalyticsEvent, reaction, onClick]);
|
|
121
134
|
var handleMouseEnter = (0, _react.useCallback)(function (event) {
|
|
122
135
|
event.preventDefault();
|
|
136
|
+
setIsTooltipEnabled(true);
|
|
123
137
|
|
|
124
138
|
if (!reaction.users || !reaction.users.length) {
|
|
125
|
-
|
|
139
|
+
focusStart.current = Date.now();
|
|
126
140
|
}
|
|
127
141
|
|
|
128
|
-
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createReactionHoveredEvent,
|
|
142
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createReactionHoveredEvent, focusStart.current);
|
|
129
143
|
|
|
130
|
-
|
|
131
|
-
onMouseEnter(reaction, event);
|
|
132
|
-
}
|
|
144
|
+
onMouseEnter(reaction.emojiId, event);
|
|
133
145
|
}, [createAnalyticsEvent, reaction, onMouseEnter]);
|
|
134
|
-
var
|
|
146
|
+
var handleFocused = (0, _react.useCallback)(function (event) {
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
setIsTooltipEnabled(true);
|
|
149
|
+
|
|
150
|
+
if (!reaction.users || !reaction.users.length) {
|
|
151
|
+
hoverStart.current = Date.now();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createReactionFocusedEvent, hoverStart.current);
|
|
155
|
+
|
|
156
|
+
onFocused(reaction.emojiId, event);
|
|
157
|
+
}, [createAnalyticsEvent, reaction, onFocused]);
|
|
158
|
+
|
|
159
|
+
var handleOpenReactionsDialog = function handleOpenReactionsDialog(emojiId) {
|
|
160
|
+
handleUserListClick(emojiId);
|
|
161
|
+
setIsTooltipEnabled(false);
|
|
162
|
+
};
|
|
163
|
+
|
|
135
164
|
return (0, _react2.jsx)(_ReactionTooltip.ReactionTooltip, {
|
|
136
165
|
emojiName: emojiName,
|
|
137
|
-
reaction: reaction
|
|
166
|
+
reaction: reaction,
|
|
167
|
+
handleUserListClick: handleOpenReactionsDialog,
|
|
168
|
+
allowUserDialog: allowUserDialog,
|
|
169
|
+
isEnabled: isTooltipEnabled
|
|
138
170
|
}, (0, _react2.jsx)("button", {
|
|
139
171
|
className: className,
|
|
140
172
|
css: [styles.reactionStyle, reaction.reacted && styles.reactedStyle],
|
|
@@ -144,8 +176,10 @@ var Reaction = function Reaction(_ref) {
|
|
|
144
176
|
type: "button",
|
|
145
177
|
"data-emoji-id": reaction.emojiId,
|
|
146
178
|
"data-testid": RENDER_REACTION_TESTID,
|
|
147
|
-
|
|
148
|
-
onMouseEnter: handleMouseEnter
|
|
179
|
+
onClick: handleClick,
|
|
180
|
+
onMouseEnter: handleMouseEnter,
|
|
181
|
+
onFocus: handleFocused,
|
|
182
|
+
"data-emoji-button-id": reaction.emojiId
|
|
149
183
|
}, (0, _react2.jsx)(_FlashAnimation.FlashAnimation, {
|
|
150
184
|
flash: flash,
|
|
151
185
|
css: styles.flashStyle
|
|
@@ -30,7 +30,6 @@ var emojiStyle = (0, _react.css)({
|
|
|
30
30
|
});
|
|
31
31
|
exports.emojiStyle = emojiStyle;
|
|
32
32
|
var reactionStyle = (0, _react.css)({
|
|
33
|
-
outline: 'none',
|
|
34
33
|
display: 'flex',
|
|
35
34
|
flexDirection: 'row',
|
|
36
35
|
alignItems: 'flex-start',
|
|
@@ -47,6 +46,13 @@ var reactionStyle = (0, _react.css)({
|
|
|
47
46
|
transition: '200ms ease-in-out',
|
|
48
47
|
'&:hover': {
|
|
49
48
|
background: "".concat((0, _tokens.token)('color.background.neutral.subtle.hovered', _colors.N20))
|
|
49
|
+
},
|
|
50
|
+
'&:focus': {
|
|
51
|
+
boxShadow: "0 0 0 2px ".concat((0, _tokens.token)('color.border.focused', _colors.B100)),
|
|
52
|
+
// background, box-shadow
|
|
53
|
+
transitionDuration: '0s, 0.2s',
|
|
54
|
+
// disabling browser focus outline
|
|
55
|
+
outline: 'none'
|
|
50
56
|
}
|
|
51
57
|
});
|
|
52
58
|
exports.reactionStyle = reactionStyle;
|
|
@@ -64,6 +70,7 @@ exports.flashHeight = flashHeight;
|
|
|
64
70
|
var flashStyle = (0, _react.css)({
|
|
65
71
|
display: 'flex',
|
|
66
72
|
flexDirection: 'row',
|
|
73
|
+
alignItems: 'center',
|
|
67
74
|
borderRadius: '10px',
|
|
68
75
|
height: "".concat(flashHeight, "px")
|
|
69
76
|
});
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ReactionView = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = require("react");
|
|
19
|
+
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
21
|
+
|
|
22
|
+
var _react2 = require("@emotion/react");
|
|
23
|
+
|
|
24
|
+
var _element = require("@atlaskit/emoji/element");
|
|
25
|
+
|
|
26
|
+
var _Avatar = _interopRequireDefault(require("@atlaskit/avatar/Avatar"));
|
|
27
|
+
|
|
28
|
+
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
29
|
+
|
|
30
|
+
var _tabs = require("@atlaskit/tabs");
|
|
31
|
+
|
|
32
|
+
var _shared = require("../../shared");
|
|
33
|
+
|
|
34
|
+
var _styles = require("./styles");
|
|
35
|
+
|
|
36
|
+
/** @jsx jsx */
|
|
37
|
+
var ReactionView = function ReactionView(_ref) {
|
|
38
|
+
var selectedEmojiId = _ref.selectedEmojiId,
|
|
39
|
+
emojiProvider = _ref.emojiProvider,
|
|
40
|
+
reaction = _ref.reaction;
|
|
41
|
+
var intl = (0, _reactIntlNext.useIntl)();
|
|
42
|
+
|
|
43
|
+
var _useState = (0, _react.useState)(''),
|
|
44
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
45
|
+
emojiName = _useState2[0],
|
|
46
|
+
setEmojiName = _useState2[1];
|
|
47
|
+
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
50
|
+
var provider, emoji;
|
|
51
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
52
|
+
while (1) {
|
|
53
|
+
switch (_context.prev = _context.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
_context.next = 2;
|
|
56
|
+
return emojiProvider;
|
|
57
|
+
|
|
58
|
+
case 2:
|
|
59
|
+
provider = _context.sent;
|
|
60
|
+
_context.next = 5;
|
|
61
|
+
return provider.findByEmojiId({
|
|
62
|
+
shortName: '',
|
|
63
|
+
id: selectedEmojiId
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
case 5:
|
|
67
|
+
emoji = _context.sent;
|
|
68
|
+
|
|
69
|
+
if (emoji && emoji.name) {
|
|
70
|
+
setEmojiName(emoji.name);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
case 7:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, _callee);
|
|
79
|
+
}))();
|
|
80
|
+
}, [emojiProvider, selectedEmojiId]);
|
|
81
|
+
var alphabeticalNames = (0, _react.useMemo)(function () {
|
|
82
|
+
var _reactionObj$users;
|
|
83
|
+
|
|
84
|
+
var reactionObj = reaction;
|
|
85
|
+
return ((_reactionObj$users = reactionObj.users) === null || _reactionObj$users === void 0 ? void 0 : _reactionObj$users.sort(function (a, b) {
|
|
86
|
+
return a.displayName.localeCompare(b.displayName);
|
|
87
|
+
})) || [];
|
|
88
|
+
}, [reaction]);
|
|
89
|
+
var tabPanelAttributes = (0, _tabs.useTabPanel)();
|
|
90
|
+
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
91
|
+
css: _styles.reactionViewStyle
|
|
92
|
+
}, tabPanelAttributes), (0, _react2.jsx)("p", null, (0, _react2.jsx)(_element.ResourcedEmoji, {
|
|
93
|
+
emojiProvider: emojiProvider,
|
|
94
|
+
emojiId: {
|
|
95
|
+
id: selectedEmojiId,
|
|
96
|
+
shortName: ''
|
|
97
|
+
},
|
|
98
|
+
fitToHeight: 24
|
|
99
|
+
}), intl.formatMessage(_shared.i18n.messages.emojiName, {
|
|
100
|
+
emojiName: emojiName
|
|
101
|
+
})), alphabeticalNames.length === 0 ? (0, _react2.jsx)("div", {
|
|
102
|
+
css: _styles.centerSpinner
|
|
103
|
+
}, (0, _react2.jsx)(_spinner.default, {
|
|
104
|
+
size: "large"
|
|
105
|
+
})) : (0, _react2.jsx)("ul", {
|
|
106
|
+
css: _styles.userListStyle
|
|
107
|
+
}, alphabeticalNames.map(function (user) {
|
|
108
|
+
var _user$profilePicture;
|
|
109
|
+
|
|
110
|
+
var profile = (_user$profilePicture = user.profilePicture) === null || _user$profilePicture === void 0 ? void 0 : _user$profilePicture.path;
|
|
111
|
+
return (0, _react2.jsx)("li", {
|
|
112
|
+
css: _styles.userStyle,
|
|
113
|
+
key: user.id
|
|
114
|
+
}, (0, _react2.jsx)(_Avatar.default, {
|
|
115
|
+
size: "large",
|
|
116
|
+
src: profile
|
|
117
|
+
}), (0, _react2.jsx)("span", null, user.displayName));
|
|
118
|
+
})));
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
exports.ReactionView = ReactionView;
|