Christoph Cullmann 2024-04-28 17:33:09 +02:00
parent 4b35583782
commit e77051ccc4
1987 changed files with 1147290 additions and 5648 deletions

View file

@ -0,0 +1,54 @@
import type { DiagramDB } from '../../diagram-api/types.js';
import type { BlockConfig, Block, ClassDef } from './blockTypes.js';
/**
* Called when the parser comes across a (style) class definition
* @example classDef my-style fill:#f96;
*
* @param id - the id of this (style) class
* @param styleAttributes - the string with 1 or more style attributes (each separated by a comma)
*/
export declare const addStyleClass: (id: string, styleAttributes?: string) => void;
/**
* Called when the parser comes across a style definition
* @example style my-block-id fill:#f96;
*
* @param id - the id of the block to style
* @param styles - the string with 1 or more style attributes (each separated by a comma)
*/
export declare const addStyle2Node: (id: string, styles?: string) => void;
/**
* Add a CSS/style class to the block with the given id.
* If the block isn't already in the list of known blocks, add it.
* Might be called by parser when a CSS/style class should be applied to a block
*
* @param itemIds - The id or a list of ids of the item(s) to apply the css class to
* @param cssClassName - CSS class name
*/
export declare const setCssClass: (itemIds: string, cssClassName: string) => void;
export declare function typeStr2Type(typeStr: string): "circle" | "round" | "square" | "diamond" | "hexagon" | "rect_left_inv_arrow" | "lean_right" | "lean_left" | "trapezoid" | "inv_trapezoid" | "stadium" | "subroutine" | "cylinder" | "na" | "block_arrow" | "doublecircle";
export declare function edgeTypeStr2Type(typeStr: string): string;
export declare function edgeStrToEdgeData(typeStr: string): string;
export declare const generateId: () => string;
/**
* Return all of the style classes
*/
export declare const getClasses: () => Record<string, ClassDef>;
declare const db: {
readonly getConfig: () => BlockConfig | undefined;
readonly typeStr2Type: typeof typeStr2Type;
readonly edgeTypeStr2Type: typeof edgeTypeStr2Type;
readonly edgeStrToEdgeData: typeof edgeStrToEdgeData;
readonly getLogger: () => Console;
readonly getBlocksFlat: () => Block[];
readonly getBlocks: () => Block[];
readonly getEdges: () => Block[];
readonly setHierarchy: (block: Block[]) => void;
readonly getBlock: (id: string) => Block;
readonly setBlock: (block: Block) => void;
readonly getColumns: (blockId: string) => number;
readonly getClasses: () => Record<string, ClassDef>;
readonly clear: () => void;
readonly generateId: () => string;
};
export type BlockDB = typeof db & DiagramDB;
export default db;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,15 @@
import type { Diagram } from '../../Diagram.js';
/**
* Returns the all the styles from classDef statements in the graph definition.
*
* @param text - The text with the classes
* @param diagObj - The diagram object
* @returns ClassDef - The styles
*/
export declare const getClasses: (text: any, diagObj: any) => any;
export declare const draw: (text: string, id: string, _version: string, diagObj: Diagram) => Promise<void>;
declare const _default: {
draw: (text: string, id: string, _version: string, diagObj: Diagram) => Promise<void>;
getClasses: (text: any, diagObj: any) => any;
};
export default _default;

View file

@ -0,0 +1,36 @@
export type { BlockDiagramConfig as BlockConfig } from '../../config.type.js';
export type BlockType = 'na' | 'column-setting' | 'edge' | 'round' | 'block_arrow' | 'space' | 'square' | 'diamond' | 'hexagon' | 'odd' | 'lean_right' | 'lean_left' | 'trapezoid' | 'inv_trapezoid' | 'rect_left_inv_arrow' | 'odd_right' | 'circle' | 'ellipse' | 'stadium' | 'subroutine' | 'cylinder' | 'group' | 'doublecircle' | 'classDef' | 'applyClass' | 'applyStyles' | 'composite';
export interface Block {
start?: string;
end?: string;
arrowTypeEnd?: string;
arrowTypeStart?: string;
width?: number;
id: string;
label?: string;
intersect?: any;
parent?: Block;
type?: BlockType;
children: Block[];
size?: {
width: number;
height: number;
x: number;
y: number;
};
node?: any;
columns?: number;
classes?: string[];
directions?: string[];
css?: string;
styleClass?: string;
styles?: string[];
stylesStr?: string;
widthInColumns?: number;
}
export interface ClassDef {
id: string;
textStyles: string[];
styles: string[];
}
export type Direction = 'up' | 'down' | 'left' | 'right' | 'x' | 'y';

View file

@ -0,0 +1 @@
export declare const prepareTextForParsing: (text: string) => string;

View file

@ -0,0 +1,13 @@
import type { BlockDB } from './blockDB.js';
interface BlockPosition {
px: number;
py: number;
}
export declare function calculateBlockPosition(columns: number, position: number): BlockPosition;
export declare function layout(db: BlockDB): {
x: number;
y: number;
width: number;
height: number;
} | undefined;
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,10 @@
import type { Block } from './blockTypes.js';
import type { BlockDB } from './blockDB.js';
declare function calculateBlockSize(elem: d3.Selection<SVGGElement, unknown, HTMLElement, any>, block: any, db: any): Promise<void>;
type ActionFun = typeof calculateBlockSize;
export declare function insertBlockPositioned(elem: any, block: Block, db: any): Promise<void>;
export declare function performOperations(elem: d3.Selection<SVGGElement, unknown, HTMLElement, any>, blocks: Block[], db: BlockDB, operation: ActionFun): Promise<void>;
export declare function calculateBlockSizes(elem: any, blocks: Block[], db: BlockDB): Promise<void>;
export declare function insertBlocks(elem: d3.Selection<SVGGElement, unknown, HTMLElement, any>, blocks: Block[], db: BlockDB): Promise<void>;
export declare function insertEdges(elem: any, edges: Block[], blocks: Block[], db: BlockDB, id: string): Promise<void>;
export {};

View file

@ -0,0 +1,18 @@
/** Returns the styles given options */
export interface BlockChartStyleOptions {
arrowheadColor: string;
border2: string;
clusterBkg: string;
clusterBorder: string;
edgeLabelBackground: string;
fontFamily: string;
lineColor: string;
mainBkg: string;
nodeBorder: string;
nodeTextColor: string;
tertiaryColor: string;
textColor: string;
titleColor: string;
}
declare const getStyles: (options: BlockChartStyleOptions) => string;
export default getStyles;

View file

@ -0,0 +1,127 @@
export function getC4Type(): any;
export function setC4Type(c4TypeParam: any): void;
export function addRel(type: any, from: any, to: any, label: any, techn: any, descr: any, sprite: any, tags: any, link: any): void;
export function addPersonOrSystem(typeC4Shape: any, alias: any, label: any, descr: any, sprite: any, tags: any, link: any): void;
export function addContainer(typeC4Shape: any, alias: any, label: any, techn: any, descr: any, sprite: any, tags: any, link: any): void;
export function addComponent(typeC4Shape: any, alias: any, label: any, techn: any, descr: any, sprite: any, tags: any, link: any): void;
export function addPersonOrSystemBoundary(alias: any, label: any, type: any, tags: any, link: any): void;
export function addContainerBoundary(alias: any, label: any, type: any, tags: any, link: any): void;
export function addDeploymentNode(nodeType: any, alias: any, label: any, type: any, descr: any, sprite: any, tags: any, link: any): void;
export function popBoundaryParseStack(): void;
export function updateElStyle(typeC4Shape: any, elementName: any, bgColor: any, fontColor: any, borderColor: any, shadowing: any, shape: any, sprite: any, techn: any, legendText: any, legendSprite: any): void;
export function updateRelStyle(typeC4Shape: any, from: any, to: any, textColor: any, lineColor: any, offsetX: any, offsetY: any): void;
export function updateLayoutConfig(typeC4Shape: any, c4ShapeInRowParam: any, c4BoundaryInRowParam: any): void;
export function getC4ShapeInRow(): number;
export function getC4BoundaryInRow(): number;
export function getCurrentBoundaryParse(): string;
export function getParentBoundaryParse(): string;
export function getC4ShapeArray(parentBoundary: any): any[];
export function getC4Shape(alias: any): any;
export function getC4ShapeKeys(parentBoundary: any): string[];
export function getBoundaries(parentBoundary: any): {
alias: string;
label: {
text: string;
};
type: {
text: string;
};
tags: null;
link: null;
parentBoundary: string;
}[];
export function getBoundarys(parentBoundary: any): {
alias: string;
label: {
text: string;
};
type: {
text: string;
};
tags: null;
link: null;
parentBoundary: string;
}[];
export function getRels(): any[];
export function getTitle(): string;
export function setWrap(wrapSetting: any): void;
export function autoWrap(): boolean;
export function clear(): void;
export namespace LINETYPE {
let SOLID: number;
let DOTTED: number;
let NOTE: number;
let SOLID_CROSS: number;
let DOTTED_CROSS: number;
let SOLID_OPEN: number;
let DOTTED_OPEN: number;
let LOOP_START: number;
let LOOP_END: number;
let ALT_START: number;
let ALT_ELSE: number;
let ALT_END: number;
let OPT_START: number;
let OPT_END: number;
let ACTIVE_START: number;
let ACTIVE_END: number;
let PAR_START: number;
let PAR_AND: number;
let PAR_END: number;
let RECT_START: number;
let RECT_END: number;
let SOLID_POINT: number;
let DOTTED_POINT: number;
}
export namespace ARROWTYPE {
let FILLED: number;
let OPEN: number;
}
export namespace PLACEMENT {
let LEFTOF: number;
let RIGHTOF: number;
let OVER: number;
}
export function setTitle(txt: any): void;
declare namespace _default {
export { addPersonOrSystem };
export { addPersonOrSystemBoundary };
export { addContainer };
export { addContainerBoundary };
export { addComponent };
export { addDeploymentNode };
export { popBoundaryParseStack };
export { addRel };
export { updateElStyle };
export { updateRelStyle };
export { updateLayoutConfig };
export { autoWrap };
export { setWrap };
export { getC4ShapeArray };
export { getC4Shape };
export { getC4ShapeKeys };
export { getBoundaries };
export { getBoundarys };
export { getCurrentBoundaryParse };
export { getParentBoundaryParse };
export { getRels };
export { getTitle };
export { getC4Type };
export { getC4ShapeInRow };
export { getC4BoundaryInRow };
export { setAccTitle };
export { getAccTitle };
export { getAccDescription };
export { setAccDescription };
export function getConfig(): import("../../config.type.js").C4DiagramConfig | undefined;
export { clear };
export { LINETYPE };
export { ARROWTYPE };
export { PLACEMENT };
export { setTitle };
export { setC4Type };
}
export default _default;
import { setAccTitle } from '../common/commonDb.js';
import { getAccTitle } from '../common/commonDb.js';
import { getAccDescription } from '../common/commonDb.js';
import { setAccDescription } from '../common/commonDb.js';

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,12 @@
export function setConf(cnf: any): void;
export function drawBoundary(diagram: any, boundary: any, bounds: any): void;
export function drawC4ShapeArray(currentBounds: any, diagram: any, c4ShapeArray: any, c4ShapeKeys: any): void;
export function drawRels(diagram: any, rels: any, getC4ShapeObj: any, diagObj: any): void;
export function draw(_text: any, id: any, _version: any, diagObj: any): void;
declare namespace _default {
export { drawC4ShapeArray as drawPersonOrSystemArray };
export { drawBoundary };
export { setConf };
export { draw };
}
export default _default;

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1,36 @@
export function drawRect(elem: any, rectData: any): import("../common/commonTypes.js").D3RectElement;
export function drawImage(elem: any, width: any, height: any, x: any, y: any, link: any): void;
export function drawRels(elem: any, rels: any, conf: any): void;
export function drawC4Shape(elem: any, c4Shape: any, conf: any): any;
export function insertDatabaseIcon(elem: any): void;
export function insertComputerIcon(elem: any): void;
export function insertClockIcon(elem: any): void;
export function insertArrowHead(elem: any): void;
export function insertArrowEnd(elem: any): void;
export function insertArrowFilledHead(elem: any): void;
export function insertDynamicNumber(elem: any): void;
export function insertArrowCrossHead(elem: any): void;
declare namespace _default {
export { drawRect };
export { drawBoundary };
export { drawC4Shape };
export { drawRels };
export { drawImage };
export { insertArrowHead };
export { insertArrowEnd };
export { insertArrowFilledHead };
export { insertDynamicNumber };
export { insertArrowCrossHead };
export { insertDatabaseIcon };
export { insertComputerIcon };
export { insertClockIcon };
}
export default _default;
/**
* Draws an boundary in the diagram
*
* @param {any} elem - The diagram we'll draw to.
* @param {any} boundary - The boundary to draw.
* @param {any} conf - DrawText implementation discriminator object
*/
declare function drawBoundary(elem: any, boundary: any, conf: any): void;

View file

@ -0,0 +1,144 @@
import type { ClassRelation, ClassNode, ClassNote, ClassMap, NamespaceMap, NamespaceNode } from './classTypes.js';
export declare const setClassLabel: (_id: string, label: string) => void;
/**
* Function called by parser when a node definition has been found.
*
* @param id - Id of the class to add
* @public
*/
export declare const addClass: (_id: string) => void;
/**
* Function to lookup domId from id in the graph definition.
*
* @param id - class ID to lookup
* @public
*/
export declare const lookUpDomId: (_id: string) => string;
export declare const clear: () => void;
export declare const getClass: (id: string) => ClassNode;
export declare const getClasses: () => ClassMap;
export declare const getRelations: () => ClassRelation[];
export declare const getNotes: () => ClassNote[];
export declare const addRelation: (relation: ClassRelation) => void;
/**
* Adds an annotation to the specified class Annotations mark special properties of the given type
* (like 'interface' or 'service')
*
* @param className - The class name
* @param annotation - The name of the annotation without any brackets
* @public
*/
export declare const addAnnotation: (className: string, annotation: string) => void;
/**
* Adds a member to the specified class
*
* @param className - The class name
* @param member - The full name of the member. If the member is enclosed in `<<brackets>>` it is
* treated as an annotation If the member is ending with a closing bracket ) it is treated as a
* method Otherwise the member will be treated as a normal property
* @public
*/
export declare const addMember: (className: string, member: string) => void;
export declare const addMembers: (className: string, members: string[]) => void;
export declare const addNote: (text: string, className: string) => void;
export declare const cleanupLabel: (label: string) => string;
/**
* Called by parser when assigning cssClass to a class
*
* @param ids - Comma separated list of ids
* @param className - Class to add
*/
export declare const setCssClass: (ids: string, className: string) => void;
export declare const getTooltip: (id: string, namespace?: string) => string | undefined;
/**
* Called by parser when a link is found. Adds the URL to the vertex data.
*
* @param ids - Comma separated list of ids
* @param linkStr - URL to create a link for
* @param target - Target of the link, _blank by default as originally defined in the svgDraw.js file
*/
export declare const setLink: (ids: string, linkStr: string, target: string) => void;
/**
* Called by parser when a click definition is found. Registers an event handler.
*
* @param ids - Comma separated list of ids
* @param functionName - Function to be called on click
* @param functionArgs - Function args the function should be called with
*/
export declare const setClickEvent: (ids: string, functionName: string, functionArgs: string) => void;
export declare const bindFunctions: (element: Element) => void;
export declare const lineType: {
LINE: number;
DOTTED_LINE: number;
};
export declare const relationType: {
AGGREGATION: number;
EXTENSION: number;
COMPOSITION: number;
DEPENDENCY: number;
LOLLIPOP: number;
};
/**
* Function called by parser when a namespace definition has been found.
*
* @param id - Id of the namespace to add
* @public
*/
export declare const addNamespace: (id: string) => void;
/**
* Function called by parser when a namespace definition has been found.
*
* @param id - Id of the namespace to add
* @param classNames - Ids of the class to add
* @public
*/
export declare const addClassesToNamespace: (id: string, classNames: string[]) => void;
export declare const setCssStyle: (id: string, styles: string[]) => void;
declare const _default: {
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
getAccDescription: () => string;
setAccDescription: (txt: string) => void;
getConfig: () => import("../../config.type.js").ClassDiagramConfig | undefined;
addClass: (_id: string) => void;
bindFunctions: (element: Element) => void;
clear: () => void;
getClass: (id: string) => ClassNode;
getClasses: () => ClassMap;
getNotes: () => ClassNote[];
addAnnotation: (className: string, annotation: string) => void;
addNote: (text: string, className: string) => void;
getRelations: () => ClassRelation[];
addRelation: (relation: ClassRelation) => void;
getDirection: () => string;
setDirection: (dir: string) => void;
addMember: (className: string, member: string) => void;
addMembers: (className: string, members: string[]) => void;
cleanupLabel: (label: string) => string;
lineType: {
LINE: number;
DOTTED_LINE: number;
};
relationType: {
AGGREGATION: number;
EXTENSION: number;
COMPOSITION: number;
DEPENDENCY: number;
LOLLIPOP: number;
};
setClickEvent: (ids: string, functionName: string, functionArgs: string) => void;
setCssClass: (ids: string, className: string) => void;
setLink: (ids: string, linkStr: string, target: string) => void;
getTooltip: (id: string, namespace?: string | undefined) => string | undefined;
setTooltip: (ids: string, tooltip?: string | undefined) => void;
lookUpDomId: (_id: string) => string;
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
setClassLabel: (_id: string, label: string) => void;
addNamespace: (id: string) => void;
addClassesToNamespace: (id: string, classNames: string[]) => void;
getNamespace: (name: string) => NamespaceNode;
getNamespaces: () => NamespaceMap;
setCssStyle: (id: string, styles: string[]) => void;
};
export default _default;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,57 @@
import * as graphlib from 'dagre-d3-es/src/graphlib/index.js';
import type { ClassRelation, ClassNote, ClassMap, NamespaceMap } from './classTypes.js';
/**
* Function that adds the vertices found during parsing to the graph to be rendered.
*
* @param namespaces - Object containing the vertices.
* @param g - The graph that is to be drawn.
* @param _id - id of the graph
* @param diagObj - The diagram object
*/
export declare const addNamespaces: (namespaces: NamespaceMap, g: graphlib.Graph, _id: string, diagObj: any) => void;
/**
* Function that adds the vertices found during parsing to the graph to be rendered.
*
* @param classes - Object containing the vertices.
* @param g - The graph that is to be drawn.
* @param _id - id of the graph
* @param diagObj - The diagram object
* @param parent - id of the parent namespace, if it exists
*/
export declare const addClasses: (classes: ClassMap, g: graphlib.Graph, _id: string, diagObj: any, parent?: string) => void;
/**
* Function that adds the additional vertices (notes) found during parsing to the graph to be rendered.
*
* @param notes - Object containing the additional vertices (notes).
* @param g - The graph that is to be drawn.
* @param startEdgeId - starting index for note edge
* @param classes - Classes
*/
export declare const addNotes: (notes: ClassNote[], g: graphlib.Graph, startEdgeId: number, classes: ClassMap) => void;
/**
* Add edges to graph based on parsed graph definition
*
* @param relations -
* @param g - The graph object
*/
export declare const addRelations: (relations: ClassRelation[], g: graphlib.Graph) => void;
/**
* Merges the value of `conf` with the passed `cnf`
*
* @param cnf - Config to merge
*/
export declare const setConf: (cnf: any) => void;
/**
* Draws a class diagram in the tag with id: id based on the definition in text.
*
* @param text -
* @param id -
* @param _version -
* @param diagObj -
*/
export declare const draw: (text: string, id: string, _version: string, diagObj: any) => Promise<void>;
declare const _default: {
setConf: (cnf: any) => void;
draw: (text: string, id: string, _version: string, diagObj: any) => Promise<void>;
};
export default _default;

View file

@ -0,0 +1,5 @@
export function draw(text: string, id: string, _version: any, diagObj: any): void;
declare namespace _default {
export { draw };
}
export default _default;

View file

@ -0,0 +1,78 @@
export interface ClassNode {
id: string;
type: string;
label: string;
cssClasses: string[];
methods: ClassMember[];
members: ClassMember[];
annotations: string[];
domId: string;
styles: string[];
parent?: string;
link?: string;
linkTarget?: string;
haveCallback?: boolean;
tooltip?: string;
}
export type Visibility = '#' | '+' | '~' | '-' | '';
export declare const visibilityValues: string[];
/**
* Parses and stores class diagram member variables/methods.
*
*/
export declare class ClassMember {
id: string;
cssStyle: string;
memberType: 'method' | 'attribute';
visibility: Visibility;
/**
* denote if static or to determine which css class to apply to the node
* @defaultValue ''
*/
classifier: string;
/**
* parameters for method
* @defaultValue ''
*/
parameters: string;
/**
* return type for method
* @defaultValue ''
*/
returnType: string;
constructor(input: string, memberType: 'method' | 'attribute');
getDisplayDetails(): {
displayText: string;
cssStyle: string;
};
parseMember(input: string): void;
parseClassifier(): "" | "font-style:italic;" | "text-decoration:underline;";
}
export interface ClassNote {
id: string;
class: string;
text: string;
}
export type ClassRelation = {
id1: string;
id2: string;
relationTitle1: string;
relationTitle2: string;
type: string;
title: string;
text: string;
style: string[];
relation: {
type1: number;
type2: number;
lineType: number;
};
};
export interface NamespaceNode {
id: string;
domId: string;
classes: ClassMap;
children: NamespaceMap;
}
export type ClassMap = Record<string, ClassNode>;
export type NamespaceMap = Record<string, NamespaceNode>;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1,25 @@
export function drawEdge(elem: any, path: any, relation: any, conf: any, diagObj: any): void;
export function drawClass(elem: SVGSVGElement, classDef: any, conf: any, diagObj: any): {
id: any;
label: any;
width: number;
height: number;
};
export function getClassTitleString(classDef: any): any;
export function drawNote(elem: SVGSVGElement, note: {
id: string;
text: string;
class: string;
}, conf: any, diagObj: any): {
id: string;
text: string;
width: number;
height: number;
};
declare namespace _default {
export { getClassTitleString };
export { drawClass };
export { drawEdge };
export { drawNote };
}
export default _default;

View file

@ -0,0 +1,110 @@
import type { MermaidConfig } from '../../config.type.js';
export declare const lineBreakRegex: RegExp;
/**
* Gets the rows of lines in a string
*
* @param s - The string to check the lines for
* @returns The rows in that string
*/
export declare const getRows: (s?: string) => string[];
/**
* Removes script tags from a text
*
* @param txt - The text to sanitize
* @returns The safer text
*/
export declare const removeScript: (txt: string) => string;
export declare const sanitizeText: (text: string, config: MermaidConfig) => string;
export declare const sanitizeTextOrArray: (a: string | string[] | string[][], config: MermaidConfig) => string | string[];
/**
* Whether or not a text has any line breaks
*
* @param text - The text to test
* @returns Whether or not the text has breaks
*/
export declare const hasBreaks: (text: string) => boolean;
/**
* Splits on <br> tags
*
* @param text - Text to split
* @returns List of lines as strings
*/
export declare const splitBreaks: (text: string) => string[];
/**
* Converts a string/boolean into a boolean
*
* @param val - String or boolean to convert
* @returns The result from the input
*/
export declare const evaluate: (val?: string | boolean) => boolean;
/**
* Wrapper around Math.max which removes non-numeric values
* Returns the larger of a set of supplied numeric expressions.
* @param values - Numeric expressions to be evaluated
* @returns The smaller value
*/
export declare const getMax: (...values: number[]) => number;
/**
* Wrapper around Math.min which removes non-numeric values
* Returns the smaller of a set of supplied numeric expressions.
* @param values - Numeric expressions to be evaluated
* @returns The smaller value
*/
export declare const getMin: (...values: number[]) => number;
/**
* Makes generics in typescript syntax
*
* @example
* Array of array of strings in typescript syntax
*
* ```js
* // returns "Array<Array<string>>"
* parseGenericTypes('Array~Array~string~~');
* ```
* @param text - The text to convert
* @returns The converted string
*/
export declare const parseGenericTypes: (input: string) => string;
export declare const countOccurrence: (string: string, substring: string) => number;
export declare const isMathMLSupported: () => boolean;
export declare const katexRegex: RegExp;
/**
* Whether or not a text has KaTeX delimiters
*
* @param text - The text to test
* @returns Whether or not the text has KaTeX delimiters
*/
export declare const hasKatex: (text: string) => boolean;
/**
* Computes the minimum dimensions needed to display a div containing MathML
*
* @param text - The text to test
* @param config - Configuration for Mermaid
* @returns Object containing \{width, height\}
*/
export declare const calculateMathMLDimensions: (text: string, config: MermaidConfig) => Promise<{
width: number;
height: number;
}>;
/**
* Attempts to render and return the KaTeX portion of a string with MathML
*
* @param text - The text to test
* @param config - Configuration for Mermaid
* @returns String containing MathML if KaTeX is supported, or an error message if it is not and stylesheets aren't present
*/
export declare const renderKatex: (text: string, config: MermaidConfig) => Promise<string>;
declare const _default: {
getRows: (s?: string | undefined) => string[];
sanitizeText: (text: string, config: MermaidConfig) => string;
sanitizeTextOrArray: (a: string | string[] | string[][], config: MermaidConfig) => string | string[];
hasBreaks: (text: string) => boolean;
splitBreaks: (text: string) => string[];
lineBreakRegex: RegExp;
removeScript: (txt: string) => string;
getUrl: (useAbsolute: boolean) => string;
evaluate: (val?: string | boolean | undefined) => boolean;
getMax: (...values: number[]) => number;
getMin: (...values: number[]) => number;
};
export default _default;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,7 @@
export declare const clear: () => void;
export declare const setAccTitle: (txt: string) => void;
export declare const getAccTitle: () => string;
export declare const setAccDescription: (txt: string) => void;
export declare const getAccDescription: () => string;
export declare const setDiagramTitle: (txt: string) => void;
export declare const getDiagramTitle: () => string;

View file

@ -0,0 +1,51 @@
export interface RectData {
x: number;
y: number;
fill: string;
width: number;
height: number;
stroke: string;
class?: string;
color?: string;
rx?: number;
ry?: number;
attrs?: Record<string, string | number>;
anchor?: string;
name?: string;
}
export interface Bound {
startx: number;
stopx: number;
starty: number;
stopy: number;
fill: string;
stroke: string;
}
export interface TextData {
x: number;
y: number;
anchor: string;
text: string;
textMargin: number;
class?: string;
}
export interface TextObject {
x: number;
y: number;
width: number;
height: number;
fill?: string;
anchor?: string;
'text-anchor': string;
style: string;
textMargin: number;
rx: number;
ry: number;
tspan: boolean;
valign?: string;
}
export type D3RectElement = d3.Selection<SVGRectElement, unknown, Element | null, unknown>;
export type D3UseElement = d3.Selection<SVGUseElement, unknown, Element | null, unknown>;
export type D3ImageElement = d3.Selection<SVGImageElement, unknown, Element | null, unknown>;
export type D3TextElement = d3.Selection<SVGTextElement, unknown, Element | null, unknown>;
export type D3TSpanElement = d3.Selection<SVGTSpanElement, unknown, Element | null, unknown>;

View file

@ -0,0 +1,15 @@
import type { Group, SVG } from '../../diagram-api/types.js';
import type { Bound, D3RectElement, D3TextElement, RectData, TextData, TextObject } from './commonTypes.js';
export declare const drawRect: (element: SVG | Group, rectData: RectData) => D3RectElement;
/**
* Draws a background rectangle
*
* @param element - Diagram (reference for bounds)
* @param bounds - Shape of the rectangle
*/
export declare const drawBackgroundRect: (element: SVG | Group, bounds: Bound) => void;
export declare const drawText: (element: SVG | Group, textData: TextData) => D3TextElement;
export declare const drawImage: (elem: SVG | Group, x: number, y: number, link: string) => void;
export declare const drawEmbeddedImage: (element: SVG | Group, x: number, y: number, link: string) => void;
export declare const getNoteRect: () => RectData;
export declare const getTextObj: () => TextObject;

View file

@ -0,0 +1,49 @@
declare namespace _default {
export { Cardinality };
export { Identification };
export function getConfig(): import("../../config.type.js").ErDiagramConfig | undefined;
export { addEntity };
export { addAttributes };
export { getEntities };
export { addRelationship };
export { getRelationships };
export { clear };
export { setAccTitle };
export { getAccTitle };
export { setAccDescription };
export { getAccDescription };
export { setDiagramTitle };
export { getDiagramTitle };
}
export default _default;
declare namespace Cardinality {
let ZERO_OR_ONE: string;
let ZERO_OR_MORE: string;
let ONE_OR_MORE: string;
let ONLY_ONE: string;
let MD_PARENT: string;
}
declare namespace Identification {
let NON_IDENTIFYING: string;
let IDENTIFYING: string;
}
declare function addEntity(name: any, alias?: undefined): any;
declare function addAttributes(entityName: any, attribs: any): void;
declare function getEntities(): {};
/**
* Add a relationship
*
* @param entA The first entity in the relationship
* @param rolA The role played by the first entity in relation to the second
* @param entB The second entity in the relationship
* @param rSpec The details of the relationship between the two entities
*/
declare function addRelationship(entA: any, rolA: any, entB: any, rSpec: any): void;
declare function getRelationships(): any[];
declare function clear(): void;
import { setAccTitle } from '../common/commonDb.js';
import { getAccTitle } from '../common/commonDb.js';
import { setAccDescription } from '../common/commonDb.js';
import { getAccDescription } from '../common/commonDb.js';
import { setDiagramTitle } from '../common/commonDb.js';
import { getDiagramTitle } from '../common/commonDb.js';

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,34 @@
export declare const diagram: {
parser: any;
db: {
Cardinality: {
ZERO_OR_ONE: string;
ZERO_OR_MORE: string;
ONE_OR_MORE: string;
ONLY_ONE: string;
MD_PARENT: string;
};
Identification: {
NON_IDENTIFYING: string;
IDENTIFYING: string;
};
getConfig: () => import("../../config.type.js").ErDiagramConfig | undefined;
addEntity: (name: any, alias?: undefined) => any;
addAttributes: (entityName: any, attribs: any) => void;
getEntities: () => {};
addRelationship: (entA: any, rolA: any, entB: any, rSpec: any) => void;
getRelationships: () => any[];
clear: () => void;
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
setAccDescription: (txt: string) => void;
getAccDescription: () => string;
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
};
renderer: {
setConf: (cnf: any) => void;
draw: (text: any, id: any, _version: any, diagObj: any) => void;
};
styles: (options: any) => string;
};

View file

@ -0,0 +1,24 @@
declare namespace _default {
export { ERMarkers };
export { insertMarkers };
}
export default _default;
declare namespace ERMarkers {
let ONLY_ONE_START: string;
let ONLY_ONE_END: string;
let ZERO_OR_ONE_START: string;
let ZERO_OR_ONE_END: string;
let ONE_OR_MORE_START: string;
let ONE_OR_MORE_END: string;
let ZERO_OR_MORE_START: string;
let ZERO_OR_MORE_END: string;
let MD_PARENT_END: string;
let MD_PARENT_START: string;
}
/**
* Put the markers into the svg DOM for later use with edge paths
*
* @param elem
* @param conf
*/
declare function insertMarkers(elem: any, conf: any): void;

View file

@ -0,0 +1,19 @@
/**
* Return a unique id based on the given string. Start with the prefix, then a hyphen, then the
* simplified str, then a hyphen, then a unique uuid based on the str. (Hyphens are only included if needed.)
* Although the official XML standard for ids says that many more characters are valid in the id,
* this keeps things simple by accepting only A-Za-z0-9.
*
* @param {string} str Given string to use as the basis for the id. Default is `''`
* @param {string} prefix String to put at the start, followed by '-'. Default is `''`
* @returns {string}
* @see https://www.w3.org/TR/xml/#NT-Name
*/
export function generateId(str?: string, prefix?: string): string;
export function setConf(cnf: any): void;
export function draw(text: any, id: any, _version: any, diagObj: any): void;
declare namespace _default {
export { setConf };
export { draw };
}
export default _default;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,3 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
declare const diagram: DiagramDefinition;
export default diagram;

View file

@ -0,0 +1,12 @@
/**
* Draws an info picture in the tag with id: id based on the graph definition in text.
*
* @param _text - Mermaid graph definition.
* @param id - The text for the error
* @param version - The version
*/
export declare const draw: (_text: string, id: string, version: string) => void;
export declare const renderer: {
draw: (_text: string, id: string, version: string) => void;
};
export default renderer;

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(): string;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,10 @@
export function setConf(cnf: any): void;
export function addVertices(vert: any, svgId: any, root: any, doc: any, diagObj: any, parentLookupDb: any, graph: any): Promise<any>;
export function addEdges(edges: object, diagObj: any, graph: any, svg: any): any;
export function getClasses(text: any, diagObj: any): Record<string, import('../../../diagram-api/types.js').DiagramStyleClassDef>;
export function draw(text: any, id: any, _version: any, diagObj: any): Promise<void>;
declare namespace _default {
export { getClasses };
export { draw };
}
export default _default;

View file

@ -0,0 +1,10 @@
import * as db from '../flowDb.js';
export declare const diagram: {
db: typeof db;
renderer: {
getClasses: (text: any, diagObj: any) => Record<string, import("../../../diagram-api/types.js").DiagramStyleClassDef>;
draw: (text: any, id: any, _version: any, diagObj: any) => Promise<void>;
};
parser: any;
styles: (options: import("./styles.js").FlowChartStyleOptions) => string;
};

View file

@ -0,0 +1,5 @@
export interface TreeData {
parentById: Record<string, string>;
childrenById: Record<string, string[]>;
}
export declare const findCommonAncestor: (id1: string, id2: string, treeData: TreeData) => string;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,19 @@
/** Returns the styles given options */
export interface FlowChartStyleOptions {
arrowheadColor: string;
border2: string;
clusterBkg: string;
clusterBorder: string;
edgeLabelBackground: string;
fontFamily: string;
lineColor: string;
mainBkg: string;
nodeBorder: string;
nodeTextColor: string;
tertiaryColor: string;
textColor: string;
titleColor: string;
[key: string]: string;
}
declare const getStyles: (options: FlowChartStyleOptions) => string;
export default getStyles;

View file

@ -0,0 +1,9 @@
/** @param render */
export function addToRender(render: any): void;
/** @param addShape */
export function addToRenderV2(addShape: any): void;
declare namespace _default {
export { addToRender };
export { addToRenderV2 };
}
export default _default;

View file

@ -0,0 +1,87 @@
export function lookUpDomId(id: any): any;
export function addVertex(_id: any, textObj: any, type: any, style: any, classes: any, dir: any, props?: {}): void;
export function addSingleLink(_start: any, _end: any, type: any): void;
export function addLink(_start: any, _end: any, type: any): void;
export function updateLinkInterpolate(positions: any, interp: any): void;
export function updateLink(positions: any, style: any): void;
export function addClass(ids: any, style: any): void;
export function setDirection(dir: any): void;
export function setClass(ids: any, className: any): void;
export function setLink(ids: any, linkStr: any, target: any): void;
export function getTooltip(id: any): any;
export function setClickEvent(ids: any, functionName: any, functionArgs: any): void;
export function bindFunctions(element: any): void;
export function getDirection(): any;
export function getVertices(): {} | any | any;
export function getEdges(): {} | any | any[];
export function getClasses(): {} | any | any;
export function clear(ver?: string): void;
export function setGen(ver: any): void;
export function defaultStyle(): string;
export function addSubGraph(_id: any, list: any, _title: any): any;
export function getDepthFirstPos(pos: any): any;
export function indexNodes(): void;
export function getSubGraphs(): any[];
export function firstGraph(): boolean;
export function destructLink(_str: any, _startStr: any): {
type: string;
stroke: string;
};
export namespace lex {
export { firstGraph };
}
declare namespace _default {
export function defaultConfig(): import("../../config.type.js").FlowchartDiagramConfig | undefined;
export { setAccTitle };
export { getAccTitle };
export { getAccDescription };
export { setAccDescription };
export { addVertex };
export { lookUpDomId };
export { addLink };
export { updateLinkInterpolate };
export { updateLink };
export { addClass };
export { setDirection };
export { setClass };
export { setTooltip };
export { getTooltip };
export { setClickEvent };
export { setLink };
export { bindFunctions };
export { getDirection };
export { getVertices };
export { getEdges };
export { getClasses };
export { clear };
export { setGen };
export { defaultStyle };
export { addSubGraph };
export { getDepthFirstPos };
export { indexNodes };
export { getSubGraphs };
export { destructLink };
export { lex };
export { exists };
export { makeUniq };
export { setDiagramTitle };
export { getDiagramTitle };
}
export default _default;
import { setAccTitle } from '../common/commonDb.js';
import { getAccTitle } from '../common/commonDb.js';
import { getAccDescription } from '../common/commonDb.js';
import { setAccDescription } from '../common/commonDb.js';
declare function setTooltip(ids: any, tooltip: any): void;
declare function exists(allSgs: any, _id: any): boolean;
/**
* Deletes an id from all subgraphs
*
* @param sg
* @param allSubgraphs
*/
declare function makeUniq(sg: any, allSubgraphs: any): {
nodes: any[];
};
import { setDiagramTitle } from '../common/commonDb.js';
import { getDiagramTitle } from '../common/commonDb.js';

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,57 @@
import type { MermaidConfig } from '../../config.type.js';
export declare const diagram: {
parser: any;
db: {
defaultConfig: () => import("../../config.type.js").FlowchartDiagramConfig | undefined;
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
getAccDescription: () => string;
setAccDescription: (txt: string) => void;
addVertex: (_id: any, textObj: any, type: any, style: any, classes: any, dir: any, props?: {}) => void;
lookUpDomId: (id: any) => any;
addLink: (_start: any, _end: any, type: any) => void;
updateLinkInterpolate: (positions: any, interp: any) => void;
updateLink: (positions: any, style: any) => void;
addClass: (ids: any, style: any) => void;
setDirection: (dir: any) => void;
setClass: (ids: any, className: any) => void;
setTooltip: (ids: any, tooltip: any) => void;
getTooltip: (id: any) => any;
setClickEvent: (ids: any, functionName: any, functionArgs: any) => void;
setLink: (ids: any, linkStr: any, target: any) => void;
bindFunctions: (element: any) => void;
getDirection: () => any;
getVertices: () => any;
getEdges: () => any;
getClasses: () => any;
clear: (ver?: string) => void;
setGen: (ver: any) => void;
defaultStyle: () => string;
addSubGraph: (_id: any, list: any, _title: any) => any;
getDepthFirstPos: (pos: any) => any;
indexNodes: () => void;
getSubGraphs: () => any[];
destructLink: (_str: any, _startStr: any) => {
type: string;
stroke: string;
};
lex: {
firstGraph: () => boolean;
};
exists: (allSgs: any, _id: any) => boolean;
makeUniq: (sg: any, allSubgraphs: any) => {
nodes: any[];
};
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
};
renderer: {
setConf: (cnf: any) => void;
addVertices: (vert: any, g: any, svgId: any, root: any, doc: any, diagObj: any) => Promise<void>;
addEdges: (edges: object, g: object, diagObj: any) => Promise<void>;
getClasses: (text: any, diagObj: any) => Record<string, import("../../diagram-api/types.js").DiagramStyleClassDef>;
draw: (text: any, id: any, _version: any, diagObj: any) => Promise<void>;
};
styles: (options: import("./styles.js").FlowChartStyleOptions) => string;
init: (cnf: MermaidConfig) => void;
};

View file

@ -0,0 +1,57 @@
import type { MermaidConfig } from '../../config.type.js';
export declare const diagram: {
parser: any;
db: {
defaultConfig: () => import("../../config.type.js").FlowchartDiagramConfig | undefined;
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
getAccDescription: () => string;
setAccDescription: (txt: string) => void;
addVertex: (_id: any, textObj: any, type: any, style: any, classes: any, dir: any, props?: {}) => void;
lookUpDomId: (id: any) => any;
addLink: (_start: any, _end: any, type: any) => void;
updateLinkInterpolate: (positions: any, interp: any) => void;
updateLink: (positions: any, style: any) => void;
addClass: (ids: any, style: any) => void;
setDirection: (dir: any) => void;
setClass: (ids: any, className: any) => void;
setTooltip: (ids: any, tooltip: any) => void;
getTooltip: (id: any) => any;
setClickEvent: (ids: any, functionName: any, functionArgs: any) => void;
setLink: (ids: any, linkStr: any, target: any) => void;
bindFunctions: (element: any) => void;
getDirection: () => any;
getVertices: () => any;
getEdges: () => any;
getClasses: () => any;
clear: (ver?: string) => void;
setGen: (ver: any) => void;
defaultStyle: () => string;
addSubGraph: (_id: any, list: any, _title: any) => any;
getDepthFirstPos: (pos: any) => any;
indexNodes: () => void;
getSubGraphs: () => any[];
destructLink: (_str: any, _startStr: any) => {
type: string;
stroke: string;
};
lex: {
firstGraph: () => boolean;
};
exists: (allSgs: any, _id: any) => boolean;
makeUniq: (sg: any, allSubgraphs: any) => {
nodes: any[];
};
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
};
renderer: {
setConf: (cnf: any) => void;
addVertices: (vert: any, g: any, svgId: any, root: any, doc: any, diagObj: any) => Promise<void>;
addEdges: (edges: object, g: object, diagObj: any) => Promise<void>;
getClasses: (text: any, diagObj: any) => Record<string, import("../../diagram-api/types.js").DiagramStyleClassDef>;
draw: (text: any, id: any, _version: any, diagObj: any) => Promise<void>;
};
styles: (options: import("./styles.js").FlowChartStyleOptions) => string;
init: (cnf: MermaidConfig) => void;
};

View file

@ -0,0 +1,13 @@
export function setConf(cnf: any): void;
export function addVertices(vert: any, g: any, svgId: any, root: any, doc: any, diagObj: any): Promise<void>;
export function addEdges(edges: object, g: object, diagObj: any): Promise<void>;
export function getClasses(text: any, diagObj: any): Record<string, import('../../diagram-api/types.js').DiagramStyleClassDef>;
export function draw(text: any, id: any, _version: any, diagObj: any): Promise<void>;
declare namespace _default {
export { setConf };
export { addVertices };
export { addEdges };
export { getClasses };
export { draw };
}
export default _default;

View file

@ -0,0 +1,13 @@
export function setConf(cnf: any): void;
export function addVertices(vert: any, g: any, svgId: any, root: any, _doc: any, diagObj: any): Promise<void>;
export function addEdges(edges: object, g: object, diagObj: any): Promise<void>;
export function getClasses(text: any, diagObj: any): Record<string, import('../../diagram-api/types.js').DiagramStyleClassDef>;
export function draw(text: any, id: any, _version: any, diagObj: any): Promise<void>;
declare namespace _default {
export { setConf };
export { addVertices };
export { addEdges };
export { getClasses };
export { draw };
}
export default _default;

View file

@ -0,0 +1,18 @@
/** Returns the styles given options */
export interface FlowChartStyleOptions {
arrowheadColor: string;
border2: string;
clusterBkg: string;
clusterBorder: string;
edgeLabelBackground: string;
fontFamily: string;
lineColor: string;
mainBkg: string;
nodeBorder: string;
nodeTextColor: string;
tertiaryColor: string;
textColor: string;
titleColor: string;
}
declare const getStyles: (options: FlowChartStyleOptions) => string;
export default getStyles;

View file

@ -0,0 +1,106 @@
export function clear(): void;
export function setAxisFormat(txt: any): void;
export function getAxisFormat(): string;
export function setTickInterval(txt: any): void;
export function getTickInterval(): any;
export function setTodayMarker(txt: any): void;
export function getTodayMarker(): string;
export function setDateFormat(txt: any): void;
export function enableInclusiveEndDates(): void;
export function endDatesAreInclusive(): boolean;
export function enableTopAxis(): void;
export function topAxisEnabled(): boolean;
export function setDisplayMode(txt: any): void;
export function getDisplayMode(): string;
export function getDateFormat(): string;
export function setIncludes(txt: any): void;
export function getIncludes(): any[];
export function setExcludes(txt: any): void;
export function getExcludes(): any[];
export function getLinks(): {};
export function addSection(txt: any): void;
export function getSections(): any[];
export function getTasks(): any[];
export function isInvalidDate(date: any, dateFormat: any, excludes: any, includes: any): any;
export function setWeekday(txt: any): void;
export function getWeekday(): string;
export function addTask(descr: any, data: any): void;
export function findTaskById(id: any): any;
export function addTaskOrg(descr: any, data: any): void;
export function setLink(ids: any, _linkStr: any): void;
export function setClass(ids: any, className: any): void;
export function setClickEvent(ids: any, functionName: any, functionArgs: any): void;
export function bindFunctions(element: any): void;
declare namespace _default {
export function getConfig(): import("../../config.type.js").GanttDiagramConfig | undefined;
export { clear };
export { setDateFormat };
export { getDateFormat };
export { enableInclusiveEndDates };
export { endDatesAreInclusive };
export { enableTopAxis };
export { topAxisEnabled };
export { setAxisFormat };
export { getAxisFormat };
export { setTickInterval };
export { getTickInterval };
export { setTodayMarker };
export { getTodayMarker };
export { setAccTitle };
export { getAccTitle };
export { setDiagramTitle };
export { getDiagramTitle };
export { setDisplayMode };
export { getDisplayMode };
export { setAccDescription };
export { getAccDescription };
export { addSection };
export { getSections };
export { getTasks };
export { addTask };
export { findTaskById };
export { addTaskOrg };
export { setIncludes };
export { getIncludes };
export { setExcludes };
export { getExcludes };
export { setClickEvent };
export { setLink };
export { getLinks };
export { bindFunctions };
export { parseDuration };
export { isInvalidDate };
export { setWeekday };
export { getWeekday };
}
export default _default;
import { setAccTitle } from '../common/commonDb.js';
import { getAccTitle } from '../common/commonDb.js';
import { setDiagramTitle } from '../common/commonDb.js';
import { getDiagramTitle } from '../common/commonDb.js';
import { setAccDescription } from '../common/commonDb.js';
import { getAccDescription } from '../common/commonDb.js';
/**
* Parse a string into the args for `dayjs.add()`.
*
* The string have to be compound by a value and a shorthand duration unit. For example `5d`
* represents 5 days.
*
* Please be aware that 1 day may be 23 or 25 hours, if the user lives in an area
* that has daylight savings time (or even 23.5/24.5 hours in Lord Howe Island!)
*
* Shorthand unit supported are:
*
* - `y` for years
* - `M` for months
* - `w` for weeks
* - `d` for days
* - `h` for hours
* - `s` for seconds
* - `ms` for milliseconds
*
* @param {string} str - A string representing the duration.
* @returns {[value: number, unit: dayjs.ManipulateType]} Arguments to pass to `dayjs.add()`
*/
declare function parseDuration(str: string): [value: number, unit: dayjs.ManipulateType];
import dayjs from 'dayjs';

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,7 @@
export function setConf(): void;
export function draw(text: any, id: any, version: any, diagObj: any): void;
declare namespace _default {
export { setConf };
export { draw };
}
export default _default;

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1,61 @@
export function setDirection(dir: any): void;
export function setOptions(rawOptString: any): void;
export function getOptions(): {};
export function commit(msg: any, id: any, type: any, tag: any): void;
export function branch(name: any, order: any): void;
export function merge(otherBranch: any, custom_id: any, override_type: any, custom_tag: any): void;
export function cherryPick(sourceId: any, targetId: any, tag: any, parentCommitId: any): void;
export function checkout(branch: any): void;
export function prettyPrint(): void;
export function clear(): void;
export function getBranchesAsObjArray(): {
name: any;
}[];
export function getBranches(): typeof branches;
export function getCommits(): {};
export function getCommitsArray(): any[];
export function getCurrentBranch(): string | undefined;
export function getDirection(): string;
export function getHead(): any;
export namespace commitType {
let NORMAL: number;
let REVERSE: number;
let HIGHLIGHT: number;
let MERGE: number;
let CHERRY_PICK: number;
}
declare namespace _default {
export function getConfig(): import("../../config.type.js").GitGraphDiagramConfig | undefined;
export { setDirection };
export { setOptions };
export { getOptions };
export { commit };
export { branch };
export { merge };
export { cherryPick };
export { checkout };
export { prettyPrint };
export { clear };
export { getBranchesAsObjArray };
export { getBranches };
export { getCommits };
export { getCommitsArray };
export { getCurrentBranch };
export { getDirection };
export { getHead };
export { setAccTitle };
export { getAccTitle };
export { getAccDescription };
export { setAccDescription };
export { setDiagramTitle };
export { getDiagramTitle };
export { commitType };
}
export default _default;
declare let branches: typeof branches;
import { setAccTitle } from '../common/commonDb.js';
import { getAccTitle } from '../common/commonDb.js';
import { getAccDescription } from '../common/commonDb.js';
import { setAccDescription } from '../common/commonDb.js';
import { setDiagramTitle } from '../common/commonDb.js';
import { getDiagramTitle } from '../common/commonDb.js';

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,5 @@
export function draw(txt: any, id: any, ver: any, diagObj: any): void;
declare namespace _default {
export { draw };
}
export default _default;

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,5 @@
import type { InfoFields, InfoDB } from './infoTypes.js';
export declare const DEFAULT_INFO_DB: InfoFields;
export declare const setInfo: (toggle: boolean) => void;
export declare const getInfo: () => boolean;
export declare const db: InfoDB;

View file

@ -0,0 +1,2 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
export declare const info: ExternalDiagramDefinition;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,4 @@
import type { DrawDefinition } from '../../diagram-api/types.js';
export declare const renderer: {
draw: DrawDefinition;
};

View file

@ -0,0 +1,9 @@
import type { DiagramDB } from '../../diagram-api/types.js';
export interface InfoFields {
info: boolean;
}
export interface InfoDB extends DiagramDB {
clear: () => void;
setInfo: (info: boolean) => void;
getInfo: () => boolean;
}

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(): string;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,30 @@
import type { D3Element } from '../../mermaidAPI.js';
import type { MindmapNode } from './mindmapTypes.js';
declare const db: {
readonly clear: () => void;
readonly addNode: (level: number, id: string, descr: string, type: number) => void;
readonly getMindmap: () => MindmapNode | null;
readonly nodeType: {
DEFAULT: number;
NO_BORDER: number;
ROUNDED_RECT: number;
RECT: number;
CIRCLE: number;
CLOUD: number;
BANG: number;
HEXAGON: number;
};
readonly getType: (startStr: string, endStr: string) => number;
readonly setElementForId: (id: number, element: D3Element) => void;
readonly decorateNode: (decoration?: {
class?: string;
icon?: string;
}) => void;
readonly type2Str: (type: number) => "rect" | "circle" | "no-border" | "rounded-rect" | "cloud" | "bang" | "hexgon";
readonly getLogger: () => Record<import("../../logger.js").LogLevel, {
(...data: any[]): void;
(message?: any, ...optionalParams: any[]): void;
}>;
readonly getElementById: (id: number) => any;
};
export default db;

View file

@ -0,0 +1,21 @@
import type { DrawDefinition } from '../../diagram-api/types.js';
declare module 'cytoscape' {
interface EdgeSingular {
_private: {
bodyBounds: unknown;
rscratch: {
startX: number;
startY: number;
midX: number;
midY: number;
endX: number;
endY: number;
};
};
}
}
export declare const draw: DrawDefinition;
declare const _default: {
draw: DrawDefinition;
};
export default _default;

View file

@ -0,0 +1,20 @@
import type { RequiredDeep } from 'type-fest';
import type mindmapDb from './mindmapDb.js';
export interface MindmapNode {
id: number;
nodeId: string;
level: number;
descr: string;
type: number;
children: MindmapNode[];
width: number;
padding: number;
section?: number;
height?: number;
class?: string;
icon?: string;
x?: number;
y?: number;
}
export type FilledMindMapNode = RequiredDeep<MindmapNode>;
export type MindmapDB = typeof mindmapDb;

View file

@ -0,0 +1,3 @@
import type { DiagramStylesProvider } from '../../diagram-api/types.js';
declare const getStyles: DiagramStylesProvider;
export default getStyles;

View file

@ -0,0 +1,13 @@
import type { D3Element } from '../../mermaidAPI.js';
import type { FilledMindMapNode, MindmapDB } from './mindmapTypes.js';
import type { MermaidConfig } from '../../config.type.js';
/**
* @param db - The database
* @param elem - The D3 dom element in which the node is to be added
* @param node - The node to be added
* @param fullSection - ?
* @param conf - The configuration object
* @returns The height nodes dom element
*/
export declare const drawNode: (db: MindmapDB, elem: D3Element, node: FilledMindMapNode, fullSection: number, conf: MermaidConfig) => number;
export declare const positionNode: (db: MindmapDB, node: FilledMindMapNode) => void;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,6 @@
import type { PieFields, PieDB } from './pieTypes.js';
import type { RequiredDeep } from 'type-fest';
import type { PieDiagramConfig } from '../../config.type.js';
export declare const DEFAULT_PIE_CONFIG: Required<PieDiagramConfig>;
export declare const DEFAULT_PIE_DB: RequiredDeep<PieFields>;
export declare const db: PieDB;

View file

@ -0,0 +1,2 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
export declare const pie: ExternalDiagramDefinition;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

View file

@ -0,0 +1,13 @@
import type { DrawDefinition } from '../../diagram-api/types.js';
/**
* Draws a Pie Chart with the data given in text.
*
* @param text - pie chart code
* @param id - diagram id
* @param _version - MermaidJS version from package.json.
* @param diagObj - A standard diagram containing the DB and the text and type etc of the diagram.
*/
export declare const draw: DrawDefinition;
export declare const renderer: {
draw: DrawDefinition;
};

View file

@ -0,0 +1,3 @@
import type { DiagramStylesProvider } from '../../diagram-api/types.js';
declare const getStyles: DiagramStylesProvider;
export default getStyles;

View file

@ -0,0 +1,53 @@
import type { PieDiagramConfig } from '../../config.type.js';
import type { DiagramDB } from '../../diagram-api/types.js';
export interface PieFields {
sections: Sections;
showData: boolean;
config: PieDiagramConfig;
}
export interface PieStyleOptions {
fontFamily: string;
pie1: string;
pie2: string;
pie3: string;
pie4: string;
pie5: string;
pie6: string;
pie7: string;
pie8: string;
pie9: string;
pie10: string;
pie11: string;
pie12: string;
pieTitleTextSize: string;
pieTitleTextColor: string;
pieSectionTextSize: string;
pieSectionTextColor: string;
pieLegendTextSize: string;
pieLegendTextColor: string;
pieStrokeColor: string;
pieStrokeWidth: string;
pieOuterStrokeWidth: string;
pieOuterStrokeColor: string;
pieOpacity: string;
}
export type Sections = Record<string, number>;
export interface D3Sections {
label: string;
value: number;
}
export interface PieDB extends DiagramDB {
getConfig: () => Required<PieDiagramConfig>;
clear: () => void;
setDiagramTitle: (title: string) => void;
getDiagramTitle: () => string;
setAccTitle: (title: string) => void;
getAccTitle: () => string;
setAccDescription: (description: string) => void;
getAccDescription: () => string;
addSection: (label: string, value: number) => void;
getSections: () => Sections;
cleanupValue: (value: string) => number;
setShowData: (toggle: boolean) => void;
getShowData: () => boolean;
}

View file

@ -0,0 +1,2 @@
export default getStyles;
declare function getStyles(options: any): string;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,118 @@
import type { BaseDiagramConfig, QuadrantChartConfig } from '../../config.type.js';
import type { Point } from '../../types.js';
export type TextVerticalPos = 'left' | 'center' | 'right';
export type TextHorizontalPos = 'top' | 'middle' | 'bottom';
export interface QuadrantPointInputType extends Point {
text: string;
}
export interface QuadrantTextType extends Point {
text: string;
fill: string;
verticalPos: TextVerticalPos;
horizontalPos: TextHorizontalPos;
fontSize: number;
rotation: number;
}
export interface QuadrantPointType extends Point {
fill: string;
radius: number;
text: QuadrantTextType;
}
export interface QuadrantQuadrantsType extends Point {
text: QuadrantTextType;
width: number;
height: number;
fill: string;
}
export interface QuadrantLineType {
strokeWidth: number;
strokeFill: string;
x1: number;
y1: number;
x2: number;
y2: number;
}
export interface QuadrantBuildType {
points: QuadrantPointType[];
quadrants: QuadrantQuadrantsType[];
axisLabels: QuadrantTextType[];
title?: QuadrantTextType;
borderLines?: QuadrantLineType[];
}
export interface QuadrantBuilderData {
titleText: string;
quadrant1Text: string;
quadrant2Text: string;
quadrant3Text: string;
quadrant4Text: string;
xAxisLeftText: string;
xAxisRightText: string;
yAxisBottomText: string;
yAxisTopText: string;
points: QuadrantPointInputType[];
}
export interface QuadrantBuilderConfig extends Required<Omit<QuadrantChartConfig, keyof BaseDiagramConfig>> {
showXAxis: boolean;
showYAxis: boolean;
showTitle: boolean;
}
export interface QuadrantBuilderThemeConfig {
quadrantTitleFill: string;
quadrant1Fill: string;
quadrant2Fill: string;
quadrant3Fill: string;
quadrant4Fill: string;
quadrant1TextFill: string;
quadrant2TextFill: string;
quadrant3TextFill: string;
quadrant4TextFill: string;
quadrantPointFill: string;
quadrantPointTextFill: string;
quadrantXAxisTextFill: string;
quadrantYAxisTextFill: string;
quadrantInternalBorderStrokeFill: string;
quadrantExternalBorderStrokeFill: string;
}
interface CalculateSpaceData {
xAxisSpace: {
top: number;
bottom: number;
};
yAxisSpace: {
left: number;
right: number;
};
titleSpace: {
top: number;
};
quadrantSpace: {
quadrantLeft: number;
quadrantTop: number;
quadrantWidth: number;
quadrantHalfWidth: number;
quadrantHeight: number;
quadrantHalfHeight: number;
};
}
export declare class QuadrantBuilder {
private config;
private themeConfig;
private data;
constructor();
getDefaultData(): QuadrantBuilderData;
getDefaultConfig(): QuadrantBuilderConfig;
getDefaultThemeConfig(): QuadrantBuilderThemeConfig;
clear(): void;
setData(data: Partial<QuadrantBuilderData>): void;
addPoints(points: QuadrantPointInputType[]): void;
setConfig(config: Partial<QuadrantBuilderConfig>): void;
setThemeConfig(themeConfig: Partial<QuadrantBuilderThemeConfig>): void;
calculateSpace(xAxisPosition: typeof this.config.xAxisPosition, showXAxis: boolean, showYAxis: boolean, showTitle: boolean): CalculateSpaceData;
getAxisLabels(xAxisPosition: typeof this.config.xAxisPosition, showXAxis: boolean, showYAxis: boolean, spaceData: CalculateSpaceData): QuadrantTextType[];
getQuadrants(spaceData: CalculateSpaceData): QuadrantQuadrantsType[];
getQuadrantPoints(spaceData: CalculateSpaceData): QuadrantPointType[];
getBorders(spaceData: CalculateSpaceData): QuadrantLineType[];
getTitle(showTitle: boolean): QuadrantTextType | undefined;
build(): QuadrantBuildType;
}
export {};

View file

@ -0,0 +1,38 @@
type LexTextObj = {
text: string;
type: 'text' | 'markdown';
};
declare function setQuadrant1Text(textObj: LexTextObj): void;
declare function setQuadrant2Text(textObj: LexTextObj): void;
declare function setQuadrant3Text(textObj: LexTextObj): void;
declare function setQuadrant4Text(textObj: LexTextObj): void;
declare function setXAxisLeftText(textObj: LexTextObj): void;
declare function setXAxisRightText(textObj: LexTextObj): void;
declare function setYAxisTopText(textObj: LexTextObj): void;
declare function setYAxisBottomText(textObj: LexTextObj): void;
declare function addPoint(textObj: LexTextObj, x: number, y: number): void;
declare function setWidth(width: number): void;
declare function setHeight(height: number): void;
declare function getQuadrantData(): import("./quadrantBuilder.js").QuadrantBuildType;
declare const _default: {
setWidth: typeof setWidth;
setHeight: typeof setHeight;
setQuadrant1Text: typeof setQuadrant1Text;
setQuadrant2Text: typeof setQuadrant2Text;
setQuadrant3Text: typeof setQuadrant3Text;
setQuadrant4Text: typeof setQuadrant4Text;
setXAxisLeftText: typeof setXAxisLeftText;
setXAxisRightText: typeof setXAxisRightText;
setYAxisTopText: typeof setYAxisTopText;
setYAxisBottomText: typeof setYAxisBottomText;
addPoint: typeof addPoint;
getQuadrantData: typeof getQuadrantData;
clear: () => void;
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
getAccDescription: () => string;
setAccDescription: (txt: string) => void;
};
export default _default;

View file

@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;

View file

@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;

Some files were not shown because too many files have changed in this diff Show more