@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.
- package/CHANGELOG.md +16 -0
- package/afm-cc/tsconfig.json +3 -0
- package/dist/cjs/components/common/CachingEmoji.js +61 -21
- package/dist/cjs/components/common/DeletableEmojiTooltipContent.js +13 -4
- package/dist/cjs/components/common/EmojiActions.js +4 -4
- package/dist/cjs/components/common/EmojiUploadPreview.js +1 -1
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +18 -3
- package/dist/cjs/components/common/RetryableButton.js +3 -1
- package/dist/cjs/components/compiled/common/DeleteButton.compiled.css +9 -0
- package/dist/cjs/components/compiled/common/DeleteButton.js +52 -0
- package/dist/cjs/components/compiled/common/Emoji.compiled.css +23 -0
- package/dist/cjs/components/compiled/common/Emoji.js +380 -0
- package/dist/cjs/components/compiled/common/EmojiActions.compiled.css +21 -0
- package/dist/cjs/components/compiled/common/EmojiActions.js +220 -0
- package/dist/cjs/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
- package/dist/cjs/components/compiled/common/EmojiDeletePreview.js +152 -0
- package/dist/cjs/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
- package/dist/cjs/components/compiled/common/EmojiErrorMessage.js +58 -0
- package/dist/cjs/components/compiled/common/EmojiFallback.compiled.css +7 -0
- package/dist/cjs/components/compiled/common/EmojiFallback.js +36 -0
- package/dist/cjs/components/compiled/common/EmojiPlaceholder.compiled.css +20 -0
- package/dist/cjs/components/compiled/common/EmojiPlaceholder.js +68 -0
- package/dist/cjs/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
- package/dist/cjs/components/compiled/common/EmojiPreviewComponent.js +45 -0
- package/dist/cjs/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
- package/dist/cjs/components/compiled/common/EmojiRadioButton.js +72 -0
- package/dist/cjs/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
- package/dist/cjs/components/compiled/common/EmojiUploadPicker.js +322 -0
- package/dist/cjs/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
- package/dist/cjs/components/compiled/common/EmojiUploadPreview.js +124 -0
- package/dist/cjs/components/compiled/common/RetryableButton.compiled.css +2 -0
- package/dist/cjs/components/compiled/common/RetryableButton.js +73 -0
- package/dist/cjs/components/compiled/common/Scrollable.compiled.css +13 -0
- package/dist/cjs/components/compiled/common/Scrollable.js +97 -0
- package/dist/cjs/components/compiled/common/TonePreviewButton.compiled.css +32 -0
- package/dist/cjs/components/compiled/common/TonePreviewButton.js +52 -0
- package/dist/cjs/components/compiled/common/ToneSelector.compiled.css +3 -0
- package/dist/cjs/components/compiled/common/ToneSelector.js +111 -0
- package/dist/cjs/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
- package/dist/cjs/components/compiled/common/ToolTipContentWithKeymap.js +28 -0
- package/dist/cjs/components/picker/EmojiPickerFooter.js +2 -0
- package/dist/cjs/components/picker/EmojiPickerList.js +1 -0
- package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +2 -1
- package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +1 -0
- package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +3 -1
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +2 -0
- package/dist/cjs/element.js +9 -15
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/components/common/CachingEmoji.js +63 -23
- package/dist/es2019/components/common/DeletableEmojiTooltipContent.js +14 -5
- package/dist/es2019/components/common/EmojiActions.js +4 -4
- package/dist/es2019/components/common/EmojiUploadPreview.js +1 -1
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +20 -5
- package/dist/es2019/components/common/RetryableButton.js +3 -1
- package/dist/es2019/components/compiled/common/DeleteButton.compiled.css +9 -0
- package/dist/es2019/components/compiled/common/DeleteButton.js +40 -0
- package/dist/es2019/components/compiled/common/Emoji.compiled.css +23 -0
- package/dist/es2019/components/compiled/common/Emoji.js +368 -0
- package/dist/es2019/components/compiled/common/EmojiActions.compiled.css +21 -0
- package/dist/es2019/components/compiled/common/EmojiActions.js +195 -0
- package/dist/es2019/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
- package/dist/es2019/components/compiled/common/EmojiDeletePreview.js +126 -0
- package/dist/es2019/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
- package/dist/es2019/components/compiled/common/EmojiErrorMessage.js +51 -0
- package/dist/es2019/components/compiled/common/EmojiFallback.compiled.css +7 -0
- package/dist/es2019/components/compiled/common/EmojiFallback.js +33 -0
- package/dist/es2019/components/compiled/common/EmojiPlaceholder.compiled.css +21 -0
- package/dist/es2019/components/compiled/common/EmojiPlaceholder.js +51 -0
- package/dist/es2019/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
- package/dist/es2019/components/compiled/common/EmojiPreviewComponent.js +29 -0
- package/dist/es2019/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
- package/dist/es2019/components/compiled/common/EmojiRadioButton.js +58 -0
- package/dist/es2019/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
- package/dist/es2019/components/compiled/common/EmojiUploadPicker.js +276 -0
- package/dist/es2019/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
- package/dist/es2019/components/compiled/common/EmojiUploadPreview.js +96 -0
- package/dist/es2019/components/compiled/common/RetryableButton.compiled.css +2 -0
- package/dist/es2019/components/compiled/common/RetryableButton.js +67 -0
- package/dist/es2019/components/compiled/common/Scrollable.compiled.css +13 -0
- package/dist/es2019/components/compiled/common/Scrollable.js +69 -0
- package/dist/es2019/components/compiled/common/TonePreviewButton.compiled.css +32 -0
- package/dist/es2019/components/compiled/common/TonePreviewButton.js +41 -0
- package/dist/es2019/components/compiled/common/ToneSelector.compiled.css +3 -0
- package/dist/es2019/components/compiled/common/ToneSelector.js +99 -0
- package/dist/es2019/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
- package/dist/es2019/components/compiled/common/ToolTipContentWithKeymap.js +17 -0
- package/dist/es2019/components/picker/EmojiPickerFooter.js +1 -1
- package/dist/es2019/components/picker/EmojiPickerList.js +2 -1
- package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +2 -1
- package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +1 -1
- package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +3 -2
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +1 -1
- package/dist/es2019/element.js +9 -2
- package/dist/es2019/index.js +1 -2
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/components/common/CachingEmoji.js +63 -23
- package/dist/esm/components/common/DeletableEmojiTooltipContent.js +14 -5
- package/dist/esm/components/common/EmojiActions.js +4 -4
- package/dist/esm/components/common/EmojiUploadPreview.js +1 -1
- package/dist/esm/components/common/ResourcedEmojiComponent.js +20 -5
- package/dist/esm/components/common/RetryableButton.js +3 -1
- package/dist/esm/components/compiled/common/DeleteButton.compiled.css +9 -0
- package/dist/esm/components/compiled/common/DeleteButton.js +42 -0
- package/dist/esm/components/compiled/common/Emoji.compiled.css +23 -0
- package/dist/esm/components/compiled/common/Emoji.js +370 -0
- package/dist/esm/components/compiled/common/EmojiActions.compiled.css +21 -0
- package/dist/esm/components/compiled/common/EmojiActions.js +210 -0
- package/dist/esm/components/compiled/common/EmojiDeletePreview.compiled.css +21 -0
- package/dist/esm/components/compiled/common/EmojiDeletePreview.js +142 -0
- package/dist/esm/components/compiled/common/EmojiErrorMessage.compiled.css +9 -0
- package/dist/esm/components/compiled/common/EmojiErrorMessage.js +48 -0
- package/dist/esm/components/compiled/common/EmojiFallback.compiled.css +7 -0
- package/dist/esm/components/compiled/common/EmojiFallback.js +29 -0
- package/dist/esm/components/compiled/common/EmojiPlaceholder.compiled.css +20 -0
- package/dist/esm/components/compiled/common/EmojiPlaceholder.js +58 -0
- package/dist/esm/components/compiled/common/EmojiPreviewComponent.compiled.css +52 -0
- package/dist/esm/components/compiled/common/EmojiPreviewComponent.js +35 -0
- package/dist/esm/components/compiled/common/EmojiRadioButton.compiled.css +39 -0
- package/dist/esm/components/compiled/common/EmojiRadioButton.js +62 -0
- package/dist/esm/components/compiled/common/EmojiUploadPicker.compiled.css +26 -0
- package/dist/esm/components/compiled/common/EmojiUploadPicker.js +312 -0
- package/dist/esm/components/compiled/common/EmojiUploadPreview.compiled.css +20 -0
- package/dist/esm/components/compiled/common/EmojiUploadPreview.js +114 -0
- package/dist/esm/components/compiled/common/RetryableButton.compiled.css +2 -0
- package/dist/esm/components/compiled/common/RetryableButton.js +63 -0
- package/dist/esm/components/compiled/common/Scrollable.compiled.css +13 -0
- package/dist/esm/components/compiled/common/Scrollable.js +90 -0
- package/dist/esm/components/compiled/common/TonePreviewButton.compiled.css +32 -0
- package/dist/esm/components/compiled/common/TonePreviewButton.js +42 -0
- package/dist/esm/components/compiled/common/ToneSelector.compiled.css +3 -0
- package/dist/esm/components/compiled/common/ToneSelector.js +101 -0
- package/dist/esm/components/compiled/common/ToolTipContentWithKeymap.compiled.css +7 -0
- package/dist/esm/components/compiled/common/ToolTipContentWithKeymap.js +19 -0
- package/dist/esm/components/picker/EmojiPickerFooter.js +1 -1
- package/dist/esm/components/picker/EmojiPickerList.js +2 -1
- package/dist/esm/components/picker/EmojiPickerVirtualItems.js +2 -1
- package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +1 -1
- package/dist/esm/components/typeahead/EmojiTypeAheadList.js +3 -2
- package/dist/esm/components/uploader/EmojiUploadComponent.js +1 -1
- package/dist/esm/element.js +9 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/dist/types/components/common/EmojiActions.d.ts +2 -2
- package/dist/types/components/compiled/common/DeleteButton.d.ts +8 -0
- package/dist/types/components/compiled/common/Emoji.d.ts +95 -0
- package/dist/types/components/compiled/common/EmojiActions.d.ts +34 -0
- package/dist/types/components/compiled/common/EmojiDeletePreview.d.ts +21 -0
- package/dist/types/components/compiled/common/EmojiErrorMessage.d.ts +14 -0
- package/dist/types/components/compiled/common/EmojiFallback.d.ts +8 -0
- package/dist/types/components/compiled/common/EmojiPlaceholder.d.ts +12 -0
- package/dist/types/components/compiled/common/EmojiPreviewComponent.d.ts +7 -0
- package/dist/types/components/compiled/common/EmojiRadioButton.d.ts +16 -0
- package/dist/types/components/compiled/common/EmojiUploadPicker.d.ts +20 -0
- package/dist/types/components/compiled/common/EmojiUploadPreview.d.ts +18 -0
- package/dist/types/components/compiled/common/RetryableButton.d.ts +14 -0
- package/dist/types/components/compiled/common/Scrollable.d.ts +19 -0
- package/dist/types/components/compiled/common/TonePreviewButton.d.ts +14 -0
- package/dist/types/components/compiled/common/ToneSelector.d.ts +15 -0
- package/dist/types/components/compiled/common/ToolTipContentWithKeymap.d.ts +11 -0
- package/dist/types/element.d.ts +5 -2
- package/dist/types/index.d.ts +1 -2
- package/dist/types-ts4.5/components/common/EmojiActions.d.ts +2 -2
- package/dist/types-ts4.5/components/compiled/common/DeleteButton.d.ts +8 -0
- package/dist/types-ts4.5/components/compiled/common/Emoji.d.ts +95 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiActions.d.ts +34 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiDeletePreview.d.ts +21 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiErrorMessage.d.ts +14 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiFallback.d.ts +8 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiPlaceholder.d.ts +12 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiPreviewComponent.d.ts +7 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiRadioButton.d.ts +16 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiUploadPicker.d.ts +20 -0
- package/dist/types-ts4.5/components/compiled/common/EmojiUploadPreview.d.ts +18 -0
- package/dist/types-ts4.5/components/compiled/common/RetryableButton.d.ts +14 -0
- package/dist/types-ts4.5/components/compiled/common/Scrollable.d.ts +19 -0
- package/dist/types-ts4.5/components/compiled/common/TonePreviewButton.d.ts +14 -0
- package/dist/types-ts4.5/components/compiled/common/ToneSelector.d.ts +15 -0
- package/dist/types-ts4.5/components/compiled/common/ToolTipContentWithKeymap.d.ts +11 -0
- package/dist/types-ts4.5/element.d.ts +5 -2
- package/dist/types-ts4.5/index.d.ts +1 -2
- 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,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';
|
package/dist/esm/element.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 './
|
|
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: "
|
|
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 '
|
|
6
|
-
import { type OnUploadEmoji } from '
|
|
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,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,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;
|