@atlaskit/reactions 33.2.9 → 33.2.10

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 (61) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/afm-jira/tsconfig.json +3 -0
  4. package/afm-post-office/tsconfig.json +3 -0
  5. package/afm-townsquare/tsconfig.json +3 -0
  6. package/dist/cjs/analytics/index.js +1 -1
  7. package/dist/cjs/components/ReactionPicker.js +19 -30
  8. package/dist/cjs/components/ReactionPickerNew.compiled.css +11 -0
  9. package/dist/cjs/components/ReactionPickerNew.js +421 -0
  10. package/dist/cjs/components/Reactions.js +4 -1
  11. package/dist/cjs/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +4 -1
  12. package/dist/cjs/index.js +6 -7
  13. package/dist/es2019/analytics/index.js +1 -1
  14. package/dist/es2019/components/ReactionPicker.js +17 -28
  15. package/dist/es2019/components/ReactionPickerNew.compiled.css +11 -0
  16. package/dist/es2019/components/ReactionPickerNew.js +374 -0
  17. package/dist/es2019/components/Reactions.js +4 -1
  18. package/dist/es2019/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +4 -1
  19. package/dist/es2019/index.js +5 -1
  20. package/dist/esm/analytics/index.js +1 -1
  21. package/dist/esm/components/ReactionPicker.js +20 -31
  22. package/dist/esm/components/ReactionPickerNew.compiled.css +11 -0
  23. package/dist/esm/components/ReactionPickerNew.js +412 -0
  24. package/dist/esm/components/Reactions.js +4 -1
  25. package/dist/esm/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +4 -1
  26. package/dist/esm/index.js +5 -1
  27. package/dist/types/components/Counter.d.ts +0 -1
  28. package/dist/types/components/EmojiButton.d.ts +0 -1
  29. package/dist/types/components/Reaction.d.ts +0 -1
  30. package/dist/types/components/ReactionButton.d.ts +0 -1
  31. package/dist/types/components/ReactionParticleEffect.d.ts +0 -1
  32. package/dist/types/components/ReactionPicker.d.ts +0 -7
  33. package/dist/types/components/ReactionPickerNew.d.ts +114 -0
  34. package/dist/types/components/ReactionSummaryButton.d.ts +0 -1
  35. package/dist/types/components/ReactionSummaryView.d.ts +0 -1
  36. package/dist/types/components/ReactionView.d.ts +0 -1
  37. package/dist/types/components/ReactionsDialog.d.ts +0 -1
  38. package/dist/types/components/ReactionsDialogHeader.d.ts +0 -1
  39. package/dist/types/components/ReactionsDialogTrigger.d.ts +0 -1
  40. package/dist/types/components/Selector.d.ts +0 -1
  41. package/dist/types/components/StaticReaction.d.ts +0 -1
  42. package/dist/types/index.d.ts +2 -1
  43. package/dist/types/types/reaction.d.ts +0 -1
  44. package/dist/types-ts4.5/components/Counter.d.ts +0 -1
  45. package/dist/types-ts4.5/components/EmojiButton.d.ts +0 -1
  46. package/dist/types-ts4.5/components/Reaction.d.ts +0 -1
  47. package/dist/types-ts4.5/components/ReactionButton.d.ts +0 -1
  48. package/dist/types-ts4.5/components/ReactionParticleEffect.d.ts +0 -1
  49. package/dist/types-ts4.5/components/ReactionPicker.d.ts +0 -7
  50. package/dist/types-ts4.5/components/ReactionPickerNew.d.ts +114 -0
  51. package/dist/types-ts4.5/components/ReactionSummaryButton.d.ts +0 -1
  52. package/dist/types-ts4.5/components/ReactionSummaryView.d.ts +0 -1
  53. package/dist/types-ts4.5/components/ReactionView.d.ts +0 -1
  54. package/dist/types-ts4.5/components/ReactionsDialog.d.ts +0 -1
  55. package/dist/types-ts4.5/components/ReactionsDialogHeader.d.ts +0 -1
  56. package/dist/types-ts4.5/components/ReactionsDialogTrigger.d.ts +0 -1
  57. package/dist/types-ts4.5/components/Selector.d.ts +0 -1
  58. package/dist/types-ts4.5/components/StaticReaction.d.ts +0 -1
  59. package/dist/types-ts4.5/index.d.ts +2 -1
  60. package/dist/types-ts4.5/types/reaction.d.ts +0 -1
  61. package/package.json +5 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 33.2.10
4
+
5
+ ### Patch Changes
6
+
7
+ - [#197800](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/197800)
8
+ [`af8a1e4a36047`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/af8a1e4a36047) -
9
+ Revert platform_editor_reactions_picker_fix FG clean up
10
+ - Updated dependencies
11
+
3
12
  ## 33.2.9
4
13
 
5
14
  ### Patch Changes
@@ -62,6 +62,9 @@
62
62
  {
63
63
  "path": "../../../platform/feature-flags/afm-cc/tsconfig.json"
64
64
  },
65
+ {
66
+ "path": "../../../platform/feature-flags-react/afm-cc/tsconfig.json"
67
+ },
65
68
  {
66
69
  "path": "../../../design-system/popper/afm-cc/tsconfig.json"
67
70
  },
@@ -62,6 +62,9 @@
62
62
  {
63
63
  "path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
64
64
  },
65
+ {
66
+ "path": "../../../platform/feature-flags-react/afm-jira/tsconfig.json"
67
+ },
65
68
  {
66
69
  "path": "../../../design-system/popper/afm-jira/tsconfig.json"
67
70
  },
@@ -62,6 +62,9 @@
62
62
  {
63
63
  "path": "../../../platform/feature-flags/afm-post-office/tsconfig.json"
64
64
  },
65
+ {
66
+ "path": "../../../platform/feature-flags-react/afm-post-office/tsconfig.json"
67
+ },
65
68
  {
66
69
  "path": "../../../design-system/popper/afm-post-office/tsconfig.json"
67
70
  },
@@ -62,6 +62,9 @@
62
62
  {
63
63
  "path": "../../../platform/feature-flags/afm-townsquare/tsconfig.json"
64
64
  },
65
+ {
66
+ "path": "../../../platform/feature-flags-react/afm-townsquare/tsconfig.json"
67
+ },
65
68
  {
66
69
  "path": "../../../design-system/popper/afm-townsquare/tsconfig.json"
67
70
  },
@@ -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 = "33.2.8";
14
+ var packageVersion = "33.2.9";
15
15
  /**
16
16
  * TODO: move to utility package?
17
17
  * A random sampling function
@@ -27,7 +27,6 @@ var _Selector = require("./Selector");
27
27
  var _Trigger = require("./Trigger");
28
28
  var _RepositionOnUpdate = require("./RepositionOnUpdate");
29
29
  var _colors = require("@atlaskit/theme/colors");
30
- var _portal = _interopRequireDefault(require("@atlaskit/portal"));
31
30
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
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; }
33
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; }
@@ -157,6 +156,19 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
157
156
  settings = _useState10[0],
158
157
  setSettings = _useState10[1];
159
158
 
159
+ /**
160
+ * Custom hook triggers when user clicks outside the reactions picker
161
+ */
162
+ (0, _useCloseManager.useCloseManager)(wrapperRef, function (callbackType) {
163
+ close();
164
+ onCancel();
165
+ if (triggerRef && callbackType === 'ESCAPE') {
166
+ requestAnimationFrame(function () {
167
+ return triggerRef.focus();
168
+ });
169
+ }
170
+ }, true, isPopupTrayOpen);
171
+
160
172
  /**
161
173
  * Event callback when the picker is closed
162
174
  * @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
@@ -275,10 +287,6 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
275
287
  var _updatePopper$current;
276
288
  (_updatePopper$current = updatePopper.current) === null || _updatePopper$current === void 0 || _updatePopper$current.call(updatePopper);
277
289
  }, [settings]);
278
- var onClose = function onClose() {
279
- close();
280
- onCancel();
281
- };
282
290
  return /*#__PURE__*/_react.default.createElement("div", {
283
291
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
284
292
  className: (0, _runtime.ax)(["_s7n4nkob _1pra1o8l", wrapperClassName]),
@@ -320,14 +328,9 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
320
328
  isListItem: isListItem
321
329
  }))
322
330
  );
323
- }), isPopupTrayOpen && /*#__PURE__*/_react.default.createElement(_portal.default, {
324
- zIndex: _constants.layers.layer()
325
- }, /*#__PURE__*/_react.default.createElement(PopperWrapper, {
331
+ }), isPopupTrayOpen && /*#__PURE__*/_react.default.createElement(PopperWrapper, {
326
332
  settings: settings,
327
- popperModifiers: popperModifiers,
328
- isOpen: isPopupTrayOpen,
329
- onClose: onClose,
330
- triggerRef: triggerRef
333
+ popperModifiers: popperModifiers
331
334
  }, settings.showFullPicker || hoverableReactionPicker && isHoverableReactionPickerEmojiPickerOpen ? /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
332
335
  emojiProvider: emojiProvider,
333
336
  onSelection: onEmojiSelected,
@@ -343,13 +346,10 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
343
346
  onMoreClick: onSelectMoreClick,
344
347
  pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds,
345
348
  hoverableReactionPickerSelector: hoverableReactionPicker
346
- }))))));
349
+ })))));
347
350
  });
348
351
  var PopperWrapper = exports.PopperWrapper = function PopperWrapper(props) {
349
- var triggerRef = props.triggerRef,
350
- settings = props.settings,
351
- isOpen = props.isOpen,
352
- onClose = props.onClose,
352
+ var settings = props.settings,
353
353
  children = props.children,
354
354
  popperModifiers = props.popperModifiers;
355
355
  var _useState11 = (0, _react.useState)(null),
@@ -365,21 +365,10 @@ var PopperWrapper = exports.PopperWrapper = function PopperWrapper(props) {
365
365
  initialFocusRef: null,
366
366
  targetRef: popupRef
367
367
  });
368
-
369
- /**
370
- * Custom hook triggers when user clicks outside the reactions picker
371
- */
372
- (0, _useCloseManager.useCloseManagerV2)(popupRef, triggerRef, function (callbackType) {
373
- onClose();
374
- if (popupRef && callbackType === 'ESCAPE') {
375
- requestAnimationFrame(function () {
376
- return triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.focus();
377
- });
378
- }
379
- }, true, isOpen);
380
368
  return /*#__PURE__*/_react.default.createElement(_popper.Popper, {
381
369
  placement: settings.popperPlacement,
382
- modifiers: popperModifiers
370
+ modifiers: popperModifiers,
371
+ strategy: "absolute"
383
372
  }, function (_ref3) {
384
373
  var _ref4 = _ref3.ref,
385
374
  style = _ref3.style,
@@ -0,0 +1,11 @@
1
+
2
+ ._2rko1sit{border-radius:var(--ds-border-radius,3px)}._16qs1a23{box-shadow:var(--_3t1odq)}
3
+ ._1bch1b66>div{margin-top:var(--ds-space-050,4px)}
4
+ ._1e0c1txw{display:flex}
5
+ ._1pra1o8l.miniMode{display:inline-block}
6
+ ._79pa1b66>div{margin-bottom:var(--ds-space-050,4px)}
7
+ ._bfhk13b4{background-color:var(--_1f6rtr1)}
8
+ ._s7n4nkob{vertical-align:middle}
9
+ ._1hvw1o36:focus{outline-width:medium}
10
+ ._49pcglyw:focus{outline-style:none}
11
+ ._nt751r31:focus{outline-color:currentColor}
@@ -0,0 +1,421 @@
1
+ /* ReactionPickerNew.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ReactionPicker = exports.RENDER_REACTIONPICKER_TESTID = exports.RENDER_REACTIONPICKERPANEL_TESTID = exports.PopperWrapper = void 0;
10
+ require("./ReactionPickerNew.compiled.css");
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _reactIntlNext = require("react-intl-next");
16
+ var _picker = require("@atlaskit/emoji/picker");
17
+ var _popper = require("@atlaskit/popper");
18
+ var _constants = require("@atlaskit/theme/constants");
19
+ var _compiled = require("@atlaskit/primitives/compiled");
20
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
21
+ var _useCloseManager = require("../hooks/useCloseManager");
22
+ var _useDelayedState3 = require("../hooks/useDelayedState");
23
+ var _useFocusTrap = require("../hooks/useFocusTrap");
24
+ var _i18n = require("../shared/i18n");
25
+ var _ufo = require("../ufo");
26
+ var _Selector = require("./Selector");
27
+ var _Trigger = require("./Trigger");
28
+ var _RepositionOnUpdate = require("./RepositionOnUpdate");
29
+ var _colors = require("@atlaskit/theme/colors");
30
+ var _portal = _interopRequireDefault(require("@atlaskit/portal"));
31
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
+ 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; }
33
+ 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; }
34
+ var pickerStyle = null;
35
+ var popupWrapperStyle = null;
36
+ var popupStyle = null;
37
+ var popupStyleWithMarginTop = null;
38
+ var additionalStyles = {
39
+ selectorContainer: "_1e0c1txw"
40
+ };
41
+
42
+ /**
43
+ * Test id for wrapper ReactionPicker div
44
+ */
45
+ var RENDER_REACTIONPICKER_TESTID = exports.RENDER_REACTIONPICKER_TESTID = 'reactionPicker-testid';
46
+
47
+ /**
48
+ * Test id for ReactionPicker panel div
49
+ */
50
+ var RENDER_REACTIONPICKERPANEL_TESTID = exports.RENDER_REACTIONPICKERPANEL_TESTID = 'reactionPickerPanel-testid';
51
+
52
+ /**
53
+ * Emoji Picker Controller Id for Accessibility Labels
54
+ */
55
+ var PICKER_CONTROL_ID = 'emoji-picker';
56
+ /**
57
+ * Picker component for adding reactions
58
+ */
59
+ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(function (props) {
60
+ var miniMode = props.miniMode,
61
+ className = props.className,
62
+ emojiProvider = props.emojiProvider,
63
+ onSelection = props.onSelection,
64
+ allowAllEmojis = props.allowAllEmojis,
65
+ disabled = props.disabled,
66
+ pickerQuickReactionEmojiIds = props.pickerQuickReactionEmojiIds,
67
+ _props$onShowMore = props.onShowMore,
68
+ onShowMore = _props$onShowMore === void 0 ? function () {} : _props$onShowMore,
69
+ _props$onOpen = props.onOpen,
70
+ onOpen = _props$onOpen === void 0 ? function () {} : _props$onOpen,
71
+ _props$onCancel = props.onCancel,
72
+ onCancel = _props$onCancel === void 0 ? function () {} : _props$onCancel,
73
+ _props$tooltipContent = props.tooltipContent,
74
+ tooltipContent = _props$tooltipContent === void 0 ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.addReaction) : _props$tooltipContent,
75
+ emojiPickerSize = props.emojiPickerSize,
76
+ _props$showOpaqueBack = props.showOpaqueBackground,
77
+ showOpaqueBackground = _props$showOpaqueBack === void 0 ? false : _props$showOpaqueBack,
78
+ _props$subtleReaction = props.subtleReactionsSummaryAndPicker,
79
+ subtleReactionsSummaryAndPicker = _props$subtleReaction === void 0 ? false : _props$subtleReaction,
80
+ _props$showAddReactio = props.showAddReactionText,
81
+ showAddReactionText = _props$showAddReactio === void 0 ? false : _props$showAddReactio,
82
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon,
83
+ reactionPickerTriggerText = props.reactionPickerTriggerText,
84
+ reactionPickerPlacement = props.reactionPickerPlacement,
85
+ _props$isListItem = props.isListItem,
86
+ isListItem = _props$isListItem === void 0 ? false : _props$isListItem,
87
+ _props$hoverableReact = props.hoverableReactionPicker,
88
+ hoverableReactionPicker = _props$hoverableReact === void 0 ? false : _props$hoverableReact,
89
+ _props$hoverableReact2 = props.hoverableReactionPickerDelay,
90
+ hoverableReactionPickerDelay = _props$hoverableReact2 === void 0 ? 0 : _props$hoverableReact2;
91
+ var _useState = (0, _react.useState)(null),
92
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
93
+ triggerRef = _useState2[0],
94
+ setTriggerRef = _useState2[1];
95
+ var _useState3 = (0, _react.useState)(false),
96
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
97
+ isHoverableReactionPickerEmojiPickerOpen = _useState4[0],
98
+ setIsHoverableReactionPickerEmojiPickerOpen = _useState4[1];
99
+ var _useState5 = (0, _react.useState)(false),
100
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
101
+ isHoveringTrigger = _useState6[0],
102
+ setIsHoveringTrigger = _useState6[1];
103
+ var _useState7 = (0, _react.useState)(false),
104
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
105
+ isHoveringPopup = _useState8[0],
106
+ setIsHoveringPopup = _useState8[1];
107
+ var _useState9 = (0, _react.useState)(false),
108
+ _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
109
+ isTriggerClicked = _useState0[0],
110
+ setIsTriggerClicked = _useState0[1];
111
+ var _useDelayedState = (0, _useDelayedState3.useDelayedState)(false, hoverableReactionPickerDelay),
112
+ _useDelayedState2 = (0, _slicedToArray2.default)(_useDelayedState, 2),
113
+ isPopupTrayOpen = _useDelayedState2[0],
114
+ setIsPopupTrayOpen = _useDelayedState2[1];
115
+
116
+ /**
117
+ * Container <div /> reference (used by custom hook to detect click outside)
118
+ */
119
+ var wrapperRef = (0, _react.useRef)(null);
120
+ var updatePopper = (0, _react.useRef)();
121
+ var popperPlacement = reactionPickerPlacement || 'bottom-start';
122
+ var popperModifiers = [
123
+ /**
124
+ Removing this applyStyle modifier as it throws client errors ref:
125
+ https://popper.js.org/docs/v1/#modifiers
126
+ https://popper.js.org/docs/v1/#modifiers..applyStyle
127
+ { name: 'applyStyle', enabled: false },
128
+ */
129
+ {
130
+ name: 'hide',
131
+ enabled: false
132
+ }, {
133
+ name: 'offset',
134
+ enabled: true,
135
+ options: {
136
+ offset: [0, (0, _platformFeatureFlags.fg)('platform-reactions-offset-based-popper') ? 4 : 0]
137
+ }
138
+ }, {
139
+ name: 'flip',
140
+ enabled: true,
141
+ options: {
142
+ flipVariations: true,
143
+ boundariesElement: 'scrollParent'
144
+ }
145
+ }];
146
+ var _useState1 = (0, _react.useState)({
147
+ /**
148
+ * Show the full custom emoji list picker or the default list of emojis
149
+ */
150
+ showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0,
151
+ /**
152
+ * Use placement for popper based on reactionPickerPlacement prop
153
+ */
154
+ popperPlacement: popperPlacement
155
+ }),
156
+ _useState10 = (0, _slicedToArray2.default)(_useState1, 2),
157
+ settings = _useState10[0],
158
+ setSettings = _useState10[1];
159
+
160
+ /**
161
+ * Event callback when the picker is closed
162
+ * @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
163
+ */
164
+ var close = (0, _react.useCallback)(function (_id) {
165
+ setIsPopupTrayOpen(false, true);
166
+ // ufo abort reaction experience
167
+ _ufo.PickerRender.abort({
168
+ metadata: {
169
+ emojiId: _id,
170
+ source: 'ReactionPicker',
171
+ reason: 'close dialog'
172
+ }
173
+ });
174
+ if (hoverableReactionPicker) {
175
+ setIsHoverableReactionPickerEmojiPickerOpen(false);
176
+ setIsTriggerClicked(false);
177
+ setIsHoveringTrigger(false);
178
+ setIsHoveringPopup(false);
179
+ }
180
+ }, [setIsPopupTrayOpen, setIsHoverableReactionPickerEmojiPickerOpen, hoverableReactionPicker, setIsTriggerClicked, setIsHoveringTrigger, setIsHoveringPopup]);
181
+
182
+ /**
183
+ * Event handle rwhen selecting to show the custom emoji icons picker
184
+ * @param e event param
185
+ */
186
+ var onSelectMoreClick = (0, _react.useCallback)(function (e) {
187
+ e.preventDefault();
188
+ setSettings({
189
+ showFullPicker: hoverableReactionPicker ? settings.showFullPicker : true,
190
+ popperPlacement: popperPlacement
191
+ });
192
+ setIsPopupTrayOpen(true);
193
+ if (hoverableReactionPicker) {
194
+ setIsHoverableReactionPickerEmojiPickerOpen(!isHoverableReactionPickerEmojiPickerOpen);
195
+ setIsTriggerClicked(false);
196
+ }
197
+ onShowMore();
198
+ }, [settings.showFullPicker, setIsPopupTrayOpen, onShowMore, popperPlacement, hoverableReactionPicker, setIsHoverableReactionPickerEmojiPickerOpen, isHoverableReactionPickerEmojiPickerOpen]);
199
+
200
+ /**
201
+ * Event callback when an emoji icon is selected
202
+ * @param item selected item
203
+ */
204
+ var onEmojiSelected = (0, _react.useCallback)(function (item) {
205
+ // no emoji was selected
206
+ if (!item.id) {
207
+ return;
208
+ }
209
+ onSelection(item.id, settings.showFullPicker || hoverableReactionPicker && isHoverableReactionPickerEmojiPickerOpen ? 'emojiPicker' : 'quickSelector');
210
+ close(item.id);
211
+ }, [close, onSelection, settings.showFullPicker, hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen]);
212
+
213
+ /**
214
+ * Event handler when the emoji icon to open the custom picker is selected
215
+ */
216
+ var onTriggerClick = (0, _react.useCallback)(function () {
217
+ // ufo start reactions picker open experience
218
+ _ufo.PickerRender.start();
219
+ setSettings(_objectSpread(_objectSpread({}, settings), {}, {
220
+ popperPlacement: popperPlacement
221
+ }));
222
+ if (hoverableReactionPicker) {
223
+ if (isHoverableReactionPickerEmojiPickerOpen || isTriggerClicked) {
224
+ // if either the emoji picker is open or the trigger was clicked, close the popup and reset the state
225
+ setIsTriggerClicked(false);
226
+ setIsPopupTrayOpen(false, true);
227
+ } else {
228
+ // if neither condition is true, open the popup and set the state
229
+ setIsTriggerClicked(true);
230
+ setIsPopupTrayOpen(true, true);
231
+ }
232
+ // close the emoji picker
233
+ setIsHoverableReactionPickerEmojiPickerOpen(false);
234
+ } else {
235
+ setIsPopupTrayOpen(!isPopupTrayOpen);
236
+ }
237
+ onOpen();
238
+ // ufo reactions picker opened success
239
+ _ufo.PickerRender.success();
240
+ }, [hoverableReactionPicker, isPopupTrayOpen, setIsPopupTrayOpen, isTriggerClicked, setIsTriggerClicked, isHoverableReactionPickerEmojiPickerOpen, onOpen, settings, popperPlacement]);
241
+ var handleTriggerMouseEnter = (0, _react.useCallback)(function () {
242
+ if (hoverableReactionPicker) {
243
+ setIsHoveringTrigger(true);
244
+ if (!isHoverableReactionPickerEmojiPickerOpen) {
245
+ setIsPopupTrayOpen(true);
246
+ }
247
+ }
248
+ }, [hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
249
+ var handleTriggerMouseLeave = (0, _react.useCallback)(function () {
250
+ if (hoverableReactionPicker) {
251
+ setIsHoveringTrigger(false);
252
+ if (!isHoveringPopup && !isHoverableReactionPickerEmojiPickerOpen && !isTriggerClicked) {
253
+ setIsPopupTrayOpen(false);
254
+ }
255
+ }
256
+ }, [hoverableReactionPicker, isHoveringPopup, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen, isTriggerClicked]);
257
+ var handlePopupMouseEnter = (0, _react.useCallback)(function () {
258
+ if (hoverableReactionPicker) {
259
+ setIsHoveringPopup(true);
260
+ if (!isHoverableReactionPickerEmojiPickerOpen) {
261
+ setIsPopupTrayOpen(true);
262
+ }
263
+ }
264
+ }, [hoverableReactionPicker, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen]);
265
+ var handlePopupMouseLeave = (0, _react.useCallback)(function () {
266
+ if (hoverableReactionPicker) {
267
+ setIsHoveringPopup(false);
268
+ if (!isHoveringTrigger && !isHoverableReactionPickerEmojiPickerOpen && !isTriggerClicked) {
269
+ setIsPopupTrayOpen(false);
270
+ }
271
+ }
272
+ }, [hoverableReactionPicker, isHoveringTrigger, isHoverableReactionPickerEmojiPickerOpen, setIsPopupTrayOpen, isTriggerClicked]);
273
+ var wrapperClassName = " ".concat(isPopupTrayOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
274
+ (0, _react.useLayoutEffect)(function () {
275
+ var _updatePopper$current;
276
+ (_updatePopper$current = updatePopper.current) === null || _updatePopper$current === void 0 || _updatePopper$current.call(updatePopper);
277
+ }, [settings]);
278
+ var onClose = function onClose() {
279
+ close();
280
+ onCancel();
281
+ };
282
+ return /*#__PURE__*/_react.default.createElement("div", {
283
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
284
+ className: (0, _runtime.ax)(["_s7n4nkob _1pra1o8l", wrapperClassName]),
285
+ "data-testid": RENDER_REACTIONPICKER_TESTID,
286
+ ref: wrapperRef
287
+ }, /*#__PURE__*/_react.default.createElement(_popper.Manager, null, /*#__PURE__*/_react.default.createElement(_popper.Reference, null, function (_ref) {
288
+ var _ref2 = _ref.ref;
289
+ return (
290
+ /*#__PURE__*/
291
+ // Render a button to open the <Selector /> panel
292
+ _react.default.createElement(_compiled.Box, {
293
+ onMouseEnter: handleTriggerMouseEnter,
294
+ onMouseLeave: handleTriggerMouseLeave
295
+ }, /*#__PURE__*/_react.default.createElement(_Trigger.Trigger, {
296
+ ariaAttributes: {
297
+ 'aria-expanded': isPopupTrayOpen,
298
+ 'aria-controls': PICKER_CONTROL_ID
299
+ },
300
+ ref: function ref(node) {
301
+ if (node && isPopupTrayOpen) {
302
+ if (typeof _ref2 === 'function') {
303
+ _ref2(node);
304
+ } else {
305
+ _ref2.current = node;
306
+ }
307
+ setTriggerRef(node);
308
+ }
309
+ },
310
+ isSelected: isPopupTrayOpen,
311
+ onClick: onTriggerClick,
312
+ miniMode: miniMode,
313
+ disabled: disabled,
314
+ tooltipContent: isPopupTrayOpen ? null : tooltipContent,
315
+ showOpaqueBackground: showOpaqueBackground,
316
+ showAddReactionText: showAddReactionText,
317
+ subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
318
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon,
319
+ reactionPickerTriggerText: reactionPickerTriggerText,
320
+ isListItem: isListItem
321
+ }))
322
+ );
323
+ }), isPopupTrayOpen && /*#__PURE__*/_react.default.createElement(_portal.default, {
324
+ zIndex: _constants.layers.layer()
325
+ }, /*#__PURE__*/_react.default.createElement(PopperWrapper, {
326
+ settings: settings,
327
+ popperModifiers: popperModifiers,
328
+ isOpen: isPopupTrayOpen,
329
+ onClose: onClose,
330
+ triggerRef: triggerRef
331
+ }, settings.showFullPicker || hoverableReactionPicker && isHoverableReactionPickerEmojiPickerOpen ? /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
332
+ emojiProvider: emojiProvider,
333
+ onSelection: onEmojiSelected,
334
+ size: emojiPickerSize
335
+ }) : /*#__PURE__*/_react.default.createElement(_compiled.Box, {
336
+ xcss: additionalStyles.selectorContainer,
337
+ onMouseEnter: handlePopupMouseEnter,
338
+ onMouseLeave: handlePopupMouseLeave
339
+ }, /*#__PURE__*/_react.default.createElement(_Selector.Selector, {
340
+ emojiProvider: emojiProvider,
341
+ onSelection: onEmojiSelected,
342
+ showMore: allowAllEmojis,
343
+ onMoreClick: onSelectMoreClick,
344
+ pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds,
345
+ hoverableReactionPickerSelector: hoverableReactionPicker
346
+ }))))));
347
+ });
348
+ var PopperWrapper = exports.PopperWrapper = function PopperWrapper(props) {
349
+ var triggerRef = props.triggerRef,
350
+ settings = props.settings,
351
+ isOpen = props.isOpen,
352
+ onClose = props.onClose,
353
+ children = props.children,
354
+ popperModifiers = props.popperModifiers;
355
+ var _useState11 = (0, _react.useState)(null),
356
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
357
+ popupRef = _useState12[0],
358
+ setPopupRef = _useState12[1];
359
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
360
+ formatMessage = _useIntl.formatMessage;
361
+ /**
362
+ * add focus lock to popup
363
+ */
364
+ (0, _useFocusTrap.useFocusTrap)({
365
+ initialFocusRef: null,
366
+ targetRef: popupRef
367
+ });
368
+
369
+ /**
370
+ * Custom hook triggers when user clicks outside the reactions picker
371
+ */
372
+ (0, _useCloseManager.useCloseManagerV2)(popupRef, triggerRef, function (callbackType) {
373
+ onClose();
374
+ if (popupRef && callbackType === 'ESCAPE') {
375
+ requestAnimationFrame(function () {
376
+ return triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.focus();
377
+ });
378
+ }
379
+ }, true, isOpen);
380
+ return /*#__PURE__*/_react.default.createElement(_popper.Popper, {
381
+ placement: settings.popperPlacement,
382
+ modifiers: popperModifiers
383
+ }, function (_ref3) {
384
+ var _ref4 = _ref3.ref,
385
+ style = _ref3.style,
386
+ update = _ref3.update;
387
+ return /*#__PURE__*/_react.default.createElement("div", {
388
+ role: "group",
389
+ "aria-label": formatMessage(_i18n.messages.popperWrapperLabel),
390
+ id: PICKER_CONTROL_ID,
391
+ "data-testid": RENDER_REACTIONPICKERPANEL_TESTID
392
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
393
+ ,
394
+ style: _objectSpread({
395
+ zIndex: _constants.layers.layer()
396
+ }, style),
397
+ ref: function ref(node) {
398
+ if (node) {
399
+ if (typeof _ref4 === 'function') {
400
+ _ref4(node);
401
+ } else {
402
+ _ref4.current = node;
403
+ }
404
+ setPopupRef(node);
405
+ }
406
+ },
407
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
408
+ tabIndex: 0,
409
+ className: (0, _runtime.ax)(["_nt751r31 _49pcglyw _1hvw1o36"])
410
+ }, /*#__PURE__*/_react.default.createElement(_RepositionOnUpdate.RepositionOnUpdate, {
411
+ update: update,
412
+ settings: settings
413
+ }, /*#__PURE__*/_react.default.createElement("div", {
414
+ className: (0, _runtime.ax)(["_2rko1sit _bfhk13b4 _16qs1a23 _79pa1b66", !(0, _platformFeatureFlags.fg)('platform-reactions-offset-based-popper') && "_1bch1b66"]),
415
+ style: {
416
+ "--_1f6rtr1": (0, _runtime.ix)("var(--ds-surface-overlay, ".concat(_colors.N0, ")")),
417
+ "--_3t1odq": (0, _runtime.ix)("var(--ds-shadow-overlay, ".concat("0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A), ")"))
418
+ }
419
+ }, children)));
420
+ });
421
+ };
@@ -26,8 +26,11 @@ var _ufo = require("../ufo");
26
26
  var _Reaction = require("./Reaction");
27
27
  var _ReactionsDialog = require("./ReactionsDialog");
28
28
  var _ReactionPicker = require("./ReactionPicker");
29
+ var _ReactionPickerNew = require("./ReactionPickerNew");
29
30
  var _ReactionSummaryView = require("./ReactionSummaryView");
31
+ var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
30
32
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
33
+ var ReactionPicker = (0, _platformFeatureFlagsReact.componentWithFG)('platform_editor_reactions_picker_fix', _ReactionPickerNew.ReactionPicker, _ReactionPicker.ReactionPicker);
31
34
  var wrapperStyle = null;
32
35
  var noFlexWrapStyles = null;
33
36
  var noContainerPositionStyles = null;
@@ -384,7 +387,7 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
384
387
  isViewOnly: isViewOnly,
385
388
  showSubtleStyle: showSubtleDefaultReactions && reactions.length === 0
386
389
  });
387
- })), isViewOnly || !onlyRenderPicker && shouldShowSummaryView && allowSelectFromSummaryView ? null : /*#__PURE__*/_react.default.createElement(_ReactionPicker.ReactionPicker, {
390
+ })), isViewOnly || !onlyRenderPicker && shouldShowSummaryView && allowSelectFromSummaryView ? null : /*#__PURE__*/_react.default.createElement(ReactionPicker, {
388
391
  emojiProvider: emojiProvider,
389
392
  allowAllEmojis: allowAllEmojis,
390
393
  pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds,
@@ -12,6 +12,9 @@ var _react = _interopRequireDefault(require("react"));
12
12
  var _components = require("../../components");
13
13
  var _ufo = require("../../ufo");
14
14
  var _ReactionPicker = require("../../components/ReactionPicker");
15
+ var _ReactionPickerNew = require("../../components/ReactionPickerNew");
16
+ var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
17
+ var ReactionPicker = (0, _platformFeatureFlagsReact.componentWithFG)('platform_editor_reactions_picker_fix', _ReactionPickerNew.ReactionPicker, _ReactionPicker.ReactionPicker);
15
18
  /**
16
19
  * Reaction Picker component
17
20
  */
@@ -43,7 +46,7 @@ var ConnectedReactionPicker = exports.ConnectedReactionPicker = function Connect
43
46
  };
44
47
  return /*#__PURE__*/_react.default.createElement(_components.UfoErrorBoundary, {
45
48
  experiences: [_ufo.PickerRender]
46
- }, /*#__PURE__*/_react.default.createElement(_ReactionPicker.ReactionPicker, (0, _extends2.default)({}, props, {
49
+ }, /*#__PURE__*/_react.default.createElement(ReactionPicker, (0, _extends2.default)({}, props, {
47
50
  onSelection: onSelection
48
51
  })));
49
52
  };