@atlaskit/emoji 68.0.4 → 69.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/dist/cjs/components/common/CachingEmoji.js +61 -21
  4. package/dist/cjs/components/common/DeletableEmojiTooltipContent.js +13 -4
  5. package/dist/cjs/components/common/EmojiActions.js +4 -4
  6. package/dist/cjs/components/common/EmojiUploadPreview.js +1 -1
  7. package/dist/cjs/components/common/ResourcedEmojiComponent.js +18 -3
  8. package/dist/cjs/components/common/RetryableButton.js +3 -1
  9. package/dist/cjs/components/compiled/common/DeleteButton.compiled.css +9 -0
  10. package/dist/cjs/components/compiled/common/DeleteButton.js +52 -0
  11. package/dist/cjs/components/compiled/common/Emoji.compiled.css +23 -0
  12. package/dist/cjs/components/compiled/common/Emoji.js +380 -0
  13. package/dist/cjs/components/compiled/common/EmojiActions.compiled.css +21 -0
  14. package/dist/cjs/components/compiled/common/EmojiActions.js +220 -0
  15. package/dist/cjs/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
  16. package/dist/cjs/components/compiled/common/EmojiDeletePreview.js +152 -0
  17. package/dist/cjs/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
  18. package/dist/cjs/components/compiled/common/EmojiErrorMessage.js +58 -0
  19. package/dist/cjs/components/compiled/common/EmojiFallback.compiled.css +7 -0
  20. package/dist/cjs/components/compiled/common/EmojiFallback.js +36 -0
  21. package/dist/cjs/components/compiled/common/EmojiPlaceholder.compiled.css +20 -0
  22. package/dist/cjs/components/compiled/common/EmojiPlaceholder.js +68 -0
  23. package/dist/cjs/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
  24. package/dist/cjs/components/compiled/common/EmojiPreviewComponent.js +45 -0
  25. package/dist/cjs/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
  26. package/dist/cjs/components/compiled/common/EmojiRadioButton.js +72 -0
  27. package/dist/cjs/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
  28. package/dist/cjs/components/compiled/common/EmojiUploadPicker.js +322 -0
  29. package/dist/cjs/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
  30. package/dist/cjs/components/compiled/common/EmojiUploadPreview.js +124 -0
  31. package/dist/cjs/components/compiled/common/RetryableButton.compiled.css +2 -0
  32. package/dist/cjs/components/compiled/common/RetryableButton.js +73 -0
  33. package/dist/cjs/components/compiled/common/Scrollable.compiled.css +13 -0
  34. package/dist/cjs/components/compiled/common/Scrollable.js +97 -0
  35. package/dist/cjs/components/compiled/common/TonePreviewButton.compiled.css +32 -0
  36. package/dist/cjs/components/compiled/common/TonePreviewButton.js +52 -0
  37. package/dist/cjs/components/compiled/common/ToneSelector.compiled.css +3 -0
  38. package/dist/cjs/components/compiled/common/ToneSelector.js +111 -0
  39. package/dist/cjs/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
  40. package/dist/cjs/components/compiled/common/ToolTipContentWithKeymap.js +28 -0
  41. package/dist/cjs/components/picker/EmojiPickerFooter.js +2 -0
  42. package/dist/cjs/components/picker/EmojiPickerList.js +1 -0
  43. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +2 -1
  44. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +1 -0
  45. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +3 -1
  46. package/dist/cjs/components/uploader/EmojiUploadComponent.js +2 -0
  47. package/dist/cjs/element.js +9 -15
  48. package/dist/cjs/index.js +3 -4
  49. package/dist/cjs/util/analytics/analytics.js +1 -1
  50. package/dist/es2019/components/common/CachingEmoji.js +63 -23
  51. package/dist/es2019/components/common/DeletableEmojiTooltipContent.js +14 -5
  52. package/dist/es2019/components/common/EmojiActions.js +4 -4
  53. package/dist/es2019/components/common/EmojiUploadPreview.js +1 -1
  54. package/dist/es2019/components/common/ResourcedEmojiComponent.js +20 -5
  55. package/dist/es2019/components/common/RetryableButton.js +3 -1
  56. package/dist/es2019/components/compiled/common/DeleteButton.compiled.css +9 -0
  57. package/dist/es2019/components/compiled/common/DeleteButton.js +40 -0
  58. package/dist/es2019/components/compiled/common/Emoji.compiled.css +23 -0
  59. package/dist/es2019/components/compiled/common/Emoji.js +368 -0
  60. package/dist/es2019/components/compiled/common/EmojiActions.compiled.css +21 -0
  61. package/dist/es2019/components/compiled/common/EmojiActions.js +195 -0
  62. package/dist/es2019/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
  63. package/dist/es2019/components/compiled/common/EmojiDeletePreview.js +126 -0
  64. package/dist/es2019/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
  65. package/dist/es2019/components/compiled/common/EmojiErrorMessage.js +51 -0
  66. package/dist/es2019/components/compiled/common/EmojiFallback.compiled.css +7 -0
  67. package/dist/es2019/components/compiled/common/EmojiFallback.js +33 -0
  68. package/dist/es2019/components/compiled/common/EmojiPlaceholder.compiled.css +21 -0
  69. package/dist/es2019/components/compiled/common/EmojiPlaceholder.js +51 -0
  70. package/dist/es2019/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
  71. package/dist/es2019/components/compiled/common/EmojiPreviewComponent.js +29 -0
  72. package/dist/es2019/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
  73. package/dist/es2019/components/compiled/common/EmojiRadioButton.js +58 -0
  74. package/dist/es2019/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
  75. package/dist/es2019/components/compiled/common/EmojiUploadPicker.js +276 -0
  76. package/dist/es2019/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
  77. package/dist/es2019/components/compiled/common/EmojiUploadPreview.js +96 -0
  78. package/dist/es2019/components/compiled/common/RetryableButton.compiled.css +2 -0
  79. package/dist/es2019/components/compiled/common/RetryableButton.js +67 -0
  80. package/dist/es2019/components/compiled/common/Scrollable.compiled.css +13 -0
  81. package/dist/es2019/components/compiled/common/Scrollable.js +69 -0
  82. package/dist/es2019/components/compiled/common/TonePreviewButton.compiled.css +32 -0
  83. package/dist/es2019/components/compiled/common/TonePreviewButton.js +41 -0
  84. package/dist/es2019/components/compiled/common/ToneSelector.compiled.css +3 -0
  85. package/dist/es2019/components/compiled/common/ToneSelector.js +99 -0
  86. package/dist/es2019/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
  87. package/dist/es2019/components/compiled/common/ToolTipContentWithKeymap.js +17 -0
  88. package/dist/es2019/components/picker/EmojiPickerFooter.js +1 -1
  89. package/dist/es2019/components/picker/EmojiPickerList.js +2 -1
  90. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +2 -1
  91. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +1 -1
  92. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +3 -2
  93. package/dist/es2019/components/uploader/EmojiUploadComponent.js +1 -1
  94. package/dist/es2019/element.js +9 -2
  95. package/dist/es2019/index.js +1 -2
  96. package/dist/es2019/util/analytics/analytics.js +1 -1
  97. package/dist/esm/components/common/CachingEmoji.js +63 -23
  98. package/dist/esm/components/common/DeletableEmojiTooltipContent.js +14 -5
  99. package/dist/esm/components/common/EmojiActions.js +4 -4
  100. package/dist/esm/components/common/EmojiUploadPreview.js +1 -1
  101. package/dist/esm/components/common/ResourcedEmojiComponent.js +20 -5
  102. package/dist/esm/components/common/RetryableButton.js +3 -1
  103. package/dist/esm/components/compiled/common/DeleteButton.compiled.css +9 -0
  104. package/dist/esm/components/compiled/common/DeleteButton.js +42 -0
  105. package/dist/esm/components/compiled/common/Emoji.compiled.css +23 -0
  106. package/dist/esm/components/compiled/common/Emoji.js +370 -0
  107. package/dist/esm/components/compiled/common/EmojiActions.compiled.css +21 -0
  108. package/dist/esm/components/compiled/common/EmojiActions.js +210 -0
  109. package/dist/esm/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
  110. package/dist/esm/components/compiled/common/EmojiDeletePreview.js +142 -0
  111. package/dist/esm/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
  112. package/dist/esm/components/compiled/common/EmojiErrorMessage.js +48 -0
  113. package/dist/esm/components/compiled/common/EmojiFallback.compiled.css +7 -0
  114. package/dist/esm/components/compiled/common/EmojiFallback.js +29 -0
  115. package/dist/esm/components/compiled/common/EmojiPlaceholder.compiled.css +20 -0
  116. package/dist/esm/components/compiled/common/EmojiPlaceholder.js +58 -0
  117. package/dist/esm/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
  118. package/dist/esm/components/compiled/common/EmojiPreviewComponent.js +35 -0
  119. package/dist/esm/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
  120. package/dist/esm/components/compiled/common/EmojiRadioButton.js +62 -0
  121. package/dist/esm/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
  122. package/dist/esm/components/compiled/common/EmojiUploadPicker.js +312 -0
  123. package/dist/esm/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
  124. package/dist/esm/components/compiled/common/EmojiUploadPreview.js +114 -0
  125. package/dist/esm/components/compiled/common/RetryableButton.compiled.css +2 -0
  126. package/dist/esm/components/compiled/common/RetryableButton.js +63 -0
  127. package/dist/esm/components/compiled/common/Scrollable.compiled.css +13 -0
  128. package/dist/esm/components/compiled/common/Scrollable.js +90 -0
  129. package/dist/esm/components/compiled/common/TonePreviewButton.compiled.css +32 -0
  130. package/dist/esm/components/compiled/common/TonePreviewButton.js +42 -0
  131. package/dist/esm/components/compiled/common/ToneSelector.compiled.css +3 -0
  132. package/dist/esm/components/compiled/common/ToneSelector.js +101 -0
  133. package/dist/esm/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
  134. package/dist/esm/components/compiled/common/ToolTipContentWithKeymap.js +19 -0
  135. package/dist/esm/components/picker/EmojiPickerFooter.js +1 -1
  136. package/dist/esm/components/picker/EmojiPickerList.js +2 -1
  137. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +2 -1
  138. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +1 -1
  139. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +3 -2
  140. package/dist/esm/components/uploader/EmojiUploadComponent.js +1 -1
  141. package/dist/esm/element.js +9 -2
  142. package/dist/esm/index.js +1 -2
  143. package/dist/esm/util/analytics/analytics.js +1 -1
  144. package/dist/types/components/common/EmojiActions.d.ts +2 -2
  145. package/dist/types/components/compiled/common/DeleteButton.d.ts +8 -0
  146. package/dist/types/components/compiled/common/Emoji.d.ts +95 -0
  147. package/dist/types/components/compiled/common/EmojiActions.d.ts +34 -0
  148. package/dist/types/components/compiled/common/EmojiDeletePreview.d.ts +21 -0
  149. package/dist/types/components/compiled/common/EmojiErrorMessage.d.ts +14 -0
  150. package/dist/types/components/compiled/common/EmojiFallback.d.ts +8 -0
  151. package/dist/types/components/compiled/common/EmojiPlaceholder.d.ts +12 -0
  152. package/dist/types/components/compiled/common/EmojiPreviewComponent.d.ts +7 -0
  153. package/dist/types/components/compiled/common/EmojiRadioButton.d.ts +16 -0
  154. package/dist/types/components/compiled/common/EmojiUploadPicker.d.ts +20 -0
  155. package/dist/types/components/compiled/common/EmojiUploadPreview.d.ts +18 -0
  156. package/dist/types/components/compiled/common/RetryableButton.d.ts +14 -0
  157. package/dist/types/components/compiled/common/Scrollable.d.ts +19 -0
  158. package/dist/types/components/compiled/common/TonePreviewButton.d.ts +14 -0
  159. package/dist/types/components/compiled/common/ToneSelector.d.ts +15 -0
  160. package/dist/types/components/compiled/common/ToolTipContentWithKeymap.d.ts +11 -0
  161. package/dist/types/element.d.ts +5 -2
  162. package/dist/types/index.d.ts +1 -2
  163. package/dist/types-ts4.5/components/common/EmojiActions.d.ts +2 -2
  164. package/dist/types-ts4.5/components/compiled/common/DeleteButton.d.ts +8 -0
  165. package/dist/types-ts4.5/components/compiled/common/Emoji.d.ts +95 -0
  166. package/dist/types-ts4.5/components/compiled/common/EmojiActions.d.ts +34 -0
  167. package/dist/types-ts4.5/components/compiled/common/EmojiDeletePreview.d.ts +21 -0
  168. package/dist/types-ts4.5/components/compiled/common/EmojiErrorMessage.d.ts +14 -0
  169. package/dist/types-ts4.5/components/compiled/common/EmojiFallback.d.ts +8 -0
  170. package/dist/types-ts4.5/components/compiled/common/EmojiPlaceholder.d.ts +12 -0
  171. package/dist/types-ts4.5/components/compiled/common/EmojiPreviewComponent.d.ts +7 -0
  172. package/dist/types-ts4.5/components/compiled/common/EmojiRadioButton.d.ts +16 -0
  173. package/dist/types-ts4.5/components/compiled/common/EmojiUploadPicker.d.ts +20 -0
  174. package/dist/types-ts4.5/components/compiled/common/EmojiUploadPreview.d.ts +18 -0
  175. package/dist/types-ts4.5/components/compiled/common/RetryableButton.d.ts +14 -0
  176. package/dist/types-ts4.5/components/compiled/common/Scrollable.d.ts +19 -0
  177. package/dist/types-ts4.5/components/compiled/common/TonePreviewButton.d.ts +14 -0
  178. package/dist/types-ts4.5/components/compiled/common/ToneSelector.d.ts +15 -0
  179. package/dist/types-ts4.5/components/compiled/common/ToolTipContentWithKeymap.d.ts +11 -0
  180. package/dist/types-ts4.5/element.d.ts +5 -2
  181. package/dist/types-ts4.5/index.d.ts +1 -2
  182. package/package.json +10 -2
@@ -0,0 +1,42 @@
1
+ /* TonePreviewButton.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./TonePreviewButton.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import { forwardRef, memo } from 'react';
6
+ import { B100 } from '@atlaskit/theme/colors';
7
+ import Emoji from './Emoji';
8
+ export var tonePreviewTestId = 'tone-preview';
9
+ var emojiButton = null;
10
+ var hidden = null;
11
+ export var TonePreviewButton = /*#__PURE__*/forwardRef(function (props, ref) {
12
+ var emoji = props.emoji,
13
+ selectOnHover = props.selectOnHover,
14
+ ariaLabelText = props.ariaLabelText,
15
+ ariaExpanded = props.ariaExpanded,
16
+ onSelected = props.onSelected,
17
+ _props$isVisible = props.isVisible,
18
+ isVisible = _props$isVisible === void 0 ? true : _props$isVisible;
19
+ return /*#__PURE__*/React.createElement("button", {
20
+ ref: ref,
21
+ onClick: onSelected,
22
+ "aria-label": ariaLabelText,
23
+ "aria-expanded": ariaExpanded,
24
+ "aria-controls": "emoji-picker-tone-selector"
25
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
26
+ ,
27
+
28
+ "data-testid": tonePreviewTestId,
29
+ type: "button",
30
+ className: ax(["_19itidpf _2rkosqtm _ca0qidpf _u5f3idpf _n3tdidpf _19bvidpf _bfhk1j28 _80omtlke _kqswh2mm _1e0c1o8l _lev4idpf _1cx6idpf _tyukidpf _2ewlidpf _11bcidpf _dqozglyw _1at812x7 _1cjo12x7 _1yg612x7 _hjaq12x7 _hlt21tcg _1s3c1tcg _1i911tcg _1ye71tcg _nt751r31 _49pcglyw _1hvw1o36 _7ehi1r2v _491113zc", !isVisible && "_tzy4idpf _3um015vq _1e0cglyw"]),
31
+ style: {
32
+ overflow: 'hidden',
33
+ "--_1rebzxw": ix("0 0 0 2px ".concat("var(--ds-border-focused, ".concat(B100, ")")))
34
+ }
35
+ }, /*#__PURE__*/React.createElement(Emoji, {
36
+ emoji: emoji,
37
+ selectOnHover: selectOnHover,
38
+ shouldBeInteractive: false,
39
+ "aria-hidden": true
40
+ }));
41
+ });
42
+ export default /*#__PURE__*/memo(TonePreviewButton);
@@ -0,0 +1,3 @@
1
+ ._1e0cglyw{display:none}
2
+ ._3um015vq{visibility:hidden}
3
+ ._tzy4idpf{opacity:0}
@@ -0,0 +1,101 @@
1
+ /* ToneSelector.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ import "./ToneSelector.compiled.css";
5
+ import * as React from 'react';
6
+ import { ax, ix } from "@compiled/react/runtime";
7
+ 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; }
8
+ 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; }
9
+ import { memo, useEffect, useMemo, useRef } from 'react';
10
+ import { withAnalyticsEvents } from '@atlaskit/analytics-next';
11
+ import { createAndFireEventInElementsChannel, toneSelectedEvent, toneSelectorOpenedEvent } from '../../../util/analytics';
12
+ import { setSkinToneAriaLabelText } from '../../common/setSkinToneAriaLabelText';
13
+ import EmojiRadioButton from './EmojiRadioButton';
14
+ import { useIntl } from 'react-intl-next';
15
+ import { messages } from '../../i18n';
16
+ var hidden = null;
17
+ export var toneSelectorTestId = 'tone-selector';
18
+ var extractAllTones = function extractAllTones(emoji) {
19
+ if (emoji.skinVariations) {
20
+ return [emoji].concat(_toConsumableArray(emoji.skinVariations));
21
+ }
22
+ return [emoji];
23
+ };
24
+ export var ToneSelectorInternal = function ToneSelectorInternal(props) {
25
+ var createAnalyticsEvent = props.createAnalyticsEvent,
26
+ emoji = props.emoji,
27
+ onToneSelected = props.onToneSelected,
28
+ onToneClose = props.onToneClose,
29
+ selectedTone = props.selectedTone,
30
+ isVisible = props.isVisible;
31
+ var isMounted = useRef(false);
32
+ var selectedToneRadioRef = useRef(null);
33
+ var _useIntl = useIntl(),
34
+ formatMessage = _useIntl.formatMessage;
35
+ var emojiToneCollection = useMemo(function () {
36
+ var selectedToneIndex = -1;
37
+ var toneColletion = extractAllTones(emoji).map(function (tone, index) {
38
+ var isSelected = index === selectedTone;
39
+ if (isSelected) {
40
+ selectedToneIndex = index;
41
+ }
42
+ return _objectSpread(_objectSpread({}, tone), {}, {
43
+ isSelected: isSelected,
44
+ label: setSkinToneAriaLabelText(tone.name),
45
+ toneIndex: index
46
+ });
47
+ });
48
+
49
+ // push description of selected tone to the end of the array
50
+ // so that it gets rendered last/rightmost
51
+ toneColletion.push(toneColletion.splice(selectedToneIndex, 1)[0]);
52
+ return toneColletion;
53
+ }, [emoji, selectedTone]);
54
+ useEffect(function () {
55
+ if (isVisible) {
56
+ var _selectedToneRadioRef;
57
+ (_selectedToneRadioRef = selectedToneRadioRef.current) === null || _selectedToneRadioRef === void 0 || _selectedToneRadioRef.focus();
58
+ }
59
+ }, [isVisible, selectedToneRadioRef]);
60
+ var fireAnalyticsEvent = function fireAnalyticsEvent(event) {
61
+ if (createAnalyticsEvent) {
62
+ createAndFireEventInElementsChannel(event)(createAnalyticsEvent);
63
+ }
64
+ };
65
+ var onToneSelectedHandler = function onToneSelectedHandler(toneValue) {
66
+ return function () {
67
+ if (selectedTone === toneValue && onToneClose) {
68
+ onToneClose();
69
+ return;
70
+ }
71
+ onToneSelected(toneValue);
72
+ var toneList = ['default', 'light', 'mediumLight', 'medium', 'mediumDark', 'dark'];
73
+ fireAnalyticsEvent(toneSelectedEvent({
74
+ skinToneModifier: toneList[toneValue]
75
+ }));
76
+ };
77
+ };
78
+ if (!isMounted.current) {
79
+ fireAnalyticsEvent(toneSelectorOpenedEvent({}));
80
+ }
81
+ isMounted.current = true;
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ role: "radiogroup",
84
+ "data-testid": toneSelectorTestId,
85
+ id: "emoji-picker-tone-selector",
86
+ "aria-label": formatMessage(messages.emojiSelectSkinToneListAriaLabelText),
87
+ className: ax([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
88
+ }, emojiToneCollection.map(function (tone) {
89
+ return /*#__PURE__*/React.createElement(EmojiRadioButton, {
90
+ ref: tone.isSelected ? selectedToneRadioRef : null,
91
+ defaultChecked: tone.isSelected,
92
+ ariaLabelText: tone.label,
93
+ key: "".concat(tone.id),
94
+ emoji: tone,
95
+ onSelected: onToneSelectedHandler(tone.toneIndex),
96
+ selectOnHover: true
97
+ });
98
+ }));
99
+ };
100
+ var ToneSelector = withAnalyticsEvents()(ToneSelectorInternal);
101
+ export default /*#__PURE__*/memo(ToneSelector);
@@ -0,0 +1,7 @@
1
+
2
+ ._2rko1l7b{border-radius:3px}._19bvv77o{padding-left:var(--ds-space-025,2px)}
3
+ ._bfhk1v65{background-color:var(--_1kd7x7o)}
4
+ ._ca0qidpf{padding-top:0}
5
+ ._jqf61teg{label:tooltip-shortcut}
6
+ ._n3tdidpf{padding-bottom:0}
7
+ ._u5f3v77o{padding-right:var(--ds-space-025,2px)}
@@ -0,0 +1,19 @@
1
+ /* ToolTipContentWithKeymap.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./ToolTipContentWithKeymap.compiled.css";
3
+ import { ax, ix } from "@compiled/react/runtime";
4
+ import React, { Fragment } from 'react';
5
+ import { N400 } from '@atlaskit/theme/colors';
6
+ import { formatShortcut } from '../../../util/keymaps';
7
+ var tooltipShortcutStyle = null;
8
+ export var ToolTipContentWithKeymap = /*#__PURE__*/React.memo(function (_ref) {
9
+ var description = _ref.description,
10
+ shortcutOverride = _ref.shortcutOverride,
11
+ keymap = _ref.keymap;
12
+ var shortcut = shortcutOverride || keymap && formatShortcut(keymap);
13
+ return shortcut || description ? /*#__PURE__*/React.createElement(Fragment, null, description, shortcut && description && "\xA0", shortcut && /*#__PURE__*/React.createElement("span", {
14
+ className: ax(["_2rko1l7b _bfhk1v65 _ca0qidpf _n3tdidpf _19bvv77o _u5f3v77o _jqf61teg"]),
15
+ style: {
16
+ "--_1kd7x7o": ix("var(--ds-background-inverse-subtle, ".concat(N400, ")"))
17
+ }
18
+ }, shortcut)) : null;
19
+ });
@@ -5,7 +5,7 @@
5
5
  import { memo } from 'react';
6
6
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
7
  import { jsx } from '@emotion/react';
8
- import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
8
+ import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent'; // ED-26865: use compiled EmojiPreviewComponent when migrating picker to compiled css
9
9
  import { emojiPickerFooter, emojiPickerFooterWithTopShadow } from './styles';
10
10
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
11
11
  var previewFooterClassnames = [emojiPickerFooter, emojiPickerFooterWithTopShadow];
@@ -21,7 +21,8 @@ import { CategoryDescriptionMap } from './categories';
21
21
  import CategoryTracker from './CategoryTracker';
22
22
  import { sizes } from './EmojiPickerSizes';
23
23
  import { CategoryHeadingItem, EmojisRowItem, LoadingItem, virtualItemRenderer } from './EmojiPickerVirtualItems';
24
- import EmojiActions from '../common/EmojiActions';
24
+ import EmojiActions from '../common/EmojiActions'; // ED-26865: use compiled EmojiActions when migrating picker to compiled css
25
+
25
26
  import { emojiPickerList } from './styles';
26
27
  import { emojiPickerHeightOffset, scrollToRow as _scrollToRow } from './utils';
27
28
  import { VirtualList } from './VirtualList';
@@ -50,7 +50,8 @@ export var LoadingItem = /*#__PURE__*/function (_AbstractItem2) {
50
50
  jsx("div", {
51
51
  css: emojiPickerSpinner
52
52
  }, jsx("div", null, jsx(Spinner, {
53
- size: "medium"
53
+ size: "medium",
54
+ interactionName: "emoji-picker-loading-item-spinner"
54
55
  })))
55
56
  );
56
57
  });
@@ -17,7 +17,7 @@ import { jsx } from '@emotion/react';
17
17
  import { PureComponent } from 'react';
18
18
  import { toEmojiId } from '../../util/type-helpers';
19
19
  import { leftClick } from '../../util/mouse';
20
- import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
20
+ import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent'; // ED-26864: use compiled EmojiPreviewComponent when migrating typeahead to compiled css
21
21
  import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
22
22
  import { typeAheadItem, selected as selectedStyles, typeAheadItemRow, typeaheadSelected } from './styles';
23
23
  var EmojiTypeAheadItemInternal = /*#__PURE__*/function (_PureComponent) {
@@ -18,7 +18,7 @@ import { emojiTypeAheadMaxHeight } from '../../util/shared-styles';
18
18
  import { toEmojiId } from '../../util/type-helpers';
19
19
  import debug from '../../util/logger';
20
20
  import { actualMouseMove, mouseLocation } from '../../util/mouse';
21
- import Scrollable from '../common/Scrollable';
21
+ import Scrollable from '../common/Scrollable'; // ED-26864: use compiled Scrollable when migrating typeahead to compiled css
22
22
  import EmojiItem from './EmojiTypeAheadItem';
23
23
  import { emojiTypeAheadSpinner, emojiTypeAheadSpinnerContainer, typeAheadEmpty, typeAheadList, typeAheadListContainer } from './styles';
24
24
  import { fg } from '@atlaskit/platform-feature-flags';
@@ -241,7 +241,8 @@ var EmojiTypeAheadList = /*#__PURE__*/function (_PureComponent) {
241
241
  }, jsx("div", {
242
242
  css: emojiTypeAheadSpinner
243
243
  }, jsx(Spinner, {
244
- size: "medium"
244
+ size: "medium",
245
+ interactionName: "empji-type-ahead-list-spinner"
245
246
  })));
246
247
  } else {
247
248
  listBody = this.renderItems(emojis);
@@ -10,7 +10,7 @@ import { useState, memo, useEffect } from 'react';
10
10
  import { jsx } from '@emotion/react';
11
11
  import { FormattedMessage } from 'react-intl-next';
12
12
  import { supportsUploadFeature } from '../../api/EmojiResource';
13
- import EmojiUploadPickerWithIntl from '../common/EmojiUploadPicker';
13
+ import EmojiUploadPickerWithIntl from '../common/EmojiUploadPicker'; // ED-26866: use compiled EmojiUploadPicker when migrating uploader to compiled css
14
14
  import { uploadEmoji } from '../common/UploadEmoji';
15
15
  import { createAndFireEventInElementsChannel, selectedFileEvent, uploadCancelButton, uploadConfirmButton } from '../../util/analytics';
16
16
  import { emojiUploadFooter, emojiUploadWidget } from './styles';
@@ -1,3 +1,10 @@
1
- export { default as EmojiPlaceholder } from './components/common/EmojiPlaceholder';
2
- export { default as Emoji } from './components/common/Emoji';
1
+ import { componentWithFG } from '@atlaskit/platform-feature-flags-react';
2
+ import { default as CompiledEmojiPlaceholder } from './components/compiled/common/EmojiPlaceholder';
3
+ import { default as EmotionEmojiPlaceholder } from './components/common/EmojiPlaceholder';
4
+ var EmojiPlaceholder = componentWithFG('platform_editor_css_migrate_emoji', CompiledEmojiPlaceholder, EmotionEmojiPlaceholder);
5
+ export { EmojiPlaceholder };
6
+ import { default as CompiledEmoji } from './components/compiled/common/Emoji';
7
+ import { default as EmotionEmoji } from './components/common/Emoji';
8
+ var Emoji = componentWithFG('platform_editor_css_migrate_emoji', CompiledEmoji, EmotionEmoji);
9
+ export { Emoji };
3
10
  export { default as ResourcedEmoji } from './components/common/ResourcedEmoji';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { AbstractResource } from '@atlaskit/util-service-support';
2
- import Emoji from './components/common/Emoji';
3
- import EmojiPlaceholder from './components/common/EmojiPlaceholder';
2
+ import { Emoji, EmojiPlaceholder } from './element';
4
3
  import ResourcedEmoji from './components/common/ResourcedEmoji';
5
4
  import EmojiPicker, { preloadEmojiPicker } from './components/picker/EmojiPicker';
6
5
  import EmojiUploader from './components/uploader/EmojiUploader';
@@ -13,7 +13,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
13
13
  actionSubjectId: actionSubjectId,
14
14
  attributes: _objectSpread({
15
15
  packageName: "@atlaskit/emoji",
16
- packageVersion: "68.0.4"
16
+ packageVersion: "69.0.0"
17
17
  }, attributes)
18
18
  };
19
19
  };
@@ -2,8 +2,8 @@
2
2
  import { jsx } from '@emotion/react';
3
3
  import { type WrappedComponentProps } from 'react-intl-next';
4
4
  import type { EmojiDescription, EmojiDescriptionWithVariations, Message, OnToneSelected, OnToneSelectorCancelled, ToneSelection } from '../../types';
5
- import { type OnDeleteEmoji } from '../common/EmojiDeletePreview';
6
- import { type OnUploadEmoji } from '../common/EmojiUploadPicker';
5
+ import { type OnDeleteEmoji } from './EmojiDeletePreview';
6
+ import { type OnUploadEmoji } from './EmojiUploadPicker';
7
7
  export interface Props {
8
8
  selectedTone?: ToneSelection;
9
9
  onToneSelected?: OnToneSelected;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { type ButtonProps } from '@atlaskit/button/standard-button';
3
+ /**
4
+ * Test id for wrapper Emoji delete button
5
+ */
6
+ export declare const RENDER_EMOJI_DELETE_BUTTON_TESTID = "render-emoji-delete-button";
7
+ declare const DeleteButton: (props: ButtonProps) => JSX.Element;
8
+ export default DeleteButton;
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import { type EmojiDescription, type OnEmojiEvent } from '../../../types';
7
+ export interface Props extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onMouseMove' | 'onFocus'> {
8
+ /**
9
+ * The emoji to render
10
+ */
11
+ emoji: EmojiDescription;
12
+ /**
13
+ * Show the emoji as selected
14
+ */
15
+ selected?: boolean;
16
+ /**
17
+ * Automatically show the emoji as selected based on mouse hover.
18
+ * CSS, fast, does not require a re-render, but selected state not
19
+ * externally controlled via props.
20
+ */
21
+ selectOnHover?: boolean;
22
+ /**
23
+ * Called when an emoji is selected
24
+ */
25
+ onSelected?: OnEmojiEvent;
26
+ /**
27
+ * Called when the mouse moves over the emoji.
28
+ */
29
+ onMouseMove?: OnEmojiEvent;
30
+ /**
31
+ * Called when the mouse moves over the emoji.
32
+ */
33
+ onFocus?: OnEmojiEvent;
34
+ /**
35
+ * Called when an emoji is deleted
36
+ */
37
+ onDelete?: OnEmojiEvent;
38
+ /**
39
+ * Callback for if an emoji image fails to load.
40
+ */
41
+ onLoadError?: OnEmojiEvent<HTMLImageElement>;
42
+ /**
43
+ * Callback for if an emoji image succesfully loads.
44
+ */
45
+ onLoadSuccess?: (emoji: EmojiDescription) => void;
46
+ /**
47
+ * Additional css classes, if required.
48
+ */
49
+ className?: string;
50
+ /**
51
+ * Show a tooltip on mouse hover.
52
+ */
53
+ showTooltip?: boolean;
54
+ /**
55
+ * Show a delete button on mouse hover
56
+ * Used only for custom emoji
57
+ */
58
+ showDelete?: boolean;
59
+ /**
60
+ * Fits emoji to height in pixels, keeping aspect ratio
61
+ */
62
+ fitToHeight?: number;
63
+ /**
64
+ * Indicates whether emoji is an interactive element (tab index and role) or just a view
65
+ */
66
+ shouldBeInteractive?: boolean;
67
+ /**
68
+ * Disables lazy load on images
69
+ */
70
+ disableLazyLoad?: boolean;
71
+ /**
72
+ * Auto Width takes the constraint of height and enables native scaling based on the emojis image.
73
+ * This is primarily used when rendering emojis for SSR as the component does not know the width and height
74
+ * at the time of the render. It overrides the emoji representations width with 'auto' on the images width attribute
75
+ *
76
+ * Used only for image based emojis
77
+ */
78
+ autoWidth?: boolean;
79
+ /**
80
+ * This should only be set when the emoji is being used in the Editor.
81
+ * Currently when set -- this prevents any aria labels being added.
82
+ * This is acceptable in Editor -- as it uses another technique to announce the emoji nodes.
83
+ */
84
+ editorEmoji?: true;
85
+ }
86
+ export declare const SpriteEmoji: (props: Props) => JSX.Element;
87
+ export declare const ImageEmoji: (props: Props) => JSX.Element;
88
+ interface EmojiNodeWrapperProps extends Props {
89
+ type: 'sprite' | 'image';
90
+ }
91
+ export declare const EmojiNodeWrapper: React.ForwardRefExoticComponent<EmojiNodeWrapperProps & {
92
+ children?: React.ReactNode;
93
+ } & React.RefAttributes<HTMLSpanElement>>;
94
+ export declare const Emoji: (props: Props) => JSX.Element;
95
+ export default Emoji;
@@ -0,0 +1,34 @@
1
+ /// <reference types="react" />
2
+ import { type WrappedComponentProps } from 'react-intl-next';
3
+ import type { EmojiDescription, EmojiDescriptionWithVariations, Message, OnToneSelected, OnToneSelectorCancelled, ToneSelection } from '../../../types';
4
+ import { type OnDeleteEmoji } from './EmojiDeletePreview';
5
+ import { type OnUploadEmoji } from './EmojiUploadPicker';
6
+ export interface Props {
7
+ selectedTone?: ToneSelection;
8
+ onToneSelected?: OnToneSelected;
9
+ onToneSelectorCancelled?: OnToneSelectorCancelled;
10
+ toneEmoji?: EmojiDescriptionWithVariations;
11
+ uploading: boolean;
12
+ uploadEnabled: boolean;
13
+ emojiToDelete?: EmojiDescription;
14
+ initialUploadName?: string;
15
+ uploadErrorMessage?: Message;
16
+ onUploadCancelled: () => void;
17
+ onUploadEmoji: OnUploadEmoji;
18
+ onCloseDelete: () => void;
19
+ onDeleteEmoji: OnDeleteEmoji;
20
+ onFileChooserClicked?: () => void;
21
+ onOpenUpload: () => void;
22
+ query?: string;
23
+ onChange: (value: string) => void;
24
+ resultsCount?: number;
25
+ }
26
+ export declare const emojiActionsTestId = "emoji-actions";
27
+ export declare const uploadEmojiTestId = "upload-emoji";
28
+ type PropsWithWrappedComponentPropsType = Props & WrappedComponentProps;
29
+ type EmojiActionsProps = PropsWithWrappedComponentPropsType;
30
+ export declare const EmojiActions: (props: EmojiActionsProps) => JSX.Element;
31
+ declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<Props & WrappedComponentProps>> & {
32
+ WrappedComponent: import("react").ComponentType<Props & WrappedComponentProps>;
33
+ };
34
+ export default _default;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { type WrappedComponentProps } from 'react-intl-next';
3
+ import type { EmojiDescription } from '../../../types';
4
+ export interface OnDeleteEmoji {
5
+ (emoji: EmojiDescription): Promise<boolean>;
6
+ }
7
+ export declare const emojiDeletePreviewTestId = "emoji-delete-preview";
8
+ export interface Props {
9
+ emoji: EmojiDescription;
10
+ onDeleteEmoji: OnDeleteEmoji;
11
+ onCloseDelete: () => void;
12
+ errorMessage?: string;
13
+ }
14
+ export interface State {
15
+ loading: boolean;
16
+ error: boolean;
17
+ }
18
+ declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<Props & WrappedComponentProps>> & {
19
+ WrappedComponent: import("react").ComponentType<Props & WrappedComponentProps>;
20
+ };
21
+ export default _default;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type { Message } from '../../../types';
3
+ export type ErrorStyle = 'chooseFile' | 'delete' | 'preview';
4
+ export interface Props {
5
+ message: Message;
6
+ tooltip?: boolean;
7
+ errorStyle: ErrorStyle;
8
+ }
9
+ export declare const emojiErrorScreenreaderTestId = "emoji-error-screenreader-message";
10
+ export declare const emojiErrorMessageTestId = "emoji-error-message";
11
+ export declare const emojiErrorMessageTooltipTestId = "emoji-error-message-tooltip";
12
+ export declare const emojiErrorIconTestId = "emoji-error-icon";
13
+ declare const EmojiErrorMessage: (props: Props) => JSX.Element;
14
+ export default EmojiErrorMessage;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import { type Props as EmojiProps } from './Emoji';
7
+ export declare const EmojiFallback: (props: React.PropsWithChildren<EmojiProps>) => JSX.Element;
8
+ export default EmojiFallback;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { EmojiImageRepresentation } from '../../../types';
3
+ export interface Props {
4
+ shortName: string;
5
+ size?: number;
6
+ showTooltip?: boolean;
7
+ representation?: EmojiImageRepresentation;
8
+ loading?: boolean;
9
+ }
10
+ export declare const emojiPlaceholderTestId: (shortName: string) => string;
11
+ declare const EmojiPlaceholder: (props: Props) => JSX.Element;
12
+ export default EmojiPlaceholder;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { EmojiDescription } from '../../../types';
3
+ type Props = {
4
+ emoji: EmojiDescription;
5
+ };
6
+ export declare const EmojiPreviewComponent: ({ emoji }: Props) => JSX.Element;
7
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import type { EmojiDescription } from '../../../types';
7
+ export interface Props {
8
+ emoji: EmojiDescription;
9
+ onSelected?: () => void;
10
+ selectOnHover?: boolean;
11
+ ariaLabelText?: string;
12
+ defaultChecked?: boolean;
13
+ }
14
+ export declare const EmojiRadioButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLInputElement>>;
15
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLInputElement>>>;
16
+ export default _default;
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { type WrappedComponentProps } from 'react-intl-next';
3
+ import type { EmojiUpload, Message } from '../../../types';
4
+ export interface OnUploadEmoji {
5
+ (upload: EmojiUpload, retry: boolean, onSuccessHandler?: () => void): void;
6
+ }
7
+ export declare const uploadEmojiNameInputTestId = "upload-emoji-name-input";
8
+ export declare const uploadEmojiComponentTestId = "upload-emoji-component";
9
+ export declare const cancelEmojiUploadPickerTestId = "cancel-emoji-upload-picker";
10
+ export interface Props {
11
+ onUploadEmoji: OnUploadEmoji;
12
+ onUploadCancelled: () => void;
13
+ onFileChooserClicked?: () => void;
14
+ errorMessage?: Message;
15
+ initialUploadName?: string;
16
+ }
17
+ declare const EmojiUploadPickerComponent: import("react").FC<import("react-intl-next").WithIntlProps<Props & WrappedComponentProps>> & {
18
+ WrappedComponent: import("react").ComponentType<Props & WrappedComponentProps>;
19
+ };
20
+ export default EmojiUploadPickerComponent;
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { type WrappedComponentProps } from 'react-intl-next';
3
+ import type { Message } from '../../../types';
4
+ import { UploadStatus } from '../../common/internal-types';
5
+ export interface EmojiUploadPreviewProps {
6
+ name: string;
7
+ previewImage: string;
8
+ uploadStatus?: UploadStatus;
9
+ errorMessage?: Message;
10
+ onUploadCancelled: () => void;
11
+ onAddEmoji: () => void;
12
+ }
13
+ export declare const uploadPreviewTestId = "upload-preview";
14
+ export declare const cancelUploadButtonTestId = "cancel-upload-button";
15
+ declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<EmojiUploadPreviewProps & WrappedComponentProps>> & {
16
+ WrappedComponent: import("react").ComponentType<EmojiUploadPreviewProps & WrappedComponentProps>;
17
+ };
18
+ export default _default;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ export interface Props {
3
+ label: string;
4
+ appearance: string;
5
+ error: boolean;
6
+ onSubmit: () => void;
7
+ loading: boolean;
8
+ ariaDescribedBy?: string;
9
+ ariaLabelledBy?: string;
10
+ }
11
+ export declare const retryUploadButtonTestId = "retry-upload-button";
12
+ export declare const uploadEmojiButtonTestId = "upload-emoji-button";
13
+ declare const RetryableButton: (props: Props) => JSX.Element;
14
+ export default RetryableButton;
@@ -0,0 +1,19 @@
1
+ import { type MouseEventHandler, PureComponent, type ReactNode, type UIEvent } from 'react';
2
+ export interface OnScroll {
3
+ (element: Element, event: UIEvent<any>): void;
4
+ }
5
+ export interface Props {
6
+ className?: string;
7
+ maxHeight?: string;
8
+ children?: ReactNode;
9
+ onScroll?: OnScroll;
10
+ onMouseLeave?: MouseEventHandler<any>;
11
+ }
12
+ export default class Scrollable extends PureComponent<Props, {}> {
13
+ private scrollableDiv;
14
+ reveal: (child: HTMLElement, forceToTop?: boolean) => void;
15
+ scrollToBottom: () => void;
16
+ private handleScroll;
17
+ private handleRef;
18
+ render(): JSX.Element;
19
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type { EmojiDescription } from '../../../types';
3
+ export declare const tonePreviewTestId = "tone-preview";
4
+ export interface Props {
5
+ emoji: EmojiDescription;
6
+ isVisible?: boolean;
7
+ onSelected?: () => void;
8
+ selectOnHover?: boolean;
9
+ ariaLabelText?: string;
10
+ ariaExpanded?: boolean;
11
+ }
12
+ export declare const TonePreviewButton: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLButtonElement>>;
13
+ declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLButtonElement>>>;
14
+ export default _default;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { EmojiDescriptionWithVariations, OnToneSelected, ToneSelection } from '../../../types';
3
+ import { type WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
4
+ export interface Props {
5
+ emoji: EmojiDescriptionWithVariations;
6
+ isVisible: boolean;
7
+ onToneSelected: OnToneSelected;
8
+ onToneClose?: () => void;
9
+ selectedTone?: ToneSelection;
10
+ }
11
+ export declare const toneSelectorTestId = "tone-selector";
12
+ type PropsWithAnalyticsEventsPropsType = Props & WithAnalyticsEventsProps;
13
+ export declare const ToneSelectorInternal: (props: PropsWithAnalyticsEventsPropsType) => JSX.Element;
14
+ declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Omit<Props, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>>;
15
+ export default _default;