@atlaskit/reactions 26.4.2 → 26.5.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 (33) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/analytics/index.js +1 -1
  3. package/dist/cjs/components/Reaction/Reaction.js +7 -2
  4. package/dist/cjs/components/ReactionPicker/ReactionPicker.js +4 -2
  5. package/dist/cjs/components/ReactionTooltip/ReactionTooltip.js +8 -6
  6. package/dist/cjs/components/Reactions/Reactions.js +6 -2
  7. package/dist/cjs/components/Trigger/Trigger.js +17 -3
  8. package/dist/cjs/index.js +7 -0
  9. package/dist/es2019/analytics/index.js +1 -1
  10. package/dist/es2019/components/Reaction/Reaction.js +6 -2
  11. package/dist/es2019/components/ReactionPicker/ReactionPicker.js +4 -2
  12. package/dist/es2019/components/ReactionTooltip/ReactionTooltip.js +8 -6
  13. package/dist/es2019/components/Reactions/Reactions.js +6 -2
  14. package/dist/es2019/components/Trigger/Trigger.js +17 -3
  15. package/dist/es2019/index.js +1 -0
  16. package/dist/esm/analytics/index.js +1 -1
  17. package/dist/esm/components/Reaction/Reaction.js +7 -2
  18. package/dist/esm/components/ReactionPicker/ReactionPicker.js +4 -2
  19. package/dist/esm/components/ReactionTooltip/ReactionTooltip.js +8 -6
  20. package/dist/esm/components/Reactions/Reactions.js +6 -2
  21. package/dist/esm/components/Trigger/Trigger.js +17 -3
  22. package/dist/esm/index.js +1 -0
  23. package/dist/types/components/Reaction/Reaction.d.ts +5 -1
  24. package/dist/types/components/ReactionPicker/ReactionPicker.d.ts +4 -0
  25. package/dist/types/components/Reactions/Reactions.d.ts +9 -1
  26. package/dist/types/components/Trigger/Trigger.d.ts +4 -0
  27. package/dist/types/index.d.ts +1 -0
  28. package/dist/types-ts4.5/components/Reaction/Reaction.d.ts +5 -1
  29. package/dist/types-ts4.5/components/ReactionPicker/ReactionPicker.d.ts +4 -0
  30. package/dist/types-ts4.5/components/Reactions/Reactions.d.ts +9 -1
  31. package/dist/types-ts4.5/components/Trigger/Trigger.d.ts +4 -0
  32. package/dist/types-ts4.5/index.d.ts +1 -0
  33. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 26.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#119713](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/119713)
8
+ [`d0beb32e29ba5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d0beb32e29ba5) -
9
+ [ux] Adds two new optional props to Reactions package to control subtle styling for default
10
+ reactions and update the Trigger UI/tooltip for the ... UI. Also exports the closeManager.
11
+
3
12
  ## 26.4.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 = "26.4.2";
14
+ var packageVersion = "26.5.0";
15
15
  /**
16
16
  * TODO: move to utility package?
17
17
  * A random sampling function
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Reaction = exports.RENDER_REACTION_TESTID = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
13
  var _react = _interopRequireWildcard(require("react"));
@@ -40,6 +41,9 @@ var RENDER_REACTION_TESTID = exports.RENDER_REACTION_TESTID = 'render_reaction_w
40
41
  var containerStyles = (0, _primitives.xcss)({
41
42
  position: 'relative'
42
43
  });
44
+ var borderlessStyle = (0, _primitives.xcss)({
45
+ border: 'none'
46
+ });
43
47
  var reactedStyles = (0, _primitives.xcss)({
44
48
  backgroundColor: 'color.background.selected',
45
49
  borderColor: 'color.border.selected',
@@ -80,7 +84,8 @@ var Reaction = exports.Reaction = function Reaction(_ref) {
80
84
  allowUserDialog = _ref.allowUserDialog,
81
85
  handleOpenReactionsDialog = _ref.handleOpenReactionsDialog,
82
86
  _ref$isViewOnly = _ref.isViewOnly,
83
- isViewOnly = _ref$isViewOnly === void 0 ? false : _ref$isViewOnly;
87
+ isViewOnly = _ref$isViewOnly === void 0 ? false : _ref$isViewOnly,
88
+ showSubtleStyle = _ref.showSubtleStyle;
84
89
  var intl = (0, _reactIntlNext.useIntl)();
85
90
  var hoverStart = (0, _react.useRef)();
86
91
  var focusStart = (0, _react.useRef)();
@@ -156,7 +161,7 @@ var Reaction = exports.Reaction = function Reaction(_ref) {
156
161
  var dismissTooltip = function dismissTooltip() {
157
162
  setIsTooltipEnabled(false);
158
163
  };
159
- var buttonStyles = showOpaqueBackground ? [opaqueBackgroundStyles] : [];
164
+ var buttonStyles = [].concat((0, _toConsumableArray2.default)(showOpaqueBackground ? [opaqueBackgroundStyles] : []), (0, _toConsumableArray2.default)(showSubtleStyle ? [borderlessStyle] : []));
160
165
  var emojiAndCount = (0, _react2.jsx)(_primitives.Inline, null, (0, _react2.jsx)("div", {
161
166
  css: [_styles.emojiStyle, reaction.count === 0 && _styles.emojiNoReactionStyle]
162
167
  }, (0, _react2.jsx)(_emoji.ResourcedEmoji, {
@@ -99,7 +99,8 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
99
99
  _props$showRoundTrigg = props.showRoundTrigger,
100
100
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
101
101
  _props$reactionPicker = props.reactionPickerAdditionalStyle,
102
- reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker;
102
+ reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker,
103
+ showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
103
104
  var _useState = (0, _react.useState)(null),
104
105
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
105
106
  triggerRef = _useState2[0],
@@ -254,7 +255,8 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
254
255
  showOpaqueBackground: showOpaqueBackground,
255
256
  showAddReactionText: showAddReactionText,
256
257
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
257
- showRoundTrigger: showRoundTrigger
258
+ showRoundTrigger: showRoundTrigger,
259
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
258
260
  })
259
261
  );
260
262
  }), settings.isOpen && (0, _react2.jsx)(PopperWrapper, {
@@ -36,6 +36,12 @@ var ReactionTooltip = exports.ReactionTooltip = function ReactionTooltip(_ref) {
36
36
  allowUserDialog = _ref.allowUserDialog,
37
37
  handleOpenReactionsDialog = _ref.handleOpenReactionsDialog,
38
38
  dismissTooltip = _ref.dismissTooltip;
39
+ var handleClick = function handleClick() {
40
+ if (allowUserDialog && handleOpenReactionsDialog) {
41
+ dismissTooltip();
42
+ handleOpenReactionsDialog();
43
+ }
44
+ };
39
45
  var content = !users || users.length === 0 || !isEnabled ? null :
40
46
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values, jsx-a11y/no-noninteractive-tabindex -- Ignored via go/DSP-18766
41
47
  (0, _react2.jsx)("div", {
@@ -50,12 +56,8 @@ var ReactionTooltip = exports.ReactionTooltip = function ReactionTooltip(_ref) {
50
56
  }), (0, _react2.jsx)("li", {
51
57
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
52
58
  css: allowUserDialog ? [_styles.footerStyle, _styles.underlineStyle] : _styles.footerStyle,
53
- onClick: function onClick() {
54
- if (allowUserDialog && handleOpenReactionsDialog) {
55
- dismissTooltip();
56
- handleOpenReactionsDialog();
57
- }
58
- }
59
+ onMouseDown: handleClick,
60
+ onClick: handleClick
59
61
  }, users.length > maxReactions && (0, _react2.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _i18n.messages.otherUsers, {
60
62
  values: {
61
63
  count: users.length - maxReactions
@@ -158,7 +158,9 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
158
158
  _ref$noWrap = _ref.noWrap,
159
159
  noWrap = _ref$noWrap === void 0 ? false : _ref$noWrap,
160
160
  _ref$noRelativeContai = _ref.noRelativeContainer,
161
- noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai;
161
+ noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai,
162
+ showMoreEmojiTriggerUI = _ref.showMoreEmojiTriggerUI,
163
+ showSubtleDefaultReactions = _ref.showSubtleDefaultReactions;
162
164
  var _useState = (0, _react.useState)(),
163
165
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
164
166
  selectedEmojiId = _useState2[0],
@@ -345,7 +347,8 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
345
347
  showOpaqueBackground: showOpaqueBackground,
346
348
  allowUserDialog: allowUserDialog && hasEmojiWithFivePlusReactions,
347
349
  handleOpenReactionsDialog: _handleOpenReactionsDialog,
348
- isViewOnly: isViewOnly
350
+ isViewOnly: isViewOnly,
351
+ showSubtleStyle: showSubtleDefaultReactions && reactions.length === 0
349
352
  });
350
353
  })), !isViewOnly && (0, _react2.jsx)(_ReactionPicker.ReactionPicker
351
354
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
@@ -366,6 +369,7 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
366
369
  showAddReactionText: showAddReactionText,
367
370
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
368
371
  showRoundTrigger: showRoundTrigger,
372
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
369
373
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
370
374
  }), (0, _react2.jsx)(_modalDialog.ModalTransition, null, !!selectedEmojiId && (0, _react2.jsx)(_segment.default, {
371
375
  name: "reactions-dialog"
@@ -12,6 +12,7 @@ var _react2 = require("@emotion/react");
12
12
  var _primitives = require("@atlaskit/primitives");
13
13
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
14
14
  var _emojiAdd = _interopRequireDefault(require("@atlaskit/icon/core/migration/emoji-add"));
15
+ var _showMoreHorizontal = _interopRequireDefault(require("@atlaskit/icon/core/show-more-horizontal"));
15
16
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
17
  /**
17
18
  * @jsxRuntime classic
@@ -30,6 +31,11 @@ var i18n = (0, _reactIntlNext.defineMessages)({
30
31
  id: 'reaction-picker-trigger.add.reaction.message',
31
32
  description: 'Message displayed when there are no page reactions existing on the page.',
32
33
  defaultMessage: 'Add a reaction'
34
+ },
35
+ showMore: {
36
+ id: 'reaction-picker-trigger.more.emojis.message',
37
+ description: 'Message displayed on button to show more emojis.',
38
+ defaultMessage: 'More emojis'
33
39
  }
34
40
  });
35
41
  var triggerStyles = (0, _primitives.xcss)({
@@ -117,7 +123,8 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
117
123
  subtleReactionsSummaryAndPicker = _props$subtleReaction === void 0 ? false : _props$subtleReaction,
118
124
  _props$showRoundTrigg = props.showRoundTrigger,
119
125
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
120
- selectionStyle = props.selectionStyle;
126
+ selectionStyle = props.selectionStyle,
127
+ showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
121
128
  var handleMouseDown = function handleMouseDown(e, analyticsEvent) {
122
129
  if (onClick && !disabled) {
123
130
  onClick(e, analyticsEvent);
@@ -125,7 +132,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
125
132
  };
126
133
  return (0, _react2.jsx)(_tooltip.default, {
127
134
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
128
- content: tooltipContent
135
+ content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
129
136
  }, (0, _react2.jsx)(_primitives.Pressable, (0, _extends2.default)({
130
137
  testId: RENDER_TRIGGER_BUTTON_TESTID,
131
138
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, (0, _platformFeatureFlags.fg)('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -134,7 +141,14 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
134
141
  onClick: handleMouseDown,
135
142
  isDisabled: disabled,
136
143
  ref: ref
137
- }, ariaAttributes), (0, _react2.jsx)(_emojiAdd.default, {
144
+ }, ariaAttributes), showMoreEmojiTriggerUI ? (0, _react2.jsx)(_showMoreHorizontal.default, {
145
+ testId: "show-more-emojis-icon",
146
+ label: formatMessage(i18n.showMore),
147
+ color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)"
148
+ }) :
149
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
150
+ (0, _react2.jsx)(_emojiAdd.default, {
151
+ testId: "emoji-add-icon",
138
152
  color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)",
139
153
  LEGACY_size: "small",
140
154
  label: "Add reaction"
package/dist/cjs/index.js CHANGED
@@ -64,10 +64,17 @@ Object.defineProperty(exports, "Reactions", {
64
64
  }
65
65
  });
66
66
  exports.constants = exports.UFO = void 0;
67
+ Object.defineProperty(exports, "useCloseManager", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _useCloseManager.useCloseManager;
71
+ }
72
+ });
67
73
  var _constants = require("./shared/constants");
68
74
  var _ufo = require("./ufo");
69
75
  var _client = require("./client");
70
76
  var _components = require("./components");
77
+ var _useCloseManager = require("./hooks/useCloseManager");
71
78
  var _containers = require("./containers");
72
79
  var _store = require("./store");
73
80
  var _types = require("./types");
@@ -1,7 +1,7 @@
1
1
  import { createAndFireEvent } from '@atlaskit/analytics-next';
2
2
  import { UI_EVENT_TYPE, OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
3
3
  const packageName = "@atlaskit/reactions";
4
- const packageVersion = "26.4.2";
4
+ const packageVersion = "26.5.0";
5
5
  /**
6
6
  * TODO: move to utility package?
7
7
  * A random sampling function
@@ -25,6 +25,9 @@ export const RENDER_REACTION_TESTID = 'render_reaction_wrapper';
25
25
  const containerStyles = xcss({
26
26
  position: 'relative'
27
27
  });
28
+ const borderlessStyle = xcss({
29
+ border: 'none'
30
+ });
28
31
  const reactedStyles = xcss({
29
32
  backgroundColor: 'color.background.selected',
30
33
  borderColor: 'color.border.selected',
@@ -59,7 +62,8 @@ export const Reaction = ({
59
62
  showOpaqueBackground = false,
60
63
  allowUserDialog,
61
64
  handleOpenReactionsDialog,
62
- isViewOnly = false
65
+ isViewOnly = false,
66
+ showSubtleStyle
63
67
  }) => {
64
68
  const intl = useIntl();
65
69
  const hoverStart = useRef();
@@ -120,7 +124,7 @@ export const Reaction = ({
120
124
  const dismissTooltip = () => {
121
125
  setIsTooltipEnabled(false);
122
126
  };
123
- const buttonStyles = showOpaqueBackground ? [opaqueBackgroundStyles] : [];
127
+ const buttonStyles = [...(showOpaqueBackground ? [opaqueBackgroundStyles] : []), ...(showSubtleStyle ? [borderlessStyle] : [])];
124
128
  const emojiAndCount = jsx(Inline, null, jsx("div", {
125
129
  css: [emojiStyle, reaction.count === 0 && emojiNoReactionStyle]
126
130
  }, jsx(ResourcedEmoji, {
@@ -80,7 +80,8 @@ export const ReactionPicker = /*#__PURE__*/React.memo(props => {
80
80
  subtleReactionsSummaryAndPicker = false,
81
81
  showAddReactionText = false,
82
82
  showRoundTrigger = false,
83
- reactionPickerAdditionalStyle = undefined
83
+ reactionPickerAdditionalStyle = undefined,
84
+ showMoreEmojiTriggerUI
84
85
  } = props;
85
86
  const [triggerRef, setTriggerRef] = useState(null);
86
87
 
@@ -226,7 +227,8 @@ export const ReactionPicker = /*#__PURE__*/React.memo(props => {
226
227
  showOpaqueBackground: showOpaqueBackground,
227
228
  showAddReactionText: showAddReactionText,
228
229
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
229
- showRoundTrigger: showRoundTrigger
230
+ showRoundTrigger: showRoundTrigger,
231
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
230
232
  })), settings.isOpen && jsx(PopperWrapper, {
231
233
  settings: settings
232
234
  }, settings.showFullPicker ? jsx(EmojiPicker, {
@@ -27,6 +27,12 @@ export const ReactionTooltip = ({
27
27
  handleOpenReactionsDialog,
28
28
  dismissTooltip
29
29
  }) => {
30
+ const handleClick = () => {
31
+ if (allowUserDialog && handleOpenReactionsDialog) {
32
+ dismissTooltip();
33
+ handleOpenReactionsDialog();
34
+ }
35
+ };
30
36
  const content = !users || users.length === 0 || !isEnabled ? null :
31
37
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values, jsx-a11y/no-noninteractive-tabindex -- Ignored via go/DSP-18766
32
38
  jsx("div", {
@@ -41,12 +47,8 @@ export const ReactionTooltip = ({
41
47
  }), jsx("li", {
42
48
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
43
49
  css: allowUserDialog ? [footerStyle, underlineStyle] : footerStyle,
44
- onClick: () => {
45
- if (allowUserDialog && handleOpenReactionsDialog) {
46
- dismissTooltip();
47
- handleOpenReactionsDialog();
48
- }
49
- }
50
+ onMouseDown: handleClick,
51
+ onClick: handleClick
50
52
  }, users.length > maxReactions && jsx(FormattedMessage, _extends({}, messages.otherUsers, {
51
53
  values: {
52
54
  count: users.length - maxReactions
@@ -121,7 +121,9 @@ export const Reactions = /*#__PURE__*/React.memo(({
121
121
  isViewOnly = false,
122
122
  reactionPickerAdditionalStyle,
123
123
  noWrap = false,
124
- noRelativeContainer = false
124
+ noRelativeContainer = false,
125
+ showMoreEmojiTriggerUI,
126
+ showSubtleDefaultReactions
125
127
  }) => {
126
128
  const [selectedEmojiId, setSelectedEmojiId] = useState();
127
129
  const {
@@ -294,7 +296,8 @@ export const Reactions = /*#__PURE__*/React.memo(({
294
296
  showOpaqueBackground: showOpaqueBackground,
295
297
  allowUserDialog: allowUserDialog && hasEmojiWithFivePlusReactions,
296
298
  handleOpenReactionsDialog: handleOpenReactionsDialog,
297
- isViewOnly: isViewOnly
299
+ isViewOnly: isViewOnly,
300
+ showSubtleStyle: showSubtleDefaultReactions && reactions.length === 0
298
301
  }))), !isViewOnly && jsx(ReactionPicker
299
302
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
300
303
  , {
@@ -314,6 +317,7 @@ export const Reactions = /*#__PURE__*/React.memo(({
314
317
  showAddReactionText: showAddReactionText,
315
318
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
316
319
  showRoundTrigger: showRoundTrigger,
320
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
317
321
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
318
322
  }), jsx(ModalTransition, null, !!selectedEmojiId && jsx(UFOSegment, {
319
323
  name: "reactions-dialog"
@@ -10,6 +10,7 @@ import { jsx } from '@emotion/react';
10
10
  import { Pressable, Box, xcss } from '@atlaskit/primitives';
11
11
  import Tooltip from '@atlaskit/tooltip';
12
12
  import EmojiAddIcon from '@atlaskit/icon/core/migration/emoji-add';
13
+ import ShowMoreHorizontalIcon from '@atlaskit/icon/core/show-more-horizontal';
13
14
  import { fg } from '@atlaskit/platform-feature-flags';
14
15
 
15
16
  /**
@@ -22,6 +23,11 @@ const i18n = defineMessages({
22
23
  id: 'reaction-picker-trigger.add.reaction.message',
23
24
  description: 'Message displayed when there are no page reactions existing on the page.',
24
25
  defaultMessage: 'Add a reaction'
26
+ },
27
+ showMore: {
28
+ id: 'reaction-picker-trigger.more.emojis.message',
29
+ description: 'Message displayed on button to show more emojis.',
30
+ defaultMessage: 'More emojis'
25
31
  }
26
32
  });
27
33
  const triggerStyles = xcss({
@@ -105,7 +111,8 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
105
111
  showAddReactionText = false,
106
112
  subtleReactionsSummaryAndPicker = false,
107
113
  showRoundTrigger = false,
108
- selectionStyle
114
+ selectionStyle,
115
+ showMoreEmojiTriggerUI
109
116
  } = props;
110
117
  const handleMouseDown = (e, analyticsEvent) => {
111
118
  if (onClick && !disabled) {
@@ -114,7 +121,7 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
114
121
  };
115
122
  return jsx(Tooltip, {
116
123
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
117
- content: tooltipContent
124
+ content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
118
125
  }, jsx(Pressable, _extends({
119
126
  testId: RENDER_TRIGGER_BUTTON_TESTID,
120
127
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, fg('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -123,7 +130,14 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
123
130
  onClick: handleMouseDown,
124
131
  isDisabled: disabled,
125
132
  ref: ref
126
- }, ariaAttributes), jsx(EmojiAddIcon, {
133
+ }, ariaAttributes), showMoreEmojiTriggerUI ? jsx(ShowMoreHorizontalIcon, {
134
+ testId: "show-more-emojis-icon",
135
+ label: formatMessage(i18n.showMore),
136
+ color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)"
137
+ }) :
138
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
139
+ jsx(EmojiAddIcon, {
140
+ testId: "emoji-add-icon",
127
141
  color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)",
128
142
  LEGACY_size: "small",
129
143
  label: "Add reaction"
@@ -2,6 +2,7 @@ import { DefaultReactions, DefaultReactionsByShortName, ExtendedReactions, Exten
2
2
  import { ComponentName, ExperienceName, PickerRender, ReactionsAdd, ReactionDetailsFetch, ReactionDialogOpened, ReactionDialogSelectedReactionChanged, ReactionsRemove, ReactionsRendered, sampledReactionsRendered } from './ufo';
3
3
  export { ReactionServiceClient } from './client';
4
4
  export { Reaction, ReactionPicker, Reactions } from './components';
5
+ export { useCloseManager } from './hooks/useCloseManager';
5
6
  export { ConnectedReactionPicker, ConnectedReactionsView } from './containers';
6
7
  export { MemoryReactionsStore, ReactionConsumer } from './store';
7
8
  // TODO: Convert all calls for ReactionRequest to Request, RequestClient to Client and ReactionsStore to Store
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { createAndFireEvent } from '@atlaskit/analytics-next';
5
5
  import { UI_EVENT_TYPE, OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
6
6
  var packageName = "@atlaskit/reactions";
7
- var packageVersion = "26.4.2";
7
+ var packageVersion = "26.5.0";
8
8
  /**
9
9
  * TODO: move to utility package?
10
10
  * A random sampling function
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  import _regeneratorRuntime from "@babel/runtime/regenerator";
@@ -28,6 +29,9 @@ export var RENDER_REACTION_TESTID = 'render_reaction_wrapper';
28
29
  var containerStyles = xcss({
29
30
  position: 'relative'
30
31
  });
32
+ var borderlessStyle = xcss({
33
+ border: 'none'
34
+ });
31
35
  var reactedStyles = xcss({
32
36
  backgroundColor: 'color.background.selected',
33
37
  borderColor: 'color.border.selected',
@@ -68,7 +72,8 @@ export var Reaction = function Reaction(_ref) {
68
72
  allowUserDialog = _ref.allowUserDialog,
69
73
  handleOpenReactionsDialog = _ref.handleOpenReactionsDialog,
70
74
  _ref$isViewOnly = _ref.isViewOnly,
71
- isViewOnly = _ref$isViewOnly === void 0 ? false : _ref$isViewOnly;
75
+ isViewOnly = _ref$isViewOnly === void 0 ? false : _ref$isViewOnly,
76
+ showSubtleStyle = _ref.showSubtleStyle;
72
77
  var intl = useIntl();
73
78
  var hoverStart = useRef();
74
79
  var focusStart = useRef();
@@ -144,7 +149,7 @@ export var Reaction = function Reaction(_ref) {
144
149
  var dismissTooltip = function dismissTooltip() {
145
150
  setIsTooltipEnabled(false);
146
151
  };
147
- var buttonStyles = showOpaqueBackground ? [opaqueBackgroundStyles] : [];
152
+ var buttonStyles = [].concat(_toConsumableArray(showOpaqueBackground ? [opaqueBackgroundStyles] : []), _toConsumableArray(showSubtleStyle ? [borderlessStyle] : []));
148
153
  var emojiAndCount = jsx(Inline, null, jsx("div", {
149
154
  css: [emojiStyle, reaction.count === 0 && emojiNoReactionStyle]
150
155
  }, jsx(ResourcedEmoji, {
@@ -92,7 +92,8 @@ export var ReactionPicker = /*#__PURE__*/React.memo(function (props) {
92
92
  _props$showRoundTrigg = props.showRoundTrigger,
93
93
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
94
94
  _props$reactionPicker = props.reactionPickerAdditionalStyle,
95
- reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker;
95
+ reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker,
96
+ showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
96
97
  var _useState = useState(null),
97
98
  _useState2 = _slicedToArray(_useState, 2),
98
99
  triggerRef = _useState2[0],
@@ -247,7 +248,8 @@ export var ReactionPicker = /*#__PURE__*/React.memo(function (props) {
247
248
  showOpaqueBackground: showOpaqueBackground,
248
249
  showAddReactionText: showAddReactionText,
249
250
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
250
- showRoundTrigger: showRoundTrigger
251
+ showRoundTrigger: showRoundTrigger,
252
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
251
253
  })
252
254
  );
253
255
  }), settings.isOpen && jsx(PopperWrapper, {
@@ -27,6 +27,12 @@ export var ReactionTooltip = function ReactionTooltip(_ref) {
27
27
  allowUserDialog = _ref.allowUserDialog,
28
28
  handleOpenReactionsDialog = _ref.handleOpenReactionsDialog,
29
29
  dismissTooltip = _ref.dismissTooltip;
30
+ var handleClick = function handleClick() {
31
+ if (allowUserDialog && handleOpenReactionsDialog) {
32
+ dismissTooltip();
33
+ handleOpenReactionsDialog();
34
+ }
35
+ };
30
36
  var content = !users || users.length === 0 || !isEnabled ? null :
31
37
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values, jsx-a11y/no-noninteractive-tabindex -- Ignored via go/DSP-18766
32
38
  jsx("div", {
@@ -41,12 +47,8 @@ export var ReactionTooltip = function ReactionTooltip(_ref) {
41
47
  }), jsx("li", {
42
48
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
43
49
  css: allowUserDialog ? [footerStyle, underlineStyle] : footerStyle,
44
- onClick: function onClick() {
45
- if (allowUserDialog && handleOpenReactionsDialog) {
46
- dismissTooltip();
47
- handleOpenReactionsDialog();
48
- }
49
- }
50
+ onMouseDown: handleClick,
51
+ onClick: handleClick
50
52
  }, users.length > maxReactions && jsx(FormattedMessage, _extends({}, messages.otherUsers, {
51
53
  values: {
52
54
  count: users.length - maxReactions
@@ -144,7 +144,9 @@ export var Reactions = /*#__PURE__*/React.memo(function (_ref) {
144
144
  _ref$noWrap = _ref.noWrap,
145
145
  noWrap = _ref$noWrap === void 0 ? false : _ref$noWrap,
146
146
  _ref$noRelativeContai = _ref.noRelativeContainer,
147
- noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai;
147
+ noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai,
148
+ showMoreEmojiTriggerUI = _ref.showMoreEmojiTriggerUI,
149
+ showSubtleDefaultReactions = _ref.showSubtleDefaultReactions;
148
150
  var _useState = useState(),
149
151
  _useState2 = _slicedToArray(_useState, 2),
150
152
  selectedEmojiId = _useState2[0],
@@ -331,7 +333,8 @@ export var Reactions = /*#__PURE__*/React.memo(function (_ref) {
331
333
  showOpaqueBackground: showOpaqueBackground,
332
334
  allowUserDialog: allowUserDialog && hasEmojiWithFivePlusReactions,
333
335
  handleOpenReactionsDialog: _handleOpenReactionsDialog,
334
- isViewOnly: isViewOnly
336
+ isViewOnly: isViewOnly,
337
+ showSubtleStyle: showSubtleDefaultReactions && reactions.length === 0
335
338
  });
336
339
  })), !isViewOnly && jsx(ReactionPicker
337
340
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
@@ -352,6 +355,7 @@ export var Reactions = /*#__PURE__*/React.memo(function (_ref) {
352
355
  showAddReactionText: showAddReactionText,
353
356
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
354
357
  showRoundTrigger: showRoundTrigger,
358
+ showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
355
359
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
356
360
  }), jsx(ModalTransition, null, !!selectedEmojiId && jsx(UFOSegment, {
357
361
  name: "reactions-dialog"
@@ -10,6 +10,7 @@ import { jsx } from '@emotion/react';
10
10
  import { Pressable, Box, xcss } from '@atlaskit/primitives';
11
11
  import Tooltip from '@atlaskit/tooltip';
12
12
  import EmojiAddIcon from '@atlaskit/icon/core/migration/emoji-add';
13
+ import ShowMoreHorizontalIcon from '@atlaskit/icon/core/show-more-horizontal';
13
14
  import { fg } from '@atlaskit/platform-feature-flags';
14
15
 
15
16
  /**
@@ -22,6 +23,11 @@ var i18n = defineMessages({
22
23
  id: 'reaction-picker-trigger.add.reaction.message',
23
24
  description: 'Message displayed when there are no page reactions existing on the page.',
24
25
  defaultMessage: 'Add a reaction'
26
+ },
27
+ showMore: {
28
+ id: 'reaction-picker-trigger.more.emojis.message',
29
+ description: 'Message displayed on button to show more emojis.',
30
+ defaultMessage: 'More emojis'
25
31
  }
26
32
  });
27
33
  var triggerStyles = xcss({
@@ -109,7 +115,8 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
109
115
  subtleReactionsSummaryAndPicker = _props$subtleReaction === void 0 ? false : _props$subtleReaction,
110
116
  _props$showRoundTrigg = props.showRoundTrigger,
111
117
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
112
- selectionStyle = props.selectionStyle;
118
+ selectionStyle = props.selectionStyle,
119
+ showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
113
120
  var handleMouseDown = function handleMouseDown(e, analyticsEvent) {
114
121
  if (onClick && !disabled) {
115
122
  onClick(e, analyticsEvent);
@@ -117,7 +124,7 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
117
124
  };
118
125
  return jsx(Tooltip, {
119
126
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
120
- content: tooltipContent
127
+ content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
121
128
  }, jsx(Pressable, _extends({
122
129
  testId: RENDER_TRIGGER_BUTTON_TESTID,
123
130
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, fg('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -126,7 +133,14 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
126
133
  onClick: handleMouseDown,
127
134
  isDisabled: disabled,
128
135
  ref: ref
129
- }, ariaAttributes), jsx(EmojiAddIcon, {
136
+ }, ariaAttributes), showMoreEmojiTriggerUI ? jsx(ShowMoreHorizontalIcon, {
137
+ testId: "show-more-emojis-icon",
138
+ label: formatMessage(i18n.showMore),
139
+ color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)"
140
+ }) :
141
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
142
+ jsx(EmojiAddIcon, {
143
+ testId: "emoji-add-icon",
130
144
  color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)",
131
145
  LEGACY_size: "small",
132
146
  label: "Add reaction"
package/dist/esm/index.js CHANGED
@@ -2,6 +2,7 @@ import { DefaultReactions, DefaultReactionsByShortName, ExtendedReactions, Exten
2
2
  import { ComponentName, ExperienceName, PickerRender, ReactionsAdd, ReactionDetailsFetch, ReactionDialogOpened, ReactionDialogSelectedReactionChanged, ReactionsRemove, ReactionsRendered, sampledReactionsRendered } from './ufo';
3
3
  export { ReactionServiceClient } from './client';
4
4
  export { Reaction, ReactionPicker, Reactions } from './components';
5
+ export { useCloseManager } from './hooks/useCloseManager';
5
6
  export { ConnectedReactionPicker, ConnectedReactionsView } from './containers';
6
7
  export { MemoryReactionsStore, ReactionConsumer } from './store';
7
8
  // TODO: Convert all calls for ReactionRequest to Request, RequestClient to Client and ReactionsStore to Store
@@ -52,8 +52,12 @@ export interface ReactionProps {
52
52
  * Optional prop for controlling if the reactions component is view only, disabling adding reactions
53
53
  */
54
54
  isViewOnly?: boolean;
55
+ /**
56
+ * Optional prop for controlling if the reaction displayed is a default one and should not have a border
57
+ */
58
+ showSubtleStyle?: boolean;
55
59
  }
56
60
  /**
57
61
  * Render an emoji reaction button
58
62
  */
59
- export declare const Reaction: ({ emojiProvider, onClick, reaction, onMouseEnter, onFocused, flash, showParticleEffect, showOpaqueBackground, allowUserDialog, handleOpenReactionsDialog, isViewOnly, }: ReactionProps) => jsx.JSX.Element;
63
+ export declare const Reaction: ({ emojiProvider, onClick, reaction, onMouseEnter, onFocused, flash, showParticleEffect, showOpaqueBackground, allowUserDialog, handleOpenReactionsDialog, isViewOnly, showSubtleStyle, }: ReactionProps) => jsx.JSX.Element;
@@ -77,6 +77,10 @@ export interface ReactionPickerProps extends Pick<SelectorProps, 'pickerQuickRea
77
77
  * Option prop for controlling the reaction picker selection style
78
78
  */
79
79
  reactionPickerAdditionalStyle?: XCSS;
80
+ /**
81
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
82
+ */
83
+ showMoreEmojiTriggerUI?: boolean;
80
84
  }
81
85
  /**
82
86
  * Picker component for adding reactions
@@ -151,6 +151,14 @@ export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmoji
151
151
  * Optional prop for using your own container for relative positioning for emoji picker popup
152
152
  */
153
153
  noRelativeContainer?: boolean;
154
+ /**
155
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
156
+ */
157
+ showMoreEmojiTriggerUI?: boolean;
158
+ /**
159
+ * Optional prop for controlling if default reactions are subtle
160
+ */
161
+ showSubtleDefaultReactions?: boolean;
154
162
  }
155
163
  export interface OpenReactionsDialogOptions {
156
164
  emojiId?: string;
@@ -163,4 +171,4 @@ export declare function getTooltip(status: ReactionStatus, errorMessage?: string
163
171
  /**
164
172
  * Renders list of reactions
165
173
  */
166
- export declare const Reactions: React.MemoExoticComponent<({ flash, particleEffectByEmoji, status, errorMessage, loadReaction, quickReactionEmojis, pickerQuickReactionEmojiIds, getReactionDetails, onSelection, reactions, emojiProvider, allowAllEmojis, onReactionClick, allowUserDialog, onDialogOpenCallback, onDialogCloseCallback, onDialogSelectReactionCallback, onDialogPageChangeCallback, emojiPickerSize, miniMode, summaryViewEnabled, summaryViewThreshold, summaryViewPlacement, showOpaqueBackground, subtleReactionsSummaryAndPicker, showAddReactionText, hideDefaultReactions, ProfileCardWrapper, onlyRenderPicker, showRoundTrigger, isViewOnly, reactionPickerAdditionalStyle, noWrap, noRelativeContainer, }: ReactionsProps) => jsx.JSX.Element>;
174
+ export declare const Reactions: React.MemoExoticComponent<({ flash, particleEffectByEmoji, status, errorMessage, loadReaction, quickReactionEmojis, pickerQuickReactionEmojiIds, getReactionDetails, onSelection, reactions, emojiProvider, allowAllEmojis, onReactionClick, allowUserDialog, onDialogOpenCallback, onDialogCloseCallback, onDialogSelectReactionCallback, onDialogPageChangeCallback, emojiPickerSize, miniMode, summaryViewEnabled, summaryViewThreshold, summaryViewPlacement, showOpaqueBackground, subtleReactionsSummaryAndPicker, showAddReactionText, hideDefaultReactions, ProfileCardWrapper, onlyRenderPicker, showRoundTrigger, isViewOnly, reactionPickerAdditionalStyle, noWrap, noRelativeContainer, showMoreEmojiTriggerUI, showSubtleDefaultReactions, }: ReactionsProps) => jsx.JSX.Element>;
@@ -53,6 +53,10 @@ export interface TriggerProps {
53
53
  * Option prop for controlling the reaction picker selection style
54
54
  */
55
55
  selectionStyle?: XCSS;
56
+ /**
57
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
58
+ */
59
+ showMoreEmojiTriggerUI?: boolean;
56
60
  }
57
61
  /**
58
62
  * Render an emoji button to open the reactions select picker
@@ -1,6 +1,7 @@
1
1
  import { ComponentName, ExperienceName } from './ufo';
2
2
  export { ReactionServiceClient } from './client';
3
3
  export { Reaction, ReactionPicker, Reactions } from './components';
4
+ export { useCloseManager } from './hooks/useCloseManager';
4
5
  export { ConnectedReactionPicker, ConnectedReactionsView } from './containers';
5
6
  export { MemoryReactionsStore, ReactionConsumer } from './store';
6
7
  export type { Client as ReactionClient, Request as ReactionRequest, Store as ReactionsStore, StorePropInput, State, } from './types';
@@ -52,8 +52,12 @@ export interface ReactionProps {
52
52
  * Optional prop for controlling if the reactions component is view only, disabling adding reactions
53
53
  */
54
54
  isViewOnly?: boolean;
55
+ /**
56
+ * Optional prop for controlling if the reaction displayed is a default one and should not have a border
57
+ */
58
+ showSubtleStyle?: boolean;
55
59
  }
56
60
  /**
57
61
  * Render an emoji reaction button
58
62
  */
59
- export declare const Reaction: ({ emojiProvider, onClick, reaction, onMouseEnter, onFocused, flash, showParticleEffect, showOpaqueBackground, allowUserDialog, handleOpenReactionsDialog, isViewOnly, }: ReactionProps) => jsx.JSX.Element;
63
+ export declare const Reaction: ({ emojiProvider, onClick, reaction, onMouseEnter, onFocused, flash, showParticleEffect, showOpaqueBackground, allowUserDialog, handleOpenReactionsDialog, isViewOnly, showSubtleStyle, }: ReactionProps) => jsx.JSX.Element;
@@ -77,6 +77,10 @@ export interface ReactionPickerProps extends Pick<SelectorProps, 'pickerQuickRea
77
77
  * Option prop for controlling the reaction picker selection style
78
78
  */
79
79
  reactionPickerAdditionalStyle?: XCSS;
80
+ /**
81
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
82
+ */
83
+ showMoreEmojiTriggerUI?: boolean;
80
84
  }
81
85
  /**
82
86
  * Picker component for adding reactions
@@ -151,6 +151,14 @@ export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmoji
151
151
  * Optional prop for using your own container for relative positioning for emoji picker popup
152
152
  */
153
153
  noRelativeContainer?: boolean;
154
+ /**
155
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
156
+ */
157
+ showMoreEmojiTriggerUI?: boolean;
158
+ /**
159
+ * Optional prop for controlling if default reactions are subtle
160
+ */
161
+ showSubtleDefaultReactions?: boolean;
154
162
  }
155
163
  export interface OpenReactionsDialogOptions {
156
164
  emojiId?: string;
@@ -163,4 +171,4 @@ export declare function getTooltip(status: ReactionStatus, errorMessage?: string
163
171
  /**
164
172
  * Renders list of reactions
165
173
  */
166
- export declare const Reactions: React.MemoExoticComponent<({ flash, particleEffectByEmoji, status, errorMessage, loadReaction, quickReactionEmojis, pickerQuickReactionEmojiIds, getReactionDetails, onSelection, reactions, emojiProvider, allowAllEmojis, onReactionClick, allowUserDialog, onDialogOpenCallback, onDialogCloseCallback, onDialogSelectReactionCallback, onDialogPageChangeCallback, emojiPickerSize, miniMode, summaryViewEnabled, summaryViewThreshold, summaryViewPlacement, showOpaqueBackground, subtleReactionsSummaryAndPicker, showAddReactionText, hideDefaultReactions, ProfileCardWrapper, onlyRenderPicker, showRoundTrigger, isViewOnly, reactionPickerAdditionalStyle, noWrap, noRelativeContainer, }: ReactionsProps) => jsx.JSX.Element>;
174
+ export declare const Reactions: React.MemoExoticComponent<({ flash, particleEffectByEmoji, status, errorMessage, loadReaction, quickReactionEmojis, pickerQuickReactionEmojiIds, getReactionDetails, onSelection, reactions, emojiProvider, allowAllEmojis, onReactionClick, allowUserDialog, onDialogOpenCallback, onDialogCloseCallback, onDialogSelectReactionCallback, onDialogPageChangeCallback, emojiPickerSize, miniMode, summaryViewEnabled, summaryViewThreshold, summaryViewPlacement, showOpaqueBackground, subtleReactionsSummaryAndPicker, showAddReactionText, hideDefaultReactions, ProfileCardWrapper, onlyRenderPicker, showRoundTrigger, isViewOnly, reactionPickerAdditionalStyle, noWrap, noRelativeContainer, showMoreEmojiTriggerUI, showSubtleDefaultReactions, }: ReactionsProps) => jsx.JSX.Element>;
@@ -53,6 +53,10 @@ export interface TriggerProps {
53
53
  * Option prop for controlling the reaction picker selection style
54
54
  */
55
55
  selectionStyle?: XCSS;
56
+ /**
57
+ * Optional prop for controlling if Trigger displays the ... show more emoji UI
58
+ */
59
+ showMoreEmojiTriggerUI?: boolean;
56
60
  }
57
61
  /**
58
62
  * Render an emoji button to open the reactions select picker
@@ -1,6 +1,7 @@
1
1
  import { ComponentName, ExperienceName } from './ufo';
2
2
  export { ReactionServiceClient } from './client';
3
3
  export { Reaction, ReactionPicker, Reactions } from './components';
4
+ export { useCloseManager } from './hooks/useCloseManager';
4
5
  export { ConnectedReactionPicker, ConnectedReactionsView } from './containers';
5
6
  export { MemoryReactionsStore, ReactionConsumer } from './store';
6
7
  export type { Client as ReactionClient, Request as ReactionRequest, Store as ReactionsStore, StorePropInput, State, } from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/reactions",
3
- "version": "26.4.2",
3
+ "version": "26.5.0",
4
4
  "description": "Reactions component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"