{
    "name": "Diagrams",
    "description": "Diagram Components",
    "keywords": {
        "common": [
            "ej2",
            "Syncfusion",
            "web-components",
            "diagram"
        ],
        "angular": [
            "angular",
            "ng",
            "ng-diagrams",
            "ej2-ng-diagrams"
        ],
        "react": [
            "react",
            "react-diagrams",
            "ej2-react-diagrams"
        ],
        "vue": [
            "vue",
            "vue-diagrams",
            "ej2-vue-diagrams"
        ]
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/syncfusion/ej2-diagrams"
    },
    "blazorPlaceholder": "diagram",
    "eventInterfaces": [
        "IDataLoadedEventArgs",
        "IDragEnterEventArgs",
        "IDragLeaveEventArgs",
        "IDragOverEventArgs",
        "IClickEventArgs",
        "IHistoryChangeArgs",
        "IDoubleClickEventArgs",
        "ITextEditEventArgs",
        "IScrollChangeEventArgs",
        "ISelectionChangeEventArgs",
        "ISizeChangeEventArgs",
        "IConnectionChangeEventArgs",
        "IEndChangeEventArgs",
        "IDraggingEventArgs",
        "IRotationEventArgs",
        "ICollectionChangeEventArgs",
        "IExpandStateChangeEventArgs",
        "IMouseEventArgs",
        "BeforeOpenCloseMenuEventArgs",
        "MenuEventArgs",
        "IDropEventArgs",
        "IPropertyChangeEventArgs",
        "IPaletteSelectionChangeArgs"
    ],
    "components": [
        {
            "baseClass": "Diagram",
            "directoryName": "diagram",
            "type": "simple",
            "defaultTag": "<diagram id='sample'></diagram>",
            "blazorPlaceholder": "diagram",
            "twoWays": [],
            "blazorType": "hybrid",
            "dynamicModules": [
                "HierarchicalTree",
                "MindMap",
                "RadialTree",
                "ComplexHierarchicalTree",
                "DataBinding",
                "Snapping",
                "PrintAndExport",
                "BpmnDiagrams",
                "SymmetricLayout",
                "ConnectorBridging",
                "UndoRedo",
                "LayoutAnimation",
                "DiagramContextMenu",
                "LineRouting",
                "AvoidLineOverlapping",
                "ConnectorEditing",
                "LineDistribution",
                "Ej1Serialization",
                "FlowchartLayout"
            ],
            "comment": [
                "/**",
                " * Diagram Component",
                " * ```html",
                " * <ej-diagram></ej-diagram>",
                " * ```",
                " */"
            ],
            "reactComment": [
                "/**",
                " * Represents react Diagram Component",
                " * ```tsx",
                " * <DiagramComponent></DiagramComponent>",
                " * ```",
                " */"
            ],
            "vueComment": [
                "/**",
                " * Represents vue Diagram Component",
                " * ```html",
                " * <ejs-diagram></ejs-diagram>",
                " * ```",
                " */"
            ],
            "tagDirective": [
                {
                    "arrayDirectiveClassName": "Layers",
                    "directiveClassName": "Layer",
                    "arrayDirectiveSelector": "ej-diagram>e-layers",
                    "directiveSelector": "e-layers>e-layer",
                    "propertyName": "layers",
                    "isDeprecated": true,
                    "directoryName": "diagram",
                    "baseClass": "Layer",
                    "comment": [
                        "/**",
                        " * Layers Directive",
                        " * ```html",
                        " * <e-layers>",
                        " * <e-layer></e-layer>",
                        " * </e-layers>",
                        " * ```",
                        " */"
                    ],
                    "reactComment": [
                        "/**",
                        " * `Layers Directive` directive represent a connectors of the react diagram. ",
                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                        " * ```tsx",
                        " * <DiagramComponent>",
                        " * <LayersDirective>",
                        " * <LayerDirective></LayerDirective>",
                        " * </LayersDirective>",
                        " * </DiagramComponent>",
                        " * ```",
                        " */"
                    ],
                    "vueComment": [
                        "/**",
                        " * `e-layers` directive represent a layers of the vue diagram. ",
                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                        " * ```vue",
                        " * <ejs-diagram>",
                        " * <e-layers>",
                        " * <e-layer>",
                        " * </e-layers>",
                        " * </e-layers>",
                        "</ejs-diagram>",
                        " * ```",
                        " */"
                    ]
                },
                {
                    "arrayDirectiveClassName": "CustomCursors",
                    "directiveClassName": "CustomCursor",
                    "arrayDirectiveSelector": "ej-diagram>e-cursormaps",
                    "directiveSelector": "e-cursormaps>e-cursormap",
                    "propertyName": "customCursor",
                    "directoryName": "diagram",
                    "isDeprecated": true,
                    "baseClass": "CustomCursorAction",
                    "comment": [
                        "/**",
                        " * Cursor Maps Directive",
                        " * ```html",
                        " * <e-cusrsormaps>",
                        " * <e-cursormap></e-cursormap>",
                        " * </e-cursormaps>",
                        " * ```",
                        " */"
                    ],
                    "reactComment": [
                        "/**",
                        " * `custormaps Directive` directive represent a connectors of the react diagram. ",
                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                        " * ```tsx",
                        " * <DiagramComponent>",
                        " * <CustormapsDirective>",
                        " * <CustormapDirective></CustormapDirective>",
                        " * </CustormapsDirective>",
                        " * </DiagramComponent>",
                        " * ```",
                        " */"
                    ],
                    "vueComment": [
                        "/**",
                        " * `e-custormaps` directive represent a layers of the vue diagram. ",
                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                        " * ```vue",
                        " * <ejs-diagram>",
                        " * <e-custormaps>",
                        " * <e-custormap>",
                        " * </e-custormap>",
                        " * </e-custormaps>",
                        "</ejs-diagram>",
                        " * ```",
                        " */"
                    ]
                },
                {
                    "arrayDirectiveClassName": "Connectors",
                    "directiveClassName": "Connector",
                    "arrayDirectiveSelector": "ej-diagram>e-connectors",
                    "directiveSelector": "e-connectors>e-connector",
                    "propertyName": "connectors",
                    "isDeprecated": true,
                    "directoryName": "diagram",
                    "baseClass": "Connector",
                    "comment": [
                        "/**",
                        " * Connectors Directive",
                        " * ```html",
                        " * <e-connectors>",
                        " * <e-connector></e-connector>",
                        " * </e-connectors>",
                        " * ```",
                        " */"
                    ],
                    "reactComment": [
                        "/**",
                        " * `ConnectorsDirective` directive represent a connectors of the react diagram. ",
                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                        " * ```tsx",
                        " * <DiagramComponent>",
                        " * <ConnectorsDirective>",
                        " * <ConnectorDirective></ConnectorDirective>",
                        " * </ConnectorsDirective>",
                        " * </DiagramComponent>",
                        " * ```",
                        " */"
                    ],
                    "vueComment": [
                        "/**",
                        " * `e-connectors` directive represent a connectors of the vue diagram. ",
                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                        " * ```html",
                        " * <ejs-diagram>",
                        " * <e-connectors>",
                        " * <e-connector></e-connector>",
                        " * </e-connectors>",
                        " * </ejs-diagram>",
                        " * ```",
                        " */"
                    ],
                    "tagDirective": [
                        {
                            "arrayDirectiveClassName": "ConnectorFixedUserHandles",
                            "directiveClassName": "ConnectorFixedUserHandle",
                            "arrayDirectiveSelector": "e-connector>e-connector-fixeduserhandles",
                            "directiveSelector": "e-connector>e-connector-fixeduserhandles>e-connector-fixeduserhandle",
                            "directoryName": "diagram",
                            "fileName": "connector-fixeduserhandle",
                            "isDeprecated": true,
                            "propertyName": "fixedUserHandles",
                            "baseClass": "ConnectorFixedUserHandle",
                            "complexDirective": [
                                {
                                    "propertyName": "displacement",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "ConnectorFixedUserHandleDisplacement",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "padding",
                                    "baseClass": "Margin",
                                    "blazorClassName": "ConnectorFixedUserHandlePadding",
                                    "isCommon": true,
                                    "blazorCommonClassName": "Margin"
                                }
                            ],
                            "comment": [
                                "/**",
                                " * Connectors Directive",
                                " * ```html",
                                " * <e-connectors>",
                                " * <e-connector>",
                                " * <e-connector-fixeduserhandles>",
                                " * <e-connector-fixeduserhandle>",
                                " * </e-connector-fixeduserhandle>",
                                " * </e-connector-fixeduserhandles>",
                                " * </e-connector>",
                                " * </e-connectors>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Connector` directive represent a annotation of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <ConnectorsDirective>",
                                " * <ConnectorDirective>",
                                " * <ConnectorFixedUserHandlesDirective>",
                                " * <ConnectorFixedUserHandleDirective>",
                                " * </ConnectorFixedUserHandleDirective>",
                                " * </ConnectorFixedUserHandlesDirective>",
                                " * </ConnectorDirective>",
                                " * </ConnectorsDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-connector` directive represent a annotation of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-connectors>",
                                " * <e-connector>",
                                " * <e-connector-fixeduserhandles>",
                                " * <e-connector-fixeduserhandle>",
                                " * </e-connector-fixeduserhandle>",
                                " * </e-connector-fixeduserhandles>",
                                " * </e-connector>",
                                " * </e-connectors>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ]
                        },
                        {
                            "arrayDirectiveClassName": "ConnectorAnnotations",
                            "directiveClassName": "ConnectorAnnotation",
                            "arrayDirectiveSelector": "e-connector>e-connector-annotations",
                            "directiveSelector": "e-connector>e-connector-annotations>e-connector-annotation",
                            "directoryName": "diagram",
                            "fileName": "connector-annotation",
                            "isDeprecated": true,
                            "propertyName": "annotations",
                            "baseClass": "PathAnnotation",
                            "blazorTemplates": [
                                "template"
                            ],
                            "comment": [
                                "/**",
                                " * Connectors Directive",
                                " * ```html",
                                " * <e-connectors>",
                                " * <e-connector>",
                                " * <e-connector-annotations>",
                                " * <e-connector-annotation>",
                                " * </e-connector-annotation>",
                                " * </e-connector-annotations>",
                                " * </e-connector>",
                                " * </e-connectors>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Annotation` directive represent a annotation of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <ConnectorsDirective>",
                                " * <ConnectorDirective>",
                                " * <ConnectorAnnotationsDirective>",
                                " * <ConnectorAnnotationDirective>",
                                " * </ConnectorAnnotationDirective>",
                                " * </ConnectorAnnotationsDirective>",
                                " * </ConnectorDirective>",
                                " * </ConnectorsDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-connector-annotation` directive represent a annotation of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-connectors>",
                                " * <e-connector>",
                                " * <e-connector-annotations>",
                                " * <e-connector-annotation>",
                                " * </e-connector-annotation>",
                                " * </e-connector-annotations>",
                                " * </e-connector>",
                                " * </e-connectors>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ],
                            "complexDirective": [
                                {
                                    "propertyName": "displacement",
                                    "baseClass": "Point",
                                    "blazorClassName": "ConnectorDisplacementPoint",
                                    "isCommon": true,
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "hyperlink",
                                    "baseClass": "Hyperlink",
                                    "blazorClassName": "ConnectorHyperlink",
                                    "isCommon": true,
                                    "blazorCommonClassName": "DiagramsHyperlink"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "TextStyle",
                                    "blazorClassName": "ConnectorAnnotationStyle",
                                    "isCommon": true,
                                    "isDeprecated": true,
                                    "blazorCommonClassName": "DiagramsTextStyle",
                                    "complexDirective": [
                                        {
                                            "propertyName": "gradient",
                                            "baseClass": "Gradient",
                                            "blazorClassName": "ConnectorTextGradient",
                                            "isCommon": true,
                                            "isDeprecated": true,
                                            "blazorCommonClassName": "DiagramsGradient",
                                            "tagDirective": [
                                                {
                                                    "arrayDirectiveClassName": "Stops",
                                                    "directiveClassName": "Stop",
                                                    "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                    "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                    "directoryName": "diagram",
                                                    "propertyName": "stops",
                                                    "baseClass": "Stop",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsGradientStop",
                                                    "blazorArrayClassName": "ConnectorTextGradientStops",
                                                    "comment": [
                                                        "/**",
                                                        " * Nodes Directive",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "reactComment": [
                                                        "/**",
                                                        " * `Node` directive represent a port of the react Diagram. ",
                                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                        " * ```tsx",
                                                        " * <DiagramComponent>",
                                                        " * <GradientDirective>",
                                                        " * <GradientStopsDirective>",
                                                        " * <GradientStopDirective>",
                                                        " * </GradientStopDirective>",
                                                        " * </GradientStopsDirective>",
                                                        " * </GradientDirective>",
                                                        " * </DiagramComponent>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "vueComment": [
                                                        "/**",
                                                        " * `e-port` directive represent a port of the vue Diagram. ",
                                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                        " * ```html",
                                                        " * <ejs-diagram>",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * </ejs-diagram>",
                                                        " * ```",
                                                        " */"
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isDeprecated": true,
                                    "blazorClassName": "ConnectorAnnotationMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "dragLimit",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isDeprecated": true,
                                    "blazorClassName": "ConnectorAnnotationDragLimit",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        }
                    ],
                    "complexDirective": [
                        {
                            "propertyName": "shape",
                            "baseClass": "ConnectorShape"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "BpmnFlow"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "RelationShip",
                            "complexDirective": [
                                {
                                    "propertyName": "multiplicity",
                                    "baseClass": "ClassifierMultiplicity",
                                    "complexDirective": [
                                        {
                                            "propertyName": "target",
                                            "baseClass": "MultiplicityLabel",
                                            "isCommon": true,
                                            "isDeprecated": true,
                                            "blazorCommonClassName": "ConnectorsMultiplicityLabel",
                                            "blazorClassName": "TargetMultiplicityLabel"
                                        },
                                        {
                                            "propertyName": "source",
                                            "baseClass": "MultiplicityLabel",
                                            "isCommon": true,
                                            "blazorCommonClassName": "ConnectorsMultiplicityLabel",
                                            "blazorClassName": "SourceMultiplicityLabel"
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "ActivityFlow"
                        },
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "blazorClassName": "ConnectorMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "tooltip",
                            "baseClass": "DiagramTooltip",
                            "isCommon": true,
                            "blazorClassName": "ConnectorTooltip",
                            "blazorCommonClassName": "DiagramsTooltip"
                        },
                        {
                            "propertyName": "sourcePoint",
                            "baseClass": "Point",
                            "isCommon": true,
                            "blazorClassName": "ConnectorSourcePoint",
                            "blazorCommonClassName": "Coordinates"
                        },
                        {
                            "propertyName": "targetPoint",
                            "baseClass": "Point",
                            "isCommon": true,
                            "blazorClassName": "ConnectorTargetPoint",
                            "blazorCommonClassName": "Coordinates"
                        },
                        {
                            "propertyName": "style",
                            "isDeprecated": true,
                            "baseClass": "StrokeStyle",
                            "blazorClassName": "ConnectorShapeStyle",
                            "complexDirective": [
                                {
                                    "propertyName": "style",
                                    "baseClass": "ShapeStyle",
                                    "isCommon": true,
                                    "blazorClassName": "ConnectorShapeStyle",
                                    "blazorCommonClassName": "DiagramsShapeStyle",
                                    "complexDirective": [
                                        {
                                            "propertyName": "gradient",
                                            "baseClass": "Gradient",
                                            "blazorClassName": "ConnectorShapeGradient",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsGradient",
                                            "tagDirective": [
                                                {
                                                    "arrayDirectiveClassName": "Stops",
                                                    "directiveClassName": "Stop",
                                                    "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                    "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                    "directoryName": "diagram",
                                                    "propertyName": "stops",
                                                    "baseClass": "Stop",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsGradientStop",
                                                    "blazorArrayClassName": "ConnectorShapeGradientStops",
                                                    "comment": [
                                                        "/**",
                                                        " * Nodes Directive",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "reactComment": [
                                                        "/**",
                                                        " * `Node` directive represent a port of the react Diagram. ",
                                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                        " * ```tsx",
                                                        " * <DiagramComponent>",
                                                        " * <GradientDirective>",
                                                        " * <GradientStopsDirective>",
                                                        " * <GradientStopDirective>",
                                                        " * </GradientStopDirective>",
                                                        " * </GradientStopsDirective>",
                                                        " * </GradientDirective>",
                                                        " * </DiagramComponent>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "vueComment": [
                                                        "/**",
                                                        " * `e-port` directive represent a port of the vue Diagram. ",
                                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                        " * ```html",
                                                        " * <ejs-diagram>",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * </ejs-diagram>",
                                                        " * ```",
                                                        " */"
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "sourceDecorator",
                            "baseClass": "Decorator",
                            "isCommon": true,
                            "blazorClassName": "ConnectorSourceDecorator",
                            "blazorCommonClassName": "ConnectorDecorator",
                            "complexDirective": [
                                {
                                    "propertyName": "style",
                                    "baseClass": "ShapeStyle",
                                    "isCommon": true,
                                    "blazorClassName": "DecoratorShapeStyle",
                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                },
                                {
                                    "propertyName": "pivot",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "DecoratorPivot",
                                    "blazorCommonClassName": "Coordinates"
                                }
                            ]
                        },
                        {
                            "propertyName": "targetDecorator",
                            "baseClass": "Decorator",
                            "isCommon": true,
                            "blazorClassName": "ConnectorTargetDecorator",
                            "blazorCommonClassName": "ConnectorDecorator",
                            "complexDirective": [
                                {
                                    "propertyName": "style",
                                    "baseClass": "ShapeStyle",
                                    "isCommon": true,
                                    "blazorClassName": "DecoratorShapeStyle",
                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                },
                                {
                                    "propertyName": "pivot",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "DecoratorPivot",
                                    "blazorCommonClassName": "Coordinates"
                                }
                            ]
                        }
                    ]
                },
                {
                    "arrayDirectiveClassName": "Nodes",
                    "directiveClassName": "Node",
                    "arrayDirectiveSelector": "ej-diagram>e-nodes",
                    "directiveSelector": "e-nodes>e-node",
                    "propertyName": "nodes",
                    "isDeprecated": true,
                    "directoryName": "diagram",
                    "baseClass": "Node",
                    "comment": [
                        "/**",
                        " * Nodes Directive",
                        " * ```html",
                        " * <e-nodes>",
                        " * <e-node></e-node>",
                        " * </e-nodes>",
                        " * ```",
                        " */"
                    ],
                    "reactComment": [
                        "/**",
                        " * `NodesDirective` directive represent a nodes of the react diagram. ",
                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                        " * ```tsx",
                        " * <DiagramComponent>",
                        " * <NodesDirective>",
                        " * <NodeDirective></NodeDirective>",
                        " * </NodesDirective>",
                        " * </DiagramComponent>",
                        " * ```",
                        " */"
                    ],
                    "vueComment": [
                        "/**",
                        " * `e-node` directive represent a nodes of the vue diagram. ",
                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                        " * ```html",
                        " * <ejs-diagram>",
                        " * <e-nodes>",
                        " * <e-node></e-node>",
                        " * </e-nodes>",
                        " * </ejs-diagram>",
                        " * ```",
                        " */"
                    ],
                    "tagDirective": [
                        {
                            "arrayDirectiveClassName": "NodeFixedUserHandles",
                            "directiveClassName": "NodeFixedUserHandle",
                            "arrayDirectiveSelector": "e-node>e-node-fixeduserhandles",
                            "directiveSelector": "e-node>e-node-fixeduserhandles>e-node-fixeduserhandle",
                            "directoryName": "diagram",
                            "fileName": "node-fixeduserhandle",
                            "isDeprecated": true,
                            "propertyName": "fixedUserHandles",
                            "baseClass": "NodeFixedUserHandle",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "NodeFixedUserHandleOffset",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "padding",
                                    "baseClass": "Margin",
                                    "blazorClassName": "NodeFixedUserHandlePadding",
                                    "isCommon": true,
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "NodeUsermargin",
                                    "blazorCommonClassName": "Margin"
                                }
                            ],
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * ```html",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-fixeduserhandles>",
                                " * <e-node-fixeduserhandle>",
                                " * </e-node-fixeduserhandle>",
                                " * </e-node-fixeduserhandles>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a annotation of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <NodesDirective>",
                                " * <NodeDirective>",
                                " * <NodeFixedUserHandlesDirective>",
                                " * <NodeFixedUserHandleDirective>",
                                " * </NodeFixedUserHandleDirective>",
                                " * </NodeFixedUserHandlesDirective>",
                                " * </NodeDirective>",
                                " * </NodesDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-node` directive represent a annotation of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-fixeduserhandles>",
                                " * <e-node-fixeduserhandle>",
                                " * </e-node-fixeduserhandle>",
                                " * </e-node-fixeduserhandles>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ]
                        },
                        {
                            "arrayDirectiveClassName": "NodeAnnotations",
                            "directiveClassName": "NodeAnnotation",
                            "arrayDirectiveSelector": "e-node>e-node-annotations",
                            "directiveSelector": "e-node>e-node-annotations>e-node-annotation",
                            "directoryName": "diagram",
                            "fileName": "node-annotation",
                            "isDeprecated": true,
                            "propertyName": "annotations",
                            "baseClass": "ShapeAnnotation",
                            "blazorTemplates": [
                                "template"
                            ],
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * ```html",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-annotations>",
                                " * <e-node-annotation>",
                                " * </e-node-annotation>",
                                " * </e-node-annotations>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a annotation of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <NodesDirective>",
                                " * <NodeDirective>",
                                " * <NodeAnnotationsDirective>",
                                " * <NodeAnnotationDirective>",
                                " * </NodeAnnotationDirective>",
                                " * </NodeAnnotationsDirective>",
                                " * </NodeDirective>",
                                " * </NodesDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-node` directive represent a annotation of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-annotations>",
                                " * <e-node-annotation>",
                                " * </e-node-annotation>",
                                " * </e-node-annotations>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ],
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "NodeAnnotationOffset",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "hyperlink",
                                    "baseClass": "Hyperlink",
                                    "blazorClassName": "NodeHyperlink",
                                    "isCommon": true,
                                    "blazorCommonClassName": "DiagramsHyperlink"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "TextStyle",
                                    "blazorClassName": "NodeAnnotationStyle",
                                    "isCommon": true,
                                    "blazorCommonClassName": "DiagramsTextStyle",
                                    "complexDirective": [
                                        {
                                            "propertyName": "gradient",
                                            "baseClass": "Gradient",
                                            "aspClassName": "ShapeAnnotationGradientStyle",
                                            "blazorClassName": "NodeAnnotationGradient",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsGradient",
                                            "tagDirective": [
                                                {
                                                    "arrayDirectiveClassName": "Stops",
                                                    "directiveClassName": "Stop",
                                                    "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                    "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                    "directoryName": "diagram",
                                                    "propertyName": "stops",
                                                    "baseClass": "Stop",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsGradientStop",
                                                    "blazorArrayClassName": "NodeAnnotationGradientStops",
                                                    "comment": [
                                                        "/**",
                                                        " * Nodes Directive",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "reactComment": [
                                                        "/**",
                                                        " * `Node` directive represent a port of the react Diagram. ",
                                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                        " * ```tsx",
                                                        " * <DiagramComponent>",
                                                        " * <GradientDirective>",
                                                        " * <GradientStopsDirective>",
                                                        " * <GradientStopDirective>",
                                                        " * </GradientStopDirective>",
                                                        " * </GradientStopsDirective>",
                                                        " * </GradientDirective>",
                                                        " * </DiagramComponent>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "vueComment": [
                                                        "/**",
                                                        " * `e-port` directive represent a port of the vue Diagram. ",
                                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                        " * ```html",
                                                        " * <ejs-diagram>",
                                                        " * <e-gradient>",
                                                        " * <e-gradient-stops>",
                                                        " * <e-gradient-stop>",
                                                        " * </e-gradient-stop>",
                                                        " * </e-gradient-stops>",
                                                        " * </e-gradient>",
                                                        " * </ejs-diagram>",
                                                        " * ```",
                                                        " */"
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "NodeAnnotationMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "dragLimit",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "NodeAnnotationDragLimit",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "arrayDirectiveClassName": "Ports",
                            "directiveClassName": "Port",
                            "arrayDirectiveSelector": "e-node>e-node-ports",
                            "directiveSelector": "e-node>e-node-ports>e-node-port",
                            "directoryName": "diagram",
                            "isDeprecated": true,
                            "propertyName": "ports",
                            "baseClass": "PointPort",
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * ```html",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-ports>",
                                " * <e-node-port>",
                                " * </e-node-port>",
                                " * </e-node-ports>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a port of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <NodesDirective>",
                                " * <NodeDirective>",
                                " * <PortCollectionDirective>",
                                " * <PortDirective>",
                                " * </PortDirective>",
                                " * </PortCollectionDirective>",
                                " * </NodeDirective>",
                                " * </NodesDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-port` directive represent a port of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-nodes>",
                                " * <e-node>",
                                " * <e-node-ports>",
                                " * <e-node-port>",
                                " * </e-node-port>",
                                " * </e-node-ports>",
                                " * </e-node>",
                                " * </e-nodes>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ],
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "PortMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "ShapeStyle",
                                    "isCommon": true,
                                    "blazorClassName": "PortShapeStyle",
                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                },
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "NodePortOffset",
                                    "blazorCommonClassName": "Coordinates"
                                }
                            ]
                        }
                    ],
                    "complexDirective": [
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorClassName": "NodeMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "tooltip",
                            "baseClass": "DiagramTooltip",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorClassName": "NodeTooltip",
                            "blazorCommonClassName": "DiagramsTooltip"
                        },
                        {
                            "propertyName": "expandIcon",
                            "baseClass": "IconShape",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorClassName": "NodeExpandIcon",
                            "blazorCommonClassName": "NodeIconShape",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "ExpandIconOffset",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "ExpandIconMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "padding",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "ExpandIconPadding",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "collapseIcon",
                            "baseClass": "IconShape",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorClassName": "NodeCollapseIcon",
                            "blazorCommonClassName": "NodeIconShape",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "CollapseIconOffset",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "CollapseIconMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "padding",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "CollapseIconPadding",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "pivot",
                            "baseClass": "Point",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorClassName": "NodePivotPoint",
                            "blazorCommonClassName": "Coordinates"
                        },
                        {
                            "propertyName": "style",
                            "baseClass": "TextStyle",
                            "blazorClassName": "NodeShapeStyle",
                            "isCommon": true,
                            "isDeprecated": true,
                            "blazorCommonClassName": "DiagramsTextStyle",
                            "complexDirective": [
                                {
                                    "propertyName": "gradient",
                                    "baseClass": "Gradient",
                                    "blazorClassName": "NodeShapeGradient",
                                    "isCommon": true,
                                    "blazorCommonClassName": "DiagramsGradient",
                                    "tagDirective": [
                                        {
                                            "arrayDirectiveClassName": "Stops",
                                            "directiveClassName": "Stop",
                                            "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                            "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                            "directoryName": "diagram",
                                            "propertyName": "stops",
                                            "baseClass": "Stop",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsGradientStop",
                                            "blazorArrayClassName": "NodeShapeGradientStops",
                                            "comment": [
                                                "/**",
                                                " * Nodes Directive",
                                                " * <e-gradient>",
                                                " * <e-gradient-stops>",
                                                " * <e-gradient-stop>",
                                                " * </e-gradient-stop>",
                                                " * </e-gradient-stops>",
                                                " * </e-gradient>",
                                                " * ```",
                                                " */"
                                            ],
                                            "reactComment": [
                                                "/**",
                                                " * `Node` directive represent a port of the react Diagram. ",
                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                " * ```tsx",
                                                " * <DiagramComponent>",
                                                " * <GradientDirective>",
                                                " * <GradientStopsDirective>",
                                                " * <GradientStopDirective>",
                                                " * </GradientStopDirective>",
                                                " * </GradientStopsDirective>",
                                                " * </GradientDirective>",
                                                " * </DiagramComponent>",
                                                " * ```",
                                                " */"
                                            ],
                                            "vueComment": [
                                                "/**",
                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                " * ```html",
                                                " * <ejs-diagram>",
                                                " * <e-gradient>",
                                                " * <e-gradient-stops>",
                                                " * <e-gradient-stop>",
                                                " * </e-gradient-stop>",
                                                " * </e-gradient-stops>",
                                                " * </e-gradient>",
                                                " * </ejs-diagram>",
                                                " * ```",
                                                " */"
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "isDeprecated": true,
                            "baseClass": "BpmnShape",
                            "complexDirective": [
                                {
                                    "propertyName": "event",
                                    "baseClass": "BpmnEvent"
                                },
                                {
                                    "propertyName": "gateway",
                                    "baseClass": "BpmnGateway"
                                },
                                {
                                    "propertyName": "dataObject",
                                    "baseClass": "BpmnDataObject"
                                },
                                {
                                    "propertyName": "activity",
                                    "baseClass": "BpmnActivity",
                                    "complexDirective": [
                                        {
                                            "propertyName": "task",
                                            "baseClass": "BpmnTask"
                                        },
                                        {
                                            "propertyName": "subProcess",
                                            "baseClass": "BpmnSubProcess",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "transaction",
                                                    "baseClass": "BpmnTransactionSubProcess",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "success",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCommon": true,
                                                            "blazorClassName": "SuccessSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "SuccessOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "SuccessMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "propertyName": "failure",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCommon": true,
                                                            "blazorClassName": "FailureSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "FailureOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "FailureMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "propertyName": "cancel",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCommon": true,
                                                            "blazorClassName": "CancelSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "CancelOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCommon": true,
                                                                    "blazorClassName": "CancelMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "BasicShape",
                            "tagDirective": [
                                {
                                    "arrayDirectiveClassName": "PolygonPoints",
                                    "directiveClassName": "Point",
                                    "arrayDirectiveSelector": "e-shape>e-polygon",
                                    "directiveSelector": "e-polygon>e-polygonpoints>e-polygonpoint",
                                    "directoryName": "diagram",
                                    "propertyName": "points",
                                    "baseClass": "Point",
                                    "blazorClassName": "NodePolygonPoint",
                                    "isCommon": true,
                                    "blazorCommonClassName": "Coordinates",
                                    "comment": [
                                        "/**",
                                        " * Connector Directive",
                                        " * <e-polygonpoints>",
                                        " * <e-polygonpoint>",
                                        " * </e-polygonpoint>",
                                        " * </e-polygonpoints>",
                                        " * ```",
                                        " */"
                                    ],
                                    "reactComment": [
                                        "/**",
                                        " * `Node` directive represent a port of the react Diagram. ",
                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                        " * ```tsx",
                                        " * <DiagramComponent>",
                                        " * <PolygonPointsDirective>",
                                        " * <PolygonPointDirective>",
                                        " * </PolygonPointDirective>",
                                        " * </PolygonPointsDirective>",
                                        " * </DiagramComponent>",
                                        " * ```",
                                        " */"
                                    ],
                                    "vueComment": [
                                        "/**",
                                        " * `e-node` directive represent a port of the vue Diagram. ",
                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                        " * ```html",
                                        " * <ejs-diagram>",
                                        " * <e-polygonpoints>",
                                        " * <e-polygonpoint>",
                                        " * </e-polygonpoint>",
                                        " * </e-polygonpoints>",
                                        " * </ejs-diagram>",
                                        " * ```",
                                        " */"
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "shadow",
                            "baseClass": "Shadow"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "Path"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "Native",
                            "blazorTemplates": [
                                "content"
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "Html",
                            "blazorTemplates": [
                                "content"
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "FlowShape"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "Image"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "Text",
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "TextMargin",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "SwimLane",
                            "complexDirective": [
                                {
                                    "propertyName": "header",
                                    "baseClass": "Header",
                                    "isCommon": true,
                                    "blazorClassName": "SwimLaneHeader",
                                    "blazorCommonClassName": "DiagramsHeader",
                                    "complexDirective": [
                                        {
                                            "propertyName": "style",
                                            "baseClass": "ShapeStyle",
                                            "isCommon": true,
                                            "blazorClassName": "SwimLaneHeaderShapeStyle",
                                            "blazorCommonClassName": "DiagramsShapeStyle"
                                        },
                                        {
                                            "propertyName": "annotation",
                                            "baseClass": "Annotation",
                                            "isCommon": true,
                                            "blazorClassName": "SwimLaneHeaderAnnotation",
                                            "blazorCommonClassName": "HeaderAnnotation",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "hyperlink",
                                                    "baseClass": "Hyperlink",
                                                    "blazorClassName": "SwimLaneHyperlink",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsHyperlink"
                                                },
                                                {
                                                    "propertyName": "style",
                                                    "baseClass": "TextStyle",
                                                    "blazorClassName": "SwimLaneTextStyle",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsTextStyle"
                                                },
                                                {
                                                    "propertyName": "margin",
                                                    "baseClass": "Margin",
                                                    "isCommon": true,
                                                    "blazorClassName": "HeaderAnnotationMargin",
                                                    "blazorCommonClassName": "Margin"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "tagDirective": [
                                {
                                    "arrayDirectiveClassName": "Phases",
                                    "directiveClassName": "Phase",
                                    "arrayDirectiveSelector": "e-shape>e-phases",
                                    "directiveSelector": "e-phases>e-phase",
                                    "propertyName": "phases",
                                    "directoryName": "diagram",
                                    "baseClass": "Phase",
                                    "comment": [
                                        "/**",
                                        " * Layers Directive",
                                        " * ```html",
                                        " * <e-phases>",
                                        " * <e-phase></e-phase>",
                                        " * </e-phases>",
                                        " * ```",
                                        " */"
                                    ],
                                    "reactComment": [
                                        "/**",
                                        " * `Layers Directive` directive represent a connectors of the react diagram. ",
                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                        " * ```tsx",
                                        " * <DiagramComponent>",
                                        " * <PhasesDirective>",
                                        " * <PhaseDirective></PhaseDirective>",
                                        " * </PhasesDirective>",
                                        " * </DiagramComponent>",
                                        " * ```",
                                        " */"
                                    ],
                                    "vueComment": [
                                        "/**",
                                        " * `e-layers` directive represent a layers of the vue diagram. ",
                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                        " * ```vue",
                                        " * <ejs-diagram>",
                                        " * <e-phases>",
                                        " * <e-phase>",
                                        " * </e-phase>",
                                        " * </e-phases>",
                                        "</ejs-diagram>",
                                        " * ```",
                                        " */"
                                    ],
                                    "complexDirective": [
                                        {
                                            "propertyName": "header",
                                            "baseClass": "Header",
                                            "isCommon": true,
                                            "blazorClassName": "PhaseHeader",
                                            "blazorCommonClassName": "DiagramsHeader",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "style",
                                                    "baseClass": "ShapeStyle",
                                                    "aspClassName": "PhaseHeaderShapeStyle",
                                                    "isCommon": true,
                                                    "blazorClassName": "PhaseHeaderShapeStyle",
                                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                                },
                                                {
                                                    "propertyName": "annotation",
                                                    "baseClass": "Annotation",
                                                    "isCommon": true,
                                                    "blazorClassName": "PhaseHeaderAnnotation",
                                                    "blazorCommonClassName": "HeaderAnnotation",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "hyperlink",
                                                            "baseClass": "Hyperlink",
                                                            "blazorClassName": "PhaseHyperlink",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsHyperlink"
                                                        },
                                                        {
                                                            "propertyName": "style",
                                                            "baseClass": "TextStyle",
                                                            "blazorClassName": "PhaseTextStyle",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsTextStyle"
                                                        },
                                                        {
                                                            "propertyName": "margin",
                                                            "baseClass": "Margin",
                                                            "isCommon": true,
                                                            "blazorClassName": "PhaseAnnotationMargin",
                                                            "blazorCommonClassName": "Margin"
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "propertyName": "style",
                                            "baseClass": "ShapeStyle",
                                            "isCommon": true,
                                            "blazorClassName": "PhaseShapeStyle",
                                            "blazorCommonClassName": "DiagramsShapeStyle"
                                        }
                                    ]
                                },
                                {
                                    "arrayDirectiveClassName": "Lanes",
                                    "directiveClassName": "Lane",
                                    "arrayDirectiveSelector": "e-shape>e-lanes",
                                    "directiveSelector": "e-lanes>e-lane",
                                    "directoryName": "diagram",
                                    "propertyName": "lanes",
                                    "baseClass": "Lane",
                                    "comment": [
                                        "/**",
                                        " * Nodes Directive",
                                        " * <e-lanes>",
                                        " * <e-lane>",
                                        " * </e-lane>",
                                        " * </e-lanes>",
                                        " * ```",
                                        " */"
                                    ],
                                    "reactComment": [
                                        "/**",
                                        " * `Node` directive represent a port of the react Diagram. ",
                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                        " * ```tsx",
                                        " * <DiagramComponent>",
                                        " * <LanesDirective>",
                                        " * <LaneDirective>",
                                        " * </LaneDirective>",
                                        " * </LanesDirective>",
                                        " * </DiagramComponent>",
                                        " * ```",
                                        " */"
                                    ],
                                    "vueComment": [
                                        "/**",
                                        " * `e-node` directive represent a port of the vue Diagram. ",
                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                        " * ```html",
                                        " * <ejs-diagram>",
                                        " * <e-lanes>",
                                        " * <e-lane>",
                                        " * </e-lane>",
                                        " * </e-lanes>",
                                        " * </ejs-diagram>",
                                        " * ```",
                                        " */"
                                    ],
                                    "complexDirective": [
                                        {
                                            "propertyName": "header",
                                            "baseClass": "Header",
                                            "isCommon": true,
                                            "blazorClassName": "LaneHeader",
                                            "blazorCommonClassName": "DiagramsHeader",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "style",
                                                    "baseClass": "ShapeStyle",
                                                    "aspClassName": "LaneHeaderShapeStyle",
                                                    "isCommon": true,
                                                    "blazorClassName": "LaneHeaderShapeStyle",
                                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                                },
                                                {
                                                    "propertyName": "annotation",
                                                    "baseClass": "Annotation",
                                                    "isCommon": true,
                                                    "blazorClassName": "LaneHeaderAnnotation",
                                                    "blazorCommonClassName": "HeaderAnnotation",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "hyperlink",
                                                            "baseClass": "Hyperlink",
                                                            "blazorClassName": "LaneHyperlink",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsHyperlink"
                                                        },
                                                        {
                                                            "propertyName": "style",
                                                            "baseClass": "TextStyle",
                                                            "blazorClassName": "LaneTextStyle",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsTextStyle"
                                                        },
                                                        {
                                                            "propertyName": "margin",
                                                            "baseClass": "Margin",
                                                            "isCommon": true,
                                                            "blazorClassName": "LaneHeaderMargin",
                                                            "blazorCommonClassName": "Margin"
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "propertyName": "style",
                                            "baseClass": "ShapeStyle",
                                            "isCommon": true,
                                            "blazorClassName": "LaneShapeStyle",
                                            "blazorCommonClassName": "DiagramsShapeStyle"
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "UmlActivityShape"
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "UmlClassifierShape",
                            "complexDirective": [
                                {
                                    "propertyName": "classShape",
                                    "baseClass": "UmlClass",
                                    "tagDirective": [
                                        {
                                            "arrayDirectiveClassName": "UmlClassAttributes",
                                            "directiveClassName": "UmlClassAttribute",
                                            "arrayDirectiveSelector": "e-shape>e-class-attributes",
                                            "directiveSelector": "e-shape>e-class-attributes>e-class-attribute",
                                            "directoryName": "diagram",
                                            "propertyName": "attributes",
                                            "baseClass": "UmlClassAttribute",
                                            "comment": [
                                                "/**",
                                                " * Nodes Directive",
                                                " * <e-shape>",
                                                " * <e-class-attributes>",
                                                " * <e-class-attribute>",
                                                " * </e-class-attribute>",
                                                " * </e-class-attributes>",
                                                " * </e-shape>",
                                                " * ```",
                                                " */"
                                            ],
                                            "reactComment": [
                                                "/**",
                                                " * `Node` directive represent a port of the react Diagram. ",
                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                " * ```tsx",
                                                " * <DiagramComponent>",
                                                " * <ShapeDirective>",
                                                " * <ShapeClassAttributesDirective>",
                                                " * <ShapeClassAttributeDirective>",
                                                " * </ShapeClassAttributeDirective>",
                                                " * </ShapeClassAttributesDirective>",
                                                " * </ShapeDirective>",
                                                " * </DiagramComponent>",
                                                " * ```",
                                                " */"
                                            ],
                                            "vueComment": [
                                                "/**",
                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                " * ```html",
                                                " * <ejs-diagram>",
                                                " * <e-shape>",
                                                " * <e-class-attributes>",
                                                " * <e-class-attribute>",
                                                " * </e-class-attribute>",
                                                " * </e-class-attributes>",
                                                " * </e-shape>",
                                                " * </ejs-diagram>",
                                                " * ```",
                                                " */"
                                            ]
                                        },
                                        {
                                            "arrayDirectiveClassName": "UmlClassMethods",
                                            "directiveClassName": "UmlClassMethod",
                                            "arrayDirectiveSelector": "e-shape>e-class-methods",
                                            "directiveSelector": "e-shape>e-class-methods>e-class-method",
                                            "directoryName": "diagram",
                                            "propertyName": "methods",
                                            "baseClass": "UmlClassMethod",
                                            "comment": [
                                                "/**",
                                                " * Nodes Directive",
                                                " * <e-shape>",
                                                " * <e-class-methods>",
                                                " * <e-class-method>",
                                                " * </e-class-method>",
                                                " * </e-class-methods>",
                                                " * </e-shape>",
                                                " * ```",
                                                " */"
                                            ],
                                            "reactComment": [
                                                "/**",
                                                " * `Node` directive represent a port of the react Diagram. ",
                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                " * ```tsx",
                                                " * <DiagramComponent>",
                                                " * <ShapeDirective>",
                                                " * <ShapeClassMethodsDirective>",
                                                " * <ShapeClassMethodDirective>",
                                                " * </ShapeClassMethodDirective>",
                                                " * </ShapeClassMethodsDirective>",
                                                " * </ShapeDirectiveDirective>",
                                                " * </DiagramComponent>",
                                                " * ```",
                                                " */"
                                            ],
                                            "vueComment": [
                                                "/**",
                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                " * ```html",
                                                " * <ejs-diagram>",
                                                " * <e-shape>",
                                                " * <e-class-methods>",
                                                " * <e-class-method>",
                                                " * </e-class-method>",
                                                " * </e-class-methods>",
                                                " * </e-shape>",
                                                " * </ejs-diagram>",
                                                " * ```",
                                                " */"
                                            ],
                                            "tagDirective": [
                                                {
                                                    "arrayDirectiveClassName": "MethodArguments",
                                                    "directiveClassName": "MethodArgument",
                                                    "arrayDirectiveSelector": "e-class-method>e-class-parameters",
                                                    "directiveSelector": "e-class-method>e-class-parameters>e-class-parameter",
                                                    "directoryName": "diagram",
                                                    "propertyName": "parameters",
                                                    "baseClass": "MethodArguments",
                                                    "comment": [
                                                        "/**",
                                                        " * Nodes Directive",
                                                        " * <e-class-method>",
                                                        " * <e-class-parameters>",
                                                        " * <e-class-parameter>",
                                                        " * </e-class-parameter>",
                                                        " * </e-class-parameters>",
                                                        " * </e-class-method>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "reactComment": [
                                                        "/**",
                                                        " * `Node` directive represent a port of the react Diagram. ",
                                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                        " * ```tsx",
                                                        " * <DiagramComponent>",
                                                        " * <ShapeClassMethodDirective>",
                                                        " * <ShapeClassParametersDirective>",
                                                        " * <ShapeClassParameterDirective>",
                                                        " * </ShapeClassParameterDirective>",
                                                        " * </ShapeClassParametersDirective>",
                                                        " * </ShapeClassMethodDirective>",
                                                        " * </DiagramComponent>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "vueComment": [
                                                        "/**",
                                                        " * `e-port` directive represent a port of the vue Diagram. ",
                                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                        " * ```html",
                                                        " * <ejs-diagram>",
                                                        " * <e-class-method>",
                                                        " * <e-class-parameters>",
                                                        " * <e-class-parameter>",
                                                        " * </e-class-parameter>",
                                                        " * </e-class-parameters>",
                                                        " * </e-class-method>",
                                                        " * </ejs-diagram>",
                                                        " * ```",
                                                        " */"
                                                    ],
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "style",
                                                            "baseClass": "TextStyle",
                                                            "blazorClassName": "UMLParameterShapeStyle",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsTextStyle",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "gradient",
                                                                    "baseClass": "Gradient",
                                                                    "blazorClassName": "UMLParameterGradient",
                                                                    "isCommon": true,
                                                                    "blazorCommonClassName": "DiagramsGradient",
                                                                    "tagDirective": [
                                                                        {
                                                                            "arrayDirectiveClassName": "Stops",
                                                                            "directiveClassName": "Stop",
                                                                            "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                                            "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                                            "directoryName": "diagram",
                                                                            "propertyName": "stops",
                                                                            "baseClass": "Stop",
                                                                            "isCommon": true,
                                                                            "blazorCommonClassName": "DiagramsGradientStop",
                                                                            "blazorArrayClassName": "UMLParameterGradientStops",
                                                                            "comment": [
                                                                                "/**",
                                                                                " * Nodes Directive",
                                                                                " * <e-gradient>",
                                                                                " * <e-gradient-stops>",
                                                                                " * <e-gradient-stop>",
                                                                                " * </e-gradient-stop>",
                                                                                " * </e-gradient-stops>",
                                                                                " * </e-gradient>",
                                                                                " * ```",
                                                                                " */"
                                                                            ],
                                                                            "reactComment": [
                                                                                "/**",
                                                                                " * `Node` directive represent a port of the react Diagram. ",
                                                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                                                " * ```tsx",
                                                                                " * <DiagramComponent>",
                                                                                " * <GradientDirective>",
                                                                                " * <GradientStopsDirective>",
                                                                                " * <GradientStopDirective>",
                                                                                " * </GradientStopDirective>",
                                                                                " * </GradientStopsDirective>",
                                                                                " * </GradientDirective>",
                                                                                " * </DiagramComponent>",
                                                                                " * ```",
                                                                                " */"
                                                                            ],
                                                                            "vueComment": [
                                                                                "/**",
                                                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                                                " * ```html",
                                                                                " * <ejs-diagram>",
                                                                                " * <e-gradient>",
                                                                                " * <e-gradient-stops>",
                                                                                " * <e-gradient-stop>",
                                                                                " * </e-gradient-stop>",
                                                                                " * </e-gradient-stops>",
                                                                                " * </e-gradient>",
                                                                                " * </ejs-diagram>",
                                                                                " * ```",
                                                                                " */"
                                                                            ]
                                                                        }
                                                                    ]
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ],
                                    "complexDirective": [
                                        {
                                            "propertyName": "style",
                                            "baseClass": "TextStyle",
                                            "blazorClassName": "UMLClassShapeStyle",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsTextStyle",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "gradient",
                                                    "baseClass": "Gradient",
                                                    "blazorClassName": "UMLClassGradient",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsGradient",
                                                    "tagDirective": [
                                                        {
                                                            "arrayDirectiveClassName": "Stops",
                                                            "directiveClassName": "Stop",
                                                            "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                            "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                            "directoryName": "diagram",
                                                            "propertyName": "stops",
                                                            "baseClass": "Stop",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsGradientStop",
                                                            "blazorArrayClassName": "UMLClassGradientStops",
                                                            "comment": [
                                                                "/**",
                                                                " * Nodes Directive",
                                                                " * <e-gradient>",
                                                                " * <e-gradient-stops>",
                                                                " * <e-gradient-stop>",
                                                                " * </e-gradient-stop>",
                                                                " * </e-gradient-stops>",
                                                                " * </e-gradient>",
                                                                " * ```",
                                                                " */"
                                                            ],
                                                            "reactComment": [
                                                                "/**",
                                                                " * `Node` directive represent a port of the react Diagram. ",
                                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                                " * ```tsx",
                                                                " * <DiagramComponent>",
                                                                " * <GradientDirective>",
                                                                " * <GradientStopsDirective>",
                                                                " * <GradientStopDirective>",
                                                                " * </GradientStopDirective>",
                                                                " * </GradientStopsDirective>",
                                                                " * </GradientDirective>",
                                                                " * </DiagramComponent>",
                                                                " * ```",
                                                                " */"
                                                            ],
                                                            "vueComment": [
                                                                "/**",
                                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                                " * ```html",
                                                                " * <ejs-diagram>",
                                                                " * <e-gradient>",
                                                                " * <e-gradient-stops>",
                                                                " * <e-gradient-stop>",
                                                                " * </e-gradient-stop>",
                                                                " * </e-gradient-stops>",
                                                                " * </e-gradient>",
                                                                " * </ejs-diagram>",
                                                                " * ```",
                                                                " */"
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "interfaceShape",
                                    "baseClass": "UmlInterface"
                                },
                                {
                                    "propertyName": "enumerationShape",
                                    "baseClass": "UmlEnumeration",
                                    "tagDirective": [
                                        {
                                            "arrayDirectiveClassName": "UmlEnumerationMembers",
                                            "directiveClassName": "UmlEnumerationMember",
                                            "arrayDirectiveSelector": "e-shape>e-class-attributes",
                                            "directiveSelector": "e-shape>e-class-attributes>e-class-attribute",
                                            "directoryName": "diagram",
                                            "propertyName": "members",
                                            "baseClass": "UmlEnumerationMember",
                                            "comment": [
                                                "/**",
                                                " * Nodes Directive",
                                                " * <e-shape>",
                                                " * <e-class-attributes>",
                                                " * <e-class-attribute>",
                                                " * </e-class-attribute>",
                                                " * </e-class-attributes>",
                                                " * </e-shape>",
                                                " * ```",
                                                " */"
                                            ],
                                            "reactComment": [
                                                "/**",
                                                " * `Node` directive represent a port of the react Diagram. ",
                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                " * ```tsx",
                                                " * <DiagramComponent>",
                                                " * <ShapeDirective>",
                                                " * <ShapeClassAttributesDirective>",
                                                " * <ShapeClassAttributeDirective>",
                                                " * </ShapeClassAttributeDirective>",
                                                " * </ShapeClassAttributesDirective>",
                                                " * </ShapeDirective>",
                                                " * </DiagramComponent>",
                                                " * ```",
                                                " */"
                                            ],
                                            "vueComment": [
                                                "/**",
                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                " * ```html",
                                                " * <ejs-diagram>",
                                                " * <e-shape>",
                                                " * <e-class-attributes>",
                                                " * <e-class-attribute>",
                                                " * </e-class-attribute>",
                                                " * </e-class-attributes>",
                                                " * </e-shape>",
                                                " * </ejs-diagram>",
                                                " * ```",
                                                " */"
                                            ],
                                            "complexDirective": [
                                                {
                                                    "propertyName": "style",
                                                    "baseClass": "TextStyle",
                                                    "blazorClassName": "EnumerationMemberShapeStyle",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsTextStyle",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "gradient",
                                                            "baseClass": "Gradient",
                                                            "blazorClassName": "EnumerationMemberGradient",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsGradient",
                                                            "tagDirective": [
                                                                {
                                                                    "arrayDirectiveClassName": "Stops",
                                                                    "directiveClassName": "Stop",
                                                                    "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                                    "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                                    "directoryName": "diagram",
                                                                    "propertyName": "stops",
                                                                    "baseClass": "Stop",
                                                                    "isCommon": true,
                                                                    "blazorCommonClassName": "DiagramsGradientStop",
                                                                    "blazorArrayClassName": "EnumerationMemberGradientStops",
                                                                    "comment": [
                                                                        "/**",
                                                                        " * Nodes Directive",
                                                                        " * <e-gradient>",
                                                                        " * <e-gradient-stops>",
                                                                        " * <e-gradient-stop>",
                                                                        " * </e-gradient-stop>",
                                                                        " * </e-gradient-stops>",
                                                                        " * </e-gradient>",
                                                                        " * ```",
                                                                        " */"
                                                                    ],
                                                                    "reactComment": [
                                                                        "/**",
                                                                        " * `Node` directive represent a port of the react Diagram. ",
                                                                        " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                                        " * ```tsx",
                                                                        " * <DiagramComponent>",
                                                                        " * <GradientDirective>",
                                                                        " * <GradientStopsDirective>",
                                                                        " * <GradientStopDirective>",
                                                                        " * </GradientStopDirective>",
                                                                        " * </GradientStopsDirective>",
                                                                        " * </GradientDirective>",
                                                                        " * </DiagramComponent>",
                                                                        " * ```",
                                                                        " */"
                                                                    ],
                                                                    "vueComment": [
                                                                        "/**",
                                                                        " * `e-port` directive represent a port of the vue Diagram. ",
                                                                        " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                                        " * ```html",
                                                                        " * <ejs-diagram>",
                                                                        " * <e-gradient>",
                                                                        " * <e-gradient-stops>",
                                                                        " * <e-gradient-stop>",
                                                                        " * </e-gradient-stop>",
                                                                        " * </e-gradient-stops>",
                                                                        " * </e-gradient>",
                                                                        " * </ejs-diagram>",
                                                                        " * ```",
                                                                        " */"
                                                                    ]
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ],
                                    "complexDirective": [
                                        {
                                            "propertyName": "style",
                                            "baseClass": "TextStyle",
                                            "blazorClassName": "UMLEnumerationShapeStyle",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsTextStyle",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "gradient",
                                                    "baseClass": "Gradient",
                                                    "blazorClassName": "UMLEnumerationGradient",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsGradient",
                                                    "tagDirective": [
                                                        {
                                                            "arrayDirectiveClassName": "Stops",
                                                            "directiveClassName": "Stop",
                                                            "arrayDirectiveSelector": "e-gradient>e-gradient-stops",
                                                            "directiveSelector": "e-gradient>e-gradient-stops>e-gradient-stop",
                                                            "directoryName": "diagram",
                                                            "propertyName": "stops",
                                                            "baseClass": "Stop",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsGradientStop",
                                                            "blazorArrayClassName": "UMLEnumerationGradientStops",
                                                            "comment": [
                                                                "/**",
                                                                " * Nodes Directive",
                                                                " * <e-gradient>",
                                                                " * <e-gradient-stops>",
                                                                " * <e-gradient-stop>",
                                                                " * </e-gradient-stop>",
                                                                " * </e-gradient-stops>",
                                                                " * </e-gradient>",
                                                                " * ```",
                                                                " */"
                                                            ],
                                                            "reactComment": [
                                                                "/**",
                                                                " * `Node` directive represent a port of the react Diagram. ",
                                                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                                                " * ```tsx",
                                                                " * <DiagramComponent>",
                                                                " * <GradientDirective>",
                                                                " * <GradientStopsDirective>",
                                                                " * <GradientStopDirective>",
                                                                " * </GradientStopDirective>",
                                                                " * </GradientStopsDirective>",
                                                                " * </GradientDirective>",
                                                                " * </DiagramComponent>",
                                                                " * ```",
                                                                " */"
                                                            ],
                                                            "vueComment": [
                                                                "/**",
                                                                " * `e-port` directive represent a port of the vue Diagram. ",
                                                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                                                " * ```html",
                                                                " * <ejs-diagram>",
                                                                " * <e-gradient>",
                                                                " * <e-gradient-stops>",
                                                                " * <e-gradient-stop>",
                                                                " * </e-gradient-stop>",
                                                                " * </e-gradient-stops>",
                                                                " * </e-gradient>",
                                                                " * </ejs-diagram>",
                                                                " * ```",
                                                                " */"
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ],
            "complexDirective": [
                {
                    "propertyName": "layers",
                    "baseClass": "Layer",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "isCommon": true,
                    "blazorClassName": "DiagramLayer"
                },
                {
                    "propertyName": "customCursor",
                    "isCommon": true,
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "baseClass": "CustomCursorAction",
                    "blazorCommonClassName": "DiagramCustomCursor"
                },
                {
                    "propertyName": "connectors",
                    "baseClass": "Connector",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "blazorClassName": "DiagramConnector",
                    "complexDirective": [
                        {
                            "propertyName": "annotations",
                            "baseClass": "PathAnnotation",
                            "blazorClassName": "DiagramConnectorAnnotation",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "isCommon": true,
                            "complexDirective": [
                                {
                                    "propertyName": "displacement",
                                    "baseClass": "Point",
                                    "blazorClassName": "ConnectorDisplacementPoint",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "hyperlink",
                                    "baseClass": "Hyperlink",
                                    "blazorClassName": "ConnectorHyperlink",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorCommonClassName": "DiagramsHyperlink"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "TextStyle",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "ConnectorAnnotationMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "dragLimit",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "ConnectorAnnotationDragLimit",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "sourceDecorator",
                            "baseClass": "Decorator",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "targetDecorator",
                            "baseClass": "Decorator",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "DiagramConnectorShape",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "complexDirective": [
                                {
                                    "propertyName": "multiplicity",
                                    "baseClass": "ClassifierMultiplicity",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "complexDirective": [
                                        {
                                            "propertyName": "target",
                                            "baseClass": "MultiplicityLabel",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorCommonClassName": "ConnectorsMultiplicityLabel",
                                            "blazorClassName": "TargetMultiplicityLabel"
                                        },
                                        {
                                            "propertyName": "source",
                                            "baseClass": "MultiplicityLabel",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorCommonClassName": "ConnectorsMultiplicityLabel",
                                            "blazorClassName": "SourceMultiplicityLabel"
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "ConnectorMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "tooltip",
                            "baseClass": "DiagramTooltip",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "ConnectorTooltip",
                            "blazorCommonClassName": "DiagramsTooltip"
                        },
                        {
                            "propertyName": "sourcePoint",
                            "baseClass": "Point",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "ConnectorSourcePoint",
                            "blazorCommonClassName": "Coordinates"
                        },
                        {
                            "propertyName": "targetPoint",
                            "baseClass": "Point",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "ConnectorTargetPoint",
                            "blazorCommonClassName": "Coordinates"
                        },
                        {
                            "propertyName": "style",
                            "baseClass": "strokeStyle",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "segments",
                            "baseClass": "DiagramConnectorSegment",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "complexDirective": [
                                {
                                    "propertyName": "point",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "StraightSegmentPoint",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "point1",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "blazorClassName": "FirstSegmentPoint",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "point2",
                                    "baseClass": "Point",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "SecondSegmentPoint",
                                    "blazorCommonClassName": "Coordinates"
                                },
                                {
                                    "propertyName": "vector1",
                                    "baseClass": "Vector",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "isCommon": true,
                                    "blazorClassName": "FirstVector",
                                    "blazorCommonClassName": "BezierVector"
                                },
                                {
                                    "propertyName": "vector2",
                                    "baseClass": "Vector",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "isCommon": true,
                                    "blazorClassName": "SecondVector",
                                    "blazorCommonClassName": "BezierVector"
                                }
                            ]
                        }
                    ]
                },
                {
                    "propertyName": "nodes",
                    "directoryName": "diagram",
                    "baseClass": "Node",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "blazorCommonClassName": "DiagramNode",
                    "complexDirective": [
                        {
                            "propertyName": "annotations",
                            "baseClass": "ShapeAnnotation",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorCommonClassName": "DiagramNodeAnnotation",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "Point"
                                },
                                {
                                    "propertyName": "hyperlink",
                                    "baseClass": "Hyperlink",
                                    "blazorClassName": "NodeHyperlink",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorCommonClassName": "DiagramsHyperlink"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "TextStyle",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "NodeAnnotationMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "dragLimit",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "NodeAnnotationDragLimit",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "ports",
                            "baseClass": "PointPort",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorCommonClassName": "DiagramPort",
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "PortMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "style",
                                    "baseClass": "ShapeStyle",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "PortShapeStyle",
                                    "blazorCommonClassName": "DiagramsShapeStyle"
                                },
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                }
                            ]
                        },
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "NodeMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "tooltip",
                            "baseClass": "DiagramTooltip",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "NodeTooltip",
                            "blazorCommonClassName": "DiagramsTooltip"
                        },
                        {
                            "propertyName": "expandIcon",
                            "baseClass": "IconShape",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "NodeExpandIcon",
                            "blazorCommonClassName": "NodeIconShape",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "ExpandIconMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "padding",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "Margin"
                                }
                            ]
                        },
                        {
                            "propertyName": "collapseIcon",
                            "baseClass": "IconShape",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "NodeCollapseIcon",
                            "blazorCommonClassName": "NodeIconShape",
                            "complexDirective": [
                                {
                                    "propertyName": "offset",
                                    "baseClass": "Point",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorClassName": "CollapseIconMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "padding",
                                    "baseClass": "Margin",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true
                                }
                            ]
                        },
                        {
                            "propertyName": "layoutInfo",
                            "baseClass": "LayoutInfo",
                            "isCommon": true,
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorCommonClassName": "DiagramNodeLayoutInfo"
                        },
                        {
                            "propertyName": "pivot",
                            "baseClass": "Point",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "style",
                            "baseClass": "TextStyle",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "shadow",
                            "baseClass": "Shadow",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        },
                        {
                            "propertyName": "shape",
                            "baseClass": "DiagramShape",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "complexDirective": [
                                {
                                    "propertyName": "annotations",
                                    "baseClass": "BpmnAnnotation",
                                    "isCommon": true,
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "blazorCommonClassName": "DiagramBpmnAnnotation",
                                    "complexDirective": [
                                        {
                                            "propertyName": "offset",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "baseClass": "Point"
                                        },
                                        {
                                            "propertyName": "hyperlink",
                                            "baseClass": "Hyperlink",
                                            "blazorClassName": "NodeHyperlink",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorCommonClassName": "DiagramsHyperlink"
                                        },
                                        {
                                            "propertyName": "style",
                                            "baseClass": "TextStyle",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true
                                        },
                                        {
                                            "propertyName": "margin",
                                            "baseClass": "Margin",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorClassName": "NodeAnnotationMargin",
                                            "blazorCommonClassName": "Margin"
                                        },
                                        {
                                            "propertyName": "dragLimit",
                                            "baseClass": "Margin",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorClassName": "NodeAnnotationDragLimit",
                                            "blazorCommonClassName": "Margin"
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "classShape",
                                    "baseClass": "UmlClass",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "complexDirective": [
                                        {
                                            "propertyName": "attributes",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "baseClass": "UmlClassAttribute"
                                        },
                                        {
                                            "propertyName": "methods",
                                            "baseClass": "UmlClassMethod",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "complexDirective": [
                                                {
                                                    "directoryName": "diagram",
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true,
                                                    "propertyName": "parameters",
                                                    "baseClass": "MethodArguments",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "style",
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true,
                                                            "baseClass": "TextStyle",
                                                            "blazorClassName": "UMLParameterShapeStyle",
                                                            "isCommon": true,
                                                            "blazorCommonClassName": "DiagramsTextStyle",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "gradient",
                                                                    "baseClass": "DiagramGradient",
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "propertyName": "style",
                                            "baseClass": "TextStyle",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorClassName": "UMLClassShapeStyle",
                                            "isCommon": true,
                                            "blazorCommonClassName": "DiagramsTextStyle",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "gradient",
                                                    "baseClass": "DiagramGradient",
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true
                                                }
                                            ]
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "interfaceShape",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "UmlInterface"
                                },
                                {
                                    "propertyName": "enumerationShape",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "UmlEnumeration",
                                    "complexDirective": [
                                        {
                                            "directoryName": "diagram",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "propertyName": "members",
                                            "baseClass": "UmlEnumerationMember",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "style",
                                                    "baseClass": "TextStyle",
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true,
                                                    "blazorClassName": "EnumerationMemberShapeStyle",
                                                    "isCommon": true,
                                                    "blazorCommonClassName": "DiagramsTextStyle",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "gradient",
                                                            "baseClass": "DiagramGradient",
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "propertyName": "style",
                                            "baseClass": "TextStyle",
                                            "blazorClassName": "UMLEnumerationShapeStyle",
                                            "isCommon": true,
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "blazorCommonClassName": "DiagramsTextStyle",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "gradient",
                                                    "baseClass": "DiagramGradient",
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true
                                                }
                                            ]
                                        }
                                    ]
                                },
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "isCommon": true,
                                    "blazorClassName": "BasicShapeMargin",
                                    "blazorCommonClassName": "Margin"
                                },
                                {
                                    "propertyName": "annotation",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "BpmnAnnotation"
                                },
                                {
                                    "propertyName": "event",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "BpmnEvent"
                                },
                                {
                                    "propertyName": "gateway",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "BpmnGateway"
                                },
                                {
                                    "propertyName": "dataObject",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "BpmnDataObject"
                                },
                                {
                                    "propertyName": "activity",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "baseClass": "BpmnActivity",
                                    "complexDirective": [
                                        {
                                            "propertyName": "task",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "baseClass": "BpmnTask"
                                        },
                                        {
                                            "propertyName": "subProcess",
                                            "isCustomBlazor": "True",
                                            "isBlazorOnly": true,
                                            "baseClass": "BpmnSubProcess",
                                            "complexDirective": [
                                                {
                                                    "propertyName": "events",
                                                    "baseClass": "BpmnSubEvent",
                                                    "isCommon": true,
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true,
                                                    "blazorCommonClassName": "DiagramBpmnSubEvent",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "offset",
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true,
                                                            "baseClass": "Point"
                                                        }
                                                    ]
                                                },
                                                {
                                                    "propertyName": "transaction",
                                                    "isCustomBlazor": "True",
                                                    "isBlazorOnly": true,
                                                    "baseClass": "BpmnTransactionSubProcess",
                                                    "complexDirective": [
                                                        {
                                                            "propertyName": "success",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true,
                                                            "isCommon": true,
                                                            "blazorClassName": "SuccessSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "isCommon": true,
                                                                    "blazorClassName": "SuccessOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "isCommon": true,
                                                                    "blazorClassName": "SuccessMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "propertyName": "failure",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCommon": true,
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true,
                                                            "blazorClassName": "FailureSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCommon": true,
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "blazorClassName": "FailureOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCommon": true,
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "blazorClassName": "FailureMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "propertyName": "cancel",
                                                            "baseClass": "BpmnSubEvent",
                                                            "isCommon": true,
                                                            "isCustomBlazor": "True",
                                                            "isBlazorOnly": true,
                                                            "blazorClassName": "CancelSubEvent",
                                                            "blazorCommonClassName": "DiagramsBpmnSubEvent",
                                                            "complexDirective": [
                                                                {
                                                                    "propertyName": "offset",
                                                                    "baseClass": "Point",
                                                                    "isCommon": true,
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "blazorClassName": "CancelOffset",
                                                                    "blazorCommonClassName": "Coordinates"
                                                                },
                                                                {
                                                                    "propertyName": "margin",
                                                                    "baseClass": "Margin",
                                                                    "isCommon": true,
                                                                    "isCustomBlazor": "True",
                                                                    "isBlazorOnly": true,
                                                                    "blazorClassName": "CancelMargin",
                                                                    "blazorCommonClassName": "Margin"
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    "propertyName": "contextMenuSettings",
                    "isPartialClass": true,
                    "baseClass": "ContextMenuSettings"
                },
                {
                    "propertyName": "serializationSettings",
                    "baseClass": "SerializationSettings"
                },
                {
                    "propertyName": "scrollSettings",
                    "baseClass": "ScrollSettings",
                    "complexDirective": [
                        {
                            "propertyName": "autoScrollBorder",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "blazorClassName": "AutoScrollMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "padding",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "blazorClassName": "AutoScrollPadding",
                            "blazorCommonClassName": "Margin"
                        }
                    ]
                },
                {
                    "propertyName": "snapSettings",
                    "baseClass": "SnapSettings",
                    "complexDirective": [
                        {
                            "propertyName": "horizontalGridlines",
                            "baseClass": "Gridlines",
                            "isCommon": true,
                            "blazorCommonClassName": "DiagramsGridLines",
                            "blazorClassName": "HorizontalGridlines"
                        },
                        {
                            "propertyName": "verticalGridlines",
                            "baseClass": "Gridlines",
                            "isCommon": true,
                            "blazorCommonClassName": "DiagramsGridLines",
                            "blazorClassName": "VerticalGridlines"
                        }
                    ]
                },
                {
                    "propertyName": "rulerSettings",
                    "baseClass": "RulerSettings",
                    "complexDirective": [
                        {
                            "propertyName": "horizontalRuler",
                            "baseClass": "DiagramRuler",
                            "isCommon": true,
                            "blazorCommonClassName": "DiagramsRuler",
                            "blazorClassName": "HorizontalRuler"
                        },
                        {
                            "propertyName": "verticalRuler",
                            "baseClass": "DiagramRuler",
                            "isCommon": true,
                            "blazorCommonClassName": "DiagramsRuler",
                            "blazorClassName": "VerticalRuler"
                        }
                    ]
                },
                {
                    "propertyName": "pageSettings",
                    "baseClass": "PageSettings",
                    "complexDirective": [
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCommon": true,
                            "blazorClassName": "PageSettingsMargin",
                            "blazorCommonClassName": "Margin"
                        },
                        {
                            "propertyName": "background",
                            "baseClass": "Background"
                        },
                        {
                            "propertyName": "fitOptions",
                            "baseClass": "FitOptions",
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorCommonClassName": "Margin",
                                    "blazorClassName": "DiagramFitOptionsMargin"
                                }
                            ]
                        }
                    ]
                },
                {
                    "propertyName": "tooltip",
                    "baseClass": "DiagramTooltip",
                    "isCommon": true,
                    "blazorClassName": "DiagramTooltip",
                    "blazorCommonClassName": "DiagramsTooltip"
                },
                {
                    "propertyName": "dataSourceSettings",
                    "baseClass": "DataSource",
                    "complexDirective": [
                        {
                            "propertyName": "crudAction",
                            "baseClass": "CrudAction",
                            "isDeprecated": true,
                            "blazorClassName": "DataSourceCrudAction",
                            "isCommon": true,
                            "blazorCommonClassName": "DiagramsCrudAction"
                        },
                        {
                            "propertyName": "connectionDataSource",
                            "baseClass": "ConnectionDataSource",
                            "complexDirective": [
                                {
                                    "propertyName": "crudAction",
                                    "baseClass": "CrudAction",
                                    "isDeprecated": true,
                                    "blazorClassName": "ConnectionDataSourceCrudAction",
                                    "isCommon": true,
                                    "blazorCommonClassName": "DiagramsCrudAction"
                                }
                            ]
                        }
                    ],
                    "tagDirective": [
                        {
                            "arrayDirectiveClassName": "DataMapSettings",
                            "directiveClassName": "DataMapSetting",
                            "arrayDirectiveSelector": "e-data-maps>e-data-maps",
                            "directiveSelector": "e-datasource>e-data-maps>e-data-maps",
                            "directoryName": "diagram",
                            "propertyName": "dataMapSettings",
                            "baseClass": "DataMappingItems",
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * <e-data-maps>",
                                " * <e-data-map>",
                                " * </e-data-map>",
                                " * </e-data-maps>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a port of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <DataSourceDirective>",
                                " * <DataMapsDirective>",
                                " * <DataMapDirective>",
                                " * </DataMapDirective>",
                                " * </DataMapsDirective>",
                                " * </SelectorDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-port` directive represent a port of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-data-maps>",
                                " * <e-data-map>",
                                " * </e-data-map>",
                                " * </e-data-maps>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ]
                        }
                    ]
                },
                {
                    "propertyName": "selectedItems",
                    "baseClass": "Selector",
                    "isDeprecated": true,
                    "blazorClassName": "DiagramSelectedItems",
                    "tagDirective": [
                        {
                            "arrayDirectiveClassName": "UserHandles",
                            "directiveClassName": "UserHandle",
                            "arrayDirectiveSelector": "e-user-handles>e-user-handle",
                            "directiveSelector": "e-selector>e-user-handles>e-user-handle",
                            "directoryName": "diagram",
                            "isDeprecated": true,
                            "propertyName": "userHandles",
                            "baseClass": "UserHandle",
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * <e-user-handles>",
                                " * <e-user-handle>",
                                " * </e-user-handle>",
                                " * </e-user-handles>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a port of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <SelectorDirective>",
                                " * <UserHandlesDirective>",
                                " * <UserHandleDirective>",
                                " * </UserHandleDirective>",
                                " * </UserHandlesDirective>",
                                " * </SelectorDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-port` directive represent a port of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-user-handles>",
                                " * <e-user-handle>",
                                " * </e-user-handle>",
                                " * </e-user-handles>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ],
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCommon": true,
                                    "blazorClassName": "UserHandleMargin",
                                    "blazorCommonClassName": "Margin"
                                }
                            ]
                        }
                    ],
                    "complexDirective": [
                        {
                            "propertyName": "pivot",
                            "baseClass": "Point",
                            "isDeprecated": true,
                            "blazorClassName": "SelectorPivot",
                            "isCommon": true,
                            "blazorCommonClassName": "Coordinates"
                        }
                    ]
                },
                {
                    "propertyName": "selectedItems",
                    "baseClass": "Selector",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "blazorClassName": "DiagramSelectedItems",
                    "complexDirective": [
                        {
                            "propertyName": "userHandles",
                            "baseClass": "UserHandle",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true,
                            "blazorClassName": "DiagramUserHandle",
                            "complexDirective": [
                                {
                                    "propertyName": "margin",
                                    "baseClass": "Margin",
                                    "isCustomBlazor": "True",
                                    "isBlazorOnly": true,
                                    "isCommon": true,
                                    "blazorCommonClassName": "Margin",
                                    "blazorClassName": "DiagramUserHandleMargin"
                                }
                            ]
                        },
                        {
                            "propertyName": "pivot",
                            "baseClass": "Point",
                            "isDeprecated": true,
                            "blazorClassName": "SelectorPivot",
                            "isCommon": true,
                            "blazorCommonClassName": "Coordinates"
                        }
                    ]
                },
                {
                    "propertyName": "layout",
                    "baseClass": "Layout",
                    "isDeprecated": true,
                    "complexDirective": [
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isDeprecated": true
                        }
                    ]
                },
                {
                    "propertyName": "layout",
                    "baseClass": "Layout",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true,
                    "complexDirective": [
                        {
                            "propertyName": "margin",
                            "baseClass": "Margin",
                            "isCustomBlazor": "True",
                            "isBlazorOnly": true
                        }
                    ]
                },
                {
                    "propertyName": "commandManager",
                    "baseClass": "CommandManager",
                    "tagDirective": [
                        {
                            "arrayDirectiveClassName": "Commands",
                            "directiveClassName": "Command",
                            "arrayDirectiveSelector": "e-commands>e-command",
                            "directiveSelector": "e-command-manager>e-commands>e-command",
                            "directoryName": "diagram",
                            "propertyName": "commands",
                            "baseClass": "Command",
                            "comment": [
                                "/**",
                                " * Nodes Directive",
                                " * <e-commands>",
                                " * <e-command>",
                                " * </e-command>",
                                " * </e-commands>",
                                " * ```",
                                " */"
                            ],
                            "reactComment": [
                                "/**",
                                " * `Node` directive represent a port of the react Diagram. ",
                                " * It must be contained in a Diagram component(`DiagramComponent`). ",
                                " * ```tsx",
                                " * <DiagramComponent>",
                                " * <CommandManagerDirective>",
                                " * <CommandsDirective>",
                                " * <CommandDirective>",
                                " * </CommandDirective>",
                                " * </CommandsDirective>",
                                " * </CommandManagerDirective>",
                                " * </DiagramComponent>",
                                " * ```",
                                " */"
                            ],
                            "vueComment": [
                                "/**",
                                " * `e-port` directive represent a port of the vue Diagram. ",
                                " * It must be contained in a Diagram component(`ejs-diagram`). ",
                                " * ```html",
                                " * <ejs-diagram>",
                                " * <e-commands>",
                                " * <e-command>",
                                " * </e-command>",
                                " * </e-commands>",
                                " * </ejs-diagram>",
                                " * ```",
                                " */"
                            ],
                            "complexDirective": [
                                {
                                    "propertyName": "gesture",
                                    "baseClass": "KeyGesture"
                                }
                            ]
                        }
                    ]
                }
            ],
            "templateProperties": [
                "annotationTemplate",
                "nodeTemplate",
                "userHandleTemplate"
            ],
            "blazorTemplates": [
                "nodeTemplate",
                "annotationTemplate",
                "userHandleTemplate"
            ],
            "nativeEvents": [
                "onfocus",
                "onclick",
                "onmousemove",
                "onmouseover",
                "onmouseout",
                "onmousedown",
                "onmouseup",
                "ondblclick",
                "onkeydown",
                "onkeyup",
                "ondrop"
            ]
        },
        {
            "baseClass": "SymbolPalette",
            "directoryName": "symbol-palette",
            "type": "simple",
            "defaultTag": "<symbol-palette id='sample'></symbol-palette>",
            "twoWays": [],
            "blazorPlaceholder": "symbolpalette",
            "comment": [
                "/**",
                " * SymbolPalette Component",
                " * ```html",
                " * <ej-symbol-palette></ej-symbol-palette>",
                " * ```",
                " */"
            ],
            "reactComment": [
                "/**",
                " * Represents react SymbolPalette Component",
                " * ```tsx",
                " * <SymbolPaletteComponent></SymbolPaletteComponent>",
                " * ```",
                " */"
            ],
            "vueComment": [
                "/**",
                " * Represents vue SymbolPalette Component",
                " * ```html",
                " * <ej-symbol-palette></ej-symbol-palette>",
                " * ```",
                " */"
            ],
            "tagDirective": [
                {
                    "arrayDirectiveClassName": "Palettes",
                    "directiveClassName": "Palette",
                    "propertyName": "palettes",
                    "directoryName": "symbol-palette",
                    "isDeprecated": true,
                    "baseClass": "Palette",
                    "comment": [
                        "/**",
                        " * Palette Directive",
                        " * ```html",
                        " * <e-palettes><e-palette></e-palette><e-palettes>",
                        " * ```",
                        " */"
                    ],
                    "reactComment": [
                        "/**",
                        " * `Palette` directive represent a axis palette of the react SymbolPalette. ",
                        " * It must be contained in a SymbolPalette component(`SymbolPaletteComponent`). ",
                        " * ```tsx",
                        " * <SymbolPaletteComponent> ",
                        " * <PalettesDirective>",
                        " * <PaletteDirective></PaletteDirective>",
                        " * </PalettesDirective>",
                        " * </SymbolPaletteComponent>",
                        " * ```",
                        " */"
                    ],
                    "vueComment": [
                        "/**",
                        " * `Palette` directive represent a axis palette of the vue SymbolPalette. ",
                        " * It must be contained in a SymbolPalette component(`SymbolPaletteComponent`). ",
                        " * ```html",
                        " * <e-palettes><e-palette></e-palette><e-palettes>",
                        " * ```",
                        " */"
                    ]
                }
            ],
            "complexDirective": [
                {
                    "propertyName": "palettes",
                    "baseClass": "Palette",
                    "isCustomBlazor": "True",
                    "isBlazorOnly": true
                },
                {
                    "propertyName": "symbolPreview",
                    "baseClass": "SymbolPreview",
                    "complexDirective": [
                        {
                            "propertyName": "offset",
                            "baseClass": "Point",
                            "blazorClassName": "SymbolPreviewOffset",
                            "isCommon": true,
                            "blazorCommonClassName": "PreviewOffset"
                        }
                    ]
                },
                {
                    "propertyName": "symbolMargin",
                    "baseClass": "Margin",
                    "isCommon": true,
                    "blazorClassName": "SymbolMargin",
                    "blazorCommonClassName": "PreviewMargin"
                }
            ],
            "dynamicModules": [
                "BpmnDiagrams"
            ],
            "nativeEvents": [
                "onfocus",
                "onclick",
                "onmousemove",
                "onmouseover",
                "onmouseout",
                "onmousedown",
                "onmouseup",
                "ondblclick",
                "onkeydown",
                "onkeyup",
                "ondrop"
            ]
        },
        {
            "baseClass": "Overview",
            "directoryName": "overview",
            "type": "simple",
            "defaultTag": "<overview id='sample'></overview>",
            "twoWays": [],
            "blazorPlaceholder": "overview",
            "comment": [
                "/**",
                " * Overview Component",
                " * ```html",
                " * <ej-overview></ej-overview>",
                " * ```",
                " */"
            ],
            "reactComment": [
                "/**",
                " * Represents react Overview Component",
                " * ```tsx",
                " * <OverviewComponent></OverviewComponent>",
                " * ```",
                " */"
            ],
            "vueComment": [
                "/**",
                " * Represents vue Overview Component",
                " * ```html",
                " * <ej-overview></ej-overview>",
                " * ```",
                " */"
            ],
            "tagDirective": [],
            "complexDirective": [],
            "nativeEvents": [
                "onfocus",
                "onclick",
                "onmousemove",
                "onmouseover",
                "onmouseout",
                "onmousedown",
                "onmouseup",
                "ondblclick",
                "onkeydown",
                "onkeyup",
                "ondrop"
            ]
        }
    ]
}