emoji-picker-react 4.0.6 → 4.0.7
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/dist/DomUtils/classNames.d.ts +1 -0
- package/dist/DomUtils/scrollTo.d.ts +2 -0
- package/dist/DomUtils/selectors.d.ts +6 -0
- package/dist/components/atoms/Button.d.ts +6 -0
- package/dist/emoji-picker-react.cjs.development.css +2 -2
- package/dist/emoji-picker-react.cjs.development.js +191 -117
- package/dist/emoji-picker-react.cjs.development.js.map +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js.map +1 -1
- package/dist/emoji-picker-react.esm.js +193 -119
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/dist/hooks/useFilter.d.ts +2 -1
- package/package.json +1 -1
- package/src/DomUtils/classNames.ts +1 -0
- package/src/DomUtils/keyboardNavigation.ts +7 -1
- package/src/DomUtils/scrollTo.ts +33 -3
- package/src/DomUtils/selectors.ts +60 -4
- package/src/EmojiPickerReact.css +1 -1
- package/src/components/atoms/Button.tsx +22 -0
- package/src/components/body/Body.tsx +2 -1
- package/src/components/emoji/Emoji.tsx +3 -3
- package/src/components/header/Search.css +36 -8
- package/src/components/header/Search.tsx +13 -5
- package/src/components/header/SkinTonePicker.tsx +3 -3
- package/src/components/navigation/CategoryNavigation.tsx +5 -2
- package/src/config/config.ts +3 -3
- package/src/hooks/useFilter.ts +24 -9
- package/src/hooks/useKeyboardNavigation.ts +1 -6
|
@@ -7,6 +7,33 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var clsx = _interopDefault(require('clsx'));
|
|
9
9
|
|
|
10
|
+
var ClassNames;
|
|
11
|
+
|
|
12
|
+
(function (ClassNames) {
|
|
13
|
+
ClassNames["hiddenOnSearch"] = "epr-hidden-on-search";
|
|
14
|
+
ClassNames["searchActive"] = "epr-search-active";
|
|
15
|
+
ClassNames["hidden"] = "epr-hidden";
|
|
16
|
+
ClassNames["visible"] = "epr-visible";
|
|
17
|
+
ClassNames["active"] = "epr-active";
|
|
18
|
+
ClassNames["emoji"] = "epr-emoji";
|
|
19
|
+
ClassNames["category"] = "epr-emoji-category";
|
|
20
|
+
ClassNames["label"] = "epr-emoji-category-label";
|
|
21
|
+
ClassNames["categoryContent"] = "epr-emoji-category-content";
|
|
22
|
+
ClassNames["emojiHasVariatios"] = "epr-emoji-has-variations";
|
|
23
|
+
ClassNames["scrollBody"] = "epr-body";
|
|
24
|
+
ClassNames["external"] = "__EmojiPicker__";
|
|
25
|
+
})(ClassNames || (ClassNames = {}));
|
|
26
|
+
|
|
27
|
+
function asSelectors() {
|
|
28
|
+
for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
29
|
+
classNames[_key] = arguments[_key];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return classNames.map(function (c) {
|
|
33
|
+
return "." + c;
|
|
34
|
+
}).join('');
|
|
35
|
+
}
|
|
36
|
+
|
|
10
37
|
function ElementRefContextProvider(_ref) {
|
|
11
38
|
var children = _ref.children;
|
|
12
39
|
var PickerMainRef = React.useRef(null);
|
|
@@ -312,19 +339,19 @@ function basePickerConfig() {
|
|
|
312
339
|
categories: baseCategoriesConfig(),
|
|
313
340
|
defaultSkinTone: exports.SkinTones.NEUTRAL,
|
|
314
341
|
emojiStyle: exports.EmojiStyle.APPLE,
|
|
342
|
+
height: 450,
|
|
315
343
|
lazyLoadEmojis: false,
|
|
316
344
|
onEmojiClick: function defaultOnClickHandler( // @ts-ignore
|
|
317
345
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
318
346
|
emoji, // @ts-ignore
|
|
319
347
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
320
348
|
event) {},
|
|
321
|
-
height: 450,
|
|
322
|
-
width: 350,
|
|
323
349
|
previewConfig: _extends({}, basePreviewConfig),
|
|
324
350
|
searchPlaceHolder: 'Search',
|
|
325
351
|
skinTonesDisabled: false,
|
|
326
352
|
suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
|
|
327
|
-
theme: exports.Theme.LIGHT
|
|
353
|
+
theme: exports.Theme.LIGHT,
|
|
354
|
+
width: 350
|
|
328
355
|
};
|
|
329
356
|
}
|
|
330
357
|
var basePreviewConfig = {
|
|
@@ -15234,32 +15261,6 @@ function useOnMouseMove() {
|
|
|
15234
15261
|
}, [BodyRef, allowMouseMove, isMouseDisallowed]);
|
|
15235
15262
|
}
|
|
15236
15263
|
|
|
15237
|
-
var ClassNames;
|
|
15238
|
-
|
|
15239
|
-
(function (ClassNames) {
|
|
15240
|
-
ClassNames["hiddenOnSearch"] = "epr-hidden-on-search";
|
|
15241
|
-
ClassNames["searchActive"] = "epr-search-active";
|
|
15242
|
-
ClassNames["hidden"] = "epr-hidden";
|
|
15243
|
-
ClassNames["visible"] = "epr-visible";
|
|
15244
|
-
ClassNames["active"] = "epr-active";
|
|
15245
|
-
ClassNames["emoji"] = "epr-emoji";
|
|
15246
|
-
ClassNames["category"] = "epr-emoji-category";
|
|
15247
|
-
ClassNames["label"] = "epr-emoji-category-label";
|
|
15248
|
-
ClassNames["categoryContent"] = "epr-emoji-category-content";
|
|
15249
|
-
ClassNames["emojiHasVariatios"] = "epr-emoji-has-variations";
|
|
15250
|
-
ClassNames["external"] = "__EmojiPicker__";
|
|
15251
|
-
})(ClassNames || (ClassNames = {}));
|
|
15252
|
-
|
|
15253
|
-
function asSelectors() {
|
|
15254
|
-
for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
15255
|
-
classNames[_key] = arguments[_key];
|
|
15256
|
-
}
|
|
15257
|
-
|
|
15258
|
-
return classNames.map(function (c) {
|
|
15259
|
-
return "." + c;
|
|
15260
|
-
}).join('');
|
|
15261
|
-
}
|
|
15262
|
-
|
|
15263
15264
|
function elementCountInRow(parent, element) {
|
|
15264
15265
|
if (!parent || !element) {
|
|
15265
15266
|
return 0;
|
|
@@ -15389,19 +15390,54 @@ function elementHeight(element) {
|
|
|
15389
15390
|
return (_element$clientHeight = element == null ? void 0 : element.clientHeight) != null ? _element$clientHeight : 0;
|
|
15390
15391
|
}
|
|
15391
15392
|
function emojiTrueOffsetTop(element) {
|
|
15392
|
-
var _category$clientHeigh, _categoryWithoutLabel;
|
|
15393
|
-
|
|
15394
15393
|
if (!element) {
|
|
15395
15394
|
return 0;
|
|
15396
15395
|
}
|
|
15397
15396
|
|
|
15398
15397
|
var button = buttonFromTarget(element);
|
|
15399
|
-
var
|
|
15400
|
-
var category = closestCategory(categoryWithoutLabel); // compensate for the label height
|
|
15398
|
+
var category = closestCategory(button); // compensate for the label height
|
|
15401
15399
|
|
|
15402
|
-
var labelHeight = (
|
|
15400
|
+
var labelHeight = categoryLabelHeight(category);
|
|
15403
15401
|
return elementOffsetTop(button) + elementOffsetTop(category) + labelHeight;
|
|
15404
15402
|
}
|
|
15403
|
+
function categoryLabelHeight(category) {
|
|
15404
|
+
var _category$clientHeigh, _categoryWithoutLabel;
|
|
15405
|
+
|
|
15406
|
+
if (!category) {
|
|
15407
|
+
return 0;
|
|
15408
|
+
}
|
|
15409
|
+
|
|
15410
|
+
var categoryWithoutLabel = category.querySelector(asSelectors(ClassNames.categoryContent));
|
|
15411
|
+
return ((_category$clientHeigh = category == null ? void 0 : category.clientHeight) != null ? _category$clientHeigh : 0) - ((_categoryWithoutLabel = categoryWithoutLabel == null ? void 0 : categoryWithoutLabel.clientHeight) != null ? _categoryWithoutLabel : 0);
|
|
15412
|
+
}
|
|
15413
|
+
function isEmojiBehindLabel(emoji) {
|
|
15414
|
+
if (!emoji) {
|
|
15415
|
+
return false;
|
|
15416
|
+
}
|
|
15417
|
+
|
|
15418
|
+
return emojiDistanceFromScrollTop(emoji) < categoryLabelHeight(closestCategory(emoji));
|
|
15419
|
+
}
|
|
15420
|
+
function queryScrollBody(root) {
|
|
15421
|
+
return root ? root.matches(asSelectors(ClassNames.scrollBody)) ? root : root.querySelector(ClassNames.scrollBody) : null;
|
|
15422
|
+
}
|
|
15423
|
+
function emojiDistanceFromScrollTop(emoji) {
|
|
15424
|
+
var _closestScrollBody$sc, _closestScrollBody;
|
|
15425
|
+
|
|
15426
|
+
if (!emoji) {
|
|
15427
|
+
return 0;
|
|
15428
|
+
}
|
|
15429
|
+
|
|
15430
|
+
return emojiTrueOffsetTop(emoji) - ((_closestScrollBody$sc = (_closestScrollBody = closestScrollBody(emoji)) == null ? void 0 : _closestScrollBody.scrollTop) != null ? _closestScrollBody$sc : 0);
|
|
15431
|
+
}
|
|
15432
|
+
function closestScrollBody(element) {
|
|
15433
|
+
var _element$closest;
|
|
15434
|
+
|
|
15435
|
+
if (!element) {
|
|
15436
|
+
return null;
|
|
15437
|
+
}
|
|
15438
|
+
|
|
15439
|
+
return (_element$closest = element.closest(asSelectors(ClassNames.scrollBody))) != null ? _element$closest : null;
|
|
15440
|
+
}
|
|
15405
15441
|
function emojiTruOffsetLeft(element) {
|
|
15406
15442
|
var button = buttonFromTarget(element);
|
|
15407
15443
|
var category = closestCategory(button);
|
|
@@ -15684,8 +15720,56 @@ function focusFirstElementChild(element) {
|
|
|
15684
15720
|
focusElement(first);
|
|
15685
15721
|
}
|
|
15686
15722
|
|
|
15723
|
+
function scrollTo(root, top) {
|
|
15724
|
+
if (top === void 0) {
|
|
15725
|
+
top = 0;
|
|
15726
|
+
}
|
|
15727
|
+
|
|
15728
|
+
var $eprBody = queryScrollBody(root);
|
|
15729
|
+
|
|
15730
|
+
if (!$eprBody) {
|
|
15731
|
+
return;
|
|
15732
|
+
}
|
|
15733
|
+
|
|
15734
|
+
requestAnimationFrame(function () {
|
|
15735
|
+
$eprBody.scrollTop = top + 1;
|
|
15736
|
+
});
|
|
15737
|
+
}
|
|
15738
|
+
function scrollBy(root, by) {
|
|
15739
|
+
var $eprBody = queryScrollBody(root);
|
|
15740
|
+
|
|
15741
|
+
if (!$eprBody) {
|
|
15742
|
+
return;
|
|
15743
|
+
}
|
|
15744
|
+
|
|
15745
|
+
requestAnimationFrame(function () {
|
|
15746
|
+
$eprBody.scrollTop = $eprBody.scrollTop + by;
|
|
15747
|
+
});
|
|
15748
|
+
}
|
|
15749
|
+
function useScrollTo() {
|
|
15750
|
+
var BodyRef = useBodyRef();
|
|
15751
|
+
return React.useCallback(function (top) {
|
|
15752
|
+
requestAnimationFrame(function () {
|
|
15753
|
+
if (BodyRef.current) {
|
|
15754
|
+
BodyRef.current.scrollTop = top;
|
|
15755
|
+
}
|
|
15756
|
+
});
|
|
15757
|
+
}, [BodyRef]);
|
|
15758
|
+
}
|
|
15759
|
+
function scrollEmojiAboveLabel(emoji) {
|
|
15760
|
+
if (!isEmojiBehindLabel(emoji)) {
|
|
15761
|
+
return;
|
|
15762
|
+
}
|
|
15763
|
+
|
|
15764
|
+
var scrollBody = closestScrollBody(emoji);
|
|
15765
|
+
var by = emojiDistanceFromScrollTop(emoji);
|
|
15766
|
+
scrollBy(scrollBody, -(categoryLabelHeight(closestCategory(emoji)) - by));
|
|
15767
|
+
}
|
|
15768
|
+
|
|
15687
15769
|
function focusFirstVisibleEmoji(parent) {
|
|
15688
|
-
|
|
15770
|
+
var emoji = firstVisibleEmoji(parent);
|
|
15771
|
+
focusElement(emoji);
|
|
15772
|
+
scrollEmojiAboveLabel(emoji);
|
|
15689
15773
|
}
|
|
15690
15774
|
function focusAndClickFirstVisibleEmoji(parent) {
|
|
15691
15775
|
var firstEmoji = firstVisibleEmoji(parent);
|
|
@@ -15707,6 +15791,7 @@ function focusNextVisibleEmoji(element) {
|
|
|
15707
15791
|
}
|
|
15708
15792
|
|
|
15709
15793
|
focusElement(next);
|
|
15794
|
+
scrollEmojiAboveLabel(next);
|
|
15710
15795
|
}
|
|
15711
15796
|
function focusPrevVisibleEmoji(element) {
|
|
15712
15797
|
if (!element) {
|
|
@@ -15720,6 +15805,7 @@ function focusPrevVisibleEmoji(element) {
|
|
|
15720
15805
|
}
|
|
15721
15806
|
|
|
15722
15807
|
focusElement(prev);
|
|
15808
|
+
scrollEmojiAboveLabel(prev);
|
|
15723
15809
|
}
|
|
15724
15810
|
function focusVisibleEmojiOneRowUp(element, exitUp) {
|
|
15725
15811
|
if (!element) {
|
|
@@ -15733,6 +15819,7 @@ function focusVisibleEmojiOneRowUp(element, exitUp) {
|
|
|
15733
15819
|
}
|
|
15734
15820
|
|
|
15735
15821
|
focusElement(prev);
|
|
15822
|
+
scrollEmojiAboveLabel(prev);
|
|
15736
15823
|
}
|
|
15737
15824
|
function focusVisibleEmojiOneRowDown(element) {
|
|
15738
15825
|
if (!element) {
|
|
@@ -15961,30 +16048,31 @@ function useOnScroll(BodyRef) {
|
|
|
15961
16048
|
}, [BodyRef, closeAllOpenToggles]);
|
|
15962
16049
|
}
|
|
15963
16050
|
|
|
15964
|
-
function
|
|
15965
|
-
|
|
15966
|
-
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
|
|
15970
|
-
|
|
15971
|
-
|
|
15972
|
-
|
|
15973
|
-
|
|
16051
|
+
function useFocusSearchInput() {
|
|
16052
|
+
var SearchInputRef = useSearchInputRef();
|
|
16053
|
+
return React.useCallback(function () {
|
|
16054
|
+
focusElement(SearchInputRef.current);
|
|
16055
|
+
}, [SearchInputRef]);
|
|
16056
|
+
}
|
|
16057
|
+
function useFocusSkinTonePicker() {
|
|
16058
|
+
var SkinTonePickerRef = useSkinTonePickerRef();
|
|
16059
|
+
return React.useCallback(function () {
|
|
16060
|
+
if (!SkinTonePickerRef.current) {
|
|
16061
|
+
return;
|
|
16062
|
+
}
|
|
15974
16063
|
|
|
15975
|
-
|
|
15976
|
-
|
|
15977
|
-
});
|
|
16064
|
+
focusFirstElementChild(SkinTonePickerRef.current);
|
|
16065
|
+
}, [SkinTonePickerRef]);
|
|
15978
16066
|
}
|
|
15979
|
-
function
|
|
15980
|
-
var
|
|
15981
|
-
return React.useCallback(function (
|
|
15982
|
-
|
|
15983
|
-
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
|
-
|
|
15987
|
-
}, [
|
|
16067
|
+
function useFocusCategoryNavigation() {
|
|
16068
|
+
var CategoryNavigationRef = useCategoryNavigationRef();
|
|
16069
|
+
return React.useCallback(function () {
|
|
16070
|
+
if (!CategoryNavigationRef.current) {
|
|
16071
|
+
return;
|
|
16072
|
+
}
|
|
16073
|
+
|
|
16074
|
+
focusFirstElementChild(CategoryNavigationRef.current);
|
|
16075
|
+
}, [CategoryNavigationRef]);
|
|
15988
16076
|
}
|
|
15989
16077
|
|
|
15990
16078
|
function useSetFilterRef() {
|
|
@@ -16001,12 +16089,14 @@ function useSetFilterRef() {
|
|
|
16001
16089
|
function useClearSearch() {
|
|
16002
16090
|
var applySearch = useApplySearch();
|
|
16003
16091
|
var SearchInputRef = useSearchInputRef();
|
|
16092
|
+
var focusSearchInput = useFocusSearchInput();
|
|
16004
16093
|
return function clearSearch() {
|
|
16005
16094
|
if (SearchInputRef.current) {
|
|
16006
16095
|
SearchInputRef.current.value = '';
|
|
16007
16096
|
}
|
|
16008
16097
|
|
|
16009
16098
|
applySearch('');
|
|
16099
|
+
focusSearchInput();
|
|
16010
16100
|
};
|
|
16011
16101
|
}
|
|
16012
16102
|
function useAppendSearch() {
|
|
@@ -16014,10 +16104,10 @@ function useAppendSearch() {
|
|
|
16014
16104
|
var applySearch = useApplySearch();
|
|
16015
16105
|
return function appendSearch(str) {
|
|
16016
16106
|
if (SearchInputRef.current) {
|
|
16017
|
-
SearchInputRef.current.value = SearchInputRef.current.value + str;
|
|
16018
|
-
applySearch(SearchInputRef.current.value);
|
|
16107
|
+
SearchInputRef.current.value = "" + SearchInputRef.current.value + str;
|
|
16108
|
+
applySearch(getNormalizedSearchTerm(SearchInputRef.current.value));
|
|
16019
16109
|
} else {
|
|
16020
|
-
applySearch(str);
|
|
16110
|
+
applySearch(getNormalizedSearchTerm(str));
|
|
16021
16111
|
}
|
|
16022
16112
|
};
|
|
16023
16113
|
}
|
|
@@ -16036,8 +16126,9 @@ function useFilter() {
|
|
|
16036
16126
|
SearchInputRef: SearchInputRef
|
|
16037
16127
|
};
|
|
16038
16128
|
|
|
16039
|
-
function onChange(
|
|
16129
|
+
function onChange(inputValue) {
|
|
16040
16130
|
var filter = filterRef.current;
|
|
16131
|
+
var nextValue = inputValue.toLowerCase();
|
|
16041
16132
|
|
|
16042
16133
|
if (filter != null && filter[nextValue] || nextValue.length <= 1) {
|
|
16043
16134
|
return applySearch(nextValue);
|
|
@@ -16067,7 +16158,7 @@ function useApplySearch() {
|
|
|
16067
16158
|
var PickerMainRef = usePickerMainRef();
|
|
16068
16159
|
return function applySearch(searchTerm) {
|
|
16069
16160
|
requestAnimationFrame(function () {
|
|
16070
|
-
setSearchTerm(searchTerm.toLowerCase()).then(function () {
|
|
16161
|
+
setSearchTerm(searchTerm ? searchTerm == null ? void 0 : searchTerm.toLowerCase() : searchTerm).then(function () {
|
|
16071
16162
|
scrollTo(PickerMainRef.current, 0);
|
|
16072
16163
|
});
|
|
16073
16164
|
});
|
|
@@ -16102,7 +16193,7 @@ function useIsEmojiFiltered() {
|
|
|
16102
16193
|
searchTerm = _useSearchTermState3[0];
|
|
16103
16194
|
|
|
16104
16195
|
return function (unified) {
|
|
16105
|
-
return isEmojiFilteredBySearchTerm(unified, filter, searchTerm
|
|
16196
|
+
return isEmojiFilteredBySearchTerm(unified, filter, searchTerm);
|
|
16106
16197
|
};
|
|
16107
16198
|
}
|
|
16108
16199
|
|
|
@@ -16138,6 +16229,14 @@ function findLongestMatch(keyword, dict) {
|
|
|
16138
16229
|
return null;
|
|
16139
16230
|
}
|
|
16140
16231
|
|
|
16232
|
+
function getNormalizedSearchTerm(str) {
|
|
16233
|
+
if (!str || typeof str !== 'string') {
|
|
16234
|
+
return '';
|
|
16235
|
+
}
|
|
16236
|
+
|
|
16237
|
+
return str.trim().toLowerCase();
|
|
16238
|
+
}
|
|
16239
|
+
|
|
16141
16240
|
function useIsEmojiHidden() {
|
|
16142
16241
|
var _useEmojisThatFailedT = useEmojisThatFailedToLoadState(),
|
|
16143
16242
|
emojisThatFailedToLoad = _useEmojisThatFailedT[0];
|
|
@@ -16159,6 +16258,14 @@ function asEmoji(emoji) {
|
|
|
16159
16258
|
return emoji;
|
|
16160
16259
|
}
|
|
16161
16260
|
|
|
16261
|
+
function Button(props) {
|
|
16262
|
+
return React.createElement("button", Object.assign({
|
|
16263
|
+
type: "button"
|
|
16264
|
+
}, props, {
|
|
16265
|
+
className: clsx('epr-btn', props.className)
|
|
16266
|
+
}), props.children);
|
|
16267
|
+
}
|
|
16268
|
+
|
|
16162
16269
|
function ClickableEmoji(_ref) {
|
|
16163
16270
|
var _clsx;
|
|
16164
16271
|
|
|
@@ -16172,12 +16279,11 @@ function ClickableEmoji(_ref) {
|
|
|
16172
16279
|
size = _ref.size,
|
|
16173
16280
|
lazyLoad = _ref.lazyLoad;
|
|
16174
16281
|
var hasVariations = emojiHasVariations(emoji);
|
|
16175
|
-
return React.createElement(
|
|
16282
|
+
return React.createElement(Button, {
|
|
16176
16283
|
className: clsx(ClassNames.emoji, (_clsx = {}, _clsx[ClassNames.hidden] = hidden, _clsx[ClassNames.hiddenOnSearch] = hiddenOnSearch, _clsx[ClassNames.visible] = !hidden && !hiddenOnSearch, _clsx[ClassNames.emojiHasVariatios] = hasVariations && showVariations, _clsx)),
|
|
16177
16284
|
"data-unified": unified,
|
|
16178
16285
|
"aria-label": emojiName(emoji),
|
|
16179
|
-
"data-full-name": emojiNames(emoji)
|
|
16180
|
-
type: "button"
|
|
16286
|
+
"data-full-name": emojiNames(emoji)
|
|
16181
16287
|
}, React.createElement(ViewOnlyEmoji, {
|
|
16182
16288
|
unified: unified,
|
|
16183
16289
|
emoji: emoji,
|
|
@@ -16503,7 +16609,7 @@ function Body() {
|
|
|
16503
16609
|
useMouseDownHandlers(BodyRef);
|
|
16504
16610
|
useOnMouseMove();
|
|
16505
16611
|
return React.createElement("div", {
|
|
16506
|
-
className:
|
|
16612
|
+
className: ClassNames.scrollBody,
|
|
16507
16613
|
ref: BodyRef
|
|
16508
16614
|
}, React.createElement(EmojiVariationPicker, null), React.createElement(EmojiList, null));
|
|
16509
16615
|
}
|
|
@@ -16714,6 +16820,13 @@ function useActiveCategoryScrollDetection(setActiveCategory) {
|
|
|
16714
16820
|
}, [BodyRef, setActiveCategory]);
|
|
16715
16821
|
}
|
|
16716
16822
|
|
|
16823
|
+
function useIsSearchMode() {
|
|
16824
|
+
var _useSearchTermState = useSearchTermState(),
|
|
16825
|
+
searchTerm = _useSearchTermState[0];
|
|
16826
|
+
|
|
16827
|
+
return !!searchTerm;
|
|
16828
|
+
}
|
|
16829
|
+
|
|
16717
16830
|
function useScrollCategoryIntoView() {
|
|
16718
16831
|
var BodyRef = useBodyRef();
|
|
16719
16832
|
var PickerMainRef = usePickerMainRef();
|
|
@@ -16742,6 +16855,7 @@ function CategoryNavigation() {
|
|
|
16742
16855
|
|
|
16743
16856
|
var scrollCategoryIntoView = useScrollCategoryIntoView();
|
|
16744
16857
|
useActiveCategoryScrollDetection(setActiveCategory);
|
|
16858
|
+
var isSearchMode = useIsSearchMode();
|
|
16745
16859
|
var categoriesConfig = useCategoriesConfig();
|
|
16746
16860
|
var CategoryNavigationRef = useCategoryNavigationRef();
|
|
16747
16861
|
return React.createElement("div", {
|
|
@@ -16751,8 +16865,8 @@ function CategoryNavigation() {
|
|
|
16751
16865
|
var _clsx;
|
|
16752
16866
|
|
|
16753
16867
|
var category = categoryFromCategoryConfig(categoryConfig);
|
|
16754
|
-
return React.createElement(
|
|
16755
|
-
|
|
16868
|
+
return React.createElement(Button, {
|
|
16869
|
+
tabIndex: isSearchMode ? -1 : 0,
|
|
16756
16870
|
className: clsx('epr-cat-btn', "epr-icn-" + category, (_clsx = {}, _clsx[ClassNames.active] = category === activeCategory, _clsx)),
|
|
16757
16871
|
key: category,
|
|
16758
16872
|
onClick: function onClick() {
|
|
@@ -16803,43 +16917,17 @@ function Search() {
|
|
|
16803
16917
|
ref: SearchInputRef
|
|
16804
16918
|
}), React.createElement("div", {
|
|
16805
16919
|
className: "epr-icn-search"
|
|
16806
|
-
}), React.createElement(
|
|
16920
|
+
}), React.createElement(Button, {
|
|
16807
16921
|
className: clsx('epr-btn-clear-search', 'epr-visible-on-search-only'),
|
|
16808
|
-
onClick: clearSearch
|
|
16809
|
-
|
|
16810
|
-
|
|
16922
|
+
onClick: clearSearch
|
|
16923
|
+
}, React.createElement("div", {
|
|
16924
|
+
className: "epr-icn-clear-search"
|
|
16925
|
+
})));
|
|
16811
16926
|
}
|
|
16812
16927
|
|
|
16813
16928
|
function CssSearch(_ref) {
|
|
16814
16929
|
var value = _ref.value;
|
|
16815
|
-
return value ? React.createElement("style", null, "\n .EmojiPickerReact button.epr-emoji:not([data-full-name*=\"" + value
|
|
16816
|
-
}
|
|
16817
|
-
|
|
16818
|
-
function useFocusSearchInput() {
|
|
16819
|
-
var SearchInputRef = useSearchInputRef();
|
|
16820
|
-
return React.useCallback(function () {
|
|
16821
|
-
focusElement(SearchInputRef.current);
|
|
16822
|
-
}, [SearchInputRef]);
|
|
16823
|
-
}
|
|
16824
|
-
function useFocusSkinTonePicker() {
|
|
16825
|
-
var SkinTonePickerRef = useSkinTonePickerRef();
|
|
16826
|
-
return React.useCallback(function () {
|
|
16827
|
-
if (!SkinTonePickerRef.current) {
|
|
16828
|
-
return;
|
|
16829
|
-
}
|
|
16830
|
-
|
|
16831
|
-
focusFirstElementChild(SkinTonePickerRef.current);
|
|
16832
|
-
}, [SkinTonePickerRef]);
|
|
16833
|
-
}
|
|
16834
|
-
function useFocusCategoryNavigation() {
|
|
16835
|
-
var CategoryNavigationRef = useCategoryNavigationRef();
|
|
16836
|
-
return React.useCallback(function () {
|
|
16837
|
-
if (!CategoryNavigationRef.current) {
|
|
16838
|
-
return;
|
|
16839
|
-
}
|
|
16840
|
-
|
|
16841
|
-
focusFirstElementChild(CategoryNavigationRef.current);
|
|
16842
|
-
}, [CategoryNavigationRef]);
|
|
16930
|
+
return value ? React.createElement("style", null, "\n .EmojiPickerReact button.epr-emoji:not([data-full-name*=\"" + getNormalizedSearchTerm(value) + "\"]) {\n display: none;\n }\n ") : null;
|
|
16843
16931
|
}
|
|
16844
16932
|
|
|
16845
16933
|
function SkinTonePicker() {
|
|
@@ -16872,8 +16960,7 @@ function SkinTonePicker() {
|
|
|
16872
16960
|
var _clsx;
|
|
16873
16961
|
|
|
16874
16962
|
var active = skinToneVariation === activeSkinTone;
|
|
16875
|
-
return React.createElement(
|
|
16876
|
-
type: "button",
|
|
16963
|
+
return React.createElement(Button, {
|
|
16877
16964
|
style: {
|
|
16878
16965
|
transform: clsx("translateX(-" + i * (isOpen ? 28 : 0) + "px)", isOpen && active && 'scale(1.3)')
|
|
16879
16966
|
},
|
|
@@ -16904,13 +16991,6 @@ function Header() {
|
|
|
16904
16991
|
}, React.createElement(Search, null), React.createElement(SkinTonePicker, null)), React.createElement(CategoryNavigation, null));
|
|
16905
16992
|
}
|
|
16906
16993
|
|
|
16907
|
-
function useIsSearchMode() {
|
|
16908
|
-
var _useSearchTermState = useSearchTermState(),
|
|
16909
|
-
searchTerm = _useSearchTermState[0];
|
|
16910
|
-
|
|
16911
|
-
return !!searchTerm;
|
|
16912
|
-
}
|
|
16913
|
-
|
|
16914
16994
|
function getActiveElement() {
|
|
16915
16995
|
return document.activeElement;
|
|
16916
16996
|
}
|
|
@@ -16947,16 +17027,10 @@ function usePickerMainKeyboardEvents() {
|
|
|
16947
17027
|
var onKeyDown = React.useMemo(function () {
|
|
16948
17028
|
return function onKeyDown(event) {
|
|
16949
17029
|
var key = event.key;
|
|
17030
|
+
disallowMouseMove();
|
|
16950
17031
|
|
|
16951
17032
|
switch (key) {
|
|
16952
|
-
case KeyboardEvents.ArrowDown:
|
|
16953
|
-
case KeyboardEvents.ArrowUp:
|
|
16954
|
-
case KeyboardEvents.ArrowLeft:
|
|
16955
|
-
case KeyboardEvents.ArrowRight:
|
|
16956
|
-
disallowMouseMove();
|
|
16957
|
-
break;
|
|
16958
17033
|
// eslint-disable-next-line no-fallthrough
|
|
16959
|
-
|
|
16960
17034
|
case KeyboardEvents.Escape:
|
|
16961
17035
|
event.preventDefault();
|
|
16962
17036
|
|