UNPKG

@sendbird/uikit-react

Version:

Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

108 lines (107 loc) 2.87 kB
import { ComponentsUnion } from '@sendbird/uikit-message-template'; type SendbirdFontWeight = 'bold' | 'normal'; /** * The value of each theme property contains both light and dark value with comma separated string * ex) * { * ... * backgroundColor: "#800000FF, #20FFFFTT" // lgiht , dark with ARGB 8-digit hexacode * .... * } * */ export type MessageTemplateTheme = { key: string; notification: { backgroundColor: string; label?: { textColor: string; textSize: number; fontWeight?: SendbirdFontWeight; }; category?: { textColor: string; textSize: number; fontWeight?: SendbirdFontWeight; }; pressedColor: string; radius: number; sentAt: { textColor: string; textSize: number; fontWeight?: SendbirdFontWeight; }; unreadIndicatorColor: string; }; list: { backgroundColor: string; category: { textSize: number; fontWeight: SendbirdFontWeight; radius: number; backgroundColor: string; textColor: string; selectedBackgroundColor: string; selectedTextColor: string; }; timeline: { backgroundColor: string; textColor: string; textSize?: number; fontWeight?: SendbirdFontWeight; }; tooltip: { backgroundColor: string; textColor: string; textSize?: number; fontWeight?: SendbirdFontWeight; }; }; header: { backgroundColor: string; buttonIconTintColor: string; lineColor: string; textColor: string; textSize: number; fontWeight?: SendbirdFontWeight; }; components?: { text: { textColor: string; }; textButton: { textColor: string; backgroundColor: string; radius: number; }; }; }; export type MessageTemplateItem = ComponentsUnion['properties']; export type MessageTemplateData = SimpleTemplateData & { view_variables?: Record<string, SimpleTemplateData[]>; container_options?: { profile?: boolean; time?: boolean; nickname?: boolean; }; }; export type TemplateType = 'default'; export type SimpleTemplateData = { type?: TemplateType; key: string; variables?: Record<string, any>; }; export interface SendbirdUiTemplate { version: number; body: { items: MessageTemplateItem[]; }; } export type SendbirdMessageTemplate = { key: string; created_at: number; updated_at: number; ui_template: SendbirdUiTemplate; name?: string; color_variables?: Record<string, string>; }; export {};