emoji-picker-react 4.4.12 → 4.5.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/README.md +64 -26
- package/dist/components/emoji/BaseEmojiProps.d.ts +12 -0
- package/dist/components/emoji/ClickableEmojiButton.d.ts +13 -0
- package/dist/components/emoji/Emoji.d.ts +3 -13
- package/dist/components/emoji/EmojiImg.d.ts +10 -0
- package/dist/components/emoji/ExportedEmoji.d.ts +2 -2
- package/dist/components/emoji/NativeEmoji.d.ts +5 -0
- package/dist/components/emoji/ViewOnlyEmoji.d.ts +3 -0
- package/dist/config/categoryConfig.d.ts +4 -0
- package/dist/config/config.d.ts +3 -1
- package/dist/config/customEmojiConfig.d.ts +6 -0
- package/dist/config/useConfig.d.ts +2 -0
- package/dist/data/emojis.d.ts +1 -0
- package/dist/dataUtils/DataTypes.d.ts +16 -6
- package/dist/dataUtils/alphaNumericEmojiIndex.d.ts +1 -0
- package/dist/dataUtils/emojiSelectors.d.ts +5 -3
- package/dist/emoji-picker-react.cjs.development.css +2 -2
- package/dist/emoji-picker-react.cjs.development.js +284 -184
- 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 +294 -194
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/dist/hooks/preloadEmoji.d.ts +1 -1
- package/dist/hooks/useShouldHideCustomEmojis.d.ts +1 -0
- package/dist/typeRefinements/typeRefinements.d.ts +5 -0
- package/dist/types/exposedTypes.d.ts +1 -0
- package/package.json +5 -5
- package/src/components/context/PickerConfigContext.tsx +2 -1
- package/src/components/emoji/BaseEmojiProps.ts +13 -0
- package/src/components/emoji/ClickableEmojiButton.tsx +42 -0
- package/src/components/emoji/Emoji.css +2 -0
- package/src/components/emoji/Emoji.tsx +15 -125
- package/src/components/emoji/EmojiImg.tsx +31 -0
- package/src/components/emoji/ExportedEmoji.tsx +3 -2
- package/src/components/emoji/NativeEmoji.tsx +23 -0
- package/src/components/emoji/ViewOnlyEmoji.tsx +70 -0
- package/src/components/footer/Preview.tsx +1 -1
- package/src/components/navigation/CategoryNavigation.css +3 -0
- package/src/components/navigation/CategoryNavigation.tsx +8 -0
- package/src/config/categoryConfig.ts +10 -0
- package/src/config/config.ts +10 -2
- package/src/config/customEmojiConfig.ts +7 -0
- package/src/config/useConfig.ts +8 -2
- package/src/data/emojis.json +1 -1
- package/src/data/emojis.ts +1 -1
- package/src/dataUtils/DataTypes.ts +19 -6
- package/src/dataUtils/alphaNumericEmojiIndex.ts +16 -11
- package/src/dataUtils/emojiSelectors.ts +30 -11
- package/src/hooks/preloadEmoji.ts +1 -1
- package/src/hooks/useEmojiPreviewEvents.ts +0 -2
- package/src/hooks/useMouseDownHandlers.ts +1 -1
- package/src/hooks/useShouldHideCustomEmojis.ts +11 -0
- package/src/typeRefinements/typeRefinements.ts +17 -0
- package/src/types/exposedTypes.ts +1 -0
|
@@ -255,6 +255,7 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
255
255
|
|
|
256
256
|
(function (Categories) {
|
|
257
257
|
Categories["SUGGESTED"] = "suggested";
|
|
258
|
+
Categories["CUSTOM"] = "custom";
|
|
258
259
|
Categories["SMILEYS_PEOPLE"] = "smileys_people";
|
|
259
260
|
Categories["ANIMALS_NATURE"] = "animals_nature";
|
|
260
261
|
Categories["FOOD_DRINK"] = "food_drink";
|
|
@@ -270,6 +271,94 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
270
271
|
SkinTonePickerLocation["PREVIEW"] = "PREVIEW";
|
|
271
272
|
})(exports.SkinTonePickerLocation || (exports.SkinTonePickerLocation = {}));
|
|
272
273
|
|
|
274
|
+
var _configByCategory;
|
|
275
|
+
var categoriesOrdered = [exports.Categories.SUGGESTED, exports.Categories.CUSTOM, exports.Categories.SMILEYS_PEOPLE, exports.Categories.ANIMALS_NATURE, exports.Categories.FOOD_DRINK, exports.Categories.TRAVEL_PLACES, exports.Categories.ACTIVITIES, exports.Categories.OBJECTS, exports.Categories.SYMBOLS, exports.Categories.FLAGS];
|
|
276
|
+
var SuggestedRecent = {
|
|
277
|
+
name: 'Recently Used',
|
|
278
|
+
category: exports.Categories.SUGGESTED
|
|
279
|
+
};
|
|
280
|
+
var configByCategory = (_configByCategory = {}, _configByCategory[exports.Categories.SUGGESTED] = {
|
|
281
|
+
category: exports.Categories.SUGGESTED,
|
|
282
|
+
name: 'Frequently Used'
|
|
283
|
+
}, _configByCategory[exports.Categories.CUSTOM] = {
|
|
284
|
+
category: exports.Categories.CUSTOM,
|
|
285
|
+
name: 'Custom Emojis'
|
|
286
|
+
}, _configByCategory[exports.Categories.SMILEYS_PEOPLE] = {
|
|
287
|
+
category: exports.Categories.SMILEYS_PEOPLE,
|
|
288
|
+
name: 'Smileys & People'
|
|
289
|
+
}, _configByCategory[exports.Categories.ANIMALS_NATURE] = {
|
|
290
|
+
category: exports.Categories.ANIMALS_NATURE,
|
|
291
|
+
name: 'Animals & Nature'
|
|
292
|
+
}, _configByCategory[exports.Categories.FOOD_DRINK] = {
|
|
293
|
+
category: exports.Categories.FOOD_DRINK,
|
|
294
|
+
name: 'Food & Drink'
|
|
295
|
+
}, _configByCategory[exports.Categories.TRAVEL_PLACES] = {
|
|
296
|
+
category: exports.Categories.TRAVEL_PLACES,
|
|
297
|
+
name: 'Travel & Places'
|
|
298
|
+
}, _configByCategory[exports.Categories.ACTIVITIES] = {
|
|
299
|
+
category: exports.Categories.ACTIVITIES,
|
|
300
|
+
name: 'Activities'
|
|
301
|
+
}, _configByCategory[exports.Categories.OBJECTS] = {
|
|
302
|
+
category: exports.Categories.OBJECTS,
|
|
303
|
+
name: 'Objects'
|
|
304
|
+
}, _configByCategory[exports.Categories.SYMBOLS] = {
|
|
305
|
+
category: exports.Categories.SYMBOLS,
|
|
306
|
+
name: 'Symbols'
|
|
307
|
+
}, _configByCategory[exports.Categories.FLAGS] = {
|
|
308
|
+
category: exports.Categories.FLAGS,
|
|
309
|
+
name: 'Flags'
|
|
310
|
+
}, _configByCategory);
|
|
311
|
+
function baseCategoriesConfig(modifiers) {
|
|
312
|
+
return categoriesOrdered.map(function (category) {
|
|
313
|
+
return _extends({}, configByCategory[category], modifiers && modifiers[category] && modifiers[category]);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
function categoryFromCategoryConfig(category) {
|
|
317
|
+
return category.category;
|
|
318
|
+
}
|
|
319
|
+
function categoryNameFromCategoryConfig(category) {
|
|
320
|
+
return category.name;
|
|
321
|
+
}
|
|
322
|
+
function mergeCategoriesConfig(userCategoriesConfig, modifiers) {
|
|
323
|
+
var _userCategoriesConfig;
|
|
324
|
+
|
|
325
|
+
if (userCategoriesConfig === void 0) {
|
|
326
|
+
userCategoriesConfig = [];
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (modifiers === void 0) {
|
|
330
|
+
modifiers = {};
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
var extra = {};
|
|
334
|
+
|
|
335
|
+
if (modifiers.suggestionMode === exports.SuggestionMode.RECENT) {
|
|
336
|
+
extra[exports.Categories.SUGGESTED] = SuggestedRecent;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
var base = baseCategoriesConfig(extra);
|
|
340
|
+
|
|
341
|
+
if (!((_userCategoriesConfig = userCategoriesConfig) != null && _userCategoriesConfig.length)) {
|
|
342
|
+
return base;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
return userCategoriesConfig.map(function (category) {
|
|
346
|
+
if (typeof category === 'string') {
|
|
347
|
+
return getBaseConfigByCategory(category, extra[category]);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return _extends({}, getBaseConfigByCategory(category.category, extra[category.category]), category);
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
function getBaseConfigByCategory(category, modifier) {
|
|
355
|
+
if (modifier === void 0) {
|
|
356
|
+
modifier = {};
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
return Object.assign(configByCategory[category], modifier);
|
|
360
|
+
}
|
|
361
|
+
|
|
273
362
|
var CDN_URL_APPLE = 'https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/';
|
|
274
363
|
var CDN_URL_FACEBOOK = 'https://cdn.jsdelivr.net/npm/emoji-datasource-facebook/img/facebook/64/';
|
|
275
364
|
var CDN_URL_TWITTER = 'https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/';
|
|
@@ -291,6 +380,8 @@ function cdnUrl(emojiStyle) {
|
|
|
291
380
|
}
|
|
292
381
|
}
|
|
293
382
|
|
|
383
|
+
var custom = [
|
|
384
|
+
];
|
|
294
385
|
var smileys_people = [
|
|
295
386
|
{
|
|
296
387
|
n: [
|
|
@@ -16601,6 +16692,7 @@ var flags = [
|
|
|
16601
16692
|
}
|
|
16602
16693
|
];
|
|
16603
16694
|
var emojis = {
|
|
16695
|
+
custom: custom,
|
|
16604
16696
|
smileys_people: smileys_people,
|
|
16605
16697
|
animals_nature: animals_nature,
|
|
16606
16698
|
food_drink: food_drink,
|
|
@@ -16631,8 +16723,26 @@ var EmojiProperties;
|
|
|
16631
16723
|
EmojiProperties["unified"] = "u";
|
|
16632
16724
|
EmojiProperties["variations"] = "v";
|
|
16633
16725
|
EmojiProperties["added_in"] = "a";
|
|
16726
|
+
EmojiProperties["imgUrl"] = "imgUrl";
|
|
16634
16727
|
})(EmojiProperties || (EmojiProperties = {}));
|
|
16635
16728
|
|
|
16729
|
+
var alphaNumericEmojiIndex = {};
|
|
16730
|
+
setTimeout(function () {
|
|
16731
|
+
allEmojis.reduce(function (searchIndex, emoji) {
|
|
16732
|
+
indexEmoji(emoji);
|
|
16733
|
+
return searchIndex;
|
|
16734
|
+
}, alphaNumericEmojiIndex);
|
|
16735
|
+
});
|
|
16736
|
+
function indexEmoji(emoji) {
|
|
16737
|
+
var joinedNameString = emojiNames(emoji).flat().join('').toLowerCase().replace(/[^a-zA-Z\d]/g, '').split('');
|
|
16738
|
+
joinedNameString.forEach(function (_char) {
|
|
16739
|
+
var _alphaNumericEmojiInd;
|
|
16740
|
+
|
|
16741
|
+
alphaNumericEmojiIndex[_char] = (_alphaNumericEmojiInd = alphaNumericEmojiIndex[_char]) != null ? _alphaNumericEmojiInd : {};
|
|
16742
|
+
alphaNumericEmojiIndex[_char][emojiUnified(emoji)] = emoji;
|
|
16743
|
+
});
|
|
16744
|
+
}
|
|
16745
|
+
|
|
16636
16746
|
function emojiNames(emoji) {
|
|
16637
16747
|
var _emoji$EmojiPropertie;
|
|
16638
16748
|
|
|
@@ -16707,6 +16817,29 @@ function emojiByUnified(unified) {
|
|
|
16707
16817
|
return allEmojisByUnified[withoutSkinTone];
|
|
16708
16818
|
}
|
|
16709
16819
|
var allEmojis = /*#__PURE__*/Object.values(emojis).flat();
|
|
16820
|
+
function addCustomEmojis(customEmojis) {
|
|
16821
|
+
customEmojis.forEach(function (emoji) {
|
|
16822
|
+
var emojiData = customToRegularEmoji(emoji);
|
|
16823
|
+
|
|
16824
|
+
if (allEmojisByUnified[emojiData[EmojiProperties.unified]]) {
|
|
16825
|
+
return;
|
|
16826
|
+
}
|
|
16827
|
+
|
|
16828
|
+
allEmojis.push(emojiData);
|
|
16829
|
+
allEmojisByUnified[emojiData[EmojiProperties.unified]] = emojiData;
|
|
16830
|
+
emojis[exports.Categories.CUSTOM].push(emojiData);
|
|
16831
|
+
indexEmoji(emojiData);
|
|
16832
|
+
});
|
|
16833
|
+
}
|
|
16834
|
+
|
|
16835
|
+
function customToRegularEmoji(emoji) {
|
|
16836
|
+
var _ref;
|
|
16837
|
+
|
|
16838
|
+
return _ref = {}, _ref[EmojiProperties.name] = emoji.names.map(function (name) {
|
|
16839
|
+
return name.toLowerCase();
|
|
16840
|
+
}), _ref[EmojiProperties.unified] = emoji.id.toLowerCase(), _ref[EmojiProperties.added_in] = '0', _ref[EmojiProperties.imgUrl] = emoji.imgUrl, _ref;
|
|
16841
|
+
}
|
|
16842
|
+
|
|
16710
16843
|
var allEmojisByUnified = {};
|
|
16711
16844
|
setTimeout(function () {
|
|
16712
16845
|
allEmojis.reduce(function (allEmojis, Emoji) {
|
|
@@ -16721,95 +16854,10 @@ function activeVariationFromUnified(unified) {
|
|
|
16721
16854
|
return skinToneVariations.includes(suspectedSkinTone) ? suspectedSkinTone : null;
|
|
16722
16855
|
}
|
|
16723
16856
|
|
|
16724
|
-
var _configByCategory;
|
|
16725
|
-
var categoriesOrdered = [exports.Categories.SUGGESTED, exports.Categories.SMILEYS_PEOPLE, exports.Categories.ANIMALS_NATURE, exports.Categories.FOOD_DRINK, exports.Categories.TRAVEL_PLACES, exports.Categories.ACTIVITIES, exports.Categories.OBJECTS, exports.Categories.SYMBOLS, exports.Categories.FLAGS];
|
|
16726
|
-
var SuggestedRecent = {
|
|
16727
|
-
name: 'Recently Used',
|
|
16728
|
-
category: exports.Categories.SUGGESTED
|
|
16729
|
-
};
|
|
16730
|
-
var configByCategory = (_configByCategory = {}, _configByCategory[exports.Categories.SUGGESTED] = {
|
|
16731
|
-
category: exports.Categories.SUGGESTED,
|
|
16732
|
-
name: 'Frequently Used'
|
|
16733
|
-
}, _configByCategory[exports.Categories.SMILEYS_PEOPLE] = {
|
|
16734
|
-
category: exports.Categories.SMILEYS_PEOPLE,
|
|
16735
|
-
name: 'Smileys & People'
|
|
16736
|
-
}, _configByCategory[exports.Categories.ANIMALS_NATURE] = {
|
|
16737
|
-
category: exports.Categories.ANIMALS_NATURE,
|
|
16738
|
-
name: 'Animals & Nature'
|
|
16739
|
-
}, _configByCategory[exports.Categories.FOOD_DRINK] = {
|
|
16740
|
-
category: exports.Categories.FOOD_DRINK,
|
|
16741
|
-
name: 'Food & Drink'
|
|
16742
|
-
}, _configByCategory[exports.Categories.TRAVEL_PLACES] = {
|
|
16743
|
-
category: exports.Categories.TRAVEL_PLACES,
|
|
16744
|
-
name: 'Travel & Places'
|
|
16745
|
-
}, _configByCategory[exports.Categories.ACTIVITIES] = {
|
|
16746
|
-
category: exports.Categories.ACTIVITIES,
|
|
16747
|
-
name: 'Activities'
|
|
16748
|
-
}, _configByCategory[exports.Categories.OBJECTS] = {
|
|
16749
|
-
category: exports.Categories.OBJECTS,
|
|
16750
|
-
name: 'Objects'
|
|
16751
|
-
}, _configByCategory[exports.Categories.SYMBOLS] = {
|
|
16752
|
-
category: exports.Categories.SYMBOLS,
|
|
16753
|
-
name: 'Symbols'
|
|
16754
|
-
}, _configByCategory[exports.Categories.FLAGS] = {
|
|
16755
|
-
category: exports.Categories.FLAGS,
|
|
16756
|
-
name: 'Flags'
|
|
16757
|
-
}, _configByCategory);
|
|
16758
|
-
function baseCategoriesConfig(modifiers) {
|
|
16759
|
-
return categoriesOrdered.map(function (category) {
|
|
16760
|
-
return _extends({}, configByCategory[category], modifiers && modifiers[category] && modifiers[category]);
|
|
16761
|
-
});
|
|
16762
|
-
}
|
|
16763
|
-
function categoryFromCategoryConfig(category) {
|
|
16764
|
-
return category.category;
|
|
16765
|
-
}
|
|
16766
|
-
function categoryNameFromCategoryConfig(category) {
|
|
16767
|
-
return category.name;
|
|
16768
|
-
}
|
|
16769
|
-
function mergeCategoriesConfig(userCategoriesConfig, modifiers) {
|
|
16770
|
-
var _userCategoriesConfig;
|
|
16771
|
-
|
|
16772
|
-
if (userCategoriesConfig === void 0) {
|
|
16773
|
-
userCategoriesConfig = [];
|
|
16774
|
-
}
|
|
16775
|
-
|
|
16776
|
-
if (modifiers === void 0) {
|
|
16777
|
-
modifiers = {};
|
|
16778
|
-
}
|
|
16779
|
-
|
|
16780
|
-
var extra = {};
|
|
16781
|
-
|
|
16782
|
-
if (modifiers.suggestionMode === exports.SuggestionMode.RECENT) {
|
|
16783
|
-
extra[exports.Categories.SUGGESTED] = SuggestedRecent;
|
|
16784
|
-
}
|
|
16785
|
-
|
|
16786
|
-
var base = baseCategoriesConfig(extra);
|
|
16787
|
-
|
|
16788
|
-
if (!((_userCategoriesConfig = userCategoriesConfig) != null && _userCategoriesConfig.length)) {
|
|
16789
|
-
return base;
|
|
16790
|
-
}
|
|
16791
|
-
|
|
16792
|
-
return userCategoriesConfig.map(function (category) {
|
|
16793
|
-
if (typeof category === 'string') {
|
|
16794
|
-
return getBaseConfigByCategory(category, extra[category]);
|
|
16795
|
-
}
|
|
16796
|
-
|
|
16797
|
-
return _extends({}, getBaseConfigByCategory(category.category, extra[category.category]), category);
|
|
16798
|
-
});
|
|
16799
|
-
}
|
|
16800
|
-
|
|
16801
|
-
function getBaseConfigByCategory(category, modifier) {
|
|
16802
|
-
if (modifier === void 0) {
|
|
16803
|
-
modifier = {};
|
|
16804
|
-
}
|
|
16805
|
-
|
|
16806
|
-
return Object.assign(configByCategory[category], modifier);
|
|
16807
|
-
}
|
|
16808
|
-
|
|
16809
16857
|
var KNOWN_FAILING_EMOJIS = ['2640-fe0f', '2642-fe0f', '2695-fe0f'];
|
|
16810
16858
|
var DEFAULT_SEARCH_PLACEHOLDER = 'Search';
|
|
16811
16859
|
function mergeConfig(userConfig) {
|
|
16812
|
-
var _userConfig$previewCo;
|
|
16860
|
+
var _userConfig$previewCo, _config$customEmojis;
|
|
16813
16861
|
|
|
16814
16862
|
if (userConfig === void 0) {
|
|
16815
16863
|
userConfig = {};
|
|
@@ -16821,6 +16869,7 @@ function mergeConfig(userConfig) {
|
|
|
16821
16869
|
var categories = mergeCategoriesConfig(userConfig.categories, {
|
|
16822
16870
|
suggestionMode: config.suggestedEmojisMode
|
|
16823
16871
|
});
|
|
16872
|
+
addCustomEmojis((_config$customEmojis = config.customEmojis) != null ? _config$customEmojis : []);
|
|
16824
16873
|
var skinTonePickerLocation = config.searchDisabled ? exports.SkinTonePickerLocation.PREVIEW : config.skinTonePickerLocation;
|
|
16825
16874
|
return _extends({}, config, {
|
|
16826
16875
|
categories: categories,
|
|
@@ -16832,6 +16881,7 @@ function basePickerConfig() {
|
|
|
16832
16881
|
return {
|
|
16833
16882
|
autoFocusSearch: true,
|
|
16834
16883
|
categories: baseCategoriesConfig(),
|
|
16884
|
+
customEmojis: [],
|
|
16835
16885
|
defaultSkinTone: exports.SkinTones.NEUTRAL,
|
|
16836
16886
|
emojiStyle: exports.EmojiStyle.APPLE,
|
|
16837
16887
|
emojiVersion: null,
|
|
@@ -16867,8 +16917,13 @@ function PickerConfigProvider(_ref) {
|
|
|
16867
16917
|
var children = _ref.children,
|
|
16868
16918
|
config = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
16869
16919
|
|
|
16920
|
+
var _React$useState = React.useState(function () {
|
|
16921
|
+
return mergeConfig(config);
|
|
16922
|
+
}),
|
|
16923
|
+
mergedConfig = _React$useState[0];
|
|
16924
|
+
|
|
16870
16925
|
return React.createElement(ConfigContext.Provider, {
|
|
16871
|
-
value:
|
|
16926
|
+
value: mergedConfig
|
|
16872
16927
|
}, children);
|
|
16873
16928
|
}
|
|
16874
16929
|
function usePickerConfig() {
|
|
@@ -16916,21 +16971,27 @@ function useCategoriesConfig() {
|
|
|
16916
16971
|
|
|
16917
16972
|
return categories;
|
|
16918
16973
|
}
|
|
16919
|
-
function
|
|
16974
|
+
function useCustomEmojisConfig() {
|
|
16920
16975
|
var _usePickerConfig7 = usePickerConfig(),
|
|
16921
|
-
|
|
16976
|
+
customEmojis = _usePickerConfig7.customEmojis;
|
|
16977
|
+
|
|
16978
|
+
return customEmojis;
|
|
16979
|
+
}
|
|
16980
|
+
function useOnEmojiClickConfig() {
|
|
16981
|
+
var _usePickerConfig8 = usePickerConfig(),
|
|
16982
|
+
onEmojiClick = _usePickerConfig8.onEmojiClick;
|
|
16922
16983
|
|
|
16923
16984
|
return onEmojiClick;
|
|
16924
16985
|
}
|
|
16925
16986
|
function usePreviewConfig() {
|
|
16926
|
-
var
|
|
16927
|
-
previewConfig =
|
|
16987
|
+
var _usePickerConfig9 = usePickerConfig(),
|
|
16988
|
+
previewConfig = _usePickerConfig9.previewConfig;
|
|
16928
16989
|
|
|
16929
16990
|
return previewConfig;
|
|
16930
16991
|
}
|
|
16931
16992
|
function useThemeConfig() {
|
|
16932
|
-
var
|
|
16933
|
-
theme =
|
|
16993
|
+
var _usePickerConfig10 = usePickerConfig(),
|
|
16994
|
+
theme = _usePickerConfig10.theme;
|
|
16934
16995
|
|
|
16935
16996
|
if (theme === exports.Theme.AUTO) {
|
|
16936
16997
|
return isSystemDarkTheme() ? exports.Theme.DARK : exports.Theme.LIGHT;
|
|
@@ -16939,21 +17000,21 @@ function useThemeConfig() {
|
|
|
16939
17000
|
return theme;
|
|
16940
17001
|
}
|
|
16941
17002
|
function useSuggestedEmojisModeConfig() {
|
|
16942
|
-
var
|
|
16943
|
-
suggestedEmojisMode =
|
|
17003
|
+
var _usePickerConfig11 = usePickerConfig(),
|
|
17004
|
+
suggestedEmojisMode = _usePickerConfig11.suggestedEmojisMode;
|
|
16944
17005
|
|
|
16945
17006
|
return suggestedEmojisMode;
|
|
16946
17007
|
}
|
|
16947
17008
|
function useLazyLoadEmojisConfig() {
|
|
16948
|
-
var
|
|
16949
|
-
lazyLoadEmojis =
|
|
17009
|
+
var _usePickerConfig12 = usePickerConfig(),
|
|
17010
|
+
lazyLoadEmojis = _usePickerConfig12.lazyLoadEmojis;
|
|
16950
17011
|
|
|
16951
17012
|
return lazyLoadEmojis;
|
|
16952
17013
|
}
|
|
16953
17014
|
function usePickerSizeConfig() {
|
|
16954
|
-
var
|
|
16955
|
-
height =
|
|
16956
|
-
width =
|
|
17015
|
+
var _usePickerConfig13 = usePickerConfig(),
|
|
17016
|
+
height = _usePickerConfig13.height,
|
|
17017
|
+
width = _usePickerConfig13.width;
|
|
16957
17018
|
|
|
16958
17019
|
return {
|
|
16959
17020
|
height: getDimension(height),
|
|
@@ -16961,32 +17022,32 @@ function usePickerSizeConfig() {
|
|
|
16961
17022
|
};
|
|
16962
17023
|
}
|
|
16963
17024
|
function useEmojiVersionConfig() {
|
|
16964
|
-
var
|
|
16965
|
-
emojiVersion =
|
|
17025
|
+
var _usePickerConfig14 = usePickerConfig(),
|
|
17026
|
+
emojiVersion = _usePickerConfig14.emojiVersion;
|
|
16966
17027
|
|
|
16967
17028
|
return emojiVersion;
|
|
16968
17029
|
}
|
|
16969
17030
|
function useSearchDisabledConfig() {
|
|
16970
|
-
var
|
|
16971
|
-
searchDisabled =
|
|
17031
|
+
var _usePickerConfig15 = usePickerConfig(),
|
|
17032
|
+
searchDisabled = _usePickerConfig15.searchDisabled;
|
|
16972
17033
|
|
|
16973
17034
|
return searchDisabled;
|
|
16974
17035
|
}
|
|
16975
17036
|
function useSkinTonePickerLocationConfig() {
|
|
16976
|
-
var
|
|
16977
|
-
skinTonePickerLocation =
|
|
17037
|
+
var _usePickerConfig16 = usePickerConfig(),
|
|
17038
|
+
skinTonePickerLocation = _usePickerConfig16.skinTonePickerLocation;
|
|
16978
17039
|
|
|
16979
17040
|
return skinTonePickerLocation;
|
|
16980
17041
|
}
|
|
16981
17042
|
function useUnicodeToHide() {
|
|
16982
|
-
var
|
|
16983
|
-
unicodeToHide =
|
|
17043
|
+
var _usePickerConfig17 = usePickerConfig(),
|
|
17044
|
+
unicodeToHide = _usePickerConfig17.unicodeToHide;
|
|
16984
17045
|
|
|
16985
17046
|
return unicodeToHide;
|
|
16986
17047
|
}
|
|
16987
17048
|
function useGetEmojiUrlConfig() {
|
|
16988
|
-
var
|
|
16989
|
-
getEmojiUrl =
|
|
17049
|
+
var _usePickerConfig18 = usePickerConfig(),
|
|
17050
|
+
getEmojiUrl = _usePickerConfig18.getEmojiUrl;
|
|
16990
17051
|
|
|
16991
17052
|
return getEmojiUrl;
|
|
16992
17053
|
}
|
|
@@ -16995,20 +17056,6 @@ function getDimension(dimensionConfig) {
|
|
|
16995
17056
|
return typeof dimensionConfig === 'number' ? dimensionConfig + "px" : dimensionConfig;
|
|
16996
17057
|
}
|
|
16997
17058
|
|
|
16998
|
-
var alphaNumericEmojiIndex = {};
|
|
16999
|
-
setTimeout(function () {
|
|
17000
|
-
allEmojis.reduce(function (searchIndex, emoji) {
|
|
17001
|
-
var joinedNameString = emojiNames(emoji).flat().join('').replace(/[^a-zA-Z\d]/g, '').split('');
|
|
17002
|
-
joinedNameString.forEach(function (_char) {
|
|
17003
|
-
var _searchIndex$_char;
|
|
17004
|
-
|
|
17005
|
-
searchIndex[_char] = (_searchIndex$_char = searchIndex[_char]) != null ? _searchIndex$_char : {};
|
|
17006
|
-
searchIndex[_char][emojiUnified(emoji)] = emoji;
|
|
17007
|
-
});
|
|
17008
|
-
return searchIndex;
|
|
17009
|
-
}, alphaNumericEmojiIndex);
|
|
17010
|
-
});
|
|
17011
|
-
|
|
17012
17059
|
function useDebouncedState(initialValue, delay) {
|
|
17013
17060
|
if (delay === void 0) {
|
|
17014
17061
|
delay = 0;
|
|
@@ -18115,42 +18162,71 @@ function Button(props) {
|
|
|
18115
18162
|
}), props.children);
|
|
18116
18163
|
}
|
|
18117
18164
|
|
|
18118
|
-
function
|
|
18165
|
+
function ClickableEmojiButton(_ref) {
|
|
18119
18166
|
var _clsx;
|
|
18120
18167
|
|
|
18121
|
-
var
|
|
18168
|
+
var emojiNames = _ref.emojiNames,
|
|
18122
18169
|
unified = _ref.unified,
|
|
18123
18170
|
hidden = _ref.hidden,
|
|
18124
18171
|
hiddenOnSearch = _ref.hiddenOnSearch,
|
|
18125
|
-
emojiStyle = _ref.emojiStyle,
|
|
18126
18172
|
_ref$showVariations = _ref.showVariations,
|
|
18127
18173
|
showVariations = _ref$showVariations === void 0 ? true : _ref$showVariations,
|
|
18128
|
-
|
|
18129
|
-
|
|
18130
|
-
getEmojiUrl = _ref.getEmojiUrl;
|
|
18131
|
-
var hasVariations = emojiHasVariations(emoji);
|
|
18174
|
+
hasVariations = _ref.hasVariations,
|
|
18175
|
+
children = _ref.children;
|
|
18132
18176
|
return React.createElement(Button, {
|
|
18133
18177
|
className: clsx(ClassNames.emoji, (_clsx = {}, _clsx[ClassNames.hidden] = hidden, _clsx[ClassNames.hiddenOnSearch] = hiddenOnSearch, _clsx[ClassNames.visible] = !hidden && !hiddenOnSearch, _clsx[ClassNames.emojiHasVariations] = hasVariations && showVariations, _clsx)),
|
|
18134
18178
|
"data-unified": unified,
|
|
18135
|
-
"aria-label":
|
|
18136
|
-
"data-full-name": emojiNames
|
|
18137
|
-
},
|
|
18138
|
-
|
|
18139
|
-
|
|
18140
|
-
|
|
18141
|
-
|
|
18142
|
-
|
|
18143
|
-
|
|
18144
|
-
|
|
18179
|
+
"aria-label": emojiNames[0],
|
|
18180
|
+
"data-full-name": emojiNames
|
|
18181
|
+
}, children);
|
|
18182
|
+
}
|
|
18183
|
+
|
|
18184
|
+
function isCustomCategory(category) {
|
|
18185
|
+
return category.category === exports.Categories.CUSTOM;
|
|
18186
|
+
}
|
|
18187
|
+
function isCustomEmoji(emoji) {
|
|
18188
|
+
return emoji.imgUrl !== undefined;
|
|
18189
|
+
}
|
|
18190
|
+
|
|
18191
|
+
function EmojiImg(_ref) {
|
|
18192
|
+
var emojiName = _ref.emojiName,
|
|
18193
|
+
style = _ref.style,
|
|
18194
|
+
_ref$lazyLoad = _ref.lazyLoad,
|
|
18195
|
+
lazyLoad = _ref$lazyLoad === void 0 ? false : _ref$lazyLoad,
|
|
18196
|
+
imgUrl = _ref.imgUrl,
|
|
18197
|
+
onError = _ref.onError;
|
|
18198
|
+
return React.createElement("img", {
|
|
18199
|
+
src: imgUrl,
|
|
18200
|
+
alt: emojiName,
|
|
18201
|
+
className: clsx(ClassNames.external, 'epr-emoji-img'),
|
|
18202
|
+
loading: lazyLoad ? 'lazy' : 'eager',
|
|
18203
|
+
onError: onError,
|
|
18204
|
+
style: style
|
|
18205
|
+
});
|
|
18145
18206
|
}
|
|
18146
|
-
|
|
18147
|
-
|
|
18148
|
-
|
|
18149
|
-
|
|
18150
|
-
|
|
18151
|
-
|
|
18152
|
-
|
|
18153
|
-
|
|
18207
|
+
|
|
18208
|
+
function NativeEmoji(_ref) {
|
|
18209
|
+
var unified = _ref.unified,
|
|
18210
|
+
style = _ref.style;
|
|
18211
|
+
return React.createElement("span", {
|
|
18212
|
+
className: clsx(ClassNames.external, 'epr-emoji-native'),
|
|
18213
|
+
"data-unified": unified,
|
|
18214
|
+
style: style
|
|
18215
|
+
}, parseNativeEmoji(unified));
|
|
18216
|
+
}
|
|
18217
|
+
|
|
18218
|
+
function ViewOnlyEmoji(_ref) {
|
|
18219
|
+
var emoji = _ref.emoji,
|
|
18220
|
+
unified = _ref.unified,
|
|
18221
|
+
emojiStyle = _ref.emojiStyle,
|
|
18222
|
+
size = _ref.size,
|
|
18223
|
+
lazyLoad = _ref.lazyLoad,
|
|
18224
|
+
_ref$getEmojiUrl = _ref.getEmojiUrl,
|
|
18225
|
+
getEmojiUrl = _ref$getEmojiUrl === void 0 ? emojiUrlByUnified : _ref$getEmojiUrl;
|
|
18226
|
+
|
|
18227
|
+
var _useEmojisThatFailedT = useEmojisThatFailedToLoadState(),
|
|
18228
|
+
setEmojisThatFailedToLoad = _useEmojisThatFailedT[1];
|
|
18229
|
+
|
|
18154
18230
|
var style = {};
|
|
18155
18231
|
|
|
18156
18232
|
if (size) {
|
|
@@ -18163,49 +18239,28 @@ function ViewOnlyEmoji(_ref2) {
|
|
|
18163
18239
|
return null;
|
|
18164
18240
|
}
|
|
18165
18241
|
|
|
18242
|
+
if (isCustomEmoji(emojiToRender)) {
|
|
18243
|
+
return React.createElement(EmojiImg, {
|
|
18244
|
+
style: style,
|
|
18245
|
+
emojiName: unified,
|
|
18246
|
+
emojiStyle: emojiStyle,
|
|
18247
|
+
lazyLoad: lazyLoad,
|
|
18248
|
+
imgUrl: emojiToRender.imgUrl,
|
|
18249
|
+
onError: onError
|
|
18250
|
+
});
|
|
18251
|
+
}
|
|
18252
|
+
|
|
18166
18253
|
return React.createElement(React.Fragment, null, emojiStyle === exports.EmojiStyle.NATIVE ? React.createElement(NativeEmoji, {
|
|
18167
18254
|
unified: unified,
|
|
18168
18255
|
style: style
|
|
18169
18256
|
}) : React.createElement(EmojiImg, {
|
|
18170
|
-
unified: unified,
|
|
18171
18257
|
style: style,
|
|
18172
|
-
|
|
18258
|
+
emojiName: emojiName(emojiToRender),
|
|
18173
18259
|
emojiStyle: emojiStyle,
|
|
18174
18260
|
lazyLoad: lazyLoad,
|
|
18175
|
-
|
|
18261
|
+
imgUrl: getEmojiUrl(unified, emojiStyle),
|
|
18262
|
+
onError: onError
|
|
18176
18263
|
}));
|
|
18177
|
-
}
|
|
18178
|
-
|
|
18179
|
-
function NativeEmoji(_ref3) {
|
|
18180
|
-
var unified = _ref3.unified,
|
|
18181
|
-
style = _ref3.style;
|
|
18182
|
-
return React.createElement("span", {
|
|
18183
|
-
className: clsx(ClassNames.external, 'epr-emoji-native'),
|
|
18184
|
-
"data-unified": unified,
|
|
18185
|
-
style: style
|
|
18186
|
-
}, parseNativeEmoji(unified));
|
|
18187
|
-
}
|
|
18188
|
-
|
|
18189
|
-
function EmojiImg(_ref4) {
|
|
18190
|
-
var emoji = _ref4.emoji,
|
|
18191
|
-
unified = _ref4.unified,
|
|
18192
|
-
emojiStyle = _ref4.emojiStyle,
|
|
18193
|
-
style = _ref4.style,
|
|
18194
|
-
_ref4$lazyLoad = _ref4.lazyLoad,
|
|
18195
|
-
lazyLoad = _ref4$lazyLoad === void 0 ? false : _ref4$lazyLoad,
|
|
18196
|
-
getEmojiUrl = _ref4.getEmojiUrl;
|
|
18197
|
-
|
|
18198
|
-
var _useEmojisThatFailedT = useEmojisThatFailedToLoadState(),
|
|
18199
|
-
setEmojisThatFailedToLoad = _useEmojisThatFailedT[1];
|
|
18200
|
-
|
|
18201
|
-
return React.createElement("img", {
|
|
18202
|
-
src: getEmojiUrl(unified, emojiStyle),
|
|
18203
|
-
alt: emojiName(emoji),
|
|
18204
|
-
className: clsx(ClassNames.external, 'epr-emoji-img'),
|
|
18205
|
-
loading: lazyLoad ? 'lazy' : 'eager',
|
|
18206
|
-
onError: onError,
|
|
18207
|
-
style: style
|
|
18208
|
-
});
|
|
18209
18264
|
|
|
18210
18265
|
function onError() {
|
|
18211
18266
|
setEmojisThatFailedToLoad(function (prev) {
|
|
@@ -18214,6 +18269,35 @@ function EmojiImg(_ref4) {
|
|
|
18214
18269
|
}
|
|
18215
18270
|
}
|
|
18216
18271
|
|
|
18272
|
+
function ClickableEmoji(_ref) {
|
|
18273
|
+
var emoji = _ref.emoji,
|
|
18274
|
+
unified = _ref.unified,
|
|
18275
|
+
hidden = _ref.hidden,
|
|
18276
|
+
hiddenOnSearch = _ref.hiddenOnSearch,
|
|
18277
|
+
emojiStyle = _ref.emojiStyle,
|
|
18278
|
+
_ref$showVariations = _ref.showVariations,
|
|
18279
|
+
showVariations = _ref$showVariations === void 0 ? true : _ref$showVariations,
|
|
18280
|
+
size = _ref.size,
|
|
18281
|
+
lazyLoad = _ref.lazyLoad,
|
|
18282
|
+
getEmojiUrl = _ref.getEmojiUrl;
|
|
18283
|
+
var hasVariations = emojiHasVariations(emoji);
|
|
18284
|
+
return React.createElement(ClickableEmojiButton, {
|
|
18285
|
+
hasVariations: hasVariations,
|
|
18286
|
+
showVariations: showVariations,
|
|
18287
|
+
hidden: hidden,
|
|
18288
|
+
hiddenOnSearch: hiddenOnSearch,
|
|
18289
|
+
emojiNames: emojiNames(emoji),
|
|
18290
|
+
unified: unified
|
|
18291
|
+
}, React.createElement(ViewOnlyEmoji, {
|
|
18292
|
+
unified: unified,
|
|
18293
|
+
emoji: emoji,
|
|
18294
|
+
size: size,
|
|
18295
|
+
emojiStyle: emojiStyle,
|
|
18296
|
+
lazyLoad: lazyLoad,
|
|
18297
|
+
getEmojiUrl: getEmojiUrl
|
|
18298
|
+
}));
|
|
18299
|
+
}
|
|
18300
|
+
|
|
18217
18301
|
function EmojiCategory(_ref) {
|
|
18218
18302
|
var _clsx;
|
|
18219
18303
|
|
|
@@ -18974,6 +19058,16 @@ function useScrollCategoryIntoView() {
|
|
|
18974
19058
|
};
|
|
18975
19059
|
}
|
|
18976
19060
|
|
|
19061
|
+
function useShouldHideCustomEmojis() {
|
|
19062
|
+
var customCategoryConfig = useCustomEmojisConfig();
|
|
19063
|
+
|
|
19064
|
+
if (!customCategoryConfig) {
|
|
19065
|
+
return false;
|
|
19066
|
+
}
|
|
19067
|
+
|
|
19068
|
+
return customCategoryConfig.length === 0;
|
|
19069
|
+
}
|
|
19070
|
+
|
|
18977
19071
|
function CategoryNavigation() {
|
|
18978
19072
|
var _useState = React.useState(null),
|
|
18979
19073
|
activeCategory = _useState[0],
|
|
@@ -18984,6 +19078,7 @@ function CategoryNavigation() {
|
|
|
18984
19078
|
var isSearchMode = useIsSearchMode();
|
|
18985
19079
|
var categoriesConfig = useCategoriesConfig();
|
|
18986
19080
|
var CategoryNavigationRef = useCategoryNavigationRef();
|
|
19081
|
+
var hideCustomCategory = useShouldHideCustomEmojis();
|
|
18987
19082
|
return React.createElement("div", {
|
|
18988
19083
|
className: "epr-category-nav",
|
|
18989
19084
|
ref: CategoryNavigationRef
|
|
@@ -18991,6 +19086,11 @@ function CategoryNavigation() {
|
|
|
18991
19086
|
var _clsx;
|
|
18992
19087
|
|
|
18993
19088
|
var category = categoryFromCategoryConfig(categoryConfig);
|
|
19089
|
+
|
|
19090
|
+
if (isCustomCategory(categoryConfig) && hideCustomCategory) {
|
|
19091
|
+
return null;
|
|
19092
|
+
}
|
|
19093
|
+
|
|
18994
19094
|
return React.createElement(Button, {
|
|
18995
19095
|
tabIndex: isSearchMode ? -1 : 0,
|
|
18996
19096
|
className: clsx('epr-cat-btn', "epr-icn-" + category, (_clsx = {}, _clsx[ClassNames.active] = category === activeCategory, _clsx)),
|