Declare aliases for most literal union types

This commit is contained in:
Diogo Franco (Kovensky)
2017-11-13 17:30:15 +09:00
parent 2b83c00b57
commit c84389c360
6 changed files with 24 additions and 16 deletions
+3 -1
View File
@@ -1,9 +1,11 @@
import React = require('react');
import { EmojiData } from '..';
import { Emoji, EmojiProps, I18n } from '.';
export interface Props {
emojis?: Array<EmojiProps["emoji"]>;
emojis?: Array<string|EmojiData>;
hasStickyPosition?: boolean;
name: string;
native: boolean;
+9 -5
View File
@@ -1,22 +1,26 @@
import React = require('react');
import { EmojiData } from '..';
import { EmojiData, EmojiSkin } from '..';
export type BackgroundImageFn = (set: EmojiSet, sheetSize: EmojiSheetSize) => string;
export type EmojiSet = 'apple'|'google'|'twitter'|'emojione'|'messenger'|'facebook';
export type EmojiSheetSize = 16|20|32|64;
export interface Props {
onOver?(emoji: EmojiData, e: React.MouseEvent<HTMLElement>): void;
onLeave?(emoji: EmojiData, e: React.MouseEvent<HTMLElement>): void;
onClick?(emoji: EmojiData, e: React.MouseEvent<HTMLElement>): void;
/** defaults to returning a png from unpkg.com-hosted emoji-datasource-${set} */
backgroundImageFn?(set: 'apple'|'google'|'twitter'|'emojione'|'messenger'|'facebook', sheetSize: 16|20|32|64): string;
backgroundImageFn?: BackgroundImageFn;
native?: boolean;
forceSize?: boolean;
tooltip?: boolean;
/** defaults to 1 */
skin?: 1|2|3|4|5|6;
skin?: EmojiSkin;
/** defaults to 64 */
sheetSize?: 16|20|32|64;
sheetSize?: EmojiSheetSize;
/** defaults to 'apple' */
set?: 'apple'|'google'|'twitter'|'emojione'|'messenger'|'facebook';
set?: EmojiSet;
size: number;
emoji: string|EmojiData;
}
+1 -1
View File
@@ -1,4 +1,4 @@
// The other exports on the components folder are not public API
export { default as Category, Props as CategoryProps } from './category';
export { default as Emoji, Props as EmojiProps } from './emoji';
export { default as Emoji, Props as EmojiProps, BackgroundImageFn, EmojiSet, EmojiSheetSize } from './emoji';
export { default as Picker, Props as PickerProps, I18n, PartialI18n, CustomEmoji } from './picker';
+7 -7
View File
@@ -1,8 +1,8 @@
import React = require('react');
import { EmojiData } from '..';
import { EmojiData, EmojiSkin } from '..';
import { Category, Emoji, EmojiProps } from '.';
import { Category, Emoji, EmojiProps, BackgroundImageFn, EmojiSet, EmojiSheetSize } from '.';
// tslint:disable-next-line interface-name
export interface I18n {
@@ -33,14 +33,14 @@ export interface Props {
title?: string;
emoji?: string;
color?: string;
set?: EmojiProps['set'];
skin?: EmojiProps['skin'];
set?: EmojiSet;
skin?: EmojiSkin;
native?: boolean;
backgroundImageFn?: EmojiProps['backgroundImageFn'];
sheetSize?: EmojiProps['sheetSize'];
backgroundImageFn?: BackgroundImageFn;
sheetSize?: EmojiSheetSize;
emojisToShowFilter?(emoji: EmojiData): boolean;
showPreview?: boolean;
emojiTooltip?: EmojiProps['tooltip'];
emojiTooltip?: boolean;
include?: string[];
exclude?: string[];
recent?: string[];
+1 -1
View File
@@ -1,4 +1,4 @@
export { default as emojiIndex, EmojiData } from './utils/emoji-index';
export { default as emojiIndex, EmojiData, EmojiSkin } from './utils/emoji-index';
export { default as store, StoreHandlers } from './utils/store';
export { default as frequently } from './utils/frequently';
+3 -1
View File
@@ -1,3 +1,5 @@
export type EmojiSkin = 1|2|3|4|5|6;
export interface EmojiData {
id: string;
name: string;
@@ -5,7 +7,7 @@ export interface EmojiData {
/** Reverse mapping to keyof emoticons */
emoticons: string[];
unified: string;
skin: 1|2|3|4|5|6|null;
skin: EmojiSkin|null;
native: string;
}