@atlaskit/reactions 21.5.1 → 21.6.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 +11 -0
- package/MockReactionsClient/package.json +7 -0
- package/dist/cjs/{client/MockReactionsClient.js → MockReactionsClient.js} +4 -6
- package/dist/cjs/analytics/analytics.js +141 -0
- package/dist/cjs/analytics/index.js +4 -134
- package/dist/cjs/client/ReactionServiceClient.js +29 -6
- package/dist/cjs/client/index.js +1 -33
- package/dist/cjs/components/{Counter.js → Counter/Counter.js} +32 -39
- package/dist/cjs/components/Counter/index.js +36 -0
- package/dist/cjs/components/Counter/styles.js +33 -0
- package/dist/cjs/components/EmojiButton/EmojiButton.js +58 -0
- package/dist/cjs/components/EmojiButton/index.js +19 -0
- package/dist/cjs/components/EmojiButton/styles.js +25 -0
- package/dist/cjs/components/FlashAnimation/FlashAnimation.js +42 -0
- package/dist/cjs/components/FlashAnimation/index.js +19 -0
- package/dist/cjs/components/{FlashAnimation.js → FlashAnimation/styles.js} +7 -26
- package/dist/cjs/components/Reaction/Reaction.js +163 -0
- package/dist/cjs/components/Reaction/index.js +19 -0
- package/dist/cjs/components/Reaction/styles.js +70 -0
- package/dist/cjs/components/ReactionPicker/ReactionPicker.js +272 -0
- package/dist/cjs/components/ReactionPicker/index.js +19 -0
- package/dist/cjs/components/ReactionPicker/styles.js +37 -0
- package/dist/cjs/components/ReactionTooltip/ReactionTooltip.js +71 -0
- package/dist/cjs/components/ReactionTooltip/index.js +19 -0
- package/dist/cjs/components/ReactionTooltip/styles.js +46 -0
- package/dist/cjs/components/Reactions/Reactions.js +200 -0
- package/dist/cjs/components/Reactions/index.js +25 -0
- package/dist/cjs/components/Reactions/styles.js +29 -0
- package/dist/cjs/components/Selector/Selector.js +132 -0
- package/dist/cjs/components/Selector/index.js +30 -0
- package/dist/cjs/components/Selector/styles.js +56 -0
- package/dist/cjs/components/ShowMore/ShowMore.js +71 -0
- package/dist/cjs/components/ShowMore/index.js +19 -0
- package/dist/cjs/components/ShowMore/styles.js +44 -0
- package/dist/cjs/components/Trigger/Trigger.js +59 -0
- package/dist/cjs/components/Trigger/index.js +13 -0
- package/dist/cjs/components/Trigger/styles.js +46 -0
- package/dist/cjs/components/{UfoErrorBoundary.js → UfoErrorBoundary/UfoErrorBoundary.js} +3 -0
- package/dist/cjs/components/UfoErrorBoundary/index.js +13 -0
- package/dist/cjs/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +62 -0
- package/dist/cjs/containers/ConnectedReactionPicker/index.js +13 -0
- package/dist/cjs/containers/ConnectedReactionsView/ConnectedReactionsView.js +258 -0
- package/dist/cjs/containers/ConnectedReactionsView/index.js +13 -0
- package/dist/cjs/containers/index.js +23 -13
- package/dist/cjs/hooks/index.js +13 -0
- package/dist/cjs/hooks/useClickAway.js +35 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/shared/constants.js +39 -8
- package/dist/cjs/{components → shared}/i18n.js +1 -1
- package/dist/cjs/shared/index.js +11 -3
- package/dist/cjs/shared/utils.js +54 -0
- package/dist/cjs/store/{ReactionsStore.js → MemoryReactionsStore.js} +37 -18
- package/dist/cjs/store/ReactionConsumer.js +43 -15
- package/dist/cjs/store/index.js +8 -2
- package/dist/cjs/store/utils.js +4 -10
- package/dist/cjs/{client/ReactionClient.js → types/client.js} +0 -0
- package/dist/cjs/types/index.js +2 -2
- package/dist/cjs/types/reaction.js +43 -0
- package/dist/cjs/types/{DetailedReaction.js → store.js} +0 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/{client/MockReactionsClient.js → MockReactionsClient.js} +4 -5
- package/dist/es2019/analytics/analytics.js +64 -0
- package/dist/es2019/analytics/index.js +3 -65
- package/dist/es2019/analytics/ufo.js +0 -1
- package/dist/es2019/client/ReactionServiceClient.js +31 -6
- package/dist/es2019/client/index.js +1 -2
- package/dist/es2019/components/{Counter.js → Counter/Counter.js} +26 -31
- package/dist/es2019/components/Counter/index.js +3 -0
- package/dist/es2019/components/Counter/styles.js +20 -0
- package/dist/es2019/components/EmojiButton/EmojiButton.js +35 -0
- package/dist/es2019/components/EmojiButton/index.js +1 -0
- package/dist/es2019/components/EmojiButton/styles.js +16 -0
- package/dist/es2019/components/FlashAnimation/FlashAnimation.js +18 -0
- package/dist/es2019/components/FlashAnimation/index.js +1 -0
- package/dist/es2019/components/{FlashAnimation.js → FlashAnimation/styles.js} +6 -17
- package/dist/es2019/components/Reaction/Reaction.js +104 -0
- package/dist/es2019/components/Reaction/index.js +1 -0
- package/dist/es2019/components/Reaction/styles.js +55 -0
- package/dist/es2019/components/ReactionPicker/ReactionPicker.js +208 -0
- package/dist/es2019/components/ReactionPicker/index.js +1 -0
- package/dist/es2019/components/ReactionPicker/styles.js +23 -0
- package/dist/es2019/components/ReactionTooltip/ReactionTooltip.js +46 -0
- package/dist/es2019/components/ReactionTooltip/index.js +1 -0
- package/dist/es2019/components/ReactionTooltip/styles.js +32 -0
- package/dist/es2019/components/Reactions/Reactions.js +156 -0
- package/dist/es2019/components/Reactions/index.js +1 -0
- package/dist/es2019/components/Reactions/styles.js +19 -0
- package/dist/es2019/components/Selector/Selector.js +98 -0
- package/dist/es2019/components/Selector/index.js +3 -0
- package/dist/es2019/components/Selector/styles.js +39 -0
- package/dist/es2019/components/ShowMore/ShowMore.js +43 -0
- package/dist/es2019/components/ShowMore/index.js +1 -0
- package/dist/es2019/components/ShowMore/styles.js +30 -0
- package/dist/es2019/components/{Trigger.js → Trigger/Trigger.js} +15 -20
- package/dist/es2019/components/Trigger/index.js +1 -0
- package/dist/es2019/components/Trigger/styles.js +24 -0
- package/dist/es2019/components/{UfoErrorBoundary.js → UfoErrorBoundary/UfoErrorBoundary.js} +4 -0
- package/dist/es2019/components/UfoErrorBoundary/index.js +1 -0
- package/dist/es2019/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +27 -0
- package/dist/es2019/containers/ConnectedReactionPicker/index.js +1 -0
- package/dist/es2019/containers/ConnectedReactionsView/ConnectedReactionsView.js +166 -0
- package/dist/es2019/containers/ConnectedReactionsView/index.js +1 -0
- package/dist/es2019/containers/index.js +2 -2
- package/dist/es2019/hooks/index.js +1 -0
- package/dist/es2019/hooks/useClickAway.js +27 -0
- package/dist/es2019/index.js +3 -1
- package/dist/es2019/shared/constants.js +32 -4
- package/dist/es2019/{components → shared}/i18n.js +1 -1
- package/dist/es2019/shared/index.js +6 -2
- package/dist/es2019/shared/utils.js +35 -0
- package/dist/es2019/store/{ReactionsStore.js → MemoryReactionsStore.js} +36 -17
- package/dist/es2019/store/ReactionConsumer.js +18 -12
- package/dist/es2019/store/index.js +1 -1
- package/dist/es2019/store/utils.js +8 -4
- package/dist/es2019/{client/ReactionClient.js → types/client.js} +0 -0
- package/dist/es2019/types/index.js +1 -1
- package/dist/es2019/types/reaction.js +34 -0
- package/dist/es2019/types/{DetailedReaction.js → store.js} +0 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/{client/MockReactionsClient.js → MockReactionsClient.js} +4 -5
- package/dist/esm/analytics/analytics.js +99 -0
- package/dist/esm/analytics/index.js +3 -99
- package/dist/esm/analytics/ufo.js +0 -1
- package/dist/esm/client/ReactionServiceClient.js +30 -6
- package/dist/esm/client/index.js +1 -2
- package/dist/esm/components/{Counter.js → Counter/Counter.js} +26 -31
- package/dist/esm/components/Counter/index.js +3 -0
- package/dist/esm/components/Counter/styles.js +20 -0
- package/dist/esm/components/EmojiButton/EmojiButton.js +35 -0
- package/dist/esm/components/EmojiButton/index.js +1 -0
- package/dist/esm/components/EmojiButton/styles.js +16 -0
- package/dist/esm/components/FlashAnimation/FlashAnimation.js +20 -0
- package/dist/esm/components/FlashAnimation/index.js +1 -0
- package/dist/esm/components/{FlashAnimation.js → FlashAnimation/styles.js} +6 -19
- package/dist/esm/components/Reaction/Reaction.js +131 -0
- package/dist/esm/components/Reaction/index.js +1 -0
- package/dist/esm/components/Reaction/styles.js +55 -0
- package/dist/esm/components/ReactionPicker/ReactionPicker.js +243 -0
- package/dist/esm/components/ReactionPicker/index.js +1 -0
- package/dist/esm/components/ReactionPicker/styles.js +23 -0
- package/dist/esm/components/ReactionTooltip/ReactionTooltip.js +46 -0
- package/dist/esm/components/ReactionTooltip/index.js +1 -0
- package/dist/esm/components/ReactionTooltip/styles.js +32 -0
- package/dist/esm/components/Reactions/Reactions.js +166 -0
- package/dist/esm/components/Reactions/index.js +1 -0
- package/dist/esm/components/Reactions/styles.js +19 -0
- package/dist/esm/components/Selector/Selector.js +107 -0
- package/dist/esm/components/Selector/index.js +3 -0
- package/dist/esm/components/Selector/styles.js +41 -0
- package/dist/esm/components/ShowMore/ShowMore.js +46 -0
- package/dist/esm/components/ShowMore/index.js +1 -0
- package/dist/esm/components/ShowMore/styles.js +30 -0
- package/dist/esm/components/{Trigger.js → Trigger/Trigger.js} +15 -20
- package/dist/esm/components/Trigger/index.js +1 -0
- package/dist/esm/components/Trigger/styles.js +31 -0
- package/dist/esm/components/{UfoErrorBoundary.js → UfoErrorBoundary/UfoErrorBoundary.js} +4 -0
- package/dist/esm/components/UfoErrorBoundary/index.js +1 -0
- package/dist/esm/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +46 -0
- package/dist/esm/containers/ConnectedReactionPicker/index.js +1 -0
- package/dist/esm/containers/ConnectedReactionsView/ConnectedReactionsView.js +227 -0
- package/dist/esm/containers/ConnectedReactionsView/index.js +1 -0
- package/dist/esm/containers/index.js +2 -2
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useClickAway.js +28 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/shared/constants.js +34 -4
- package/dist/esm/{components → shared}/i18n.js +1 -1
- package/dist/esm/shared/index.js +6 -2
- package/dist/esm/shared/utils.js +41 -0
- package/dist/esm/store/{ReactionsStore.js → MemoryReactionsStore.js} +36 -20
- package/dist/esm/store/ReactionConsumer.js +42 -15
- package/dist/esm/store/index.js +1 -1
- package/dist/esm/store/utils.js +8 -4
- package/dist/{es2019/types/ReactionSource.js → esm/types/client.js} +0 -0
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/reaction.js +34 -0
- package/dist/{es2019/types/ReactionSummary.js → esm/types/store.js} +0 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/{client/MockReactionsClient.d.ts → MockReactionsClient.d.ts} +4 -5
- package/dist/types/analytics/analytics.d.ts +96 -0
- package/dist/types/analytics/index.d.ts +1 -96
- package/dist/types/client/ReactionServiceClient.d.ts +27 -10
- package/dist/types/client/index.d.ts +0 -2
- package/dist/types/components/{Counter.d.ts → Counter/Counter.d.ts} +15 -7
- package/dist/types/components/Counter/index.d.ts +3 -0
- package/dist/types/components/Counter/styles.d.ts +3 -0
- package/dist/types/components/EmojiButton/EmojiButton.d.ts +22 -0
- package/dist/types/components/EmojiButton/index.d.ts +2 -0
- package/dist/types/components/EmojiButton/styles.d.ts +1 -0
- package/dist/types/components/FlashAnimation/FlashAnimation.d.ts +20 -0
- package/dist/types/components/FlashAnimation/index.d.ts +2 -0
- package/dist/types/components/FlashAnimation/styles.d.ts +3 -0
- package/dist/types/components/Reaction/Reaction.d.ts +38 -0
- package/dist/types/components/Reaction/index.d.ts +2 -0
- package/dist/types/components/Reaction/styles.d.ts +10 -0
- package/dist/types/components/{ReactionPicker.d.ts → ReactionPicker/ReactionPicker.d.ts} +12 -33
- package/dist/types/components/ReactionPicker/index.d.ts +2 -0
- package/dist/types/components/ReactionPicker/styles.d.ts +3 -0
- package/dist/types/components/ReactionTooltip/ReactionTooltip.d.ts +22 -0
- package/dist/types/components/ReactionTooltip/index.d.ts +2 -0
- package/dist/types/components/ReactionTooltip/styles.d.ts +4 -0
- package/dist/types/components/Reactions/Reactions.d.ts +64 -0
- package/dist/types/components/Reactions/index.d.ts +2 -0
- package/dist/types/components/Reactions/styles.d.ts +2 -0
- package/dist/types/components/Selector/Selector.d.ts +34 -0
- package/dist/types/components/Selector/index.d.ts +3 -0
- package/dist/types/components/Selector/styles.d.ts +10 -0
- package/dist/types/components/{ShowMore.d.ts → ShowMore/ShowMore.d.ts} +14 -13
- package/dist/types/components/ShowMore/index.d.ts +2 -0
- package/dist/types/components/ShowMore/styles.d.ts +3 -0
- package/dist/types/components/Trigger/Trigger.d.ts +23 -0
- package/dist/types/components/Trigger/index.d.ts +2 -0
- package/dist/types/components/Trigger/styles.d.ts +5 -0
- package/dist/types/components/UfoErrorBoundary/UfoErrorBoundary.d.ts +16 -0
- package/dist/types/components/UfoErrorBoundary/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -1
- package/dist/types/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +27 -0
- package/dist/types/containers/ConnectedReactionPicker/index.d.ts +2 -0
- package/dist/types/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +52 -0
- package/dist/types/containers/ConnectedReactionsView/index.d.ts +2 -0
- package/dist/types/containers/index.d.ts +2 -2
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useClickAway.d.ts +8 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/shared/constants.d.ts +13 -3
- package/dist/types/{components → shared}/i18n.d.ts +0 -0
- package/dist/types/shared/index.d.ts +3 -1
- package/dist/types/shared/utils.d.ts +11 -0
- package/dist/types/store/{ReactionsStore.d.ts → MemoryReactionsStore.d.ts} +21 -61
- package/dist/types/store/ReactionConsumer.d.ts +47 -19
- package/dist/types/store/index.d.ts +2 -2
- package/dist/types/store/utils.d.ts +3 -7
- package/dist/types/types/Actions.d.ts +3 -0
- package/dist/types/types/User.d.ts +6 -0
- package/dist/types/types/client.d.ts +38 -0
- package/dist/types/types/index.d.ts +4 -6
- package/dist/types/types/reaction.d.ts +82 -0
- package/dist/types/types/store.d.ts +63 -0
- package/extract-react-type/ConnectedReactionPicker.ts +2 -4
- package/extract-react-type/ConnectedReactionsView.ts +3 -5
- package/extract-react-type/Reaction.ts +2 -4
- package/extract-react-type/Reactions.ts +2 -4
- package/extract-react-type/actions.ts +1 -3
- package/extract-react-type/reactionClient.ts +3 -5
- package/extract-react-type/reactionsStore.ts +3 -5
- package/package.json +21 -5
- package/dist/cjs/components/EmojiButton.js +0 -100
- package/dist/cjs/components/Reaction.js +0 -229
- package/dist/cjs/components/ReactionPicker.js +0 -297
- package/dist/cjs/components/ReactionTooltip.js +0 -82
- package/dist/cjs/components/Reactions.js +0 -194
- package/dist/cjs/components/Selector.js +0 -189
- package/dist/cjs/components/ShowMore.js +0 -119
- package/dist/cjs/components/Trigger.js +0 -58
- package/dist/cjs/components/utils.js +0 -28
- package/dist/cjs/containers/ConnectedReactionPicker.js +0 -53
- package/dist/cjs/containers/ConnectedReactionsView.js +0 -139
- package/dist/cjs/types/ReactionSource.js +0 -5
- package/dist/cjs/types/ReactionStatus.js +0 -19
- package/dist/cjs/types/ReactionSummary.js +0 -5
- package/dist/cjs/types/Reactions.js +0 -5
- package/dist/cjs/types/ReactionsState.js +0 -5
- package/dist/es2019/components/EmojiButton.js +0 -50
- package/dist/es2019/components/Reaction.js +0 -183
- package/dist/es2019/components/ReactionPicker.js +0 -247
- package/dist/es2019/components/ReactionTooltip.js +0 -66
- package/dist/es2019/components/Reactions.js +0 -150
- package/dist/es2019/components/Selector.js +0 -127
- package/dist/es2019/components/ShowMore.js +0 -71
- package/dist/es2019/components/utils.js +0 -13
- package/dist/es2019/containers/ConnectedReactionPicker.js +0 -36
- package/dist/es2019/containers/ConnectedReactionsView.js +0 -118
- package/dist/es2019/types/ReactionStatus.js +0 -11
- package/dist/es2019/types/Reactions.js +0 -1
- package/dist/es2019/types/ReactionsState.js +0 -1
- package/dist/esm/client/ReactionClient.js +0 -1
- package/dist/esm/components/EmojiButton.js +0 -77
- package/dist/esm/components/Reaction.js +0 -207
- package/dist/esm/components/ReactionPicker.js +0 -274
- package/dist/esm/components/ReactionTooltip.js +0 -63
- package/dist/esm/components/Reactions.js +0 -180
- package/dist/esm/components/Selector.js +0 -160
- package/dist/esm/components/ShowMore.js +0 -95
- package/dist/esm/components/utils.js +0 -15
- package/dist/esm/containers/ConnectedReactionPicker.js +0 -38
- package/dist/esm/containers/ConnectedReactionsView.js +0 -116
- package/dist/esm/types/DetailedReaction.js +0 -1
- package/dist/esm/types/ReactionSource.js +0 -1
- package/dist/esm/types/ReactionStatus.js +0 -11
- package/dist/esm/types/ReactionSummary.js +0 -1
- package/dist/esm/types/Reactions.js +0 -1
- package/dist/esm/types/ReactionsState.js +0 -1
- package/dist/types/client/ReactionClient.d.ts +0 -28
- package/dist/types/components/EmojiButton.d.ts +0 -21
- package/dist/types/components/FlashAnimation.d.ts +0 -18
- package/dist/types/components/Reaction.d.ts +0 -44
- package/dist/types/components/ReactionTooltip.d.ts +0 -14
- package/dist/types/components/Reactions.d.ts +0 -83
- package/dist/types/components/Selector.d.ts +0 -39
- package/dist/types/components/Trigger.d.ts +0 -16
- package/dist/types/components/UfoErrorBoundary.d.ts +0 -9
- package/dist/types/components/utils.d.ts +0 -4
- package/dist/types/containers/ConnectedReactionPicker.d.ts +0 -16
- package/dist/types/containers/ConnectedReactionsView.d.ts +0 -31
- package/dist/types/types/DetailedReaction.d.ts +0 -7
- package/dist/types/types/ReactionSource.d.ts +0 -4
- package/dist/types/types/ReactionStatus.d.ts +0 -9
- package/dist/types/types/ReactionSummary.d.ts +0 -10
- package/dist/types/types/Reactions.d.ts +0 -4
- package/dist/types/types/ReactionsState.d.ts +0 -20
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.ReactionPicker = exports.RENDER_REACTIONPICKER_TESTID = void 0;
|
|
11
|
+
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _core = require("@emotion/core");
|
|
23
|
+
|
|
24
|
+
var _picker = require("@atlaskit/emoji/picker");
|
|
25
|
+
|
|
26
|
+
var _popper = require("@atlaskit/popper");
|
|
27
|
+
|
|
28
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
29
|
+
|
|
30
|
+
var _Selector = require("../Selector");
|
|
31
|
+
|
|
32
|
+
var _Trigger = require("../Trigger");
|
|
33
|
+
|
|
34
|
+
var _analytics = require("../../analytics");
|
|
35
|
+
|
|
36
|
+
var _hooks = require("../../hooks");
|
|
37
|
+
|
|
38
|
+
var styles = _interopRequireWildcard(require("./styles"));
|
|
39
|
+
|
|
40
|
+
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); }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
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; }
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Test id for wrapper ReactionPicker div
|
|
50
|
+
*/
|
|
51
|
+
var RENDER_REACTIONPICKER_TESTID = 'reactionPicker-testid';
|
|
52
|
+
exports.RENDER_REACTIONPICKER_TESTID = RENDER_REACTIONPICKER_TESTID;
|
|
53
|
+
var popperModifiers = [
|
|
54
|
+
/**
|
|
55
|
+
Removing this applyStyle modifier as it throws client errors ref:
|
|
56
|
+
https://popper.js.org/docs/v1/#modifiers
|
|
57
|
+
https://popper.js.org/docs/v1/#modifiers..applyStyle
|
|
58
|
+
{ name: 'applyStyle', enabled: false },
|
|
59
|
+
*/
|
|
60
|
+
{
|
|
61
|
+
name: 'hide',
|
|
62
|
+
enabled: false
|
|
63
|
+
}, {
|
|
64
|
+
name: 'offset',
|
|
65
|
+
enabled: true,
|
|
66
|
+
options: {
|
|
67
|
+
offset: [0, 0]
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
name: 'flip',
|
|
71
|
+
enabled: true,
|
|
72
|
+
options: {
|
|
73
|
+
flipVariations: true,
|
|
74
|
+
boundariesElement: 'scrollParent'
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
name: 'preventOverflow',
|
|
78
|
+
enabled: true
|
|
79
|
+
}];
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Picker component for adding reactions
|
|
83
|
+
*/
|
|
84
|
+
var ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
|
|
85
|
+
var miniMode = props.miniMode,
|
|
86
|
+
className = props.className,
|
|
87
|
+
emojiProvider = props.emojiProvider,
|
|
88
|
+
onSelection = props.onSelection,
|
|
89
|
+
allowAllEmojis = props.allowAllEmojis,
|
|
90
|
+
disabled = props.disabled,
|
|
91
|
+
pickerQuickReactionEmojiIds = props.pickerQuickReactionEmojiIds,
|
|
92
|
+
onShowMore = props.onShowMore,
|
|
93
|
+
onOpen = props.onOpen,
|
|
94
|
+
onCancel = props.onCancel;
|
|
95
|
+
/**
|
|
96
|
+
* Container <div /> reference (used by custom hook to detect click outside)
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
var wrapperRef = (0, _react.useRef)(null);
|
|
100
|
+
/**
|
|
101
|
+
* a function you can ask Popper to recompute your tooltip's position. It will directly call the Popper#update method
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
var updatePopper = (0, _react.useRef)(function () {
|
|
105
|
+
return Promise.resolve();
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
var _useState = (0, _react.useState)({
|
|
109
|
+
/**
|
|
110
|
+
* Show the picker floating panel
|
|
111
|
+
*/
|
|
112
|
+
isOpen: false,
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Show the full custom emoji list picker or the default list of emojis
|
|
116
|
+
*/
|
|
117
|
+
showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0
|
|
118
|
+
}),
|
|
119
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
120
|
+
settings = _useState2[0],
|
|
121
|
+
setSettings = _useState2[1];
|
|
122
|
+
/**
|
|
123
|
+
* Custom hook triggers when user clicks outside the reactions picker
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
(0, _hooks.useClickAway)(wrapperRef, function () {
|
|
128
|
+
if (onCancel) {
|
|
129
|
+
onCancel();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
close();
|
|
133
|
+
});
|
|
134
|
+
/**
|
|
135
|
+
* Event callback when the picker is closed
|
|
136
|
+
* @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
|
|
137
|
+
*/
|
|
138
|
+
|
|
139
|
+
var close = (0, _react.useCallback)(function (_id) {
|
|
140
|
+
setSettings({
|
|
141
|
+
isOpen: false,
|
|
142
|
+
showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0
|
|
143
|
+
}); // ufo abort reaction experience
|
|
144
|
+
|
|
145
|
+
_analytics.UFO.PickerRender.abort({
|
|
146
|
+
metadata: {
|
|
147
|
+
emojiId: _id,
|
|
148
|
+
source: 'Reaction-Picker',
|
|
149
|
+
reason: 'close dialog'
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}, [allowAllEmojis, pickerQuickReactionEmojiIds]);
|
|
153
|
+
/**
|
|
154
|
+
* Event handle rwhen selecting to show the custom emoji icons picker
|
|
155
|
+
* @param e event param
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
var onSelectMoreClick = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
159
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
|
|
160
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
161
|
+
while (1) {
|
|
162
|
+
switch (_context.prev = _context.next) {
|
|
163
|
+
case 0:
|
|
164
|
+
e.preventDefault();
|
|
165
|
+
_context.next = 3;
|
|
166
|
+
return updatePopper.current();
|
|
167
|
+
|
|
168
|
+
case 3:
|
|
169
|
+
// Update popper position
|
|
170
|
+
setSettings({
|
|
171
|
+
isOpen: true,
|
|
172
|
+
showFullPicker: true
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
if (onShowMore) {
|
|
176
|
+
onShowMore();
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
case 5:
|
|
180
|
+
case "end":
|
|
181
|
+
return _context.stop();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}, _callee);
|
|
185
|
+
}));
|
|
186
|
+
|
|
187
|
+
return function (_x) {
|
|
188
|
+
return _ref.apply(this, arguments);
|
|
189
|
+
};
|
|
190
|
+
}(), [onShowMore]);
|
|
191
|
+
/**
|
|
192
|
+
* Event callback when an emoji icon is selected
|
|
193
|
+
* @param item selected item
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
var onEmojiSelected = (0, _react.useCallback)(function (item) {
|
|
197
|
+
// no emoji was selected
|
|
198
|
+
if (!item.id) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
onSelection(item.id, settings.showFullPicker ? 'emojiPicker' : 'quickSelector');
|
|
203
|
+
close(item.id);
|
|
204
|
+
}, [close, onSelection, settings.showFullPicker]);
|
|
205
|
+
/**
|
|
206
|
+
* Event handler when the emoji icon to open the custom picker is selected
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
var onTriggerClick = function onTriggerClick() {
|
|
210
|
+
// ufo start reactions picker open experience
|
|
211
|
+
_analytics.UFO.PickerRender.start();
|
|
212
|
+
|
|
213
|
+
setSettings({
|
|
214
|
+
isOpen: !settings.isOpen,
|
|
215
|
+
showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
if (onOpen) {
|
|
219
|
+
onOpen();
|
|
220
|
+
} // ufo reactions picker opened success
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
_analytics.UFO.PickerRender.success();
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
var wrapperClassName = " ".concat(settings.isOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
|
|
227
|
+
return (0, _core.jsx)("div", {
|
|
228
|
+
className: wrapperClassName,
|
|
229
|
+
css: styles.pickerStyle,
|
|
230
|
+
ref: wrapperRef,
|
|
231
|
+
"data-testid": RENDER_REACTIONPICKER_TESTID
|
|
232
|
+
}, (0, _core.jsx)(_popper.Manager, null, (0, _core.jsx)(_popper.Reference, null, function (_ref2) {
|
|
233
|
+
var popperRef = _ref2.ref;
|
|
234
|
+
return (// Render a button to open the <Selector /> panel
|
|
235
|
+
(0, _core.jsx)(_Trigger.Trigger, {
|
|
236
|
+
ref: popperRef,
|
|
237
|
+
onClick: onTriggerClick,
|
|
238
|
+
miniMode: miniMode,
|
|
239
|
+
disabled: disabled
|
|
240
|
+
})
|
|
241
|
+
);
|
|
242
|
+
}), (0, _core.jsx)(_popper.Popper, {
|
|
243
|
+
placement: "bottom-start",
|
|
244
|
+
modifiers: popperModifiers
|
|
245
|
+
}, function (_ref3) {
|
|
246
|
+
var ref = _ref3.ref,
|
|
247
|
+
style = _ref3.style,
|
|
248
|
+
update = _ref3.update;
|
|
249
|
+
updatePopper.current = update;
|
|
250
|
+
return (0, _core.jsx)(_react.Fragment, null, settings.isOpen && (0, _core.jsx)("div", {
|
|
251
|
+
style: _objectSpread({
|
|
252
|
+
zIndex: _constants.layers.layer()
|
|
253
|
+
}, style),
|
|
254
|
+
ref: ref
|
|
255
|
+
}, (0, _core.jsx)("div", {
|
|
256
|
+
css: styles.popupStyle
|
|
257
|
+
}, settings.showFullPicker ? (0, _core.jsx)(_picker.EmojiPicker, {
|
|
258
|
+
emojiProvider: emojiProvider,
|
|
259
|
+
onSelection: onEmojiSelected
|
|
260
|
+
}) : (0, _core.jsx)("div", {
|
|
261
|
+
css: styles.contentStyle
|
|
262
|
+
}, (0, _core.jsx)(_Selector.Selector, {
|
|
263
|
+
emojiProvider: emojiProvider,
|
|
264
|
+
onSelection: onEmojiSelected,
|
|
265
|
+
showMore: allowAllEmojis,
|
|
266
|
+
onMoreClick: onSelectMoreClick,
|
|
267
|
+
pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds
|
|
268
|
+
})))));
|
|
269
|
+
})));
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
exports.ReactionPicker = ReactionPicker;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RENDER_REACTIONPICKER_TESTID", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _ReactionPicker.RENDER_REACTIONPICKER_TESTID;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ReactionPicker", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _ReactionPicker.ReactionPicker;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _ReactionPicker = require("./ReactionPicker");
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.popupStyle = exports.pickerStyle = exports.contentStyle = void 0;
|
|
7
|
+
|
|
8
|
+
var _core = require("@emotion/core");
|
|
9
|
+
|
|
10
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
11
|
+
|
|
12
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
13
|
+
|
|
14
|
+
var _tokens = require("@atlaskit/tokens");
|
|
15
|
+
|
|
16
|
+
/** @jsx jsx */
|
|
17
|
+
var pickerStyle = (0, _core.css)({
|
|
18
|
+
verticalAlign: 'middle',
|
|
19
|
+
'&.miniMode': {
|
|
20
|
+
display: 'inline-block',
|
|
21
|
+
marginRight: '4px'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
exports.pickerStyle = pickerStyle;
|
|
25
|
+
var contentStyle = (0, _core.css)({
|
|
26
|
+
display: 'flex'
|
|
27
|
+
});
|
|
28
|
+
exports.contentStyle = contentStyle;
|
|
29
|
+
var popupStyle = (0, _core.css)({
|
|
30
|
+
background: (0, _tokens.token)('elevation.surface.overlay', _colors.N0),
|
|
31
|
+
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
32
|
+
boxShadow: (0, _tokens.token)('elevation.shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A)),
|
|
33
|
+
'&> div': {
|
|
34
|
+
boxShadow: undefined
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
exports.popupStyle = popupStyle;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.ReactionTooltip = exports.RENDER_REACTIONTOOLTIP_TESTID = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _core = require("@emotion/core");
|
|
17
|
+
|
|
18
|
+
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
19
|
+
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
21
|
+
|
|
22
|
+
var _shared = require("../../shared");
|
|
23
|
+
|
|
24
|
+
var styles = _interopRequireWildcard(require("./styles"));
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
/** @jsx jsx */
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Test id for wrapper ReactionTooltip div
|
|
34
|
+
*/
|
|
35
|
+
var RENDER_REACTIONTOOLTIP_TESTID = 'render-reactionTooltip';
|
|
36
|
+
exports.RENDER_REACTIONTOOLTIP_TESTID = RENDER_REACTIONTOOLTIP_TESTID;
|
|
37
|
+
|
|
38
|
+
var ReactionTooltip = function ReactionTooltip(_ref) {
|
|
39
|
+
var emojiName = _ref.emojiName,
|
|
40
|
+
children = _ref.children,
|
|
41
|
+
_ref$maxReactions = _ref.maxReactions,
|
|
42
|
+
maxReactions = _ref$maxReactions === void 0 ? _shared.constants.TOOLTIP_USERS_LIMIT : _ref$maxReactions,
|
|
43
|
+
_ref$reaction$users = _ref.reaction.users,
|
|
44
|
+
users = _ref$reaction$users === void 0 ? [] : _ref$reaction$users;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Render list of users in the tooltip box
|
|
48
|
+
*/
|
|
49
|
+
var content = !users || users.length === 0 ? null : (0, _core.jsx)("div", {
|
|
50
|
+
css: styles.tooltipStyle
|
|
51
|
+
}, (0, _core.jsx)("ul", null, emojiName ? (0, _core.jsx)("li", {
|
|
52
|
+
css: styles.emojiNameStyle
|
|
53
|
+
}, emojiName) : null, users.slice(0, maxReactions).map(function (user, index) {
|
|
54
|
+
return (0, _core.jsx)("li", {
|
|
55
|
+
key: index
|
|
56
|
+
}, user.displayName);
|
|
57
|
+
}), users.length > maxReactions ? (0, _core.jsx)("li", {
|
|
58
|
+
css: styles.footerStyle
|
|
59
|
+
}, (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _shared.i18n.messages.otherUsers, {
|
|
60
|
+
values: {
|
|
61
|
+
count: users.length - maxReactions
|
|
62
|
+
}
|
|
63
|
+
}))) : null));
|
|
64
|
+
return (0, _core.jsx)(_tooltip.default, {
|
|
65
|
+
content: content,
|
|
66
|
+
position: "bottom",
|
|
67
|
+
"data-testid": RENDER_REACTIONTOOLTIP_TESTID
|
|
68
|
+
}, _react.default.Children.only(children));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
exports.ReactionTooltip = ReactionTooltip;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RENDER_REACTIONTOOLTIP_TESTID", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _ReactionTooltip.RENDER_REACTIONTOOLTIP_TESTID;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ReactionTooltip", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _ReactionTooltip.ReactionTooltip;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _ReactionTooltip = require("./ReactionTooltip");
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.verticalMargin = exports.tooltipStyle = exports.footerStyle = exports.emojiNameStyle = void 0;
|
|
7
|
+
|
|
8
|
+
var _core = require("@emotion/core");
|
|
9
|
+
|
|
10
|
+
var _tokens = require("@atlaskit/tokens");
|
|
11
|
+
|
|
12
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
13
|
+
|
|
14
|
+
/** @jsx jsx */
|
|
15
|
+
var verticalMargin = 5;
|
|
16
|
+
exports.verticalMargin = verticalMargin;
|
|
17
|
+
var tooltipStyle = (0, _core.css)({
|
|
18
|
+
maxWidth: '150px',
|
|
19
|
+
textOverflow: 'ellipsis',
|
|
20
|
+
whiteSpace: 'nowrap',
|
|
21
|
+
overflow: 'hidden',
|
|
22
|
+
marginBottom: verticalMargin,
|
|
23
|
+
ul: {
|
|
24
|
+
listStyle: 'none',
|
|
25
|
+
margin: 0,
|
|
26
|
+
padding: 0,
|
|
27
|
+
textAlign: 'left'
|
|
28
|
+
},
|
|
29
|
+
li: {
|
|
30
|
+
overflow: 'hidden',
|
|
31
|
+
textOverflow: 'ellipsis',
|
|
32
|
+
marginTop: verticalMargin
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
exports.tooltipStyle = tooltipStyle;
|
|
36
|
+
var emojiNameStyle = (0, _core.css)({
|
|
37
|
+
textTransform: 'capitalize',
|
|
38
|
+
color: (0, _tokens.token)('color.text.inverse', _colors.N90),
|
|
39
|
+
fontWeight: 600
|
|
40
|
+
});
|
|
41
|
+
exports.emojiNameStyle = emojiNameStyle;
|
|
42
|
+
var footerStyle = (0, _core.css)({
|
|
43
|
+
color: (0, _tokens.token)('color.text.inverse', _colors.N90),
|
|
44
|
+
fontWeight: 300
|
|
45
|
+
});
|
|
46
|
+
exports.footerStyle = footerStyle;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.Reactions = exports.RENDER_TOOLTIP_TESTID = exports.RENDER_REACTIONS_TESTID = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _core = require("@emotion/core");
|
|
15
|
+
|
|
16
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
17
|
+
|
|
18
|
+
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
19
|
+
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
21
|
+
|
|
22
|
+
var _analytics = require("../../analytics");
|
|
23
|
+
|
|
24
|
+
var _types = require("../../types");
|
|
25
|
+
|
|
26
|
+
var _shared = require("../../shared");
|
|
27
|
+
|
|
28
|
+
var _Reaction = require("../Reaction");
|
|
29
|
+
|
|
30
|
+
var _ReactionPicker = require("../ReactionPicker");
|
|
31
|
+
|
|
32
|
+
var styles = _interopRequireWildcard(require("./styles"));
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
+
|
|
38
|
+
/** @jsx jsx */
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Test id for wrapper Reactions div
|
|
42
|
+
*/
|
|
43
|
+
var RENDER_REACTIONS_TESTID = 'render-reactions';
|
|
44
|
+
/**
|
|
45
|
+
* Test id for the tooltip
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
exports.RENDER_REACTIONS_TESTID = RENDER_REACTIONS_TESTID;
|
|
49
|
+
var RENDER_TOOLTIP_TESTID = 'render-tooltip';
|
|
50
|
+
exports.RENDER_TOOLTIP_TESTID = RENDER_TOOLTIP_TESTID;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Renders list of reactions
|
|
54
|
+
*/
|
|
55
|
+
var Reactions = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
56
|
+
var _ref$flash = _ref.flash,
|
|
57
|
+
flash = _ref$flash === void 0 ? {} : _ref$flash,
|
|
58
|
+
status = _ref.status,
|
|
59
|
+
errorMessage = _ref.errorMessage,
|
|
60
|
+
loadReaction = _ref.loadReaction,
|
|
61
|
+
quickReactionEmojiIds = _ref.quickReactionEmojiIds,
|
|
62
|
+
containerAri = _ref.containerAri,
|
|
63
|
+
ari = _ref.ari,
|
|
64
|
+
pickerQuickReactionEmojiIds = _ref.pickerQuickReactionEmojiIds,
|
|
65
|
+
onReactionHover = _ref.onReactionHover,
|
|
66
|
+
onSelection = _ref.onSelection,
|
|
67
|
+
_ref$reactions = _ref.reactions,
|
|
68
|
+
reactions = _ref$reactions === void 0 ? [] : _ref$reactions,
|
|
69
|
+
emojiProvider = _ref.emojiProvider,
|
|
70
|
+
allowAllEmojis = _ref.allowAllEmojis,
|
|
71
|
+
onReactionClick = _ref.onReactionClick;
|
|
72
|
+
|
|
73
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
74
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
75
|
+
|
|
76
|
+
var openTime = (0, _react.useRef)();
|
|
77
|
+
var renderTime = (0, _react.useRef)();
|
|
78
|
+
|
|
79
|
+
if (status !== _types.ReactionStatus.ready) {
|
|
80
|
+
renderTime.current = Date.now();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
(0, _react.useEffect)(function () {
|
|
84
|
+
if (status === _types.ReactionStatus.notLoaded) {
|
|
85
|
+
loadReaction();
|
|
86
|
+
}
|
|
87
|
+
}, [status, loadReaction]);
|
|
88
|
+
(0, _react.useEffect)(function () {
|
|
89
|
+
if (status === _types.ReactionStatus.ready && renderTime.current) {
|
|
90
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createReactionsRenderedEvent, renderTime.current);
|
|
91
|
+
|
|
92
|
+
renderTime.current = undefined;
|
|
93
|
+
}
|
|
94
|
+
}, [createAnalyticsEvent, status]);
|
|
95
|
+
/**
|
|
96
|
+
* Get content of the tooltip
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
var getTooltip = function getTooltip() {
|
|
100
|
+
switch (status) {
|
|
101
|
+
case _types.ReactionStatus.error:
|
|
102
|
+
return errorMessage || (0, _core.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.unexpectedError);
|
|
103
|
+
|
|
104
|
+
case _types.ReactionStatus.loading:
|
|
105
|
+
case _types.ReactionStatus.notLoaded:
|
|
106
|
+
return (0, _core.jsx)(_reactIntlNext.FormattedMessage, _shared.i18n.messages.loadingReactions);
|
|
107
|
+
|
|
108
|
+
default:
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
var handleReactionMouseEnter = function handleReactionMouseEnter(summary) {
|
|
114
|
+
if (onReactionHover) {
|
|
115
|
+
onReactionHover(summary.emojiId);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
var handlePickerOpen = (0, _react.useCallback)(function () {
|
|
120
|
+
openTime.current = Date.now();
|
|
121
|
+
|
|
122
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createPickerButtonClickedEvent, reactions.length);
|
|
123
|
+
}, [createAnalyticsEvent, reactions]);
|
|
124
|
+
var handleOnCancel = (0, _react.useCallback)(function () {
|
|
125
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createPickerCancelledEvent, openTime.current);
|
|
126
|
+
|
|
127
|
+
openTime.current = undefined;
|
|
128
|
+
}, [createAnalyticsEvent]);
|
|
129
|
+
var handleOnMore = (0, _react.useCallback)(function () {
|
|
130
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createPickerMoreClickedEvent, openTime.current);
|
|
131
|
+
}, [createAnalyticsEvent]);
|
|
132
|
+
var handleOnSelection = (0, _react.useCallback)(function (emojiId, source) {
|
|
133
|
+
_analytics.Analytics.createAndFireSafe(createAnalyticsEvent, _analytics.Analytics.createReactionSelectionEvent, source, emojiId, reactions.find(function (reaction) {
|
|
134
|
+
return reaction.emojiId === emojiId;
|
|
135
|
+
}), openTime.current);
|
|
136
|
+
|
|
137
|
+
openTime.current = undefined;
|
|
138
|
+
onSelection(emojiId);
|
|
139
|
+
}, [createAnalyticsEvent, onSelection, reactions]);
|
|
140
|
+
/**
|
|
141
|
+
* Get the reactions that we want to render are any reactions with a count greater than zero as well as any default emoji not already shown
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
var memorizedReactions = (0, _react.useMemo)(function () {
|
|
145
|
+
//
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* If reactions not empty, don't show quick reactions Pre defined emoji or if its empty => return the current list of reactions
|
|
149
|
+
*/
|
|
150
|
+
if (reactions.length > 0 || !quickReactionEmojiIds) {
|
|
151
|
+
return reactions;
|
|
152
|
+
} // add any missing default reactions
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
var items = quickReactionEmojiIds.filter(function (emojiId) {
|
|
156
|
+
return !reactions.some(function (reaction) {
|
|
157
|
+
return reaction.emojiId === emojiId;
|
|
158
|
+
});
|
|
159
|
+
}).map(function (emojiId) {
|
|
160
|
+
return {
|
|
161
|
+
ari: ari,
|
|
162
|
+
containerAri: containerAri,
|
|
163
|
+
emojiId: emojiId,
|
|
164
|
+
count: 0,
|
|
165
|
+
reacted: false
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
return reactions.concat(items);
|
|
169
|
+
}, [ari, containerAri, quickReactionEmojiIds, reactions]);
|
|
170
|
+
return (0, _core.jsx)("div", {
|
|
171
|
+
css: styles.wrapperStyle,
|
|
172
|
+
"data-testid": RENDER_REACTIONS_TESTID
|
|
173
|
+
}, memorizedReactions.map(function (reaction) {
|
|
174
|
+
return (0, _core.jsx)(_Reaction.Reaction, {
|
|
175
|
+
key: reaction.emojiId,
|
|
176
|
+
css: styles.reactionStyle,
|
|
177
|
+
reaction: reaction,
|
|
178
|
+
emojiProvider: emojiProvider,
|
|
179
|
+
onClick: onReactionClick,
|
|
180
|
+
onMouseEnter: handleReactionMouseEnter,
|
|
181
|
+
flash: flash[reaction.emojiId]
|
|
182
|
+
});
|
|
183
|
+
}), (0, _core.jsx)(_tooltip.default, {
|
|
184
|
+
testId: RENDER_TOOLTIP_TESTID,
|
|
185
|
+
content: getTooltip()
|
|
186
|
+
}, (0, _core.jsx)(_ReactionPicker.ReactionPicker, {
|
|
187
|
+
css: styles.reactionStyle,
|
|
188
|
+
emojiProvider: emojiProvider,
|
|
189
|
+
miniMode: true,
|
|
190
|
+
allowAllEmojis: allowAllEmojis,
|
|
191
|
+
pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds,
|
|
192
|
+
disabled: status !== _types.ReactionStatus.ready,
|
|
193
|
+
onSelection: handleOnSelection,
|
|
194
|
+
onOpen: handlePickerOpen,
|
|
195
|
+
onCancel: handleOnCancel,
|
|
196
|
+
onShowMore: handleOnMore
|
|
197
|
+
})));
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
exports.Reactions = Reactions;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "RENDER_REACTIONS_TESTID", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Reactions.RENDER_REACTIONS_TESTID;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "RENDER_TOOLTIP_TESTID", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _Reactions.RENDER_TOOLTIP_TESTID;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "Reactions", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _Reactions.Reactions;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _Reactions = require("./Reactions");
|