sketchmark 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sketchmark might be problematic. Click here for more details.

@@ -0,0 +1,129 @@
1
+ import { type ContainerTarget } from "./shared";
2
+ import type { DiagramInstance } from "../render";
3
+ import type { ASTStepItem } from "../ast/types";
4
+ import type { SVGRendererOptions } from "../renderer/svg";
5
+ import type { CanvasRendererOptions } from "../renderer/canvas";
6
+ import type { SketchmarkEditor } from "./editor";
7
+ type CanvasTheme = "light" | "dark";
8
+ export interface SketchmarkCanvasOptions {
9
+ container: ContainerTarget;
10
+ dsl?: string;
11
+ renderer?: "svg" | "canvas";
12
+ theme?: CanvasTheme;
13
+ autoFit?: boolean;
14
+ preserveViewOnRender?: boolean;
15
+ fitPadding?: number;
16
+ zoomMin?: number;
17
+ zoomMax?: number;
18
+ playStepDelay?: number;
19
+ showAnimationBar?: boolean;
20
+ showControls?: boolean;
21
+ showMinimap?: boolean;
22
+ svgOptions?: SVGRendererOptions;
23
+ canvasOptions?: CanvasRendererOptions;
24
+ onNodeClick?: (nodeId: string) => void;
25
+ onRender?: (instance: DiagramInstance, canvas: SketchmarkCanvas) => void;
26
+ }
27
+ export interface SketchmarkCanvasViewChange {
28
+ panX: number;
29
+ panY: number;
30
+ zoom: number;
31
+ canvas: SketchmarkCanvas;
32
+ }
33
+ export interface SketchmarkCanvasEvents extends Record<string, unknown> {
34
+ render: {
35
+ instance: DiagramInstance;
36
+ canvas: SketchmarkCanvas;
37
+ };
38
+ error: {
39
+ error: Error;
40
+ canvas: SketchmarkCanvas;
41
+ };
42
+ stepchange: {
43
+ stepIndex: number;
44
+ step?: ASTStepItem;
45
+ canvas: SketchmarkCanvas;
46
+ };
47
+ viewchange: SketchmarkCanvasViewChange;
48
+ }
49
+ export interface SketchmarkCanvasBindEditorOptions {
50
+ renderOnRun?: boolean;
51
+ renderOnChange?: boolean;
52
+ mirrorErrors?: boolean;
53
+ initialRender?: boolean;
54
+ }
55
+ export declare class SketchmarkCanvas {
56
+ readonly root: HTMLDivElement;
57
+ readonly viewport: HTMLDivElement;
58
+ readonly diagramWrap: HTMLDivElement;
59
+ readonly errorElement: HTMLDivElement;
60
+ readonly minimapCanvas: HTMLCanvasElement;
61
+ instance: DiagramInstance | null;
62
+ private readonly emitter;
63
+ private readonly options;
64
+ private readonly world;
65
+ private readonly zoomLabel;
66
+ private readonly stepDisplay;
67
+ private readonly stepLabel;
68
+ private readonly statsLabel;
69
+ private readonly minimapIndicator;
70
+ private readonly playButton;
71
+ private readonly prevButton;
72
+ private readonly nextButton;
73
+ private readonly resetButton;
74
+ private readonly gridPattern;
75
+ private readonly gridDot;
76
+ private readonly renderer;
77
+ private dsl;
78
+ private theme;
79
+ private panX;
80
+ private panY;
81
+ private zoom;
82
+ private isPanning;
83
+ private panMoved;
84
+ private activePointerId;
85
+ private lastPX;
86
+ private lastPY;
87
+ private suppressClickUntil;
88
+ private hasRenderedOnce;
89
+ private playInFlight;
90
+ private minimapToken;
91
+ private animUnsub;
92
+ private editorCleanup;
93
+ private mirroredEditor;
94
+ private readonly onPointerDown;
95
+ private readonly onPointerMove;
96
+ private readonly onStopPanning;
97
+ private readonly onViewportClick;
98
+ private readonly onWheel;
99
+ constructor(options: SketchmarkCanvasOptions);
100
+ getDsl(): string;
101
+ setDsl(dsl: string, renderNow?: boolean): void;
102
+ bindEditor(editor: SketchmarkEditor, options?: SketchmarkCanvasBindEditorOptions): () => void;
103
+ on<K extends keyof SketchmarkCanvasEvents>(event: K, listener: (payload: SketchmarkCanvasEvents[K]) => void): () => void;
104
+ render(nextDsl?: string): DiagramInstance | null;
105
+ play(): Promise<void>;
106
+ nextStep(): void;
107
+ prevStep(): void;
108
+ resetAnimation(): void;
109
+ fitContent(): void;
110
+ resetView(): void;
111
+ setTheme(theme: CanvasTheme): void;
112
+ destroy(): void;
113
+ private applyTransform;
114
+ private zoomTo;
115
+ private syncAnimationUi;
116
+ private getStepTarget;
117
+ private getStepLabel;
118
+ private focusCurrentStep;
119
+ private findSvgElement;
120
+ private focusAnimatedElement;
121
+ private splitEdgeTarget;
122
+ private getContentSize;
123
+ private updateMinimapIndicator;
124
+ private renderMinimapPreview;
125
+ private showError;
126
+ private clearError;
127
+ }
128
+ export {};
129
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/ui/canvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type ContainerTarget } from "./shared";
2
+ export interface SketchmarkEditorOptions {
3
+ container: ContainerTarget;
4
+ value?: string;
5
+ placeholder?: string;
6
+ autoFocus?: boolean;
7
+ showToolbar?: boolean;
8
+ showRunButton?: boolean;
9
+ showFormatButton?: boolean;
10
+ showClearButton?: boolean;
11
+ runLabel?: string;
12
+ formatLabel?: string;
13
+ clearLabel?: string;
14
+ clearValue?: string;
15
+ formatter?: (value: string) => string;
16
+ onChange?: (value: string, editor: SketchmarkEditor) => void;
17
+ onRun?: (value: string, editor: SketchmarkEditor) => void;
18
+ }
19
+ export interface SketchmarkEditorEventPayload {
20
+ value: string;
21
+ editor: SketchmarkEditor;
22
+ }
23
+ export interface SketchmarkEditorEvents extends Record<string, unknown> {
24
+ change: SketchmarkEditorEventPayload;
25
+ run: SketchmarkEditorEventPayload;
26
+ clear: SketchmarkEditorEventPayload;
27
+ format: SketchmarkEditorEventPayload;
28
+ }
29
+ export declare class SketchmarkEditor {
30
+ readonly root: HTMLDivElement;
31
+ readonly toolbar: HTMLDivElement;
32
+ readonly surface: HTMLDivElement;
33
+ readonly highlightElement: HTMLPreElement;
34
+ readonly textarea: HTMLTextAreaElement;
35
+ readonly errorElement: HTMLDivElement;
36
+ private readonly emitter;
37
+ private readonly options;
38
+ constructor(options: SketchmarkEditorOptions);
39
+ getValue(): string;
40
+ setValue(value: string, emitChange?: boolean): void;
41
+ focus(): void;
42
+ format(): void;
43
+ clear(): void;
44
+ run(): void;
45
+ showError(message: string): void;
46
+ clearError(): void;
47
+ on<K extends keyof SketchmarkEditorEvents>(event: K, listener: (payload: SketchmarkEditorEvents[K]) => void): () => void;
48
+ destroy(): void;
49
+ private syncHighlight;
50
+ private syncScroll;
51
+ }
52
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/ui/editor.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAiKlB,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,MAAM,EAAE,4BAA4B,CAAC;IACrC,GAAG,EAAE,4BAA4B,CAAC;IAClC,KAAK,EAAE,4BAA4B,CAAC;IACpC,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAiID,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,OAAO,EAAE,uBAAuB;IAsF5C,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI;IAUjD,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAOd,KAAK,IAAI,IAAI;IAOb,GAAG,IAAI,IAAI;IAMX,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,IAAI,IAAI;IAKlB,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,MAAM,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;CAInB"}
@@ -0,0 +1,91 @@
1
+ import { type ContainerTarget } from "./shared";
2
+ import type { DiagramInstance } from "../render";
3
+ import type { ASTStepItem } from "../ast/types";
4
+ import type { SVGRendererOptions } from "../renderer/svg";
5
+ type EmbedTheme = "light" | "dark";
6
+ type EmbedSize = number | string;
7
+ export interface SketchmarkEmbedOptions {
8
+ container: ContainerTarget;
9
+ dsl: string;
10
+ width?: EmbedSize;
11
+ height?: EmbedSize;
12
+ theme?: EmbedTheme;
13
+ showControls?: boolean;
14
+ playStepDelay?: number;
15
+ focusPadding?: number;
16
+ focusDuration?: number;
17
+ autoFocus?: boolean;
18
+ autoFocusOnStep?: boolean;
19
+ svgOptions?: SVGRendererOptions;
20
+ onNodeClick?: (nodeId: string) => void;
21
+ onRender?: (instance: DiagramInstance, embed: SketchmarkEmbed) => void;
22
+ }
23
+ export interface SketchmarkEmbedEvents extends Record<string, unknown> {
24
+ render: {
25
+ instance: DiagramInstance;
26
+ embed: SketchmarkEmbed;
27
+ };
28
+ error: {
29
+ error: Error;
30
+ embed: SketchmarkEmbed;
31
+ };
32
+ stepchange: {
33
+ stepIndex: number;
34
+ step?: ASTStepItem;
35
+ embed: SketchmarkEmbed;
36
+ };
37
+ }
38
+ export declare class SketchmarkEmbed {
39
+ readonly root: HTMLDivElement;
40
+ readonly viewport: HTMLDivElement;
41
+ readonly world: HTMLDivElement;
42
+ readonly diagramWrap: HTMLDivElement;
43
+ readonly errorElement: HTMLDivElement;
44
+ readonly controlsElement: HTMLDivElement;
45
+ readonly stepInfoElement: HTMLSpanElement;
46
+ instance: DiagramInstance | null;
47
+ private readonly emitter;
48
+ private readonly options;
49
+ private readonly btnReset;
50
+ private readonly btnPrev;
51
+ private readonly btnNext;
52
+ private readonly btnPlay;
53
+ private animUnsub;
54
+ private playInFlight;
55
+ private dsl;
56
+ private theme;
57
+ private offsetX;
58
+ private offsetY;
59
+ private motionFrame;
60
+ private resizeObserver;
61
+ constructor(options: SketchmarkEmbedOptions);
62
+ getDsl(): string;
63
+ setDsl(dsl: string, renderNow?: boolean): void;
64
+ setSize(width?: EmbedSize, height?: EmbedSize): void;
65
+ setTheme(theme: EmbedTheme): void;
66
+ on<K extends keyof SketchmarkEmbedEvents>(event: K, listener: (payload: SketchmarkEmbedEvents[K]) => void): () => void;
67
+ render(nextDsl?: string): DiagramInstance | null;
68
+ play(): Promise<void>;
69
+ nextStep(): void;
70
+ prevStep(): void;
71
+ resetAnimation(): void;
72
+ exportSVG(filename?: string): void;
73
+ exportPNG(filename?: string): Promise<void>;
74
+ destroy(): void;
75
+ private applySize;
76
+ private formatSize;
77
+ private syncControls;
78
+ private positionViewport;
79
+ private animateTo;
80
+ private applyTransform;
81
+ private getFocusTarget;
82
+ private findTargetElement;
83
+ private getStepTarget;
84
+ private parseEdgeTarget;
85
+ private splitEdgeTarget;
86
+ private showError;
87
+ private clearError;
88
+ private stopMotion;
89
+ }
90
+ export {};
91
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/ui/embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type ContainerTarget = string | HTMLElement;
2
+ export declare function resolveContainer(target: ContainerTarget): HTMLElement;
3
+ export declare function injectStyleOnce(id: string, cssText: string): void;
4
+ export declare function normalizeNewlines(value: string): string;
5
+ export declare function toError(error: unknown): Error;
6
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ui/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAOrE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sketchmark",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "A plain-text DSL for hand-drawn diagrams. Write boxes, edges, and groups as code — renders sketchy SVG/Canvas via rough.js with a built-in step-by-step animation system.",
5
5
  "keywords": [
6
6
  "diagram",