markmap-lib
Version:
Visualize your Markdown as mindmaps with Markmap
32 lines (31 loc) • 1.7 kB
TypeScript
import * as d3 from 'd3';
import { INode, IMarkmapOptions, IMarkmapState, IMarkmapFlexTreeItem } from './types';
import * as plugins from './plugins';
import { Hook } from './util/hook';
export { plugins };
declare type ID3SVGElement = d3.Selection<SVGElement, IMarkmapFlexTreeItem, HTMLElement, IMarkmapFlexTreeItem>;
export declare class Markmap {
options: IMarkmapOptions;
state: IMarkmapState;
svg: ID3SVGElement;
styleNode: d3.Selection<HTMLStyleElement, IMarkmapFlexTreeItem, HTMLElement, IMarkmapFlexTreeItem>;
g: d3.Selection<SVGGElement, IMarkmapFlexTreeItem, HTMLElement, IMarkmapFlexTreeItem>;
zoom: d3.ZoomBehavior<Element, unknown>;
static transformHtml: Hook<(mm: Markmap, nodes: HTMLElement[]) => void>;
constructor(svg: string | SVGElement | ID3SVGElement, opts?: IMarkmapOptions);
getStyleContent(): string;
updateStyle(): void;
handleZoom(): void;
handleClick(d: IMarkmapFlexTreeItem): void;
initializeData(node: INode): void;
setOptions(opts: IMarkmapOptions): void;
setData(data?: INode, opts?: IMarkmapOptions): void;
renderData(originData?: INode): void;
transition<T extends d3.BaseType, U, P extends d3.BaseType, Q>(sel: d3.Selection<T, U, P, Q>): d3.Transition<T, U, P, Q>;
fit(): Promise<void>;
rescale(scale: number): Promise<void>;
static create(svg: string | SVGElement | ID3SVGElement, opts?: IMarkmapOptions, data?: INode): Markmap;
}
export declare type IMarkmap = typeof Markmap;
export declare function markmap(svg: string | SVGElement | ID3SVGElement, data?: INode, opts?: IMarkmapOptions): Markmap;
export declare function loadPlugins(items: any[], options: any): Promise<void>;