diff --git a/src/CONST.js b/src/CONST.js
index 5906c18b31bd..bde54a14d0e7 100755
--- a/src/CONST.js
+++ b/src/CONST.js
@@ -492,8 +492,8 @@ const CONST = {
WIDTH: 320,
HEIGHT: 400,
},
- NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT: 300,
- EMOJI_PICKER_ITEM_HEIGHT: 40,
+ NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT: 298,
+ EMOJI_PICKER_ITEM_HEIGHT: 32,
EMOJI_PICKER_HEADER_HEIGHT: 38,
COMPOSER_MAX_HEIGHT: 125,
CHAT_FOOTER_MIN_HEIGHT: 65,
diff --git a/src/components/EmojiPicker/EmojiPickerMenu/index.js b/src/components/EmojiPicker/EmojiPickerMenu/index.js
index cee52c9b6272..0a2c2c8b1e4d 100755
--- a/src/components/EmojiPicker/EmojiPickerMenu/index.js
+++ b/src/components/EmojiPicker/EmojiPickerMenu/index.js
@@ -345,8 +345,8 @@ class EmojiPickerMenu extends Component {
let targetOffset = this.currentScrollOffset;
if (offsetAtEmojiBottom - this.currentScrollOffset >= CONST.NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT) {
targetOffset = offsetAtEmojiBottom - CONST.NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT;
- } else if (offsetAtEmojiTop - CONST.EMOJI_PICKER_ITEM_HEIGHT <= this.currentScrollOffset) {
- targetOffset = offsetAtEmojiTop - CONST.EMOJI_PICKER_ITEM_HEIGHT;
+ } else if (offsetAtEmojiTop - CONST.EMOJI_PICKER_HEADER_HEIGHT <= this.currentScrollOffset) {
+ targetOffset = offsetAtEmojiTop - CONST.EMOJI_PICKER_HEADER_HEIGHT;
}
if (targetOffset !== this.currentScrollOffset) {
// Disable pointer events so that onHover doesn't get triggered when the items move while we're scrolling
diff --git a/src/components/EmojiPicker/EmojiPickerMenuItem.js b/src/components/EmojiPicker/EmojiPickerMenuItem.js
index 929930efe27e..a0c0ab2f71d6 100644
--- a/src/components/EmojiPicker/EmojiPickerMenuItem.js
+++ b/src/components/EmojiPicker/EmojiPickerMenuItem.js
@@ -31,7 +31,6 @@ const EmojiPickerMenuItem = props => (
style={({
pressed,
}) => ([
- styles.pv1,
StyleUtils.getButtonBackgroundColorStyle(getButtonState(false, pressed)),
props.isHighlighted ? styles.emojiItemHighlighted : {},
styles.emojiItem,
diff --git a/src/components/EmojiPicker/EmojiSkinToneList.js b/src/components/EmojiPicker/EmojiSkinToneList.js
index d8efbcc0ec21..f02ee342b102 100644
--- a/src/components/EmojiPicker/EmojiSkinToneList.js
+++ b/src/components/EmojiPicker/EmojiSkinToneList.js
@@ -59,7 +59,6 @@ class EmojiSkinToneList extends Component {
() => this.setState(prev => ({isSkinToneListVisible: !prev.isSkinToneListVisible}))
}
style={[
- styles.pv1,
styles.flex1,
styles.flexRow,
styles.alignSelfCenter,
@@ -67,9 +66,11 @@ class EmojiSkinToneList extends Component {
styles.alignItemsCenter,
]}
>
-
- {selectedEmoji.code}
-
+
+
+ {selectedEmoji.code}
+
+
{this.props.translate('emojiPicker.skinTonePickerLabel')}
diff --git a/src/libs/EmojiUtils.js b/src/libs/EmojiUtils.js
index ed67a2aed1fd..0c6924f5c8c2 100644
--- a/src/libs/EmojiUtils.js
+++ b/src/libs/EmojiUtils.js
@@ -106,7 +106,9 @@ function getDynamicHeaderIndices(emojis) {
function getDynamicSpacing(emojiCount, suffix) {
const spacerEmojis = [];
let modLength = CONST.EMOJI_NUM_PER_ROW - (emojiCount % CONST.EMOJI_NUM_PER_ROW);
- while (modLength > 0) {
+
+ // Empty spaces is pushed if the given row has less than eight emojis
+ while (modLength > 0 && modLength < CONST.EMOJI_NUM_PER_ROW) {
spacerEmojis.push({
code: `${CONST.EMOJI_SPACER}_${suffix}_${modLength}`,
spacer: true,
diff --git a/src/styles/styles.js b/src/styles/styles.js
index f2d7cff023da..d8693f7812b3 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -20,6 +20,7 @@ import optionAlternateTextPlatformStyles from './optionAlternateTextPlatformStyl
import pointerEventsNone from './pointerEventsNone';
import pointerEventsAuto from './pointerEventsAuto';
import overflowXHidden from './overflowXHidden';
+import CONST from '../CONST';
const picker = {
backgroundColor: 'transparent',
@@ -1475,12 +1476,16 @@ const styles = {
fontSize: variables.emojiSize,
...spacing.pv0,
...spacing.ph0,
+ lineHeight: variables.emojiLineHeight,
},
emojiItem: {
width: '12.5%',
textAlign: 'center',
borderRadius: 8,
+ paddingTop: 2,
+ paddingBottom: 2,
+ height: CONST.EMOJI_PICKER_ITEM_HEIGHT,
},
emojiItemHighlighted: {
diff --git a/src/styles/variables.js b/src/styles/variables.js
index 785f9775eeeb..162bde9394f7 100644
--- a/src/styles/variables.js
+++ b/src/styles/variables.js
@@ -38,6 +38,7 @@ export default {
iconSizeExtraLarge: 40,
iconSizeSuperLarge: 60,
emojiSize: 20,
+ emojiLineHeight: 28,
iouAmountTextSize: 40,
mobileResponsiveWidthBreakpoint: 800,
tabletResponsiveWidthBreakpoint: 1024,