mermaid/src/styles.js

81 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-07-17 15:57:02 +02:00
import classDiagram from './diagrams/class/styles';
import er from './diagrams/flowchart/styles';
import flowchart from './diagrams/flowchart/styles';
import gantt from './diagrams/gantt/styles';
import git from './diagrams/git/styles';
import info from './diagrams/info/styles';
import pie from './diagrams/pie/styles';
import sequence from './diagrams/sequence/styles';
import stateDiagram from './diagrams/state/styles';
import journey from './diagrams/user-journey/styles';
2020-07-16 20:27:42 +02:00
const themes = {
2020-07-17 15:57:02 +02:00
flowchart,
'flowchart-v2': flowchart,
sequence,
gantt,
class: classDiagram,
stateDiagram,
state: stateDiagram,
git,
info,
pie,
er,
journey
2020-07-16 20:27:42 +02:00
};
export const calcThemeVariables = (theme, userOverRides) => theme.calcColors(userOverRides);
const getStyles = (type, userStyles, options) => {
return ` {
2020-07-17 15:57:02 +02:00
font-family: ${options.fontFamily};
font-size: ${options.fontSize};
2020-07-16 20:27:42 +02:00
}
/* Classes common for multiple diagrams */
.error-icon {
fill: ${options.errorBkgColor};
}
.error-text {
fill: ${options.errorTextColor};
stroke: ${options.errorTextColor};
}
.edge-thickness-normal {
stroke-width: 2px;
}
.edge-thickness-thick {
stroke-width: 3.5px
}
.edge-pattern-solid {
stroke-dasharray: 0;
}
.edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
.marker {
fill: ${options.lineColor};
}
.marker.cross {
stroke: ${options.lineColor};
}
svg {
2020-07-17 15:57:02 +02:00
font-family: ${options.fontFamily};
font-size: ${options.fontSize};
2020-07-16 20:27:42 +02:00
}
${themes[type](options)}
2020-07-16 20:27:42 +02:00
${userStyles}
`;
};
2020-07-16 20:27:42 +02:00
export default getStyles;