@atlaskit/reactions 26.5.0 → 27.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 27.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#122626](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/122626)
8
+ [`28c2e5656229f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/28c2e5656229f) -
9
+ Updates the API by removing the optional boolean prop showMoreEmojiTriggerUI and instead adds two
10
+ new props reactionPickerTriggerIcon and reactionPickerTriggerTooltipContent to have more control
11
+ for displaying changes in the Trigger. Currently only Confluence was using this prop so the change
12
+ should be non-breaking but still marking as major since it's an API update.
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies
17
+
18
+ ## 26.5.1
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies
23
+
3
24
  ## 26.5.0
4
25
 
5
26
  ### Minor 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.5.0";
14
+ var packageVersion = "27.0.0";
15
15
  /**
16
16
  * TODO: move to utility package?
17
17
  * A random sampling function
@@ -14,7 +14,7 @@ var _colors = require("@atlaskit/theme/colors");
14
14
 
15
15
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
16
16
  var countStyle = exports.countStyle = (0, _react.css)({
17
- font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
17
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
18
18
  color: "var(--ds-text-subtlest, ".concat(_colors.N90, ")"),
19
19
  overflow: 'hidden',
20
20
  position: 'relative',
@@ -58,7 +58,7 @@ var userListStyle = exports.userListStyle = (0, _react.css)({
58
58
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
59
59
  li: {
60
60
  color: "".concat("var(--ds-text, ".concat(_colors.N500, ")")),
61
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
61
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"
62
62
  }
63
63
  });
64
64
 
@@ -100,7 +100,7 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
100
100
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
101
101
  _props$reactionPicker = props.reactionPickerAdditionalStyle,
102
102
  reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker,
103
- showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
103
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon;
104
104
  var _useState = (0, _react.useState)(null),
105
105
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
106
106
  triggerRef = _useState2[0],
@@ -256,7 +256,7 @@ var ReactionPicker = exports.ReactionPicker = /*#__PURE__*/_react.default.memo(f
256
256
  showAddReactionText: showAddReactionText,
257
257
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
258
258
  showRoundTrigger: showRoundTrigger,
259
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
259
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon
260
260
  })
261
261
  );
262
262
  }), settings.isOpen && (0, _react2.jsx)(PopperWrapper, {
@@ -85,7 +85,7 @@ var RENDER_REACTIONS_SUMMARY_TESTID = exports.RENDER_REACTIONS_SUMMARY_TESTID =
85
85
  /**
86
86
  * Get content of the tooltip
87
87
  */
88
- function getTooltip(status, errorMessage) {
88
+ function getTooltip(status, errorMessage, tooltipContent) {
89
89
  switch (status) {
90
90
  case _types.ReactionStatus.error:
91
91
  return errorMessage || (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.unexpectedError);
@@ -96,8 +96,9 @@ function getTooltip(status, errorMessage) {
96
96
  case _types.ReactionStatus.loading:
97
97
  return (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.loadingReactions);
98
98
  case _types.ReactionStatus.ready:
99
- return (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.addReaction);
99
+ return !!tooltipContent ? tooltipContent : (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.addReaction);
100
100
  }
101
+ ;
101
102
  }
102
103
 
103
104
  /**
@@ -159,8 +160,9 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
159
160
  noWrap = _ref$noWrap === void 0 ? false : _ref$noWrap,
160
161
  _ref$noRelativeContai = _ref.noRelativeContainer,
161
162
  noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai,
162
- showMoreEmojiTriggerUI = _ref.showMoreEmojiTriggerUI,
163
- showSubtleDefaultReactions = _ref.showSubtleDefaultReactions;
163
+ showSubtleDefaultReactions = _ref.showSubtleDefaultReactions,
164
+ reactionPickerTriggerToolipContent = _ref.reactionPickerTriggerToolipContent,
165
+ reactionPickerTriggerIcon = _ref.reactionPickerTriggerIcon;
164
166
  var _useState = (0, _react.useState)(),
165
167
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
166
168
  selectedEmojiId = _useState2[0],
@@ -362,14 +364,14 @@ var Reactions = exports.Reactions = /*#__PURE__*/_react.default.memo(function (_
362
364
  onOpen: handlePickerOpen,
363
365
  onCancel: handleOnCancel,
364
366
  onShowMore: handleOnMore,
365
- tooltipContent: getTooltip(status, errorMessage),
367
+ tooltipContent: getTooltip(status, errorMessage, reactionPickerTriggerToolipContent),
366
368
  emojiPickerSize: emojiPickerSize,
367
369
  miniMode: miniMode,
368
370
  showOpaqueBackground: showOpaqueBackground,
369
371
  showAddReactionText: showAddReactionText,
370
372
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
371
373
  showRoundTrigger: showRoundTrigger,
372
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
374
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon,
373
375
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
374
376
  }), (0, _react2.jsx)(_modalDialog.ModalTransition, null, !!selectedEmojiId && (0, _react2.jsx)(_segment.default, {
375
377
  name: "reactions-dialog"
@@ -12,7 +12,6 @@ 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"));
16
15
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
16
  /**
18
17
  * @jsxRuntime classic
@@ -31,11 +30,6 @@ var i18n = (0, _reactIntlNext.defineMessages)({
31
30
  id: 'reaction-picker-trigger.add.reaction.message',
32
31
  description: 'Message displayed when there are no page reactions existing on the page.',
33
32
  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'
39
33
  }
40
34
  });
41
35
  var triggerStyles = (0, _primitives.xcss)({
@@ -97,7 +91,7 @@ var miniModeStyles = (0, _primitives.xcss)({
97
91
  borderRadius: 'border.radius'
98
92
  });
99
93
  var addReactionMessageStyles = (0, _primitives.xcss)({
100
- font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
94
+ font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
101
95
  color: 'color.text.subtle',
102
96
  marginLeft: 'space.050'
103
97
  });
@@ -124,7 +118,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
124
118
  _props$showRoundTrigg = props.showRoundTrigger,
125
119
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
126
120
  selectionStyle = props.selectionStyle,
127
- showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
121
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon;
128
122
  var handleMouseDown = function handleMouseDown(e, analyticsEvent) {
129
123
  if (onClick && !disabled) {
130
124
  onClick(e, analyticsEvent);
@@ -132,7 +126,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
132
126
  };
133
127
  return (0, _react2.jsx)(_tooltip.default, {
134
128
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
135
- content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
129
+ content: tooltipContent
136
130
  }, (0, _react2.jsx)(_primitives.Pressable, (0, _extends2.default)({
137
131
  testId: RENDER_TRIGGER_BUTTON_TESTID,
138
132
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, (0, _platformFeatureFlags.fg)('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -141,11 +135,7 @@ var Trigger = exports.Trigger = /*#__PURE__*/_react.default.forwardRef(function
141
135
  onClick: handleMouseDown,
142
136
  isDisabled: disabled,
143
137
  ref: ref
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
- }) :
138
+ }, ariaAttributes), !!reactionPickerTriggerIcon ? reactionPickerTriggerIcon :
149
139
  // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
150
140
  (0, _react2.jsx)(_emojiAdd.default, {
151
141
  testId: "emoji-add-icon",
@@ -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.5.0";
4
+ const packageVersion = "27.0.0";
5
5
  /**
6
6
  * TODO: move to utility package?
7
7
  * A random sampling function
@@ -7,7 +7,7 @@ import { css } from '@emotion/react';
7
7
  import { N90, B400 } from '@atlaskit/theme/colors';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
9
9
  export const countStyle = css({
10
- font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
10
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
11
11
  color: `var(--ds-text-subtlest, ${N90})`,
12
12
  overflow: 'hidden',
13
13
  position: 'relative',
@@ -49,7 +49,7 @@ export const userListStyle = css({
49
49
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
50
50
  li: {
51
51
  color: `${`var(--ds-text, ${N500})`}`,
52
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
52
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"
53
53
  }
54
54
  });
55
55
 
@@ -81,7 +81,7 @@ export const ReactionPicker = /*#__PURE__*/React.memo(props => {
81
81
  showAddReactionText = false,
82
82
  showRoundTrigger = false,
83
83
  reactionPickerAdditionalStyle = undefined,
84
- showMoreEmojiTriggerUI
84
+ reactionPickerTriggerIcon
85
85
  } = props;
86
86
  const [triggerRef, setTriggerRef] = useState(null);
87
87
 
@@ -228,7 +228,7 @@ export const ReactionPicker = /*#__PURE__*/React.memo(props => {
228
228
  showAddReactionText: showAddReactionText,
229
229
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
230
230
  showRoundTrigger: showRoundTrigger,
231
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
231
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon
232
232
  })), settings.isOpen && jsx(PopperWrapper, {
233
233
  settings: settings
234
234
  }, settings.showFullPicker ? jsx(EmojiPicker, {
@@ -69,7 +69,7 @@ export const RENDER_REACTIONS_SUMMARY_TESTID = 'reaction-summary-view';
69
69
  /**
70
70
  * Get content of the tooltip
71
71
  */
72
- export function getTooltip(status, errorMessage) {
72
+ export function getTooltip(status, errorMessage, tooltipContent) {
73
73
  switch (status) {
74
74
  case ReactionStatus.error:
75
75
  return errorMessage || jsx(FormattedMessage, messages.unexpectedError);
@@ -80,8 +80,9 @@ export function getTooltip(status, errorMessage) {
80
80
  case ReactionStatus.loading:
81
81
  return jsx(FormattedMessage, messages.loadingReactions);
82
82
  case ReactionStatus.ready:
83
- return jsx(FormattedMessage, messages.addReaction);
83
+ return !!tooltipContent ? tooltipContent : jsx(FormattedMessage, messages.addReaction);
84
84
  }
85
+ ;
85
86
  }
86
87
 
87
88
  /**
@@ -122,8 +123,9 @@ export const Reactions = /*#__PURE__*/React.memo(({
122
123
  reactionPickerAdditionalStyle,
123
124
  noWrap = false,
124
125
  noRelativeContainer = false,
125
- showMoreEmojiTriggerUI,
126
- showSubtleDefaultReactions
126
+ showSubtleDefaultReactions,
127
+ reactionPickerTriggerToolipContent,
128
+ reactionPickerTriggerIcon
127
129
  }) => {
128
130
  const [selectedEmojiId, setSelectedEmojiId] = useState();
129
131
  const {
@@ -310,14 +312,14 @@ export const Reactions = /*#__PURE__*/React.memo(({
310
312
  onOpen: handlePickerOpen,
311
313
  onCancel: handleOnCancel,
312
314
  onShowMore: handleOnMore,
313
- tooltipContent: getTooltip(status, errorMessage),
315
+ tooltipContent: getTooltip(status, errorMessage, reactionPickerTriggerToolipContent),
314
316
  emojiPickerSize: emojiPickerSize,
315
317
  miniMode: miniMode,
316
318
  showOpaqueBackground: showOpaqueBackground,
317
319
  showAddReactionText: showAddReactionText,
318
320
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
319
321
  showRoundTrigger: showRoundTrigger,
320
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
322
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon,
321
323
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
322
324
  }), jsx(ModalTransition, null, !!selectedEmojiId && jsx(UFOSegment, {
323
325
  name: "reactions-dialog"
@@ -10,7 +10,6 @@ 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';
14
13
  import { fg } from '@atlaskit/platform-feature-flags';
15
14
 
16
15
  /**
@@ -23,11 +22,6 @@ const i18n = defineMessages({
23
22
  id: 'reaction-picker-trigger.add.reaction.message',
24
23
  description: 'Message displayed when there are no page reactions existing on the page.',
25
24
  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'
31
25
  }
32
26
  });
33
27
  const triggerStyles = xcss({
@@ -89,7 +83,7 @@ const miniModeStyles = xcss({
89
83
  borderRadius: 'border.radius'
90
84
  });
91
85
  const addReactionMessageStyles = xcss({
92
- font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
86
+ font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
93
87
  color: 'color.text.subtle',
94
88
  marginLeft: 'space.050'
95
89
  });
@@ -112,7 +106,7 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
112
106
  subtleReactionsSummaryAndPicker = false,
113
107
  showRoundTrigger = false,
114
108
  selectionStyle,
115
- showMoreEmojiTriggerUI
109
+ reactionPickerTriggerIcon
116
110
  } = props;
117
111
  const handleMouseDown = (e, analyticsEvent) => {
118
112
  if (onClick && !disabled) {
@@ -121,7 +115,7 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
121
115
  };
122
116
  return jsx(Tooltip, {
123
117
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
124
- content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
118
+ content: tooltipContent
125
119
  }, jsx(Pressable, _extends({
126
120
  testId: RENDER_TRIGGER_BUTTON_TESTID,
127
121
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, fg('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -130,11 +124,7 @@ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
130
124
  onClick: handleMouseDown,
131
125
  isDisabled: disabled,
132
126
  ref: ref
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
- }) :
127
+ }, ariaAttributes), !!reactionPickerTriggerIcon ? reactionPickerTriggerIcon :
138
128
  // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
139
129
  jsx(EmojiAddIcon, {
140
130
  testId: "emoji-add-icon",
@@ -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.5.0";
7
+ var packageVersion = "27.0.0";
8
8
  /**
9
9
  * TODO: move to utility package?
10
10
  * A random sampling function
@@ -7,7 +7,7 @@ import { css } from '@emotion/react';
7
7
  import { N90, B400 } from '@atlaskit/theme/colors';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
9
9
  export var countStyle = css({
10
- font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
10
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
11
11
  color: "var(--ds-text-subtlest, ".concat(N90, ")"),
12
12
  overflow: 'hidden',
13
13
  position: 'relative',
@@ -51,7 +51,7 @@ export var userListStyle = css({
51
51
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
52
52
  li: {
53
53
  color: "".concat("var(--ds-text, ".concat(N500, ")")),
54
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
54
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"
55
55
  }
56
56
  });
57
57
 
@@ -93,7 +93,7 @@ export var ReactionPicker = /*#__PURE__*/React.memo(function (props) {
93
93
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
94
94
  _props$reactionPicker = props.reactionPickerAdditionalStyle,
95
95
  reactionPickerAdditionalStyle = _props$reactionPicker === void 0 ? undefined : _props$reactionPicker,
96
- showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
96
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon;
97
97
  var _useState = useState(null),
98
98
  _useState2 = _slicedToArray(_useState, 2),
99
99
  triggerRef = _useState2[0],
@@ -249,7 +249,7 @@ export var ReactionPicker = /*#__PURE__*/React.memo(function (props) {
249
249
  showAddReactionText: showAddReactionText,
250
250
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
251
251
  showRoundTrigger: showRoundTrigger,
252
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI
252
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon
253
253
  })
254
254
  );
255
255
  }), settings.isOpen && jsx(PopperWrapper, {
@@ -71,7 +71,7 @@ export var RENDER_REACTIONS_SUMMARY_TESTID = 'reaction-summary-view';
71
71
  /**
72
72
  * Get content of the tooltip
73
73
  */
74
- export function getTooltip(status, errorMessage) {
74
+ export function getTooltip(status, errorMessage, tooltipContent) {
75
75
  switch (status) {
76
76
  case ReactionStatus.error:
77
77
  return errorMessage || jsx(FormattedMessage, messages.unexpectedError);
@@ -82,8 +82,9 @@ export function getTooltip(status, errorMessage) {
82
82
  case ReactionStatus.loading:
83
83
  return jsx(FormattedMessage, messages.loadingReactions);
84
84
  case ReactionStatus.ready:
85
- return jsx(FormattedMessage, messages.addReaction);
85
+ return !!tooltipContent ? tooltipContent : jsx(FormattedMessage, messages.addReaction);
86
86
  }
87
+ ;
87
88
  }
88
89
 
89
90
  /**
@@ -145,8 +146,9 @@ export var Reactions = /*#__PURE__*/React.memo(function (_ref) {
145
146
  noWrap = _ref$noWrap === void 0 ? false : _ref$noWrap,
146
147
  _ref$noRelativeContai = _ref.noRelativeContainer,
147
148
  noRelativeContainer = _ref$noRelativeContai === void 0 ? false : _ref$noRelativeContai,
148
- showMoreEmojiTriggerUI = _ref.showMoreEmojiTriggerUI,
149
- showSubtleDefaultReactions = _ref.showSubtleDefaultReactions;
149
+ showSubtleDefaultReactions = _ref.showSubtleDefaultReactions,
150
+ reactionPickerTriggerToolipContent = _ref.reactionPickerTriggerToolipContent,
151
+ reactionPickerTriggerIcon = _ref.reactionPickerTriggerIcon;
150
152
  var _useState = useState(),
151
153
  _useState2 = _slicedToArray(_useState, 2),
152
154
  selectedEmojiId = _useState2[0],
@@ -348,14 +350,14 @@ export var Reactions = /*#__PURE__*/React.memo(function (_ref) {
348
350
  onOpen: handlePickerOpen,
349
351
  onCancel: handleOnCancel,
350
352
  onShowMore: handleOnMore,
351
- tooltipContent: getTooltip(status, errorMessage),
353
+ tooltipContent: getTooltip(status, errorMessage, reactionPickerTriggerToolipContent),
352
354
  emojiPickerSize: emojiPickerSize,
353
355
  miniMode: miniMode,
354
356
  showOpaqueBackground: showOpaqueBackground,
355
357
  showAddReactionText: showAddReactionText,
356
358
  subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
357
359
  showRoundTrigger: showRoundTrigger,
358
- showMoreEmojiTriggerUI: showMoreEmojiTriggerUI,
360
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon,
359
361
  reactionPickerAdditionalStyle: reactionPickerAdditionalStyle
360
362
  }), jsx(ModalTransition, null, !!selectedEmojiId && jsx(UFOSegment, {
361
363
  name: "reactions-dialog"
@@ -10,7 +10,6 @@ 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';
14
13
  import { fg } from '@atlaskit/platform-feature-flags';
15
14
 
16
15
  /**
@@ -23,11 +22,6 @@ var i18n = defineMessages({
23
22
  id: 'reaction-picker-trigger.add.reaction.message',
24
23
  description: 'Message displayed when there are no page reactions existing on the page.',
25
24
  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'
31
25
  }
32
26
  });
33
27
  var triggerStyles = xcss({
@@ -89,7 +83,7 @@ var miniModeStyles = xcss({
89
83
  borderRadius: 'border.radius'
90
84
  });
91
85
  var addReactionMessageStyles = xcss({
92
- font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
86
+ font: "var(--ds-font-body-UNSAFE_small, normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
93
87
  color: 'color.text.subtle',
94
88
  marginLeft: 'space.050'
95
89
  });
@@ -116,7 +110,7 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
116
110
  _props$showRoundTrigg = props.showRoundTrigger,
117
111
  showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
118
112
  selectionStyle = props.selectionStyle,
119
- showMoreEmojiTriggerUI = props.showMoreEmojiTriggerUI;
113
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon;
120
114
  var handleMouseDown = function handleMouseDown(e, analyticsEvent) {
121
115
  if (onClick && !disabled) {
122
116
  onClick(e, analyticsEvent);
@@ -124,7 +118,7 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
124
118
  };
125
119
  return jsx(Tooltip, {
126
120
  testId: RENDER_TOOLTIP_TRIGGER_TESTID,
127
- content: showMoreEmojiTriggerUI ? formatMessage(i18n.showMore) : tooltipContent
121
+ content: tooltipContent
128
122
  }, jsx(Pressable, _extends({
129
123
  testId: RENDER_TRIGGER_BUTTON_TESTID,
130
124
  xcss: [triggerStyles, subtleReactionsSummaryAndPicker && subtleTriggerStyles, showAddReactionText && expandedTriggerStyles, disabled ? disabledTriggerStyles : showOpaqueBackground ? opaqueEnabledTriggerStyles : transparentEnabledTriggerStyles, miniMode && miniModeStyles, fg('platform-component-visual-refresh') && triggerStylesRefresh, showRoundTrigger && roundTriggerStyles,
@@ -133,11 +127,7 @@ export var Trigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
133
127
  onClick: handleMouseDown,
134
128
  isDisabled: disabled,
135
129
  ref: ref
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
- }) :
130
+ }, ariaAttributes), !!reactionPickerTriggerIcon ? reactionPickerTriggerIcon :
141
131
  // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
142
132
  jsx(EmojiAddIcon, {
143
133
  testId: "emoji-add-icon",
@@ -78,9 +78,9 @@ export interface ReactionPickerProps extends Pick<SelectorProps, 'pickerQuickRea
78
78
  */
79
79
  reactionPickerAdditionalStyle?: XCSS;
80
80
  /**
81
- * Optional prop for controlling if Trigger displays the ... show more emoji UI
81
+ * Optional prop for controlling icon inside Trigger
82
82
  */
83
- showMoreEmojiTriggerUI?: boolean;
83
+ reactionPickerTriggerIcon?: React.ReactNode;
84
84
  }
85
85
  /**
86
86
  * Picker component for adding reactions
@@ -35,7 +35,7 @@ export declare const RENDER_VIEWALL_REACTED_USERS_DIALOG = "viewall-reacted-user
35
35
  * Test id for summary view of reactions
36
36
  */
37
37
  export declare const RENDER_REACTIONS_SUMMARY_TESTID = "reaction-summary-view";
38
- export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmojis' | 'emojiProvider' | 'emojiPickerSize' | 'miniMode'>, Pick<SelectorProps, 'pickerQuickReactionEmojiIds'> {
38
+ export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmojis' | 'emojiProvider' | 'emojiPickerSize' | 'miniMode' | 'reactionPickerTriggerIcon'>, Pick<SelectorProps, 'pickerQuickReactionEmojiIds'> {
39
39
  /**
40
40
  * event handler to fetching the reactions
41
41
  */
@@ -151,14 +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
154
  /**
159
155
  * Optional prop for controlling if default reactions are subtle
160
156
  */
161
157
  showSubtleDefaultReactions?: boolean;
158
+ /**
159
+ * Optional prop for controlling tooltip content of the trigger button
160
+ */
161
+ reactionPickerTriggerToolipContent?: string;
162
162
  }
163
163
  export interface OpenReactionsDialogOptions {
164
164
  emojiId?: string;
@@ -167,8 +167,8 @@ export interface OpenReactionsDialogOptions {
167
167
  /**
168
168
  * Get content of the tooltip
169
169
  */
170
- export declare function getTooltip(status: ReactionStatus, errorMessage?: string): string | jsx.JSX.Element | null;
170
+ export declare function getTooltip(status: ReactionStatus, errorMessage?: string, tooltipContent?: string): string | jsx.JSX.Element | null;
171
171
  /**
172
172
  * Renders list of reactions
173
173
  */
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>;
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, showSubtleDefaultReactions, reactionPickerTriggerToolipContent, reactionPickerTriggerIcon, }: ReactionsProps) => jsx.JSX.Element>;
@@ -54,9 +54,9 @@ export interface TriggerProps {
54
54
  */
55
55
  selectionStyle?: XCSS;
56
56
  /**
57
- * Optional prop for controlling if Trigger displays the ... show more emoji UI
57
+ * Optional prop for controlling icon inside Trigger
58
58
  */
59
- showMoreEmojiTriggerUI?: boolean;
59
+ reactionPickerTriggerIcon?: React.ReactNode;
60
60
  }
61
61
  /**
62
62
  * Render an emoji button to open the reactions select picker
@@ -78,9 +78,9 @@ export interface ReactionPickerProps extends Pick<SelectorProps, 'pickerQuickRea
78
78
  */
79
79
  reactionPickerAdditionalStyle?: XCSS;
80
80
  /**
81
- * Optional prop for controlling if Trigger displays the ... show more emoji UI
81
+ * Optional prop for controlling icon inside Trigger
82
82
  */
83
- showMoreEmojiTriggerUI?: boolean;
83
+ reactionPickerTriggerIcon?: React.ReactNode;
84
84
  }
85
85
  /**
86
86
  * Picker component for adding reactions
@@ -35,7 +35,7 @@ export declare const RENDER_VIEWALL_REACTED_USERS_DIALOG = "viewall-reacted-user
35
35
  * Test id for summary view of reactions
36
36
  */
37
37
  export declare const RENDER_REACTIONS_SUMMARY_TESTID = "reaction-summary-view";
38
- export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmojis' | 'emojiProvider' | 'emojiPickerSize' | 'miniMode'>, Pick<SelectorProps, 'pickerQuickReactionEmojiIds'> {
38
+ export interface ReactionsProps extends Pick<ReactionPickerProps, 'allowAllEmojis' | 'emojiProvider' | 'emojiPickerSize' | 'miniMode' | 'reactionPickerTriggerIcon'>, Pick<SelectorProps, 'pickerQuickReactionEmojiIds'> {
39
39
  /**
40
40
  * event handler to fetching the reactions
41
41
  */
@@ -151,14 +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
154
  /**
159
155
  * Optional prop for controlling if default reactions are subtle
160
156
  */
161
157
  showSubtleDefaultReactions?: boolean;
158
+ /**
159
+ * Optional prop for controlling tooltip content of the trigger button
160
+ */
161
+ reactionPickerTriggerToolipContent?: string;
162
162
  }
163
163
  export interface OpenReactionsDialogOptions {
164
164
  emojiId?: string;
@@ -167,8 +167,8 @@ export interface OpenReactionsDialogOptions {
167
167
  /**
168
168
  * Get content of the tooltip
169
169
  */
170
- export declare function getTooltip(status: ReactionStatus, errorMessage?: string): string | jsx.JSX.Element | null;
170
+ export declare function getTooltip(status: ReactionStatus, errorMessage?: string, tooltipContent?: string): string | jsx.JSX.Element | null;
171
171
  /**
172
172
  * Renders list of reactions
173
173
  */
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>;
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, showSubtleDefaultReactions, reactionPickerTriggerToolipContent, reactionPickerTriggerIcon, }: ReactionsProps) => jsx.JSX.Element>;
@@ -54,9 +54,9 @@ export interface TriggerProps {
54
54
  */
55
55
  selectionStyle?: XCSS;
56
56
  /**
57
- * Optional prop for controlling if Trigger displays the ... show more emoji UI
57
+ * Optional prop for controlling icon inside Trigger
58
58
  */
59
- showMoreEmojiTriggerUI?: boolean;
59
+ reactionPickerTriggerIcon?: React.ReactNode;
60
60
  }
61
61
  /**
62
62
  * Render an emoji button to open the reactions select picker
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/reactions",
3
- "version": "26.5.0",
3
+ "version": "27.0.0",
4
4
  "description": "Reactions component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,13 +44,13 @@
44
44
  "@atlaskit/motion": "^5.0.0",
45
45
  "@atlaskit/platform-feature-flags": "^1.1.0",
46
46
  "@atlaskit/popper": "^7.0.0",
47
- "@atlaskit/popup": "2.0.1",
47
+ "@atlaskit/popup": "2.0.3",
48
48
  "@atlaskit/primitives": "^14.1.0",
49
- "@atlaskit/react-ufo": "^3.1.0",
49
+ "@atlaskit/react-ufo": "^3.3.0",
50
50
  "@atlaskit/spinner": "^18.0.0",
51
51
  "@atlaskit/tabs": "^18.0.0",
52
- "@atlaskit/theme": "^17.0.0",
53
- "@atlaskit/tokens": "^4.2.0",
52
+ "@atlaskit/theme": "^18.0.0",
53
+ "@atlaskit/tokens": "^4.3.0",
54
54
  "@atlaskit/tooltip": "^20.0.0",
55
55
  "@atlaskit/ufo": "^0.4.0",
56
56
  "@atlaskit/util-service-support": "^6.2.0",