@atlaskit/emoji 65.0.0 → 65.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/dist/cjs/components/common/CachingEmoji.js +84 -151
- package/dist/cjs/components/common/Emoji.js +2 -2
- package/dist/cjs/components/common/EmojiActions.js +129 -175
- package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
- package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
- package/dist/cjs/components/common/FileChooser.js +34 -71
- package/dist/cjs/components/common/Popup.js +105 -154
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +10 -5
- package/dist/cjs/components/common/RetryableButton.js +43 -64
- package/dist/cjs/components/common/ToneSelector.js +50 -89
- package/dist/cjs/components/common/styles.js +14 -16
- package/dist/cjs/components/hooks.js +16 -0
- package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
- package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -508
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
- package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -46
- package/dist/cjs/components/picker/styles.js +16 -13
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
- package/dist/cjs/hooks/useEmojiContext.js +16 -0
- package/dist/cjs/hooks/usePrevious.js +16 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/util/constants.js +3 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/common/CachingEmoji.js +65 -112
- package/dist/es2019/components/common/Emoji.js +2 -2
- package/dist/es2019/components/common/EmojiActions.js +124 -150
- package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
- package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
- package/dist/es2019/components/common/FileChooser.js +37 -40
- package/dist/es2019/components/common/Popup.js +89 -109
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +5 -4
- package/dist/es2019/components/common/RetryableButton.js +43 -34
- package/dist/es2019/components/common/ToneSelector.js +46 -59
- package/dist/es2019/components/common/styles.js +9 -9
- package/dist/es2019/components/hooks.js +8 -0
- package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
- package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -497
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
- package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -19
- package/dist/es2019/components/picker/styles.js +16 -14
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
- package/dist/es2019/hooks/useEmojiContext.js +3 -0
- package/dist/es2019/hooks/usePrevious.js +8 -0
- package/dist/es2019/index.js +4 -1
- package/dist/es2019/util/constants.js +1 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/common/CachingEmoji.js +86 -156
- package/dist/esm/components/common/Emoji.js +2 -2
- package/dist/esm/components/common/EmojiActions.js +129 -176
- package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
- package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
- package/dist/esm/components/common/FileChooser.js +34 -70
- package/dist/esm/components/common/Popup.js +104 -155
- package/dist/esm/components/common/ResourcedEmojiComponent.js +8 -4
- package/dist/esm/components/common/RetryableButton.js +40 -60
- package/dist/esm/components/common/ToneSelector.js +50 -87
- package/dist/esm/components/common/styles.js +10 -10
- package/dist/esm/components/hooks.js +8 -0
- package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
- package/dist/esm/components/picker/EmojiPickerComponent.js +486 -526
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
- package/dist/esm/components/picker/EmojiPickerFooter.js +14 -47
- package/dist/esm/components/picker/styles.js +16 -14
- package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
- package/dist/esm/hooks/useEmojiContext.js +5 -0
- package/dist/esm/hooks/usePrevious.js +8 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/util/constants.js +1 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/api/EmojiResource.d.ts +2 -3
- package/dist/types/components/common/CachingEmoji.d.ts +3 -13
- package/dist/types/components/common/Emoji.d.ts +1 -2
- package/dist/types/components/common/EmojiActions.d.ts +6 -17
- package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
- package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
- package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
- package/dist/types/components/common/FileChooser.d.ts +3 -5
- package/dist/types/components/common/LoadingEmojiComponent.d.ts +3 -0
- package/dist/types/components/common/Popup.d.ts +3 -20
- package/dist/types/components/common/ResourcedEmojiComponent.d.ts +23 -11
- package/dist/types/components/common/RetryableButton.d.ts +3 -7
- package/dist/types/components/common/ToneSelector.d.ts +4 -10
- package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
- package/dist/types/components/common/styles.d.ts +1 -3
- package/dist/types/components/hooks.d.ts +1 -0
- package/dist/types/components/picker/CategorySelector.d.ts +1 -1
- package/dist/types/components/picker/EmojiPicker.d.ts +12 -3
- package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerComponent.d.ts +14 -76
- package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -5
- package/dist/types/components/picker/styles.d.ts +1 -1
- package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +18 -0
- package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
- package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
- package/dist/types/hooks/useEmojiContext.d.ts +1 -0
- package/dist/types/hooks/usePrevious.d.ts +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/types.d.ts +2 -1
- package/dist/types/util/constants.d.ts +1 -0
- package/docs/0-intro.tsx +35 -27
- package/docs/1-resourced-emoji.tsx +74 -0
- package/docs/2-emoji-picker.tsx +56 -0
- package/docs/3-typeahead.tsx +20 -0
- package/docs/4-emoji-provider.tsx +98 -0
- package/local-config-example.ts +3 -1
- package/package.json +19 -6
- package/dist/cjs/components/common/EmojiPreview.js +0 -194
- package/dist/es2019/components/common/EmojiPreview.js +0 -152
- package/dist/esm/components/common/EmojiPreview.js +0 -170
- package/dist/types/components/common/EmojiPreview.d.ts +0 -31
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
4
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
9
3
|
|
|
10
|
-
function
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
5
|
|
|
12
|
-
function
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
7
|
|
|
14
|
-
import React, {
|
|
8
|
+
import React, { useEffect, useMemo, useRef } from 'react';
|
|
15
9
|
import EmojiButton from './EmojiButton';
|
|
16
10
|
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
17
11
|
import { createAndFireEventInElementsChannel, toneSelectedEvent, toneSelectorOpenedEvent } from '../../util/analytics';
|
|
@@ -25,91 +19,60 @@ var extractAllTones = function extractAllTones(emoji) {
|
|
|
25
19
|
return [emoji];
|
|
26
20
|
};
|
|
27
21
|
|
|
28
|
-
export var ToneSelectorInternal =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
export var ToneSelectorInternal = function ToneSelectorInternal(props) {
|
|
23
|
+
var createAnalyticsEvent = props.createAnalyticsEvent,
|
|
24
|
+
emoji = props.emoji,
|
|
25
|
+
previewEmojiId = props.previewEmojiId,
|
|
26
|
+
onToneSelected = props.onToneSelected;
|
|
27
|
+
var isMounted = useRef(false);
|
|
28
|
+
var firstToneButtonRef = useRef(null);
|
|
29
|
+
var emojiToneCollection = useMemo(function () {
|
|
30
|
+
return extractAllTones(emoji).map(function (tone, index) {
|
|
31
|
+
return _objectSpread(_objectSpread({}, tone), {}, {
|
|
32
|
+
focused: tone.id !== previewEmojiId,
|
|
33
|
+
label: setSkinToneAriaLabelText(tone.name),
|
|
34
|
+
toneId: index
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}, [emoji, previewEmojiId]);
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
if (firstToneButtonRef.current) {
|
|
40
|
+
firstToneButtonRef.current.focus();
|
|
40
41
|
}
|
|
42
|
+
}, [firstToneButtonRef]);
|
|
41
43
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
var fireAnalyticsEvent = function fireAnalyticsEvent(event) {
|
|
45
|
+
if (createAnalyticsEvent) {
|
|
46
|
+
createAndFireEventInElementsChannel(event)(createAnalyticsEvent);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
45
49
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
onToneSelected(
|
|
50
|
+
var onToneSelectedHandler = function onToneSelectedHandler(toneValue) {
|
|
51
|
+
return function () {
|
|
52
|
+
onToneSelected(toneValue);
|
|
49
53
|
var toneList = ['default', 'light', 'mediumLight', 'medium', 'mediumDark', 'dark'];
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
skinToneModifier: toneList[skinTone]
|
|
54
|
+
fireAnalyticsEvent(toneSelectedEvent({
|
|
55
|
+
skinToneModifier: toneList[toneValue]
|
|
53
56
|
}));
|
|
54
|
-
}
|
|
57
|
+
};
|
|
58
|
+
};
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
if (!isMounted.current) {
|
|
61
|
+
fireAnalyticsEvent(toneSelectorOpenedEvent({}));
|
|
57
62
|
}
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
(_this$firstToneButton = this.firstToneButtonRef) === null || _this$firstToneButton === void 0 ? void 0 : (_this$firstToneButton2 = _this$firstToneButton.current) === null || _this$firstToneButton2 === void 0 ? void 0 : _this$firstToneButton2.focus();
|
|
74
|
-
}
|
|
75
|
-
}, {
|
|
76
|
-
key: "UNSAFE_componentWillMount",
|
|
77
|
-
value: function UNSAFE_componentWillMount() {
|
|
78
|
-
this.fireEvent(toneSelectorOpenedEvent({}));
|
|
79
|
-
}
|
|
80
|
-
}, {
|
|
81
|
-
key: "render",
|
|
82
|
-
value: function render() {
|
|
83
|
-
var _this2 = this;
|
|
84
|
-
|
|
85
|
-
var _this$props = this.props,
|
|
86
|
-
emoji = _this$props.emoji,
|
|
87
|
-
previewEmojiId = _this$props.previewEmojiId;
|
|
88
|
-
var toneEmojis = extractAllTones(emoji);
|
|
89
|
-
var isRefAlreadySet = false;
|
|
90
|
-
return /*#__PURE__*/React.createElement("div", null, toneEmojis.map(function (tone, i) {
|
|
91
|
-
var shouldSetRef = !isRefAlreadySet && tone.id !== previewEmojiId;
|
|
92
|
-
|
|
93
|
-
if (shouldSetRef) {
|
|
94
|
-
isRefAlreadySet = true;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return /*#__PURE__*/React.createElement(EmojiButton, {
|
|
98
|
-
ref: shouldSetRef ? _this2.firstToneButtonRef : null,
|
|
99
|
-
shouldHideButton: tone.id === previewEmojiId,
|
|
100
|
-
ariaLabelText: setSkinToneAriaLabelText(tone.name),
|
|
101
|
-
key: "".concat(tone.id),
|
|
102
|
-
onSelected: function onSelected() {
|
|
103
|
-
return _this2.onToneSelectedHandler(i);
|
|
104
|
-
},
|
|
105
|
-
emoji: tone,
|
|
106
|
-
selectOnHover: true
|
|
107
|
-
});
|
|
108
|
-
}));
|
|
109
|
-
}
|
|
110
|
-
}]);
|
|
111
|
-
|
|
112
|
-
return ToneSelectorInternal;
|
|
113
|
-
}(PureComponent);
|
|
64
|
+
isMounted.current = true;
|
|
65
|
+
return /*#__PURE__*/React.createElement("div", null, emojiToneCollection.map(function (tone) {
|
|
66
|
+
return /*#__PURE__*/React.createElement(EmojiButton, {
|
|
67
|
+
ref: tone.focused ? firstToneButtonRef : null,
|
|
68
|
+
shouldHideButton: tone.id === previewEmojiId,
|
|
69
|
+
ariaLabelText: tone.label,
|
|
70
|
+
key: "".concat(tone.id),
|
|
71
|
+
onSelected: onToneSelectedHandler(tone.toneId),
|
|
72
|
+
emoji: tone,
|
|
73
|
+
selectOnHover: true
|
|
74
|
+
});
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
114
77
|
var ToneSelector = withAnalyticsEvents()(ToneSelectorInternal);
|
|
115
78
|
export default ToneSelector;
|
|
@@ -33,7 +33,7 @@ export var emojiToneSelectorContainer = css({
|
|
|
33
33
|
flex: 1,
|
|
34
34
|
display: 'flex',
|
|
35
35
|
justifyContent: 'flex-end',
|
|
36
|
-
padding: '
|
|
36
|
+
padding: '10px 10px 11px 0'
|
|
37
37
|
});
|
|
38
38
|
export var emojiStyles = css((_css = {
|
|
39
39
|
borderRadius: "".concat(borderRadius(), "px"),
|
|
@@ -112,8 +112,6 @@ export var hiddenToneButton = css({
|
|
|
112
112
|
display: 'none'
|
|
113
113
|
}); // Emoji Preview
|
|
114
114
|
|
|
115
|
-
export var buttons = 'emoji-common-buttons';
|
|
116
|
-
export var toneSelectorContainer = 'emoji-common-tone-selector-container';
|
|
117
115
|
export var emojiPickerAddEmoji = 'emoji-picker-add-emoji';
|
|
118
116
|
export var previewText = css({
|
|
119
117
|
display: 'flex',
|
|
@@ -155,7 +153,9 @@ export var preview = css({
|
|
|
155
153
|
display: 'flex',
|
|
156
154
|
flexDirection: 'row',
|
|
157
155
|
flexWrap: 'nowrap',
|
|
158
|
-
padding: '10px'
|
|
156
|
+
padding: '10px',
|
|
157
|
+
height: '32px',
|
|
158
|
+
alignItems: 'center'
|
|
159
159
|
});
|
|
160
160
|
export var previewImg = css((_css6 = {
|
|
161
161
|
display: 'inline-block',
|
|
@@ -175,12 +175,7 @@ export var previewImg = css((_css6 = {
|
|
|
175
175
|
maxWidth: '32px',
|
|
176
176
|
padding: 0,
|
|
177
177
|
display: 'block'
|
|
178
|
-
}), _css6));
|
|
179
|
-
export var emojiPreview = css({
|
|
180
|
-
display: 'flex',
|
|
181
|
-
height: '50px',
|
|
182
|
-
boxSizing: 'border-box'
|
|
183
|
-
}); // Scrollable
|
|
178
|
+
}), _css6)); // Scrollable
|
|
184
179
|
|
|
185
180
|
export var emojiScrollable = css({
|
|
186
181
|
border: "1px solid ".concat(token('color.border', '#fff')),
|
|
@@ -357,4 +352,9 @@ export var cancelButton = css({
|
|
|
357
352
|
export var buttonSpinner = css({
|
|
358
353
|
marginRight: '10px',
|
|
359
354
|
marginLeft: '10px'
|
|
355
|
+
});
|
|
356
|
+
export var emojiActionsWrapper = css({
|
|
357
|
+
display: 'flex',
|
|
358
|
+
justifyContent: 'flex-end',
|
|
359
|
+
alignItems: 'center'
|
|
360
360
|
});
|
|
@@ -1,50 +1,21 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
-
|
|
7
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
8
|
-
|
|
9
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
10
|
-
|
|
11
1
|
/** @jsx jsx */
|
|
12
2
|
import { jsx } from '@emotion/core';
|
|
13
|
-
import { PureComponent } from 'react';
|
|
14
3
|
import { FormattedMessage } from 'react-intl-next';
|
|
15
4
|
import { isMessagesKey } from '../../util/type-helpers';
|
|
16
5
|
import { messages } from '../i18n';
|
|
17
6
|
import { emojiCategoryTitle } from './styles';
|
|
18
7
|
|
|
19
|
-
var EmojiPickerCategoryHeading =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var _this$props = this.props,
|
|
34
|
-
id = _this$props.id,
|
|
35
|
-
title = _this$props.title,
|
|
36
|
-
className = _this$props.className;
|
|
37
|
-
return jsx("div", {
|
|
38
|
-
id: id,
|
|
39
|
-
"data-category-id": id,
|
|
40
|
-
className: className
|
|
41
|
-
}, jsx("div", {
|
|
42
|
-
css: emojiCategoryTitle
|
|
43
|
-
}, isMessagesKey(title) ? jsx(FormattedMessage, messages[title]) : title));
|
|
44
|
-
}
|
|
45
|
-
}]);
|
|
46
|
-
|
|
47
|
-
return EmojiPickerCategoryHeading;
|
|
48
|
-
}(PureComponent);
|
|
49
|
-
|
|
50
|
-
export { EmojiPickerCategoryHeading as default };
|
|
8
|
+
var EmojiPickerCategoryHeading = function EmojiPickerCategoryHeading(_ref) {
|
|
9
|
+
var id = _ref.id,
|
|
10
|
+
title = _ref.title,
|
|
11
|
+
className = _ref.className;
|
|
12
|
+
return jsx("div", {
|
|
13
|
+
id: id,
|
|
14
|
+
"data-category-id": id,
|
|
15
|
+
className: className
|
|
16
|
+
}, jsx("div", {
|
|
17
|
+
css: emojiCategoryTitle
|
|
18
|
+
}, isMessagesKey(title) ? jsx(FormattedMessage, messages[title]) : title));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default EmojiPickerCategoryHeading;
|