2022-08-21 07:30:22 +02:00
|
|
|
// TODO: This was auto generated from defaultConfig. Needs to be verified.
|
|
|
|
|
|
|
|
import DOMPurify from 'dompurify';
|
|
|
|
|
|
|
|
export interface MermaidConfig {
|
|
|
|
theme?: string;
|
|
|
|
themeVariables?: any;
|
|
|
|
themeCSS?: string;
|
|
|
|
maxTextSize?: number;
|
|
|
|
darkMode?: boolean;
|
2022-08-21 15:07:27 +02:00
|
|
|
htmlLabels?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
fontFamily?: string;
|
2022-08-22 13:42:05 +02:00
|
|
|
altFontFamily?: string;
|
2022-08-21 07:30:22 +02:00
|
|
|
logLevel?: number;
|
|
|
|
securityLevel?: string;
|
|
|
|
startOnLoad?: boolean;
|
|
|
|
arrowMarkerAbsolute?: boolean;
|
|
|
|
secure?: string[];
|
|
|
|
deterministicIds?: boolean;
|
|
|
|
deterministicIDSeed?: string;
|
|
|
|
flowchart?: FlowchartDiagramConfig;
|
|
|
|
sequence?: SequenceDiagramConfig;
|
|
|
|
gantt?: GanttDiagramConfig;
|
|
|
|
journey?: JourneyDiagramConfig;
|
2022-11-23 19:28:26 +01:00
|
|
|
timeline?: TimelineDiagramConfig;
|
2022-08-21 07:30:22 +02:00
|
|
|
class?: ClassDiagramConfig;
|
|
|
|
state?: StateDiagramConfig;
|
|
|
|
er?: ErDiagramConfig;
|
|
|
|
pie?: PieDiagramConfig;
|
2023-05-08 15:51:49 +02:00
|
|
|
quadrantChart?: QuadrantChartConfig;
|
2022-08-21 07:30:22 +02:00
|
|
|
requirement?: RequirementDiagramConfig;
|
2022-09-05 14:04:39 +02:00
|
|
|
mindmap?: MindmapDiagramConfig;
|
2022-08-21 07:30:22 +02:00
|
|
|
gitGraph?: GitGraphDiagramConfig;
|
|
|
|
c4?: C4DiagramConfig;
|
2023-06-18 00:32:45 +02:00
|
|
|
sankey?: SankeyDiagramConfig;
|
2022-08-21 07:30:22 +02:00
|
|
|
dompurifyConfig?: DOMPurify.Config;
|
2022-08-22 09:48:50 +02:00
|
|
|
wrap?: boolean;
|
2022-09-05 14:04:39 +02:00
|
|
|
fontSize?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// TODO: More configs needs to be moved in here
|
2022-08-21 18:57:13 +02:00
|
|
|
export interface BaseDiagramConfig {
|
2022-08-21 07:30:22 +02:00
|
|
|
useWidth?: number;
|
|
|
|
useMaxWidth?: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface C4DiagramConfig extends BaseDiagramConfig {
|
|
|
|
diagramMarginX?: number;
|
|
|
|
diagramMarginY?: number;
|
|
|
|
c4ShapeMargin?: number;
|
|
|
|
c4ShapePadding?: number;
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
|
|
|
boxMargin?: number;
|
|
|
|
c4ShapeInRow?: number;
|
|
|
|
nextLinePaddingX?: number;
|
|
|
|
c4BoundaryInRow?: number;
|
|
|
|
personFontSize?: string | number;
|
|
|
|
personFontFamily?: string;
|
|
|
|
personFontWeight?: string | number;
|
|
|
|
external_personFontSize?: string | number;
|
|
|
|
external_personFontFamily?: string;
|
|
|
|
external_personFontWeight?: string | number;
|
|
|
|
systemFontSize?: string | number;
|
|
|
|
systemFontFamily?: string;
|
|
|
|
systemFontWeight?: string | number;
|
|
|
|
external_systemFontSize?: string | number;
|
|
|
|
external_systemFontFamily?: string;
|
|
|
|
external_systemFontWeight?: string | number;
|
|
|
|
system_dbFontSize?: string | number;
|
|
|
|
system_dbFontFamily?: string;
|
|
|
|
system_dbFontWeight?: string | number;
|
|
|
|
external_system_dbFontSize?: string | number;
|
|
|
|
external_system_dbFontFamily?: string;
|
|
|
|
external_system_dbFontWeight?: string | number;
|
|
|
|
system_queueFontSize?: string | number;
|
|
|
|
system_queueFontFamily?: string;
|
|
|
|
system_queueFontWeight?: string | number;
|
|
|
|
external_system_queueFontSize?: string | number;
|
|
|
|
external_system_queueFontFamily?: string;
|
|
|
|
external_system_queueFontWeight?: string | number;
|
|
|
|
boundaryFontSize?: string | number;
|
|
|
|
boundaryFontFamily?: string;
|
|
|
|
boundaryFontWeight?: string | number;
|
|
|
|
messageFontSize?: string | number;
|
|
|
|
messageFontFamily?: string;
|
|
|
|
messageFontWeight?: string | number;
|
|
|
|
containerFontSize?: string | number;
|
|
|
|
containerFontFamily?: string;
|
|
|
|
containerFontWeight?: string | number;
|
|
|
|
external_containerFontSize?: string | number;
|
|
|
|
external_containerFontFamily?: string;
|
|
|
|
external_containerFontWeight?: string | number;
|
|
|
|
container_dbFontSize?: string | number;
|
|
|
|
container_dbFontFamily?: string;
|
|
|
|
container_dbFontWeight?: string | number;
|
|
|
|
external_container_dbFontSize?: string | number;
|
|
|
|
external_container_dbFontFamily?: string;
|
|
|
|
external_container_dbFontWeight?: string | number;
|
|
|
|
container_queueFontSize?: string | number;
|
|
|
|
container_queueFontFamily?: string;
|
|
|
|
container_queueFontWeight?: string | number;
|
|
|
|
external_container_queueFontSize?: string | number;
|
|
|
|
external_container_queueFontFamily?: string;
|
|
|
|
external_container_queueFontWeight?: string | number;
|
|
|
|
componentFontSize?: string | number;
|
|
|
|
componentFontFamily?: string;
|
|
|
|
componentFontWeight?: string | number;
|
|
|
|
external_componentFontSize?: string | number;
|
|
|
|
external_componentFontFamily?: string;
|
|
|
|
external_componentFontWeight?: string | number;
|
|
|
|
component_dbFontSize?: string | number;
|
|
|
|
component_dbFontFamily?: string;
|
|
|
|
component_dbFontWeight?: string | number;
|
|
|
|
external_component_dbFontSize?: string | number;
|
|
|
|
external_component_dbFontFamily?: string;
|
|
|
|
external_component_dbFontWeight?: string | number;
|
|
|
|
component_queueFontSize?: string | number;
|
|
|
|
component_queueFontFamily?: string;
|
|
|
|
component_queueFontWeight?: string | number;
|
|
|
|
external_component_queueFontSize?: string | number;
|
|
|
|
external_component_queueFontFamily?: string;
|
|
|
|
external_component_queueFontWeight?: string | number;
|
|
|
|
wrap?: boolean;
|
|
|
|
wrapPadding?: number;
|
|
|
|
person_bg_color?: string;
|
|
|
|
person_border_color?: string;
|
|
|
|
external_person_bg_color?: string;
|
|
|
|
external_person_border_color?: string;
|
|
|
|
system_bg_color?: string;
|
|
|
|
system_border_color?: string;
|
|
|
|
system_db_bg_color?: string;
|
|
|
|
system_db_border_color?: string;
|
|
|
|
system_queue_bg_color?: string;
|
|
|
|
system_queue_border_color?: string;
|
|
|
|
external_system_bg_color?: string;
|
|
|
|
external_system_border_color?: string;
|
|
|
|
external_system_db_bg_color?: string;
|
|
|
|
external_system_db_border_color?: string;
|
|
|
|
external_system_queue_bg_color?: string;
|
|
|
|
external_system_queue_border_color?: string;
|
|
|
|
container_bg_color?: string;
|
|
|
|
container_border_color?: string;
|
|
|
|
container_db_bg_color?: string;
|
|
|
|
container_db_border_color?: string;
|
|
|
|
container_queue_bg_color?: string;
|
|
|
|
container_queue_border_color?: string;
|
|
|
|
external_container_bg_color?: string;
|
|
|
|
external_container_border_color?: string;
|
|
|
|
external_container_db_bg_color?: string;
|
|
|
|
external_container_db_border_color?: string;
|
|
|
|
external_container_queue_bg_color?: string;
|
|
|
|
external_container_queue_border_color?: string;
|
|
|
|
component_bg_color?: string;
|
|
|
|
component_border_color?: string;
|
|
|
|
component_db_bg_color?: string;
|
|
|
|
component_db_border_color?: string;
|
|
|
|
component_queue_bg_color?: string;
|
|
|
|
component_queue_border_color?: string;
|
|
|
|
external_component_bg_color?: string;
|
|
|
|
external_component_border_color?: string;
|
|
|
|
external_component_db_bg_color?: string;
|
|
|
|
external_component_db_border_color?: string;
|
|
|
|
external_component_queue_bg_color?: string;
|
|
|
|
external_component_queue_border_color?: string;
|
|
|
|
personFont?: FontCalculator;
|
|
|
|
external_personFont?: FontCalculator;
|
|
|
|
systemFont?: FontCalculator;
|
|
|
|
external_systemFont?: FontCalculator;
|
|
|
|
system_dbFont?: FontCalculator;
|
|
|
|
external_system_dbFont?: FontCalculator;
|
|
|
|
system_queueFont?: FontCalculator;
|
|
|
|
external_system_queueFont?: FontCalculator;
|
|
|
|
containerFont?: FontCalculator;
|
|
|
|
external_containerFont?: FontCalculator;
|
|
|
|
container_dbFont?: FontCalculator;
|
|
|
|
external_container_dbFont?: FontCalculator;
|
|
|
|
container_queueFont?: FontCalculator;
|
|
|
|
external_container_queueFont?: FontCalculator;
|
|
|
|
componentFont?: FontCalculator;
|
|
|
|
external_componentFont?: FontCalculator;
|
|
|
|
component_dbFont?: FontCalculator;
|
|
|
|
external_component_dbFont?: FontCalculator;
|
|
|
|
component_queueFont?: FontCalculator;
|
|
|
|
external_component_queueFont?: FontCalculator;
|
|
|
|
boundaryFont?: FontCalculator;
|
|
|
|
messageFont?: FontCalculator;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface GitGraphDiagramConfig extends BaseDiagramConfig {
|
2022-11-17 04:36:51 +01:00
|
|
|
titleTopMargin?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
diagramPadding?: number;
|
|
|
|
nodeLabel?: NodeLabel;
|
|
|
|
mainBranchName?: string;
|
|
|
|
mainBranchOrder?: number;
|
|
|
|
showCommitLabel?: boolean;
|
|
|
|
showBranches?: boolean;
|
|
|
|
rotateCommitLabel?: boolean;
|
|
|
|
arrowMarkerAbsolute?: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface NodeLabel {
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
|
|
|
x?: number;
|
|
|
|
y?: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface RequirementDiagramConfig extends BaseDiagramConfig {
|
|
|
|
rect_fill?: string;
|
|
|
|
text_color?: string;
|
|
|
|
rect_border_size?: string;
|
|
|
|
rect_border_color?: string;
|
|
|
|
rect_min_width?: number;
|
|
|
|
rect_min_height?: number;
|
|
|
|
fontSize?: number;
|
|
|
|
rect_padding?: number;
|
|
|
|
line_height?: number;
|
|
|
|
}
|
|
|
|
|
2022-09-05 14:04:39 +02:00
|
|
|
export interface MindmapDiagramConfig extends BaseDiagramConfig {
|
|
|
|
useMaxWidth: boolean;
|
|
|
|
padding: number;
|
|
|
|
maxNodeWidth: number;
|
|
|
|
}
|
2022-09-09 14:42:41 +02:00
|
|
|
|
2023-02-25 01:02:32 +01:00
|
|
|
export interface PieDiagramConfig extends BaseDiagramConfig {
|
|
|
|
textPosition?: number;
|
|
|
|
}
|
2022-08-21 07:30:22 +02:00
|
|
|
|
2023-05-08 15:51:49 +02:00
|
|
|
export interface QuadrantChartConfig extends BaseDiagramConfig {
|
2023-07-06 02:06:01 +02:00
|
|
|
chartWidth?: number;
|
|
|
|
chartHeight?: number;
|
|
|
|
titleFontSize?: number;
|
|
|
|
titlePadding?: number;
|
|
|
|
quadrantPadding?: number;
|
|
|
|
xAxisLabelPadding?: number;
|
|
|
|
yAxisLabelPadding?: number;
|
|
|
|
xAxisLabelFontSize?: number;
|
|
|
|
yAxisLabelFontSize?: number;
|
|
|
|
quadrantLabelFontSize?: number;
|
|
|
|
quadrantTextTopPadding?: number;
|
|
|
|
pointTextPadding?: number;
|
|
|
|
pointLabelFontSize?: number;
|
|
|
|
pointRadius?: number;
|
|
|
|
xAxisPosition?: 'top' | 'bottom';
|
|
|
|
yAxisPosition?: 'left' | 'right';
|
|
|
|
quadrantInternalBorderStrokeWidth?: number;
|
|
|
|
quadrantExternalBorderStrokeWidth?: number;
|
2023-05-08 15:51:49 +02:00
|
|
|
}
|
|
|
|
|
2022-08-21 07:30:22 +02:00
|
|
|
export interface ErDiagramConfig extends BaseDiagramConfig {
|
2022-11-17 04:36:51 +01:00
|
|
|
titleTopMargin?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
diagramPadding?: number;
|
|
|
|
layoutDirection?: string;
|
|
|
|
minEntityWidth?: number;
|
|
|
|
minEntityHeight?: number;
|
|
|
|
entityPadding?: number;
|
|
|
|
stroke?: string;
|
|
|
|
fill?: string;
|
|
|
|
fontSize?: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface StateDiagramConfig extends BaseDiagramConfig {
|
2022-11-17 04:36:51 +01:00
|
|
|
titleTopMargin?: number;
|
2022-08-22 13:42:05 +02:00
|
|
|
arrowMarkerAbsolute?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
dividerMargin?: number;
|
|
|
|
sizeUnit?: number;
|
|
|
|
padding?: number;
|
|
|
|
textHeight?: number;
|
|
|
|
titleShift?: number;
|
|
|
|
noteMargin?: number;
|
|
|
|
forkWidth?: number;
|
|
|
|
forkHeight?: number;
|
|
|
|
miniPadding?: number;
|
|
|
|
fontSizeFactor?: number;
|
|
|
|
fontSize?: number;
|
|
|
|
labelHeight?: number;
|
|
|
|
edgeLengthFactor?: string;
|
|
|
|
compositTitleSize?: number;
|
|
|
|
radius?: number;
|
|
|
|
defaultRenderer?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface ClassDiagramConfig extends BaseDiagramConfig {
|
2022-11-17 04:36:51 +01:00
|
|
|
titleTopMargin?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
arrowMarkerAbsolute?: boolean;
|
|
|
|
dividerMargin?: number;
|
|
|
|
padding?: number;
|
|
|
|
textHeight?: number;
|
|
|
|
defaultRenderer?: string;
|
2023-02-13 18:18:11 +01:00
|
|
|
nodeSpacing?: number;
|
|
|
|
rankSpacing?: number;
|
|
|
|
diagramPadding?: number;
|
|
|
|
htmlLabels?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface JourneyDiagramConfig extends BaseDiagramConfig {
|
|
|
|
diagramMarginX?: number;
|
|
|
|
diagramMarginY?: number;
|
|
|
|
leftMargin?: number;
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
|
|
|
boxMargin?: number;
|
|
|
|
boxTextMargin?: number;
|
|
|
|
noteMargin?: number;
|
|
|
|
messageMargin?: number;
|
|
|
|
messageAlign?: string;
|
|
|
|
bottomMarginAdj?: number;
|
|
|
|
rightAngles?: boolean;
|
|
|
|
taskFontSize?: string | number;
|
|
|
|
taskFontFamily?: string;
|
|
|
|
taskMargin?: number;
|
|
|
|
activationWidth?: number;
|
2022-11-23 19:28:26 +01:00
|
|
|
textPlacement?: string;
|
|
|
|
actorColours?: string[];
|
|
|
|
sectionFills?: string[];
|
|
|
|
sectionColours?: string[];
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface TimelineDiagramConfig extends BaseDiagramConfig {
|
|
|
|
diagramMarginX?: number;
|
|
|
|
diagramMarginY?: number;
|
|
|
|
leftMargin?: number;
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
2023-02-21 21:39:14 +01:00
|
|
|
padding?: number;
|
2022-11-23 19:28:26 +01:00
|
|
|
boxMargin?: number;
|
|
|
|
boxTextMargin?: number;
|
|
|
|
noteMargin?: number;
|
|
|
|
messageMargin?: number;
|
|
|
|
messageAlign?: string;
|
|
|
|
bottomMarginAdj?: number;
|
|
|
|
rightAngles?: boolean;
|
|
|
|
taskFontSize?: string | number;
|
|
|
|
taskFontFamily?: string;
|
|
|
|
taskMargin?: number;
|
|
|
|
activationWidth?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
textPlacement?: string;
|
|
|
|
actorColours?: string[];
|
|
|
|
sectionFills?: string[];
|
|
|
|
sectionColours?: string[];
|
2023-01-19 19:03:05 +01:00
|
|
|
disableMulticolor?: boolean;
|
2023-02-21 21:39:14 +01:00
|
|
|
useMaxWidth?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface GanttDiagramConfig extends BaseDiagramConfig {
|
|
|
|
titleTopMargin?: number;
|
|
|
|
barHeight?: number;
|
|
|
|
barGap?: number;
|
|
|
|
topPadding?: number;
|
|
|
|
rightPadding?: number;
|
|
|
|
leftPadding?: number;
|
|
|
|
gridLineStartPadding?: number;
|
|
|
|
fontSize?: number;
|
|
|
|
sectionFontSize?: string | number;
|
|
|
|
numberSectionStyles?: number;
|
|
|
|
axisFormat?: string;
|
2022-10-27 10:43:44 +02:00
|
|
|
tickInterval?: string;
|
2022-08-21 07:30:22 +02:00
|
|
|
topAxis?: boolean;
|
2023-03-25 01:56:50 +01:00
|
|
|
displayMode?: string;
|
2022-08-21 07:30:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface SequenceDiagramConfig extends BaseDiagramConfig {
|
2022-08-22 09:48:50 +02:00
|
|
|
arrowMarkerAbsolute?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
hideUnusedParticipants?: boolean;
|
|
|
|
activationWidth?: number;
|
|
|
|
diagramMarginX?: number;
|
|
|
|
diagramMarginY?: number;
|
|
|
|
actorMargin?: number;
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
|
|
|
boxMargin?: number;
|
|
|
|
boxTextMargin?: number;
|
|
|
|
noteMargin?: number;
|
|
|
|
messageMargin?: number;
|
|
|
|
messageAlign?: string;
|
|
|
|
mirrorActors?: boolean;
|
|
|
|
forceMenus?: boolean;
|
|
|
|
bottomMarginAdj?: number;
|
|
|
|
rightAngles?: boolean;
|
|
|
|
showSequenceNumbers?: boolean;
|
|
|
|
actorFontSize?: string | number;
|
|
|
|
actorFontFamily?: string;
|
|
|
|
actorFontWeight?: string | number;
|
|
|
|
noteFontSize?: string | number;
|
|
|
|
noteFontFamily?: string;
|
|
|
|
noteFontWeight?: string | number;
|
|
|
|
noteAlign?: string;
|
|
|
|
messageFontSize?: string | number;
|
|
|
|
messageFontFamily?: string;
|
|
|
|
messageFontWeight?: string | number;
|
|
|
|
wrap?: boolean;
|
|
|
|
wrapPadding?: number;
|
|
|
|
labelBoxWidth?: number;
|
|
|
|
labelBoxHeight?: number;
|
|
|
|
messageFont?: FontCalculator;
|
|
|
|
noteFont?: FontCalculator;
|
|
|
|
actorFont?: FontCalculator;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface FlowchartDiagramConfig extends BaseDiagramConfig {
|
2022-11-17 04:36:51 +01:00
|
|
|
titleTopMargin?: number;
|
2022-08-22 09:48:50 +02:00
|
|
|
arrowMarkerAbsolute?: boolean;
|
2022-08-21 07:30:22 +02:00
|
|
|
diagramPadding?: number;
|
|
|
|
htmlLabels?: boolean;
|
|
|
|
nodeSpacing?: number;
|
|
|
|
rankSpacing?: number;
|
|
|
|
curve?: string;
|
|
|
|
padding?: number;
|
|
|
|
defaultRenderer?: string;
|
2023-03-29 16:01:08 +02:00
|
|
|
wrappingWidth?: number;
|
2022-08-21 07:30:22 +02:00
|
|
|
}
|
|
|
|
|
2023-07-03 00:44:19 +02:00
|
|
|
export type SankeyLinkColor = 'source' | 'target' | 'gradient';
|
|
|
|
export type SankeyNodeAlignment = 'left' | 'right' | 'center' | 'justify';
|
2023-06-27 13:11:06 +02:00
|
|
|
|
2023-06-24 23:22:36 +02:00
|
|
|
export interface SankeyDiagramConfig extends BaseDiagramConfig {
|
|
|
|
width?: number;
|
|
|
|
height?: number;
|
|
|
|
linkColor?: SankeyLinkColor | string;
|
2023-06-27 13:11:06 +02:00
|
|
|
nodeAlignment?: SankeyNodeAlignment;
|
2023-06-24 23:22:36 +02:00
|
|
|
}
|
2023-06-18 00:32:45 +02:00
|
|
|
|
2022-08-21 07:30:22 +02:00
|
|
|
export interface FontConfig {
|
|
|
|
fontSize?: string | number;
|
|
|
|
fontFamily?: string;
|
|
|
|
fontWeight?: string | number;
|
|
|
|
}
|
2022-08-21 18:57:13 +02:00
|
|
|
|
2022-08-21 07:30:22 +02:00
|
|
|
export type FontCalculator = () => Partial<FontConfig>;
|
2022-08-21 18:57:13 +02:00
|
|
|
|
|
|
|
export {};
|