@atlaskit/reactions 21.0.5 → 21.2.1

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 (105) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/analytics/index.js +11 -1
  3. package/dist/cjs/analytics/ufo.js +71 -0
  4. package/dist/cjs/components/Counter.js +20 -20
  5. package/dist/cjs/components/EmojiButton.js +9 -11
  6. package/dist/cjs/components/FlashAnimation.js +19 -17
  7. package/dist/cjs/components/Reaction.js +22 -28
  8. package/dist/cjs/components/ReactionPicker.js +43 -37
  9. package/dist/cjs/components/ReactionTooltip.js +33 -29
  10. package/dist/cjs/components/Reactions.js +15 -17
  11. package/dist/cjs/components/Selector.js +23 -28
  12. package/dist/cjs/components/ShowMore.js +25 -22
  13. package/dist/cjs/components/Trigger.js +11 -16
  14. package/dist/cjs/components/UfoErrorBoundary.js +68 -0
  15. package/dist/cjs/components/index.js +9 -1
  16. package/dist/cjs/containers/ConnectedReactionPicker.js +44 -0
  17. package/dist/cjs/containers/ConnectedReactionsView.js +131 -0
  18. package/dist/cjs/containers/index.js +4 -6
  19. package/dist/cjs/index.js +11 -3
  20. package/dist/cjs/{reaction-store → store}/ReactionConsumer.js +0 -0
  21. package/dist/cjs/{reaction-store → store}/ReactionsStore.js +63 -14
  22. package/dist/cjs/{reaction-store → store}/batched.js +0 -0
  23. package/dist/cjs/{reaction-store → store}/index.js +0 -0
  24. package/dist/cjs/{reaction-store → store}/utils.js +0 -0
  25. package/dist/cjs/version.json +1 -1
  26. package/dist/es2019/analytics/index.js +2 -0
  27. package/dist/es2019/analytics/ufo.js +62 -0
  28. package/dist/es2019/components/Counter.js +18 -18
  29. package/dist/es2019/components/EmojiButton.js +10 -10
  30. package/dist/es2019/components/FlashAnimation.js +16 -15
  31. package/dist/es2019/components/Reaction.js +23 -28
  32. package/dist/es2019/components/ReactionPicker.js +39 -34
  33. package/dist/es2019/components/ReactionTooltip.js +27 -27
  34. package/dist/es2019/components/Reactions.js +16 -16
  35. package/dist/es2019/components/Selector.js +21 -24
  36. package/dist/es2019/components/ShowMore.js +22 -18
  37. package/dist/es2019/components/Trigger.js +10 -14
  38. package/dist/es2019/components/UfoErrorBoundary.js +13 -0
  39. package/dist/es2019/components/index.js +2 -1
  40. package/dist/es2019/containers/ConnectedReactionPicker.js +27 -0
  41. package/dist/es2019/containers/ConnectedReactionsView.js +112 -0
  42. package/dist/es2019/containers/index.js +2 -2
  43. package/dist/es2019/index.js +2 -1
  44. package/dist/es2019/{reaction-store → store}/ReactionConsumer.js +0 -0
  45. package/dist/es2019/{reaction-store → store}/ReactionsStore.js +59 -13
  46. package/dist/es2019/{reaction-store → store}/batched.js +0 -0
  47. package/dist/es2019/{reaction-store → store}/index.js +0 -0
  48. package/dist/es2019/{reaction-store → store}/utils.js +0 -0
  49. package/dist/es2019/version.json +1 -1
  50. package/dist/esm/analytics/index.js +2 -0
  51. package/dist/esm/analytics/ufo.js +62 -0
  52. package/dist/esm/components/Counter.js +18 -17
  53. package/dist/esm/components/EmojiButton.js +9 -10
  54. package/dist/esm/components/FlashAnimation.js +16 -14
  55. package/dist/esm/components/Reaction.js +22 -26
  56. package/dist/esm/components/ReactionPicker.js +39 -34
  57. package/dist/esm/components/ReactionTooltip.js +27 -27
  58. package/dist/esm/components/Reactions.js +15 -16
  59. package/dist/esm/components/Selector.js +20 -24
  60. package/dist/esm/components/ShowMore.js +22 -19
  61. package/dist/esm/components/Trigger.js +10 -14
  62. package/dist/esm/components/UfoErrorBoundary.js +54 -0
  63. package/dist/esm/components/index.js +2 -1
  64. package/dist/esm/containers/ConnectedReactionPicker.js +29 -0
  65. package/dist/esm/containers/ConnectedReactionsView.js +108 -0
  66. package/dist/esm/containers/index.js +2 -2
  67. package/dist/esm/index.js +2 -1
  68. package/dist/esm/{reaction-store → store}/ReactionConsumer.js +0 -0
  69. package/dist/esm/{reaction-store → store}/ReactionsStore.js +61 -13
  70. package/dist/esm/{reaction-store → store}/batched.js +0 -0
  71. package/dist/esm/{reaction-store → store}/index.js +0 -0
  72. package/dist/esm/{reaction-store → store}/utils.js +0 -0
  73. package/dist/esm/version.json +1 -1
  74. package/dist/types/analytics/index.d.ts +1 -0
  75. package/dist/types/analytics/ufo.d.ts +26 -0
  76. package/dist/types/components/Counter.d.ts +4 -3
  77. package/dist/types/components/FlashAnimation.d.ts +3 -1
  78. package/dist/types/components/ReactionPicker.d.ts +2 -1
  79. package/dist/types/components/Reactions.d.ts +7 -5
  80. package/dist/types/components/Selector.d.ts +2 -1
  81. package/dist/types/components/ShowMore.d.ts +4 -0
  82. package/dist/types/components/UfoErrorBoundary.d.ts +8 -0
  83. package/dist/types/components/index.d.ts +2 -0
  84. package/dist/types/containers/ConnectedReactionPicker.d.ts +10 -0
  85. package/dist/types/containers/ConnectedReactionsView.d.ts +19 -0
  86. package/dist/types/containers/index.d.ts +2 -2
  87. package/dist/types/index.d.ts +3 -2
  88. package/dist/types/store/ReactionConsumer.d.ts +29 -0
  89. package/dist/types/{reaction-store → store}/ReactionsStore.d.ts +11 -7
  90. package/dist/types/{reaction-store → store}/batched.d.ts +0 -0
  91. package/dist/types/{reaction-store → store}/index.d.ts +0 -0
  92. package/dist/types/{reaction-store → store}/utils.d.ts +0 -0
  93. package/dist/types/types/Actions.d.ts +6 -0
  94. package/dist/types/types/index.d.ts +1 -1
  95. package/docs/0-intro.tsx +1 -1
  96. package/package.json +7 -6
  97. package/dist/cjs/containers/ReactionsContainer.js +0 -142
  98. package/dist/cjs/containers/ReactionsPickerContainer.js +0 -76
  99. package/dist/es2019/containers/ReactionsContainer.js +0 -96
  100. package/dist/es2019/containers/ReactionsPickerContainer.js +0 -26
  101. package/dist/esm/containers/ReactionsContainer.js +0 -125
  102. package/dist/esm/containers/ReactionsPickerContainer.js +0 -62
  103. package/dist/types/containers/ReactionsContainer.d.ts +0 -22
  104. package/dist/types/containers/ReactionsPickerContainer.d.ts +0 -18
  105. package/dist/types/reaction-store/ReactionConsumer.d.ts +0 -32
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/reactions
2
2
 
3
+ ## 21.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`783c8c02335`](https://bitbucket.org/atlassian/atlassian-frontend/commits/783c8c02335) - Update the reactions rendered UFO type
8
+
9
+ ## 21.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`ed9ab4d82a3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ed9ab4d82a3) - Adds "reactions-rendered", "reactions-picker-opened", "reaction-added" and "reaction-removed" to UFO experiences
14
+
15
+ ## 21.1.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`f0c986fe03a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f0c986fe03a) - Migrated styles to emotion and removed typestyle dependency from atlassian-frontend dependencies.
20
+
21
+ ### Patch Changes
22
+
23
+ - [`876cae9c606`](https://bitbucket.org/atlassian/atlassian-frontend/commits/876cae9c606) - Changed selector first-child to first-of-type to better support SSR
24
+ - [`62edf20ab1e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/62edf20ab1e) - Migrates all usage of brand tokens to either selected or information tokens. This change is purely for semantic reasons, there are no visual or behavioural changes.
25
+ - Updated dependencies
26
+
3
27
  ## 21.0.5
4
28
 
5
29
  ### Patch Changes
@@ -2,10 +2,12 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.createRestSucceededEvent = exports.createRestFailedEvent = exports.createReactionsRenderedEvent = exports.createReactionSelectionEvent = exports.createReactionHoveredEvent = exports.createReactionClickedEvent = exports.createPickerMoreClickedEvent = exports.createPickerCancelledEvent = exports.createPickerButtonClickedEvent = exports.createAndFireSafe = exports.createAndFireEventInElementsChannel = void 0;
10
+ exports.createRestSucceededEvent = exports.createRestFailedEvent = exports.createReactionsRenderedEvent = exports.createReactionSelectionEvent = exports.createReactionHoveredEvent = exports.createReactionClickedEvent = exports.createPickerMoreClickedEvent = exports.createPickerCancelledEvent = exports.createPickerButtonClickedEvent = exports.createAndFireSafe = exports.createAndFireEventInElementsChannel = exports.UFO = void 0;
9
11
 
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
@@ -15,6 +17,14 @@ var _analyticsGasTypes = require("@atlaskit/analytics-gas-types");
15
17
 
16
18
  var _version = require("../version.json");
17
19
 
20
+ var _UFO = _interopRequireWildcard(require("./ufo"));
21
+
22
+ exports.UFO = _UFO;
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
18
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
29
 
20
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactionsRendered = exports.ReactionsRemove = exports.ReactionsAdd = exports.PickerRender = exports.ExperienceName = void 0;
7
+
8
+ var _ufo = require("@atlaskit/ufo");
9
+
10
+ /**
11
+ * Helper method for create the config type for an individual/Concurrent experience
12
+ * @param componentName
13
+ */
14
+ var createExperienceConfig = function createExperienceConfig(componentName, type, performanceType) {
15
+ return {
16
+ platform: {
17
+ component: componentName
18
+ },
19
+ type: type,
20
+ performanceType: performanceType
21
+ };
22
+ };
23
+ /**
24
+ * Types of experiences
25
+ */
26
+
27
+
28
+ var ExperienceName;
29
+ /**
30
+ * UFO types of components been instrumented
31
+ */
32
+
33
+ exports.ExperienceName = ExperienceName;
34
+
35
+ (function (ExperienceName) {
36
+ ExperienceName["REACTIONS_RENDERED"] = "reactions-rendered";
37
+ ExperienceName["PICKER_OPENED"] = "reactions-picker-opened";
38
+ ExperienceName["REACTION_ADDED"] = "reaction-added";
39
+ ExperienceName["REACTION_REMOVED"] = "reaction-removed";
40
+ })(ExperienceName || (exports.ExperienceName = ExperienceName = {}));
41
+
42
+ var ComponentName;
43
+ /**
44
+ * Experience when the emoji picker is opened
45
+ */
46
+
47
+ (function (ComponentName) {
48
+ ComponentName["PICKER_RENDERED"] = "reactions-picker";
49
+ ComponentName["REACTIONS"] = "reactions-list";
50
+ })(ComponentName || (ComponentName = {}));
51
+
52
+ var PickerRender = new _ufo.UFOExperience(ExperienceName.PICKER_OPENED, createExperienceConfig(ComponentName.PICKER_RENDERED, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
53
+ /**
54
+ * Experience when the list of reactions gets rendered
55
+ */
56
+
57
+ exports.PickerRender = PickerRender;
58
+ var ReactionsRendered = new _ufo.ConcurrentExperience(ExperienceName.REACTIONS_RENDERED, createExperienceConfig(ComponentName.REACTIONS, _ufo.ExperienceTypes.Load, _ufo.ExperiencePerformanceTypes.PageSegmentLoad));
59
+ /**
60
+ * Experience when a reaction emoji gets added
61
+ */
62
+
63
+ exports.ReactionsRendered = ReactionsRendered;
64
+ var ReactionsAdd = new _ufo.ConcurrentExperience(ExperienceName.REACTION_ADDED, createExperienceConfig(ComponentName.REACTIONS, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
65
+ /**
66
+ * Experience when a reaction emoji gets removed/decrement
67
+ */
68
+
69
+ exports.ReactionsAdd = ReactionsAdd;
70
+ var ReactionsRemove = new _ufo.ConcurrentExperience(ExperienceName.REACTION_REMOVED, createExperienceConfig(ComponentName.REACTIONS, _ufo.ExperienceTypes.Experience, _ufo.ExperiencePerformanceTypes.InlineResult));
71
+ exports.ReactionsRemove = ReactionsRemove;
@@ -7,29 +7,28 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.highlightStyle = exports.countStyle = exports.containerStyle = exports.Counter = void 0;
10
+ exports.highlightStyle = exports.counterTestId = exports.countStyle = exports.containerStyle = exports.Counter = void 0;
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _core = require("@emotion/core");
13
13
 
14
14
  var _colors = require("@atlaskit/theme/colors");
15
15
 
16
16
  var _tokens = require("@atlaskit/tokens");
17
17
 
18
- var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
18
  var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _motion = require("@atlaskit/motion");
23
21
 
24
- var _typestyle = require("typestyle");
25
-
26
22
  var _usePreviousValue = _interopRequireDefault(require("@atlaskit/ds-lib/use-previous-value"));
27
23
 
28
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
25
 
30
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
27
 
32
- var countStyle = (0, _typestyle.style)({
28
+ /** @jsx jsx */
29
+ var counterTestId = 'counter-container';
30
+ exports.counterTestId = counterTestId;
31
+ var countStyle = (0, _core.css)({
33
32
  fontSize: 11,
34
33
  // TODO: nice to have a theme level token for fontSize
35
34
  color: (0, _tokens.token)('color.text.subtlest', _colors.N90),
@@ -39,12 +38,12 @@ var countStyle = (0, _typestyle.style)({
39
38
  lineHeight: '14px'
40
39
  });
41
40
  exports.countStyle = countStyle;
42
- var highlightStyle = (0, _typestyle.style)({
43
- color: (0, _tokens.token)('color.text.brand', _colors.B400),
41
+ var highlightStyle = (0, _core.css)({
42
+ color: (0, _tokens.token)('color.text.selected', _colors.B400),
44
43
  fontWeight: 600
45
44
  });
46
45
  exports.highlightStyle = highlightStyle;
47
- var containerStyle = (0, _typestyle.style)({
46
+ var containerStyle = (0, _core.css)({
48
47
  display: 'flex',
49
48
  flexDirection: 'column'
50
49
  });
@@ -78,25 +77,26 @@ var Counter = /*#__PURE__*/(0, _react.memo)(function (_ref) {
78
77
  var previousValue = (0, _usePreviousValue.default)(value);
79
78
  var label = getLabel(value);
80
79
  var increase = previousValue ? previousValue < value : false;
81
- var rootClassName = (0, _classnames.default)(countStyle, className);
82
- var currentClassName = (0, _classnames.default)((0, _defineProperty2.default)({}, highlightStyle, highlight));
83
- return /*#__PURE__*/_react.default.createElement("div", {
84
- className: rootClassName,
80
+ return (0, _core.jsx)("div", {
81
+ className: className,
82
+ css: countStyle,
85
83
  style: {
86
84
  width: label.length * 7
87
85
  }
88
- }, /*#__PURE__*/_react.default.createElement(_motion.ExitingPersistence, null, /*#__PURE__*/_react.default.createElement(_motion.SlideIn, {
86
+ }, (0, _core.jsx)(_motion.ExitingPersistence, null, (0, _core.jsx)(_motion.SlideIn, {
89
87
  enterFrom: increase ? 'bottom' : 'top',
90
88
  key: value,
91
89
  duration: animationDuration
92
90
  }, function (motion, direction) {
93
- return /*#__PURE__*/_react.default.createElement("div", {
91
+ return (0, _core.jsx)("div", {
94
92
  ref: motion.ref,
95
- className: (0, _classnames.default)(containerStyle, motion.className, (0, _typestyle.style)({
93
+ css: [containerStyle, (0, _core.css)({
96
94
  position: direction === 'exiting' ? 'absolute' : undefined
97
- }))
98
- }, /*#__PURE__*/_react.default.createElement("div", {
99
- className: currentClassName,
95
+ })],
96
+ className: motion.className,
97
+ "data-testid": counterTestId
98
+ }, (0, _core.jsx)("div", {
99
+ css: highlight && highlightStyle,
100
100
  key: value
101
101
  }, label));
102
102
  })));
@@ -23,12 +23,12 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
 
26
+ var _core = require("@emotion/core");
27
+
26
28
  var _element = require("@atlaskit/emoji/element");
27
29
 
28
30
  var _react = _interopRequireWildcard(require("react"));
29
31
 
30
- var _typestyle = require("typestyle");
31
-
32
32
  var _utils = require("./utils");
33
33
 
34
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -39,7 +39,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
39
39
 
40
40
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
41
 
42
- var emojiButtonStyle = (0, _typestyle.style)({
42
+ var emojiButtonStyle = (0, _core.css)({
43
43
  outline: 'none',
44
44
  display: 'flex',
45
45
  backgroundColor: 'transparent',
@@ -48,11 +48,9 @@ var emojiButtonStyle = (0, _typestyle.style)({
48
48
  cursor: 'pointer',
49
49
  margin: '0',
50
50
  padding: '10px 8px',
51
- $nest: {
52
- '&:hover > span': {
53
- transition: 'transform cubic-bezier(0.23, 1, 0.32, 1) 200ms',
54
- transform: 'scale(1.33)'
55
- }
51
+ '&:hover > span': {
52
+ transition: 'transform cubic-bezier(0.23, 1, 0.32, 1) 200ms',
53
+ transform: 'scale(1.33)'
56
54
  }
57
55
  });
58
56
 
@@ -87,10 +85,10 @@ var EmojiButton = /*#__PURE__*/function (_PureComponent) {
87
85
  var _this$props = this.props,
88
86
  emojiId = _this$props.emojiId,
89
87
  emojiProvider = _this$props.emojiProvider;
90
- return /*#__PURE__*/_react.default.createElement("button", {
88
+ return (0, _core.jsx)("button", {
91
89
  onMouseUp: this.handleMouseDown,
92
- className: emojiButtonStyle
93
- }, /*#__PURE__*/_react.default.createElement(_element.ResourcedEmoji, {
90
+ css: emojiButtonStyle
91
+ }, (0, _core.jsx)(_element.ResourcedEmoji, {
94
92
  emojiProvider: emojiProvider,
95
93
  emojiId: emojiId
96
94
  }));
@@ -5,43 +5,43 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.flashStyle = exports.FlashAnimation = void 0;
8
+ exports.flashStyle = exports.flashAnimationTestId = exports.flashAnimation = exports.FlashAnimation = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _core = require("@emotion/core");
11
11
 
12
12
  var _colors = require("@atlaskit/theme/colors");
13
13
 
14
14
  var _tokens = require("@atlaskit/tokens");
15
15
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
16
  var _react = _interopRequireDefault(require("react"));
19
17
 
20
- var _typestyle = require("typestyle");
21
-
22
- var containerStyle = (0, _typestyle.style)({
18
+ /** @jsx jsx */
19
+ var flashAnimationTestId = 'flash-animation';
20
+ exports.flashAnimationTestId = flashAnimationTestId;
21
+ var containerStyle = (0, _core.css)({
23
22
  width: '100%',
24
23
  height: '100%'
25
24
  });
26
25
  var flashTime = 700;
27
- var flashAnimation = (0, _typestyle.keyframes)({
26
+ var flashAnimation = (0, _core.keyframes)({
28
27
  '0%': {
29
28
  backgroundColor: 'transparent'
30
29
  },
31
30
  '20%': {
32
- backgroundColor: (0, _tokens.token)('color.background.brand.pressed', _colors.B75),
33
- borderColor: (0, _tokens.token)('color.icon.brand', _colors.B300)
31
+ backgroundColor: (0, _tokens.token)('color.background.selected.pressed', _colors.B75),
32
+ borderColor: (0, _tokens.token)('color.border.selected', _colors.B300)
34
33
  },
35
34
  '75%': {
36
- backgroundColor: (0, _tokens.token)('color.background.brand.pressed', _colors.B75),
37
- borderColor: (0, _tokens.token)('color.icon.brand', _colors.B300)
35
+ backgroundColor: (0, _tokens.token)('color.background.selected.pressed', _colors.B75),
36
+ borderColor: (0, _tokens.token)('color.border.selected', _colors.B300)
38
37
  },
39
38
  '100%': {
40
- backgroundColor: (0, _tokens.token)('color.background.brand.pressed', _colors.B75),
41
- borderColor: (0, _tokens.token)('color.icon.brand', _colors.B300)
39
+ backgroundColor: (0, _tokens.token)('color.background.selected.pressed', _colors.B75),
40
+ borderColor: (0, _tokens.token)('color.border.selected', _colors.B300)
42
41
  }
43
42
  });
44
- var flashStyle = (0, _typestyle.style)({
43
+ exports.flashAnimation = flashAnimation;
44
+ var flashStyle = (0, _core.css)({
45
45
  animation: "".concat(flashAnimation, " ").concat(flashTime, "ms ease-in-out")
46
46
  });
47
47
  /**
@@ -51,8 +51,10 @@ var flashStyle = (0, _typestyle.style)({
51
51
  exports.flashStyle = flashStyle;
52
52
 
53
53
  var FlashAnimation = function FlashAnimation(props) {
54
- return /*#__PURE__*/_react.default.createElement("div", {
55
- className: (0, _classnames.default)(containerStyle, props.className, (0, _defineProperty2.default)({}, flashStyle, props.flash))
54
+ return (0, _core.jsx)("div", {
55
+ className: props.className,
56
+ css: [containerStyle, props.flash && flashStyle],
57
+ "data-testid": flashAnimationTestId
56
58
  }, props.children);
57
59
  };
58
60
 
@@ -23,6 +23,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
 
26
+ var _core = require("@emotion/core");
27
+
26
28
  var _analyticsNext = require("@atlaskit/analytics-next");
27
29
 
28
30
  var _element = require("@atlaskit/emoji/element");
@@ -31,12 +33,8 @@ var _colors = require("@atlaskit/theme/colors");
31
33
 
32
34
  var _tokens = require("@atlaskit/tokens");
33
35
 
34
- var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
36
  var _react = _interopRequireWildcard(require("react"));
37
37
 
38
- var _typestyle = require("typestyle");
39
-
40
38
  var _analytics = require("../analytics");
41
39
 
42
40
  var _Counter = require("./Counter");
@@ -60,12 +58,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
60
58
  * Padding and line height are set within the child components
61
59
  * of FlashAnimation b/c it otherwise throws off the flash styling
62
60
  */
63
- var emojiStyle = (0, _typestyle.style)({
61
+ var emojiStyle = (0, _core.css)({
64
62
  transformOrigin: 'center center 0',
65
63
  lineHeight: '12px',
66
64
  padding: '4px 4px 4px 8px'
67
65
  });
68
- var reactionStyle = (0, _typestyle.style)({
66
+ var reactionStyle = (0, _core.css)({
69
67
  outline: 'none',
70
68
  display: 'flex',
71
69
  flexDirection: 'row',
@@ -81,24 +79,20 @@ var reactionStyle = (0, _typestyle.style)({
81
79
  margin: 0,
82
80
  padding: 0,
83
81
  transition: '200ms ease-in-out',
84
- $nest: {
85
- '&:hover': {
86
- background: "".concat((0, _tokens.token)('color.background.neutral.subtle.hovered', _colors.N20))
87
- }
82
+ '&:hover': {
83
+ background: "".concat((0, _tokens.token)('color.background.neutral.subtle.hovered', _colors.N20))
88
84
  }
89
85
  });
90
- var reactedStyle = (0, _typestyle.style)({
91
- backgroundColor: (0, _tokens.token)('color.background.brand', _colors.B50),
92
- borderColor: (0, _tokens.token)('color.icon.brand', _colors.B300),
93
- $nest: {
94
- '&:hover': {
95
- background: "".concat((0, _tokens.token)('color.background.brand.hovered', _colors.B75))
96
- }
86
+ var reactedStyle = (0, _core.css)({
87
+ backgroundColor: (0, _tokens.token)('color.background.selected', _colors.B50),
88
+ borderColor: (0, _tokens.token)('color.border.selected', _colors.B300),
89
+ '&:hover': {
90
+ background: "".concat((0, _tokens.token)('color.background.selected.hovered', _colors.B75))
97
91
  }
98
92
  });
99
93
  var flashHeight = _utils.akHeight - 2; // height without the 1px border
100
94
 
101
- var flashStyle = (0, _typestyle.style)({
95
+ var flashStyle = (0, _core.css)({
102
96
  display: 'flex',
103
97
  flexDirection: 'row',
104
98
  borderRadius: '10px',
@@ -190,28 +184,28 @@ var ReactionWithoutAnalytics = /*#__PURE__*/function (_PureComponent) {
190
184
  classNameProp = _this$props3.className,
191
185
  flash = _this$props3.flash;
192
186
  var emojiName = this.state.emojiName;
193
- var classNames = (0, _classnames.default)(reactionStyle, classNameProp, (0, _defineProperty2.default)({}, reactedStyle, reaction.reacted));
194
187
  var emojiId = {
195
188
  id: reaction.emojiId,
196
189
  shortName: ''
197
190
  };
198
- return /*#__PURE__*/_react.default.createElement("button", {
199
- className: classNames,
191
+ return (0, _core.jsx)("button", {
192
+ className: classNameProp,
193
+ css: [reactionStyle, reaction.reacted && reactedStyle],
200
194
  onMouseUp: this.handleMouseDown,
201
195
  onMouseEnter: this.handleMouseEnter
202
- }, /*#__PURE__*/_react.default.createElement(_ReactionTooltip.ReactionTooltip, {
196
+ }, (0, _core.jsx)(_ReactionTooltip.ReactionTooltip, {
203
197
  emojiName: emojiName,
204
198
  reaction: reaction
205
- }, /*#__PURE__*/_react.default.createElement(_FlashAnimation.FlashAnimation, {
199
+ }, (0, _core.jsx)(_FlashAnimation.FlashAnimation, {
206
200
  flash: flash,
207
- className: flashStyle
208
- }, /*#__PURE__*/_react.default.createElement("div", {
209
- className: emojiStyle
210
- }, /*#__PURE__*/_react.default.createElement(_element.ResourcedEmoji, {
201
+ css: flashStyle
202
+ }, (0, _core.jsx)("div", {
203
+ css: emojiStyle
204
+ }, (0, _core.jsx)(_element.ResourcedEmoji, {
211
205
  emojiProvider: emojiProvider,
212
206
  emojiId: emojiId,
213
207
  fitToHeight: 16
214
- })), /*#__PURE__*/_react.default.createElement(_Counter.Counter, {
208
+ })), (0, _core.jsx)(_Counter.Counter, {
215
209
  value: reaction.count,
216
210
  highlight: reaction.reacted
217
211
  }))));
@@ -23,6 +23,12 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
 
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+
30
+ var _core = require("@emotion/core");
31
+
26
32
  var _picker = require("@atlaskit/emoji/picker");
27
33
 
28
34
  var _popper = require("@atlaskit/popper");
@@ -33,18 +39,12 @@ var _colors = require("@atlaskit/theme/colors");
33
39
 
34
40
  var _tokens = require("@atlaskit/tokens");
35
41
 
36
- var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
- var _react = _interopRequireWildcard(require("react"));
39
-
40
- var _reactDom = _interopRequireDefault(require("react-dom"));
41
-
42
- var _typestyle = require("typestyle");
43
-
44
42
  var _Selector = require("./Selector");
45
43
 
46
44
  var _Trigger = require("./Trigger");
47
45
 
46
+ var _analytics = require("../analytics");
47
+
48
48
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
49
 
50
50
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -57,26 +57,22 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
57
57
 
58
58
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
59
 
60
- var pickerStyle = (0, _typestyle.style)({
60
+ var pickerStyle = (0, _core.css)({
61
61
  verticalAlign: 'middle',
62
- $nest: {
63
- '&.miniMode': {
64
- display: 'inline-block',
65
- marginRight: '4px'
66
- }
62
+ '&.miniMode': {
63
+ display: 'inline-block',
64
+ marginRight: '4px'
67
65
  }
68
66
  });
69
- var contentStyle = (0, _typestyle.style)({
67
+ var contentStyle = (0, _core.css)({
70
68
  display: 'flex'
71
69
  });
72
- var popupStyle = (0, _typestyle.style)({
70
+ var popupStyle = (0, _core.css)({
73
71
  background: (0, _tokens.token)('elevation.surface.overlay', _colors.N0),
74
72
  borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
75
73
  boxShadow: (0, _tokens.token)('elevation.shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A)),
76
- $nest: {
77
- '&> div': {
78
- boxShadow: undefined
79
- }
74
+ '&> div': {
75
+ boxShadow: undefined
80
76
  }
81
77
  });
82
78
 
@@ -138,6 +134,9 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
138
134
  _this.close(emoji.id);
139
135
  });
140
136
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onTriggerClick", function () {
137
+ // ufo start reaction experience
138
+ _analytics.UFO.PickerRender.start();
139
+
141
140
  if (_this.props.onOpen) {
142
141
  _this.props.onOpen();
143
142
  }
@@ -145,6 +144,9 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
145
144
  _this.setState({
146
145
  isOpen: !_this.state.isOpen,
147
146
  showFullPicker: false
147
+ }, function () {
148
+ // ufo add reaction success
149
+ _analytics.UFO.PickerRender.success();
148
150
  });
149
151
  });
150
152
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "popperModifiers", [{
@@ -186,6 +188,8 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
186
188
  key: "componentWillUnmount",
187
189
  value: function componentWillUnmount() {
188
190
  document.removeEventListener('click', this.handleClickOutside);
191
+
192
+ _analytics.UFO.PickerRender.abort();
189
193
  }
190
194
  }, {
191
195
  key: "close",
@@ -193,6 +197,9 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
193
197
  this.setState({
194
198
  isOpen: false,
195
199
  showFullPicker: false
200
+ }, function () {
201
+ // ufo abort reaction experience
202
+ _analytics.UFO.PickerRender.abort();
196
203
  });
197
204
  }
198
205
  }, {
@@ -201,9 +208,9 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
201
208
  var _this$props = this.props,
202
209
  emojiProvider = _this$props.emojiProvider,
203
210
  allowAllEmojis = _this$props.allowAllEmojis;
204
- return /*#__PURE__*/_react.default.createElement("div", {
205
- className: contentStyle
206
- }, /*#__PURE__*/_react.default.createElement(_Selector.Selector, {
211
+ return (0, _core.jsx)("div", {
212
+ css: contentStyle
213
+ }, (0, _core.jsx)(_Selector.Selector, {
207
214
  emojiProvider: emojiProvider,
208
215
  onSelection: this.onEmojiSelected,
209
216
  showMore: allowAllEmojis,
@@ -213,7 +220,7 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
213
220
  }, {
214
221
  key: "renderEmojiPicker",
215
222
  value: function renderEmojiPicker() {
216
- return /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
223
+ return (0, _core.jsx)(_picker.EmojiPicker, {
217
224
  emojiProvider: this.props.emojiProvider,
218
225
  onSelection: this.onEmojiSelected
219
226
  });
@@ -229,22 +236,21 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
229
236
  var _this2 = this;
230
237
 
231
238
  var isOpen = this.state.isOpen;
232
- var miniMode = this.props.miniMode;
233
- var classNames = (0, _classnames.default)(pickerStyle, {
234
- isOpen: isOpen,
235
- miniMode: miniMode
236
- }, this.props.className);
237
- return /*#__PURE__*/_react.default.createElement("div", {
238
- className: classNames
239
- }, /*#__PURE__*/_react.default.createElement(_popper.Manager, null, /*#__PURE__*/_react.default.createElement(_popper.Reference, null, function (_ref) {
239
+ var _this$props2 = this.props,
240
+ miniMode = _this$props2.miniMode,
241
+ className = _this$props2.className;
242
+ return (0, _core.jsx)("div", {
243
+ className: " ".concat(isOpen ? 'isOpen' : '', " ").concat(miniMode ? 'miniMode' : '', " ").concat(className),
244
+ css: pickerStyle
245
+ }, (0, _core.jsx)(_popper.Manager, null, (0, _core.jsx)(_popper.Reference, null, function (_ref) {
240
246
  var ref = _ref.ref;
241
- return /*#__PURE__*/_react.default.createElement(_Trigger.Trigger, {
247
+ return (0, _core.jsx)(_Trigger.Trigger, {
242
248
  ref: ref,
243
249
  onClick: _this2.onTriggerClick,
244
250
  miniMode: miniMode,
245
251
  disabled: _this2.props.disabled
246
252
  });
247
- }), /*#__PURE__*/_react.default.createElement(_popper.Popper, {
253
+ }), (0, _core.jsx)(_popper.Popper, {
248
254
  placement: "bottom-start",
249
255
  modifiers: this.popperModifiers
250
256
  }, function (_ref2) {
@@ -252,13 +258,13 @@ var ReactionPicker = /*#__PURE__*/function (_PureComponent) {
252
258
  style = _ref2.style,
253
259
  update = _ref2.update;
254
260
  _this2.updatePopper = update;
255
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _this2.state.isOpen && /*#__PURE__*/_react.default.createElement("div", {
261
+ return (0, _core.jsx)(_react.Fragment, null, isOpen && (0, _core.jsx)("div", {
256
262
  style: _objectSpread({
257
263
  zIndex: _constants.layers.layer()
258
264
  }, style),
259
265
  ref: ref
260
- }, /*#__PURE__*/_react.default.createElement("div", {
261
- className: popupStyle
266
+ }, (0, _core.jsx)("div", {
267
+ css: popupStyle
262
268
  }, _this2.renderContent())));
263
269
  })));
264
270
  }