diff --git a/packages/mermaid/src/rendering-util/svg/index.ts b/packages/mermaid/src/rendering-util/svg/index.ts
index 7a34b78e4..bc8f1c5ac 100644
--- a/packages/mermaid/src/rendering-util/svg/index.ts
+++ b/packages/mermaid/src/rendering-util/svg/index.ts
@@ -3,12 +3,14 @@ import database from "./database.js";
import server from "./server.js";
import disk from "./disk.js";
import internet from "./internet.js";
+import unknown from "./unknown.js";
const defaultIconLibrary: IconLibrary = {
database: database,
server: server,
disk: disk,
internet: internet,
+ unknown: unknown,
}
export default defaultIconLibrary
\ No newline at end of file
diff --git a/packages/mermaid/src/rendering-util/svg/unknown.ts b/packages/mermaid/src/rendering-util/svg/unknown.ts
new file mode 100644
index 000000000..25b1ef5c4
--- /dev/null
+++ b/packages/mermaid/src/rendering-util/svg/unknown.ts
@@ -0,0 +1,10 @@
+/**
+ * @author Nicolas Newman
+ * @see https://github.com/NicolasNewman/IconLibrary
+ */
+import { createIcon } from "../svgRegister.js";
+
+export default createIcon(`
+
+ ?
+`, 80)
\ No newline at end of file
diff --git a/packages/mermaid/src/rendering-util/svgRegister.ts b/packages/mermaid/src/rendering-util/svgRegister.ts
index 4ab15b560..b5b4c5e28 100644
--- a/packages/mermaid/src/rendering-util/svgRegister.ts
+++ b/packages/mermaid/src/rendering-util/svgRegister.ts
@@ -5,6 +5,13 @@ type IconResolver = (
) => Selection;
type IconLibrary = Record;
+const createIcon = (icon: string, originalSize: number): IconResolver => {
+ return (parent: Selection, size: number = originalSize) => {
+ parent.html(`${icon}`)
+ return parent
+ }
+}
+
const icons: IconLibrary = {};
const isIconNameInUse = (name: string): boolean => {
@@ -29,14 +36,7 @@ const getIcon = (name: string): IconResolver | null => {
if (isIconNameInUse(name)) {
return icons[name];
}
- return null; // TODO: return default
+ return icons["unknown"];
};
-const createIcon = (icon: string, originalSize: number): IconResolver => {
- return (parent: Selection, size: number = originalSize) => {
- parent.html(`${icon}`)
- return parent
- }
-}
-
export { registerIcon, registerIcons, getIcon, isIconNameInUse, createIcon, IconLibrary };