import * as React from 'react'; import { XPositionReference } from '../Enums/XPositionReference'; /** * Properties of a container */ export default interface IContainerProperties { /** id of the container */ id: string /** id of the parent container (null when there is no parent) */ parentId: string /** id of the linked symbol ('' when there is no parent) */ linkedSymbolId: string /** Text displayed in the container */ displayedText: string /** horizontal offset */ x: number /** vertical offset */ y: number /** * Minimum width (min=1) * Allows the container to set isRigidBody to false when it gets squeezed * by an anchor */ minWidth: number /** width */ width: number /** height */ height: number /** true if rigid, false otherwise */ isRigidBody: boolean /** true if anchor, false otherwise */ isAnchor: boolean /** Horizontal alignment, also determines the visual location of x {Left = 0, Center, Right } */ XPositionReference: XPositionReference /** * (optional) * Replace a by a customized "SVG". It is not really an svg but it at least allows * to draw some patterns that can be bind to the properties of the container * Use {prop} to bind a property. Use {{ styleProp }} to use an object. * Example : * ``` * ` * * * * ` * ``` */ customSVG?: string /** * (optional) * Style of the */ style?: React.CSSProperties /** * (optional) * User data that can be used for data storage or custom SVG */ userData?: object }