summaryrefslogtreecommitdiff
path: root/themes/blowfish/assets/lib/mermaid/diagram-api
diff options
context:
space:
mode:
Diffstat (limited to 'themes/blowfish/assets/lib/mermaid/diagram-api')
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/comments.d.ts6
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/comments.spec.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/detectType.d.ts42
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.spec.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.d.ts31
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.spec.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.d.ts18
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.spec.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/loadDiagram.d.ts1
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/regexes.d.ts3
-rw-r--r--themes/blowfish/assets/lib/mermaid/diagram-api/types.d.ts84
12 files changed, 190 insertions, 0 deletions
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/comments.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/comments.d.ts
new file mode 100644
index 0000000..6fe5494
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/comments.d.ts
@@ -0,0 +1,6 @@
+/**
+ * Remove all lines starting with `%%` from the text that don't contain a `%%{`
+ * @param text - The text to remove comments from
+ * @returns cleaned text
+ */
+export declare const cleanupComments: (text: string) => string;
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/comments.spec.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/comments.spec.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/comments.spec.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/detectType.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/detectType.d.ts
new file mode 100644
index 0000000..1de2d93
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/detectType.d.ts
@@ -0,0 +1,42 @@
+import type { MermaidConfig } from '../config.type.js';
+import type { DetectorRecord, DiagramDetector, DiagramLoader, ExternalDiagramDefinition } from './types.js';
+export declare const detectors: Record<string, DetectorRecord>;
+/**
+ * Detects the type of the graph text.
+ *
+ * Takes into consideration the possible existence of an `%%init` directive
+ *
+ * @param text - The text defining the graph. For example:
+ *
+ * ```mermaid
+ * %%{initialize: {"startOnLoad": true, logLevel: "fatal" }}%%
+ * graph LR
+ * a-->b
+ * b-->c
+ * c-->d
+ * d-->e
+ * e-->f
+ * f-->g
+ * g-->h
+ * ```
+ *
+ * @param config - The mermaid config.
+ * @returns A graph definition key
+ */
+export declare const detectType: (text: string, config?: MermaidConfig) => string;
+/**
+ * Registers lazy-loaded diagrams to Mermaid.
+ *
+ * The diagram function is loaded asynchronously, so that diagrams are only loaded
+ * if the diagram is detected.
+ *
+ * @remarks
+ * Please note that the order of diagram detectors is important.
+ * The first detector to return `true` is the diagram that will be loaded
+ * and used, so put more specific detectors at the beginning!
+ *
+ * @param diagrams - Diagrams to lazy load, and their detectors, in order of importance.
+ */
+export declare const registerLazyLoadedDiagrams: (...diagrams: ExternalDiagramDefinition[]) => void;
+export declare const addDetector: (key: string, detector: DiagramDetector, loader?: DiagramLoader) => void;
+export declare const getDiagramLoader: (key: string) => DiagramLoader | undefined;
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.d.ts
new file mode 100644
index 0000000..a30cf02
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.d.ts
@@ -0,0 +1 @@
+export declare const addDiagrams: () => void;
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.spec.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.spec.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/diagram-orchestration.spec.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.d.ts
new file mode 100644
index 0000000..2f4b6fb
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.d.ts
@@ -0,0 +1,31 @@
+import type { DiagramDefinition, DiagramDetector } from './types.js';
+import * as _commonDb from '../diagrams/common/commonDb.js';
+export declare const log: Record<import("../logger.js").LogLevel, {
+ (...data: any[]): void;
+ (message?: any, ...optionalParams: any[]): void;
+}>;
+export declare const setLogLevel: (level?: string | number) => void;
+export declare const getConfig: () => import("../config.type.js").MermaidConfig;
+export declare const setConfig: (conf: import("../config.type.js").MermaidConfig) => import("../config.type.js").MermaidConfig;
+export declare const defaultConfig: import("../config.type.js").MermaidConfig;
+export declare const setSiteConfig: (conf: import("../config.type.js").MermaidConfig) => import("../config.type.js").MermaidConfig;
+export declare const sanitizeText: (text: string) => string;
+export declare const setupGraphViewbox: (graph: any, svgElem: any, padding: any, useMaxWidth: any) => void;
+export declare const getCommonDb: () => typeof _commonDb;
+export interface Detectors {
+ [key: string]: DiagramDetector;
+}
+/**
+ * Registers the given diagram with Mermaid.
+ *
+ * Can be used for third-party custom diagrams.
+ *
+ * @param id - A unique ID for the given diagram.
+ * @param diagram - The diagram definition.
+ * @param detector - Function that returns `true` if a given mermaid text is this diagram definition.
+ */
+export declare const registerDiagram: (id: string, diagram: DiagramDefinition, detector?: DiagramDetector) => void;
+export declare const getDiagram: (name: string) => DiagramDefinition;
+export declare class DiagramNotFoundError extends Error {
+ constructor(name: string);
+}
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.spec.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.spec.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/diagramAPI.spec.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.d.ts
new file mode 100644
index 0000000..e62a4ba
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.d.ts
@@ -0,0 +1,18 @@
+import type { MermaidConfig } from '../config.type.js';
+interface FrontMatterMetadata {
+ title?: string;
+ displayMode?: string;
+ config?: MermaidConfig;
+}
+export interface FrontMatterResult {
+ text: string;
+ metadata: FrontMatterMetadata;
+}
+/**
+ * Extract and parse frontmatter from text, if present, and sets appropriate
+ * properties in the provided db.
+ * @param text - The text that may have a YAML frontmatter.
+ * @returns text with frontmatter stripped out
+ */
+export declare function extractFrontMatter(text: string): FrontMatterResult;
+export {};
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.spec.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.spec.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/frontmatter.spec.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/loadDiagram.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/loadDiagram.d.ts
new file mode 100644
index 0000000..dc1cd3d
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/loadDiagram.d.ts
@@ -0,0 +1 @@
+export declare const loadRegisteredDiagrams: () => Promise<void>;
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/regexes.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/regexes.d.ts
new file mode 100644
index 0000000..5672014
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/regexes.d.ts
@@ -0,0 +1,3 @@
+export declare const frontMatterRegex: RegExp;
+export declare const directiveRegex: RegExp;
+export declare const anyCommentRegex: RegExp;
diff --git a/themes/blowfish/assets/lib/mermaid/diagram-api/types.d.ts b/themes/blowfish/assets/lib/mermaid/diagram-api/types.d.ts
new file mode 100644
index 0000000..437ed2f
--- /dev/null
+++ b/themes/blowfish/assets/lib/mermaid/diagram-api/types.d.ts
@@ -0,0 +1,84 @@
+import type { Diagram } from '../Diagram.js';
+import type { BaseDiagramConfig, MermaidConfig } from '../config.type.js';
+import type * as d3 from 'd3';
+export interface DiagramMetadata {
+ title?: string;
+ config?: MermaidConfig;
+}
+export interface InjectUtils {
+ _log: any;
+ _setLogLevel: any;
+ _getConfig: any;
+ _sanitizeText: any;
+ _setupGraphViewbox: any;
+ _commonDb: any;
+ /** @deprecated as directives will be pre-processed since https://github.com/mermaid-js/mermaid/pull/4759 */
+ _parseDirective: any;
+}
+/**
+ * Generic Diagram DB that may apply to any diagram type.
+ */
+export interface DiagramDB {
+ getConfig?: () => BaseDiagramConfig | undefined;
+ clear?: () => void;
+ setDiagramTitle?: (title: string) => void;
+ getDiagramTitle?: () => string;
+ setAccTitle?: (title: string) => void;
+ getAccTitle?: () => string;
+ setAccDescription?: (description: string) => void;
+ getAccDescription?: () => string;
+ setDisplayMode?: (title: string) => void;
+ bindFunctions?: (element: Element) => void;
+}
+export interface DiagramStyleClassDef {
+ id: string;
+ styles?: string[];
+ textStyles?: string[];
+}
+export interface DiagramRenderer {
+ draw: DrawDefinition;
+ getClasses?: (text: string, diagram: Pick<DiagramDefinition, 'db'>) => Record<string, DiagramStyleClassDef>;
+}
+export interface DiagramDefinition {
+ db: DiagramDB;
+ renderer: DiagramRenderer;
+ parser: ParserDefinition;
+ styles?: any;
+ init?: (config: MermaidConfig) => void;
+ injectUtils?: (_log: InjectUtils['_log'], _setLogLevel: InjectUtils['_setLogLevel'], _getConfig: InjectUtils['_getConfig'], _sanitizeText: InjectUtils['_sanitizeText'], _setupGraphViewbox: InjectUtils['_setupGraphViewbox'], _commonDb: InjectUtils['_commonDb'],
+ /** @deprecated as directives will be pre-processed since https://github.com/mermaid-js/mermaid/pull/4759 */
+ _parseDirective: InjectUtils['_parseDirective']) => void;
+}
+export interface DetectorRecord {
+ detector: DiagramDetector;
+ loader?: DiagramLoader;
+}
+export interface ExternalDiagramDefinition {
+ id: string;
+ detector: DiagramDetector;
+ loader: DiagramLoader;
+}
+export type DiagramDetector = (text: string, config?: MermaidConfig) => boolean;
+export type DiagramLoader = () => Promise<{
+ id: string;
+ diagram: DiagramDefinition;
+}>;
+/**
+ * Type for function draws diagram in the tag with id: id based on the graph definition in text.
+ *
+ * @param text - The text of the diagram.
+ * @param id - The id of the diagram which will be used as a DOM element id.
+ * @param version - MermaidJS version from package.json.
+ * @param diagramObject - A standard diagram containing the DB and the text and type etc of the diagram.
+ */
+export type DrawDefinition = (text: string, id: string, version: string, diagramObject: Diagram) => void | Promise<void>;
+export interface ParserDefinition {
+ parse: (text: string) => void;
+ parser: {
+ yy: DiagramDB;
+ };
+}
+export type HTML = d3.Selection<HTMLIFrameElement, unknown, Element | null, unknown>;
+export type SVG = d3.Selection<SVGSVGElement, unknown, Element | null, unknown>;
+export type Group = d3.Selection<SVGGElement, unknown, Element | null, unknown>;
+export type DiagramStylesProvider = (options?: any) => string;