UNPKG

@longears-mobile/rcs-client-mockup

Version:

A React smartphone preview components for RCS client mockups.

119 lines (118 loc) 2.57 kB
/// <reference types="react" /> export declare enum Sizes { Small = "sm", Medium = "md", Large = "lg" } export interface SmartphoneProps { children: React.ReactNode; time?: string; size?: Sizes; } export interface PreviewWrapperProps { children: React.ReactNode; title?: string; actions: React.ReactNode; } export interface ToggleOption { value: string; label: string; } export interface PreviewToggleProps { options: ToggleOption[]; value: string; onChange: (value: string) => void; } export declare enum Tabs { Info = "info", Options = "options" } export interface InfoScreenProps { heroImage: string; logoImage: string; title: string; description: string; phoneNumber: string; phoneLabel: string; callButtonLabel?: string; activeTab?: Tabs; onBackClick?: () => void; onTabChange?: (tab: Tabs) => void; size?: Sizes; accentColor?: string; } export interface iMessageScreenProps { children: React.ReactNode; logoImage: string; title: string; onBackClick?: () => void; size?: Sizes; } export declare enum Statuses { Sent = "sent", Delivered = "delivered", Read = "read" } export interface MessageBubbleProps { children: React.ReactNode; timestamp?: string; status?: Statuses; } export declare enum MediaTypes { Image = "image", Video = "video", Gif = "gif" } export declare enum CardTypes { Short = "short", Medium = "medium", Tall = "tall" } export declare enum AspectRatios { Wide = "16:9", Panoramic = "2:1", Long = "7:3" } export interface RichCardMedia { url: string; type: MediaTypes; height: CardTypes; aspectRatio?: AspectRatios; } export interface RichCardSuggestions { text: string; icon?: React.ReactNode; } export declare enum Layouts { Vertical = "vertical", Horizontal = "horizontal" } export declare enum MediaPositions { Left = "left", Right = "right", Top = "top" } export interface RichCardProps { title?: string; description?: string; media?: RichCardMedia; layout?: Layouts; mediaPosition?: MediaPositions; suggestions?: RichCardSuggestions[]; } export declare enum Widths { Small = "small", Medium = "medium" } export interface RichCardCarouselProps { cards: RichCardProps[]; width?: Widths; } export interface ReplyChipProps { text: string; icon?: React.ReactNode; onClick?: () => void; } export interface RepliesChipProps { replies: ReplyChipProps[]; }