emoji-picker-react 4.20.5 → 4.20.6
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/dist/emoji-picker-react.cjs.development.js +42 -31
- 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 +42 -31
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/body/EmojiList.tsx +16 -4
|
@@ -29692,50 +29692,61 @@ function EmojiList(_ref) {
|
|
|
29692
29692
|
// native button role for activation semantics.
|
|
29693
29693
|
// https://github.com/ealush/emoji-picker-react/issues/508
|
|
29694
29694
|
// The list markup is kept for a backwards-compatible DOM structure;
|
|
29695
|
-
// the grid role override is intentional
|
|
29696
|
-
|
|
29697
|
-
|
|
29698
|
-
|
|
29699
|
-
|
|
29700
|
-
|
|
29701
|
-
|
|
29702
|
-
|
|
29703
|
-
|
|
29704
|
-
|
|
29705
|
-
|
|
29706
|
-
|
|
29707
|
-
|
|
29708
|
-
|
|
29709
|
-
|
|
29710
|
-
|
|
29711
|
-
|
|
29712
|
-
|
|
29713
|
-
|
|
29714
|
-
|
|
29715
|
-
|
|
29716
|
-
|
|
29717
|
-
|
|
29718
|
-
|
|
29719
|
-
|
|
29720
|
-
|
|
29721
|
-
|
|
29722
|
-
|
|
29723
|
-
|
|
29695
|
+
// the grid role override is intentional.
|
|
29696
|
+
return (
|
|
29697
|
+
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
|
|
29698
|
+
React.createElement("ul", {
|
|
29699
|
+
className: shipstyles.cx(styles$8.emojiList),
|
|
29700
|
+
ref: EmojiListRef,
|
|
29701
|
+
role: "grid"
|
|
29702
|
+
}, React.createElement(MeasureEmoji, null), categories.map(function (categoryConfig, index) {
|
|
29703
|
+
var category = categoryFromCategoryConfig(categoryConfig);
|
|
29704
|
+
var currentOffset = topOffset;
|
|
29705
|
+
var categoryHeight = categoryHeights[category];
|
|
29706
|
+
if (categoryHeight) {
|
|
29707
|
+
topOffset += categoryHeight + labelHeight;
|
|
29708
|
+
}
|
|
29709
|
+
return React.createElement(RenderCategory, {
|
|
29710
|
+
key: category,
|
|
29711
|
+
categoryEmojis: getEmojisByCategory(category),
|
|
29712
|
+
categoryConfig: categoryConfig,
|
|
29713
|
+
topOffset: currentOffset,
|
|
29714
|
+
isFirstCategory: index === 0,
|
|
29715
|
+
onHeightReady: function onHeightReady(height) {
|
|
29716
|
+
if (categoryHeights[category] !== height) {
|
|
29717
|
+
setCategoryHeights(function (prev) {
|
|
29718
|
+
var _extends2;
|
|
29719
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[category] = height, _extends2));
|
|
29720
|
+
});
|
|
29721
|
+
}
|
|
29722
|
+
},
|
|
29723
|
+
scrollTop: scrollTop
|
|
29724
|
+
});
|
|
29725
|
+
}))
|
|
29726
|
+
);
|
|
29724
29727
|
}
|
|
29725
29728
|
function RenderCategory(_ref2) {
|
|
29726
29729
|
var categoryEmojis = _ref2.categoryEmojis,
|
|
29727
29730
|
categoryConfig = _ref2.categoryConfig,
|
|
29728
29731
|
topOffset = _ref2.topOffset,
|
|
29729
29732
|
onHeightReady = _ref2.onHeightReady,
|
|
29730
|
-
scrollTop = _ref2.scrollTop
|
|
29733
|
+
scrollTop = _ref2.scrollTop,
|
|
29734
|
+
isFirstCategory = _ref2.isFirstCategory;
|
|
29731
29735
|
var _useVisibleCategories = useVisibleCategoriesState(),
|
|
29732
29736
|
visibleCategories = _useVisibleCategories[0];
|
|
29737
|
+
// The observer is the only writer of visibleCategories. When it never
|
|
29738
|
+
// fires (zero-height container at mount, hidden modal), no category
|
|
29739
|
+
// would ever render. The first category paints optimistically to break
|
|
29740
|
+
// the deadlock; the observer takes over from there.
|
|
29741
|
+
// https://github.com/ealush/emoji-picker-react/issues/469
|
|
29742
|
+
// https://github.com/ealush/emoji-picker-react/issues/475
|
|
29743
|
+
var isCategoryVisible = isFirstCategory || visibleCategories.includes(categoryConfig.category);
|
|
29733
29744
|
var _useEmojiVirtualizati = useEmojiVirtualization({
|
|
29734
29745
|
categoryEmojis: categoryEmojis,
|
|
29735
29746
|
topOffset: topOffset,
|
|
29736
29747
|
onHeightReady: onHeightReady,
|
|
29737
29748
|
scrollTop: scrollTop,
|
|
29738
|
-
isCategoryVisible:
|
|
29749
|
+
isCategoryVisible: isCategoryVisible
|
|
29739
29750
|
}),
|
|
29740
29751
|
virtualizedCounter = _useEmojiVirtualizati.virtualizedCounter,
|
|
29741
29752
|
emojis = _useEmojiVirtualizati.emojis,
|