2018-03-28 21:30:47 +00:00
|
|
|
import PropTypes from 'prop-types'
|
|
|
|
|
|
|
|
const EmojiPropTypes = {
|
|
|
|
data: PropTypes.object.isRequired,
|
|
|
|
onOver: PropTypes.func,
|
|
|
|
onLeave: PropTypes.func,
|
|
|
|
onClick: PropTypes.func,
|
|
|
|
fallback: PropTypes.func,
|
|
|
|
backgroundImageFn: PropTypes.func,
|
|
|
|
native: PropTypes.bool,
|
|
|
|
forceSize: PropTypes.bool,
|
|
|
|
tooltip: PropTypes.bool,
|
2020-03-16 15:44:02 +00:00
|
|
|
useButton: PropTypes.bool,
|
2018-03-28 21:30:47 +00:00
|
|
|
skin: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),
|
|
|
|
sheetSize: PropTypes.oneOf([16, 20, 32, 64]),
|
2018-08-06 21:31:02 +00:00
|
|
|
sheetColumns: PropTypes.number,
|
|
|
|
sheetRows: PropTypes.number,
|
2020-01-26 18:23:41 +00:00
|
|
|
set: PropTypes.oneOf(['apple', 'google', 'twitter', 'facebook']),
|
2018-03-28 21:30:47 +00:00
|
|
|
size: PropTypes.number.isRequired,
|
|
|
|
emoji: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,
|
|
|
|
}
|
|
|
|
|
|
|
|
const PickerPropTypes = {
|
|
|
|
onClick: PropTypes.func,
|
2018-04-30 14:41:31 +00:00
|
|
|
onSelect: PropTypes.func,
|
2018-03-28 21:30:47 +00:00
|
|
|
onSkinChange: PropTypes.func,
|
|
|
|
perLine: PropTypes.number,
|
|
|
|
emojiSize: PropTypes.number,
|
|
|
|
i18n: PropTypes.object,
|
|
|
|
style: PropTypes.object,
|
|
|
|
title: PropTypes.string,
|
|
|
|
emoji: PropTypes.string,
|
|
|
|
color: PropTypes.string,
|
|
|
|
set: EmojiPropTypes.set,
|
|
|
|
skin: EmojiPropTypes.skin,
|
|
|
|
native: PropTypes.bool,
|
|
|
|
backgroundImageFn: EmojiPropTypes.backgroundImageFn,
|
|
|
|
sheetSize: EmojiPropTypes.sheetSize,
|
|
|
|
emojisToShowFilter: PropTypes.func,
|
|
|
|
showPreview: PropTypes.bool,
|
|
|
|
showSkinTones: PropTypes.bool,
|
|
|
|
emojiTooltip: EmojiPropTypes.tooltip,
|
2020-03-16 15:44:02 +00:00
|
|
|
useButton: EmojiPropTypes.useButton,
|
2020-03-16 17:45:59 +00:00
|
|
|
theme: PropTypes.oneOf(['auto', 'light', 'dark']),
|
2018-03-28 21:30:47 +00:00
|
|
|
include: PropTypes.arrayOf(PropTypes.string),
|
|
|
|
exclude: PropTypes.arrayOf(PropTypes.string),
|
|
|
|
recent: PropTypes.arrayOf(PropTypes.string),
|
|
|
|
autoFocus: PropTypes.bool,
|
2020-03-16 15:08:13 +00:00
|
|
|
enableFrequentEmojiSort: PropTypes.bool,
|
2018-03-28 21:30:47 +00:00
|
|
|
custom: PropTypes.arrayOf(
|
|
|
|
PropTypes.shape({
|
|
|
|
name: PropTypes.string.isRequired,
|
|
|
|
short_names: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
|
|
emoticons: PropTypes.arrayOf(PropTypes.string),
|
|
|
|
keywords: PropTypes.arrayOf(PropTypes.string),
|
2019-03-15 00:47:38 +00:00
|
|
|
imageUrl: PropTypes.string,
|
|
|
|
spriteUrl: PropTypes.string,
|
|
|
|
sheet_x: PropTypes.number,
|
|
|
|
sheet_y: PropTypes.number,
|
|
|
|
size: PropTypes.number,
|
|
|
|
sheetColumns: PropTypes.number,
|
|
|
|
sheetRows: PropTypes.number,
|
2018-04-26 14:36:54 +00:00
|
|
|
}),
|
2018-03-28 21:30:47 +00:00
|
|
|
),
|
2018-08-10 18:11:28 +00:00
|
|
|
skinEmoji: PropTypes.string,
|
2018-06-21 15:56:40 +00:00
|
|
|
notFound: PropTypes.func,
|
2018-07-30 21:06:23 +00:00
|
|
|
notFoundEmoji: PropTypes.string,
|
2018-06-22 21:23:42 +00:00
|
|
|
icons: PropTypes.object,
|
2018-03-28 21:30:47 +00:00
|
|
|
}
|
|
|
|
|
2018-12-18 19:24:52 +00:00
|
|
|
export { EmojiPropTypes, PickerPropTypes }
|