UNPKG

core-cde

Version:

122 lines (121 loc) 4.21 kB
import { TextUnWrappingAction, TextWrappingAction } from '../actions/Text.actions'; import { BaseWidget, BaseWidgetJSON } from '../BaseWidget'; import { State } from '../State'; import { TypeComponent } from '../TypeComponent'; export declare enum ETextSize { s14px = "14", s16px = "16", s18px = "18", s20px = "20", s22px = "22", s24px = "24", s26px = "26", s28px = "28", s30px = "30", s32px = "32", s34px = "34", s36px = "36", s38px = "38", s40px = "40" } export declare enum ETextAlign { left = "left", center = "center", right = "right", justify = "justify" } export declare enum ETextStyl { bold = "bold", italic = "italic", underline = "underline", strikethrough = "strikethrough", inlineCode = "inlineCode" } export declare enum ETextColor { black = "black", red = "red", green = "green", orange = "orange", blue = "blue", yellow = "yellow", orangeDark = "orangeDark", yellowDark = "yellowDark", purpleDark = "purpleDark", pinkDark = "pinkDark", grayDark = "grayDark", redDark = "redDark" } export declare enum ETextBgColor { bgRed = "bgRed", bgBlue = "bgBlue", bgGreen = "bgGreen", bgOrange = "bgOrange", bgYellow = "bgYellow", bgRedDark = "bgRedDark", bgOrangeDark = "bgOrangeDark", bgYellowDark = "bgYellowDark", bgPurpleDark = "bgPurpleDark", bgPinkDark = "bgPinkDark", bgGrayDark = "bgGrayDark" } export declare class ListStyle { position: [number, number]; style: ETextStyl[]; } export interface TextJSON extends BaseWidgetJSON { textAlign: ETextAlign; value: string; styles: ListStyle[]; } export declare class Text extends BaseWidget { textAlign: ETextAlign; value: string; valueHTML: string; styles: ListStyle[]; selection: [number, number]; constructor(type: TypeComponent, id: string); /** * Получить объект класса Text из json * @param json валидная json строка * @returns объект класса Text */ static fromJSON(json: string): Text; /** * Получить объект для сериализации * @returns Объект для сериализации */ toJSON(): TextJSON; /** * Пересчитать позиции стилей * @param text Текст * @param listStyle Список стилей для текста * @returns Пересчитанный список стилей */ recPositions(text: string, listStyle: ListStyle[]): ListStyle[]; applyStyles(): void; private replaceInRange; /** * Получить из массива символов со стилями список стилей * @param posCharStyl массив позиций символов со стилями * @returns список стилей */ static groupPosByStyle(posCharStyl: ETextStyl[][]): ListStyle[]; /** * Разбиваем текст на позиции со своими стилями * @param text Текст * @param listStyle Стили текста * @returns Массив стилей для каждого символа */ static getPosCharStl(text: string, listStyle: ListStyle[]): ETextStyl[][]; /** * Добавить стиль к массиву символов со стилями * @param listTextStyl массив позиций символов и их стили * @param position позиция вставки символов * @param style стиль * @returns массив позиций символов со стилями */ static addStyle(listTextStyl: ETextStyl[][], position: [number, number], style: ETextStyl): ETextStyl[][]; static composeUnWrapAction(widgetId: string, store: any): TextUnWrappingAction; static composeWrapAction(newIdWidget: string, position: number, widgetId: string, store: any): TextWrappingAction; static isText(state: State): boolean; }