@aurigma/design-atoms-interfaces
Version:
45 lines (44 loc) • 2.22 kB
TypeScript
import { IBaseTextItemData } from "./IBaseTextItemData";
import { IParagraphSettingsData } from "./IParagraphSettingsData";
import { OverflowStrategy } from "./OverflowStrategy";
import { ShrinkMode } from "./ShrinkMode";
import { VerticalAlignmentType } from "./VerticalAlignmentType";
/**
* A structure defining the basic parameters of bounded text.
* @example
* ```json
* {
* "defaultItemsConfig": {
* "boundedText": {
* "isVertical": true,
* "verticalAlignment": "center",
* "overflowStrategy": "fitToWidth",
* "tracking": 12,
* "maxLineCount": 2,
* "maxLineLength": 20
* }
* }
* }
* ```
* @public
*/
export interface IBoundedTextItemData<TTextAlignment, TStrokeSettings, TShadowSettings> extends IBaseTextItemData<TTextAlignment, TStrokeSettings, TShadowSettings> {
/** The spacing between an item and wrapping text, in points. The default value is `7`. */
wrappingMargin?: number;
/** The default parameters of paragraphs. */
paragraphSettings?: IParagraphSettingsData;
/** Defines how the vertical bounded text is aligned. The default value is `"top"`. */
verticalAlignment?: VerticalAlignmentType;
/** Limits the number of characters that the user can enter in the Rich text editor. By default, this number is not limited. */
characterLimit?: number;
/** Enables the vertical orientation of bounded text. The default value is `false`. */
isVertical?: boolean;
/** The maximum length of text lines which the user is allowed to enter into a specific point text or bounded text element. By default, this number is not limited. */
maxLineLength?: number;
/** The maximum number of lines which the user is allowed to enter into a specific point text or bounded text element. By default, this number is not limited. */
maxLineCount?: number;
/** The copyfitting strategy applied to a bounded text element when it overflows. By default, this property is `"clip"`. */
overflowStrategy?: OverflowStrategy;
/** A mode defining how a bounded text element shrinks to its bounds when it overflows. By default, this property is `"size"`. */
textShrinkMode?: ShrinkMode;
}