@atlaskit/emoji 64.0.1 → 64.1.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 +12 -0
- package/dist/cjs/components/common/DeleteButton.js +1 -1
- package/dist/cjs/components/common/Emoji.js +35 -14
- package/dist/cjs/components/common/EmojiActions.js +233 -0
- package/dist/cjs/components/common/EmojiPlaceholder.js +3 -10
- package/dist/cjs/components/common/EmojiPreview.js +2 -2
- package/dist/cjs/components/common/styles.js +22 -25
- package/dist/cjs/components/picker/EmojiPickerComponent.js +8 -27
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/cjs/components/picker/EmojiPickerFooter.js +7 -49
- package/dist/cjs/components/picker/EmojiPickerList.js +36 -10
- package/dist/cjs/components/picker/EmojiPickerPreview.js +87 -0
- package/dist/cjs/components/picker/styles.js +21 -16
- package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +3 -3
- package/dist/cjs/components/typeahead/styles.js +2 -2
- package/dist/cjs/components/uploader/styles.js +1 -1
- package/dist/cjs/util/shared-styles.js +6 -6
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/common/DeleteButton.js +1 -1
- package/dist/es2019/components/common/Emoji.js +33 -13
- package/dist/es2019/components/common/EmojiActions.js +178 -0
- package/dist/es2019/components/common/EmojiPlaceholder.js +3 -7
- package/dist/es2019/components/common/EmojiPreview.js +1 -2
- package/dist/es2019/components/common/styles.js +19 -24
- package/dist/es2019/components/picker/EmojiPickerComponent.js +8 -29
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/es2019/components/picker/EmojiPickerFooter.js +6 -46
- package/dist/es2019/components/picker/EmojiPickerList.js +36 -10
- package/dist/es2019/components/picker/EmojiPickerPreview.js +43 -0
- package/dist/es2019/components/picker/styles.js +18 -14
- package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +2 -2
- package/dist/es2019/components/typeahead/styles.js +2 -2
- package/dist/es2019/components/uploader/styles.js +1 -1
- package/dist/es2019/util/shared-styles.js +6 -6
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/common/DeleteButton.js +1 -1
- package/dist/esm/components/common/Emoji.js +35 -13
- package/dist/esm/components/common/EmojiActions.js +200 -0
- package/dist/esm/components/common/EmojiPlaceholder.js +3 -7
- package/dist/esm/components/common/EmojiPreview.js +2 -2
- package/dist/esm/components/common/styles.js +19 -22
- package/dist/esm/components/picker/EmojiPickerComponent.js +8 -29
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/esm/components/picker/EmojiPickerFooter.js +6 -46
- package/dist/esm/components/picker/EmojiPickerList.js +36 -10
- package/dist/esm/components/picker/EmojiPickerPreview.js +67 -0
- package/dist/esm/components/picker/styles.js +18 -14
- package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +2 -2
- package/dist/esm/components/typeahead/styles.js +2 -2
- package/dist/esm/components/uploader/styles.js +1 -1
- package/dist/esm/util/shared-styles.js +6 -6
- package/dist/esm/version.json +1 -1
- package/dist/types/components/common/Emoji.d.ts +1 -0
- package/dist/types/components/common/EmojiActions.d.ts +43 -0
- package/dist/types/components/common/styles.d.ts +1 -1
- package/dist/types/components/picker/EmojiPickerComponent.d.ts +0 -3
- package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -19
- package/dist/types/components/picker/EmojiPickerList.d.ts +17 -3
- package/dist/types/components/picker/EmojiPickerPreview.d.ts +9 -0
- package/dist/types/components/picker/styles.d.ts +1 -0
- package/dist/types/util/shared-styles.d.ts +6 -6
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 64.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - [ux] Task: https://a11y-internal.atlassian.net/browse/AK-97, Emoji picker: made emojis list keyboard accessible, moved tone selector and place it right after search input, placed upload/remove emoji menus above the emoji list.
|
|
8
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Remove @atlaskit/tooltip from critical path of rendering emoji
|
|
9
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - Upgrade js-search to v2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 64.0.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -33,7 +33,7 @@ var DeleteButton = function DeleteButton(props) {
|
|
|
33
33
|
}, /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
34
34
|
iconBefore: /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
|
|
35
35
|
label: _constants.deleteEmojiLabel,
|
|
36
|
-
primaryColor: (0, _tokens.token)('color.text.
|
|
36
|
+
primaryColor: (0, _tokens.token)('color.text.subtle', _colors.N500),
|
|
37
37
|
size: "small"
|
|
38
38
|
}),
|
|
39
39
|
onClick: props.onClick,
|
|
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
|
|
16
|
-
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
17
|
-
|
|
18
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
17
|
|
|
20
18
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -54,6 +52,21 @@ var handleMouseDown = function handleMouseDown(props, event) {
|
|
|
54
52
|
}
|
|
55
53
|
};
|
|
56
54
|
|
|
55
|
+
var handleKeyPress = function handleKeyPress(props, event) {
|
|
56
|
+
// Clicked emoji delete button
|
|
57
|
+
if (event.target instanceof Element && event.target.getAttribute('aria-label') === _constants.deleteEmojiLabel) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var emoji = props.emoji,
|
|
62
|
+
onSelected = props.onSelected;
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
|
|
65
|
+
if (onSelected && (event.key === 'Enter' || event.key === ' ')) {
|
|
66
|
+
onSelected((0, _typeHelpers.toEmojiId)(emoji), emoji, event);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
57
70
|
var handleMouseMove = function handleMouseMove(props, event) {
|
|
58
71
|
var emoji = props.emoji,
|
|
59
72
|
onMouseMove = props.onMouseMove;
|
|
@@ -96,7 +109,8 @@ var renderAsSprite = function renderAsSprite(props) {
|
|
|
96
109
|
selected = props.selected,
|
|
97
110
|
selectOnHover = props.selectOnHover,
|
|
98
111
|
className = props.className,
|
|
99
|
-
showTooltip = props.showTooltip
|
|
112
|
+
showTooltip = props.showTooltip,
|
|
113
|
+
shouldBeInteractive = props.shouldBeInteractive;
|
|
100
114
|
var representation = emoji.representation;
|
|
101
115
|
var sprite = representation.sprite;
|
|
102
116
|
var classes = (_classes = {}, (0, _defineProperty2.default)(_classes, styles.emojiContainer, true), (0, _defineProperty2.default)(_classes, styles.emojiNode, true), (0, _defineProperty2.default)(_classes, styles.selected, selected), (0, _defineProperty2.default)(_classes, styles.selectOnHover, selectOnHover), _classes);
|
|
@@ -129,18 +143,21 @@ var renderAsSprite = function renderAsSprite(props) {
|
|
|
129
143
|
}, "\xA0");
|
|
130
144
|
|
|
131
145
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
146
|
+
tabIndex: shouldBeInteractive ? 0 : undefined,
|
|
147
|
+
role: shouldBeInteractive ? 'button' : undefined,
|
|
132
148
|
className: (0, _classnames.default)(classes),
|
|
149
|
+
onKeyPress: function onKeyPress(event) {
|
|
150
|
+
return handleKeyPress(props, event);
|
|
151
|
+
},
|
|
133
152
|
onMouseDown: function onMouseDown(event) {
|
|
134
153
|
handleMouseDown(props, event);
|
|
135
154
|
},
|
|
136
155
|
onMouseMove: function onMouseMove(event) {
|
|
137
156
|
handleMouseMove(props, event);
|
|
138
157
|
},
|
|
139
|
-
"aria-label": emoji.shortName
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
content: emoji.shortName
|
|
143
|
-
}, emojiNode) : emojiNode);
|
|
158
|
+
"aria-label": emoji.shortName,
|
|
159
|
+
title: showTooltip ? emoji.shortName : ''
|
|
160
|
+
}, emojiNode);
|
|
144
161
|
}; // Keep as pure functional component, see renderAsSprite.
|
|
145
162
|
|
|
146
163
|
|
|
@@ -153,7 +170,8 @@ var renderAsImage = function renderAsImage(props) {
|
|
|
153
170
|
selectOnHover = props.selectOnHover,
|
|
154
171
|
className = props.className,
|
|
155
172
|
showTooltip = props.showTooltip,
|
|
156
|
-
showDelete = props.showDelete
|
|
173
|
+
showDelete = props.showDelete,
|
|
174
|
+
shouldBeInteractive = props.shouldBeInteractive;
|
|
157
175
|
var classes = (_classes2 = {}, (0, _defineProperty2.default)(_classes2, styles.emoji, true), (0, _defineProperty2.default)(_classes2, styles.emojiNode, true), (0, _defineProperty2.default)(_classes2, styles.selected, selected), (0, _defineProperty2.default)(_classes2, styles.selectOnHover, selectOnHover), (0, _defineProperty2.default)(_classes2, styles.emojiImage, true), _classes2);
|
|
158
176
|
|
|
159
177
|
if (className) {
|
|
@@ -221,18 +239,21 @@ var renderAsImage = function renderAsImage(props) {
|
|
|
221
239
|
}, sizing));
|
|
222
240
|
|
|
223
241
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
242
|
+
tabIndex: shouldBeInteractive ? 0 : undefined,
|
|
243
|
+
role: shouldBeInteractive ? 'button' : undefined,
|
|
224
244
|
className: (0, _classnames.default)(classes),
|
|
245
|
+
onKeyPress: function onKeyPress(event) {
|
|
246
|
+
return handleKeyPress(props, event);
|
|
247
|
+
},
|
|
225
248
|
onMouseDown: function onMouseDown(event) {
|
|
226
249
|
handleMouseDown(props, event);
|
|
227
250
|
},
|
|
228
251
|
onMouseMove: function onMouseMove(event) {
|
|
229
252
|
handleMouseMove(props, event);
|
|
230
253
|
},
|
|
231
|
-
"aria-label": emoji.shortName
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
content: emoji.shortName
|
|
235
|
-
}, emojiNode) : emojiNode);
|
|
254
|
+
"aria-label": emoji.shortName,
|
|
255
|
+
title: showTooltip ? emoji.shortName : ''
|
|
256
|
+
}, deleteButton, emojiNode);
|
|
236
257
|
};
|
|
237
258
|
|
|
238
259
|
var Emoji = function Emoji(props) {
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.EmojiActions = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
|
|
28
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
+
|
|
30
|
+
var _reactIntlNext = require("react-intl-next");
|
|
31
|
+
|
|
32
|
+
var _EmojiDeletePreview = _interopRequireDefault(require("../common/EmojiDeletePreview"));
|
|
33
|
+
|
|
34
|
+
var _EmojiUploadPicker = _interopRequireDefault(require("../common/EmojiUploadPicker"));
|
|
35
|
+
|
|
36
|
+
var styles = _interopRequireWildcard(require("./styles"));
|
|
37
|
+
|
|
38
|
+
var footerStyles = _interopRequireWildcard(require("../picker/styles"));
|
|
39
|
+
|
|
40
|
+
var _EmojiPickerListSearch = _interopRequireDefault(require("../picker/EmojiPickerListSearch"));
|
|
41
|
+
|
|
42
|
+
var _ToneSelector = _interopRequireDefault(require("./ToneSelector"));
|
|
43
|
+
|
|
44
|
+
var _EmojiButton = _interopRequireDefault(require("./EmojiButton"));
|
|
45
|
+
|
|
46
|
+
var _i18n = require("../i18n");
|
|
47
|
+
|
|
48
|
+
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
49
|
+
|
|
50
|
+
var _add = _interopRequireDefault(require("@atlaskit/icon/glyph/add"));
|
|
51
|
+
|
|
52
|
+
var _setSkinToneAriaLabelText = require("./setSkinToneAriaLabelText");
|
|
53
|
+
|
|
54
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
55
|
+
|
|
56
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
57
|
+
|
|
58
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
59
|
+
|
|
60
|
+
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; } }
|
|
61
|
+
|
|
62
|
+
var EmojiActions = /*#__PURE__*/function (_PureComponent) {
|
|
63
|
+
(0, _inherits2.default)(EmojiActions, _PureComponent);
|
|
64
|
+
|
|
65
|
+
var _super = _createSuper(EmojiActions);
|
|
66
|
+
|
|
67
|
+
function EmojiActions() {
|
|
68
|
+
var _this;
|
|
69
|
+
|
|
70
|
+
(0, _classCallCheck2.default)(this, EmojiActions);
|
|
71
|
+
|
|
72
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
73
|
+
args[_key] = arguments[_key];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
77
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
78
|
+
selectingTone: false
|
|
79
|
+
});
|
|
80
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneButtonClick", function () {
|
|
81
|
+
_this.setState({
|
|
82
|
+
selectingTone: !_this.state.selectingTone
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneSelected", function (toneValue) {
|
|
86
|
+
_this.setState({
|
|
87
|
+
selectingTone: false
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
if (_this.props.onToneSelected) {
|
|
91
|
+
_this.props.onToneSelected(toneValue);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMouseLeave", function () {
|
|
95
|
+
var selectingTone = _this.state.selectingTone;
|
|
96
|
+
var onToneSelectorCancelled = _this.props.onToneSelectorCancelled;
|
|
97
|
+
|
|
98
|
+
if (selectingTone && onToneSelectorCancelled) {
|
|
99
|
+
onToneSelectorCancelled();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_this.setState({
|
|
103
|
+
selectingTone: false
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
return _this;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
(0, _createClass2.default)(EmojiActions, [{
|
|
110
|
+
key: "renderTones",
|
|
111
|
+
value: function renderTones() {
|
|
112
|
+
var _this$props = this.props,
|
|
113
|
+
toneEmoji = _this$props.toneEmoji,
|
|
114
|
+
selectedTone = _this$props.selectedTone,
|
|
115
|
+
intl = _this$props.intl;
|
|
116
|
+
var formatMessage = intl.formatMessage;
|
|
117
|
+
|
|
118
|
+
if (!toneEmoji) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var previewEmoji = toneEmoji;
|
|
123
|
+
|
|
124
|
+
if (selectedTone && previewEmoji.skinVariations) {
|
|
125
|
+
previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
className: styles.emojiToneSelectorContainer
|
|
130
|
+
}, this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_ToneSelector.default, {
|
|
131
|
+
emoji: toneEmoji,
|
|
132
|
+
onToneSelected: this.onToneSelected,
|
|
133
|
+
previewEmojiId: previewEmoji.id
|
|
134
|
+
}), /*#__PURE__*/_react.default.createElement(_EmojiButton.default, {
|
|
135
|
+
ariaExpanded: this.state.selectingTone,
|
|
136
|
+
emoji: previewEmoji,
|
|
137
|
+
selectOnHover: true,
|
|
138
|
+
onSelected: this.onToneButtonClick,
|
|
139
|
+
ariaLabelText: formatMessage(_i18n.messages.emojiSelectSkinToneButtonAriaLabelText, {
|
|
140
|
+
selectedTone: "".concat((0, _setSkinToneAriaLabelText.setSkinToneAriaLabelText)(previewEmoji.name), " selected")
|
|
141
|
+
})
|
|
142
|
+
}));
|
|
143
|
+
} // note: emoji-picker-add-emoji className is used by pollinator synthetic checks
|
|
144
|
+
|
|
145
|
+
}, {
|
|
146
|
+
key: "renderAddOwnEmoji",
|
|
147
|
+
value: function renderAddOwnEmoji() {
|
|
148
|
+
var _this$props2 = this.props,
|
|
149
|
+
onOpenUpload = _this$props2.onOpenUpload,
|
|
150
|
+
uploadEnabled = _this$props2.uploadEnabled,
|
|
151
|
+
intl = _this$props2.intl;
|
|
152
|
+
var formatMessage = intl.formatMessage;
|
|
153
|
+
|
|
154
|
+
if (!uploadEnabled) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
159
|
+
className: styles.AddCustomEmoji
|
|
160
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.addCustomEmojiLabel, function (label) {
|
|
161
|
+
return /*#__PURE__*/_react.default.createElement(_standardButton.default, {
|
|
162
|
+
onClick: onOpenUpload,
|
|
163
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_add.default, {
|
|
164
|
+
label: formatMessage(_i18n.messages.addCustomEmojiLabel),
|
|
165
|
+
size: "small"
|
|
166
|
+
}),
|
|
167
|
+
appearance: "subtle",
|
|
168
|
+
className: styles.addCustomEmojiButton + ' emoji-picker-add-emoji'
|
|
169
|
+
}, label);
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
}, {
|
|
173
|
+
key: "render",
|
|
174
|
+
value: function render() {
|
|
175
|
+
var _this$props3 = this.props,
|
|
176
|
+
initialUploadName = _this$props3.initialUploadName,
|
|
177
|
+
onUploadCancelled = _this$props3.onUploadCancelled,
|
|
178
|
+
onUploadEmoji = _this$props3.onUploadEmoji,
|
|
179
|
+
onCloseDelete = _this$props3.onCloseDelete,
|
|
180
|
+
onDeleteEmoji = _this$props3.onDeleteEmoji,
|
|
181
|
+
uploadErrorMessage = _this$props3.uploadErrorMessage,
|
|
182
|
+
uploading = _this$props3.uploading,
|
|
183
|
+
onFileChooserClicked = _this$props3.onFileChooserClicked,
|
|
184
|
+
emojiToDelete = _this$props3.emojiToDelete,
|
|
185
|
+
onChange = _this$props3.onChange,
|
|
186
|
+
query = _this$props3.query;
|
|
187
|
+
var previewFooterClassnames = (0, _classnames.default)([footerStyles.emojiPickerFooter, footerStyles.emojiActionsContainerWithBottomShadow]);
|
|
188
|
+
|
|
189
|
+
if (uploading) {
|
|
190
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
191
|
+
className: previewFooterClassnames
|
|
192
|
+
}, /*#__PURE__*/_react.default.createElement(_EmojiUploadPicker.default, {
|
|
193
|
+
onUploadCancelled: onUploadCancelled,
|
|
194
|
+
onUploadEmoji: onUploadEmoji,
|
|
195
|
+
onFileChooserClicked: onFileChooserClicked,
|
|
196
|
+
errorMessage: uploadErrorMessage,
|
|
197
|
+
initialUploadName: initialUploadName
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (emojiToDelete) {
|
|
202
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
203
|
+
className: previewFooterClassnames
|
|
204
|
+
}, /*#__PURE__*/_react.default.createElement(_EmojiDeletePreview.default, {
|
|
205
|
+
emoji: emojiToDelete,
|
|
206
|
+
onDeleteEmoji: onDeleteEmoji,
|
|
207
|
+
onCloseDelete: onCloseDelete
|
|
208
|
+
}));
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
212
|
+
className: previewFooterClassnames,
|
|
213
|
+
onMouseLeave: this.onMouseLeave
|
|
214
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
215
|
+
style: {
|
|
216
|
+
display: 'flex',
|
|
217
|
+
justifyContent: 'flex-end',
|
|
218
|
+
alignItems: 'center'
|
|
219
|
+
}
|
|
220
|
+
}, !this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_EmojiPickerListSearch.default, {
|
|
221
|
+
onChange: onChange,
|
|
222
|
+
query: query
|
|
223
|
+
}), this.renderTones()), this.renderAddOwnEmoji());
|
|
224
|
+
}
|
|
225
|
+
}]);
|
|
226
|
+
return EmojiActions;
|
|
227
|
+
}(_react.PureComponent);
|
|
228
|
+
|
|
229
|
+
exports.EmojiActions = EmojiActions;
|
|
230
|
+
|
|
231
|
+
var _default = (0, _reactIntlNext.injectIntl)(EmojiActions);
|
|
232
|
+
|
|
233
|
+
exports.default = _default;
|
|
@@ -13,8 +13,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
|
|
16
|
-
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
17
|
-
|
|
18
16
|
var _styles = require("./styles");
|
|
19
17
|
|
|
20
18
|
var _constants = require("../../util/constants");
|
|
@@ -50,17 +48,12 @@ var EmojiPlaceholder = function EmojiPlaceholder(props) {
|
|
|
50
48
|
height: "".concat(height, "px")
|
|
51
49
|
};
|
|
52
50
|
var classes = (_classes = {}, (0, _defineProperty2.default)(_classes, _styles.placeholder, true), (0, _defineProperty2.default)(_classes, _styles.placeholderContainer, true), _classes);
|
|
53
|
-
|
|
54
|
-
var placeholderNode = /*#__PURE__*/_react.default.createElement("span", {
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
55
52
|
"aria-label": shortName,
|
|
56
53
|
className: (0, _classnames.default)(classes),
|
|
57
|
-
style: style
|
|
54
|
+
style: style,
|
|
55
|
+
title: showTooltip ? shortName : ''
|
|
58
56
|
});
|
|
59
|
-
|
|
60
|
-
return showTooltip ? /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
61
|
-
tag: "span",
|
|
62
|
-
content: shortName
|
|
63
|
-
}, placeholderNode) : placeholderNode;
|
|
64
57
|
};
|
|
65
58
|
|
|
66
59
|
var _default = EmojiPlaceholder;
|
|
@@ -138,7 +138,7 @@ var EmojiPreview = /*#__PURE__*/function (_PureComponent) {
|
|
|
138
138
|
}, {
|
|
139
139
|
key: "renderEmojiPreview",
|
|
140
140
|
value: function renderEmojiPreview() {
|
|
141
|
-
var
|
|
141
|
+
var _classNames2;
|
|
142
142
|
|
|
143
143
|
var selectingTone = this.state.selectingTone;
|
|
144
144
|
var _this$props2 = this.props,
|
|
@@ -149,7 +149,7 @@ var EmojiPreview = /*#__PURE__*/function (_PureComponent) {
|
|
|
149
149
|
return null;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
var previewClasses = (0, _classnames.default)((
|
|
152
|
+
var previewClasses = (0, _classnames.default)((0, _defineProperty2.default)({}, styles.preview, true));
|
|
153
153
|
var previewTextClasses = (0, _classnames.default)((_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, styles.previewText, true), (0, _defineProperty2.default)(_classNames2, styles.previewSingleLine, !emoji.name), _classNames2));
|
|
154
154
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
155
155
|
className: previewClasses
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.uploadRetryButton = exports.uploadPreviewText = exports.uploadPreviewFooter = exports.uploadPreview = exports.uploadEmojiButton = exports.uploadChooseFileRow = exports.uploadChooseFileMessage = exports.uploadChooseFileEmojiName = exports.uploadChooseFileBrowse = exports.uploadAddRow = exports.toneSelectorContainer = exports.submitDelete = exports.shortName = exports.selected = exports.selectOnHover = exports.previewText = exports.previewSingleLine = exports.previewImg = exports.previewButtonGroup = exports.preview = exports.placeholderEmoji = exports.placeholderContainer = exports.placeholder = exports.name = exports.hiddenToneButton = exports.emojiUploadBottom = exports.emojiUpload = exports.emojiToneSelectorContainer = exports.emojiSprite = exports.emojiScrollable = exports.emojiPreviewSection = exports.emojiPreviewErrorMessage = exports.emojiPreview = exports.emojiNode = exports.emojiImage = exports.emojiDeleteErrorMessage = exports.emojiContainer = exports.emojiChooseFileErrorMessage = exports.emojiButton = exports.emoji = exports.deleteText = exports.deletePreview = exports.deleteFooter = exports.deleteButton = exports.cancelButton = exports.buttons = exports.buttonSpinner = exports.bigEmojiPreview = exports.addCustomEmojiButton = exports.AddCustomEmoji = void 0;
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
@@ -150,8 +150,6 @@ var previewSingleLine = 'emoji-common-preview-single-line';
|
|
|
150
150
|
exports.previewSingleLine = previewSingleLine;
|
|
151
151
|
var toneSelectorContainer = 'emoji-common-tone-selector-container';
|
|
152
152
|
exports.toneSelectorContainer = toneSelectorContainer;
|
|
153
|
-
var withToneSelector = 'emoji-common-with-tone-selector';
|
|
154
|
-
exports.withToneSelector = withToneSelector;
|
|
155
153
|
var emojiPreviewSection = 'emoji-preview-section';
|
|
156
154
|
exports.emojiPreviewSection = emojiPreviewSection;
|
|
157
155
|
var emojiPreview = (0, _typestyle.style)({
|
|
@@ -204,7 +202,7 @@ var emojiPreview = (0, _typestyle.style)({
|
|
|
204
202
|
flexShrink: 1,
|
|
205
203
|
$nest: (_$nest6 = {}, (0, _defineProperty2.default)(_$nest6, ".".concat(name), {
|
|
206
204
|
display: 'block',
|
|
207
|
-
color: (0, _tokens.token)('color.text
|
|
205
|
+
color: (0, _tokens.token)('color.text', colors.N900),
|
|
208
206
|
overflow: 'hidden',
|
|
209
207
|
textOverflow: 'ellipsis',
|
|
210
208
|
whiteSpace: 'nowrap',
|
|
@@ -213,7 +211,7 @@ var emojiPreview = (0, _typestyle.style)({
|
|
|
213
211
|
})
|
|
214
212
|
}), (0, _defineProperty2.default)(_$nest6, ".".concat(shortName), {
|
|
215
213
|
display: 'block',
|
|
216
|
-
color: (0, _tokens.token)('color.text.
|
|
214
|
+
color: (0, _tokens.token)('color.text.subtle', colors.N200),
|
|
217
215
|
fontSize: '12px',
|
|
218
216
|
lineHeight: 1,
|
|
219
217
|
marginBottom: '-2px',
|
|
@@ -227,30 +225,28 @@ var emojiPreview = (0, _typestyle.style)({
|
|
|
227
225
|
$nest: (_$nest7 = {}, (0, _defineProperty2.default)(_$nest7, ".".concat(name), {
|
|
228
226
|
display: 'none'
|
|
229
227
|
}), (0, _defineProperty2.default)(_$nest7, ".".concat(shortName), {
|
|
230
|
-
color: (0, _tokens.token)('color.text
|
|
228
|
+
color: (0, _tokens.token)('color.text', colors.N900),
|
|
231
229
|
fontSize: '14px'
|
|
232
230
|
}), _$nest7)
|
|
233
231
|
}), _$nest8)
|
|
234
|
-
}), (0, _defineProperty2.default)(_$nest9, ".".concat(
|
|
235
|
-
flex: 1,
|
|
236
|
-
textAlign: 'right',
|
|
237
|
-
margin: '6px'
|
|
238
|
-
}), (0, _defineProperty2.default)(_$nest9, ".".concat(toneSelectorContainer), {
|
|
239
|
-
flex: 1,
|
|
240
|
-
display: 'flex',
|
|
241
|
-
justifyContent: 'flex-end',
|
|
242
|
-
margin: '6px'
|
|
243
|
-
}), (0, _defineProperty2.default)(_$nest9, ".".concat(withToneSelector, " .").concat(previewText), {
|
|
232
|
+
}), (0, _defineProperty2.default)(_$nest9, ".".concat(previewText), {
|
|
244
233
|
maxWidth: '235px',
|
|
245
234
|
width: '235px'
|
|
246
235
|
/* IE */
|
|
247
236
|
|
|
248
237
|
}), _$nest9)
|
|
238
|
+
});
|
|
239
|
+
exports.emojiPreview = emojiPreview;
|
|
240
|
+
var emojiToneSelectorContainer = (0, _typestyle.style)({
|
|
241
|
+
flex: 1,
|
|
242
|
+
display: 'flex',
|
|
243
|
+
justifyContent: 'flex-end',
|
|
244
|
+
padding: '8px 10px 8px 0'
|
|
249
245
|
}); // Scrollable
|
|
250
246
|
|
|
251
|
-
exports.
|
|
247
|
+
exports.emojiToneSelectorContainer = emojiToneSelectorContainer;
|
|
252
248
|
var emojiScrollable = (0, _typestyle.style)({
|
|
253
|
-
border: "1px solid ".concat((0, _tokens.token)('color.border
|
|
249
|
+
border: "1px solid ".concat((0, _tokens.token)('color.border', '#fff')),
|
|
254
250
|
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
255
251
|
display: 'block',
|
|
256
252
|
margin: '0',
|
|
@@ -269,7 +265,7 @@ var emojiUpload = (0, _typestyle.style)({
|
|
|
269
265
|
});
|
|
270
266
|
exports.emojiUpload = emojiUpload;
|
|
271
267
|
var uploadChooseFileMessage = (0, _typestyle.style)({
|
|
272
|
-
color: (0, _tokens.token)('color.text.
|
|
268
|
+
color: (0, _tokens.token)('color.text.subtle', colors.N300),
|
|
273
269
|
fontSize: '12px',
|
|
274
270
|
paddingBottom: '7px'
|
|
275
271
|
});
|
|
@@ -315,7 +311,7 @@ var uploadPreview = (0, _typestyle.style)({
|
|
|
315
311
|
display: 'flex',
|
|
316
312
|
justifyContent: 'space-between',
|
|
317
313
|
alignItems: 'center',
|
|
318
|
-
background: (0, _tokens.token)('color.background.
|
|
314
|
+
background: (0, _tokens.token)('color.background.neutral', colors.N20),
|
|
319
315
|
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
320
316
|
padding: '10px'
|
|
321
317
|
});
|
|
@@ -323,7 +319,7 @@ exports.uploadPreview = uploadPreview;
|
|
|
323
319
|
var uploadPreviewText = (0, _typestyle.style)({
|
|
324
320
|
$nest: {
|
|
325
321
|
h5: {
|
|
326
|
-
color: (0, _tokens.token)('color.text.
|
|
322
|
+
color: (0, _tokens.token)('color.text.subtle', colors.N300),
|
|
327
323
|
paddingBottom: '4px',
|
|
328
324
|
fontSize: '12px'
|
|
329
325
|
},
|
|
@@ -353,7 +349,8 @@ var uploadAddRow = (0, _typestyle.style)({
|
|
|
353
349
|
exports.uploadAddRow = uploadAddRow;
|
|
354
350
|
var AddCustomEmoji = (0, _typestyle.style)({
|
|
355
351
|
alignSelf: 'center',
|
|
356
|
-
marginLeft: '10px'
|
|
352
|
+
marginLeft: '10px',
|
|
353
|
+
marginBottom: '10px'
|
|
357
354
|
}); // Emoji Delete preview
|
|
358
355
|
|
|
359
356
|
exports.AddCustomEmoji = AddCustomEmoji;
|
|
@@ -366,15 +363,15 @@ var deletePreview = (0, _typestyle.style)({
|
|
|
366
363
|
padding: '10px',
|
|
367
364
|
display: 'flex',
|
|
368
365
|
flexDirection: 'column',
|
|
369
|
-
justifyContent: 'flex-end'
|
|
370
|
-
fontSize: '12px'
|
|
366
|
+
justifyContent: 'flex-end'
|
|
371
367
|
});
|
|
372
368
|
exports.deletePreview = deletePreview;
|
|
373
369
|
var deleteText = (0, _typestyle.style)({
|
|
374
370
|
height: '64px',
|
|
371
|
+
fontSize: '12px',
|
|
375
372
|
$nest: {
|
|
376
373
|
':first-child': {
|
|
377
|
-
color: (0, _tokens.token)('color.text.
|
|
374
|
+
color: (0, _tokens.token)('color.text.subtle', colors.N300),
|
|
378
375
|
lineHeight: '16px'
|
|
379
376
|
}
|
|
380
377
|
}
|
|
@@ -86,12 +86,7 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
86
86
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEmojiActive", function (_emojiId, emoji) {
|
|
87
87
|
if (_this.state.selectedEmoji !== emoji) {
|
|
88
88
|
_this.setState({
|
|
89
|
-
selectedEmoji: emoji
|
|
90
|
-
showUploadButton: false
|
|
91
|
-
});
|
|
92
|
-
} else {
|
|
93
|
-
_this.setState({
|
|
94
|
-
showUploadButton: false
|
|
89
|
+
selectedEmoji: emoji
|
|
95
90
|
});
|
|
96
91
|
}
|
|
97
92
|
});
|
|
@@ -141,16 +136,6 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
141
136
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onFileChooserClicked", function () {
|
|
142
137
|
_this.fireAnalytics((0, _analytics.selectedFileEvent)());
|
|
143
138
|
});
|
|
144
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEmojiPickerMouseLeave", function () {
|
|
145
|
-
_this.setState({
|
|
146
|
-
showUploadButton: true
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onEmojiPickerMouseEnter", function () {
|
|
150
|
-
_this.setState({
|
|
151
|
-
showUploadButton: false
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
139
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fireAnalytics", function (analyticsEvent) {
|
|
155
140
|
var createAnalyticsEvent = _this.props.createAnalyticsEvent;
|
|
156
141
|
|
|
@@ -380,8 +365,7 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
380
365
|
selectedTone: !hideToneSelector ? _emojiProvider.getSelectedTone() : undefined,
|
|
381
366
|
loading: true,
|
|
382
367
|
uploadSupported: false,
|
|
383
|
-
uploading: false
|
|
384
|
-
showUploadButton: true
|
|
368
|
+
uploading: false
|
|
385
369
|
};
|
|
386
370
|
_this.openTime = 0;
|
|
387
371
|
return _this;
|
|
@@ -562,8 +546,7 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
562
546
|
emojiToDelete = _this$state3.emojiToDelete,
|
|
563
547
|
uploading = _this$state3.uploading,
|
|
564
548
|
uploadErrorMessage = _this$state3.uploadErrorMessage,
|
|
565
|
-
uploadSupported = _this$state3.uploadSupported
|
|
566
|
-
showUploadButton = _this$state3.showUploadButton;
|
|
549
|
+
uploadSupported = _this$state3.uploadSupported;
|
|
567
550
|
var recordUsageOnSelection = (0, _RecordSelectionDefault.createRecordSelectionDefault)(emojiProvider, this.onSelectWrapper, function (analytic) {
|
|
568
551
|
return _this4.fireAnalytics(analytic('picker'));
|
|
569
552
|
});
|
|
@@ -586,30 +569,28 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
586
569
|
onEmojiActive: this.onEmojiActive,
|
|
587
570
|
onEmojiDelete: this.onTriggerDelete,
|
|
588
571
|
onCategoryActivated: this.onCategoryActivated,
|
|
589
|
-
onMouseLeave: this.onEmojiPickerMouseLeave,
|
|
590
|
-
onMouseEnter: this.onEmojiPickerMouseEnter,
|
|
591
572
|
onSearch: this.onSearch,
|
|
592
573
|
query: query,
|
|
593
574
|
selectedTone: selectedTone,
|
|
594
575
|
loading: loading,
|
|
595
|
-
ref: "emojiPickerList"
|
|
596
|
-
}), /*#__PURE__*/_react.default.createElement(_EmojiPickerFooter.default, {
|
|
576
|
+
ref: "emojiPickerList",
|
|
597
577
|
initialUploadName: query,
|
|
598
|
-
selectedEmoji: selectedEmoji,
|
|
599
|
-
selectedTone: selectedTone,
|
|
600
578
|
onToneSelected: this.onToneSelected,
|
|
601
579
|
onToneSelectorCancelled: this.onToneSelectorCancelled,
|
|
602
580
|
toneEmoji: toneEmoji,
|
|
603
581
|
uploading: uploading,
|
|
604
582
|
emojiToDelete: emojiToDelete,
|
|
605
583
|
uploadErrorMessage: formattedErrorMessage,
|
|
606
|
-
uploadEnabled: uploadSupported &&
|
|
584
|
+
uploadEnabled: uploadSupported && !uploading,
|
|
607
585
|
onUploadEmoji: this.onUploadEmoji,
|
|
608
586
|
onUploadCancelled: this.onUploadCancelled,
|
|
609
587
|
onDeleteEmoji: this.onDeleteEmoji,
|
|
610
588
|
onCloseDelete: this.onCloseDelete,
|
|
611
589
|
onFileChooserClicked: this.onFileChooserClicked,
|
|
612
590
|
onOpenUpload: this.onOpenUpload
|
|
591
|
+
}), /*#__PURE__*/_react.default.createElement(_EmojiPickerFooter.default, {
|
|
592
|
+
selectedEmoji: selectedEmoji,
|
|
593
|
+
isUploading: uploading
|
|
613
594
|
}));
|
|
614
595
|
|
|
615
596
|
return picker;
|