mermaid/src/defaultConfig.js

1084 lines
42 KiB
JavaScript
Raw Normal View History

import theme from './themes';
/**
2021-11-10 08:41:52 +01:00
* **Configuration methods in Mermaid version 8.6.0 have been updated, to learn more[[click
* here](8.6.0_docs.md)].**
*
* ## **What follows are config instructions for older versions**
2021-04-24 15:56:26 +08:00
*
* These are the default options which can be overridden with the initialization call like so:
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Example 1:**<pre> mermaid.initialize({ flowchart:{ htmlLabels: false } }); </pre>
*
2021-11-10 08:41:52 +01:00
* **Example 2:**<pre> <script> var config = { startOnLoad:true, flowchart:{ useMaxWidth:true,
* htmlLabels:true, curve:'cardinal', },
*
* securityLevel:'loose',
2021-11-10 08:41:52 +01:00
*
* }; mermaid.initialize(config); </script> </pre>
*
* A summary of all options and their defaults is found [here](#mermaidapi-configuration-defaults).
* A description of each option follows below.
*
* @name Configuration
*/
const config = {
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* Theme , the CSS style sheet
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | --------------- | ------ | -------- | ---------------------------------------------- |
* | theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null' |
*
2021-11-10 08:41:52 +01:00
* **Notes:** To disable any pre-defined mermaid theme, use "null".<pre> "theme": "forest",
* "themeCSS": ".node rect { fill: red; }" </pre>
*/
theme: 'default',
themeVariables: theme['default'].getThemeVariables(),
themeCSS: undefined,
2022-01-11 00:59:00 +09:00
/* **maxTextSize** - The maximum allowed size of the users text diagram */
maxTextSize: 50000,
darkMode: false,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | ------------------------------------------------------ | ------ | -------- | --------------------------- |
* | fontFamily | specifies the font to be used in the rendered diagrams | string | Required | Any Possible CSS FontFamily |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif;'.
*/
fontFamily: '"trebuchet ms", verdana, arial, sans-serif;',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ----------------------------------------------------- | ---------------- | -------- | ------------- |
* | logLevel | This option decides the amount of logging to be used. | string \| number | Required | 1, 2, 3, 4, 5 |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* - Debug: 1
* - Info: 2
* - Warn: 3
* - Error: 4
* - Fatal: 5 (default)
*/
logLevel: 5,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | --------------------------------- | ------ | -------- | ------------------------------- |
* | securitylevel | Level of trust for parsed diagram | string | Required | 'strict', 'loose', 'antiscript' |
*
2021-04-24 13:13:49 +08:00
* **Notes**:
*
2021-06-04 13:56:11 +09:00
* - **strict**: (**default**) tags in text are encoded, click functionality is disabled
2021-04-24 13:13:49 +08:00
* - **loose**: tags in text are allowed, click functionality is enabled
2021-11-10 08:41:52 +01:00
* - **antiscript**: html tags in text are allowed, (only script element is removed), click
* functionality is enabled
*/
securityLevel: 'strict',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | -------------------------------------------- | ------- | -------- | ----------- |
2021-10-23 22:57:24 +11:00
* | startOnLoad | Dictates whether mermaid starts on Page load | boolean | Required | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:** Default value: true
*/
startOnLoad: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------------- | ---------------------------------------------------------------------------- | ------- | -------- | ----------- |
2021-04-24 13:13:49 +08:00
* | arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false |
*
* **Notes**:
*
2021-04-24 13:13:49 +08:00
* This matters if you are using base tag settings.
*
2021-04-24 13:13:49 +08:00
* Default value: false
*/
arrowMarkerAbsolute: false,
/**
2021-11-10 08:41:52 +01:00
* This option controls which currentConfig keys are considered *secure* and can only be changed
* via call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to the
* `secure` keys in the current currentConfig. This prevents malicious graph directives from
* overriding a site's default security.
*
2021-11-10 08:41:52 +01:00
* **Notes**:
2021-04-24 13:13:49 +08:00
*
* Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize']
*/
secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'],
2020-11-23 23:05:41 +01:00
/**
2021-11-10 08:41:52 +01:00
* This option controls if the generated ids of nodes in the SVG are generated randomly or based
* on a seed. If set to false, the IDs are generated based on the current date and thus are not
* deterministic. This is the default behaviour.
2020-11-23 23:05:41 +01:00
*
2021-04-24 13:13:49 +08:00
* **Notes**:
*
2021-11-10 08:41:52 +01:00
* This matters if your files are checked into sourcecontrol e.g. git and should not change unless
* content is changed.
2021-04-24 13:13:49 +08:00
*
* Default value: false
2020-11-23 23:05:41 +01:00
*/
deterministicIds: false,
/**
2021-11-10 08:41:52 +01:00
* This option is the optional seed for deterministic ids. if set to undefined but
* deterministicIds is true, a simple number iterator is used. You can set this attribute to base
* the seed on a static string.
2020-11-23 23:05:41 +01:00
*/
deterministicIDSeed: undefined,
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for flowcharts */
flowchart: {
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ----------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |
*
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* The amount of padding around the diagram as a whole so that embedded diagrams have margins,
* expressed in pixels
*
2021-04-24 13:13:49 +08:00
* Default value: 8
*/
diagramPadding: 8,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | -------------------------------------------------------------------------------------------- | ------- | -------- | ----------- |
* | htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean | Required | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:** Default value: true.
*/
htmlLabels: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | --------------------------------------------------- | ------- | -------- | ------------------- |
2021-04-24 15:56:26 +08:00
* | nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number |
2021-04-24 13:13:49 +08:00
*
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the
* vertical spacing for LR as well as RL graphs.**
2021-04-24 13:13:49 +08:00
*
* Default value: 50
*/
nodeSpacing: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------------------------------------------------- | ------- | -------- | ------------------- |
2021-04-24 15:56:26 +08:00
* | rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number |
*
2021-04-24 13:13:49 +08:00
* **Notes**:
*
2021-11-10 08:41:52 +01:00
* Pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal
* spacing for LR as well as RL graphs.
2021-04-24 13:13:49 +08:00
*
* Default value 50
*/
rankSpacing: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | -------------------------------------------------- | ------ | -------- | ----------------------------- |
* | curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal' |
2021-04-24 13:13:49 +08:00
*
* **Notes:**
*
2021-10-23 22:57:24 +11:00
* Default Value: 'basis'
*/
curve: 'basis',
// Only used in new experimental rendering
// represents the padding between the labels and the shape
padding: 15,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ----------- | ------- | -------- | ----------------------- |
* | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
*
* **Notes:**
*
* Decides which rendering engine that is to be used for the rendering. Legal values are:
2021-11-10 08:41:52 +01:00
* dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
*
* Default value: 'dagre-d3'
*/
2021-07-15 11:35:12 +02:00
defaultRenderer: 'dagre-d3',
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for sequence diagrams */
sequence: {
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ---------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | activationWidth | Width of the activation rect | Integer | Required | Any Positive Value |
*
* **Notes:** Default value :10
*/
activationWidth: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 15:56:26 +08:00
* | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:** Default value: 50
*/
diagramMarginX: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ------------------------------------------------- | ------- | -------- | ------------------ |
* | diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:** Default value: 10
*/
diagramMarginY: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | --------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | actorMargin | Margin between actors | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 50
*/
actorMargin: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | -------------------- | ------- | -------- | ------------------ |
* | width | Width of actor boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 150
*/
width: 150,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | --------------------- | ------- | -------- | ------------------ |
* | height | Height of actor boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 65
*/
height: 65,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ------------------------ | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 10
*/
boxMargin: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | -------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 15:56:26 +08:00
* | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 5
*/
boxTextMargin: 5,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | ------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | noteMargin | margin around notes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 10
*/
noteMargin: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | ---------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | messageMargin | Space between messages | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 35
*/
messageMargin: 35,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------ | --------------------------- | ------ | -------- | ------------------------- |
2021-04-24 13:13:49 +08:00
* | messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 'center'
*/
messageAlign: 'center',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------ | --------------------------- | ------- | -------- | ----------- |
2021-04-24 13:13:49 +08:00
* | mirrorActors | Mirror actors under diagram | boolean | Required | true, false |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: true
*/
mirrorActors: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | ----------------------------------------------------------------------- | ------- | -------- | ----------- |
* | forceMenus | forces actor popup menus to always be visible (to support E2E testing). | Boolean | Required | True, False |
*
* **Notes:**
*
* Default value: false.
*/
forceMenus: false,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ------------------------------------------ | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value |
*
* **Notes:**
*
* Depending on css styling this might need adjustment.
*
2021-04-24 13:13:49 +08:00
* Default value: 1
*/
bottomMarginAdj: 1,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See Notes | boolean | Required | true, false |
*
2021-11-10 08:41:52 +01:00
* **Notes:** When this flag is set to true, the height and width is set to 100% and is then
* scaling with the available space. If set to false, the absolute space required is used.
2021-04-24 13:13:49 +08:00
*
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ------------------------------------ | ------- | -------- | ----------- |
2021-04-24 13:13:49 +08:00
* | rightAngles | display curve arrows as right angles | boolean | Required | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* This will display arrows that start and begin at the same node as right angles, rather than a curve
*
2021-04-24 13:13:49 +08:00
* Default value: false
*/
rightAngles: false,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------------- | ------------------------------- | ------- | -------- | ----------- |
2021-04-24 13:13:49 +08:00
* | showSequenceNumbers | This will show the node numbers | boolean | Required | true, false |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: false
*/
showSequenceNumbers: false,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | -------------------------------------------------- | ------- | -------- | ------------------ |
* | actorFontSize | This sets the font size of the actor's description | Integer | Require | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** **Default value 14**..
*/
actorFontSize: 14,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ---------------------------------------------------- | ------ | -------- | --------------------------- |
* | actorFontFamily | This sets the font family of the actor's description | string | Required | Any Possible CSS FontFamily |
*
* **Notes:** Default value: "'Open Sans", sans-serif'
*/
actorFontFamily: '"Open Sans", sans-serif',
2021-04-24 13:13:49 +08:00
/**
* This sets the font weight of the actor's description
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 400.
*/
actorFontWeight: 400,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------ | ----------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 14
*/
noteFontSize: 14,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | -------------------------------------------------- | ------ | -------- | --------------------------- |
* | noteFontFamily | This sets the font family of actor-attached notes. | string | Required | Any Possible CSS FontFamily |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: ''"trebuchet ms", verdana, arial, sans-serif'
*/
noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
2021-04-24 13:13:49 +08:00
/**
* This sets the font weight of the note's description
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 400
*/
noteFontWeight: 400,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ---------------------------------------------------- | ------ | -------- | ------------------------- |
* | noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right' |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 'center'
*/
noteAlign: 'center',
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ----------------------------------------- | ------- | -------- | ------------------- |
2021-04-24 13:13:49 +08:00
* | messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 16
*/
messageFontSize: 16,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------------- | ------------------------------------------- | ------ | -------- | --------------------------- |
2021-10-23 22:57:24 +11:00
* | messageFontFamily | This sets the font family of actor messages | string | Required | Any Possible CSS FontFamily |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif'
*/
messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
2021-04-24 13:13:49 +08:00
/**
* This sets the font weight of the message's description
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 400.
*/
messageFontWeight: 400,
2021-04-24 13:13:49 +08:00
/**
* This sets the auto-wrap state for the diagram
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: false.
*/
wrap: false,
2021-04-24 13:13:49 +08:00
/**
* This sets the auto-wrap padding for the diagram (sides only)
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 0.
*/
wrapPadding: 10,
2021-04-24 13:13:49 +08:00
/**
* This sets the width of the loop-box (loop, alt, opt, par)
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 50.
*/
labelBoxWidth: 50,
2021-04-24 13:13:49 +08:00
/**
* This sets the height of the loop-box (loop, alt, opt, par)
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 20.
*/
labelBoxHeight: 20,
2021-04-24 13:13:49 +08:00
2021-07-15 11:35:12 +02:00
messageFont: function () {
return {
fontFamily: this.messageFontFamily,
fontSize: this.messageFontSize,
2021-07-15 11:35:12 +02:00
fontWeight: this.messageFontWeight,
};
},
2021-07-15 11:35:12 +02:00
noteFont: function () {
return {
fontFamily: this.noteFontFamily,
fontSize: this.noteFontSize,
2021-07-15 11:35:12 +02:00
fontWeight: this.noteFontWeight,
};
},
2021-07-15 11:35:12 +02:00
actorFont: function () {
return {
fontFamily: this.actorFontFamily,
fontSize: this.actorFontSize,
2021-07-15 11:35:12 +02:00
fontWeight: this.actorFontWeight,
};
2021-07-15 11:35:12 +02:00
},
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for gantt diagrams */
gantt: {
/**
2021-04-24 13:13:49 +08:00
* ### titleTopMargin
*
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ---------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 25
*/
titleTopMargin: 25,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ----------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 20
*/
barHeight: 20,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ---------------------------------------------------------------- | ------- | -------- | ------------------ |
* | barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 4
*/
barGap: 4,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | -------------------------------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 50
*/
topPadding: 50,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------ | ----------------------------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 75
2021-04-24 13:13:49 +08:00
*/
rightPadding: 75,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ---------------------------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 75
*/
leftPadding: 75,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------------- | -------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 35
*/
gridLineStartPadding: 35,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ----------- | ------- | -------- | ------------------ |
* | fontSize | Font size | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 11
*/
fontSize: 11,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ---------------------- | ------- | -------- | ------------------ |
* | sectionFontSize | Font size for sections | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 11
*/
sectionFontSize: 11,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------------- | ---------------------------------------- | ------- | -------- | ------------------ |
* | numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 4
*/
numberSectionStyles: 4,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | --------------------------- | ---- | -------- | ---------------- |
* | axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
* This might need adjustment to match your locale and preferences
2021-04-24 13:13:49 +08:00
*
* Default value: '%Y-%m-%d'.
*/
axisFormat: '%Y-%m-%d',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
2021-04-24 13:13:49 +08:00
*
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
2021-04-24 13:13:49 +08:00
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ----------- | ------- | -------- | ----------- |
* | topAxis | See notes | Boolean | 4 | True, False |
*
2021-11-10 08:41:52 +01:00
* **Notes:** when this flag is set date labels will be added to the top of the chart
*
2021-11-10 08:41:52 +01:00
* **Default value false**.
*/
topAxis: false,
2021-07-15 11:35:12 +02:00
useWidth: undefined,
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for journey diagrams */
journey: {
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 50
*/
diagramMarginX: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | -------------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 10
*/
2021-02-27 13:24:54 +01:00
diagramMarginY: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | --------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | actorMargin | Margin between actors | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 50
*/
2021-02-23 20:56:01 +01:00
leftMargin: 150,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | -------------------- | ------- | -------- | ------------------ |
* | width | Width of actor boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 150
*/
width: 150,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | --------------------- | ------- | -------- | ------------------ |
* | height | Height of actor boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 65
*/
2021-02-23 20:56:01 +01:00
height: 50,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ------------------------ | ------- | -------- | ------------------ |
* | boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 10
*/
boxMargin: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | -------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 5
*/
boxTextMargin: 5,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ---------- | ------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | noteMargin | Margin around notes | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 10
*/
noteMargin: 10,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | ----------------------- | ------- | -------- | ------------------ |
* | messageMargin | Space between messages. | Integer | Required | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
* Space between messages.
*
2021-04-24 13:13:49 +08:00
* Default value: 35
*/
messageMargin: 35,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------ | --------------------------- | ---- | -------- | ------------------------- |
* | messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 'center'
*/
messageAlign: 'center',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ------------------------------------------ | ------- | -------- | ------------------ |
* | bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* Depending on css styling this might need adjustment.
*
* Default value: 1
*/
bottomMarginAdj: 1,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
2021-04-24 13:13:49 +08:00
*
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
2021-04-24 13:13:49 +08:00
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | --------------------------------- | ---- | -------- | ----------- |
* | rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
* This will display arrows that start and begin at the same node as right angles, rather than a curves
*
2021-04-24 13:13:49 +08:00
* Default value: false
*/
2021-02-23 20:56:01 +01:00
rightAngles: false,
taskFontSize: 14,
taskFontFamily: '"Open Sans", sans-serif',
2021-02-23 20:56:01 +01:00
taskMargin: 50,
// width of activation box
activationWidth: 10,
// text placement as: tspan | fo | old only text as before
textPlacement: 'fo',
actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
2021-07-15 11:35:12 +02:00
sectionColours: ['#fff'],
},
class: {
arrowMarkerAbsolute: false,
2021-04-24 13:13:49 +08:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
2021-04-24 13:13:49 +08:00
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ----------- | ------- | -------- | ----------------------- |
* | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
*
2021-11-10 08:41:52 +01:00
* **Notes**:
*
* Decides which rendering engine that is to be used for the rendering. Legal values are:
2021-11-10 08:41:52 +01:00
* dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
*
* Default value: 'dagre-d3'
*/
defaultRenderer: 'dagre-wrapper',
},
git: {
arrowMarkerAbsolute: false,
useWidth: undefined,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
2021-04-24 13:13:49 +08:00
* Default value: true
*/
2021-07-15 11:35:12 +02:00
useMaxWidth: true,
},
state: {
dividerMargin: 10,
sizeUnit: 5,
padding: 8,
textHeight: 10,
titleShift: -15,
noteMargin: 10,
forkWidth: 70,
forkHeight: 7,
// Used
miniPadding: 2,
// Font size factor, this is used to guess the width of the edges labels before rendering by dagre
// layout. This might need updating if/when switching font
fontSizeFactor: 5.02,
fontSize: 24,
labelHeight: 16,
edgeLengthFactor: '20',
compositTitleSize: 35,
radius: 5,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See notes | boolean | 4 | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-04-24 13:13:49 +08:00
* When this flag is set the height and width is set to 100% and is then scaling with the
* available space if not the absolute space required is used.
*
2021-04-24 13:13:49 +08:00
* Default value: true
*/
useMaxWidth: true,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ----------- | ------- | -------- | ----------------------- |
* | defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
*
* **Notes:**
*
* Decides which rendering engine that is to be used for the rendering. Legal values are:
2021-11-10 08:41:52 +01:00
* dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
*
* Default value: 'dagre-d3'
*/
2021-07-15 11:35:12 +02:00
defaultRenderer: 'dagre-wrapper',
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for entity relationship diagrams */
er: {
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ----------------------------------------------- | ------- | -------- | ------------------ |
2021-04-24 13:13:49 +08:00
* | diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* The amount of padding around the diagram as a whole so that embedded diagrams have margins,
* expressed in pixels
2021-04-24 13:13:49 +08:00
*
* Default value: 20
*/
diagramPadding: 20,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ---------------------------------------- | ------ | -------- | ---------------------- |
2021-04-24 13:13:49 +08:00
* | layoutDirection | Directional bias for layout of entities. | string | Required | "TB", "BT", "LR", "RL" |
*
* **Notes:**
*
* 'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left.
*
* T = top, B = bottom, L = left, and R = right.
2021-04-24 13:13:49 +08:00
*
* Default value: 'TB'
*/
layoutDirection: 'TB',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | -------------- | ---------------------------------- | ------- | -------- | ------------------ |
* | minEntityWidth | The minimum width of an entity box | Integer | Required | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Expressed in pixels. Default value: 100
*/
minEntityWidth: 100,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------------- | ----------------------------------- | ------- | -------- | ------------------ |
* | minEntityHeight | The minimum height of an entity box | Integer | 4 | Any Positive Value |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Expressed in pixels Default value: 75
*/
minEntityHeight: 75,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ------------- | ----------------------------------------------------------- | ------- | -------- | ------------------ |
* | entityPadding | Minimum internal padding betweentext in box and box borders | Integer | 4 | Any Positive Value |
2021-04-24 13:13:49 +08:00
*
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* The minimum internal padding betweentext in an entity box and the enclosing box borders,
* expressed in pixels.
*
2021-04-24 13:13:49 +08:00
* Default value: 15
*/
entityPadding: 15,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ----------------------------------- | ------ | -------- | -------------------- |
* | stroke | Stroke color of box edges and lines | string | 4 | Any recognized color |
2021-04-24 13:13:49 +08:00
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 'gray'
*/
stroke: 'gray',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | -------------------------- | ------ | -------- | -------------------- |
* | fill | Fill color of entity boxes | string | 4 | Any recognized color |
*
2021-11-10 08:41:52 +01:00
* **Notes:** Default value: 'honeydew'
*/
fill: 'honeydew',
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | --------- | ------------------- | ------- | -------- | ------------------ |
* | fontSize | Font Size in pixels | Integer | | Any Positive Value |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* Font size (expressed as an integer representing a number of pixels) Default value: 12
*/
fontSize: 12,
2020-08-25 17:05:01 +02:00
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See Notes | boolean | Required | true, false |
2020-08-25 17:05:01 +02:00
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* When this flag is set to true, the diagram width is locked to 100% and scaled based on
* available space. If set to false, the diagram reserves its absolute width.
2021-04-24 13:13:49 +08:00
*
* Default value: true
2020-08-25 17:05:01 +02:00
*/
2021-07-15 11:35:12 +02:00
useMaxWidth: true,
2020-08-25 17:05:01 +02:00
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for pie diagrams */
2020-08-25 17:05:01 +02:00
pie: {
useWidth: undefined,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See Notes | boolean | Required | true, false |
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* When this flag is set to true, the diagram width is locked to 100% and scaled based on
* available space. If set to false, the diagram reserves its absolute width.
2021-04-24 13:13:49 +08:00
*
* Default value: true
*/
2021-07-15 11:35:12 +02:00
useMaxWidth: true,
2021-02-23 23:26:37 -05:00
},
2021-11-10 08:41:52 +01:00
/** The object containing configurations specific for req diagrams */
2021-02-23 23:26:37 -05:00
requirement: {
useWidth: undefined,
/**
2021-11-10 08:41:52 +01:00
* | Parameter | Description | Type | Required | Values |
* | ----------- | ----------- | ------- | -------- | ----------- |
* | useMaxWidth | See Notes | boolean | Required | true, false |
2021-02-23 23:26:37 -05:00
*
2021-04-24 13:13:49 +08:00
* **Notes:**
*
2021-11-10 08:41:52 +01:00
* When this flag is set to true, the diagram width is locked to 100% and scaled based on
* available space. If set to false, the diagram reserves its absolute width.
2021-04-24 13:13:49 +08:00
*
* Default value: true
2021-02-23 23:26:37 -05:00
*/
useMaxWidth: true,
rect_fill: '#f9f9f9',
text_color: '#333',
rect_border_size: '0.5px',
rect_border_color: '#bbb',
rect_min_width: 200,
rect_min_height: 200,
fontSize: 14,
rect_padding: 10,
2021-07-15 11:35:12 +02:00
line_height: 20,
},
};
config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute;
config.git.arrowMarkerAbsolute = config.arrowMarkerAbsolute;
const keyify = (obj, prefix = '') =>
Object.keys(obj).reduce((res, el) => {
2021-08-05 01:13:13 +02:00
if (Array.isArray(obj[el])) {
return res;
2021-08-05 01:13:13 +02:00
} else if (typeof obj[el] === 'object' && obj[el] !== null) {
return [...res, prefix + el, ...keyify(obj[el], '')];
}
return [...res, prefix + el];
}, []);
export const configKeys = keyify(config, '');
export default config;