emoji-picker-react 4.4.0-rc.1 → 4.4.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 +26 -16
- package/dist/DomUtils/classNames.d.ts +4 -1
- package/dist/components/Layout/Absolute.d.ts +8 -0
- package/dist/components/Layout/Relative.d.ts +2 -1
- package/dist/components/Layout/Space.d.ts +7 -0
- package/dist/components/footer/Preview.d.ts +1 -0
- package/dist/components/header/Search.d.ts +1 -0
- package/dist/components/header/SkinTonePicker.d.ts +10 -1
- package/dist/config/config.d.ts +3 -3
- package/dist/config/useConfig.d.ts +3 -3
- package/dist/emoji-picker-react.cjs.development.css +4 -4
- package/dist/emoji-picker-react.cjs.development.js +254 -128
- 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 +266 -140
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/dist/hooks/useShouldShowSkinTonePicker.d.ts +4 -0
- package/dist/types/exposedTypes.d.ts +4 -0
- package/package.json +1 -1
- package/src/DomUtils/classNames.ts +4 -1
- package/src/EmojiPickerReact.css +3 -0
- package/src/components/Layout/Absolute.tsx +15 -0
- package/src/components/Layout/Relative.tsx +3 -2
- package/src/components/Layout/Space.tsx +11 -0
- package/src/components/footer/Preview.css +2 -0
- package/src/components/footer/Preview.tsx +23 -11
- package/src/components/header/Header.tsx +2 -7
- package/src/components/header/Search.tsx +25 -3
- package/src/components/header/SkinTonePicker.css +19 -9
- package/src/components/header/SkinTonePicker.tsx +41 -4
- package/src/config/config.ts +11 -4
- package/src/config/useConfig.ts +11 -8
- package/src/hooks/useDisallowedEmojis.ts +4 -17
- package/src/hooks/useFilter.ts +9 -10
- package/src/hooks/useKeyboardNavigation.ts +69 -26
- package/src/hooks/useShouldShowSkinTonePicker.ts +22 -0
- package/src/types/exposedTypes.ts +10 -5
- package/dist/predicates/isFunction.d.ts +0 -1
- package/src/predicates/isFunction.ts +0 -5
|
@@ -24,6 +24,9 @@ var ClassNames;
|
|
|
24
24
|
ClassNames["emojiList"] = "epr-emoji-list";
|
|
25
25
|
ClassNames["external"] = "__EmojiPicker__";
|
|
26
26
|
ClassNames["emojiPicker"] = "EmojiPickerReact";
|
|
27
|
+
ClassNames["open"] = "epr-open";
|
|
28
|
+
ClassNames["vertical"] = "epr-vertical";
|
|
29
|
+
ClassNames["horizontal"] = "epr-horizontal";
|
|
27
30
|
})(ClassNames || (ClassNames = {}));
|
|
28
31
|
|
|
29
32
|
function asSelectors() {
|
|
@@ -232,6 +235,13 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
232
235
|
Categories["FLAGS"] = "flags";
|
|
233
236
|
})(exports.Categories || (exports.Categories = {}));
|
|
234
237
|
|
|
238
|
+
var SkinTonePickerLocation;
|
|
239
|
+
|
|
240
|
+
(function (SkinTonePickerLocation) {
|
|
241
|
+
SkinTonePickerLocation["SEARCH"] = "SEARCH";
|
|
242
|
+
SkinTonePickerLocation["PREVIEW"] = "PREVIEW";
|
|
243
|
+
})(SkinTonePickerLocation || (SkinTonePickerLocation = {}));
|
|
244
|
+
|
|
235
245
|
var CDN_URL_APPLE = 'https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/';
|
|
236
246
|
var CDN_URL_FACEBOOK = 'https://cdn.jsdelivr.net/npm/emoji-datasource-facebook/img/facebook/64/';
|
|
237
247
|
var CDN_URL_TWITTER = 'https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/';
|
|
@@ -16777,9 +16787,11 @@ function mergeConfig(userConfig) {
|
|
|
16777
16787
|
var categories = mergeCategoriesConfig(userConfig.categories, {
|
|
16778
16788
|
suggestionMode: config.suggestedEmojisMode
|
|
16779
16789
|
});
|
|
16790
|
+
var skinTonePickerLocation = config.searchDisabled ? SkinTonePickerLocation.PREVIEW : config.skinTonePickerLocation;
|
|
16780
16791
|
return _extends({}, config, {
|
|
16781
16792
|
categories: categories,
|
|
16782
|
-
previewConfig: previewConfig
|
|
16793
|
+
previewConfig: previewConfig,
|
|
16794
|
+
skinTonePickerLocation: skinTonePickerLocation
|
|
16783
16795
|
});
|
|
16784
16796
|
}
|
|
16785
16797
|
function basePickerConfig() {
|
|
@@ -16798,8 +16810,9 @@ function basePickerConfig() {
|
|
|
16798
16810
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16799
16811
|
event) {},
|
|
16800
16812
|
previewConfig: _extends({}, basePreviewConfig),
|
|
16813
|
+
searchDisabled: false,
|
|
16801
16814
|
searchPlaceHolder: 'Search',
|
|
16802
|
-
|
|
16815
|
+
skinTonePickerLocation: SkinTonePickerLocation.SEARCH,
|
|
16803
16816
|
skinTonesDisabled: false,
|
|
16804
16817
|
suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
|
|
16805
16818
|
theme: exports.Theme.LIGHT,
|
|
@@ -16912,17 +16925,23 @@ function useEmojiVersionConfig() {
|
|
|
16912
16925
|
|
|
16913
16926
|
return emojiVersion;
|
|
16914
16927
|
}
|
|
16915
|
-
function
|
|
16928
|
+
function useSearchDisabledConfig() {
|
|
16916
16929
|
var _usePickerConfig14 = usePickerConfig(),
|
|
16917
|
-
|
|
16930
|
+
searchDisabled = _usePickerConfig14.searchDisabled;
|
|
16918
16931
|
|
|
16919
|
-
return
|
|
16932
|
+
return searchDisabled;
|
|
16920
16933
|
}
|
|
16921
|
-
function
|
|
16934
|
+
function useSkinTonePickerLocationConfig() {
|
|
16922
16935
|
var _usePickerConfig15 = usePickerConfig(),
|
|
16923
|
-
|
|
16936
|
+
skinTonePickerLocation = _usePickerConfig15.skinTonePickerLocation;
|
|
16937
|
+
|
|
16938
|
+
return skinTonePickerLocation;
|
|
16939
|
+
}
|
|
16940
|
+
function useGetEmojiUrlConfig() {
|
|
16941
|
+
var _usePickerConfig16 = usePickerConfig(),
|
|
16942
|
+
getEmojiUrl = _usePickerConfig16.getEmojiUrl;
|
|
16924
16943
|
|
|
16925
|
-
return
|
|
16944
|
+
return getEmojiUrl;
|
|
16926
16945
|
}
|
|
16927
16946
|
|
|
16928
16947
|
function getDimension(dimensionConfig) {
|
|
@@ -16972,37 +16991,24 @@ function useDebouncedState(initialValue, delay) {
|
|
|
16972
16991
|
return [state, debouncedSetState];
|
|
16973
16992
|
}
|
|
16974
16993
|
|
|
16975
|
-
function isFunction(value) {
|
|
16976
|
-
return typeof value === 'function';
|
|
16977
|
-
}
|
|
16978
|
-
|
|
16979
16994
|
function useDisallowedEmojis() {
|
|
16980
16995
|
var DisallowedEmojisRef = React.useRef({});
|
|
16981
16996
|
var emojiVersionConfig = useEmojiVersionConfig();
|
|
16982
|
-
var shouldShowEmoji = useShowEmojiConfig();
|
|
16983
16997
|
return React.useMemo(function () {
|
|
16984
16998
|
var emojiVersion = parseFloat("" + emojiVersionConfig);
|
|
16985
16999
|
|
|
16986
|
-
if (
|
|
17000
|
+
if (!emojiVersionConfig || Number.isNaN(emojiVersion)) {
|
|
16987
17001
|
return DisallowedEmojisRef.current;
|
|
16988
17002
|
}
|
|
16989
17003
|
|
|
16990
17004
|
return allEmojis.reduce(function (disallowedEmojis, emoji) {
|
|
16991
|
-
if (isFunction(shouldShowEmoji) && !shouldShowEmoji(emoji)) {
|
|
16992
|
-
disallowEmoji();
|
|
16993
|
-
}
|
|
16994
|
-
|
|
16995
17005
|
if (addedInNewerVersion(emoji, emojiVersion)) {
|
|
16996
|
-
|
|
17006
|
+
disallowedEmojis[emojiUnified(emoji)] = true;
|
|
16997
17007
|
}
|
|
16998
17008
|
|
|
16999
17009
|
return disallowedEmojis;
|
|
17000
|
-
|
|
17001
|
-
function disallowEmoji() {
|
|
17002
|
-
disallowedEmojis[emojiUnified(emoji)] = true;
|
|
17003
|
-
}
|
|
17004
17010
|
}, DisallowedEmojisRef.current);
|
|
17005
|
-
}, [emojiVersionConfig
|
|
17011
|
+
}, [emojiVersionConfig]);
|
|
17006
17012
|
}
|
|
17007
17013
|
|
|
17008
17014
|
function addedInNewerVersion(emoji, supportedLevel) {
|
|
@@ -18009,7 +18015,7 @@ function useFocusCategoryNavigation() {
|
|
|
18009
18015
|
function useSetFilterRef() {
|
|
18010
18016
|
var filterRef = useFilterRef();
|
|
18011
18017
|
return function setFilter(setter) {
|
|
18012
|
-
if (
|
|
18018
|
+
if (typeof setter === 'function') {
|
|
18013
18019
|
return setFilter(setter(filterRef.current));
|
|
18014
18020
|
}
|
|
18015
18021
|
|
|
@@ -18644,6 +18650,15 @@ function useEmojiPreviewEvents(allow, setPreviewEmoji) {
|
|
|
18644
18650
|
}, [BodyRef, allow, setPreviewEmoji, isMouseDisallowed, allowMouseMove]);
|
|
18645
18651
|
}
|
|
18646
18652
|
|
|
18653
|
+
function useIsSkinToneInSearch() {
|
|
18654
|
+
var skinTonePickerLocationConfig = useSkinTonePickerLocationConfig();
|
|
18655
|
+
return skinTonePickerLocationConfig === SkinTonePickerLocation.SEARCH;
|
|
18656
|
+
}
|
|
18657
|
+
function useIsSkinToneInPreview() {
|
|
18658
|
+
var skinTonePickerLocationConfig = useSkinTonePickerLocationConfig();
|
|
18659
|
+
return skinTonePickerLocationConfig === SkinTonePickerLocation.PREVIEW;
|
|
18660
|
+
}
|
|
18661
|
+
|
|
18647
18662
|
var FlexDirection;
|
|
18648
18663
|
|
|
18649
18664
|
(function (FlexDirection) {
|
|
@@ -18664,8 +18679,141 @@ function Flex(_ref) {
|
|
|
18664
18679
|
}, children);
|
|
18665
18680
|
}
|
|
18666
18681
|
|
|
18682
|
+
function Space(_ref) {
|
|
18683
|
+
var className = _ref.className,
|
|
18684
|
+
_ref$style = _ref.style,
|
|
18685
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
|
18686
|
+
return React.createElement("div", {
|
|
18687
|
+
style: _extends({
|
|
18688
|
+
flex: 1
|
|
18689
|
+
}, style),
|
|
18690
|
+
className: clsx(className)
|
|
18691
|
+
});
|
|
18692
|
+
}
|
|
18693
|
+
|
|
18694
|
+
function Absolute(_ref) {
|
|
18695
|
+
var children = _ref.children,
|
|
18696
|
+
className = _ref.className,
|
|
18697
|
+
style = _ref.style;
|
|
18698
|
+
return React.createElement("div", {
|
|
18699
|
+
style: _extends({}, style, {
|
|
18700
|
+
position: 'absolute'
|
|
18701
|
+
}),
|
|
18702
|
+
className: className
|
|
18703
|
+
}, children);
|
|
18704
|
+
}
|
|
18705
|
+
|
|
18706
|
+
function Relative(_ref) {
|
|
18707
|
+
var children = _ref.children,
|
|
18708
|
+
className = _ref.className,
|
|
18709
|
+
style = _ref.style;
|
|
18710
|
+
return React.createElement("div", {
|
|
18711
|
+
style: _extends({}, style, {
|
|
18712
|
+
position: 'relative'
|
|
18713
|
+
}),
|
|
18714
|
+
className: className
|
|
18715
|
+
}, children);
|
|
18716
|
+
}
|
|
18717
|
+
|
|
18718
|
+
var ITEM_SIZE = 28;
|
|
18719
|
+
function SkinTonePickerMenu() {
|
|
18720
|
+
return React.createElement(Relative, {
|
|
18721
|
+
style: {
|
|
18722
|
+
height: ITEM_SIZE
|
|
18723
|
+
}
|
|
18724
|
+
}, React.createElement(Absolute, {
|
|
18725
|
+
style: {
|
|
18726
|
+
bottom: 0,
|
|
18727
|
+
right: 0
|
|
18728
|
+
}
|
|
18729
|
+
}, React.createElement(SkinTonePicker, {
|
|
18730
|
+
direction: SkinTonePickerDirection.VERTICAL
|
|
18731
|
+
})));
|
|
18732
|
+
}
|
|
18733
|
+
function SkinTonePicker(_ref) {
|
|
18734
|
+
var _clsx;
|
|
18735
|
+
|
|
18736
|
+
var _ref$direction = _ref.direction,
|
|
18737
|
+
direction = _ref$direction === void 0 ? SkinTonePickerDirection.HORIZONTAL : _ref$direction;
|
|
18738
|
+
var SkinTonePickerRef = useSkinTonePickerRef();
|
|
18739
|
+
var isDisabled = useSkinTonesDisabledConfig();
|
|
18740
|
+
|
|
18741
|
+
var _useSkinToneFanOpenSt = useSkinToneFanOpenState(),
|
|
18742
|
+
isOpen = _useSkinToneFanOpenSt[0],
|
|
18743
|
+
setIsOpen = _useSkinToneFanOpenSt[1];
|
|
18744
|
+
|
|
18745
|
+
var _useActiveSkinToneSta = useActiveSkinToneState(),
|
|
18746
|
+
activeSkinTone = _useActiveSkinToneSta[0],
|
|
18747
|
+
setActiveSkinTone = _useActiveSkinToneSta[1];
|
|
18748
|
+
|
|
18749
|
+
var closeAllOpenToggles = useCloseAllOpenToggles();
|
|
18750
|
+
var focusSearchInput = useFocusSearchInput();
|
|
18751
|
+
|
|
18752
|
+
if (isDisabled) {
|
|
18753
|
+
return null;
|
|
18754
|
+
}
|
|
18755
|
+
|
|
18756
|
+
var fullWidth = ITEM_SIZE * skinToneVariations.length + "px";
|
|
18757
|
+
var expandedSize = isOpen ? fullWidth : ITEM_SIZE + 'px';
|
|
18758
|
+
var vertical = direction === SkinTonePickerDirection.VERTICAL;
|
|
18759
|
+
return React.createElement(Relative, {
|
|
18760
|
+
className: clsx('epr-skin-tones', direction, (_clsx = {}, _clsx[ClassNames.open] = isOpen, _clsx)),
|
|
18761
|
+
style: vertical ? {
|
|
18762
|
+
flexBasis: expandedSize,
|
|
18763
|
+
height: expandedSize
|
|
18764
|
+
} : {
|
|
18765
|
+
flexBasis: expandedSize
|
|
18766
|
+
}
|
|
18767
|
+
}, React.createElement("div", {
|
|
18768
|
+
className: "epr-skin-tone-select",
|
|
18769
|
+
ref: SkinTonePickerRef
|
|
18770
|
+
}, skinToneVariations.map(function (skinToneVariation, i) {
|
|
18771
|
+
var _clsx2;
|
|
18772
|
+
|
|
18773
|
+
var active = skinToneVariation === activeSkinTone;
|
|
18774
|
+
return React.createElement(Button, {
|
|
18775
|
+
style: {
|
|
18776
|
+
transform: clsx(vertical ? "translateY(-" + i * (isOpen ? ITEM_SIZE : 0) + "px)" : "translateX(-" + i * (isOpen ? ITEM_SIZE : 0) + "px)", isOpen && active && 'scale(1.3)')
|
|
18777
|
+
},
|
|
18778
|
+
onClick: function onClick() {
|
|
18779
|
+
if (isOpen) {
|
|
18780
|
+
setActiveSkinTone(skinToneVariation);
|
|
18781
|
+
focusSearchInput();
|
|
18782
|
+
} else {
|
|
18783
|
+
setIsOpen(true);
|
|
18784
|
+
}
|
|
18785
|
+
|
|
18786
|
+
closeAllOpenToggles();
|
|
18787
|
+
},
|
|
18788
|
+
key: skinToneVariation,
|
|
18789
|
+
className: clsx("epr-tone-" + skinToneVariation, 'epr-tone', (_clsx2 = {}, _clsx2[ClassNames.active] = active, _clsx2)),
|
|
18790
|
+
tabIndex: isOpen ? 0 : -1,
|
|
18791
|
+
"aria-pressed": active,
|
|
18792
|
+
"aria-label": "Skin tone " + skinTonesNamed[skinToneVariation]
|
|
18793
|
+
});
|
|
18794
|
+
})));
|
|
18795
|
+
}
|
|
18796
|
+
var SkinTonePickerDirection;
|
|
18797
|
+
|
|
18798
|
+
(function (SkinTonePickerDirection) {
|
|
18799
|
+
SkinTonePickerDirection["VERTICAL"] = "epr-vertical";
|
|
18800
|
+
SkinTonePickerDirection["HORIZONTAL"] = "epr-horizontal";
|
|
18801
|
+
})(SkinTonePickerDirection || (SkinTonePickerDirection = {}));
|
|
18802
|
+
|
|
18667
18803
|
function Preview() {
|
|
18668
18804
|
var previewConfig = usePreviewConfig();
|
|
18805
|
+
var isSkinToneInPreview = useIsSkinToneInPreview();
|
|
18806
|
+
|
|
18807
|
+
if (!previewConfig.showPreview) {
|
|
18808
|
+
return null;
|
|
18809
|
+
}
|
|
18810
|
+
|
|
18811
|
+
return React.createElement(Flex, {
|
|
18812
|
+
className: "epr-preview"
|
|
18813
|
+
}, React.createElement(PreviewBody, null), React.createElement(Space, null), isSkinToneInPreview ? React.createElement(SkinTonePickerMenu, null) : null);
|
|
18814
|
+
}
|
|
18815
|
+
function PreviewBody() {
|
|
18816
|
+
var previewConfig = usePreviewConfig();
|
|
18669
18817
|
|
|
18670
18818
|
var _useState = React.useState(null),
|
|
18671
18819
|
previewEmoji = _useState[0],
|
|
@@ -18678,16 +18826,9 @@ function Preview() {
|
|
|
18678
18826
|
|
|
18679
18827
|
var getEmojiUrl = useGetEmojiUrlConfig();
|
|
18680
18828
|
useEmojiPreviewEvents(previewConfig.showPreview, setPreviewEmoji);
|
|
18681
|
-
|
|
18682
|
-
if (!previewConfig.showPreview) {
|
|
18683
|
-
return null;
|
|
18684
|
-
}
|
|
18685
|
-
|
|
18686
18829
|
var emoji = emojiByUnified(previewEmoji == null ? void 0 : previewEmoji.originalUnified);
|
|
18687
18830
|
var show = emoji != null && previewEmoji != null;
|
|
18688
|
-
return React.createElement(
|
|
18689
|
-
className: "epr-preview"
|
|
18690
|
-
}, React.createElement(PreviewContent, null));
|
|
18831
|
+
return React.createElement(PreviewContent, null);
|
|
18691
18832
|
|
|
18692
18833
|
function PreviewContent() {
|
|
18693
18834
|
var defaultEmoji = asEmoji(variationPickerEmoji != null ? variationPickerEmoji : emojiByUnified(previewConfig.defaultEmoji));
|
|
@@ -18712,17 +18853,6 @@ function Preview() {
|
|
|
18712
18853
|
}
|
|
18713
18854
|
}
|
|
18714
18855
|
|
|
18715
|
-
function Relative(_ref) {
|
|
18716
|
-
var children = _ref.children,
|
|
18717
|
-
className = _ref.className;
|
|
18718
|
-
return React.createElement("div", {
|
|
18719
|
-
style: {
|
|
18720
|
-
position: 'relative'
|
|
18721
|
-
},
|
|
18722
|
-
className: className
|
|
18723
|
-
}, children);
|
|
18724
|
-
}
|
|
18725
|
-
|
|
18726
18856
|
function categoryNameFromDom($category) {
|
|
18727
18857
|
var _$category$getAttribu;
|
|
18728
18858
|
|
|
@@ -18831,6 +18961,18 @@ function CategoryNavigation() {
|
|
|
18831
18961
|
}));
|
|
18832
18962
|
}
|
|
18833
18963
|
|
|
18964
|
+
function SearchContainer() {
|
|
18965
|
+
var searchDisabled = useSearchDisabledConfig();
|
|
18966
|
+
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
18967
|
+
|
|
18968
|
+
if (searchDisabled) {
|
|
18969
|
+
return null;
|
|
18970
|
+
}
|
|
18971
|
+
|
|
18972
|
+
return React.createElement(Flex, {
|
|
18973
|
+
className: "epr-header-overlay"
|
|
18974
|
+
}, React.createElement(Search, null), isSkinToneInSearch ? React.createElement(SkinTonePicker, null) : null);
|
|
18975
|
+
}
|
|
18834
18976
|
function Search() {
|
|
18835
18977
|
var _useState = React.useState(0),
|
|
18836
18978
|
inc = _useState[0],
|
|
@@ -18890,65 +19032,10 @@ function CssSearch(_ref) {
|
|
|
18890
19032
|
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 ");
|
|
18891
19033
|
}
|
|
18892
19034
|
|
|
18893
|
-
function SkinTonePicker() {
|
|
18894
|
-
var SkinTonePickerRef = useSkinTonePickerRef();
|
|
18895
|
-
var isDisabled = useSkinTonesDisabledConfig();
|
|
18896
|
-
|
|
18897
|
-
var _useSkinToneFanOpenSt = useSkinToneFanOpenState(),
|
|
18898
|
-
isOpen = _useSkinToneFanOpenSt[0],
|
|
18899
|
-
setIsOpen = _useSkinToneFanOpenSt[1];
|
|
18900
|
-
|
|
18901
|
-
var _useActiveSkinToneSta = useActiveSkinToneState(),
|
|
18902
|
-
activeSkinTone = _useActiveSkinToneSta[0],
|
|
18903
|
-
setActiveSkinTone = _useActiveSkinToneSta[1];
|
|
18904
|
-
|
|
18905
|
-
var closeAllOpenToggles = useCloseAllOpenToggles();
|
|
18906
|
-
var focusSearchInput = useFocusSearchInput();
|
|
18907
|
-
|
|
18908
|
-
if (isDisabled) {
|
|
18909
|
-
return null;
|
|
18910
|
-
}
|
|
18911
|
-
|
|
18912
|
-
return React.createElement(Relative, {
|
|
18913
|
-
className: clsx('epr-skin-tones', {
|
|
18914
|
-
open: isOpen
|
|
18915
|
-
})
|
|
18916
|
-
}, React.createElement("div", {
|
|
18917
|
-
className: "epr-skin-tone-select",
|
|
18918
|
-
ref: SkinTonePickerRef
|
|
18919
|
-
}, skinToneVariations.map(function (skinToneVariation, i) {
|
|
18920
|
-
var _clsx;
|
|
18921
|
-
|
|
18922
|
-
var active = skinToneVariation === activeSkinTone;
|
|
18923
|
-
return React.createElement(Button, {
|
|
18924
|
-
style: {
|
|
18925
|
-
transform: clsx("translateX(-" + i * (isOpen ? 28 : 0) + "px)", isOpen && active && 'scale(1.3)')
|
|
18926
|
-
},
|
|
18927
|
-
onClick: function onClick() {
|
|
18928
|
-
if (isOpen) {
|
|
18929
|
-
setActiveSkinTone(skinToneVariation);
|
|
18930
|
-
focusSearchInput();
|
|
18931
|
-
} else {
|
|
18932
|
-
setIsOpen(true);
|
|
18933
|
-
}
|
|
18934
|
-
|
|
18935
|
-
closeAllOpenToggles();
|
|
18936
|
-
},
|
|
18937
|
-
key: skinToneVariation,
|
|
18938
|
-
className: clsx("epr-tone-" + skinToneVariation, 'epr-tone', (_clsx = {}, _clsx[ClassNames.active] = active, _clsx)),
|
|
18939
|
-
tabIndex: isOpen ? 0 : -1,
|
|
18940
|
-
"aria-pressed": active,
|
|
18941
|
-
"aria-label": "Skin tone " + skinTonesNamed[skinToneVariation]
|
|
18942
|
-
});
|
|
18943
|
-
})));
|
|
18944
|
-
}
|
|
18945
|
-
|
|
18946
19035
|
function Header() {
|
|
18947
19036
|
return React.createElement(Relative, {
|
|
18948
19037
|
className: "epr-header"
|
|
18949
|
-
}, React.createElement(
|
|
18950
|
-
className: "epr-header-overlay"
|
|
18951
|
-
}, React.createElement(Search, null), React.createElement(SkinTonePicker, null)), React.createElement(CategoryNavigation, null));
|
|
19038
|
+
}, React.createElement(SearchContainer, null), React.createElement(CategoryNavigation, null));
|
|
18952
19039
|
}
|
|
18953
19040
|
|
|
18954
19041
|
function getActiveElement() {
|
|
@@ -19030,12 +19117,17 @@ function useSearchInputKeyboardEvents() {
|
|
|
19030
19117
|
setSkinToneFanOpenState = _useSkinToneFanOpenSt[1];
|
|
19031
19118
|
|
|
19032
19119
|
var goDownFromSearchInput = useGoDownFromSearchInput();
|
|
19120
|
+
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
19033
19121
|
var onKeyDown = React.useMemo(function () {
|
|
19034
19122
|
return function onKeyDown(event) {
|
|
19035
19123
|
var key = event.key;
|
|
19036
19124
|
|
|
19037
19125
|
switch (key) {
|
|
19038
19126
|
case KeyboardEvents.ArrowRight:
|
|
19127
|
+
if (!isSkinToneInSearch) {
|
|
19128
|
+
return;
|
|
19129
|
+
}
|
|
19130
|
+
|
|
19039
19131
|
event.preventDefault();
|
|
19040
19132
|
setSkinToneFanOpenState(true);
|
|
19041
19133
|
focusSkinTonePicker();
|
|
@@ -19077,48 +19169,82 @@ function useSkinTonePickerKeyboardEvents() {
|
|
|
19077
19169
|
isOpen = _useSkinToneFanOpenSt2[0],
|
|
19078
19170
|
setIsOpen = _useSkinToneFanOpenSt2[1];
|
|
19079
19171
|
|
|
19172
|
+
var isSkinToneInPreview = useIsSkinToneInPreview();
|
|
19173
|
+
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
19080
19174
|
var onType = useOnType();
|
|
19081
19175
|
var onKeyDown = React.useMemo(function () {
|
|
19082
|
-
return
|
|
19083
|
-
|
|
19176
|
+
return (// eslint-disable-next-line complexity
|
|
19177
|
+
function onKeyDown(event) {
|
|
19178
|
+
var key = event.key;
|
|
19084
19179
|
|
|
19085
|
-
|
|
19086
|
-
|
|
19087
|
-
|
|
19180
|
+
if (isSkinToneInSearch) {
|
|
19181
|
+
switch (key) {
|
|
19182
|
+
case KeyboardEvents.ArrowLeft:
|
|
19183
|
+
event.preventDefault();
|
|
19088
19184
|
|
|
19089
|
-
|
|
19090
|
-
|
|
19091
|
-
|
|
19185
|
+
if (!isOpen) {
|
|
19186
|
+
return focusSearchInput();
|
|
19187
|
+
}
|
|
19092
19188
|
|
|
19093
|
-
|
|
19094
|
-
|
|
19189
|
+
focusNextSkinTone(focusSearchInput);
|
|
19190
|
+
break;
|
|
19095
19191
|
|
|
19096
|
-
|
|
19097
|
-
|
|
19192
|
+
case KeyboardEvents.ArrowRight:
|
|
19193
|
+
event.preventDefault();
|
|
19098
19194
|
|
|
19099
|
-
|
|
19100
|
-
|
|
19101
|
-
|
|
19195
|
+
if (!isOpen) {
|
|
19196
|
+
return focusSearchInput();
|
|
19197
|
+
}
|
|
19102
19198
|
|
|
19103
|
-
|
|
19104
|
-
|
|
19199
|
+
focusPrevSkinTone();
|
|
19200
|
+
break;
|
|
19105
19201
|
|
|
19106
|
-
|
|
19107
|
-
|
|
19202
|
+
case KeyboardEvents.ArrowDown:
|
|
19203
|
+
event.preventDefault();
|
|
19204
|
+
|
|
19205
|
+
if (isOpen) {
|
|
19206
|
+
setIsOpen(false);
|
|
19207
|
+
}
|
|
19208
|
+
|
|
19209
|
+
goDownFromSearchInput();
|
|
19210
|
+
break;
|
|
19108
19211
|
|
|
19109
|
-
|
|
19110
|
-
|
|
19212
|
+
default:
|
|
19213
|
+
onType(event);
|
|
19214
|
+
break;
|
|
19111
19215
|
}
|
|
19216
|
+
}
|
|
19112
19217
|
|
|
19113
|
-
|
|
19114
|
-
|
|
19218
|
+
if (isSkinToneInPreview) {
|
|
19219
|
+
switch (key) {
|
|
19220
|
+
case KeyboardEvents.ArrowUp:
|
|
19221
|
+
event.preventDefault();
|
|
19115
19222
|
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19223
|
+
if (!isOpen) {
|
|
19224
|
+
return focusSearchInput();
|
|
19225
|
+
}
|
|
19226
|
+
|
|
19227
|
+
focusNextSkinTone(focusSearchInput);
|
|
19228
|
+
break;
|
|
19229
|
+
|
|
19230
|
+
case KeyboardEvents.ArrowDown:
|
|
19231
|
+
event.preventDefault();
|
|
19232
|
+
|
|
19233
|
+
if (!isOpen) {
|
|
19234
|
+
return focusSearchInput();
|
|
19235
|
+
}
|
|
19236
|
+
|
|
19237
|
+
focusPrevSkinTone();
|
|
19238
|
+
break;
|
|
19239
|
+
|
|
19240
|
+
default:
|
|
19241
|
+
onType(event);
|
|
19242
|
+
break;
|
|
19243
|
+
}
|
|
19244
|
+
}
|
|
19119
19245
|
}
|
|
19120
|
-
|
|
19121
|
-
}, [isOpen, focusSearchInput, setIsOpen, goDownFromSearchInput, onType]);
|
|
19246
|
+
);
|
|
19247
|
+
}, [isOpen, focusSearchInput, setIsOpen, goDownFromSearchInput, onType, isSkinToneInPreview, isSkinToneInSearch]);
|
|
19122
19248
|
React.useEffect(function () {
|
|
19123
19249
|
var current = SkinTonePickerRef.current;
|
|
19124
19250
|
|