First commit.

Signed-off-by: Chen Xiao <abigwc@gmail.com>
This commit is contained in:
Chen Xiao
2026-05-08 14:43:16 +08:00
commit 0b64e2de94
10989 changed files with 2253791 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
export interface WardleyNode {
id: string;
label: string;
x?: number;
y?: number;
className?: string;
labelOffsetX?: number;
labelOffsetY?: number;
inPipeline?: boolean;
isPipelineParent?: boolean;
inertia?: boolean;
sourceStrategy?: 'build' | 'buy' | 'outsource' | 'market';
}
export interface WardleyLink {
source: string;
target: string;
dashed?: boolean;
label?: string;
flow?: 'forward' | 'backward' | 'bidirectional';
}
export interface WardleyTrend {
nodeId: string;
targetX: number;
targetY: number;
}
export interface WardleyPipeline {
nodeId: string;
componentIds: string[];
}
export interface WardleyAnnotation {
number: number;
coordinates: {
x: number;
y: number;
}[];
text?: string;
}
export interface WardleyNote {
text: string;
x: number;
y: number;
}
export interface WardleyAccelerator {
name: string;
x: number;
y: number;
}
export interface WardleyDeaccelerator {
name: string;
x: number;
y: number;
}
export interface WardleyAxesConfig {
xLabel?: string;
yLabel?: string;
stages?: string[];
stageBoundaries?: number[];
}
export interface WardleyBuildResult {
nodes: WardleyNode[];
links: WardleyLink[];
trends: WardleyTrend[];
pipelines: WardleyPipeline[];
annotations: WardleyAnnotation[];
notes: WardleyNote[];
accelerators: WardleyAccelerator[];
deaccelerators: WardleyDeaccelerator[];
annotationsBox?: {
x: number;
y: number;
};
axes: WardleyAxesConfig;
size?: {
width: number;
height: number;
};
}
export declare class WardleyBuilder {
private nodes;
private links;
private trends;
private pipelines;
private annotations;
private notes;
private accelerators;
private deaccelerators;
private annotationsBox?;
private axes;
private size?;
addNode(node: WardleyNode): void;
addLink(link: WardleyLink): void;
addTrend(trend: WardleyTrend): void;
startPipeline(nodeId: string): void;
addPipelineComponent(pipelineNodeId: string, componentId: string): void;
addAnnotation(annotation: WardleyAnnotation): void;
addNote(note: WardleyNote): void;
addAccelerator(accelerator: WardleyAccelerator): void;
addDeaccelerator(deaccelerator: WardleyDeaccelerator): void;
setAnnotationsBox(x: number, y: number): void;
setAxes(partial: WardleyAxesConfig): void;
setSize(width: number, height: number): void;
getNode(id: string): WardleyNode | undefined;
build(): WardleyBuildResult;
clear(): void;
}
+45
View File
@@ -0,0 +1,45 @@
import type { WardleyAxesConfig } from './wardleyBuilder.js';
declare function getConfig(): import("../../config.type.js").WardleyDiagramConfig | undefined;
declare function addNode(id: string, label: string, x: number, y: number, className?: string, labelOffsetX?: number, labelOffsetY?: number, inertia?: boolean, sourceStrategy?: 'build' | 'buy' | 'outsource' | 'market'): void;
declare function addLink(sourceId: string, targetId: string, dashed?: boolean, label?: string, flow?: 'forward' | 'backward' | 'bidirectional'): void;
declare function addTrend(nodeId: string, targetX: number, targetY: number): void;
declare function addAnnotation(number: number, coordinates: {
x: number;
y: number;
}[], text?: string): void;
declare function addNote(text: string, x: number, y: number): void;
declare function addAccelerator(name: string, x: number, y: number): void;
declare function addDeaccelerator(name: string, x: number, y: number): void;
declare function setAnnotationsBox(x: number, y: number): void;
declare function setSize(width: number, height: number): void;
declare function startPipeline(nodeId: string): void;
declare function addPipelineComponent(pipelineNodeId: string, componentId: string): void;
declare function updateAxes(partial: WardleyAxesConfig): void;
declare function getNode(id: string): import("./wardleyBuilder.js").WardleyNode | undefined;
declare function getWardleyData(): import("./wardleyBuilder.js").WardleyBuildResult;
declare function clear(): void;
declare const _default: {
getConfig: typeof getConfig;
addNode: typeof addNode;
addLink: typeof addLink;
addTrend: typeof addTrend;
addAnnotation: typeof addAnnotation;
addNote: typeof addNote;
addAccelerator: typeof addAccelerator;
addDeaccelerator: typeof addDeaccelerator;
setAnnotationsBox: typeof setAnnotationsBox;
setSize: typeof setSize;
startPipeline: typeof startPipeline;
addPipelineComponent: typeof addPipelineComponent;
updateAxes: typeof updateAxes;
getNode: typeof getNode;
getWardleyData: typeof getWardleyData;
clear: typeof clear;
setAccTitle: (txt: string) => void;
getAccTitle: () => string;
setDiagramTitle: (txt: string) => void;
getDiagramTitle: () => string;
getAccDescription: () => string;
setAccDescription: (txt: string) => void;
};
export default _default;
@@ -0,0 +1,3 @@
import type { ExternalDiagramDefinition } from '../../diagram-api/types.js';
declare const plugin: ExternalDiagramDefinition;
export default plugin;
@@ -0,0 +1,2 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
export declare const diagram: DiagramDefinition;
+2
View File
@@ -0,0 +1,2 @@
import type { ParserDefinition } from '../../diagram-api/types.js';
export declare const parser: ParserDefinition;
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,6 @@
import type { Diagram } from '../../Diagram.js';
export declare const draw: (text: string, id: string, _version: string, diagObj: Diagram) => void;
declare const _default: {
draw: (text: string, id: string, _version: string, diagObj: Diagram) => void;
};
export default _default;
+2
View File
@@ -0,0 +1,2 @@
import type wardleyDb from './wardleyDb.js';
export type WardleyDB = typeof wardleyDb;