UNPKG

frc-ui

Version:

React Web UI

219 lines (218 loc) 5.25 kB
import React from 'react'; export interface BaseProps { prefix?: string; locale?: ChatLocale; channel?: string; emit?: Function; track?: Function; connect?: Function; user?: UserType; Socket?: any; callUser?: Function; success?: Function; messageTypes?: Array<string>; showAllHistory?: boolean; historyStateDate?: string; setName?: Function; } export declare type UserType = { userId: string; username: string; companyName: string; name: string; }; export declare type SendSizeType = 'default' | 'small' | undefined; export interface ProviderProps extends BaseProps { } export interface ChatProps extends ProviderProps { channel: string; tools: Array<string> | boolean; useSend: boolean; useMessage: boolean; useHeader: boolean; className?: string; sendSize: SendSizeType; } export interface ConsumerProps { isConsumer: boolean; } export declare type MessageItemType = { type: string; content: any; }; export declare enum MessageType { TEXT = "text", EMO = "emoji", IMAGE = "pasteImage", LINK = "link", HTML = "html", NEWS = "news", ELEMENT = "element", GIF = "gif", SHOW_ALL = "show_all", CUSTOM_PC = "custom_pc" } export declare enum MessageTypeEnum { CHAT = "CHAT", NEWS = "NEWS", SYSTEM_NOTICE = "SYSTEM_NOTICE" } export declare enum ChatToolEnum { EMOJI = "EMOJI", DANMAKU = "DANMAKU", CRYPTONYM = "CRYPTONYM", TREND = "TREND", SEARCH = "SEARCH" } export interface SendProps extends BaseProps { className?: string; permission?: Array<string>; isGag?: boolean; textMaxLength?: number; anonymousName?: string; isAnonymous?: boolean; fontSize?: string | number; trendType?: string; history?: boolean; emo?: any; uploadImage?: any; } export interface SendState { textLength: number; often: boolean; textSendRecord: Array<number>; } export interface SendButtonProps extends BaseProps { onClick: Function; permission?: Array<string>; } export interface SendButtonState { shortcutKey: string; } export interface ToolProps extends BaseProps { className?: string; } export interface AnonProps extends BaseProps { className?: string; isAnonymous?: boolean; permission?: Array<string>; } export interface AnonState { checked: boolean; } export interface EmojiProps extends BaseProps { className?: string; uploadEmo?: any; cEmoji?: any; removeEmoji?: any; } export interface EmojiState { show: boolean; x: number; y: number; collectEmoji: Array<string>; } export interface ContentProps extends BaseProps { className?: string; historyMessage?: any; } export interface ContentState { chatMessage: Array<any>; } export interface HeaderProps extends BaseProps { className?: string; count?: number; } export interface HeaderState { count: number; } export interface NoticeProps extends BaseProps { notice?: string; top: number; } export interface NoticeState { show: boolean; } export interface MessageTipProps extends BaseProps { message?: any; show: boolean; onClick: React.MouseEventHandler<HTMLElement>; } export interface MessageProps extends BaseProps { data: any; permission?: Array<string>; pcHasAuth?: Array<string>; pcApplyAuth?: Array<string>; } export interface LoadMoreProps extends BaseProps { start: number; startDate: string; loading: boolean; total: number; pageSize: number; } interface TrendItem { NONE: string; BULLISH: string; SHORT: string; } export interface ChatLocale { userCount: string; inputTip: Function; noChatPermissionText: string; gagText: string; oftenText: string; anonSendText: string; sendText: string; collectOftenError: string; collectFileError: string; anon: string; EnterSend: string; CtrlEnterSend: string; systemMessage: string; gagMenuText: string; unGagMenuText: string; showMore: string; loadMore: string; noLoadMore: string; trendType: TrendItem; emijione: string; image: string; } export declare enum PermissionEnum { MESSAGE_BOARD = "message_board", DANMAKU_FONT = "danmaku_font", DANMAKU_COLOR = "danmaku_color", CHAT_ROOM = "chat_room", MARKET_PREDICTION = "market_prediction", PREDICT_SCORE = "predict_scores" } export declare enum ChatPermissionEnum { DANMAKU_FONT = "danmaku_font", DANMAKU_COLOR = "danmaku_color", CHAT_ROOM = "chat_room", ANONYMOUS_PERM = "anonymous_perm", CHAT_GAG = "chat_gag", DANMAKU = "danmaku", DANMAKU_DEFAULT = "danmaku_default" } export declare enum LocalStorageKey { newsOpen = "newsOpen", isAnonymous = "isAnonymous", danmakuColor = "danmakuColor", danmakuFontSize = "danmakuFontSize", comparisonSuspension = "comparisonSuspension", shortcutKey = "shortcutKey", salesInfoSelectIndex = "salesInfoSelectIndex" } export declare enum FsType { EMO = "EMO", PASTE_IMAGE = "PASTE_IMAGE", XLSX = "XLSX" } export declare enum TrendType { NONE = "NONE", BULLISH = "BULLISH", SHORT = "SHORT" } export {};