343 lines
10 KiB
TypeScript
343 lines
10 KiB
TypeScript
![]() |
// 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;
|
||
|
fontFamily?: string;
|
||
|
logLevel?: number;
|
||
|
securityLevel?: string;
|
||
|
startOnLoad?: boolean;
|
||
|
arrowMarkerAbsolute?: boolean;
|
||
|
secure?: string[];
|
||
|
deterministicIds?: boolean;
|
||
|
deterministicIDSeed?: string;
|
||
|
flowchart?: FlowchartDiagramConfig;
|
||
|
sequence?: SequenceDiagramConfig;
|
||
|
gantt?: GanttDiagramConfig;
|
||
|
journey?: JourneyDiagramConfig;
|
||
|
class?: ClassDiagramConfig;
|
||
|
state?: StateDiagramConfig;
|
||
|
er?: ErDiagramConfig;
|
||
|
pie?: PieDiagramConfig;
|
||
|
requirement?: RequirementDiagramConfig;
|
||
|
gitGraph?: GitGraphDiagramConfig;
|
||
|
c4?: C4DiagramConfig;
|
||
|
dompurifyConfig?: DOMPurify.Config;
|
||
|
}
|
||
|
|
||
|
// TODO: More configs needs to be moved in here
|
||
|
export interface BaseDiagramConfig extends BaseDiagramConfig {
|
||
|
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 {
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
export interface PieDiagramConfig extends BaseDiagramConfig {}
|
||
|
|
||
|
export interface ErDiagramConfig extends BaseDiagramConfig {
|
||
|
diagramPadding?: number;
|
||
|
layoutDirection?: string;
|
||
|
minEntityWidth?: number;
|
||
|
minEntityHeight?: number;
|
||
|
entityPadding?: number;
|
||
|
stroke?: string;
|
||
|
fill?: string;
|
||
|
fontSize?: number;
|
||
|
}
|
||
|
|
||
|
export interface StateDiagramConfig extends BaseDiagramConfig {
|
||
|
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 {
|
||
|
arrowMarkerAbsolute?: boolean;
|
||
|
dividerMargin?: number;
|
||
|
padding?: number;
|
||
|
textHeight?: number;
|
||
|
defaultRenderer?: string;
|
||
|
}
|
||
|
|
||
|
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;
|
||
|
textPlacement?: string;
|
||
|
actorColours?: string[];
|
||
|
sectionFills?: string[];
|
||
|
sectionColours?: string[];
|
||
|
}
|
||
|
|
||
|
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;
|
||
|
topAxis?: boolean;
|
||
|
}
|
||
|
|
||
|
export interface SequenceDiagramConfig extends BaseDiagramConfig {
|
||
|
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 {
|
||
|
diagramPadding?: number;
|
||
|
htmlLabels?: boolean;
|
||
|
nodeSpacing?: number;
|
||
|
rankSpacing?: number;
|
||
|
curve?: string;
|
||
|
padding?: number;
|
||
|
defaultRenderer?: string;
|
||
|
}
|
||
|
|
||
|
export interface FontConfig {
|
||
|
fontSize?: string | number;
|
||
|
fontFamily?: string;
|
||
|
fontWeight?: string | number;
|
||
|
}
|
||
|
export type FontCalculator = () => Partial<FontConfig>;
|