@atlaskit/emoji 65.0.0 → 65.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/cjs/components/common/CachingEmoji.js +84 -151
  3. package/dist/cjs/components/common/Emoji.js +2 -2
  4. package/dist/cjs/components/common/EmojiActions.js +129 -175
  5. package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
  6. package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
  7. package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
  8. package/dist/cjs/components/common/FileChooser.js +34 -71
  9. package/dist/cjs/components/common/Popup.js +105 -154
  10. package/dist/cjs/components/common/ResourcedEmojiComponent.js +10 -5
  11. package/dist/cjs/components/common/RetryableButton.js +43 -64
  12. package/dist/cjs/components/common/ToneSelector.js +50 -89
  13. package/dist/cjs/components/common/styles.js +14 -16
  14. package/dist/cjs/components/hooks.js +16 -0
  15. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
  16. package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -508
  17. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
  18. package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -46
  19. package/dist/cjs/components/picker/styles.js +16 -13
  20. package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
  21. package/dist/cjs/hooks/useEmojiContext.js +16 -0
  22. package/dist/cjs/hooks/usePrevious.js +16 -0
  23. package/dist/cjs/index.js +16 -0
  24. package/dist/cjs/util/constants.js +3 -1
  25. package/dist/cjs/version.json +1 -1
  26. package/dist/es2019/components/common/CachingEmoji.js +65 -112
  27. package/dist/es2019/components/common/Emoji.js +2 -2
  28. package/dist/es2019/components/common/EmojiActions.js +124 -150
  29. package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
  30. package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
  31. package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
  32. package/dist/es2019/components/common/FileChooser.js +37 -40
  33. package/dist/es2019/components/common/Popup.js +89 -109
  34. package/dist/es2019/components/common/ResourcedEmojiComponent.js +5 -4
  35. package/dist/es2019/components/common/RetryableButton.js +43 -34
  36. package/dist/es2019/components/common/ToneSelector.js +46 -59
  37. package/dist/es2019/components/common/styles.js +9 -9
  38. package/dist/es2019/components/hooks.js +8 -0
  39. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
  40. package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -497
  41. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
  42. package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -19
  43. package/dist/es2019/components/picker/styles.js +16 -14
  44. package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
  45. package/dist/es2019/hooks/useEmojiContext.js +3 -0
  46. package/dist/es2019/hooks/usePrevious.js +8 -0
  47. package/dist/es2019/index.js +4 -1
  48. package/dist/es2019/util/constants.js +1 -0
  49. package/dist/es2019/version.json +1 -1
  50. package/dist/esm/components/common/CachingEmoji.js +86 -156
  51. package/dist/esm/components/common/Emoji.js +2 -2
  52. package/dist/esm/components/common/EmojiActions.js +129 -176
  53. package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
  54. package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
  55. package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
  56. package/dist/esm/components/common/FileChooser.js +34 -70
  57. package/dist/esm/components/common/Popup.js +104 -155
  58. package/dist/esm/components/common/ResourcedEmojiComponent.js +8 -4
  59. package/dist/esm/components/common/RetryableButton.js +40 -60
  60. package/dist/esm/components/common/ToneSelector.js +50 -87
  61. package/dist/esm/components/common/styles.js +10 -10
  62. package/dist/esm/components/hooks.js +8 -0
  63. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
  64. package/dist/esm/components/picker/EmojiPickerComponent.js +486 -526
  65. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
  66. package/dist/esm/components/picker/EmojiPickerFooter.js +14 -47
  67. package/dist/esm/components/picker/styles.js +16 -14
  68. package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
  69. package/dist/esm/hooks/useEmojiContext.js +5 -0
  70. package/dist/esm/hooks/usePrevious.js +8 -0
  71. package/dist/esm/index.js +4 -1
  72. package/dist/esm/util/constants.js +1 -0
  73. package/dist/esm/version.json +1 -1
  74. package/dist/types/api/EmojiResource.d.ts +2 -3
  75. package/dist/types/components/common/CachingEmoji.d.ts +3 -13
  76. package/dist/types/components/common/Emoji.d.ts +1 -2
  77. package/dist/types/components/common/EmojiActions.d.ts +6 -17
  78. package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
  79. package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
  80. package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
  81. package/dist/types/components/common/FileChooser.d.ts +3 -5
  82. package/dist/types/components/common/LoadingEmojiComponent.d.ts +3 -0
  83. package/dist/types/components/common/Popup.d.ts +3 -20
  84. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +23 -11
  85. package/dist/types/components/common/RetryableButton.d.ts +3 -7
  86. package/dist/types/components/common/ToneSelector.d.ts +4 -10
  87. package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
  88. package/dist/types/components/common/styles.d.ts +1 -3
  89. package/dist/types/components/hooks.d.ts +1 -0
  90. package/dist/types/components/picker/CategorySelector.d.ts +1 -1
  91. package/dist/types/components/picker/EmojiPicker.d.ts +12 -3
  92. package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
  93. package/dist/types/components/picker/EmojiPickerComponent.d.ts +14 -76
  94. package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
  95. package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -5
  96. package/dist/types/components/picker/styles.d.ts +1 -1
  97. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +18 -0
  98. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
  99. package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
  100. package/dist/types/hooks/useEmojiContext.d.ts +1 -0
  101. package/dist/types/hooks/usePrevious.d.ts +1 -0
  102. package/dist/types/index.d.ts +3 -1
  103. package/dist/types/types.d.ts +2 -1
  104. package/dist/types/util/constants.d.ts +1 -0
  105. package/docs/0-intro.tsx +35 -27
  106. package/docs/1-resourced-emoji.tsx +74 -0
  107. package/docs/2-emoji-picker.tsx +56 -0
  108. package/docs/3-typeahead.tsx +20 -0
  109. package/docs/4-emoji-provider.tsx +98 -0
  110. package/local-config-example.ts +3 -1
  111. package/package.json +19 -6
  112. package/dist/cjs/components/common/EmojiPreview.js +0 -194
  113. package/dist/es2019/components/common/EmojiPreview.js +0 -152
  114. package/dist/esm/components/common/EmojiPreview.js +0 -170
  115. package/dist/types/components/common/EmojiPreview.d.ts +0 -31
@@ -1,40 +1,37 @@
1
1
  /** @jsx jsx */
2
2
  import { jsx } from '@emotion/core';
3
- import { PureComponent } from 'react';
3
+ import { memo } from 'react';
4
4
  import CachingEmoji from '../common/CachingEmoji';
5
5
  import { emojiItem, emojiPickerRow } from './styles';
6
- export default class EmojiPickerEmojiRow extends PureComponent {
7
- render() {
8
- const {
9
- emojis,
10
- onSelected,
11
- onMouseMove,
12
- title,
13
- showDelete,
14
- onDelete
15
- } = this.props;
16
- return jsx("div", {
17
- css: emojiPickerRow
18
- }, emojis.map(emoji => {
19
- const {
20
- shortName,
21
- id
22
- } = emoji;
23
- const key = id ? `${id}-${title}` : `${shortName}-${title}`;
24
- return jsx("span", {
25
- css: emojiItem,
26
- key: key
27
- }, jsx(CachingEmoji, {
28
- emoji: emoji,
29
- selectOnHover: true,
30
- onSelected: onSelected,
31
- onMouseMove: onMouseMove,
32
- showDelete: showDelete,
33
- onDelete: onDelete,
34
- placeholderSize: 24,
35
- shouldBeInteractive: true
36
- }));
37
- }));
38
- }
39
6
 
40
- }
7
+ const EmojiPickerEmojiRow = ({
8
+ emojis,
9
+ onSelected,
10
+ onMouseMove,
11
+ title,
12
+ showDelete,
13
+ onDelete
14
+ }) => jsx("div", {
15
+ css: emojiPickerRow
16
+ }, emojis.map(emoji => {
17
+ const {
18
+ shortName,
19
+ id
20
+ } = emoji;
21
+ const key = id ? `${id}-${title}` : `${shortName}-${title}`;
22
+ return jsx("span", {
23
+ css: emojiItem,
24
+ key: key
25
+ }, jsx(CachingEmoji, {
26
+ emoji: emoji,
27
+ selectOnHover: true,
28
+ onSelected: onSelected,
29
+ onMouseMove: onMouseMove,
30
+ showDelete: showDelete,
31
+ onDelete: onDelete,
32
+ placeholderSize: 24,
33
+ shouldBeInteractive: true
34
+ }));
35
+ }));
36
+
37
+ export default /*#__PURE__*/memo(EmojiPickerEmojiRow);
@@ -1,25 +1,17 @@
1
1
  /** @jsx jsx */
2
2
  import { jsx } from '@emotion/core';
3
- import { PureComponent } from 'react';
3
+ import { memo } from 'react';
4
4
  import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
5
5
  import { emojiPickerFooter, emojiPickerFooterWithTopShadow } from './styles';
6
- export default class EmojiPickerFooter extends PureComponent {
7
- render() {
8
- const {
9
- selectedEmoji,
10
- isUploading
11
- } = this.props;
12
- const previewFooterClassnames = [emojiPickerFooter, emojiPickerFooterWithTopShadow];
6
+ const previewFooterClassnames = [emojiPickerFooter, emojiPickerFooterWithTopShadow];
13
7
 
14
- if (!selectedEmoji || isUploading) {
15
- return null;
16
- }
8
+ const EmojiPickerFooter = ({
9
+ selectedEmoji
10
+ }) => jsx("div", {
11
+ css: previewFooterClassnames,
12
+ "data-testid": "emoji-picker-footer"
13
+ }, selectedEmoji && jsx(EmojiPreviewComponent, {
14
+ emoji: selectedEmoji
15
+ }));
17
16
 
18
- return jsx("div", {
19
- css: previewFooterClassnames
20
- }, selectedEmoji && jsx(EmojiPreviewComponent, {
21
- emoji: selectedEmoji
22
- }));
23
- }
24
-
25
- }
17
+ export default /*#__PURE__*/memo(EmojiPickerFooter);
@@ -3,22 +3,24 @@ import { token } from '@atlaskit/tokens';
3
3
  import { borderRadius } from '@atlaskit/theme/constants';
4
4
  import { emojiPickerBorderColor, emojiPickerBoxShadow } from '../../util/shared-styles';
5
5
  import { emojiSprite, placeholder, emojiNodeStyles } from '../common/styles';
6
- import { emojiPickerHeight, emojiPickerWidth } from '../../util/constants';
6
+ import { emojiPickerHeight, emojiPickerHeightWithPreview, emojiPickerWidth } from '../../util/constants';
7
7
  import { B200, B300, N100A, N200, N30, N30A, N50, N900 } from '@atlaskit/theme/colors'; // Level 1 - picker
8
8
 
9
- export const emojiPicker = css({
10
- display: 'flex',
11
- flexDirection: 'column',
12
- justifyContent: 'space-between',
13
- background: token('elevation.surface.overlay', 'white'),
14
- border: `${emojiPickerBorderColor} 1px solid`,
15
- borderRadius: `${borderRadius()}px`,
16
- boxShadow: emojiPickerBoxShadow,
17
- height: `${emojiPickerHeight}px`,
18
- width: `${emojiPickerWidth}px`,
19
- marginBottom: '8px',
20
- minWidth: `${emojiPickerWidth}px`
21
- }); // Level 2
9
+ export const emojiPicker = hasPreview => {
10
+ return css({
11
+ display: 'flex',
12
+ flexDirection: 'column',
13
+ justifyContent: 'space-between',
14
+ background: token('elevation.surface.overlay', 'white'),
15
+ border: `${emojiPickerBorderColor} 1px solid`,
16
+ borderRadius: `${borderRadius()}px`,
17
+ boxShadow: emojiPickerBoxShadow,
18
+ height: `${hasPreview ? emojiPickerHeightWithPreview : emojiPickerHeight}px`,
19
+ width: `${emojiPickerWidth}px`,
20
+ marginBottom: '8px',
21
+ minWidth: `${emojiPickerWidth}px`
22
+ });
23
+ }; // Level 2
22
24
  /// Category Selector
23
25
 
24
26
  export const addButton = 'emoji-picker-add-button';
@@ -1,8 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
1
  /** @jsx jsx */
4
2
  import { jsx } from '@emotion/core';
5
- import { PureComponent } from 'react';
3
+ import { useState, memo, useEffect } from 'react';
6
4
  import { FormattedMessage } from 'react-intl-next';
7
5
  import { supportsUploadFeature } from '../../api/EmojiResource';
8
6
  import EmojiUploadPickerWithIntl from '../common/EmojiUploadPicker';
@@ -10,105 +8,97 @@ import { uploadEmoji } from '../common/UploadEmoji';
10
8
  import { createAndFireEventInElementsChannel, selectedFileEvent, uploadCancelButton, uploadConfirmButton } from '../../util/analytics';
11
9
  import { emojiUploadFooter, emojiUploadWidget } from './styles';
12
10
  import { ufoExperiences } from '../../util/analytics/ufoExperiences';
13
- export default class EmojiUploadComponent extends PureComponent {
14
- constructor(props) {
15
- super(props);
16
-
17
- _defineProperty(this, "onUploadEmoji", (upload, retry) => {
18
- const {
19
- emojiProvider
20
- } = this.props;
21
- ufoExperiences['emoji-uploaded'].start();
22
- ufoExperiences['emoji-uploaded'].addMetadata({
23
- retry
24
- });
25
- this.fireAnalytics(uploadConfirmButton({
26
- retry
27
- }));
28
-
29
- const errorSetter = message => {
30
- this.setState({
31
- uploadErrorMessage: message
32
- });
33
- };
34
-
35
- uploadEmoji(upload, emojiProvider, errorSetter, this.prepareForUpload, this.fireAnalytics, retry);
36
- });
37
-
38
- _defineProperty(this, "prepareForUpload", () => {
39
- const {
40
- emojiProvider
41
- } = this.props;
42
-
43
- if (supportsUploadFeature(emojiProvider)) {
44
- emojiProvider.prepareForUpload();
45
- }
46
-
47
- this.setState({
48
- uploadErrorMessage: undefined
49
- });
50
-
51
- if (this.ref) {
52
- this.ref.clearUploadPicker();
11
+ import { messages } from '../i18n';
12
+
13
+ const EmojiUploadComponent = props => {
14
+ const {
15
+ emojiProvider,
16
+ createAnalyticsEvent,
17
+ onUploaderRef
18
+ } = props;
19
+ const [uploadErrorMessage, setUploadErrorMessage] = useState();
20
+ useEffect(() => {
21
+ if (supportsUploadFeature(emojiProvider)) {
22
+ emojiProvider.prepareForUpload();
23
+ }
24
+ }, [emojiProvider]);
25
+ useEffect(() => () => {
26
+ ufoExperiences['emoji-uploaded'].abort({
27
+ metadata: {
28
+ source: 'EmojiUploadComponent',
29
+ reason: 'unmount'
53
30
  }
54
31
  });
32
+ }, []);
55
33
 
56
- _defineProperty(this, "onFileChooserClicked", () => {
57
- this.fireAnalytics(selectedFileEvent());
34
+ const onUploadEmoji = async (upload, retry, onSuccessHandler) => {
35
+ ufoExperiences['emoji-uploaded'].start();
36
+ ufoExperiences['emoji-uploaded'].addMetadata({
37
+ retry
58
38
  });
59
39
 
60
- _defineProperty(this, "onUploadCancelled", () => {
61
- this.fireAnalytics(uploadCancelButton());
62
- this.prepareForUpload();
63
- });
40
+ if (supportsUploadFeature(emojiProvider)) {
41
+ fireAnalytics(uploadConfirmButton({
42
+ retry
43
+ }));
64
44
 
65
- _defineProperty(this, "onUploaderRef", emojiUploadPicker => {
66
- this.ref = emojiUploadPicker;
67
- });
45
+ try {
46
+ await emojiProvider.prepareForUpload();
68
47
 
69
- _defineProperty(this, "fireAnalytics", analyticsEvent => {
70
- const {
71
- createAnalyticsEvent
72
- } = this.props;
48
+ const errorSetter = message => {
49
+ setUploadErrorMessage(message);
50
+ }; // internally handled error from upload callback
73
51
 
74
- if (createAnalyticsEvent) {
75
- createAndFireEventInElementsChannel(analyticsEvent)(createAnalyticsEvent);
76
- }
77
- });
78
52
 
79
- if (supportsUploadFeature(props.emojiProvider)) {
80
- props.emojiProvider.prepareForUpload();
53
+ uploadEmoji(upload, emojiProvider, errorSetter, onUploaded(onSuccessHandler), fireAnalytics, retry);
54
+ } catch (error) {
55
+ // error from upload token generation
56
+ const message = error instanceof Error ? error.message : 'Issue with generating upload token';
57
+ ufoExperiences['emoji-uploaded'].failure({
58
+ metadata: {
59
+ source: 'EmojiUploadComponent',
60
+ error: message
61
+ }
62
+ });
63
+ setUploadErrorMessage(messages.emojiUploadFailed);
64
+ }
81
65
  }
66
+ };
82
67
 
83
- this.state = {};
84
- }
68
+ const onUploaded = onSuccessHandler => () => {
69
+ setUploadErrorMessage(undefined);
85
70
 
86
- componentWillUnmount() {
87
- ufoExperiences['emoji-uploaded'].abort({
88
- metadata: {
89
- source: 'EmojiUploadComponent',
90
- reason: 'unmount'
91
- }
92
- });
93
- }
71
+ if (onSuccessHandler) {
72
+ onSuccessHandler();
73
+ }
74
+ };
94
75
 
95
- render() {
96
- const {
97
- uploadErrorMessage
98
- } = this.state;
99
- const errorMessage = uploadErrorMessage ? jsx(FormattedMessage, uploadErrorMessage) : null;
100
- return jsx("div", {
101
- css: emojiUploadWidget,
102
- ref: this.props.onUploaderRef
103
- }, jsx("div", {
104
- css: emojiUploadFooter
105
- }, jsx(EmojiUploadPickerWithIntl, {
106
- ref: this.onUploaderRef,
107
- onFileChooserClicked: this.onFileChooserClicked,
108
- onUploadCancelled: this.onUploadCancelled,
109
- onUploadEmoji: this.onUploadEmoji,
110
- errorMessage: errorMessage
111
- })));
112
- }
76
+ const onFileChooserClicked = () => {
77
+ fireAnalytics(selectedFileEvent());
78
+ };
113
79
 
114
- }
80
+ const onUploadCancelled = () => {
81
+ fireAnalytics(uploadCancelButton());
82
+ onUploaded();
83
+ };
84
+
85
+ const fireAnalytics = analyticsEvent => {
86
+ if (createAnalyticsEvent) {
87
+ createAndFireEventInElementsChannel(analyticsEvent)(createAnalyticsEvent);
88
+ }
89
+ };
90
+
91
+ return jsx("div", {
92
+ css: emojiUploadWidget,
93
+ ref: onUploaderRef
94
+ }, jsx("div", {
95
+ css: emojiUploadFooter
96
+ }, jsx(EmojiUploadPickerWithIntl, {
97
+ onFileChooserClicked: onFileChooserClicked,
98
+ onUploadCancelled: onUploadCancelled,
99
+ onUploadEmoji: onUploadEmoji,
100
+ errorMessage: uploadErrorMessage ? jsx(FormattedMessage, uploadErrorMessage) : null
101
+ })));
102
+ };
103
+
104
+ export default /*#__PURE__*/memo(EmojiUploadComponent);
@@ -0,0 +1,3 @@
1
+ import { useContext } from 'react';
2
+ import { EmojiContext } from '../context/EmojiContext';
3
+ export const useEmojiContext = () => useContext(EmojiContext);
@@ -0,0 +1,8 @@
1
+ import { useEffect, useRef } from 'react';
2
+ export function usePrevious(value) {
3
+ const ref = useRef();
4
+ useEffect(() => {
5
+ ref.current = value;
6
+ }, [value]);
7
+ return ref.current;
8
+ }
@@ -17,8 +17,11 @@ import { toEmojiId, toOptionalEmojiId } from './util/type-helpers';
17
17
  import { recordSelectionFailedSli, recordSelectionSucceededSli, ufoExperiences, withSampling } from './util/analytics';
18
18
  import { customCategory, defaultEmojiHeight, emojiPickerWidth, emojiPickerHeight } from './util/constants';
19
19
  import { UsageFrequencyTracker } from './api/internal/UsageFrequencyTracker';
20
+ import { useEmojiContext } from './hooks/useEmojiContext';
21
+ import { EmojiContextProvider } from './context/EmojiContextProvider';
20
22
  export { // Classes
21
- AbstractResource, Emoji, EmojiPlaceholder, EmojiLoader, EmojiPicker, EmojiUploader, EmojiResource, EmojiRepository, EmojiTypeAhead, EmojiImage, ResourcedEmoji, // functions
23
+ AbstractResource, Emoji, EmojiPlaceholder, EmojiLoader, EmojiPicker, EmojiUploader, EmojiResource, EmojiRepository, EmojiTypeAhead, EmojiImage, ResourcedEmoji, EmojiContextProvider, // hooks,
24
+ useEmojiContext, // functions
22
25
  denormaliseEmojiServiceResponse, toEmojiId, toOptionalEmojiId, recordSelectionFailedSli, recordSelectionSucceededSli, ufoExperiences, withSampling, // Constants
23
26
  emojiPickerWidth, emojiPickerHeight, defaultEmojiHeight, customCategory, UsageFrequencyTracker, EmojiTypeAheadItem };
24
27
  export { // Enums
@@ -14,6 +14,7 @@ export const MAX_ORDINAL = 100000;
14
14
  export const defaultEmojiHeight = 20;
15
15
  export const emojiPickerWidth = 350;
16
16
  export const emojiPickerHeight = 295;
17
+ export const emojiPickerHeightWithPreview = 348;
17
18
  export const localStoragePrefix = 'fabric.emoji';
18
19
  export const selectedToneStorageKey = `${localStoragePrefix}.selectedTone`;
19
20
  export const defaultCategories = ['PEOPLE', 'NATURE', 'FOODS', 'ACTIVITY', 'PLACES', 'OBJECTS', 'SYMBOLS', 'FLAGS'];
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "65.0.0",
3
+ "version": "65.2.0",
4
4
  "sideEffects": false
5
5
  }