Skip to content

Commit 35fe99f

Browse files
authored
Added support for registering icon-packs (#59)
Signed-off-by: Jasper Boeijenga <jboeijenga@gmail.com>
1 parent 1186fcf commit 35fe99f

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/Mermaid/Mermaid.tsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ import { useEffect, useState } from 'react';
1818
import { PaletteType, useTheme } from '@material-ui/core';
1919

2020
import { useShadowRootElements } from '@backstage/plugin-techdocs-react';
21-
import mermaid from 'mermaid'
21+
import mermaid, { MermaidConfig } from 'mermaid'
2222
import { isMermaidCode } from './hooks';
2323
import { MermaidProps } from './props';
2424
import { BackstageTheme } from '@backstage/theme';
25-
import { MermaidConfig } from 'mermaid';
2625

2726
export function selectConfig(backstagePalette: PaletteType, properties: MermaidProps): MermaidConfig {
2827
// Theme set directly in the Mermaid configuration takes
@@ -63,7 +62,6 @@ export const MermaidAddon = (properties: MermaidProps) => {
6362
const highlightDivs = useShadowRootElements<HTMLDivElement>(['.highlight']);
6463
const mermaidPreBlocks = useShadowRootElements<HTMLPreElement>(['.mermaid']);
6564
const theme = useTheme<BackstageTheme>();
66-
6765

6866
const [ initialized, setInitialized ] = useState(false);
6967

@@ -72,6 +70,9 @@ export const MermaidAddon = (properties: MermaidProps) => {
7270
return;
7371
}
7472
const config = selectConfig(theme.palette.type, properties);
73+
if ( properties.iconLoaders ) {
74+
mermaid.registerIconPacks(properties.iconLoaders);
75+
}
7576
mermaid.initialize(config);
7677
setInitialized(true);
7778
}, [initialized]);

src/Mermaid/props.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { MermaidConfig } from 'mermaid';
2+
import { IconLoader } from 'mermaid/dist/rendering-util/icons';
23

34
export type MermaidProps = {
45
lightConfig?: MermaidConfig,
56
darkConfig?: MermaidConfig,
67
config?: MermaidConfig,
8+
iconLoaders?: IconLoader[]
79
}

0 commit comments

Comments
 (0)