emoji-picker-react 4.5.15 → 4.6.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 +3 -1
- package/dist/components/header/CssSearch.d.ts +4 -0
- package/dist/config/config.d.ts +3 -0
- package/dist/config/useConfig.d.ts +4 -5
- package/dist/emoji-picker-react.cjs.development.js +51 -43
- 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 +51 -43
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/EmojiPickerReact.tsx +2 -0
- package/src/components/header/CssSearch.tsx +45 -0
- package/src/components/header/Search.tsx +12 -42
- package/src/components/main/PickerMain.tsx +6 -10
- package/src/config/config.ts +6 -0
- package/src/config/useConfig.ts +10 -6
package/README.md
CHANGED
|
@@ -72,9 +72,11 @@ The following props are accepted by them picker:
|
|
|
72
72
|
| skinTonesDisabled | boolean | `false` | Controls whether the skin tones are disabled or not. |
|
|
73
73
|
| searchDisabled | boolean | `false` | Controls whether the search is disabled or not. When disabled, the skin tone picker will be shown in the preview component. |
|
|
74
74
|
| skinTonePickerLocation | string | `SEARCH` | Controls the location of the skin tone picker. Possible values are `SEARCH` and `PREVIEW`. |
|
|
75
|
-
| `width` | `number`/`string` | `350` | Controls the width of the picker. You can provide a number that will be treated as pixel size, or your any accepted css width as string. |
|
|
76
75
|
| emojiVersion | `string` | - | Allows displaying emojis up to a certain version for compatibility. |
|
|
76
|
+
| `className` | `string` | - | Adds a class name to the root element of the picker. |
|
|
77
|
+
| `width` | `number`/`string` | `350` | Controls the width of the picker. You can provide a number that will be treated as pixel size, or your any accepted css width as string. |
|
|
77
78
|
| `height` | `number`/`string` | `450` | Controls the height of the picker. You can provide a number that will be treated as pixel size, or your any accepted css height as string. |
|
|
79
|
+
| `style` | `React.CSSProperties` | `{}` | Adds inline style to the root element of the picker. |
|
|
78
80
|
| getEmojiUrl | `Function` | - | Allows to customize the emoji url and provide your own image host. |
|
|
79
81
|
| categories | `Array` | - | Allows full config over ordering, naming and display of categories. |
|
|
80
82
|
| customEmojis | `Array<{names: string[], imgUrl: string, id: string}>` | - | Allows adding custom emojis to the picker. |
|
package/dist/config/config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { GetEmojiUrl } from '../components/emoji/BaseEmojiProps';
|
|
2
3
|
import { EmojiClickData, EmojiStyle, SkinTonePickerLocation, SkinTones, SuggestionMode, Theme } from '../types/exposedTypes';
|
|
3
4
|
import { CategoriesConfig } from './categoryConfig';
|
|
@@ -22,8 +23,10 @@ export declare type PickerConfigInternal = {
|
|
|
22
23
|
suggestedEmojisMode: SuggestionMode;
|
|
23
24
|
lazyLoadEmojis: boolean;
|
|
24
25
|
previewConfig: PreviewConfig;
|
|
26
|
+
className: string;
|
|
25
27
|
height: PickerDimensions;
|
|
26
28
|
width: PickerDimensions;
|
|
29
|
+
style: React.CSSProperties;
|
|
27
30
|
getEmojiUrl: GetEmojiUrl;
|
|
28
31
|
searchDisabled: boolean;
|
|
29
32
|
skinTonePickerLocation: SkinTonePickerLocation;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { EmojiClickData, EmojiStyle, SkinTonePickerLocation, SkinTones, SuggestionMode, Theme } from '../types/exposedTypes';
|
|
2
3
|
import { CategoriesConfig } from './categoryConfig';
|
|
3
|
-
import {
|
|
4
|
+
import { PreviewConfig } from './config';
|
|
4
5
|
import { CustomEmoji } from './customEmojiConfig';
|
|
5
6
|
export declare function useSearchPlaceHolderConfig(): string;
|
|
6
7
|
export declare function useDefaultSkinToneConfig(): SkinTones;
|
|
@@ -14,10 +15,8 @@ export declare function usePreviewConfig(): PreviewConfig;
|
|
|
14
15
|
export declare function useThemeConfig(): Theme;
|
|
15
16
|
export declare function useSuggestedEmojisModeConfig(): SuggestionMode;
|
|
16
17
|
export declare function useLazyLoadEmojisConfig(): boolean;
|
|
17
|
-
export declare function
|
|
18
|
-
|
|
19
|
-
width: PickerDimensions;
|
|
20
|
-
};
|
|
18
|
+
export declare function useClassNameConfig(): string;
|
|
19
|
+
export declare function useStyleConfig(): React.CSSProperties;
|
|
21
20
|
export declare function useEmojiVersionConfig(): string | null;
|
|
22
21
|
export declare function useSearchDisabledConfig(): boolean;
|
|
23
22
|
export declare function useSkinTonePickerLocationConfig(): SkinTonePickerLocation;
|
|
@@ -16916,6 +16916,7 @@ function basePickerConfig() {
|
|
|
16916
16916
|
return {
|
|
16917
16917
|
autoFocusSearch: true,
|
|
16918
16918
|
categories: baseCategoriesConfig(),
|
|
16919
|
+
className: '',
|
|
16919
16920
|
customEmojis: [],
|
|
16920
16921
|
defaultSkinTone: exports.SkinTones.NEUTRAL,
|
|
16921
16922
|
emojiStyle: exports.EmojiStyle.APPLE,
|
|
@@ -16929,6 +16930,7 @@ function basePickerConfig() {
|
|
|
16929
16930
|
searchPlaceholder: DEFAULT_SEARCH_PLACEHOLDER,
|
|
16930
16931
|
skinTonePickerLocation: exports.SkinTonePickerLocation.SEARCH,
|
|
16931
16932
|
skinTonesDisabled: false,
|
|
16933
|
+
style: {},
|
|
16932
16934
|
suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
|
|
16933
16935
|
theme: exports.Theme.LIGHT,
|
|
16934
16936
|
unicodeToHide: new Set(KNOWN_FAILING_EMOJIS),
|
|
@@ -17070,43 +17072,50 @@ function useLazyLoadEmojisConfig() {
|
|
|
17070
17072
|
|
|
17071
17073
|
return lazyLoadEmojis;
|
|
17072
17074
|
}
|
|
17073
|
-
function
|
|
17075
|
+
function useClassNameConfig() {
|
|
17074
17076
|
var _usePickerConfig12 = usePickerConfig(),
|
|
17075
|
-
|
|
17076
|
-
width = _usePickerConfig12.width;
|
|
17077
|
+
className = _usePickerConfig12.className;
|
|
17077
17078
|
|
|
17078
|
-
return
|
|
17079
|
+
return className;
|
|
17080
|
+
}
|
|
17081
|
+
function useStyleConfig() {
|
|
17082
|
+
var _usePickerConfig13 = usePickerConfig(),
|
|
17083
|
+
height = _usePickerConfig13.height,
|
|
17084
|
+
width = _usePickerConfig13.width,
|
|
17085
|
+
style = _usePickerConfig13.style;
|
|
17086
|
+
|
|
17087
|
+
return _extends({
|
|
17079
17088
|
height: getDimension(height),
|
|
17080
17089
|
width: getDimension(width)
|
|
17081
|
-
};
|
|
17090
|
+
}, style);
|
|
17082
17091
|
}
|
|
17083
17092
|
function useEmojiVersionConfig() {
|
|
17084
|
-
var
|
|
17085
|
-
emojiVersion =
|
|
17093
|
+
var _usePickerConfig14 = usePickerConfig(),
|
|
17094
|
+
emojiVersion = _usePickerConfig14.emojiVersion;
|
|
17086
17095
|
|
|
17087
17096
|
return emojiVersion;
|
|
17088
17097
|
}
|
|
17089
17098
|
function useSearchDisabledConfig() {
|
|
17090
|
-
var
|
|
17091
|
-
searchDisabled =
|
|
17099
|
+
var _usePickerConfig15 = usePickerConfig(),
|
|
17100
|
+
searchDisabled = _usePickerConfig15.searchDisabled;
|
|
17092
17101
|
|
|
17093
17102
|
return searchDisabled;
|
|
17094
17103
|
}
|
|
17095
17104
|
function useSkinTonePickerLocationConfig() {
|
|
17096
|
-
var
|
|
17097
|
-
skinTonePickerLocation =
|
|
17105
|
+
var _usePickerConfig16 = usePickerConfig(),
|
|
17106
|
+
skinTonePickerLocation = _usePickerConfig16.skinTonePickerLocation;
|
|
17098
17107
|
|
|
17099
17108
|
return skinTonePickerLocation;
|
|
17100
17109
|
}
|
|
17101
17110
|
function useUnicodeToHide() {
|
|
17102
|
-
var
|
|
17103
|
-
unicodeToHide =
|
|
17111
|
+
var _usePickerConfig17 = usePickerConfig(),
|
|
17112
|
+
unicodeToHide = _usePickerConfig17.unicodeToHide;
|
|
17104
17113
|
|
|
17105
17114
|
return unicodeToHide;
|
|
17106
17115
|
}
|
|
17107
17116
|
function useGetEmojiUrlConfig() {
|
|
17108
|
-
var
|
|
17109
|
-
getEmojiUrl =
|
|
17117
|
+
var _usePickerConfig18 = usePickerConfig(),
|
|
17118
|
+
getEmojiUrl = _usePickerConfig18.getEmojiUrl;
|
|
17110
17119
|
|
|
17111
17120
|
return getEmojiUrl;
|
|
17112
17121
|
}
|
|
@@ -19225,6 +19234,24 @@ function CategoryNavigation() {
|
|
|
19225
19234
|
}));
|
|
19226
19235
|
}
|
|
19227
19236
|
|
|
19237
|
+
var SCOPE = /*#__PURE__*/asSelectors(ClassNames.emojiPicker) + " " + /*#__PURE__*/asSelectors(ClassNames.emojiList);
|
|
19238
|
+
var EMOJI_BUTTON = /*#__PURE__*/['button', asSelectors(ClassNames.emoji)].join('');
|
|
19239
|
+
var CATEGORY = /*#__PURE__*/asSelectors(ClassNames.category);
|
|
19240
|
+
function CssSearch(_ref) {
|
|
19241
|
+
var value = _ref.value;
|
|
19242
|
+
|
|
19243
|
+
if (!value) {
|
|
19244
|
+
return null;
|
|
19245
|
+
}
|
|
19246
|
+
|
|
19247
|
+
var q = genQuery(value);
|
|
19248
|
+
return React.createElement("style", null, "\n " + SCOPE + " " + EMOJI_BUTTON + " {\n display: none;\n }\n\n\n " + SCOPE + " " + q + " {\n display: flex;\n }\n\n " + SCOPE + " " + CATEGORY + ":not(:has(" + q + ")) {\n display: none;\n }\n ");
|
|
19249
|
+
}
|
|
19250
|
+
|
|
19251
|
+
function genQuery(value) {
|
|
19252
|
+
return [EMOJI_BUTTON, '[data-full-name*="', getNormalizedSearchTerm(value), '"]'].join('');
|
|
19253
|
+
}
|
|
19254
|
+
|
|
19228
19255
|
function SearchContainer() {
|
|
19229
19256
|
var searchDisabled = useSearchDisabledConfig();
|
|
19230
19257
|
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
@@ -19266,7 +19293,7 @@ function Search() {
|
|
|
19266
19293
|
onFocus: closeAllOpenToggles,
|
|
19267
19294
|
className: "epr-search",
|
|
19268
19295
|
type: "text",
|
|
19269
|
-
"aria-controls":
|
|
19296
|
+
"aria-controls": "epr-search-id",
|
|
19270
19297
|
placeholder: placeholder,
|
|
19271
19298
|
onChange: function onChange(event) {
|
|
19272
19299
|
setInc(inc + 1);
|
|
@@ -19278,11 +19305,11 @@ function Search() {
|
|
|
19278
19305
|
},
|
|
19279
19306
|
ref: SearchInputRef
|
|
19280
19307
|
}), searchTerm ? React.createElement("div", {
|
|
19281
|
-
role:
|
|
19308
|
+
role: "status",
|
|
19282
19309
|
className: clsx('epr-status-search-results', 'epr-status-visually-hidden'),
|
|
19283
|
-
"aria-live":
|
|
19284
|
-
id:
|
|
19285
|
-
"aria-atomic":
|
|
19310
|
+
"aria-live": "polite",
|
|
19311
|
+
id: "epr-search-id",
|
|
19312
|
+
"aria-atomic": "true"
|
|
19286
19313
|
}, statusSearchResults) : null, React.createElement("div", {
|
|
19287
19314
|
className: "epr-icn-search"
|
|
19288
19315
|
}), React.createElement(Button, {
|
|
@@ -19292,18 +19319,6 @@ function Search() {
|
|
|
19292
19319
|
className: "epr-icn-clear-search"
|
|
19293
19320
|
})));
|
|
19294
19321
|
}
|
|
19295
|
-
var CSS_SEARCH_SELECTOR = /*#__PURE__*/asSelectors(ClassNames.emojiPicker) + " " + /*#__PURE__*/asSelectors(ClassNames.emojiList);
|
|
19296
|
-
|
|
19297
|
-
function CssSearch(_ref) {
|
|
19298
|
-
var value = _ref.value;
|
|
19299
|
-
|
|
19300
|
-
if (!value) {
|
|
19301
|
-
return null;
|
|
19302
|
-
}
|
|
19303
|
-
|
|
19304
|
-
var searchQuery = "button[data-full-name*=\"" + getNormalizedSearchTerm(value) + "\"]";
|
|
19305
|
-
return React.createElement("style", null, "\n " + CSS_SEARCH_SELECTOR + " " + asSelectors(ClassNames.category) + ":not(:has(" + searchQuery + ")) {\n display: none;\n }\n\n " + CSS_SEARCH_SELECTOR + " button" + asSelectors(ClassNames.emoji) + ":not(" + searchQuery + ") {\n display: none;\n }\n ");
|
|
19306
|
-
}
|
|
19307
19322
|
|
|
19308
19323
|
function Header() {
|
|
19309
19324
|
return React.createElement(Relative, {
|
|
@@ -19808,19 +19823,12 @@ function PickerRootElement(_ref2) {
|
|
|
19808
19823
|
var theme = useThemeConfig();
|
|
19809
19824
|
var searchModeActive = useIsSearchMode();
|
|
19810
19825
|
var PickerMainRef = usePickerMainRef();
|
|
19811
|
-
|
|
19812
|
-
var
|
|
19813
|
-
height = _usePickerSizeConfig.height,
|
|
19814
|
-
width = _usePickerSizeConfig.width;
|
|
19815
|
-
|
|
19826
|
+
var className = useClassNameConfig();
|
|
19827
|
+
var style = useStyleConfig();
|
|
19816
19828
|
useKeyboardNavigation();
|
|
19817
19829
|
useOnFocus();
|
|
19818
|
-
var style = {
|
|
19819
|
-
height: height,
|
|
19820
|
-
width: width
|
|
19821
|
-
};
|
|
19822
19830
|
return React.createElement("aside", {
|
|
19823
|
-
className: clsx(ClassNames.emojiPicker, 'epr-main', (_clsx = {}, _clsx[ClassNames.searchActive] = searchModeActive, _clsx[ClassNames.darkTheme] = theme === exports.Theme.DARK, _clsx[ClassNames.autoTheme] = theme === exports.Theme.AUTO, _clsx)),
|
|
19831
|
+
className: clsx(ClassNames.emojiPicker, 'epr-main', (_clsx = {}, _clsx[ClassNames.searchActive] = searchModeActive, _clsx[ClassNames.darkTheme] = theme === exports.Theme.DARK, _clsx[ClassNames.autoTheme] = theme === exports.Theme.AUTO, _clsx), className),
|
|
19824
19832
|
ref: PickerMainRef,
|
|
19825
19833
|
style: style
|
|
19826
19834
|
}, children);
|
|
@@ -19836,7 +19844,7 @@ var EmojiPickerReact = /*#__PURE__*/React.memo(EmojiPicker, function (prev, next
|
|
|
19836
19844
|
|
|
19837
19845
|
var prevCustomEmojis = (_prev$customEmojis = prev.customEmojis) != null ? _prev$customEmojis : [];
|
|
19838
19846
|
var nextCustomEmojis = (_next$customEmojis = next.customEmojis) != null ? _next$customEmojis : [];
|
|
19839
|
-
return prev.emojiVersion === next.emojiVersion && prev.searchPlaceHolder === next.searchPlaceHolder && prev.searchPlaceholder === next.searchPlaceholder && prev.defaultSkinTone === next.defaultSkinTone && prev.skinTonesDisabled === next.skinTonesDisabled && prev.autoFocusSearch === next.autoFocusSearch && prev.emojiStyle === next.emojiStyle && prev.theme === next.theme && prev.suggestedEmojisMode === next.suggestedEmojisMode && prev.lazyLoadEmojis === next.lazyLoadEmojis && prev.height === next.height && prev.width === next.width && prev.searchDisabled === next.searchDisabled && prev.skinTonePickerLocation === next.skinTonePickerLocation && prevCustomEmojis.length === nextCustomEmojis.length;
|
|
19847
|
+
return prev.emojiVersion === next.emojiVersion && prev.searchPlaceHolder === next.searchPlaceHolder && prev.searchPlaceholder === next.searchPlaceholder && prev.defaultSkinTone === next.defaultSkinTone && prev.skinTonesDisabled === next.skinTonesDisabled && prev.autoFocusSearch === next.autoFocusSearch && prev.emojiStyle === next.emojiStyle && prev.theme === next.theme && prev.suggestedEmojisMode === next.suggestedEmojisMode && prev.lazyLoadEmojis === next.lazyLoadEmojis && prev.className === next.className && prev.height === next.height && prev.width === next.width && prev.style === next.style && prev.searchDisabled === next.searchDisabled && prev.skinTonePickerLocation === next.skinTonePickerLocation && prevCustomEmojis.length === nextCustomEmojis.length;
|
|
19840
19848
|
});
|
|
19841
19849
|
|
|
19842
19850
|
var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|