@zombie-mermaid/svg-renderer 4.2.3 → 5.0.0

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.
Files changed (45) hide show
  1. package/README.md +15 -1
  2. package/dist/index.cjs +52 -52
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +23 -4
  5. package/dist/index.d.ts +23 -4
  6. package/dist/index.js +890 -850
  7. package/dist/index.js.map +1 -1
  8. package/package.json +14 -6
  9. package/src/c4/arial-widths.ts +0 -59
  10. package/src/c4/layout.ts +0 -680
  11. package/src/c4/metrics.ts +0 -261
  12. package/src/c4/renderer.ts +0 -366
  13. package/src/class/layout.ts +0 -525
  14. package/src/class/renderer.ts +0 -669
  15. package/src/edge-curves.ts +0 -205
  16. package/src/elk-instance.ts +0 -292
  17. package/src/er/layout.ts +0 -216
  18. package/src/er/renderer.ts +0 -516
  19. package/src/generated/mono-font-subset.ts +0 -32
  20. package/src/index.ts +0 -310
  21. package/src/layout-engine/back-edges.ts +0 -73
  22. package/src/layout-engine/compound-flat.ts +0 -916
  23. package/src/layout-engine/constants.ts +0 -19
  24. package/src/layout-engine/edge-bundling.ts +0 -458
  25. package/src/layout-engine/elk-adapter-utils.ts +0 -81
  26. package/src/layout-engine/elk-graph-builder.ts +0 -245
  27. package/src/layout-engine/from-elk.ts +0 -767
  28. package/src/layout-engine/inner-edges.ts +0 -329
  29. package/src/layout-engine/jog-straightening.ts +0 -52
  30. package/src/layout-engine/layer-alignment.ts +0 -174
  31. package/src/layout-engine/layout-hints.ts +0 -27
  32. package/src/layout-engine/to-elk.ts +0 -855
  33. package/src/layout-engine.ts +0 -115
  34. package/src/pie/layout.ts +0 -234
  35. package/src/pie/renderer.ts +0 -161
  36. package/src/registry.ts +0 -441
  37. package/src/renderer.ts +0 -1510
  38. package/src/resolve-colors.ts +0 -339
  39. package/src/sequence/layout.ts +0 -766
  40. package/src/sequence/renderer.ts +0 -687
  41. package/src/shape-clipping.ts +0 -197
  42. package/src/styles.ts +0 -145
  43. package/src/title-gaps.ts +0 -161
  44. package/src/xychart/layout.ts +0 -727
  45. package/src/xychart/renderer.ts +0 -676
package/dist/index.d.cts CHANGED
@@ -3,14 +3,15 @@ import { ClassRenderOptions } from '@zombie-mermaid/core';
3
3
  import { CurveStyle } from '@zombie-mermaid/core';
4
4
  import { DiagramColors } from '@zombie-mermaid/core';
5
5
  import { Direction } from '@zombie-mermaid/core';
6
- import { ElkExtendedEdge } from 'elkjs';
7
- import { ElkLabel } from 'elkjs';
8
- import { ElkNode } from 'elkjs';
6
+ import { ElkConstructor } from '@zombie-mermaid/core';
7
+ import { ElkExtendedEdge } from '@zombie-mermaid/core';
8
+ import { ElkLabel } from '@zombie-mermaid/core';
9
+ import { ElkNode } from '@zombie-mermaid/core';
9
10
  import { ErDiagram } from '@zombie-mermaid/mermaid-parser';
10
11
  import { ErRenderOptions } from '@zombie-mermaid/core';
11
12
  import { FlowchartRenderOptions } from '@zombie-mermaid/core';
12
13
  import { LayoutCache } from '@zombie-mermaid/core';
13
- import { LayoutOptions } from 'elkjs';
14
+ import { LayoutOptions } from '@zombie-mermaid/core';
14
15
  import { MermaidGraph } from '@zombie-mermaid/core';
15
16
  import { PieChart } from '@zombie-mermaid/mermaid-parser';
16
17
  import { Point } from '@zombie-mermaid/core';
@@ -244,6 +245,11 @@ export declare interface ElkEdgeLabelStyle {
244
245
  */
245
246
  export declare function elkLayoutSync(graph: ElkNode, cache?: LayoutCache): ElkNode;
246
247
 
248
+ /** Thrown when a graph diagram renders and no `elkjs` constructor is available. */
249
+ export declare class ElkNotRegisteredError extends Error {
250
+ constructor();
251
+ }
252
+
247
253
  /**
248
254
  * Format ELK's `elk.padding` value. A single number applies to all four
249
255
  * sides; an object sets them individually.
@@ -447,6 +453,19 @@ export declare function pieColorValue(index: number, accent: string | undefined,
447
453
  */
448
454
  export declare function pointsToPath(points: Point[], curve?: CurveStyle): string;
449
455
 
456
+ /**
457
+ * Register the `elkjs` constructor used for flowchart, state, class, ER and
458
+ * architecture layout. Call once before rendering, in browsers and bundlers:
459
+ *
460
+ * import ELK from 'elkjs/lib/elk.bundled.js'
461
+ * registerElk(ELK)
462
+ *
463
+ * Under Node (and Bun) this is optional when `elkjs` is installed: it is
464
+ * auto-loaded on first use. Calling it again swaps the constructor and drops
465
+ * the cached instance.
466
+ */
467
+ export declare function registerElk(ctor: ElkConstructor): void;
468
+
450
469
  /**
451
470
  * Render a positioned class diagram as an SVG string.
452
471
  *
package/dist/index.d.ts CHANGED
@@ -3,14 +3,15 @@ import { ClassRenderOptions } from '@zombie-mermaid/core';
3
3
  import { CurveStyle } from '@zombie-mermaid/core';
4
4
  import { DiagramColors } from '@zombie-mermaid/core';
5
5
  import { Direction } from '@zombie-mermaid/core';
6
- import { ElkExtendedEdge } from 'elkjs';
7
- import { ElkLabel } from 'elkjs';
8
- import { ElkNode } from 'elkjs';
6
+ import { ElkConstructor } from '@zombie-mermaid/core';
7
+ import { ElkExtendedEdge } from '@zombie-mermaid/core';
8
+ import { ElkLabel } from '@zombie-mermaid/core';
9
+ import { ElkNode } from '@zombie-mermaid/core';
9
10
  import { ErDiagram } from '@zombie-mermaid/mermaid-parser';
10
11
  import { ErRenderOptions } from '@zombie-mermaid/core';
11
12
  import { FlowchartRenderOptions } from '@zombie-mermaid/core';
12
13
  import { LayoutCache } from '@zombie-mermaid/core';
13
- import { LayoutOptions } from 'elkjs';
14
+ import { LayoutOptions } from '@zombie-mermaid/core';
14
15
  import { MermaidGraph } from '@zombie-mermaid/core';
15
16
  import { PieChart } from '@zombie-mermaid/mermaid-parser';
16
17
  import { Point } from '@zombie-mermaid/core';
@@ -244,6 +245,11 @@ export declare interface ElkEdgeLabelStyle {
244
245
  */
245
246
  export declare function elkLayoutSync(graph: ElkNode, cache?: LayoutCache): ElkNode;
246
247
 
248
+ /** Thrown when a graph diagram renders and no `elkjs` constructor is available. */
249
+ export declare class ElkNotRegisteredError extends Error {
250
+ constructor();
251
+ }
252
+
247
253
  /**
248
254
  * Format ELK's `elk.padding` value. A single number applies to all four
249
255
  * sides; an object sets them individually.
@@ -447,6 +453,19 @@ export declare function pieColorValue(index: number, accent: string | undefined,
447
453
  */
448
454
  export declare function pointsToPath(points: Point[], curve?: CurveStyle): string;
449
455
 
456
+ /**
457
+ * Register the `elkjs` constructor used for flowchart, state, class, ER and
458
+ * architecture layout. Call once before rendering, in browsers and bundlers:
459
+ *
460
+ * import ELK from 'elkjs/lib/elk.bundled.js'
461
+ * registerElk(ELK)
462
+ *
463
+ * Under Node (and Bun) this is optional when `elkjs` is installed: it is
464
+ * auto-loaded on first use. Calling it again swaps the constructor and drops
465
+ * the cached instance.
466
+ */
467
+ export declare function registerElk(ctor: ElkConstructor): void;
468
+
450
469
  /**
451
470
  * Render a positioned class diagram as an SVG string.
452
471
  *