@atlaskit/reactions 31.5.2 → 31.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/analytics/index.js +1 -1
  3. package/dist/cjs/components/EmojiButton.compiled.css +14 -2
  4. package/dist/cjs/components/EmojiButton.js +8 -4
  5. package/dist/cjs/components/Reaction.js +2 -1
  6. package/dist/cjs/components/ReactionParticleEffect.js +2 -1
  7. package/dist/cjs/components/ReactionPicker.js +115 -45
  8. package/dist/cjs/components/ReactionSummaryButton.js +2 -1
  9. package/dist/cjs/components/Reactions.js +3 -1
  10. package/dist/cjs/components/ReactionsDialogHeader.js +2 -1
  11. package/dist/cjs/components/RepositionOnUpdate.js +3 -2
  12. package/dist/cjs/components/Selector.compiled.css +2 -1
  13. package/dist/cjs/components/Selector.js +30 -9
  14. package/dist/cjs/components/Trigger.js +6 -3
  15. package/dist/cjs/hooks/useDelayedState.js +1 -1
  16. package/dist/cjs/shared/constants.js +5 -2
  17. package/dist/cjs/shared/i18n.js +5 -0
  18. package/dist/es2019/analytics/index.js +1 -1
  19. package/dist/es2019/components/EmojiButton.compiled.css +14 -2
  20. package/dist/es2019/components/EmojiButton.js +8 -4
  21. package/dist/es2019/components/Reaction.js +2 -1
  22. package/dist/es2019/components/ReactionParticleEffect.js +2 -1
  23. package/dist/es2019/components/ReactionPicker.js +90 -35
  24. package/dist/es2019/components/ReactionSummaryButton.js +2 -1
  25. package/dist/es2019/components/Reactions.js +3 -1
  26. package/dist/es2019/components/ReactionsDialogHeader.js +2 -1
  27. package/dist/es2019/components/RepositionOnUpdate.js +3 -2
  28. package/dist/es2019/components/Selector.compiled.css +2 -1
  29. package/dist/es2019/components/Selector.js +29 -9
  30. package/dist/es2019/components/Trigger.js +5 -3
  31. package/dist/es2019/hooks/useDelayedState.js +1 -1
  32. package/dist/es2019/shared/constants.js +4 -1
  33. package/dist/es2019/shared/i18n.js +5 -0
  34. package/dist/esm/analytics/index.js +1 -1
  35. package/dist/esm/components/EmojiButton.compiled.css +14 -2
  36. package/dist/esm/components/EmojiButton.js +8 -4
  37. package/dist/esm/components/Reaction.js +2 -1
  38. package/dist/esm/components/ReactionParticleEffect.js +2 -1
  39. package/dist/esm/components/ReactionPicker.js +114 -45
  40. package/dist/esm/components/ReactionSummaryButton.js +2 -1
  41. package/dist/esm/components/Reactions.js +3 -1
  42. package/dist/esm/components/ReactionsDialogHeader.js +2 -1
  43. package/dist/esm/components/RepositionOnUpdate.js +3 -2
  44. package/dist/esm/components/Selector.compiled.css +2 -1
  45. package/dist/esm/components/Selector.js +30 -9
  46. package/dist/esm/components/Trigger.js +6 -3
  47. package/dist/esm/hooks/useDelayedState.js +1 -1
  48. package/dist/esm/shared/constants.js +4 -1
  49. package/dist/esm/shared/i18n.js +5 -0
  50. package/dist/types/components/EmojiButton.d.ts +5 -1
  51. package/dist/types/components/ReactionPicker.d.ts +9 -1
  52. package/dist/types/components/RepositionOnUpdate.d.ts +2 -2
  53. package/dist/types/components/Selector.d.ts +5 -1
  54. package/dist/types/components/Trigger.d.ts +1 -0
  55. package/dist/types/shared/constants.d.ts +1 -0
  56. package/dist/types/shared/i18n.d.ts +5 -0
  57. package/dist/types-ts4.5/components/EmojiButton.d.ts +5 -1
  58. package/dist/types-ts4.5/components/ReactionPicker.d.ts +9 -1
  59. package/dist/types-ts4.5/components/RepositionOnUpdate.d.ts +2 -2
  60. package/dist/types-ts4.5/components/Selector.d.ts +5 -1
  61. package/dist/types-ts4.5/components/Trigger.d.ts +1 -0
  62. package/dist/types-ts4.5/shared/constants.d.ts +1 -0
  63. package/dist/types-ts4.5/shared/i18n.d.ts +5 -0
  64. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 31.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#147980](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147980)
8
+ [`ee0f8520e320c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ee0f8520e320c) -
9
+ [ux] Adds a hoverable reaction picker mode for empty reactions state as part of byline reactions
10
+ changes
11
+
3
12
  ## 31.5.2
4
13
 
5
14
  ### Patch Changes
@@ -11,7 +11,7 @@ var _analyticsGasTypes = require("@atlaskit/analytics-gas-types");
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
13
  var packageName = "@atlaskit/reactions";
14
- var packageVersion = "31.5.2";
14
+ var packageVersion = "31.6.0";
15
15
  /**
16
16
  * TODO: move to utility package?
17
17
  * A random sampling function
@@ -1,17 +1,29 @@
1
1
 
2
2
  ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}
3
- ._189eidpf{border-width:0}._12ji1r31{outline-color:currentColor}
3
+ ._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
4
+ ._189ee4h9{border-width:var(--ds-border-width,1px)}
5
+ ._189eidpf{border-width:0}
6
+ ._1dqonqa1{border-style:solid}
7
+ ._1h6dmuej{border-color:var(--ds-border,#091e4224)}._12ji1r31{outline-color:currentColor}
4
8
  ._12y31o36{outline-width:medium}
5
9
  ._18u0ze3t{margin-left:var(--ds-space-0,0)}
10
+ ._19bv1b66{padding-left:var(--ds-space-050,4px)}
6
11
  ._19bvu2gc{padding-left:var(--ds-space-100,8px)}
7
12
  ._19pkze3t{margin-top:var(--ds-space-0,0)}
8
13
  ._1e0c1txw{display:flex}
9
14
  ._1qu2glyw{outline-style:none}
10
15
  ._2hwxze3t{margin-right:var(--ds-space-0,0)}
16
+ ._8hrz1nam{transform-origin:center center 0}
11
17
  ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
12
18
  ._ca0qu2gc{padding-top:var(--ds-space-100,8px)}
19
+ ._ca0qv77o{padding-top:var(--ds-space-025,2px)}
20
+ ._n3td1b66{padding-bottom:var(--ds-space-050,4px)}
13
21
  ._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
14
22
  ._otyrze3t{margin-bottom:var(--ds-space-0,0)}
23
+ ._syaz1gjq{color:var(--ds-text-subtle,#44546f)}
24
+ ._u5f31b66{padding-right:var(--ds-space-050,4px)}
15
25
  ._u5f3u2gc{padding-right:var(--ds-space-100,8px)}
16
26
  ._o7ksrkh3:hover{transition:transform .2s cubic-bezier(.23,1,.32,1)}
17
- ._1llw1q5f:hover{transform:scale(1.33)}
27
+ ._1llw1q5f:hover{transform:scale(1.33)}
28
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
29
+ ._1di61dty:active{background-color:var(--ds-background-neutral-subtle-pressed,#091e4224)}
@@ -13,11 +13,13 @@ var _reactIntlNext = require("react-intl-next");
13
13
  var _emoji = require("@atlaskit/emoji");
14
14
  var _i18n = require("../shared/i18n");
15
15
  var _utils = require("../shared/utils");
16
+ var _constants = require("../shared/constants");
16
17
  var _compiled = require("@atlaskit/primitives/compiled");
17
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
20
  var styles = {
20
- emojiButton: "_12ji1r31 _1qu2glyw _12y31o36 _2rkoglpi _189eidpf _1e0c1txw _bfhksm61 _19pkze3t _2hwxze3t _otyrze3t _18u0ze3t _ca0qu2gc _u5f3u2gc _n3tdu2gc _19bvu2gc _o7ksrkh3 _1llw1q5f"
21
+ emojiButton: "_12ji1r31 _1qu2glyw _12y31o36 _2rkoglpi _189eidpf _1e0c1txw _bfhksm61 _19pkze3t _2hwxze3t _otyrze3t _18u0ze3t _ca0qu2gc _u5f3u2gc _n3tdu2gc _19bvu2gc _o7ksrkh3 _1llw1q5f",
22
+ hoverableReactionPickerSelectorEmojiButton: "_12ji1r31 _1qu2glyw _12y31o36 _2rkoiti9 _189ee4h9 _1dqonqa1 _1h6dmuej _1e0c1txw _8hrz1nam _ca0qv77o _u5f31b66 _n3td1b66 _19bv1b66 _bfhksm61 _syaz1gjq _19pkze3t _2hwxze3t _otyrze3t _18u0ze3t _irr3166n _1di61dty"
21
23
  };
22
24
  var RENDER_BUTTON_TESTID = exports.RENDER_BUTTON_TESTID = 'button-emoji-id';
23
25
  /**
@@ -26,7 +28,8 @@ var RENDER_BUTTON_TESTID = exports.RENDER_BUTTON_TESTID = 'button-emoji-id';
26
28
  var EmojiButton = exports.EmojiButton = function EmojiButton(_ref) {
27
29
  var emojiId = _ref.emojiId,
28
30
  onClick = _ref.onClick,
29
- emojiProvider = _ref.emojiProvider;
31
+ emojiProvider = _ref.emojiProvider,
32
+ hoverableReactionPickerSelectorEmoji = _ref.hoverableReactionPickerSelectorEmoji;
30
33
  var onButtonClick = function onButtonClick(event) {
31
34
  event.preventDefault();
32
35
  if (onClick && (0, _utils.isLeftClick)(event)) {
@@ -40,9 +43,10 @@ var EmojiButton = exports.EmojiButton = function EmojiButton(_ref) {
40
43
  "aria-label": intl.formatMessage(_i18n.messages.reactWithEmoji, {
41
44
  emoji: emojiId.shortName
42
45
  }),
43
- xcss: styles.emojiButton
46
+ xcss: hoverableReactionPickerSelectorEmoji ? styles.hoverableReactionPickerSelectorEmojiButton : styles.emojiButton
44
47
  }, /*#__PURE__*/React.createElement(_emoji.ResourcedEmoji, {
45
48
  emojiProvider: emojiProvider,
46
- emojiId: emojiId
49
+ emojiId: emojiId,
50
+ fitToHeight: hoverableReactionPickerSelectorEmoji ? _constants.RESOURCED_EMOJI_COMPACT_HEIGHT : undefined
47
51
  }));
48
52
  };
@@ -23,6 +23,7 @@ var _ReactionParticleEffect = require("./ReactionParticleEffect");
23
23
  var _ReactionTooltip = require("./ReactionTooltip");
24
24
  var _i18n = require("../shared/i18n");
25
25
  var _utils = require("../shared/utils");
26
+ var _constants = require("../shared/constants");
26
27
  var _ReactionButton = require("./ReactionButton");
27
28
  var _StaticReaction = require("./StaticReaction");
28
29
  var _compiled = require("@atlaskit/primitives/compiled");
@@ -140,7 +141,7 @@ var Reaction = exports.Reaction = function Reaction(_ref) {
140
141
  }, /*#__PURE__*/React.createElement(_emoji.ResourcedEmoji, {
141
142
  emojiProvider: emojiProvider,
142
143
  emojiId: emojiId,
143
- fitToHeight: 16
144
+ fitToHeight: _constants.RESOURCED_EMOJI_COMPACT_HEIGHT
144
145
  })), /*#__PURE__*/React.createElement(_Counter.Counter, {
145
146
  value: reaction.count,
146
147
  highlight: !isViewOnly && reaction.reacted
@@ -13,6 +13,7 @@ var _runtime = require("@compiled/react/runtime");
13
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
14
  var _emoji = require("@atlaskit/emoji");
15
15
  var _constants = require("@atlaskit/theme/constants");
16
+ var _constants2 = require("../shared/constants");
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
19
  var fade = null;
@@ -35,7 +36,7 @@ var ReactionParticleEffect = exports.ReactionParticleEffect = function ReactionP
35
36
  }, /*#__PURE__*/React.createElement(_emoji.ResourcedEmoji, {
36
37
  emojiProvider: emojiProvider,
37
38
  emojiId: emojiId,
38
- fitToHeight: 16
39
+ fitToHeight: _constants2.RESOURCED_EMOJI_COMPACT_HEIGHT
39
40
  }));
40
41
  }));
41
42
  };
@@ -16,22 +16,27 @@ var _reactIntlNext = require("react-intl-next");
16
16
  var _picker = require("@atlaskit/emoji/picker");
17
17
  var _popper = require("@atlaskit/popper");
18
18
  var _constants = require("@atlaskit/theme/constants");
19
+ var _compiled = require("@atlaskit/primitives/compiled");
19
20
  var _useCloseManager = require("../hooks/useCloseManager");
21
+ var _useDelayedState3 = require("../hooks/useDelayedState");
20
22
  var _useFocusTrap = require("../hooks/useFocusTrap");
21
23
  var _i18n = require("../shared/i18n");
22
24
  var _ufo = require("../ufo");
23
25
  var _Selector = require("./Selector");
24
26
  var _Trigger = require("./Trigger");
25
- var _colors = require("@atlaskit/theme/colors");
26
27
  var _RepositionOnUpdate = require("./RepositionOnUpdate");
28
+ var _colors = require("@atlaskit/theme/colors");
27
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
28
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
31
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
33
  var pickerStyle = null;
32
- var contentStyle = null;
33
34
  var popupWrapperStyle = null;
34
35
  var popupStyle = null;
36
+ var additionalStyles = {
37
+ selectorContainer: "_1e0c1txw"
38
+ };
39
+
35
40
  /**
36
41
  * Test id for wrapper ReactionPicker div
37
42
  */
@@ -79,11 +84,31 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
79
84
  reactionPickerPlacement = props.reactionPickerPlacement,
80
85
  reactionsPickerPreventOverflowOptions = props.reactionsPickerPreventOverflowOptions,
81
86
  _props$isListItem = props.isListItem,
82
- isListItem = _props$isListItem === void 0 ? false : _props$isListItem;
87
+ isListItem = _props$isListItem === void 0 ? false : _props$isListItem,
88
+ _props$hoverableReact = props.hoverableReactionPicker,
89
+ hoverableReactionPicker = _props$hoverableReact === void 0 ? false : _props$hoverableReact,
90
+ _props$hoverableReact2 = props.hoverableReactionPickerDelay,
91
+ hoverableReactionPickerDelay = _props$hoverableReact2 === void 0 ? 0 : _props$hoverableReact2;
83
92
  var _useState = (0, _react.useState)(null),
84
93
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
85
94
  triggerRef = _useState2[0],
86
95
  setTriggerRef = _useState2[1];
96
+ var _useState3 = (0, _react.useState)(false),
97
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
98
+ isHoverableReactionPickerEmojiPickerOpen = _useState4[0],
99
+ setIsHoverableReactionPickerEmojiPickerOpen = _useState4[1];
100
+ var _useState5 = (0, _react.useState)(false),
101
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
102
+ isHoveringTrigger = _useState6[0],
103
+ setIsHoveringTrigger = _useState6[1];
104
+ var _useState7 = (0, _react.useState)(false),
105
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
106
+ isHoveringPopup = _useState8[0],
107
+ setIsHoveringPopup = _useState8[1];
108
+ var _useDelayedState = (0, _useDelayedState3.useDelayedState)(false, hoverableReactionPickerDelay),
109
+ _useDelayedState2 = (0, _slicedToArray2.default)(_useDelayedState, 2),
110
+ isPopupTrayOpen = _useDelayedState2[0],
111
+ setIsPopupTrayOpen = _useDelayedState2[1];
87
112
 
88
113
  /**
89
114
  * Container <div /> reference (used by custom hook to detect click outside)
@@ -120,11 +145,7 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
120
145
  }, reactionsPickerPreventOverflowOptions && {
121
146
  options: reactionsPickerPreventOverflowOptions
122
147
  })];
123
- var _useState3 = (0, _react.useState)({
124
- /**
125
- * Show the picker floating panel
126
- */
127
- isOpen: false,
148
+ var _useState9 = (0, _react.useState)({
128
149
  /**
129
150
  * Show the full custom emoji list picker or the default list of emojis
130
151
  */
@@ -134,9 +155,9 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
134
155
  */
135
156
  popperPlacement: popperPlacement
136
157
  }),
137
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
138
- settings = _useState4[0],
139
- setSettings = _useState4[1];
158
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
159
+ settings = _useState10[0],
160
+ setSettings = _useState10[1];
140
161
 
141
162
  /**
142
163
  * Custom hook triggers when user clicks outside the reactions picker
@@ -149,16 +170,14 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
149
170
  return triggerRef.focus();
150
171
  });
151
172
  }
152
- }, true, settings.isOpen);
173
+ }, true, isPopupTrayOpen);
153
174
 
154
175
  /**
155
176
  * Event callback when the picker is closed
156
177
  * @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
157
178
  */
158
179
  var close = (0, _react.useCallback)(function (_id) {
159
- setSettings(_objectSpread(_objectSpread({}, settings), {}, {
160
- isOpen: false
161
- }));
180
+ setIsPopupTrayOpen(false);
162
181
  // ufo abort reaction experience
163
182
  _ufo.PickerRender.abort({
164
183
  metadata: {
@@ -167,7 +186,10 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
167
186
  reason: 'close dialog'
168
187
  }
169
188
  });
170
- }, [settings]);
189
+ if (hoverableReactionPicker) {
190
+ setIsHoverableReactionPickerEmojiPickerOpen(false);
191
+ }
192
+ }, [setIsPopupTrayOpen, setIsHoverableReactionPickerEmojiPickerOpen, hoverableReactionPicker]);
171
193
 
172
194
  /**
173
195
  * Event handle rwhen selecting to show the custom emoji icons picker
@@ -176,12 +198,15 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
176
198
  var onSelectMoreClick = (0, _react.useCallback)(function (e) {
177
199
  e.preventDefault();
178
200
  setSettings({
179
- isOpen: true,
180
- showFullPicker: true,
201
+ showFullPicker: hoverableReactionPicker ? settings.showFullPicker : true,
181
202
  popperPlacement: popperPlacement
182
203
  });
204
+ setIsPopupTrayOpen(true);
205
+ if (hoverableReactionPicker) {
206
+ setIsHoverableReactionPickerEmojiPickerOpen(!isHoverableReactionPickerEmojiPickerOpen);
207
+ }
183
208
  onShowMore();
184
- }, [onShowMore, popperPlacement]);
209
+ }, [settings.showFullPicker, setIsPopupTrayOpen, onShowMore, popperPlacement, hoverableReactionPicker, setIsHoverableReactionPickerEmojiPickerOpen, isHoverableReactionPickerEmojiPickerOpen]);
185
210
 
186
211
  /**
187
212
  * Event callback when an emoji icon is selected
@@ -192,26 +217,62 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
192
217
  if (!item.id) {
193
218
  return;
194
219
  }
195
- onSelection(item.id, settings.showFullPicker ? 'emojiPicker' : 'quickSelector');
220
+ onSelection(item.id, settings.showFullPicker || hoverableReactionPicker && isHoverableReactionPickerEmojiPickerOpen ? 'emojiPicker' : 'quickSelector');
196
221
  close(item.id);
197
- }, [close, onSelection, settings.showFullPicker]);
222
+ }, [close, onSelection, settings.showFullPicker, hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen]);
198
223
 
199
224
  /**
200
225
  * Event handler when the emoji icon to open the custom picker is selected
201
226
  */
202
- var onTriggerClick = function onTriggerClick() {
227
+ var onTriggerClick = (0, _react.useCallback)(function () {
203
228
  // ufo start reactions picker open experience
204
229
  _ufo.PickerRender.start();
205
- setSettings({
206
- isOpen: !settings.isOpen,
207
- showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0,
230
+ setSettings(_objectSpread(_objectSpread({}, settings), {}, {
208
231
  popperPlacement: popperPlacement
209
- });
232
+ }));
233
+ if (hoverableReactionPicker) {
234
+ setIsHoverableReactionPickerEmojiPickerOpen(!isHoverableReactionPickerEmojiPickerOpen);
235
+ setIsPopupTrayOpen(!isHoverableReactionPickerEmojiPickerOpen || !isPopupTrayOpen);
236
+ } else {
237
+ setIsPopupTrayOpen(!isPopupTrayOpen);
238
+ }
210
239
  onOpen();
211
240
  // ufo reactions picker opened success
212
241
  _ufo.PickerRender.success();
213
- };
214
- var wrapperClassName = " ".concat(settings.isOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
242
+ }, [hoverableReactionPicker, isPopupTrayOpen, setIsPopupTrayOpen, isHoverableReactionPickerEmojiPickerOpen, onOpen, settings, popperPlacement]);
243
+ var handleTriggerMouseEnter = (0, _react.useCallback)(function () {
244
+ if (hoverableReactionPicker) {
245
+ setIsHoveringTrigger(true);
246
+ if (!isHoverableReactionPickerEmojiPickerOpen) {
247
+ setIsPopupTrayOpen(true);
248
+ }
249
+ }
250
+ }, [hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
251
+ var handleTriggerMouseLeave = (0, _react.useCallback)(function () {
252
+ if (hoverableReactionPicker) {
253
+ setIsHoveringTrigger(false);
254
+ if (!isHoveringPopup && !isHoverableReactionPickerEmojiPickerOpen) {
255
+ setIsPopupTrayOpen(false);
256
+ }
257
+ }
258
+ }, [hoverableReactionPicker, isHoveringPopup, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
259
+ var handlePopupMouseEnter = (0, _react.useCallback)(function () {
260
+ if (hoverableReactionPicker) {
261
+ setIsHoveringPopup(true);
262
+ if (!isHoverableReactionPickerEmojiPickerOpen) {
263
+ setIsPopupTrayOpen(true);
264
+ }
265
+ }
266
+ }, [hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
267
+ var handlePopupMouseLeave = (0, _react.useCallback)(function () {
268
+ if (hoverableReactionPicker) {
269
+ setIsHoveringPopup(false);
270
+ if (!isHoveringTrigger && !isHoverableReactionPickerEmojiPickerOpen) {
271
+ setIsPopupTrayOpen(false);
272
+ }
273
+ }
274
+ }, [hoverableReactionPicker, isHoveringTrigger, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
275
+ var wrapperClassName = " ".concat(isPopupTrayOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
215
276
  (0, _react.useLayoutEffect)(function () {
216
277
  var _updatePopper$current;
217
278
  (_updatePopper$current = updatePopper.current) === null || _updatePopper$current === void 0 || _updatePopper$current.call(updatePopper);
@@ -226,13 +287,16 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
226
287
  return (
227
288
  /*#__PURE__*/
228
289
  // Render a button to open the <Selector /> panel
229
- _react.default.createElement(_Trigger.Trigger, {
290
+ _react.default.createElement(_compiled.Box, {
291
+ onMouseEnter: handleTriggerMouseEnter,
292
+ onMouseLeave: handleTriggerMouseLeave
293
+ }, /*#__PURE__*/_react.default.createElement(_Trigger.Trigger, {
230
294
  ariaAttributes: {
231
- 'aria-expanded': settings.isOpen,
295
+ 'aria-expanded': isPopupTrayOpen,
232
296
  'aria-controls': PICKER_CONTROL_ID
233
297
  },
234
298
  ref: function ref(node) {
235
- if (node && settings.isOpen) {
299
+ if (node && isPopupTrayOpen) {
236
300
  if (typeof _ref2 === 'function') {
237
301
  _ref2(node);
238
302
  } else {
@@ -241,11 +305,11 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
241
305
  setTriggerRef(node);
242
306
  }
243
307
  },
244
- isSelected: settings.isOpen,
308
+ isSelected: isPopupTrayOpen,
245
309
  onClick: onTriggerClick,
246
310
  miniMode: miniMode,
247
311
  disabled: disabled,
248
- tooltipContent: settings.isOpen ? null : tooltipContent,
312
+ tooltipContent: isPopupTrayOpen ? null : tooltipContent,
249
313
  showOpaqueBackground: showOpaqueBackground,
250
314
  showAddReactionText: showAddReactionText,
251
315
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
@@ -253,33 +317,38 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
253
317
  reactionPickerTriggerIcon: reactionPickerTriggerIcon,
254
318
  reactionPickerTriggerText: reactionPickerTriggerText,
255
319
  isListItem: isListItem
256
- })
320
+ }))
257
321
  );
258
- }), settings.isOpen && /*#__PURE__*/_react.default.createElement(PopperWrapper, {
322
+ }), isPopupTrayOpen && /*#__PURE__*/_react.default.createElement(PopperWrapper, {
259
323
  settings: settings,
260
- popperModifiers: popperModifiers
261
- }, settings.showFullPicker ? /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
324
+ popperModifiers: popperModifiers,
325
+ isOpen: isPopupTrayOpen
326
+ }, settings.showFullPicker || hoverableReactionPicker && isHoverableReactionPickerEmojiPickerOpen ? /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
262
327
  emojiProvider: emojiProvider,
263
328
  onSelection: onEmojiSelected,
264
329
  size: emojiPickerSize
265
- }) : /*#__PURE__*/_react.default.createElement("div", {
266
- className: (0, _runtime.ax)(["_1e0c1txw"])
330
+ }) : /*#__PURE__*/_react.default.createElement(_compiled.Box, {
331
+ xcss: additionalStyles.selectorContainer,
332
+ onMouseEnter: handlePopupMouseEnter,
333
+ onMouseLeave: handlePopupMouseLeave
267
334
  }, /*#__PURE__*/_react.default.createElement(_Selector.Selector, {
268
335
  emojiProvider: emojiProvider,
269
336
  onSelection: onEmojiSelected,
270
337
  showMore: allowAllEmojis,
271
338
  onMoreClick: onSelectMoreClick,
272
- pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds
339
+ pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds,
340
+ hoverableReactionPickerSelector: hoverableReactionPicker
273
341
  })))));
274
342
  });
275
343
  var PopperWrapper = exports.PopperWrapper = function PopperWrapper(props) {
276
344
  var settings = props.settings,
345
+ isOpen = props.isOpen,
277
346
  children = props.children,
278
347
  popperModifiers = props.popperModifiers;
279
- var _useState5 = (0, _react.useState)(null),
280
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
281
- popupRef = _useState6[0],
282
- setPopupRef = _useState6[1];
348
+ var _useState11 = (0, _react.useState)(null),
349
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
350
+ popupRef = _useState12[0],
351
+ setPopupRef = _useState12[1];
283
352
  var _useIntl = (0, _reactIntlNext.useIntl)(),
284
353
  formatMessage = _useIntl.formatMessage;
285
354
  /**
@@ -322,7 +391,8 @@ var PopperWrapper = exports.PopperWrapper = function PopperWrapper(props) {
322
391
  className: (0, _runtime.ax)(["_nt751r31 _49pcglyw _1hvw1o36"])
323
392
  }, /*#__PURE__*/_react.default.createElement(_RepositionOnUpdate.RepositionOnUpdate, {
324
393
  update: update,
325
- settings: settings
394
+ settings: settings,
395
+ isOpen: isOpen
326
396
  }, /*#__PURE__*/_react.default.createElement("div", {
327
397
  className: (0, _runtime.ax)(["_2rko1sit _bfhk13b4 _16qs1a23 _1bch1b66 _79pa1b66"]),
328
398
  style: {
@@ -15,6 +15,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
15
15
  var _reactIntlNext = require("react-intl-next");
16
16
  var _emoji = require("@atlaskit/emoji");
17
17
  var _i18n = require("../shared/i18n");
18
+ var _constants = require("../shared/constants");
18
19
  var _Counter = require("./Counter");
19
20
  var _ReactionButton = require("./ReactionButton");
20
21
  var _compiled = require("@atlaskit/primitives/compiled");
@@ -100,7 +101,7 @@ var ReactionSummaryButton = exports.ReactionSummaryButton = /*#__PURE__*/(0, _re
100
101
  id: reaction.emojiId,
101
102
  shortName: ''
102
103
  },
103
- fitToHeight: 16
104
+ fitToHeight: _constants.RESOURCED_EMOJI_COMPACT_HEIGHT
104
105
  }));
105
106
  })), /*#__PURE__*/React.createElement(_Counter.Counter, {
106
107
  value: totalReactionsCount,
@@ -355,7 +355,7 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
355
355
  onOpen: handlePickerOpen,
356
356
  onCancel: handleOnCancel,
357
357
  onShowMore: handleOnMore,
358
- tooltipContent: getTooltip(status, errorMessage, reactionPickerTriggerTooltipContent),
358
+ tooltipContent: hoverableSummaryView ? null : getTooltip(status, errorMessage, reactionPickerTriggerTooltipContent),
359
359
  emojiPickerSize: emojiPickerSize,
360
360
  miniMode: miniMode,
361
361
  showOpaqueBackground: showOpaqueBackground,
@@ -364,6 +364,8 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
364
364
  reactionPickerTriggerIcon: reactionPickerTriggerIcon,
365
365
  reactionPickerTriggerText: reactionPickerTriggerText,
366
366
  isListItem: isListItem,
367
+ hoverableReactionPicker: hoverableSummaryView,
368
+ hoverableReactionPickerDelay: hoverableSummaryView ? 300 : 0,
367
369
  className: (0, _runtime.ax)(["_1e0c1o8l _19pk1b66"])
368
370
  }), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, !!selectedEmojiId && /*#__PURE__*/_react.default.createElement(_segment.default, {
369
371
  name: "reactions-dialog"
@@ -30,6 +30,7 @@ var _element = require("@atlaskit/emoji/element");
30
30
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
31
31
  var _i18n = require("../shared/i18n");
32
32
  var _Counter = require("./Counter");
33
+ var _constants = require("../shared/constants");
33
34
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
34
35
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
35
36
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -193,7 +194,7 @@ var ReactionsDialogHeader = exports.ReactionsDialogHeader = function ReactionsDi
193
194
  }, /*#__PURE__*/React.createElement(_element.ResourcedEmoji, {
194
195
  emojiProvider: emojiProvider,
195
196
  emojiId: emojiId,
196
- fitToHeight: 16,
197
+ fitToHeight: _constants.RESOURCED_EMOJI_COMPACT_HEIGHT,
197
198
  showTooltip: true
198
199
  })), /*#__PURE__*/React.createElement(_compiled.Box, {
199
200
  xcss: styles.counterStyle
@@ -16,7 +16,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
16
16
  var RepositionOnUpdate = exports.RepositionOnUpdate = function RepositionOnUpdate(_ref) {
17
17
  var children = _ref.children,
18
18
  update = _ref.update,
19
- settings = _ref.settings;
19
+ settings = _ref.settings,
20
+ isOpen = _ref.isOpen;
20
21
  // Ref used here to skip update on first render (when refs haven't been set)
21
22
  var isFirstRenderRef = (0, _react.useRef)(true);
22
23
  (0, _react.useLayoutEffect)(function () {
@@ -26,7 +27,7 @@ var RepositionOnUpdate = exports.RepositionOnUpdate = function RepositionOnUpdat
26
27
  }
27
28
  // callback function from popper that repositions pop-up on content Update
28
29
  update();
29
- }, [update, settings]);
30
+ }, [update, settings, isOpen]);
30
31
 
31
32
  // wrapping in fragment to make TS happy (known issue with FC returning children)
32
33
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, children);
@@ -1,4 +1,5 @@
1
- ._12l2u2gc{margin-inline-end:var(--ds-space-100,8px)}
1
+
2
+ ._zulp1b66{gap:var(--ds-space-050,4px)}._12l2u2gc{margin-inline-end:var(--ds-space-100,8px)}
2
3
  ._19bv1b66{padding-left:var(--ds-space-050,4px)}
3
4
  ._1e0c1o8l{display:inline-block}
4
5
  ._1o51q7pw{animation-fill-mode:forwards}
@@ -12,15 +12,18 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
15
+ var _compiled = require("@atlaskit/primitives/compiled");
16
+ var _i18n = require("../shared/i18n");
15
17
  var _constants = require("../shared/constants");
16
18
  var _EmojiButton = require("./EmojiButton");
17
19
  var _ShowMore = require("./ShowMore");
18
- var _compiled = require("@atlaskit/primitives/compiled");
20
+ var _Trigger = require("./Trigger");
19
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
23
  var styles = {
22
24
  container: "_ca0q1b66 _u5f31b66 _n3td1b66 _19bv1b66",
23
- separator: "_t6vde4h9 _5wramuej _1p3lnqa1 _ahbq1b66 _12l2u2gc _4t3i1tcg _1e0c1o8l"
25
+ separator: "_t6vde4h9 _5wramuej _1p3lnqa1 _ahbq1b66 _12l2u2gc _4t3i1tcg _1e0c1o8l",
26
+ hoverableReactionPickerSelectorContainer: "_zulp1b66 _ca0q1b66 _u5f31b66 _n3td1b66 _19bv1b66"
24
27
  };
25
28
  var revealAnimation = null;
26
29
  var revealStyle = null;
@@ -47,7 +50,9 @@ var Selector = exports.Selector = function Selector(_ref2) {
47
50
  onSelection = _ref2.onSelection,
48
51
  showMore = _ref2.showMore,
49
52
  _ref2$pickerQuickReac = _ref2.pickerQuickReactionEmojiIds,
50
- pickerQuickReactionEmojiIds = _ref2$pickerQuickReac === void 0 ? _constants.DefaultReactions : _ref2$pickerQuickReac;
53
+ pickerQuickReactionEmojiIds = _ref2$pickerQuickReac === void 0 ? _constants.DefaultReactions : _ref2$pickerQuickReac,
54
+ _ref2$hoverableReacti = _ref2.hoverableReactionPickerSelector,
55
+ hoverableReactionPickerSelector = _ref2$hoverableReacti === void 0 ? false : _ref2$hoverableReacti;
51
56
  /**
52
57
  * Render the default emoji icon
53
58
  * @param emoji emoji item
@@ -55,17 +60,33 @@ var Selector = exports.Selector = function Selector(_ref2) {
55
60
  */
56
61
  var renderEmoji = function renderEmoji(emoji, index) {
57
62
  var _emoji$id;
58
- return /*#__PURE__*/React.createElement(Reveal, {
59
- key: (_emoji$id = emoji.id) !== null && _emoji$id !== void 0 ? _emoji$id : emoji.shortName,
60
- testId: RENDER_SELECTOR_TESTID
61
- }, /*#__PURE__*/React.createElement(_tooltip.default, {
63
+ var emojiButtonAndTooltip = /*#__PURE__*/React.createElement(_tooltip.default, {
62
64
  content: emoji.shortName
63
65
  }, /*#__PURE__*/React.createElement(_EmojiButton.EmojiButton, {
64
66
  emojiId: emoji,
65
67
  emojiProvider: emojiProvider,
66
- onClick: onSelection
67
- })));
68
+ onClick: onSelection,
69
+ hoverableReactionPickerSelectorEmoji: hoverableReactionPickerSelector
70
+ }));
71
+ return hoverableReactionPickerSelector ? emojiButtonAndTooltip : /*#__PURE__*/React.createElement(Reveal, {
72
+ key: (_emoji$id = emoji.id) !== null && _emoji$id !== void 0 ? _emoji$id : emoji.shortName,
73
+ testId: RENDER_SELECTOR_TESTID
74
+ }, emojiButtonAndTooltip);
68
75
  };
76
+ if (hoverableReactionPickerSelector) {
77
+ return /*#__PURE__*/React.createElement(_compiled.Box, {
78
+ xcss: styles.hoverableReactionPickerSelectorContainer
79
+ }, /*#__PURE__*/React.createElement(_Trigger.Trigger, {
80
+ tooltipContent: _i18n.messages.addReaction.defaultMessage,
81
+ onClick: onMoreClick,
82
+ showAddReactionText: true,
83
+ reactionPickerTriggerText: _i18n.messages.addNewReaction.defaultMessage,
84
+ fullWidthSelectorTrayReactionPickerTrigger: true
85
+ }), /*#__PURE__*/React.createElement(_compiled.Inline, {
86
+ alignBlock: "center",
87
+ xcss: hoverableReactionPickerSelector ? styles.hoverableReactionPickerSelectorContainer : styles.container
88
+ }, pickerQuickReactionEmojiIds ? pickerQuickReactionEmojiIds.map(renderEmoji) : null));
89
+ }
69
90
  return /*#__PURE__*/React.createElement(_compiled.Inline, {
70
91
  alignBlock: "center",
71
92
  xcss: styles.container
@@ -27,6 +27,7 @@ var styles = {
27
27
  disabledTrigger: "_1h6d13gt _bfhksyzs",
28
28
  miniMode: "_2rkoglpi _1dqoglyw _1ul91tcg _ca0q1b66 _u5f31b66 _n3td1b66 _19bv1b66",
29
29
  fullWidthSummaryViewReactionPickerTrigger: "_1bsb1osq _ca0qu2gc _19bvu2gc _u5f3u2gc",
30
+ fullWidthSelectorTrayReactionPickerTrigger: "_1bsb1osq _ca0q1b66 _19bv1b66 _u5f31b66",
30
31
  fullWidth: "_1bsb1osq _p12f3xl8"
31
32
  };
32
33
 
@@ -76,7 +77,9 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react2.default.forwardRef(function
76
77
  _props$fullWidthSumma = props.fullWidthSummaryViewReactionPickerTrigger,
77
78
  fullWidthSummaryViewReactionPickerTrigger = _props$fullWidthSumma === void 0 ? false : _props$fullWidthSumma,
78
79
  _props$isListItem = props.isListItem,
79
- isListItem = _props$isListItem === void 0 ? false : _props$isListItem;
80
+ isListItem = _props$isListItem === void 0 ? false : _props$isListItem,
81
+ _props$fullWidthSelec = props.fullWidthSelectorTrayReactionPickerTrigger,
82
+ fullWidthSelectorTrayReactionPickerTrigger = _props$fullWidthSelec === void 0 ? false : _props$fullWidthSelec;
80
83
  var handleMouseDown = function handleMouseDown(e, analyticsEvent) {
81
84
  if (onClick && !disabled) {
82
85
  onClick(e, analyticsEvent);
@@ -85,7 +88,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react2.default.forwardRef(function
85
88
  var renderPressableButton = function renderPressableButton() {
86
89
  return /*#__PURE__*/_react2.default.createElement(_compiled.Pressable, (0, _extends2.default)({
87
90
  testId: RENDER_TRIGGER_BUTTON_TESTID,
88
- xcss: (0, _react.cx)(styles.trigger, fullWidthSummaryViewReactionPickerTrigger && styles.fullWidth, subtleReactionsSummaryAndPicker && styles.subtleTrigger, showAddReactionText && styles.expandedTrigger, disabled ? styles.disabledTrigger : showOpaqueBackground ? styles.opaqueEnabledTrigger : styles.transparentEnabledTrigger, miniMode && styles.miniMode,
91
+ xcss: (0, _react.cx)(styles.trigger, (fullWidthSummaryViewReactionPickerTrigger || fullWidthSelectorTrayReactionPickerTrigger) && styles.fullWidth, subtleReactionsSummaryAndPicker && styles.subtleTrigger, showAddReactionText && styles.expandedTrigger, disabled ? styles.disabledTrigger : showOpaqueBackground ? styles.opaqueEnabledTrigger : styles.transparentEnabledTrigger, miniMode && styles.miniMode,
89
92
  // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
90
93
  (0, _platformFeatureFlags.fg)('platform-component-visual-refresh') && styles.triggerStylesRefresh, showRoundTrigger && styles.roundTrigger),
91
94
  style: {
@@ -110,7 +113,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react2.default.forwardRef(function
110
113
  }, reactionPickerTriggerText));
111
114
  };
112
115
  return /*#__PURE__*/_react2.default.createElement(_compiled.Box, {
113
- xcss: (0, _react.cx)(fullWidthSummaryViewReactionPickerTrigger && styles.fullWidthSummaryViewReactionPickerTrigger),
116
+ xcss: (0, _react.cx)(fullWidthSummaryViewReactionPickerTrigger && styles.fullWidthSummaryViewReactionPickerTrigger, fullWidthSelectorTrayReactionPickerTrigger && styles.fullWidthSelectorTrayReactionPickerTrigger),
114
117
  testId: RENDER_TRIGGER_CONTAINER_TESTID
115
118
  }, /*#__PURE__*/_react2.default.createElement(_tooltip.default, {
116
119
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
@@ -25,7 +25,7 @@ var useDelayedState = exports.useDelayedState = function useDelayedState(initial
25
25
  if (timeoutRef.current) {
26
26
  clearTimeout(timeoutRef.current);
27
27
  }
28
- if (immediate) {
28
+ if (immediate || delay === 0) {
29
29
  setState(newState);
30
30
  } else {
31
31
  timeoutRef.current = setTimeout(function () {