@atlaskit/reactions 30.0.0 → 30.0.2

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 (125) hide show
  1. package/CHANGELOG.md +16 -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/dist/cjs/analytics/index.js +1 -1
  6. package/dist/cjs/components/ShowMore/ShowMore.js +4 -10
  7. package/dist/cjs/components/compiled/EmojiButton.compiled.css +17 -0
  8. package/dist/cjs/components/compiled/EmojiButton.js +48 -0
  9. package/dist/cjs/components/compiled/ReactionButton.compiled.css +4 -5
  10. package/dist/cjs/components/compiled/ReactionButton.js +5 -3
  11. package/dist/cjs/components/compiled/ReactionPicker.compiled.css +11 -0
  12. package/dist/cjs/components/compiled/ReactionPicker.js +325 -0
  13. package/dist/cjs/components/compiled/ReactionSummaryButton.compiled.css +7 -0
  14. package/dist/cjs/components/compiled/ReactionSummaryButton.js +110 -0
  15. package/dist/cjs/components/compiled/ReactionSummaryView.compiled.css +5 -0
  16. package/dist/cjs/components/compiled/ReactionSummaryView.js +117 -0
  17. package/dist/cjs/components/compiled/ReactionView.compiled.css +22 -0
  18. package/dist/cjs/components/compiled/ReactionView.js +77 -0
  19. package/dist/cjs/components/compiled/Reactions.js +6 -6
  20. package/dist/cjs/components/compiled/ReactionsDialog.compiled.css +14 -0
  21. package/dist/cjs/components/compiled/ReactionsDialog.js +125 -0
  22. package/dist/cjs/components/compiled/ReactionsDialogHeader.compiled.css +60 -0
  23. package/dist/cjs/components/compiled/ReactionsDialogHeader.js +203 -0
  24. package/dist/cjs/components/compiled/ReactionsDialogTrigger.compiled.css +16 -0
  25. package/dist/cjs/components/compiled/ReactionsDialogTrigger.js +39 -0
  26. package/dist/cjs/components/compiled/ReactionsList.js +26 -0
  27. package/dist/cjs/components/compiled/Selector.compiled.css +13 -0
  28. package/dist/cjs/components/compiled/Selector.js +81 -0
  29. package/dist/cjs/components/compiled/StaticReaction.compiled.css +3 -1
  30. package/dist/cjs/components/compiled/StaticReaction.js +3 -4
  31. package/dist/cjs/components/compiled/Trigger.compiled.css +34 -0
  32. package/dist/cjs/components/compiled/Trigger.js +100 -0
  33. package/dist/cjs/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +5 -1
  34. package/dist/cjs/index.js +3 -7
  35. package/dist/es2019/analytics/index.js +1 -1
  36. package/dist/es2019/components/ShowMore/ShowMore.js +3 -8
  37. package/dist/es2019/components/compiled/EmojiButton.compiled.css +17 -0
  38. package/dist/es2019/components/compiled/EmojiButton.js +40 -0
  39. package/dist/es2019/components/compiled/ReactionButton.compiled.css +4 -5
  40. package/dist/es2019/components/compiled/ReactionButton.js +5 -3
  41. package/dist/es2019/components/compiled/ReactionPicker.compiled.css +11 -0
  42. package/dist/es2019/components/compiled/ReactionPicker.js +295 -0
  43. package/dist/es2019/components/compiled/ReactionSummaryButton.compiled.css +7 -0
  44. package/dist/es2019/components/compiled/ReactionSummaryButton.js +88 -0
  45. package/dist/es2019/components/compiled/ReactionSummaryView.compiled.css +5 -0
  46. package/dist/es2019/components/compiled/ReactionSummaryView.js +87 -0
  47. package/dist/es2019/components/compiled/ReactionView.compiled.css +22 -0
  48. package/dist/es2019/components/compiled/ReactionView.js +63 -0
  49. package/dist/es2019/components/compiled/Reactions.js +4 -4
  50. package/dist/es2019/components/compiled/ReactionsDialog.compiled.css +14 -0
  51. package/dist/es2019/components/compiled/ReactionsDialog.js +99 -0
  52. package/dist/es2019/components/compiled/ReactionsDialogHeader.compiled.css +60 -0
  53. package/dist/es2019/components/compiled/ReactionsDialogHeader.js +172 -0
  54. package/dist/es2019/components/compiled/ReactionsDialogTrigger.compiled.css +16 -0
  55. package/dist/es2019/components/compiled/ReactionsDialogTrigger.js +30 -0
  56. package/dist/es2019/components/compiled/ReactionsList.js +20 -0
  57. package/dist/es2019/components/compiled/Selector.compiled.css +14 -0
  58. package/dist/es2019/components/compiled/Selector.js +69 -0
  59. package/dist/es2019/components/compiled/StaticReaction.compiled.css +3 -1
  60. package/dist/es2019/components/compiled/StaticReaction.js +4 -5
  61. package/dist/es2019/components/compiled/Trigger.compiled.css +34 -0
  62. package/dist/es2019/components/compiled/Trigger.js +90 -0
  63. package/dist/es2019/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +5 -1
  64. package/dist/es2019/index.js +6 -2
  65. package/dist/esm/analytics/index.js +1 -1
  66. package/dist/esm/components/ShowMore/ShowMore.js +4 -9
  67. package/dist/esm/components/compiled/EmojiButton.compiled.css +17 -0
  68. package/dist/esm/components/compiled/EmojiButton.js +39 -0
  69. package/dist/esm/components/compiled/ReactionButton.compiled.css +4 -5
  70. package/dist/esm/components/compiled/ReactionButton.js +5 -3
  71. package/dist/esm/components/compiled/ReactionPicker.compiled.css +11 -0
  72. package/dist/esm/components/compiled/ReactionPicker.js +316 -0
  73. package/dist/esm/components/compiled/ReactionSummaryButton.compiled.css +7 -0
  74. package/dist/esm/components/compiled/ReactionSummaryButton.js +100 -0
  75. package/dist/esm/components/compiled/ReactionSummaryView.compiled.css +5 -0
  76. package/dist/esm/components/compiled/ReactionSummaryView.js +107 -0
  77. package/dist/esm/components/compiled/ReactionView.compiled.css +22 -0
  78. package/dist/esm/components/compiled/ReactionView.js +67 -0
  79. package/dist/esm/components/compiled/Reactions.js +4 -4
  80. package/dist/esm/components/compiled/ReactionsDialog.compiled.css +14 -0
  81. package/dist/esm/components/compiled/ReactionsDialog.js +115 -0
  82. package/dist/esm/components/compiled/ReactionsDialogHeader.compiled.css +60 -0
  83. package/dist/esm/components/compiled/ReactionsDialogHeader.js +193 -0
  84. package/dist/esm/components/compiled/ReactionsDialogTrigger.compiled.css +16 -0
  85. package/dist/esm/components/compiled/ReactionsDialogTrigger.js +29 -0
  86. package/dist/esm/components/compiled/ReactionsList.js +19 -0
  87. package/dist/esm/components/compiled/Selector.compiled.css +13 -0
  88. package/dist/esm/components/compiled/Selector.js +71 -0
  89. package/dist/esm/components/compiled/StaticReaction.compiled.css +3 -1
  90. package/dist/esm/components/compiled/StaticReaction.js +4 -5
  91. package/dist/esm/components/compiled/Trigger.compiled.css +34 -0
  92. package/dist/esm/components/compiled/Trigger.js +93 -0
  93. package/dist/esm/containers/ConnectedReactionPicker/ConnectedReactionPicker.js +5 -1
  94. package/dist/esm/index.js +6 -2
  95. package/dist/types/components/ShowMore/ShowMore.d.ts +2 -7
  96. package/dist/types/components/compiled/EmojiButton.d.ts +21 -0
  97. package/dist/types/components/compiled/ReactionButton.d.ts +2 -1
  98. package/dist/types/components/compiled/ReactionPicker.d.ts +100 -0
  99. package/dist/types/components/compiled/ReactionSummaryButton.d.ts +34 -0
  100. package/dist/types/components/compiled/ReactionSummaryView.d.ts +58 -0
  101. package/dist/types/components/compiled/ReactionView.d.ts +13 -0
  102. package/dist/types/components/compiled/Reactions.d.ts +2 -2
  103. package/dist/types/components/compiled/ReactionsDialog.d.ts +33 -0
  104. package/dist/types/components/compiled/ReactionsDialogHeader.d.ts +16 -0
  105. package/dist/types/components/compiled/ReactionsDialogTrigger.d.ts +6 -0
  106. package/dist/types/components/compiled/ReactionsList.d.ts +20 -0
  107. package/dist/types/components/compiled/Selector.d.ts +33 -0
  108. package/dist/types/components/compiled/Trigger.d.ts +64 -0
  109. package/dist/types/index.d.ts +4 -2
  110. package/dist/types-ts4.5/components/ShowMore/ShowMore.d.ts +2 -7
  111. package/dist/types-ts4.5/components/compiled/EmojiButton.d.ts +21 -0
  112. package/dist/types-ts4.5/components/compiled/ReactionButton.d.ts +2 -1
  113. package/dist/types-ts4.5/components/compiled/ReactionPicker.d.ts +100 -0
  114. package/dist/types-ts4.5/components/compiled/ReactionSummaryButton.d.ts +34 -0
  115. package/dist/types-ts4.5/components/compiled/ReactionSummaryView.d.ts +58 -0
  116. package/dist/types-ts4.5/components/compiled/ReactionView.d.ts +13 -0
  117. package/dist/types-ts4.5/components/compiled/Reactions.d.ts +2 -2
  118. package/dist/types-ts4.5/components/compiled/ReactionsDialog.d.ts +33 -0
  119. package/dist/types-ts4.5/components/compiled/ReactionsDialogHeader.d.ts +16 -0
  120. package/dist/types-ts4.5/components/compiled/ReactionsDialogTrigger.d.ts +6 -0
  121. package/dist/types-ts4.5/components/compiled/ReactionsList.d.ts +20 -0
  122. package/dist/types-ts4.5/components/compiled/Selector.d.ts +33 -0
  123. package/dist/types-ts4.5/components/compiled/Trigger.d.ts +64 -0
  124. package/dist/types-ts4.5/index.d.ts +4 -2
  125. package/package.json +3 -2
@@ -0,0 +1,90 @@
1
+ /* Trigger.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import "./Trigger.compiled.css";
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import { defineMessages, useIntl } from 'react-intl-next';
6
+ import Tooltip from '@atlaskit/tooltip';
7
+ import EmojiAddIcon from '@atlaskit/icon/core/migration/emoji-add';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
9
+ import { Box, Pressable } from '@atlaskit/primitives/compiled';
10
+ import { cx } from '@compiled/react';
11
+ import React from 'react';
12
+ const styles = {
13
+ trigger: "_2rko14q2 _189ee4h9 _1dqonqa1 _1ul9zwfg _4t3i1tcg _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t _1e0c1txw _1bah1h6o _4cvr1h6o",
14
+ subtleTrigger: "_1dqoglyw _1ul91tcg",
15
+ expandedTrigger: "_1ul9146b",
16
+ triggerStylesRefresh: "_2rkoglpi",
17
+ roundTrigger: "_2rko14q2 _4t3iviql _1bsbviql",
18
+ transparentEnabledTrigger: "_1h6dmuej _bfhksm61 _irr3166n _1di61dty",
19
+ opaqueEnabledTrigger: "_1h6dmuej _bfhkvuon _irr3108i _1di61ji5",
20
+ disabledTrigger: "_1h6d13gt _bfhksyzs",
21
+ miniMode: "_2rkoglpi _1dqoglyw _1ul91tcg _ca0q1b66 _u5f31b66 _n3td1b66 _19bv1b66"
22
+ };
23
+
24
+ /**
25
+ * Test id for the tooltip
26
+ */
27
+ export const RENDER_TOOLTIP_TRIGGER_TESTID = 'render-tooltip-trigger';
28
+ export const RENDER_TRIGGER_BUTTON_TESTID = 'render-trigger-button';
29
+ const i18n = defineMessages({
30
+ addReaction: {
31
+ id: 'reaction-picker-trigger.add.reaction.message',
32
+ description: 'Message displayed when there are no page reactions existing on the page.',
33
+ defaultMessage: 'Add a reaction'
34
+ }
35
+ });
36
+ const addReactionStyles = {
37
+ addReactionMessage: "_11c8dcr7 _syaz1gjq _18u01b66"
38
+ };
39
+
40
+ /**
41
+ * Render an emoji button to open the reactions select picker
42
+ */
43
+ export const Trigger = /*#__PURE__*/React.forwardRef((props, ref) => {
44
+ const {
45
+ formatMessage
46
+ } = useIntl();
47
+ const {
48
+ onClick,
49
+ miniMode,
50
+ tooltipContent,
51
+ disabled = false,
52
+ ariaAttributes = {},
53
+ showOpaqueBackground = false,
54
+ showAddReactionText = false,
55
+ subtleReactionsSummaryAndPicker = false,
56
+ showRoundTrigger = false,
57
+ reactionPickerTriggerIcon
58
+ } = props;
59
+ const handleMouseDown = (e, analyticsEvent) => {
60
+ if (onClick && !disabled) {
61
+ onClick(e, analyticsEvent);
62
+ }
63
+ };
64
+ return /*#__PURE__*/React.createElement(Tooltip, {
65
+ testId: RENDER_TOOLTIP_TRIGGER_TESTID,
66
+ content: tooltipContent
67
+ }, /*#__PURE__*/React.createElement(Pressable, _extends({
68
+ testId: RENDER_TRIGGER_BUTTON_TESTID,
69
+ xcss: cx(styles.trigger, subtleReactionsSummaryAndPicker && styles.subtleTrigger, showAddReactionText && styles.expandedTrigger, disabled ? styles.disabledTrigger : showOpaqueBackground ? styles.opaqueEnabledTrigger : styles.transparentEnabledTrigger, miniMode && styles.miniMode,
70
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
71
+ fg('platform-component-visual-refresh') && styles.triggerStylesRefresh, showRoundTrigger && styles.roundTrigger),
72
+ style: {
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/design-system/use-tokens-typography
74
+ lineHeight: '16px'
75
+ },
76
+ onClick: handleMouseDown,
77
+ isDisabled: disabled,
78
+ ref: ref
79
+ }, ariaAttributes), !!reactionPickerTriggerIcon ? reactionPickerTriggerIcon :
80
+ /*#__PURE__*/
81
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-21007
82
+ React.createElement(EmojiAddIcon, {
83
+ testId: "emoji-add-icon",
84
+ color: disabled ? "var(--ds-icon-disabled, #091E424F)" : "var(--ds-icon, #44546F)",
85
+ LEGACY_size: "small",
86
+ label: "Add reaction"
87
+ }), showAddReactionText && /*#__PURE__*/React.createElement(Box, {
88
+ xcss: cx(addReactionStyles.addReactionMessage)
89
+ }, formatMessage(i18n.addReaction))));
90
+ });
@@ -1,7 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
- import { ReactionPicker, UfoErrorBoundary } from '../../components';
3
+ import { UfoErrorBoundary } from '../../components';
4
4
  import { PickerRender } from '../../ufo';
5
+ import { ReactionPicker as EmotionReactionPicker } from '../../components/ReactionPicker';
6
+ import { ReactionPicker as CompiledReactionPicker } from '../../components/compiled/ReactionPicker';
7
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
8
+ const ReactionPicker = componentWithFG('platform_editor_css_migrate_reactions', CompiledReactionPicker, EmotionReactionPicker);
5
9
  /**
6
10
  * Reaction Picker component
7
11
  */
@@ -4,12 +4,16 @@ import { Reaction as EmotionReaction } from './components/Reaction';
4
4
  import { Reaction as CompiledReaction } from './components/compiled/Reaction';
5
5
  import { Reactions as EmotionReactions } from './components/Reactions';
6
6
  import { Reactions as CompiledReactions } from './components/compiled/Reactions';
7
+ import { ReactionPicker as EmotionReactionPicker } from './components/ReactionPicker/ReactionPicker';
8
+ import { ReactionPicker as CompiledReactionPicker } from './components/ReactionPicker/ReactionPicker';
7
9
  import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
8
10
  const Reaction = componentWithFG('platform_editor_css_migrate_reactions', CompiledReaction, EmotionReaction);
9
11
  const Reactions = componentWithFG('platform_editor_css_migrate_reactions', CompiledReactions, EmotionReactions);
12
+ const ReactionPicker = componentWithFG('platform_editor_css_migrate_reactions', CompiledReactionPicker, EmotionReactionPicker);
10
13
  export { ReactionServiceClient } from './client';
11
- export { Reaction, Reactions };
12
- export { ReactionPicker } from './components/ReactionPicker/ReactionPicker';
14
+ export { Reaction };
15
+ export { Reactions };
16
+ export { ReactionPicker };
13
17
  export { useCloseManager } from './hooks/useCloseManager';
14
18
  export { ConnectedReactionPicker, ConnectedReactionsView } from './containers';
15
19
  export { MemoryReactionsStore, ReactionConsumer } from './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 = "30.0.0";
7
+ var packageVersion = "30.0.2";
8
8
  /**
9
9
  * TODO: move to utility package?
10
10
  * A random sampling function
@@ -1,9 +1,4 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
6
- import { jsx } from '@emotion/react';
1
+ import React from 'react';
7
2
  import { FormattedMessage } from 'react-intl-next';
8
3
  import { IconButton } from '@atlaskit/button/new';
9
4
  import EditorMoreIcon from '@atlaskit/icon/core/migration/show-more-horizontal--editor-more';
@@ -19,10 +14,10 @@ export var RENDER_SHOWMORE_TESTID = 'show-more-button';
19
14
  */
20
15
  export var ShowMore = function ShowMore(_ref) {
21
16
  var onClick = _ref.onClick;
22
- return jsx(FormattedMessage, messages.moreEmoji, function (message) {
23
- return jsx(Tooltip, {
17
+ return /*#__PURE__*/React.createElement(FormattedMessage, messages.moreEmoji, function (message) {
18
+ return /*#__PURE__*/React.createElement(Tooltip, {
24
19
  content: message
25
- }, jsx(IconButton, {
20
+ }, /*#__PURE__*/React.createElement(IconButton, {
26
21
  label: messages.moreEmoji.defaultMessage,
27
22
  onClick: onClick,
28
23
  testId: RENDER_SHOWMORE_TESTID,
@@ -0,0 +1,17 @@
1
+
2
+ ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}
3
+ ._189eidpf{border-width:0}._12ji1r31{outline-color:currentColor}
4
+ ._12y31o36{outline-width:medium}
5
+ ._18u0ze3t{margin-left:var(--ds-space-0,0)}
6
+ ._19bvu2gc{padding-left:var(--ds-space-100,8px)}
7
+ ._19pkze3t{margin-top:var(--ds-space-0,0)}
8
+ ._1e0c1txw{display:flex}
9
+ ._1qu2glyw{outline-style:none}
10
+ ._2hwxze3t{margin-right:var(--ds-space-0,0)}
11
+ ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
12
+ ._ca0qu2gc{padding-top:var(--ds-space-100,8px)}
13
+ ._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
14
+ ._otyrze3t{margin-bottom:var(--ds-space-0,0)}
15
+ ._u5f3u2gc{padding-right:var(--ds-space-100,8px)}
16
+ ._o7ksrkh3:hover{transition:transform .2s cubic-bezier(.23,1,.32,1)}
17
+ ._1llw1q5f:hover{transform:scale(1.33)}
@@ -0,0 +1,39 @@
1
+ /* EmojiButton.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./EmojiButton.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import { useIntl } from 'react-intl-next';
6
+ import { ResourcedEmoji } from '@atlaskit/emoji';
7
+ import { messages } from '../../shared/i18n';
8
+ import { isLeftClick } from '../../shared/utils';
9
+ import { Pressable } from '@atlaskit/primitives/compiled';
10
+ var styles = {
11
+ emojiButton: "_12ji1r31 _1qu2glyw _12y31o36 _2rkoglpi _189eidpf _1e0c1txw _bfhksm61 _19pkze3t _2hwxze3t _otyrze3t _18u0ze3t _ca0qu2gc _u5f3u2gc _n3tdu2gc _19bvu2gc _o7ksrkh3 _1llw1q5f"
12
+ };
13
+ export var RENDER_BUTTON_TESTID = 'button-emoji-id';
14
+ /**
15
+ * custom button to render the custom emoji selector inside the reaction picker
16
+ */
17
+ export var EmojiButton = function EmojiButton(_ref) {
18
+ var emojiId = _ref.emojiId,
19
+ onClick = _ref.onClick,
20
+ emojiProvider = _ref.emojiProvider;
21
+ var onButtonClick = function onButtonClick(event) {
22
+ event.preventDefault();
23
+ if (onClick && isLeftClick(event)) {
24
+ onClick(emojiId, undefined, event);
25
+ }
26
+ };
27
+ var intl = useIntl();
28
+ return /*#__PURE__*/React.createElement(Pressable, {
29
+ testId: RENDER_BUTTON_TESTID,
30
+ onClick: onButtonClick,
31
+ "aria-label": intl.formatMessage(messages.reactWithEmoji, {
32
+ emoji: emojiId.shortName
33
+ }),
34
+ xcss: styles.emojiButton
35
+ }, /*#__PURE__*/React.createElement(ResourcedEmoji, {
36
+ emojiProvider: emojiProvider,
37
+ emojiId: emojiId
38
+ }));
39
+ };
@@ -4,15 +4,13 @@
4
4
  ._2rkoglpi{border-radius:var(--ds-border-radius,4px)}
5
5
  ._2rkogqwt{border-radius:var(--ds-border-radius-050,2px)}
6
6
  ._189ee4h9{border-width:var(--ds-border-width,1px)}
7
+ ._1dqoglyw{border-style:none}
7
8
  ._1dqonqa1{border-style:solid}
8
9
  ._1h6d1yqz{border-color:var(--ds-border-selected,#0c66e4)}
9
- ._1h6dmuej{border-color:var(--ds-border,#091e4224)}
10
- ._1kl7glyw{border-left:none}
11
- ._1s7zglyw{border-right:none}
12
- ._n7zlglyw{border-bottom:none}
13
- ._x3doglyw{border-top:none}._12l21b66{margin-inline-end:var(--ds-space-050,4px)}
10
+ ._1h6dmuej{border-color:var(--ds-border,#091e4224)}._12l21b66{margin-inline-end:var(--ds-space-050,4px)}
14
11
  ._18m915vq{overflow-y:hidden}
15
12
  ._19bvze3t{padding-left:var(--ds-space-0,0)}
13
+ ._19pk12x7{margin-top:var(--ds-space-075,6px)}
16
14
  ._1e0c1txw{display:flex}
17
15
  ._1pfh1b66{margin-block-start:var(--ds-space-050,4px)}
18
16
  ._1reo15vq{overflow-x:hidden}
@@ -22,6 +20,7 @@
22
20
  ._4cvr1y6m{align-items:flex-start}
23
21
  ._4t3i1tcg{height:24px}
24
22
  ._4t3i3698{height:var(--_1ed2mu0)}
23
+ ._4t3igktf{height:20px}
25
24
  ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
26
25
  ._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
27
26
  ._bfhkvuon{background-color:var(--ds-surface,#fff)}
@@ -10,9 +10,10 @@ import { Pressable } from '@atlaskit/primitives/compiled';
10
10
  var styles = {
11
11
  reactionButton: "_2rko14q2 _1reo15vq _18m915vq _189ee4h9 _1dqonqa1 _1h6dmuej _1e0c1txw _2lx2vrvc _4cvr1y6m _1ul914no _4t3i1tcg _bfhksm61 _syaz1gjq _1pfh1b66 _12l21b66 _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t _irr3166n _1di61dty",
12
12
  reactionStylesRefresh: "_2rkoglpi",
13
- borderless: "_x3doglyw _1kl7glyw _1s7zglyw _n7zlglyw",
14
13
  reacted: "_1h6d1yqz _bfhkfg4m _irr3i1yw _1di619ru",
15
- opaqueBackground: "_bfhkvuon _irr3108i _1di61ji5"
14
+ opaqueBackground: "_bfhkvuon _irr3108i _1di61ji5",
15
+ compactButton: "_4t3igktf _4cvr1h6o _19pk12x7",
16
+ borderless: "_1dqoglyw"
16
17
  };
17
18
 
18
19
  /**
@@ -29,6 +30,7 @@ export var ReactionButton = function ReactionButton(_ref) {
29
30
  flash = _ref$flash === void 0 ? false : _ref$flash,
30
31
  showSubtleStyle = _ref.showSubtleStyle,
31
32
  showOpaqueBackground = _ref.showOpaqueBackground,
33
+ useCompactStyles = _ref.useCompactStyles,
32
34
  reacted = _ref.reacted,
33
35
  ariaLabel = _ref.ariaLabel,
34
36
  ariaPressed = _ref.ariaPressed,
@@ -45,7 +47,7 @@ export var ReactionButton = function ReactionButton(_ref) {
45
47
  "aria-label": ariaLabel,
46
48
  "aria-pressed": ariaPressed,
47
49
  testId: testId,
48
- xcss: cx(styles.reactionButton, reacted && styles.reacted, !reacted && showSubtleStyle && styles.borderless, !reacted && showOpaqueBackground && styles.opaqueBackground,
50
+ xcss: cx(styles.reactionButton, useCompactStyles && styles.compactButton, reacted && styles.reacted, !reacted && showSubtleStyle && styles.borderless, !reacted && showOpaqueBackground && styles.opaqueBackground,
49
51
  // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
50
52
  fg('platform-component-visual-refresh') && styles.reactionStylesRefresh)
51
53
  }, dataAttributes), /*#__PURE__*/React.createElement(FlashAnimation, {
@@ -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,316 @@
1
+ /* ReactionPicker.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import "./ReactionPicker.compiled.css";
5
+ import { ax, ix } from "@compiled/react/runtime";
6
+ 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; }
7
+ 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) { _defineProperty(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; }
8
+ import React, { useCallback, useLayoutEffect, useRef, useState } from 'react';
9
+ import { FormattedMessage } from 'react-intl-next';
10
+ import { EmojiPicker } from '@atlaskit/emoji/picker';
11
+ import { Manager, Popper, Reference } from '@atlaskit/popper';
12
+ import { layers } from '@atlaskit/theme/constants';
13
+ import { useCloseManager } from '../../hooks/useCloseManager';
14
+ import { useFocusTrap } from '../../hooks/useFocusTrap';
15
+ import { messages } from '../../shared/i18n';
16
+ import { PickerRender } from '../../ufo';
17
+ import { Selector } from './Selector';
18
+ import { Trigger } from './Trigger';
19
+ import { N0, N50A, N60A } from '@atlaskit/theme/colors';
20
+ var pickerStyle = null;
21
+ var contentStyle = null;
22
+ var popupWrapperStyle = null;
23
+ var popupStyle = null;
24
+ import { RepositionOnUpdate } from '../ReactionPicker/RepositionOnUpdate';
25
+
26
+ /**
27
+ * Test id for wrapper ReactionPicker div
28
+ */
29
+ export var RENDER_REACTIONPICKER_TESTID = 'reactionPicker-testid';
30
+
31
+ /**
32
+ * Test id for ReactionPicker panel div
33
+ */
34
+ export var RENDER_REACTIONPICKERPANEL_TESTID = 'reactionPickerPanel-testid';
35
+
36
+ /**
37
+ * Emoji Picker Controller Id for Accessibility Labels
38
+ */
39
+ var PICKER_CONTROL_ID = 'emoji-picker';
40
+ /**
41
+ * Picker component for adding reactions
42
+ */
43
+ export var ReactionPicker = /*#__PURE__*/React.memo(function (props) {
44
+ var miniMode = props.miniMode,
45
+ className = props.className,
46
+ emojiProvider = props.emojiProvider,
47
+ onSelection = props.onSelection,
48
+ allowAllEmojis = props.allowAllEmojis,
49
+ disabled = props.disabled,
50
+ pickerQuickReactionEmojiIds = props.pickerQuickReactionEmojiIds,
51
+ _props$onShowMore = props.onShowMore,
52
+ onShowMore = _props$onShowMore === void 0 ? function () {} : _props$onShowMore,
53
+ _props$onOpen = props.onOpen,
54
+ onOpen = _props$onOpen === void 0 ? function () {} : _props$onOpen,
55
+ _props$onCancel = props.onCancel,
56
+ onCancel = _props$onCancel === void 0 ? function () {} : _props$onCancel,
57
+ _props$tooltipContent = props.tooltipContent,
58
+ tooltipContent = _props$tooltipContent === void 0 ? /*#__PURE__*/React.createElement(FormattedMessage, messages.addReaction) : _props$tooltipContent,
59
+ emojiPickerSize = props.emojiPickerSize,
60
+ _props$showOpaqueBack = props.showOpaqueBackground,
61
+ showOpaqueBackground = _props$showOpaqueBack === void 0 ? false : _props$showOpaqueBack,
62
+ _props$subtleReaction = props.subtleReactionsSummaryAndPicker,
63
+ subtleReactionsSummaryAndPicker = _props$subtleReaction === void 0 ? false : _props$subtleReaction,
64
+ _props$showAddReactio = props.showAddReactionText,
65
+ showAddReactionText = _props$showAddReactio === void 0 ? false : _props$showAddReactio,
66
+ _props$showRoundTrigg = props.showRoundTrigger,
67
+ showRoundTrigger = _props$showRoundTrigg === void 0 ? false : _props$showRoundTrigg,
68
+ reactionPickerTriggerIcon = props.reactionPickerTriggerIcon,
69
+ reactionPickerPlacement = props.reactionPickerPlacement,
70
+ reactionsPickerPreventOverflowOptions = props.reactionsPickerPreventOverflowOptions;
71
+ var _useState = useState(null),
72
+ _useState2 = _slicedToArray(_useState, 2),
73
+ triggerRef = _useState2[0],
74
+ setTriggerRef = _useState2[1];
75
+
76
+ /**
77
+ * Container <div /> reference (used by custom hook to detect click outside)
78
+ */
79
+ var wrapperRef = useRef(null);
80
+ var updatePopper = useRef();
81
+ var popperPlacement = showRoundTrigger ? 'left' : reactionPickerPlacement || 'bottom-start';
82
+ var popperModifiers = [
83
+ /**
84
+ Removing this applyStyle modifier as it throws client errors ref:
85
+ https://popper.js.org/docs/v1/#modifiers
86
+ https://popper.js.org/docs/v1/#modifiers..applyStyle
87
+ { name: 'applyStyle', enabled: false },
88
+ */
89
+ {
90
+ name: 'hide',
91
+ enabled: false
92
+ }, {
93
+ name: 'offset',
94
+ enabled: true,
95
+ options: {
96
+ offset: [0, 0]
97
+ }
98
+ }, {
99
+ name: 'flip',
100
+ enabled: true,
101
+ options: {
102
+ flipVariations: true,
103
+ boundariesElement: 'scrollParent'
104
+ }
105
+ }, _objectSpread({
106
+ name: 'preventOverflow',
107
+ enabled: true
108
+ }, reactionsPickerPreventOverflowOptions && {
109
+ options: reactionsPickerPreventOverflowOptions
110
+ })];
111
+ var _useState3 = useState({
112
+ /**
113
+ * Show the picker floating panel
114
+ */
115
+ isOpen: false,
116
+ /**
117
+ * Show the full custom emoji list picker or the default list of emojis
118
+ */
119
+ showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0,
120
+ /**
121
+ * Use left placement for popper - using value based on showRoundTrigger for now since it needs the left placement
122
+ */
123
+ popperPlacement: popperPlacement
124
+ }),
125
+ _useState4 = _slicedToArray(_useState3, 2),
126
+ settings = _useState4[0],
127
+ setSettings = _useState4[1];
128
+
129
+ /**
130
+ * Custom hook triggers when user clicks outside the reactions picker
131
+ */
132
+ useCloseManager(wrapperRef, function (callbackType) {
133
+ close();
134
+ onCancel();
135
+ if (triggerRef && callbackType === 'ESCAPE') {
136
+ requestAnimationFrame(function () {
137
+ return triggerRef.focus();
138
+ });
139
+ }
140
+ }, true, settings.isOpen);
141
+
142
+ /**
143
+ * Event callback when the picker is closed
144
+ * @param _id Optional id if an emoji button was selected or undefineed if was clicked outside the picker
145
+ */
146
+ var close = useCallback(function (_id) {
147
+ setSettings(_objectSpread(_objectSpread({}, settings), {}, {
148
+ isOpen: false
149
+ }));
150
+ // ufo abort reaction experience
151
+ PickerRender.abort({
152
+ metadata: {
153
+ emojiId: _id,
154
+ source: 'ReactionPicker',
155
+ reason: 'close dialog'
156
+ }
157
+ });
158
+ }, [settings]);
159
+
160
+ /**
161
+ * Event handle rwhen selecting to show the custom emoji icons picker
162
+ * @param e event param
163
+ */
164
+ var onSelectMoreClick = useCallback(function (e) {
165
+ e.preventDefault();
166
+ setSettings({
167
+ isOpen: true,
168
+ showFullPicker: true,
169
+ popperPlacement: popperPlacement
170
+ });
171
+ onShowMore();
172
+ }, [onShowMore, popperPlacement]);
173
+
174
+ /**
175
+ * Event callback when an emoji icon is selected
176
+ * @param item selected item
177
+ */
178
+ var onEmojiSelected = useCallback(function (item) {
179
+ // no emoji was selected
180
+ if (!item.id) {
181
+ return;
182
+ }
183
+ onSelection(item.id, settings.showFullPicker ? 'emojiPicker' : 'quickSelector');
184
+ close(item.id);
185
+ }, [close, onSelection, settings.showFullPicker]);
186
+
187
+ /**
188
+ * Event handler when the emoji icon to open the custom picker is selected
189
+ */
190
+ var onTriggerClick = function onTriggerClick() {
191
+ // ufo start reactions picker open experience
192
+ PickerRender.start();
193
+ setSettings({
194
+ isOpen: !settings.isOpen,
195
+ showFullPicker: !!allowAllEmojis && Array.isArray(pickerQuickReactionEmojiIds) && pickerQuickReactionEmojiIds.length === 0,
196
+ popperPlacement: popperPlacement
197
+ });
198
+ onOpen();
199
+ // ufo reactions picker opened success
200
+ PickerRender.success();
201
+ };
202
+ var wrapperClassName = " ".concat(settings.isOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className);
203
+ useLayoutEffect(function () {
204
+ var _updatePopper$current;
205
+ (_updatePopper$current = updatePopper.current) === null || _updatePopper$current === void 0 || _updatePopper$current.call(updatePopper);
206
+ }, [settings]);
207
+ return /*#__PURE__*/React.createElement("div", {
208
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
209
+ className: ax(["_s7n4nkob _1pra1o8l", wrapperClassName]),
210
+ "data-testid": RENDER_REACTIONPICKER_TESTID,
211
+ ref: wrapperRef
212
+ }, /*#__PURE__*/React.createElement(Manager, null, /*#__PURE__*/React.createElement(Reference, null, function (_ref) {
213
+ var _ref2 = _ref.ref;
214
+ return (
215
+ /*#__PURE__*/
216
+ // Render a button to open the <Selector /> panel
217
+ React.createElement(Trigger, {
218
+ ariaAttributes: {
219
+ 'aria-expanded': settings.isOpen,
220
+ 'aria-controls': PICKER_CONTROL_ID
221
+ },
222
+ ref: function ref(node) {
223
+ if (node && settings.isOpen) {
224
+ if (typeof _ref2 === 'function') {
225
+ _ref2(node);
226
+ } else {
227
+ _ref2.current = node;
228
+ }
229
+ setTriggerRef(node);
230
+ }
231
+ },
232
+ isSelected: settings.isOpen,
233
+ onClick: onTriggerClick,
234
+ miniMode: miniMode,
235
+ disabled: disabled,
236
+ tooltipContent: settings.isOpen ? null : tooltipContent,
237
+ showOpaqueBackground: showOpaqueBackground,
238
+ showAddReactionText: showAddReactionText,
239
+ subtleReactionsSummaryAndPicker: subtleReactionsSummaryAndPicker,
240
+ showRoundTrigger: showRoundTrigger,
241
+ reactionPickerTriggerIcon: reactionPickerTriggerIcon
242
+ })
243
+ );
244
+ }), settings.isOpen && /*#__PURE__*/React.createElement(PopperWrapper, {
245
+ settings: settings,
246
+ popperModifiers: popperModifiers
247
+ }, settings.showFullPicker ? /*#__PURE__*/React.createElement(EmojiPicker, {
248
+ emojiProvider: emojiProvider,
249
+ onSelection: onEmojiSelected,
250
+ size: emojiPickerSize
251
+ }) : /*#__PURE__*/React.createElement("div", {
252
+ className: ax(["_1e0c1txw"])
253
+ }, /*#__PURE__*/React.createElement(Selector, {
254
+ emojiProvider: emojiProvider,
255
+ onSelection: onEmojiSelected,
256
+ showMore: allowAllEmojis,
257
+ onMoreClick: onSelectMoreClick,
258
+ pickerQuickReactionEmojiIds: pickerQuickReactionEmojiIds
259
+ })))));
260
+ });
261
+ export var PopperWrapper = function PopperWrapper(props) {
262
+ var settings = props.settings,
263
+ children = props.children,
264
+ popperModifiers = props.popperModifiers;
265
+ var _useState5 = useState(null),
266
+ _useState6 = _slicedToArray(_useState5, 2),
267
+ popupRef = _useState6[0],
268
+ setPopupRef = _useState6[1];
269
+ /**
270
+ * add focus lock to popup
271
+ */
272
+ useFocusTrap({
273
+ initialFocusRef: null,
274
+ targetRef: popupRef
275
+ });
276
+ return /*#__PURE__*/React.createElement(Popper, {
277
+ placement: settings.popperPlacement,
278
+ modifiers: popperModifiers,
279
+ strategy: "absolute"
280
+ }, function (_ref3) {
281
+ var _ref4 = _ref3.ref,
282
+ style = _ref3.style,
283
+ update = _ref3.update;
284
+ return /*#__PURE__*/React.createElement("div", {
285
+ id: PICKER_CONTROL_ID,
286
+ "data-testid": RENDER_REACTIONPICKERPANEL_TESTID
287
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
288
+ ,
289
+ style: _objectSpread({
290
+ zIndex: layers.layer()
291
+ }, style),
292
+ ref: function ref(node) {
293
+ if (node) {
294
+ if (typeof _ref4 === 'function') {
295
+ _ref4(node);
296
+ } else {
297
+ _ref4.current = node;
298
+ }
299
+ setPopupRef(node);
300
+ }
301
+ },
302
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
303
+ tabIndex: 0,
304
+ className: ax(["_nt751r31 _49pcglyw _1hvw1o36"])
305
+ }, /*#__PURE__*/React.createElement(RepositionOnUpdate, {
306
+ update: update,
307
+ settings: settings
308
+ }, /*#__PURE__*/React.createElement("div", {
309
+ className: ax(["_2rko1sit _bfhk13b4 _16qs1a23 _1bch1b66 _79pa1b66"]),
310
+ style: {
311
+ "--_1f6rtr1": ix("var(--ds-surface-overlay, ".concat(N0, ")")),
312
+ "--_3t1odq": ix("var(--ds-shadow-overlay, ".concat("0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A), ")"))
313
+ }
314
+ }, children)));
315
+ });
316
+ };
@@ -0,0 +1,7 @@
1
+ ._19bvu2gc{padding-left:var(--ds-space-100,8px)}
2
+ ._8hrz1nam{transform-origin:center center 0}
3
+ ._ca0q1b66{padding-top:var(--ds-space-050,4px)}
4
+ ._ca0qv77o{padding-top:var(--ds-space-025,2px)}
5
+ ._kqswh2mm{position:relative}
6
+ ._n3td1b66{padding-bottom:var(--ds-space-050,4px)}
7
+ ._u5f31b66{padding-right:var(--ds-space-050,4px)}