import { ThemeTypesModel } from '../../Themes/theme_types'; import { Descendant } from 'slate'; import { Size, Color, stickerOptions } from '../../types'; type availableSize = Size; type availableColor = Color.green | Color.blue | Color.dark; type panelPosition = 'top' | 'bottom'; export interface StateContextOptions { dayTime: 'light' | 'dark'; isInverse: boolean; size: availableSize; color: availableColor; isDisabled: boolean; isError: boolean; isResponsive: boolean; } export interface formatOptions { bold?: boolean; italic?: boolean; underline?: boolean; strike?: boolean; 'text-color'?: boolean; 'background-color'?: boolean; 'heading-one'?: boolean; 'heading-two'?: boolean; 'heading-three'?: boolean; superscript?: boolean; subscript?: boolean; 'bulleted-list'?: boolean; 'numbered-list'?: boolean; left?: boolean; center?: boolean; right?: boolean; stickerOptions?: stickerOptions; hyperLink?: boolean; quote?: boolean; 'clear-formatting'?: boolean; } export interface RTEProps { size?: availableSize; color?: availableColor; panelPosition?: panelPosition; errorState?: 'default' | 'focus out'; content?: Descendant[]; isResponsive?: boolean; mobileToolsTitle?: string; isDisabled?: boolean; height?: string; isInverse?: boolean; placeholder?: string; isError?: boolean; theme?: ThemeTypesModel; className?: string; stickerOptions?: stickerOptions; formatOptions?: formatOptions; onChange?: (val: Descendant[]) => void; } export interface RTEContainerProps { state: StateContextOptions; styles: styledMapScheme; panelPosition: panelPosition; isFocused: boolean; heightProp: string; active: boolean; isError: boolean; } export interface PlaceholderProps { state: StateContextOptions; styles: styledMapScheme; } export interface dayTime { editor: { bgColor: string; fontColor: string; placeholderColor: string; border: { default: string; active: string; error: string; }; }; } export interface sizeItem { editorPadding: number; } export interface styledMapScheme { style: { light: dayTime; dark: dayTime; }; size: { s: sizeItem; m: sizeItem; l: sizeItem; }; } export {};