1 | import DOMPurify from 'dompurify';
|
2 | export interface MermaidConfig {
|
3 | theme?: string;
|
4 | themeVariables?: any;
|
5 | themeCSS?: string;
|
6 | maxTextSize?: number;
|
7 | darkMode?: boolean;
|
8 | htmlLabels?: boolean;
|
9 | fontFamily?: string;
|
10 | altFontFamily?: string;
|
11 | logLevel?: number;
|
12 | securityLevel?: string;
|
13 | startOnLoad?: boolean;
|
14 | arrowMarkerAbsolute?: boolean;
|
15 | secure?: string[];
|
16 | deterministicIds?: boolean;
|
17 | deterministicIDSeed?: string;
|
18 | flowchart?: FlowchartDiagramConfig;
|
19 | sequence?: SequenceDiagramConfig;
|
20 | gantt?: GanttDiagramConfig;
|
21 | journey?: JourneyDiagramConfig;
|
22 | timeline?: TimelineDiagramConfig;
|
23 | class?: ClassDiagramConfig;
|
24 | state?: StateDiagramConfig;
|
25 | er?: ErDiagramConfig;
|
26 | pie?: PieDiagramConfig;
|
27 | quadrantChart?: QuadrantChartConfig;
|
28 | requirement?: RequirementDiagramConfig;
|
29 | mindmap?: MindmapDiagramConfig;
|
30 | gitGraph?: GitGraphDiagramConfig;
|
31 | c4?: C4DiagramConfig;
|
32 | dompurifyConfig?: DOMPurify.Config;
|
33 | wrap?: boolean;
|
34 | fontSize?: number;
|
35 | }
|
36 | export interface BaseDiagramConfig {
|
37 | useWidth?: number;
|
38 | useMaxWidth?: boolean;
|
39 | }
|
40 | export interface C4DiagramConfig extends BaseDiagramConfig {
|
41 | diagramMarginX?: number;
|
42 | diagramMarginY?: number;
|
43 | c4ShapeMargin?: number;
|
44 | c4ShapePadding?: number;
|
45 | width?: number;
|
46 | height?: number;
|
47 | boxMargin?: number;
|
48 | c4ShapeInRow?: number;
|
49 | nextLinePaddingX?: number;
|
50 | c4BoundaryInRow?: number;
|
51 | personFontSize?: string | number;
|
52 | personFontFamily?: string;
|
53 | personFontWeight?: string | number;
|
54 | external_personFontSize?: string | number;
|
55 | external_personFontFamily?: string;
|
56 | external_personFontWeight?: string | number;
|
57 | systemFontSize?: string | number;
|
58 | systemFontFamily?: string;
|
59 | systemFontWeight?: string | number;
|
60 | external_systemFontSize?: string | number;
|
61 | external_systemFontFamily?: string;
|
62 | external_systemFontWeight?: string | number;
|
63 | system_dbFontSize?: string | number;
|
64 | system_dbFontFamily?: string;
|
65 | system_dbFontWeight?: string | number;
|
66 | external_system_dbFontSize?: string | number;
|
67 | external_system_dbFontFamily?: string;
|
68 | external_system_dbFontWeight?: string | number;
|
69 | system_queueFontSize?: string | number;
|
70 | system_queueFontFamily?: string;
|
71 | system_queueFontWeight?: string | number;
|
72 | external_system_queueFontSize?: string | number;
|
73 | external_system_queueFontFamily?: string;
|
74 | external_system_queueFontWeight?: string | number;
|
75 | boundaryFontSize?: string | number;
|
76 | boundaryFontFamily?: string;
|
77 | boundaryFontWeight?: string | number;
|
78 | messageFontSize?: string | number;
|
79 | messageFontFamily?: string;
|
80 | messageFontWeight?: string | number;
|
81 | containerFontSize?: string | number;
|
82 | containerFontFamily?: string;
|
83 | containerFontWeight?: string | number;
|
84 | external_containerFontSize?: string | number;
|
85 | external_containerFontFamily?: string;
|
86 | external_containerFontWeight?: string | number;
|
87 | container_dbFontSize?: string | number;
|
88 | container_dbFontFamily?: string;
|
89 | container_dbFontWeight?: string | number;
|
90 | external_container_dbFontSize?: string | number;
|
91 | external_container_dbFontFamily?: string;
|
92 | external_container_dbFontWeight?: string | number;
|
93 | container_queueFontSize?: string | number;
|
94 | container_queueFontFamily?: string;
|
95 | container_queueFontWeight?: string | number;
|
96 | external_container_queueFontSize?: string | number;
|
97 | external_container_queueFontFamily?: string;
|
98 | external_container_queueFontWeight?: string | number;
|
99 | componentFontSize?: string | number;
|
100 | componentFontFamily?: string;
|
101 | componentFontWeight?: string | number;
|
102 | external_componentFontSize?: string | number;
|
103 | external_componentFontFamily?: string;
|
104 | external_componentFontWeight?: string | number;
|
105 | component_dbFontSize?: string | number;
|
106 | component_dbFontFamily?: string;
|
107 | component_dbFontWeight?: string | number;
|
108 | external_component_dbFontSize?: string | number;
|
109 | external_component_dbFontFamily?: string;
|
110 | external_component_dbFontWeight?: string | number;
|
111 | component_queueFontSize?: string | number;
|
112 | component_queueFontFamily?: string;
|
113 | component_queueFontWeight?: string | number;
|
114 | external_component_queueFontSize?: string | number;
|
115 | external_component_queueFontFamily?: string;
|
116 | external_component_queueFontWeight?: string | number;
|
117 | wrap?: boolean;
|
118 | wrapPadding?: number;
|
119 | person_bg_color?: string;
|
120 | person_border_color?: string;
|
121 | external_person_bg_color?: string;
|
122 | external_person_border_color?: string;
|
123 | system_bg_color?: string;
|
124 | system_border_color?: string;
|
125 | system_db_bg_color?: string;
|
126 | system_db_border_color?: string;
|
127 | system_queue_bg_color?: string;
|
128 | system_queue_border_color?: string;
|
129 | external_system_bg_color?: string;
|
130 | external_system_border_color?: string;
|
131 | external_system_db_bg_color?: string;
|
132 | external_system_db_border_color?: string;
|
133 | external_system_queue_bg_color?: string;
|
134 | external_system_queue_border_color?: string;
|
135 | container_bg_color?: string;
|
136 | container_border_color?: string;
|
137 | container_db_bg_color?: string;
|
138 | container_db_border_color?: string;
|
139 | container_queue_bg_color?: string;
|
140 | container_queue_border_color?: string;
|
141 | external_container_bg_color?: string;
|
142 | external_container_border_color?: string;
|
143 | external_container_db_bg_color?: string;
|
144 | external_container_db_border_color?: string;
|
145 | external_container_queue_bg_color?: string;
|
146 | external_container_queue_border_color?: string;
|
147 | component_bg_color?: string;
|
148 | component_border_color?: string;
|
149 | component_db_bg_color?: string;
|
150 | component_db_border_color?: string;
|
151 | component_queue_bg_color?: string;
|
152 | component_queue_border_color?: string;
|
153 | external_component_bg_color?: string;
|
154 | external_component_border_color?: string;
|
155 | external_component_db_bg_color?: string;
|
156 | external_component_db_border_color?: string;
|
157 | external_component_queue_bg_color?: string;
|
158 | external_component_queue_border_color?: string;
|
159 | personFont?: FontCalculator;
|
160 | external_personFont?: FontCalculator;
|
161 | systemFont?: FontCalculator;
|
162 | external_systemFont?: FontCalculator;
|
163 | system_dbFont?: FontCalculator;
|
164 | external_system_dbFont?: FontCalculator;
|
165 | system_queueFont?: FontCalculator;
|
166 | external_system_queueFont?: FontCalculator;
|
167 | containerFont?: FontCalculator;
|
168 | external_containerFont?: FontCalculator;
|
169 | container_dbFont?: FontCalculator;
|
170 | external_container_dbFont?: FontCalculator;
|
171 | container_queueFont?: FontCalculator;
|
172 | external_container_queueFont?: FontCalculator;
|
173 | componentFont?: FontCalculator;
|
174 | external_componentFont?: FontCalculator;
|
175 | component_dbFont?: FontCalculator;
|
176 | external_component_dbFont?: FontCalculator;
|
177 | component_queueFont?: FontCalculator;
|
178 | external_component_queueFont?: FontCalculator;
|
179 | boundaryFont?: FontCalculator;
|
180 | messageFont?: FontCalculator;
|
181 | }
|
182 | export interface GitGraphDiagramConfig extends BaseDiagramConfig {
|
183 | titleTopMargin?: number;
|
184 | diagramPadding?: number;
|
185 | nodeLabel?: NodeLabel;
|
186 | mainBranchName?: string;
|
187 | mainBranchOrder?: number;
|
188 | showCommitLabel?: boolean;
|
189 | showBranches?: boolean;
|
190 | rotateCommitLabel?: boolean;
|
191 | arrowMarkerAbsolute?: boolean;
|
192 | }
|
193 | export interface NodeLabel {
|
194 | width?: number;
|
195 | height?: number;
|
196 | x?: number;
|
197 | y?: number;
|
198 | }
|
199 | export interface RequirementDiagramConfig extends BaseDiagramConfig {
|
200 | rect_fill?: string;
|
201 | text_color?: string;
|
202 | rect_border_size?: string;
|
203 | rect_border_color?: string;
|
204 | rect_min_width?: number;
|
205 | rect_min_height?: number;
|
206 | fontSize?: number;
|
207 | rect_padding?: number;
|
208 | line_height?: number;
|
209 | }
|
210 | export interface MindmapDiagramConfig extends BaseDiagramConfig {
|
211 | useMaxWidth: boolean;
|
212 | padding: number;
|
213 | maxNodeWidth: number;
|
214 | }
|
215 | export interface PieDiagramConfig extends BaseDiagramConfig {
|
216 | textPosition?: number;
|
217 | }
|
218 | export interface QuadrantChartConfig extends BaseDiagramConfig {
|
219 | chartWidth: number;
|
220 | chartHeight: number;
|
221 | titleFontSize: number;
|
222 | titlePadding: number;
|
223 | quadrantPadding: number;
|
224 | xAxisLabelPadding: number;
|
225 | yAxisLabelPadding: number;
|
226 | xAxisLabelFontSize: number;
|
227 | yAxisLabelFontSize: number;
|
228 | quadrantLabelFontSize: number;
|
229 | quadrantTextTopPadding: number;
|
230 | pointTextPadding: number;
|
231 | pointLabelFontSize: number;
|
232 | pointRadius: number;
|
233 | xAxisPosition: 'top' | 'bottom';
|
234 | yAxisPosition: 'left' | 'right';
|
235 | quadrantInternalBorderStrokeWidth: number;
|
236 | quadrantExternalBorderStrokeWidth: number;
|
237 | }
|
238 | export interface ErDiagramConfig extends BaseDiagramConfig {
|
239 | titleTopMargin?: number;
|
240 | diagramPadding?: number;
|
241 | layoutDirection?: string;
|
242 | minEntityWidth?: number;
|
243 | minEntityHeight?: number;
|
244 | entityPadding?: number;
|
245 | stroke?: string;
|
246 | fill?: string;
|
247 | fontSize?: number;
|
248 | }
|
249 | export interface StateDiagramConfig extends BaseDiagramConfig {
|
250 | titleTopMargin?: number;
|
251 | arrowMarkerAbsolute?: boolean;
|
252 | dividerMargin?: number;
|
253 | sizeUnit?: number;
|
254 | padding?: number;
|
255 | textHeight?: number;
|
256 | titleShift?: number;
|
257 | noteMargin?: number;
|
258 | forkWidth?: number;
|
259 | forkHeight?: number;
|
260 | miniPadding?: number;
|
261 | fontSizeFactor?: number;
|
262 | fontSize?: number;
|
263 | labelHeight?: number;
|
264 | edgeLengthFactor?: string;
|
265 | compositTitleSize?: number;
|
266 | radius?: number;
|
267 | defaultRenderer?: string;
|
268 | }
|
269 | export interface ClassDiagramConfig extends BaseDiagramConfig {
|
270 | titleTopMargin?: number;
|
271 | arrowMarkerAbsolute?: boolean;
|
272 | dividerMargin?: number;
|
273 | padding?: number;
|
274 | textHeight?: number;
|
275 | defaultRenderer?: string;
|
276 | nodeSpacing?: number;
|
277 | rankSpacing?: number;
|
278 | diagramPadding?: number;
|
279 | htmlLabels?: boolean;
|
280 | }
|
281 | export interface JourneyDiagramConfig extends BaseDiagramConfig {
|
282 | diagramMarginX?: number;
|
283 | diagramMarginY?: number;
|
284 | leftMargin?: number;
|
285 | width?: number;
|
286 | height?: number;
|
287 | boxMargin?: number;
|
288 | boxTextMargin?: number;
|
289 | noteMargin?: number;
|
290 | messageMargin?: number;
|
291 | messageAlign?: string;
|
292 | bottomMarginAdj?: number;
|
293 | rightAngles?: boolean;
|
294 | taskFontSize?: string | number;
|
295 | taskFontFamily?: string;
|
296 | taskMargin?: number;
|
297 | activationWidth?: number;
|
298 | textPlacement?: string;
|
299 | actorColours?: string[];
|
300 | sectionFills?: string[];
|
301 | sectionColours?: string[];
|
302 | }
|
303 | export interface TimelineDiagramConfig extends BaseDiagramConfig {
|
304 | diagramMarginX?: number;
|
305 | diagramMarginY?: number;
|
306 | leftMargin?: number;
|
307 | width?: number;
|
308 | height?: number;
|
309 | padding?: number;
|
310 | boxMargin?: number;
|
311 | boxTextMargin?: number;
|
312 | noteMargin?: number;
|
313 | messageMargin?: number;
|
314 | messageAlign?: string;
|
315 | bottomMarginAdj?: number;
|
316 | rightAngles?: boolean;
|
317 | taskFontSize?: string | number;
|
318 | taskFontFamily?: string;
|
319 | taskMargin?: number;
|
320 | activationWidth?: number;
|
321 | textPlacement?: string;
|
322 | actorColours?: string[];
|
323 | sectionFills?: string[];
|
324 | sectionColours?: string[];
|
325 | disableMulticolor?: boolean;
|
326 | useMaxWidth?: boolean;
|
327 | }
|
328 | export interface GanttDiagramConfig extends BaseDiagramConfig {
|
329 | titleTopMargin?: number;
|
330 | barHeight?: number;
|
331 | barGap?: number;
|
332 | topPadding?: number;
|
333 | rightPadding?: number;
|
334 | leftPadding?: number;
|
335 | gridLineStartPadding?: number;
|
336 | fontSize?: number;
|
337 | sectionFontSize?: string | number;
|
338 | numberSectionStyles?: number;
|
339 | axisFormat?: string;
|
340 | tickInterval?: string;
|
341 | topAxis?: boolean;
|
342 | displayMode?: string;
|
343 | }
|
344 | export interface SequenceDiagramConfig extends BaseDiagramConfig {
|
345 | arrowMarkerAbsolute?: boolean;
|
346 | hideUnusedParticipants?: boolean;
|
347 | activationWidth?: number;
|
348 | diagramMarginX?: number;
|
349 | diagramMarginY?: number;
|
350 | actorMargin?: number;
|
351 | width?: number;
|
352 | height?: number;
|
353 | boxMargin?: number;
|
354 | boxTextMargin?: number;
|
355 | noteMargin?: number;
|
356 | messageMargin?: number;
|
357 | messageAlign?: string;
|
358 | mirrorActors?: boolean;
|
359 | forceMenus?: boolean;
|
360 | bottomMarginAdj?: number;
|
361 | rightAngles?: boolean;
|
362 | showSequenceNumbers?: boolean;
|
363 | actorFontSize?: string | number;
|
364 | actorFontFamily?: string;
|
365 | actorFontWeight?: string | number;
|
366 | noteFontSize?: string | number;
|
367 | noteFontFamily?: string;
|
368 | noteFontWeight?: string | number;
|
369 | noteAlign?: string;
|
370 | messageFontSize?: string | number;
|
371 | messageFontFamily?: string;
|
372 | messageFontWeight?: string | number;
|
373 | wrap?: boolean;
|
374 | wrapPadding?: number;
|
375 | labelBoxWidth?: number;
|
376 | labelBoxHeight?: number;
|
377 | messageFont?: FontCalculator;
|
378 | noteFont?: FontCalculator;
|
379 | actorFont?: FontCalculator;
|
380 | }
|
381 | export interface FlowchartDiagramConfig extends BaseDiagramConfig {
|
382 | titleTopMargin?: number;
|
383 | arrowMarkerAbsolute?: boolean;
|
384 | diagramPadding?: number;
|
385 | htmlLabels?: boolean;
|
386 | nodeSpacing?: number;
|
387 | rankSpacing?: number;
|
388 | curve?: string;
|
389 | padding?: number;
|
390 | defaultRenderer?: string;
|
391 | wrappingWidth?: number;
|
392 | }
|
393 | export interface FontConfig {
|
394 | fontSize?: string | number;
|
395 | fontFamily?: string;
|
396 | fontWeight?: string | number;
|
397 | }
|
398 | export type FontCalculator = () => Partial<FontConfig>;
|
399 | export {};
|