Meziantou.Framework.Diagrams namespace

Classes

NameDescription
ArchitectureAlignmentAn alignment of an architecture diagram: services and junctions placed on a row or a column, in order (Mermaid align).
ArchitectureDiagramAn architecture diagram: services drawn as icons, junctions, groups, and edges that leave and reach the services by a given side (Mermaid architecture-beta). The sides of the edges place the services on a grid: an edge from the right of A to the left of B puts B on the right of A.
ArchitectureEdgeAn edge of an architecture diagram, from a side of a node to a side of another node.
ArchitectureGroupA group of an architecture diagram: a frame with an icon and a title around services, junctions and groups.
ArchitectureJunctionA junction of an architecture diagram: a point where edges meet, which is not drawn.
ArchitectureNodeA node of an architecture diagram that edges link: a service or a junction.
ArchitectureServiceA service of an architecture diagram: an icon with its title below.
BlockDiagramA block diagram: blocks placed on a grid of columns in the order they are declared, spanning one or more columns, grouped in composite blocks, with block arrows, empty spaces and edges (Mermaid block). Unlike a flowchart, the author decides where each block goes.
BlockDiagramArrowA block arrow of a block diagram: a wide arrow with a text, pointing in one or more directions (Mermaid id<["text"]>(right)).
BlockDiagramBlockA block of a block diagram: a shape with a text, which edges can link.
BlockDiagramCompositeA composite block of a block diagram: a frame around items placed on its own grid of columns (Mermaid block ... end).
BlockDiagramEdgeAn edge of a block diagram: a straight line between two blocks.
BlockDiagramItemAn item of a block diagram, which takes one or more columns of its row: a block or a space.
BlockDiagramSpaceAn empty space of a block diagram, which leaves columns free (Mermaid space).
C4BoundaryA boundary of a C4 diagram, or a deployment node: a frame with a name around elements and other boundaries.
C4DiagramA C4 diagram of a software architecture: people, systems, containers and components, grouped in boundaries or deployment nodes, and the relationships between them (Mermaid C4Context, C4Container, C4Component, C4Dynamic and C4Deployment). As in Mermaid, the elements are placed in rows in the order they are declared, not by an automatic layout.
C4ElementAn element of a C4 diagram: a person, a software system, a container or a component.
C4ItemAn item of a C4 diagram that relationships can link: an element or a boundary.
C4RelationshipA relationship of a C4 diagram: a line from an item to another, with its text and its technology.
ClassDiagramA class diagram: classes with their attributes and methods, linked by relations (inheritance, composition, association...), grouped in namespaces (Mermaid classDiagram).
ClassDiagramClassA class of a class diagram: a box with its name, its annotations, its attributes and its methods.
ClassDiagramElementAn element of a class diagram that relations can link: a class or an interface.
ClassDiagramInterfaceAn interface of a class diagram drawn as a lollipop: a small circle with its name, linked to the classes that provide it.
ClassDiagramNamespaceA group of classes of a class diagram, drawn as a frame with a title.
ClassDiagramNoteA note of a class diagram, alone or attached to a class.
ClassMemberAn attribute or a method of a class.
ClassRelationA relation between two elements of a class diagram, such as an inheritance or a composition.
CynefinDiagramA diagram of the Cynefin framework: the complex, complicated, chaotic and clear domains as four quadrants separated by wavy boundaries, the confusion domain in their center, items placed in the domains, and transitions between the domains (Mermaid cynefin-beta). The domains are always at the same place: complex at the top left, complicated at the top right, chaotic at the bottom left and clear at the bottom right.
CynefinItemAn item of a CynefinDiagram: a text drawn as a badge in its domain.
CynefinThemeThe colors and sizes of a CynefinDiagram that replace the ones of the theme (the cynefin theme variables of Mermaid). A null value keeps the one of the theme.
CynefinTransitionA movement between two domains of a CynefinDiagram, drawn as a curved arrow between their centers.
DiagramA diagram: a flowchart, a class diagram, a state diagram... Diagram.CreateScene lays it out into a Scene; Diagram.ToSvg writes it as SVG. The output is deterministic: the same diagram always gives the same SVG.
DiagramStyleThe look of an element of a diagram, the CSS properties of the style and classDef statements of Mermaid. A property that is null keeps the value of the theme.
DiagramTextThe text of a label of a diagram: plain text, or markdown with bold and italic parts.
DiagramThemeThe colors and the font of a diagram: the variables of the themes of Mermaid. DiagramTheme.Default, DiagramTheme.Dark, DiagramTheme.Forest, DiagramTheme.Neutral and DiagramTheme.Base are the themes of Mermaid 12; change a value with with: DiagramTheme.Default with { NodeBackground = "#e0f2fe" }.
ErAttributeAn attribute of an entity: a row of its table, with its type, its name, its keys and its comment.
ErDiagramAn entity relationship diagram: entities with their attributes, linked by relationships whose ends show their cardinality in crow's foot notation, grouped in subgraphs (Mermaid erDiagram).
ErElementAn element of an entity relationship diagram that relationships can link: an entity or a subgraph.
ErEntityAn entity of an entity relationship diagram: a box with its name and the table of its attributes.
ErRelationshipA relationship between two elements of an entity relationship diagram.
ErSubgraphA group of entities of an entity relationship diagram, drawn as a frame with a title. Its ErElement.Label is its title.
EventModelingDataThe data of a frame, a data block or a note of an event model: an example or a schema, as text.
EventModelingDataBlockA data block of an event model: named data that frames reference (Mermaid data name { ... }).
EventModelingDiagramAn event model: a timeline of frames (screens, processors, commands, read models and events) placed in swimlanes, left to right in order, with the relations between them inferred or explicit (Mermaid eventmodeling).
EventModelingFrameA frame of an event model: an entity at a point of the timeline, drawn as a box in its swimlane.
EventModelingNoteA note of an event model, attached to a frame (Mermaid note 01 { ... }). Mermaid does not draw it.
EventModelingScenarioA given/when/then scenario of a frame of an event model (Mermaid gwt). Mermaid does not draw it.
EventModelingStepA step of a given/when/then scenario of an event model: a kind of entity and the name of a declared entity.
FlowchartDiagramA flowchart: nodes of various shapes linked by edges, grouped in subgraphs, laid out in ranks in the direction of the flow (Mermaid flowchart).
FlowchartEdgeAn edge of a flowchart, from a node or a subgraph to another.
FlowchartElementAn element of a flowchart that edges can link: a node or a subgraph.
FlowchartNodeA node of a flowchart: a shape with a label.
FlowchartSubgraphA group of nodes of a flowchart, drawn as a frame with a title. Its FlowchartElement.Label is its title.
GanttDiagramA Gantt chart: tasks on a time axis, grouped in sections, which start at a date or after other tasks and last a duration or until another task (Mermaid gantt). The dates have no time zone; nothing depends on the current date, unless GanttDiagram.Today is set.
GanttSectionA section of a Gantt chart: tasks drawn on rows of the same color, with the title on the left.
GanttTaskA task of a Gantt chart. It starts at GanttTask.Start, or after the tasks of GanttTask.After, or else after the previous task; it ends at GanttTask.End, or at the start of the first task of GanttTask.Until, or after GanttTask.Duration, or else at its start.
GitGraphBranchCreates a branch from the current commit of a Git graph and checks it out (Mermaid branch).
GitGraphCheckoutMakes a branch the current branch of a Git graph (Mermaid checkout or switch).
GitGraphCherryPickCopies a commit of another branch onto the current branch of a Git graph (Mermaid cherry-pick).
GitGraphCommitA commit on the current branch of a Git graph (Mermaid commit).
GitGraphDiagramA Git graph: the commits of branches, their merges and their cherry-picks, written as the Git commands that create them (Mermaid gitGraph). The GitGraphDiagram.Operations run in order from an empty repository whose current branch is GitGraphDiagram.MainBranchName.
GitGraphMergeMerges a branch into the current branch of a Git graph with a merge commit (Mermaid merge).
GitGraphOperationAn operation of a Git graph: a commit, a branch, a checkout, a merge or a cherry-pick.
IshikawaCauseA cause of an Ishikawa diagram: a bone with a text, and the causes that lead to it as smaller bones.
IshikawaDiagramAn Ishikawa diagram, also known as a fishbone or cause-and-effect diagram: the effect, a problem, at the head of a spine, and its causes as bones on both sides of the spine, with their own causes as smaller bones (Mermaid ishikawa-beta).
KanbanCardA card of a kanban board: a task, with its assignee, its ticket and its priority.
KanbanColumnA column of a kanban board: a stage of the workflow, with its cards.
KanbanDiagramA kanban board: columns of cards, with their assignee, their ticket and their priority (Mermaid kanban).
MindmapDiagramA mindmap: a tree of ideas around a central one, each branch in its own color (Mermaid mindmap). The root is in the middle, its first children on its right and the others on its left.
MindmapNodeA node of a mindmap: a text in a shape, with its children.
PacketDiagramA packet diagram: the fields of a network packet or of a register, drawn over their bits, in rows of PacketDiagram.BitsPerRow bits (Mermaid packet).
PacketFieldA field of a packet diagram: a name over a range of bits.
RailroadChoiceA choice of a railroad diagram: alternatives drawn one below the other, between two branches.
RailroadDiagramA railroad diagram, also called a syntax diagram: the rules of a grammar, each drawn as a track that goes through terminals and nonterminals, with branches for the choices and loops for the repetitions (Mermaid railroad-beta, railroad-ebnf-beta, railroad-abnf-beta and railroad-peg-beta).
RailroadExpressionAn expression of a rule of a railroad diagram: a terminal, a nonterminal, a sequence, a choice, an optional part, a repetition or a special sequence.
RailroadNonterminalA nonterminal of a railroad diagram: a reference to a rule, drawn in a box.
RailroadOptionalAn optional expression of a railroad diagram: a track that goes through the expression, and a bypass above it.
RailroadRepetitionA repetition of a railroad diagram: a loop back below the expression, and a bypass above it when the expression can be skipped. Bounds other than zero or one to unbounded, as the 2*4 of ABNF, are written below the loop.
RailroadRuleA rule of a railroad diagram: a name and the expression it stands for.
RailroadSequenceA sequence of a railroad diagram: expressions one after the other, on one track.
RailroadSpecialA special sequence of a railroad diagram: a description of what the grammar cannot express, drawn as ? text ? (EBNF ? text ?). The predicates of PEG (&a, !a) and its . are special sequences too.
RailroadTerminalA terminal of a railroad diagram: a literal text, drawn in a rounded box.
RequirementDiagramA requirement diagram, in the style of SysML: requirements, the elements that satisfy or verify them, and the relationships between them (Mermaid requirementDiagram).
RequirementDiagramElementAn element of a requirement diagram: a part of another document, such as a test suite, that requirements relate to.
RequirementDiagramNodeA node of a requirement diagram: a requirement or an element.
RequirementDiagramRequirementA requirement of a requirement diagram: a box with its kind, its name, its identifier, its text, its risk and how it is verified.
RequirementRelationshipA relationship between two nodes of a requirement diagram, such as an element that satisfies a requirement.
SequenceActivationThe start or the end of an activation of a participant of a sequence diagram: a bar on its lifeline (Mermaid activate and deactivate).
SequenceAutonumberA change of the numbering of the messages of a sequence diagram (Mermaid autonumber).
SequenceBlockA block of a sequence diagram: a frame around steps, such as a loop, or the sections of an alternative.
SequenceBlockSectionA section of a block of a sequence diagram: a text, such as the condition of an alternative, and steps.
SequenceBoxA box of a sequence diagram: a colored background with a title behind a group of participants.
SequenceDiagramA sequence diagram: participants side by side, with their lifelines, and the messages they exchange over time, from the top to the bottom, with activations, notes and blocks such as loops and alternatives (Mermaid sequenceDiagram).
SequenceMessageA message of a sequence diagram: an arrow from the lifeline of a participant to another one, with a text.
SequenceNoteA note of a sequence diagram, on a side of a participant or over one or two participants.
SequenceParticipantA participant of a sequence diagram: a box, a person or a symbol at the top of its lifeline.
SequenceStepA step of a sequence diagram: a message, a note, an activation, a block or a change of the numbering.
StateDiagramA state diagram: states, linked by transitions, with start and end states, choices, forks and joins, and composite states that hold other states, in concurrent regions or not (Mermaid stateDiagram-v2).
StateDiagramRegionA region of a composite state: the states of a composite state, or one of its concurrent parts.
StateDiagramStateA state of a state diagram. A state with regions is a composite state, drawn as a frame around them.
StateNoteA note next to a state.
StateTransitionA transition from a state to another.
TimelineDiagramA timeline: periods in order, each with its events, grouped in sections of the same color (Mermaid timeline).
TimelinePeriodA period of a timeline, such as a year, with its events.
TimelineSectionA section of a timeline: a title above periods of the same color.
TreeViewDiagramA tree view: a hierarchy of files and directories drawn as indented rows linked by connector lines, like the output of the tree command, with optional icons and descriptions (Mermaid treeView-beta). As in Mermaid, the tree starts with a root directory named /.
TreeViewNodeA node of a tree view: a file or a directory, with its children.
UseCaseA use case of a use case diagram: something the system does for its actors, drawn as an ellipse or a rectangle.
UseCaseActorAn actor of a use case diagram: a person or a system that takes part in use cases, drawn as a figure with its name below.
UseCaseBoundaryA system boundary of a use case diagram: a frame with a title around the actors and the use cases of a system.
UseCaseDiagramA use case diagram, in the style of UML: actors, the use cases of a system they take part in, the system boundaries, and the relationships between them (Mermaid usecase-beta).
UseCaseDiagramElementAn element of a use case diagram that relationships can link: an actor, a use case or a table.
UseCaseJsonTableA table of a use case diagram that shows JSON data: a row per value, with its path, such as items[0].name.
UseCaseNoteA note of a use case diagram, attached to an actor or a use case by a dotted line.
UseCaseRelationshipA relationship between two elements of a use case diagram: an association, an include, an extend or a generalization.
UserJourneyDiagramA user journey: the tasks a user does to reach a goal, grouped in sections, each with the satisfaction of the actors who take part, drawn as a face (Mermaid journey).
UserJourneySectionA section of a user journey: a part of the goal, above its tasks.
UserJourneyTaskA task of a user journey: a step, with the satisfaction of its actors and the actors who take part.
VennAreaAn area of a VennDiagram: a set, drawn as a circle (Mermaid set), or the overlap of several sets (Mermaid union), with its label and its size.
VennDiagramA Venn diagram: sets drawn as overlapping circles, whose areas and overlaps follow their sizes, with labels and texts inside them (Mermaid venn-beta). The circles are laid out as Mermaid does, with the algorithm of venn.js.
VennStyleThe style of an area or of a text of a VennDiagram (Mermaid style). A null property keeps the default.
VennStyleRuleA style applied to an area or to a text of a VennDiagram (Mermaid style): the targets are the sets of an area, or the identifier of a text. The rules of the same targets are merged in order.
VennTextNodeA text placed inside an area of a VennDiagram: the texts of an area are laid out in a grid (Mermaid text).
WardleyAcceleratorA force on the evolution of a Wardley map, drawn as a large arrow with its name: an accelerator points right, a deaccelerator points left (Mermaid accelerator and deaccelerator).
WardleyAnchorAn anchor of a Wardley map: a user or a customer, whose needs the value chain serves, drawn as a bold name (Mermaid anchor).
WardleyAnnotationA numbered annotation of a Wardley map: a number in a circle at a position, whose text is listed in the box of the annotations (Mermaid annotation 1,[visibility, evolution] "text").
WardleyComponentA component of a Wardley map: a part of the value chain, drawn as a circle with its name (Mermaid component).
WardleyDiagramA Wardley map: the components of a value chain placed by their visibility to the user (vertically) and their evolution, from genesis to commodity (horizontally), with their dependencies, their movements and the forces on them (Mermaid wardley-beta). The coordinates are between 0 and 1.
WardleyEvolveA movement of a component of a Wardley map toward a later stage of evolution, drawn as a dashed red arrow (Mermaid evolve).
WardleyLinkA link of a Wardley map: a dependency of a component on another one, or a flow between them.
WardleyNoteA note of a Wardley map: a bold text at a position (Mermaid note "text" [visibility, evolution]).
WardleyPipelineA pipeline of a Wardley map: the variants of a component at different stages of evolution, drawn in a box at the visibility of the component, which moves above the box as a square (Mermaid pipeline Parent { ... }).
WardleyPipelineComponentA component of a pipeline of a Wardley map: a variant of the parent component, at the visibility of the parent.
WardleyStageA stage of the evolution axis of a Wardley map, such as Genesis or Commodity.

Structs

NameDescription
GanttDurationA duration of a task of a Gantt chart, such as 3 days (Mermaid 3d).
GanttTickIntervalThe interval between the ticks of the axis of a Gantt chart, such as every week (Mermaid tickInterval 1week).
WardleyLabelOffsetThe position of the label of a component of a Wardley map, relative to the component, in pixels (Mermaid label [x, y]).
WardleyPositionA position on a Wardley map: its visibility, from 0 at the bottom to 1 at the top, and its evolution, from 0 on the left to 1 on the right.

Enums

NameDescription
ArchitectureSideA side of a node of an architecture diagram.
BlockArrowDirectionsThe directions a block arrow points to.
C4BoundaryKindThe kind of a boundary of a C4 diagram.
C4DiagramKindThe kind of a C4 diagram.
C4ElementKindThe kind of an element of a C4 diagram.
C4ElementShapeThe shape of an element of a C4 diagram.
C4RelationshipKindThe kind of a relationship of a C4 diagram.
ClassMemberVisibilityThe visibility of a member of a class, shown before its name.
ClassRelationEndThe decoration of an end of a relation of a class diagram.
CynefinDomainA domain of the Cynefin framework: how cause and effect relate in a situation, and so how to respond to it.
DiagramDirectionThe direction in which a diagram flows, from the first nodes to the last ones.
DiagramTextFormatHow the content of a DiagramText is read.
EdgeCurveHow the line of an edge goes through the points the layout gives it, as the curves of d3 that Mermaid uses.
ErAttributeKeysThe keys an attribute of an entity is part of.
ErCardinalityHow many instances of an entity an instance of the other entity of a relationship relates to, drawn in crow's foot notation.
EventModelingDataFormatThe format of the data of an event model (Mermaid `json`{ ... }).
EventModelingEntityKindThe kind of the entity of a frame of an event model.
FlowchartArrowHeadThe decoration of an end of an edge of a flowchart.
FlowchartLineStyleThe line of an edge of a flowchart.
FlowchartNodeShapeThe shape of a node of a flowchart: the shapes of Mermaid.
GanttTimeUnitA unit of time of a Gantt chart.
GitGraphCommitTypeThe type of a commit of a Git graph, which sets its symbol.
GitGraphOrientationThe direction of the history of a Git graph.
KanbanPriorityThe priority of a card of a kanban board, shown as a colored stripe.
MindmapColorModeHow the nodes of a mindmap take their color from the palette of the theme.
MindmapNodeShapeThe shape of a node of a mindmap.
RailroadNotationThe notation of the grammar of a railroad diagram.
RequirementKindThe kind of a requirement, as defined by SysML.
RequirementRelationshipKindThe kind of a relationship of a requirement diagram, shown on the relationship.
RequirementRiskThe risk of a requirement.
RequirementVerificationMethodHow a requirement is verified, as defined by SysML.
SequenceArrowHeadThe decoration of an end of a message of a sequence diagram.
SequenceBlockKindThe kind of a block of a sequence diagram.
SequenceLineStyleThe style of the line of a message of a sequence diagram.
SequenceNotePositionWhere a note of a sequence diagram is, relative to its participants.
SequenceParticipantKindHow a participant of a sequence diagram is drawn.
StateKindThe kind of a state of a state diagram.
StateNotePositionThe side of a state a note is on.
TimelineDirectionThe direction of the time axis of a timeline.
UseCaseActorKindHow an actor of a use case diagram is drawn.
UseCaseArrowHeadThe decoration of an end of an association of a use case diagram.
UseCaseBoundaryKindThe shape of the frame of a system boundary.
UseCaseRelationshipKindThe kind of a relationship of a use case diagram.
UseCaseShapeThe shape of a use case.
WardleyFlowThe direction of the flow of a link of a Wardley map, drawn as arrowheads.
WardleySourcingHow a component of a Wardley map is sourced, drawn as a larger circle around it (Mermaid (build), (buy)...).