@atlaskit/emoji 67.5.2 → 67.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/emoji
2
2
 
3
+ ## 67.5.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`eb2a6ac5031`](https://bitbucket.org/atlassian/atlassian-frontend/commits/eb2a6ac5031) - fix regression issue in emoji picker search after react-virtual deps bump
8
+
9
+ ## 67.5.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [`aa456f60b3d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/aa456f60b3d) - [ux] [ECA11Y-31] Refactored Upload own emoji component accessibility
14
+
3
15
  ## 67.5.2
4
16
 
5
17
  ### Patch Changes
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.emojiErrorScreenreaderTestId = exports.emojiErrorMessageTooltipTestId = exports.emojiErrorMessageTestId = exports.emojiErrorIconTestId = exports.default = void 0;
8
- var _react = require("react");
9
- var _react2 = require("@emotion/react");
8
+ var _react = require("@emotion/react");
10
9
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
11
10
  var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
12
- var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
13
11
  var _reactIntlNext = require("react-intl-next");
14
12
  var _i18n = require("../i18n");
15
13
  /** @jsx jsx */
@@ -28,29 +26,25 @@ var EmojiErrorMessage = function EmojiErrorMessage(props) {
28
26
  tooltip = props.tooltip;
29
27
  var _useIntl = (0, _reactIntlNext.useIntl)(),
30
28
  formatMessage = _useIntl.formatMessage;
31
- var visualContent = tooltip ? (0, _react2.jsx)("div", {
29
+ var visualContent = tooltip ? (0, _react.jsx)("div", {
32
30
  css: messageStyles,
33
31
  "data-testid": emojiErrorMessageTestId
34
- }, (0, _react2.jsx)(_tooltip.default, {
32
+ }, (0, _react.jsx)(_tooltip.default, {
35
33
  content: message,
36
34
  position: "top",
37
35
  testId: emojiErrorMessageTooltipTestId
38
- }, (0, _react2.jsx)(_error.default, {
36
+ }, (0, _react.jsx)(_error.default, {
39
37
  label: formatMessage(_i18n.messages.error),
40
38
  size: "medium",
41
39
  testId: emojiErrorIconTestId
42
- }))) : (0, _react2.jsx)("div", {
40
+ }))) : (0, _react.jsx)("div", {
43
41
  css: messageStyles,
44
42
  "data-testid": emojiErrorMessageTestId
45
- }, (0, _react2.jsx)(_error.default, {
43
+ }, (0, _react.jsx)(_error.default, {
46
44
  label: formatMessage(_i18n.messages.error),
47
45
  size: "small"
48
46
  }), message);
49
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_visuallyHidden.default, {
50
- id: emojiErrorScreenreaderTestId
51
- }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.error, function (errMsg) {
52
- return (0, _react2.jsx)("span", null, errMsg, " ", message, ".");
53
- })), visualContent);
47
+ return visualContent;
54
48
  };
55
49
  var _default = EmojiErrorMessage;
56
50
  exports.default = _default;
@@ -19,7 +19,7 @@ var _reactFocusLock = _interopRequireDefault(require("react-focus-lock"));
19
19
  var ImageUtil = _interopRequireWildcard(require("../../util/image"));
20
20
  var _logger = _interopRequireDefault(require("../../util/logger"));
21
21
  var _i18n = require("../i18n");
22
- var _EmojiErrorMessage = _interopRequireWildcard(require("./EmojiErrorMessage"));
22
+ var _EmojiErrorMessage = _interopRequireDefault(require("./EmojiErrorMessage"));
23
23
  var _EmojiUploadPreview = _interopRequireDefault(require("./EmojiUploadPreview"));
24
24
  var _FileChooser = _interopRequireDefault(require("./FileChooser"));
25
25
  var _internalTypes = require("./internal-types");
@@ -34,7 +34,6 @@ var uploadEmojiComponentTestId = 'upload-emoji-component';
34
34
  exports.uploadEmojiComponentTestId = uploadEmojiComponentTestId;
35
35
  var cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
36
36
  exports.cancelEmojiUploadPickerTestId = cancelEmojiUploadPickerTestId;
37
- var addCustomEmojiChooseFileScreenreaderId = 'fabric.emoji.choose.file.label.id';
38
37
  var disallowedReplacementsMap = new Map([[':', ''], ['!', ''], ['@', ''], ['#', ''], ['%', ''], ['^', ''], ['&', ''], ['*', ''], ['(', ''], [')', ''], [' ', '_']]);
39
38
  var sanitizeName = function sanitizeName(name) {
40
39
  // prevent / replace certain characters, allow others
@@ -117,24 +116,18 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
117
116
  "aria-required": true
118
117
  })), (0, _react2.jsx)("span", {
119
118
  css: _styles.uploadChooseFileBrowse
120
- }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.emojiChooseFileScreenReaderDescription, function (screenReaderDescription) {
121
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("span", {
122
- hidden: true,
123
- id: fileChooserButtonDescriptionId
124
- }, screenReaderDescription), (0, _react2.jsx)("span", {
125
- hidden: true,
126
- id: addCustomEmojiChooseFileScreenreaderId
127
- }, emojiChooseFileTitle), (0, _react2.jsx)(_FileChooser.default, {
119
+ }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.emojiChooseFileScreenReaderDescription, function () {
120
+ return (0, _react2.jsx)(_FileChooser.default, {
128
121
  label: emojiChooseFileTitle,
129
122
  onChange: onChooseFile,
130
123
  onClick: onClick,
131
124
  accept: "image/png,image/jpeg,image/gif",
132
125
  ariaDescribedBy: fileChooserButtonDescriptionId,
133
- ariaLabelledBy: "".concat(_EmojiErrorMessage.emojiErrorScreenreaderTestId, " ").concat(addCustomEmojiChooseFileScreenreaderId),
134
126
  isDisabled: disableChooser
135
- }));
127
+ });
136
128
  }))), (0, _react2.jsx)("div", {
137
- css: _styles.emojiUploadBottom
129
+ css: _styles.emojiUploadBottom,
130
+ id: fileChooserButtonDescriptionId
138
131
  }, !errorMessage ? (0, _react2.jsx)("p", null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.emojiImageRequirements)) : (0, _react2.jsx)(_EmojiErrorMessage.default, {
139
132
  messageStyles: _styles.emojiChooseFileErrorMessage,
140
133
  message: errorMessage
@@ -17,7 +17,6 @@ exports.fileUploadInputTestId = fileUploadInputTestId;
17
17
  var FileChooser = function FileChooser(props) {
18
18
  var accept = props.accept,
19
19
  ariaDescribedBy = props.ariaDescribedBy,
20
- ariaLabelledBy = props.ariaLabelledBy,
21
20
  isDisabled = props.isDisabled,
22
21
  label = props.label,
23
22
  onChange = props.onChange,
@@ -39,7 +38,6 @@ var FileChooser = function FileChooser(props) {
39
38
  onClick: handleOnChooseFile,
40
39
  isDisabled: isDisabled,
41
40
  "aria-describedby": ariaDescribedBy,
42
- "aria-labelledby": ariaLabelledBy,
43
41
  testId: chooseFileButtonTestId,
44
42
  ref: fileButtonRef
45
43
  }, label), /*#__PURE__*/_react.default.createElement("input", {
@@ -315,11 +315,13 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
315
315
  };
316
316
  if (searchQuery !== query) {
317
317
  setQuery(searchQuery);
318
+ }
319
+ updateEmojis(searchQuery, options);
320
+ if (filteredEmojis.length > 0) {
318
321
  // scroll to top when search, which is search results section
319
322
  scrollToTopOfList();
320
323
  }
321
- updateEmojis(searchQuery, options);
322
- }, [query, selectedTone, updateEmojis, scrollToTopOfList]);
324
+ }, [query, filteredEmojis, selectedTone, updateEmojis, scrollToTopOfList]);
323
325
  var onOpenUpload = (0, _react.useCallback)(function () {
324
326
  // Prime upload token so it's ready when the user adds
325
327
  if ((0, _EmojiResource.supportsUploadFeature)(emojiProvider)) {
@@ -20,7 +20,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
20
20
  actionSubjectId: actionSubjectId,
21
21
  attributes: _objectSpread({
22
22
  packageName: "@atlaskit/emoji",
23
- packageVersion: "67.5.2"
23
+ packageVersion: "67.5.4"
24
24
  }, attributes)
25
25
  };
26
26
  };
@@ -1,10 +1,9 @@
1
1
  /** @jsx jsx */
2
- import { Fragment } from 'react';
2
+
3
3
  import { jsx } from '@emotion/react';
4
4
  import Tooltip from '@atlaskit/tooltip';
5
5
  import ErrorIcon from '@atlaskit/icon/glyph/error';
6
- import VisuallyHidden from '@atlaskit/visually-hidden';
7
- import { FormattedMessage, useIntl } from 'react-intl-next';
6
+ import { useIntl } from 'react-intl-next';
8
7
  import { messages } from '../i18n';
9
8
  export const emojiErrorScreenreaderTestId = 'emoji-error-screenreader-message';
10
9
  export const emojiErrorMessageTestId = 'emoji-error-message';
@@ -37,8 +36,6 @@ const EmojiErrorMessage = props => {
37
36
  label: formatMessage(messages.error),
38
37
  size: "small"
39
38
  }), message);
40
- return jsx(Fragment, null, jsx(VisuallyHidden, {
41
- id: emojiErrorScreenreaderTestId
42
- }, jsx(FormattedMessage, messages.error, errMsg => jsx("span", null, errMsg, " ", message, "."))), visualContent);
39
+ return visualContent;
43
40
  };
44
41
  export default EmojiErrorMessage;
@@ -1,5 +1,5 @@
1
1
  /** @jsx jsx */
2
- import { Fragment, useEffect, useLayoutEffect, useState, useRef, memo, useCallback } from 'react';
2
+ import { useEffect, useLayoutEffect, useState, useRef, memo, useCallback } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  import { FormattedMessage, injectIntl } from 'react-intl-next';
5
5
  import TextField from '@atlaskit/textfield';
@@ -9,7 +9,7 @@ import FocusLock from 'react-focus-lock';
9
9
  import * as ImageUtil from '../../util/image';
10
10
  import debug from '../../util/logger';
11
11
  import { messages } from '../i18n';
12
- import EmojiErrorMessage, { emojiErrorScreenreaderTestId } from './EmojiErrorMessage';
12
+ import EmojiErrorMessage from './EmojiErrorMessage';
13
13
  import EmojiUploadPreview from './EmojiUploadPreview';
14
14
  import FileChooser from './FileChooser';
15
15
  import { UploadStatus } from './internal-types';
@@ -17,7 +17,6 @@ import { closeEmojiUploadButton, emojiChooseFileErrorMessage, emojiUpload, emoji
17
17
  export const uploadEmojiNameInputTestId = 'upload-emoji-name-input';
18
18
  export const uploadEmojiComponentTestId = 'upload-emoji-component';
19
19
  export const cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
20
- const addCustomEmojiChooseFileScreenreaderId = 'fabric.emoji.choose.file.label.id';
21
20
  const disallowedReplacementsMap = new Map([[':', ''], ['!', ''], ['@', ''], ['#', ''], ['%', ''], ['^', ''], ['&', ''], ['*', ''], ['(', ''], [')', ''], [' ', '_']]);
22
21
  const sanitizeName = name => {
23
22
  // prevent / replace certain characters, allow others
@@ -103,22 +102,16 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
103
102
  "aria-required": true
104
103
  })), jsx("span", {
105
104
  css: uploadChooseFileBrowse
106
- }, jsx(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, screenReaderDescription => jsx(Fragment, null, jsx("span", {
107
- hidden: true,
108
- id: fileChooserButtonDescriptionId
109
- }, screenReaderDescription), jsx("span", {
110
- hidden: true,
111
- id: addCustomEmojiChooseFileScreenreaderId
112
- }, emojiChooseFileTitle), jsx(FileChooser, {
105
+ }, jsx(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, () => jsx(FileChooser, {
113
106
  label: emojiChooseFileTitle,
114
107
  onChange: onChooseFile,
115
108
  onClick: onClick,
116
109
  accept: "image/png,image/jpeg,image/gif",
117
110
  ariaDescribedBy: fileChooserButtonDescriptionId,
118
- ariaLabelledBy: `${emojiErrorScreenreaderTestId} ${addCustomEmojiChooseFileScreenreaderId}`,
119
111
  isDisabled: disableChooser
120
- }))))), jsx("div", {
121
- css: emojiUploadBottom
112
+ })))), jsx("div", {
113
+ css: emojiUploadBottom,
114
+ id: fileChooserButtonDescriptionId
122
115
  }, !errorMessage ? jsx("p", null, jsx(FormattedMessage, messages.emojiImageRequirements)) : jsx(EmojiErrorMessage, {
123
116
  messageStyles: emojiChooseFileErrorMessage,
124
117
  message: errorMessage
@@ -6,7 +6,6 @@ const FileChooser = props => {
6
6
  const {
7
7
  accept,
8
8
  ariaDescribedBy,
9
- ariaLabelledBy,
10
9
  isDisabled,
11
10
  label,
12
11
  onChange,
@@ -29,7 +28,6 @@ const FileChooser = props => {
29
28
  onClick: handleOnChooseFile,
30
29
  isDisabled: isDisabled,
31
30
  "aria-describedby": ariaDescribedBy,
32
- "aria-labelledby": ariaLabelledBy,
33
31
  testId: chooseFileButtonTestId,
34
32
  ref: fileButtonRef
35
33
  }, label), /*#__PURE__*/React.createElement("input", {
@@ -258,11 +258,13 @@ const EmojiPickerComponent = ({
258
258
  };
259
259
  if (searchQuery !== query) {
260
260
  setQuery(searchQuery);
261
+ }
262
+ updateEmojis(searchQuery, options);
263
+ if (filteredEmojis.length > 0) {
261
264
  // scroll to top when search, which is search results section
262
265
  scrollToTopOfList();
263
266
  }
264
- updateEmojis(searchQuery, options);
265
- }, [query, selectedTone, updateEmojis, scrollToTopOfList]);
267
+ }, [query, filteredEmojis, selectedTone, updateEmojis, scrollToTopOfList]);
266
268
  const onOpenUpload = useCallback(() => {
267
269
  // Prime upload token so it's ready when the user adds
268
270
  if (supportsUploadFeature(emojiProvider)) {
@@ -7,7 +7,7 @@ const createEvent = (eventType, action, actionSubject, actionSubjectId, attribut
7
7
  actionSubjectId,
8
8
  attributes: {
9
9
  packageName: "@atlaskit/emoji",
10
- packageVersion: "67.5.2",
10
+ packageVersion: "67.5.4",
11
11
  ...attributes
12
12
  }
13
13
  });
@@ -1,10 +1,9 @@
1
1
  /** @jsx jsx */
2
- import { Fragment } from 'react';
2
+
3
3
  import { jsx } from '@emotion/react';
4
4
  import Tooltip from '@atlaskit/tooltip';
5
5
  import ErrorIcon from '@atlaskit/icon/glyph/error';
6
- import VisuallyHidden from '@atlaskit/visually-hidden';
7
- import { FormattedMessage, useIntl } from 'react-intl-next';
6
+ import { useIntl } from 'react-intl-next';
8
7
  import { messages } from '../i18n';
9
8
  export var emojiErrorScreenreaderTestId = 'emoji-error-screenreader-message';
10
9
  export var emojiErrorMessageTestId = 'emoji-error-message';
@@ -34,10 +33,6 @@ var EmojiErrorMessage = function EmojiErrorMessage(props) {
34
33
  label: formatMessage(messages.error),
35
34
  size: "small"
36
35
  }), message);
37
- return jsx(Fragment, null, jsx(VisuallyHidden, {
38
- id: emojiErrorScreenreaderTestId
39
- }, jsx(FormattedMessage, messages.error, function (errMsg) {
40
- return jsx("span", null, errMsg, " ", message, ".");
41
- })), visualContent);
36
+ return visualContent;
42
37
  };
43
38
  export default EmojiErrorMessage;
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  /** @jsx jsx */
5
- import { Fragment, useEffect, useLayoutEffect, useState, useRef, memo, useCallback } from 'react';
5
+ import { useEffect, useLayoutEffect, useState, useRef, memo, useCallback } from 'react';
6
6
  import { jsx } from '@emotion/react';
7
7
  import { FormattedMessage, injectIntl } from 'react-intl-next';
8
8
  import TextField from '@atlaskit/textfield';
@@ -12,7 +12,7 @@ import FocusLock from 'react-focus-lock';
12
12
  import * as ImageUtil from '../../util/image';
13
13
  import debug from '../../util/logger';
14
14
  import { messages } from '../i18n';
15
- import EmojiErrorMessage, { emojiErrorScreenreaderTestId } from './EmojiErrorMessage';
15
+ import EmojiErrorMessage from './EmojiErrorMessage';
16
16
  import EmojiUploadPreview from './EmojiUploadPreview';
17
17
  import FileChooser from './FileChooser';
18
18
  import { UploadStatus } from './internal-types';
@@ -20,7 +20,6 @@ import { closeEmojiUploadButton, emojiChooseFileErrorMessage, emojiUpload, emoji
20
20
  export var uploadEmojiNameInputTestId = 'upload-emoji-name-input';
21
21
  export var uploadEmojiComponentTestId = 'upload-emoji-component';
22
22
  export var cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
23
- var addCustomEmojiChooseFileScreenreaderId = 'fabric.emoji.choose.file.label.id';
24
23
  var disallowedReplacementsMap = new Map([[':', ''], ['!', ''], ['@', ''], ['#', ''], ['%', ''], ['^', ''], ['&', ''], ['*', ''], ['(', ''], [')', ''], [' ', '_']]);
25
24
  var sanitizeName = function sanitizeName(name) {
26
25
  // prevent / replace certain characters, allow others
@@ -103,24 +102,18 @@ var ChooseEmojiFile = /*#__PURE__*/memo(function (props) {
103
102
  "aria-required": true
104
103
  })), jsx("span", {
105
104
  css: uploadChooseFileBrowse
106
- }, jsx(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, function (screenReaderDescription) {
107
- return jsx(Fragment, null, jsx("span", {
108
- hidden: true,
109
- id: fileChooserButtonDescriptionId
110
- }, screenReaderDescription), jsx("span", {
111
- hidden: true,
112
- id: addCustomEmojiChooseFileScreenreaderId
113
- }, emojiChooseFileTitle), jsx(FileChooser, {
105
+ }, jsx(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, function () {
106
+ return jsx(FileChooser, {
114
107
  label: emojiChooseFileTitle,
115
108
  onChange: onChooseFile,
116
109
  onClick: onClick,
117
110
  accept: "image/png,image/jpeg,image/gif",
118
111
  ariaDescribedBy: fileChooserButtonDescriptionId,
119
- ariaLabelledBy: "".concat(emojiErrorScreenreaderTestId, " ").concat(addCustomEmojiChooseFileScreenreaderId),
120
112
  isDisabled: disableChooser
121
- }));
113
+ });
122
114
  }))), jsx("div", {
123
- css: emojiUploadBottom
115
+ css: emojiUploadBottom,
116
+ id: fileChooserButtonDescriptionId
124
117
  }, !errorMessage ? jsx("p", null, jsx(FormattedMessage, messages.emojiImageRequirements)) : jsx(EmojiErrorMessage, {
125
118
  messageStyles: emojiChooseFileErrorMessage,
126
119
  message: errorMessage
@@ -5,7 +5,6 @@ export var fileUploadInputTestId = 'file-upload';
5
5
  var FileChooser = function FileChooser(props) {
6
6
  var accept = props.accept,
7
7
  ariaDescribedBy = props.ariaDescribedBy,
8
- ariaLabelledBy = props.ariaLabelledBy,
9
8
  isDisabled = props.isDisabled,
10
9
  label = props.label,
11
10
  onChange = props.onChange,
@@ -27,7 +26,6 @@ var FileChooser = function FileChooser(props) {
27
26
  onClick: handleOnChooseFile,
28
27
  isDisabled: isDisabled,
29
28
  "aria-describedby": ariaDescribedBy,
30
- "aria-labelledby": ariaLabelledBy,
31
29
  testId: chooseFileButtonTestId,
32
30
  ref: fileButtonRef
33
31
  }, label), /*#__PURE__*/React.createElement("input", {
@@ -309,11 +309,13 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
309
309
  };
310
310
  if (searchQuery !== query) {
311
311
  setQuery(searchQuery);
312
+ }
313
+ updateEmojis(searchQuery, options);
314
+ if (filteredEmojis.length > 0) {
312
315
  // scroll to top when search, which is search results section
313
316
  scrollToTopOfList();
314
317
  }
315
- updateEmojis(searchQuery, options);
316
- }, [query, selectedTone, updateEmojis, scrollToTopOfList]);
318
+ }, [query, filteredEmojis, selectedTone, updateEmojis, scrollToTopOfList]);
317
319
  var onOpenUpload = useCallback(function () {
318
320
  // Prime upload token so it's ready when the user adds
319
321
  if (supportsUploadFeature(emojiProvider)) {
@@ -12,7 +12,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
12
12
  actionSubjectId: actionSubjectId,
13
13
  attributes: _objectSpread({
14
14
  packageName: "@atlaskit/emoji",
15
- packageVersion: "67.5.2"
15
+ packageVersion: "67.5.4"
16
16
  }, attributes)
17
17
  };
18
18
  };
@@ -1,7 +1,6 @@
1
1
  import { FC, ChangeEventHandler } from 'react';
2
2
  export interface Props {
3
3
  label: string;
4
- ariaLabelledBy?: string;
5
4
  ariaDescribedBy?: string;
6
5
  onChange?: ChangeEventHandler<any>;
7
6
  onClick?: () => void;
@@ -1,7 +1,6 @@
1
1
  import { FC, ChangeEventHandler } from 'react';
2
2
  export interface Props {
3
3
  label: string;
4
- ariaLabelledBy?: string;
5
4
  ariaDescribedBy?: string;
6
5
  onChange?: ChangeEventHandler<any>;
7
6
  onClick?: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "67.5.2",
3
+ "version": "67.5.4",
4
4
  "description": "Fabric emoji React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -40,7 +40,7 @@
40
40
  "@atlaskit/spinner": "^15.5.0",
41
41
  "@atlaskit/textfield": "^5.6.0",
42
42
  "@atlaskit/theme": "^12.6.0",
43
- "@atlaskit/tokens": "^1.22.0",
43
+ "@atlaskit/tokens": "^1.24.0",
44
44
  "@atlaskit/tooltip": "^17.8.0",
45
45
  "@atlaskit/ufo": "^0.2.0",
46
46
  "@atlaskit/util-service-support": "^6.2.0",