emoji-picker-react 4.3.0 → 4.4.0-rc.2
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 -1
- package/dist/config/useConfig.d.ts +3 -1
- package/dist/emoji-picker-react.cjs.development.css +4 -4
- package/dist/emoji-picker-react.cjs.development.js +252 -106
- 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 +264 -118
- 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 -1
- package/src/config/useConfig.ts +11 -0
- package/src/hooks/useKeyboardNavigation.ts +69 -26
- package/src/hooks/useShouldShowSkinTonePicker.ts +22 -0
- package/src/types/exposedTypes.ts +10 -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,7 +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',
|
|
16815
|
+
skinTonePickerLocation: SkinTonePickerLocation.SEARCH,
|
|
16802
16816
|
skinTonesDisabled: false,
|
|
16803
16817
|
suggestedEmojisMode: exports.SuggestionMode.FREQUENT,
|
|
16804
16818
|
theme: exports.Theme.LIGHT,
|
|
@@ -16911,9 +16925,21 @@ function useEmojiVersionConfig() {
|
|
|
16911
16925
|
|
|
16912
16926
|
return emojiVersion;
|
|
16913
16927
|
}
|
|
16914
|
-
function
|
|
16928
|
+
function useSearchDisabledConfig() {
|
|
16915
16929
|
var _usePickerConfig14 = usePickerConfig(),
|
|
16916
|
-
|
|
16930
|
+
searchDisabled = _usePickerConfig14.searchDisabled;
|
|
16931
|
+
|
|
16932
|
+
return searchDisabled;
|
|
16933
|
+
}
|
|
16934
|
+
function useSkinTonePickerLocationConfig() {
|
|
16935
|
+
var _usePickerConfig15 = usePickerConfig(),
|
|
16936
|
+
skinTonePickerLocation = _usePickerConfig15.skinTonePickerLocation;
|
|
16937
|
+
|
|
16938
|
+
return skinTonePickerLocation;
|
|
16939
|
+
}
|
|
16940
|
+
function useGetEmojiUrlConfig() {
|
|
16941
|
+
var _usePickerConfig16 = usePickerConfig(),
|
|
16942
|
+
getEmojiUrl = _usePickerConfig16.getEmojiUrl;
|
|
16917
16943
|
|
|
16918
16944
|
return getEmojiUrl;
|
|
16919
16945
|
}
|
|
@@ -18624,6 +18650,15 @@ function useEmojiPreviewEvents(allow, setPreviewEmoji) {
|
|
|
18624
18650
|
}, [BodyRef, allow, setPreviewEmoji, isMouseDisallowed, allowMouseMove]);
|
|
18625
18651
|
}
|
|
18626
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
|
+
|
|
18627
18662
|
var FlexDirection;
|
|
18628
18663
|
|
|
18629
18664
|
(function (FlexDirection) {
|
|
@@ -18644,8 +18679,141 @@ function Flex(_ref) {
|
|
|
18644
18679
|
}, children);
|
|
18645
18680
|
}
|
|
18646
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
|
+
|
|
18647
18803
|
function Preview() {
|
|
18648
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();
|
|
18649
18817
|
|
|
18650
18818
|
var _useState = React.useState(null),
|
|
18651
18819
|
previewEmoji = _useState[0],
|
|
@@ -18658,16 +18826,9 @@ function Preview() {
|
|
|
18658
18826
|
|
|
18659
18827
|
var getEmojiUrl = useGetEmojiUrlConfig();
|
|
18660
18828
|
useEmojiPreviewEvents(previewConfig.showPreview, setPreviewEmoji);
|
|
18661
|
-
|
|
18662
|
-
if (!previewConfig.showPreview) {
|
|
18663
|
-
return null;
|
|
18664
|
-
}
|
|
18665
|
-
|
|
18666
18829
|
var emoji = emojiByUnified(previewEmoji == null ? void 0 : previewEmoji.originalUnified);
|
|
18667
18830
|
var show = emoji != null && previewEmoji != null;
|
|
18668
|
-
return React.createElement(
|
|
18669
|
-
className: "epr-preview"
|
|
18670
|
-
}, React.createElement(PreviewContent, null));
|
|
18831
|
+
return React.createElement(PreviewContent, null);
|
|
18671
18832
|
|
|
18672
18833
|
function PreviewContent() {
|
|
18673
18834
|
var defaultEmoji = asEmoji(variationPickerEmoji != null ? variationPickerEmoji : emojiByUnified(previewConfig.defaultEmoji));
|
|
@@ -18692,17 +18853,6 @@ function Preview() {
|
|
|
18692
18853
|
}
|
|
18693
18854
|
}
|
|
18694
18855
|
|
|
18695
|
-
function Relative(_ref) {
|
|
18696
|
-
var children = _ref.children,
|
|
18697
|
-
className = _ref.className;
|
|
18698
|
-
return React.createElement("div", {
|
|
18699
|
-
style: {
|
|
18700
|
-
position: 'relative'
|
|
18701
|
-
},
|
|
18702
|
-
className: className
|
|
18703
|
-
}, children);
|
|
18704
|
-
}
|
|
18705
|
-
|
|
18706
18856
|
function categoryNameFromDom($category) {
|
|
18707
18857
|
var _$category$getAttribu;
|
|
18708
18858
|
|
|
@@ -18811,6 +18961,18 @@ function CategoryNavigation() {
|
|
|
18811
18961
|
}));
|
|
18812
18962
|
}
|
|
18813
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
|
+
}
|
|
18814
18976
|
function Search() {
|
|
18815
18977
|
var _useState = React.useState(0),
|
|
18816
18978
|
inc = _useState[0],
|
|
@@ -18870,65 +19032,10 @@ function CssSearch(_ref) {
|
|
|
18870
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 ");
|
|
18871
19033
|
}
|
|
18872
19034
|
|
|
18873
|
-
function SkinTonePicker() {
|
|
18874
|
-
var SkinTonePickerRef = useSkinTonePickerRef();
|
|
18875
|
-
var isDisabled = useSkinTonesDisabledConfig();
|
|
18876
|
-
|
|
18877
|
-
var _useSkinToneFanOpenSt = useSkinToneFanOpenState(),
|
|
18878
|
-
isOpen = _useSkinToneFanOpenSt[0],
|
|
18879
|
-
setIsOpen = _useSkinToneFanOpenSt[1];
|
|
18880
|
-
|
|
18881
|
-
var _useActiveSkinToneSta = useActiveSkinToneState(),
|
|
18882
|
-
activeSkinTone = _useActiveSkinToneSta[0],
|
|
18883
|
-
setActiveSkinTone = _useActiveSkinToneSta[1];
|
|
18884
|
-
|
|
18885
|
-
var closeAllOpenToggles = useCloseAllOpenToggles();
|
|
18886
|
-
var focusSearchInput = useFocusSearchInput();
|
|
18887
|
-
|
|
18888
|
-
if (isDisabled) {
|
|
18889
|
-
return null;
|
|
18890
|
-
}
|
|
18891
|
-
|
|
18892
|
-
return React.createElement(Relative, {
|
|
18893
|
-
className: clsx('epr-skin-tones', {
|
|
18894
|
-
open: isOpen
|
|
18895
|
-
})
|
|
18896
|
-
}, React.createElement("div", {
|
|
18897
|
-
className: "epr-skin-tone-select",
|
|
18898
|
-
ref: SkinTonePickerRef
|
|
18899
|
-
}, skinToneVariations.map(function (skinToneVariation, i) {
|
|
18900
|
-
var _clsx;
|
|
18901
|
-
|
|
18902
|
-
var active = skinToneVariation === activeSkinTone;
|
|
18903
|
-
return React.createElement(Button, {
|
|
18904
|
-
style: {
|
|
18905
|
-
transform: clsx("translateX(-" + i * (isOpen ? 28 : 0) + "px)", isOpen && active && 'scale(1.3)')
|
|
18906
|
-
},
|
|
18907
|
-
onClick: function onClick() {
|
|
18908
|
-
if (isOpen) {
|
|
18909
|
-
setActiveSkinTone(skinToneVariation);
|
|
18910
|
-
focusSearchInput();
|
|
18911
|
-
} else {
|
|
18912
|
-
setIsOpen(true);
|
|
18913
|
-
}
|
|
18914
|
-
|
|
18915
|
-
closeAllOpenToggles();
|
|
18916
|
-
},
|
|
18917
|
-
key: skinToneVariation,
|
|
18918
|
-
className: clsx("epr-tone-" + skinToneVariation, 'epr-tone', (_clsx = {}, _clsx[ClassNames.active] = active, _clsx)),
|
|
18919
|
-
tabIndex: isOpen ? 0 : -1,
|
|
18920
|
-
"aria-pressed": active,
|
|
18921
|
-
"aria-label": "Skin tone " + skinTonesNamed[skinToneVariation]
|
|
18922
|
-
});
|
|
18923
|
-
})));
|
|
18924
|
-
}
|
|
18925
|
-
|
|
18926
19035
|
function Header() {
|
|
18927
19036
|
return React.createElement(Relative, {
|
|
18928
19037
|
className: "epr-header"
|
|
18929
|
-
}, React.createElement(
|
|
18930
|
-
className: "epr-header-overlay"
|
|
18931
|
-
}, React.createElement(Search, null), React.createElement(SkinTonePicker, null)), React.createElement(CategoryNavigation, null));
|
|
19038
|
+
}, React.createElement(SearchContainer, null), React.createElement(CategoryNavigation, null));
|
|
18932
19039
|
}
|
|
18933
19040
|
|
|
18934
19041
|
function getActiveElement() {
|
|
@@ -19010,12 +19117,17 @@ function useSearchInputKeyboardEvents() {
|
|
|
19010
19117
|
setSkinToneFanOpenState = _useSkinToneFanOpenSt[1];
|
|
19011
19118
|
|
|
19012
19119
|
var goDownFromSearchInput = useGoDownFromSearchInput();
|
|
19120
|
+
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
19013
19121
|
var onKeyDown = React.useMemo(function () {
|
|
19014
19122
|
return function onKeyDown(event) {
|
|
19015
19123
|
var key = event.key;
|
|
19016
19124
|
|
|
19017
19125
|
switch (key) {
|
|
19018
19126
|
case KeyboardEvents.ArrowRight:
|
|
19127
|
+
if (!isSkinToneInSearch) {
|
|
19128
|
+
return;
|
|
19129
|
+
}
|
|
19130
|
+
|
|
19019
19131
|
event.preventDefault();
|
|
19020
19132
|
setSkinToneFanOpenState(true);
|
|
19021
19133
|
focusSkinTonePicker();
|
|
@@ -19057,48 +19169,82 @@ function useSkinTonePickerKeyboardEvents() {
|
|
|
19057
19169
|
isOpen = _useSkinToneFanOpenSt2[0],
|
|
19058
19170
|
setIsOpen = _useSkinToneFanOpenSt2[1];
|
|
19059
19171
|
|
|
19172
|
+
var isSkinToneInPreview = useIsSkinToneInPreview();
|
|
19173
|
+
var isSkinToneInSearch = useIsSkinToneInSearch();
|
|
19060
19174
|
var onType = useOnType();
|
|
19061
19175
|
var onKeyDown = React.useMemo(function () {
|
|
19062
|
-
return
|
|
19063
|
-
|
|
19176
|
+
return (// eslint-disable-next-line complexity
|
|
19177
|
+
function onKeyDown(event) {
|
|
19178
|
+
var key = event.key;
|
|
19064
19179
|
|
|
19065
|
-
|
|
19066
|
-
|
|
19067
|
-
|
|
19180
|
+
if (isSkinToneInSearch) {
|
|
19181
|
+
switch (key) {
|
|
19182
|
+
case KeyboardEvents.ArrowLeft:
|
|
19183
|
+
event.preventDefault();
|
|
19068
19184
|
|
|
19069
|
-
|
|
19070
|
-
|
|
19071
|
-
|
|
19185
|
+
if (!isOpen) {
|
|
19186
|
+
return focusSearchInput();
|
|
19187
|
+
}
|
|
19072
19188
|
|
|
19073
|
-
|
|
19074
|
-
|
|
19189
|
+
focusNextSkinTone(focusSearchInput);
|
|
19190
|
+
break;
|
|
19075
19191
|
|
|
19076
|
-
|
|
19077
|
-
|
|
19192
|
+
case KeyboardEvents.ArrowRight:
|
|
19193
|
+
event.preventDefault();
|
|
19078
19194
|
|
|
19079
|
-
|
|
19080
|
-
|
|
19081
|
-
|
|
19195
|
+
if (!isOpen) {
|
|
19196
|
+
return focusSearchInput();
|
|
19197
|
+
}
|
|
19082
19198
|
|
|
19083
|
-
|
|
19084
|
-
|
|
19199
|
+
focusPrevSkinTone();
|
|
19200
|
+
break;
|
|
19085
19201
|
|
|
19086
|
-
|
|
19087
|
-
|
|
19202
|
+
case KeyboardEvents.ArrowDown:
|
|
19203
|
+
event.preventDefault();
|
|
19204
|
+
|
|
19205
|
+
if (isOpen) {
|
|
19206
|
+
setIsOpen(false);
|
|
19207
|
+
}
|
|
19208
|
+
|
|
19209
|
+
goDownFromSearchInput();
|
|
19210
|
+
break;
|
|
19088
19211
|
|
|
19089
|
-
|
|
19090
|
-
|
|
19212
|
+
default:
|
|
19213
|
+
onType(event);
|
|
19214
|
+
break;
|
|
19091
19215
|
}
|
|
19216
|
+
}
|
|
19092
19217
|
|
|
19093
|
-
|
|
19094
|
-
|
|
19218
|
+
if (isSkinToneInPreview) {
|
|
19219
|
+
switch (key) {
|
|
19220
|
+
case KeyboardEvents.ArrowUp:
|
|
19221
|
+
event.preventDefault();
|
|
19095
19222
|
|
|
19096
|
-
|
|
19097
|
-
|
|
19098
|
-
|
|
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
|
+
}
|
|
19099
19245
|
}
|
|
19100
|
-
|
|
19101
|
-
}, [isOpen, focusSearchInput, setIsOpen, goDownFromSearchInput, onType]);
|
|
19246
|
+
);
|
|
19247
|
+
}, [isOpen, focusSearchInput, setIsOpen, goDownFromSearchInput, onType, isSkinToneInPreview, isSkinToneInSearch]);
|
|
19102
19248
|
React.useEffect(function () {
|
|
19103
19249
|
var current = SkinTonePickerRef.current;
|
|
19104
19250
|
|