emoji-picker-react 4.1.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -232,238 +232,6 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
232
232
  Categories["FLAGS"] = "flags";
233
233
  })(exports.Categories || (exports.Categories = {}));
234
234
 
235
- var _configByCategory;
236
- 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];
237
- var SuggestedRecent = {
238
- name: 'Recently Used',
239
- category: exports.Categories.SUGGESTED
240
- };
241
- var configByCategory = (_configByCategory = {}, _configByCategory[exports.Categories.SUGGESTED] = {
242
- category: exports.Categories.SUGGESTED,
243
- name: 'Frequently Used'
244
- }, _configByCategory[exports.Categories.SMILEYS_PEOPLE] = {
245
- category: exports.Categories.SMILEYS_PEOPLE,
246
- name: 'Smileys & People'
247
- }, _configByCategory[exports.Categories.ANIMALS_NATURE] = {
248
- category: exports.Categories.ANIMALS_NATURE,
249
- name: 'Animals & Nature'
250
- }, _configByCategory[exports.Categories.FOOD_DRINK] = {
251
- category: exports.Categories.FOOD_DRINK,
252
- name: 'Food & Drink'
253
- }, _configByCategory[exports.Categories.TRAVEL_PLACES] = {
254
- category: exports.Categories.TRAVEL_PLACES,
255
- name: 'Travel & Places'
256
- }, _configByCategory[exports.Categories.ACTIVITIES] = {
257
- category: exports.Categories.ACTIVITIES,
258
- name: 'Activities'
259
- }, _configByCategory[exports.Categories.OBJECTS] = {
260
- category: exports.Categories.OBJECTS,
261
- name: 'Objects'
262
- }, _configByCategory[exports.Categories.SYMBOLS] = {
263
- category: exports.Categories.SYMBOLS,
264
- name: 'Symbols'
265
- }, _configByCategory[exports.Categories.FLAGS] = {
266
- category: exports.Categories.FLAGS,
267
- name: 'Flags'
268
- }, _configByCategory);
269
- function baseCategoriesConfig(modifiers) {
270
- return categoriesOrdered.map(function (category) {
271
- return _extends({}, configByCategory[category], modifiers && modifiers[category] && modifiers[category]);
272
- });
273
- }
274
- function categoryFromCategoryConfig(category) {
275
- return category.category;
276
- }
277
- function categoryNameFromCategoryConfig(category) {
278
- return category.name;
279
- }
280
- function mergeCategoriesConfig(userCategoriesConfig, modifiers) {
281
- var _userCategoriesConfig;
282
-
283
- if (userCategoriesConfig === void 0) {
284
- userCategoriesConfig = [];
285
- }
286
-
287
- if (modifiers === void 0) {
288
- modifiers = {};
289
- }
290
-
291
- var extra = {};
292
-
293
- if (modifiers.suggestionMode === exports.SuggestionMode.RECENT) {
294
- extra[exports.Categories.SUGGESTED] = SuggestedRecent;
295
- }
296
-
297
- var base = baseCategoriesConfig(extra);
298
-
299
- if (!((_userCategoriesConfig = userCategoriesConfig) != null && _userCategoriesConfig.length)) {
300
- return base;
301
- }
302
-
303
- return userCategoriesConfig.map(function (category) {
304
- if (typeof category === 'string') {
305
- return getBaseConfigByCategory(category, extra[category]);
306
- }
307
-
308
- return _extends({}, getBaseConfigByCategory(category.category, extra[category.category]), category);
309
- });
310
- }
311
-
312
- function getBaseConfigByCategory(category, modifier) {
313
- if (modifier === void 0) {
314
- modifier = {};
315
- }
316
-
317
- return Object.assign(configByCategory[category], modifier);
318
- }
319
-
320
- function mergeConfig(userConfig) {
321
- var _userConfig$previewCo;
322
-
323
- if (userConfig === void 0) {
324
- userConfig = {};
325
- }
326
-
327
- var base = basePickerConfig();
328
- var previewConfig = Object.assign(base.previewConfig, (_userConfig$previewCo = userConfig.previewConfig) != null ? _userConfig$previewCo : {});
329
- var config = Object.assign(base, userConfig);
330
- var categories = mergeCategoriesConfig(userConfig.categories, {
331
- suggestionMode: config.suggestedEmojisMode
332
- });
333
- return _extends({}, config, {
334
- categories: categories,
335
- previewConfig: previewConfig
336
- });
337
- }
338
- function basePickerConfig() {
339
- return {
340
- autoFocusSearch: true,
341
- categories: baseCategoriesConfig(),
342
- defaultSkinTone: exports.SkinTones.NEUTRAL,
343
- emojiStyle: exports.EmojiStyle.APPLE,
344
- emojiVersion: null,
345
- height: 450,
346
- lazyLoadEmojis: false,
347
- onEmojiClick: function defaultOnClickHandler( // @ts-ignore
348
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
349
- emoji, // @ts-ignore
350
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
351
- event) {},
352
- previewConfig: _extends({}, basePreviewConfig),
353
- searchPlaceHolder: 'Search',
354
- skinTonesDisabled: false,
355
- suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
356
- theme: exports.Theme.LIGHT,
357
- width: 350
358
- };
359
- }
360
- var basePreviewConfig = {
361
- defaultEmoji: '1f60a',
362
- defaultCaption: "What's your mood?",
363
- showPreview: true
364
- };
365
-
366
- var _excluded = ["children"];
367
- var ConfigContext = /*#__PURE__*/React.createContext( /*#__PURE__*/basePickerConfig());
368
- function PickerConfigProvider(_ref) {
369
- var children = _ref.children,
370
- config = _objectWithoutPropertiesLoose(_ref, _excluded);
371
-
372
- return React.createElement(ConfigContext.Provider, {
373
- value: mergeConfig(config)
374
- }, children);
375
- }
376
- function usePickerConfig() {
377
- return React.useContext(ConfigContext);
378
- }
379
-
380
- function useSearchPlaceHolderConfig() {
381
- var _usePickerConfig = usePickerConfig(),
382
- searchPlaceHolder = _usePickerConfig.searchPlaceHolder;
383
-
384
- return searchPlaceHolder;
385
- }
386
- function useDefaultSkinToneConfig() {
387
- var _usePickerConfig2 = usePickerConfig(),
388
- defaultSkinTone = _usePickerConfig2.defaultSkinTone;
389
-
390
- return defaultSkinTone;
391
- }
392
- function useSkinTonesDisabledConfig() {
393
- var _usePickerConfig3 = usePickerConfig(),
394
- skinTonesDisabled = _usePickerConfig3.skinTonesDisabled;
395
-
396
- return skinTonesDisabled;
397
- }
398
- function useEmojiStyleConfig() {
399
- var _usePickerConfig4 = usePickerConfig(),
400
- emojiStyle = _usePickerConfig4.emojiStyle;
401
-
402
- return emojiStyle;
403
- }
404
- function useAutoFocusSearchConfig() {
405
- var _usePickerConfig5 = usePickerConfig(),
406
- autoFocusSearch = _usePickerConfig5.autoFocusSearch;
407
-
408
- return autoFocusSearch;
409
- }
410
- function useCategoriesConfig() {
411
- var _usePickerConfig6 = usePickerConfig(),
412
- categories = _usePickerConfig6.categories;
413
-
414
- return categories;
415
- }
416
- function useOnEmojiClickConfig() {
417
- var _usePickerConfig7 = usePickerConfig(),
418
- onEmojiClick = _usePickerConfig7.onEmojiClick;
419
-
420
- return onEmojiClick;
421
- }
422
- function usePreviewConfig() {
423
- var _usePickerConfig8 = usePickerConfig(),
424
- previewConfig = _usePickerConfig8.previewConfig;
425
-
426
- return previewConfig;
427
- }
428
- function useThemeConfig() {
429
- var _usePickerConfig9 = usePickerConfig(),
430
- theme = _usePickerConfig9.theme;
431
-
432
- if (theme === exports.Theme.AUTO) {
433
- return isSystemDarkTheme() ? exports.Theme.DARK : exports.Theme.LIGHT;
434
- }
435
-
436
- return theme;
437
- }
438
- function useSuggestedEmojisModeConfig() {
439
- var _usePickerConfig10 = usePickerConfig(),
440
- suggestedEmojisMode = _usePickerConfig10.suggestedEmojisMode;
441
-
442
- return suggestedEmojisMode;
443
- }
444
- function useLazyLoadEmojisConfig() {
445
- var _usePickerConfig11 = usePickerConfig(),
446
- lazyLoadEmojis = _usePickerConfig11.lazyLoadEmojis;
447
-
448
- return lazyLoadEmojis;
449
- }
450
- function usePickerSizeConfig() {
451
- var _usePickerConfig12 = usePickerConfig(),
452
- height = _usePickerConfig12.height,
453
- width = _usePickerConfig12.width;
454
-
455
- return {
456
- height: height,
457
- width: width
458
- };
459
- }
460
- function useEmojiVersionConfig() {
461
- var _usePickerConfig13 = usePickerConfig(),
462
- emojiVersion = _usePickerConfig13.emojiVersion;
463
-
464
- return emojiVersion;
465
- }
466
-
467
235
  var CDN_URL_APPLE = 'https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/';
468
236
  var CDN_URL_FACEBOOK = 'https://cdn.jsdelivr.net/npm/emoji-datasource-facebook/img/facebook/64/';
469
237
  var CDN_URL_TWITTER = 'https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/';
@@ -16866,8 +16634,9 @@ function emojisByCategory(category) {
16866
16634
 
16867
16635
  // @ts-ignore
16868
16636
  return (_emojis$category = emojis == null ? void 0 : emojis[category]) != null ? _emojis$category : [];
16869
- }
16870
- function emojiUrlByUnified(emojiStyle, unified) {
16637
+ } // WARNING: DO NOT USE DIRECTLY
16638
+
16639
+ function emojiUrlByUnified(unified, emojiStyle) {
16871
16640
  return "" + cdnUrl(emojiStyle) + unified + ".png";
16872
16641
  }
16873
16642
  function emojiVariations(emoji) {
@@ -16910,6 +16679,245 @@ function activeVariationFromUnified(unified) {
16910
16679
  return skinToneVariations.includes(suspectedSkinTone) ? suspectedSkinTone : null;
16911
16680
  }
16912
16681
 
16682
+ var _configByCategory;
16683
+ 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];
16684
+ var SuggestedRecent = {
16685
+ name: 'Recently Used',
16686
+ category: exports.Categories.SUGGESTED
16687
+ };
16688
+ var configByCategory = (_configByCategory = {}, _configByCategory[exports.Categories.SUGGESTED] = {
16689
+ category: exports.Categories.SUGGESTED,
16690
+ name: 'Frequently Used'
16691
+ }, _configByCategory[exports.Categories.SMILEYS_PEOPLE] = {
16692
+ category: exports.Categories.SMILEYS_PEOPLE,
16693
+ name: 'Smileys & People'
16694
+ }, _configByCategory[exports.Categories.ANIMALS_NATURE] = {
16695
+ category: exports.Categories.ANIMALS_NATURE,
16696
+ name: 'Animals & Nature'
16697
+ }, _configByCategory[exports.Categories.FOOD_DRINK] = {
16698
+ category: exports.Categories.FOOD_DRINK,
16699
+ name: 'Food & Drink'
16700
+ }, _configByCategory[exports.Categories.TRAVEL_PLACES] = {
16701
+ category: exports.Categories.TRAVEL_PLACES,
16702
+ name: 'Travel & Places'
16703
+ }, _configByCategory[exports.Categories.ACTIVITIES] = {
16704
+ category: exports.Categories.ACTIVITIES,
16705
+ name: 'Activities'
16706
+ }, _configByCategory[exports.Categories.OBJECTS] = {
16707
+ category: exports.Categories.OBJECTS,
16708
+ name: 'Objects'
16709
+ }, _configByCategory[exports.Categories.SYMBOLS] = {
16710
+ category: exports.Categories.SYMBOLS,
16711
+ name: 'Symbols'
16712
+ }, _configByCategory[exports.Categories.FLAGS] = {
16713
+ category: exports.Categories.FLAGS,
16714
+ name: 'Flags'
16715
+ }, _configByCategory);
16716
+ function baseCategoriesConfig(modifiers) {
16717
+ return categoriesOrdered.map(function (category) {
16718
+ return _extends({}, configByCategory[category], modifiers && modifiers[category] && modifiers[category]);
16719
+ });
16720
+ }
16721
+ function categoryFromCategoryConfig(category) {
16722
+ return category.category;
16723
+ }
16724
+ function categoryNameFromCategoryConfig(category) {
16725
+ return category.name;
16726
+ }
16727
+ function mergeCategoriesConfig(userCategoriesConfig, modifiers) {
16728
+ var _userCategoriesConfig;
16729
+
16730
+ if (userCategoriesConfig === void 0) {
16731
+ userCategoriesConfig = [];
16732
+ }
16733
+
16734
+ if (modifiers === void 0) {
16735
+ modifiers = {};
16736
+ }
16737
+
16738
+ var extra = {};
16739
+
16740
+ if (modifiers.suggestionMode === exports.SuggestionMode.RECENT) {
16741
+ extra[exports.Categories.SUGGESTED] = SuggestedRecent;
16742
+ }
16743
+
16744
+ var base = baseCategoriesConfig(extra);
16745
+
16746
+ if (!((_userCategoriesConfig = userCategoriesConfig) != null && _userCategoriesConfig.length)) {
16747
+ return base;
16748
+ }
16749
+
16750
+ return userCategoriesConfig.map(function (category) {
16751
+ if (typeof category === 'string') {
16752
+ return getBaseConfigByCategory(category, extra[category]);
16753
+ }
16754
+
16755
+ return _extends({}, getBaseConfigByCategory(category.category, extra[category.category]), category);
16756
+ });
16757
+ }
16758
+
16759
+ function getBaseConfigByCategory(category, modifier) {
16760
+ if (modifier === void 0) {
16761
+ modifier = {};
16762
+ }
16763
+
16764
+ return Object.assign(configByCategory[category], modifier);
16765
+ }
16766
+
16767
+ function mergeConfig(userConfig) {
16768
+ var _userConfig$previewCo;
16769
+
16770
+ if (userConfig === void 0) {
16771
+ userConfig = {};
16772
+ }
16773
+
16774
+ var base = basePickerConfig();
16775
+ var previewConfig = Object.assign(base.previewConfig, (_userConfig$previewCo = userConfig.previewConfig) != null ? _userConfig$previewCo : {});
16776
+ var config = Object.assign(base, userConfig);
16777
+ var categories = mergeCategoriesConfig(userConfig.categories, {
16778
+ suggestionMode: config.suggestedEmojisMode
16779
+ });
16780
+ return _extends({}, config, {
16781
+ categories: categories,
16782
+ previewConfig: previewConfig
16783
+ });
16784
+ }
16785
+ function basePickerConfig() {
16786
+ return {
16787
+ autoFocusSearch: true,
16788
+ categories: baseCategoriesConfig(),
16789
+ defaultSkinTone: exports.SkinTones.NEUTRAL,
16790
+ emojiStyle: exports.EmojiStyle.APPLE,
16791
+ emojiVersion: null,
16792
+ getEmojiUrl: emojiUrlByUnified,
16793
+ height: 450,
16794
+ lazyLoadEmojis: false,
16795
+ onEmojiClick: function defaultOnClickHandler( // @ts-ignore
16796
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16797
+ emoji, // @ts-ignore
16798
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16799
+ event) {},
16800
+ previewConfig: _extends({}, basePreviewConfig),
16801
+ searchPlaceHolder: 'Search',
16802
+ skinTonesDisabled: false,
16803
+ suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
16804
+ theme: exports.Theme.LIGHT,
16805
+ width: 350
16806
+ };
16807
+ }
16808
+ var basePreviewConfig = {
16809
+ defaultEmoji: '1f60a',
16810
+ defaultCaption: "What's your mood?",
16811
+ showPreview: true
16812
+ };
16813
+
16814
+ var _excluded = ["children"];
16815
+ var ConfigContext = /*#__PURE__*/React.createContext( /*#__PURE__*/basePickerConfig());
16816
+ function PickerConfigProvider(_ref) {
16817
+ var children = _ref.children,
16818
+ config = _objectWithoutPropertiesLoose(_ref, _excluded);
16819
+
16820
+ return React.createElement(ConfigContext.Provider, {
16821
+ value: mergeConfig(config)
16822
+ }, children);
16823
+ }
16824
+ function usePickerConfig() {
16825
+ return React.useContext(ConfigContext);
16826
+ }
16827
+
16828
+ function useSearchPlaceHolderConfig() {
16829
+ var _usePickerConfig = usePickerConfig(),
16830
+ searchPlaceHolder = _usePickerConfig.searchPlaceHolder;
16831
+
16832
+ return searchPlaceHolder;
16833
+ }
16834
+ function useDefaultSkinToneConfig() {
16835
+ var _usePickerConfig2 = usePickerConfig(),
16836
+ defaultSkinTone = _usePickerConfig2.defaultSkinTone;
16837
+
16838
+ return defaultSkinTone;
16839
+ }
16840
+ function useSkinTonesDisabledConfig() {
16841
+ var _usePickerConfig3 = usePickerConfig(),
16842
+ skinTonesDisabled = _usePickerConfig3.skinTonesDisabled;
16843
+
16844
+ return skinTonesDisabled;
16845
+ }
16846
+ function useEmojiStyleConfig() {
16847
+ var _usePickerConfig4 = usePickerConfig(),
16848
+ emojiStyle = _usePickerConfig4.emojiStyle;
16849
+
16850
+ return emojiStyle;
16851
+ }
16852
+ function useAutoFocusSearchConfig() {
16853
+ var _usePickerConfig5 = usePickerConfig(),
16854
+ autoFocusSearch = _usePickerConfig5.autoFocusSearch;
16855
+
16856
+ return autoFocusSearch;
16857
+ }
16858
+ function useCategoriesConfig() {
16859
+ var _usePickerConfig6 = usePickerConfig(),
16860
+ categories = _usePickerConfig6.categories;
16861
+
16862
+ return categories;
16863
+ }
16864
+ function useOnEmojiClickConfig() {
16865
+ var _usePickerConfig7 = usePickerConfig(),
16866
+ onEmojiClick = _usePickerConfig7.onEmojiClick;
16867
+
16868
+ return onEmojiClick;
16869
+ }
16870
+ function usePreviewConfig() {
16871
+ var _usePickerConfig8 = usePickerConfig(),
16872
+ previewConfig = _usePickerConfig8.previewConfig;
16873
+
16874
+ return previewConfig;
16875
+ }
16876
+ function useThemeConfig() {
16877
+ var _usePickerConfig9 = usePickerConfig(),
16878
+ theme = _usePickerConfig9.theme;
16879
+
16880
+ if (theme === exports.Theme.AUTO) {
16881
+ return isSystemDarkTheme() ? exports.Theme.DARK : exports.Theme.LIGHT;
16882
+ }
16883
+
16884
+ return theme;
16885
+ }
16886
+ function useSuggestedEmojisModeConfig() {
16887
+ var _usePickerConfig10 = usePickerConfig(),
16888
+ suggestedEmojisMode = _usePickerConfig10.suggestedEmojisMode;
16889
+
16890
+ return suggestedEmojisMode;
16891
+ }
16892
+ function useLazyLoadEmojisConfig() {
16893
+ var _usePickerConfig11 = usePickerConfig(),
16894
+ lazyLoadEmojis = _usePickerConfig11.lazyLoadEmojis;
16895
+
16896
+ return lazyLoadEmojis;
16897
+ }
16898
+ function usePickerSizeConfig() {
16899
+ var _usePickerConfig12 = usePickerConfig(),
16900
+ height = _usePickerConfig12.height,
16901
+ width = _usePickerConfig12.width;
16902
+
16903
+ return {
16904
+ height: height,
16905
+ width: width
16906
+ };
16907
+ }
16908
+ function useEmojiVersionConfig() {
16909
+ var _usePickerConfig13 = usePickerConfig(),
16910
+ emojiVersion = _usePickerConfig13.emojiVersion;
16911
+
16912
+ return emojiVersion;
16913
+ }
16914
+ function useGetEmojiUrlConfig() {
16915
+ var _usePickerConfig14 = usePickerConfig(),
16916
+ getEmojiUrl = _usePickerConfig14.getEmojiUrl;
16917
+
16918
+ return getEmojiUrl;
16919
+ }
16920
+
16913
16921
  var alphaNumericEmojiIndex = {};
16914
16922
  setTimeout(function () {
16915
16923
  allEmojis.reduce(function (searchIndex, emoji) {
@@ -17819,6 +17827,7 @@ function useMouseDownHandlers(BodyRef) {
17819
17827
  var _useUpdateSuggested = useUpdateSuggested(),
17820
17828
  updateSuggested = _useUpdateSuggested[1];
17821
17829
 
17830
+ var getEmojiUrl = useGetEmojiUrlConfig();
17822
17831
  var onClick = React.useCallback(function onClick(event) {
17823
17832
  if (disallowClickRef.current) {
17824
17833
  return;
@@ -17837,8 +17846,8 @@ function useMouseDownHandlers(BodyRef) {
17837
17846
  var skinToneToUse = activeVariationFromUnified(unified) || activeSkinTone;
17838
17847
  updateSuggested();
17839
17848
  setsuggested(emoji, skinToneToUse);
17840
- onEmojiClick(emojiClickOutput(emoji, skinToneToUse), event);
17841
- }, [activeSkinTone, closeAllOpenToggles, disallowClickRef, onEmojiClick, updateSuggested]);
17849
+ onEmojiClick(emojiClickOutput(emoji, skinToneToUse, getEmojiUrl), event);
17850
+ }, [activeSkinTone, closeAllOpenToggles, disallowClickRef, onEmojiClick, updateSuggested, getEmojiUrl]);
17842
17851
  var onMouseDown = React.useCallback(function onMouseDown(event) {
17843
17852
  var _window;
17844
17853
 
@@ -17909,13 +17918,13 @@ function emojiFromEvent(event) {
17909
17918
  return emojiFromElement(target);
17910
17919
  }
17911
17920
 
17912
- function emojiClickOutput(emoji, activeSkinTone) {
17921
+ function emojiClickOutput(emoji, activeSkinTone, getEmojiUrl) {
17913
17922
  var unified = emojiUnified(emoji, activeSkinTone);
17914
17923
  return {
17915
17924
  activeSkinTone: activeSkinTone,
17916
17925
  emoji: parseNativeEmoji(unified),
17917
17926
  getImageUrl: function getImageUrl(emojiStyle) {
17918
- return emojiUrlByUnified(emojiStyle, unified);
17927
+ return getEmojiUrl(unified, emojiStyle);
17919
17928
  },
17920
17929
  names: emojiNames(emoji),
17921
17930
  unified: unified,
@@ -18175,7 +18184,8 @@ function ClickableEmoji(_ref) {
18175
18184
  _ref$showVariations = _ref.showVariations,
18176
18185
  showVariations = _ref$showVariations === void 0 ? true : _ref$showVariations,
18177
18186
  size = _ref.size,
18178
- lazyLoad = _ref.lazyLoad;
18187
+ lazyLoad = _ref.lazyLoad,
18188
+ getEmojiUrl = _ref.getEmojiUrl;
18179
18189
  var hasVariations = emojiHasVariations(emoji);
18180
18190
  return React.createElement(Button, {
18181
18191
  className: clsx(ClassNames.emoji, (_clsx = {}, _clsx[ClassNames.hidden] = hidden, _clsx[ClassNames.hiddenOnSearch] = hiddenOnSearch, _clsx[ClassNames.visible] = !hidden && !hiddenOnSearch, _clsx[ClassNames.emojiHasVariatios] = hasVariations && showVariations, _clsx)),
@@ -18187,7 +18197,8 @@ function ClickableEmoji(_ref) {
18187
18197
  emoji: emoji,
18188
18198
  size: size,
18189
18199
  emojiStyle: emojiStyle,
18190
- lazyLoad: lazyLoad
18200
+ lazyLoad: lazyLoad,
18201
+ getEmojiUrl: getEmojiUrl
18191
18202
  }));
18192
18203
  }
18193
18204
  function ViewOnlyEmoji(_ref2) {
@@ -18195,7 +18206,9 @@ function ViewOnlyEmoji(_ref2) {
18195
18206
  unified = _ref2.unified,
18196
18207
  emojiStyle = _ref2.emojiStyle,
18197
18208
  size = _ref2.size,
18198
- lazyLoad = _ref2.lazyLoad;
18209
+ lazyLoad = _ref2.lazyLoad,
18210
+ _ref2$getEmojiUrl = _ref2.getEmojiUrl,
18211
+ getEmojiUrl = _ref2$getEmojiUrl === void 0 ? emojiUrlByUnified : _ref2$getEmojiUrl;
18199
18212
  var style = {};
18200
18213
 
18201
18214
  if (size) {
@@ -18211,7 +18224,8 @@ function ViewOnlyEmoji(_ref2) {
18211
18224
  style: style,
18212
18225
  emoji: asEmoji(emojiToRender),
18213
18226
  emojiStyle: emojiStyle,
18214
- lazyLoad: lazyLoad
18227
+ lazyLoad: lazyLoad,
18228
+ getEmojiUrl: getEmojiUrl
18215
18229
  }));
18216
18230
  }
18217
18231
 
@@ -18231,13 +18245,14 @@ function EmojiImg(_ref4) {
18231
18245
  emojiStyle = _ref4.emojiStyle,
18232
18246
  style = _ref4.style,
18233
18247
  _ref4$lazyLoad = _ref4.lazyLoad,
18234
- lazyLoad = _ref4$lazyLoad === void 0 ? false : _ref4$lazyLoad;
18248
+ lazyLoad = _ref4$lazyLoad === void 0 ? false : _ref4$lazyLoad,
18249
+ getEmojiUrl = _ref4.getEmojiUrl;
18235
18250
 
18236
18251
  var _useEmojisThatFailedT = useEmojisThatFailedToLoadState(),
18237
18252
  setEmojisThatFailedToLoad = _useEmojisThatFailedT[1];
18238
18253
 
18239
18254
  return React.createElement("img", {
18240
- src: emojiUrlByUnified(emojiStyle, unified),
18255
+ src: getEmojiUrl(unified, emojiStyle),
18241
18256
  alt: emojiName(emoji),
18242
18257
  className: clsx(ClassNames.external, 'epr-emoji-img'),
18243
18258
  loading: lazyLoad ? 'lazy' : 'eager',
@@ -18279,6 +18294,7 @@ function Suggested(_ref) {
18279
18294
  suggestedUpdated = _useUpdateSuggested[0];
18280
18295
 
18281
18296
  var suggestedEmojisModeConfig = useSuggestedEmojisModeConfig();
18297
+ var getEmojiUrl = useGetEmojiUrlConfig();
18282
18298
  var suggested = React.useMemo(function () {
18283
18299
  var _getsuggested;
18284
18300
 
@@ -18302,7 +18318,8 @@ function Suggested(_ref) {
18302
18318
  unified: suggestedItem.unified,
18303
18319
  emojiStyle: emojiStyle,
18304
18320
  emoji: emoji,
18305
- key: suggestedItem.unified
18321
+ key: suggestedItem.unified,
18322
+ getEmojiUrl: getEmojiUrl
18306
18323
  });
18307
18324
  }));
18308
18325
  }
@@ -18342,7 +18359,8 @@ function RenderCategory(_ref) {
18342
18359
  var _useActiveSkinToneSta = useActiveSkinToneState(),
18343
18360
  activeSkinTone = _useActiveSkinToneSta[0];
18344
18361
 
18345
- var disallowedEmojisRef = useDisallowedEmojisRef(); // Small trick to defer the rendering of all emoji categories until the first category is visible
18362
+ var disallowedEmojisRef = useDisallowedEmojisRef();
18363
+ var getEmojiUrl = useGetEmojiUrlConfig(); // Small trick to defer the rendering of all emoji categories until the first category is visible
18346
18364
  // This way the user gets to actually see something and not wait for the whole picker to render.
18347
18365
 
18348
18366
  var emojisToPush = !isPastInitialLoad && index > 1 ? [] : emojisByCategory(category);
@@ -18372,7 +18390,8 @@ function RenderCategory(_ref) {
18372
18390
  hidden: failedToLoad,
18373
18391
  hiddenOnSearch: filteredOut,
18374
18392
  emojiStyle: emojiStyle,
18375
- lazyLoad: lazyLoadEmojis
18393
+ lazyLoad: lazyLoadEmojis,
18394
+ getEmojiUrl: getEmojiUrl
18376
18395
  });
18377
18396
  });
18378
18397
  return React.createElement(EmojiCategory, {
@@ -18405,6 +18424,7 @@ function EmojiVariationPicker() {
18405
18424
 
18406
18425
  var setAnchoredEmojiRef = useSetAnchoredEmojiRef();
18407
18426
  var getPointerStyle = usePointerStyle(VariationPickerRef);
18427
+ var getEmojiUrl = useGetEmojiUrlConfig();
18408
18428
  var button = buttonFromTarget(AnchoredEmojiRef.current);
18409
18429
  var visible = emoji && button && emojiHasVariations(emoji) && button.classList.contains(ClassNames.emojiHasVariatios);
18410
18430
  var top, pointerStyle;
@@ -18433,7 +18453,8 @@ function EmojiVariationPicker() {
18433
18453
  emoji: safeEmoji,
18434
18454
  unified: unified,
18435
18455
  emojiStyle: emojiStyle,
18436
- showVariations: false
18456
+ showVariations: false,
18457
+ getEmojiUrl: getEmojiUrl
18437
18458
  });
18438
18459
  }) : null, React.createElement("div", {
18439
18460
  className: "epr-emoji-pointer",
@@ -18631,6 +18652,7 @@ function Preview() {
18631
18652
  var _useEmojiVariationPic = useEmojiVariationPickerState(),
18632
18653
  variationPickerEmoji = _useEmojiVariationPic[0];
18633
18654
 
18655
+ var getEmojiUrl = useGetEmojiUrlConfig();
18634
18656
  useEmojiPreviewEvents(previewConfig.showPreview, setPreviewEmoji);
18635
18657
 
18636
18658
  if (!previewConfig.showPreview) {
@@ -18650,12 +18672,14 @@ function Preview() {
18650
18672
  unified: previewEmoji == null ? void 0 : previewEmoji.unified,
18651
18673
  emoji: asEmoji(emoji),
18652
18674
  emojiStyle: emojiStyle,
18653
- size: 45
18675
+ size: 45,
18676
+ getEmojiUrl: getEmojiUrl
18654
18677
  }) : defaultEmoji ? React.createElement(ViewOnlyEmoji, {
18655
18678
  unified: emojiUnified(defaultEmoji),
18656
18679
  emoji: defaultEmoji,
18657
18680
  emojiStyle: emojiStyle,
18658
- size: 45
18681
+ size: 45,
18682
+ getEmojiUrl: getEmojiUrl
18659
18683
  }) : null), show ? React.createElement("div", {
18660
18684
  className: "epr-preview-emoji-label"
18661
18685
  }, emojiName(asEmoji(emoji))) : React.createElement("div", {
@@ -19284,7 +19308,7 @@ function hasModifier(event) {
19284
19308
  return metaKey || ctrlKey || altKey;
19285
19309
  }
19286
19310
 
19287
- function preloadEmoji(emoji, emojiStyle) {
19311
+ function preloadEmoji(getEmojiUrl, emoji, emojiStyle) {
19288
19312
  if (!emoji) {
19289
19313
  return;
19290
19314
  }
@@ -19300,7 +19324,7 @@ function preloadEmoji(emoji, emojiStyle) {
19300
19324
  }
19301
19325
 
19302
19326
  emojiVariations(emoji).forEach(function (variation) {
19303
- var emojiUrl = emojiUrlByUnified(emojiStyle, variation);
19327
+ var emojiUrl = getEmojiUrl(variation, emojiStyle);
19304
19328
  preloadImage(emojiUrl);
19305
19329
  });
19306
19330
  preloadedEmojs.add(unified);
@@ -19315,6 +19339,7 @@ function preloadImage(url) {
19315
19339
  function useOnFocus() {
19316
19340
  var BodyRef = useBodyRef();
19317
19341
  var emojiStyle = useEmojiStyleConfig();
19342
+ var getEmojiUrl = useGetEmojiUrlConfig();
19318
19343
  React.useEffect(function () {
19319
19344
  if (emojiStyle === exports.EmojiStyle.NATIVE) {
19320
19345
  return;
@@ -19341,10 +19366,10 @@ function useOnFocus() {
19341
19366
  }
19342
19367
 
19343
19368
  if (emojiHasVariations(emoji)) {
19344
- preloadEmoji(emoji, emojiStyle);
19369
+ preloadEmoji(getEmojiUrl, emoji, emojiStyle);
19345
19370
  }
19346
19371
  }
19347
- }, [BodyRef, emojiStyle]);
19372
+ }, [BodyRef, emojiStyle, getEmojiUrl]);
19348
19373
  }
19349
19374
 
19350
19375
  function PickerMain(_ref) {
@@ -19425,7 +19450,8 @@ function ExportedEmoji(_ref) {
19425
19450
  _ref$emojiStyle = _ref.emojiStyle,
19426
19451
  emojiStyle = _ref$emojiStyle === void 0 ? exports.EmojiStyle.APPLE : _ref$emojiStyle,
19427
19452
  _ref$lazyLoad = _ref.lazyLoad,
19428
- lazyLoad = _ref$lazyLoad === void 0 ? false : _ref$lazyLoad;
19453
+ lazyLoad = _ref$lazyLoad === void 0 ? false : _ref$lazyLoad,
19454
+ getEmojiUrl = _ref.getEmojiUrl;
19429
19455
 
19430
19456
  if (!unified) {
19431
19457
  return null;
@@ -19435,7 +19461,8 @@ function ExportedEmoji(_ref) {
19435
19461
  unified: unified,
19436
19462
  size: size,
19437
19463
  emojiStyle: emojiStyle,
19438
- lazyLoad: lazyLoad
19464
+ lazyLoad: lazyLoad,
19465
+ getEmojiUrl: getEmojiUrl
19439
19466
  });
19440
19467
  }
19441
19468