@zukhruf/diagram 0.3.32 → 0.3.34

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 (122) hide show
  1. package/README.md +98 -52
  2. package/dist/index.d.ts +5 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/compiler/diagram-compile.d.ts +3 -4
  7. package/dist/lib/compiler/diagram-compile.d.ts.map +1 -1
  8. package/dist/lib/compiler/diagram-compile.js +85 -370
  9. package/dist/lib/compiler/diagram-compile.js.map +1 -1
  10. package/dist/lib/layouts/graph/attach.d.ts +25 -0
  11. package/dist/lib/layouts/graph/attach.d.ts.map +1 -0
  12. package/dist/lib/layouts/graph/attach.js +272 -0
  13. package/dist/lib/layouts/graph/attach.js.map +1 -0
  14. package/dist/lib/layouts/graph/connections.d.ts +45 -0
  15. package/dist/lib/layouts/graph/connections.d.ts.map +1 -0
  16. package/dist/lib/layouts/graph/connections.js +138 -0
  17. package/dist/lib/layouts/graph/connections.js.map +1 -0
  18. package/dist/lib/layouts/graph/graph-layout-result.d.ts +5 -3
  19. package/dist/lib/layouts/graph/graph-layout-result.d.ts.map +1 -1
  20. package/dist/lib/layouts/graph/graph-layout-result.js.map +1 -1
  21. package/dist/lib/layouts/graph/gutters.js +41 -22
  22. package/dist/lib/layouts/graph/gutters.js.map +1 -1
  23. package/dist/lib/layouts/graph/labels.d.ts +23 -0
  24. package/dist/lib/layouts/graph/labels.d.ts.map +1 -0
  25. package/dist/lib/layouts/graph/labels.js +120 -0
  26. package/dist/lib/layouts/graph/labels.js.map +1 -0
  27. package/dist/lib/layouts/graph/layout.d.ts +1 -1
  28. package/dist/lib/layouts/graph/layout.d.ts.map +1 -1
  29. package/dist/lib/layouts/graph/layout.js +37 -12
  30. package/dist/lib/layouts/graph/layout.js.map +1 -1
  31. package/dist/lib/layouts/graph/measure.d.ts +15 -11
  32. package/dist/lib/layouts/graph/measure.d.ts.map +1 -1
  33. package/dist/lib/layouts/graph/measure.js +82 -38
  34. package/dist/lib/layouts/graph/measure.js.map +1 -1
  35. package/dist/lib/layouts/graph/min-heap.d.ts +8 -0
  36. package/dist/lib/layouts/graph/min-heap.d.ts.map +1 -0
  37. package/dist/lib/layouts/graph/min-heap.js +56 -0
  38. package/dist/lib/layouts/graph/min-heap.js.map +1 -0
  39. package/dist/lib/layouts/graph/node-content.d.ts +2 -3
  40. package/dist/lib/layouts/graph/node-content.d.ts.map +1 -1
  41. package/dist/lib/layouts/graph/node-content.js +67 -47
  42. package/dist/lib/layouts/graph/node-content.js.map +1 -1
  43. package/dist/lib/layouts/graph/path.d.ts +6 -0
  44. package/dist/lib/layouts/graph/path.d.ts.map +1 -0
  45. package/dist/lib/layouts/graph/path.js +53 -0
  46. package/dist/lib/layouts/graph/path.js.map +1 -0
  47. package/dist/lib/layouts/graph/round.d.ts +11 -0
  48. package/dist/lib/layouts/graph/round.d.ts.map +1 -0
  49. package/dist/lib/layouts/graph/round.js +181 -0
  50. package/dist/lib/layouts/graph/round.js.map +1 -0
  51. package/dist/lib/layouts/graph/route-search.d.ts +34 -0
  52. package/dist/lib/layouts/graph/route-search.d.ts.map +1 -0
  53. package/dist/lib/layouts/graph/route-search.js +208 -0
  54. package/dist/lib/layouts/graph/route-search.js.map +1 -0
  55. package/dist/lib/layouts/graph/route.d.ts +20 -0
  56. package/dist/lib/layouts/graph/route.d.ts.map +1 -0
  57. package/dist/lib/layouts/graph/route.js +276 -0
  58. package/dist/lib/layouts/graph/route.js.map +1 -0
  59. package/dist/lib/layouts/graph/sides.d.ts +28 -0
  60. package/dist/lib/layouts/graph/sides.d.ts.map +1 -0
  61. package/dist/lib/layouts/graph/sides.js +98 -0
  62. package/dist/lib/layouts/graph/sides.js.map +1 -0
  63. package/dist/lib/layouts/timeline/timeline-layout.d.ts +2 -1
  64. package/dist/lib/layouts/timeline/timeline-layout.d.ts.map +1 -1
  65. package/dist/lib/layouts/timeline/timeline-layout.js +9 -4
  66. package/dist/lib/layouts/timeline/timeline-layout.js.map +1 -1
  67. package/dist/lib/model/diagram-ir.d.ts +19 -156
  68. package/dist/lib/model/diagram-ir.d.ts.map +1 -1
  69. package/dist/lib/model/diagram-ir.js.map +1 -1
  70. package/dist/lib/model/validate-graph.d.ts +7 -0
  71. package/dist/lib/model/validate-graph.d.ts.map +1 -0
  72. package/dist/lib/model/validate-graph.js +54 -0
  73. package/dist/lib/model/validate-graph.js.map +1 -0
  74. package/dist/lib/react/Diagram.d.ts +3 -9
  75. package/dist/lib/react/Diagram.d.ts.map +1 -1
  76. package/dist/lib/react/Diagram.js +1 -13
  77. package/dist/lib/react/Diagram.js.map +1 -1
  78. package/dist/lib/react/diagram-types.d.ts +17 -46
  79. package/dist/lib/react/diagram-types.d.ts.map +1 -1
  80. package/dist/lib/react/diagram-types.js.map +1 -1
  81. package/dist/lib/renderers/canvas/graph-canvas.d.ts +2 -5
  82. package/dist/lib/renderers/canvas/graph-canvas.d.ts.map +1 -1
  83. package/dist/lib/renderers/canvas/graph-canvas.js +68 -43
  84. package/dist/lib/renderers/canvas/graph-canvas.js.map +1 -1
  85. package/dist/lib/renderers/html/graph-html.d.ts +2 -3
  86. package/dist/lib/renderers/html/graph-html.d.ts.map +1 -1
  87. package/dist/lib/renderers/html/graph-html.js +298 -289
  88. package/dist/lib/renderers/html/graph-html.js.map +1 -1
  89. package/dist/lib/renderers/shared/graph-parts.d.ts +3 -1
  90. package/dist/lib/renderers/shared/graph-parts.d.ts.map +1 -1
  91. package/dist/lib/renderers/shared/graph-parts.js +350 -418
  92. package/dist/lib/renderers/shared/graph-parts.js.map +1 -1
  93. package/dist/lib/renderers/shared/node-parts.d.ts +5 -6
  94. package/dist/lib/renderers/shared/node-parts.d.ts.map +1 -1
  95. package/dist/lib/renderers/shared/node-parts.js +112 -190
  96. package/dist/lib/renderers/shared/node-parts.js.map +1 -1
  97. package/dist/lib/renderers/shared/run-spans.js +2 -2
  98. package/dist/lib/renderers/shared/run-spans.js.map +1 -1
  99. package/dist/lib/renderers/shared/text-runs.d.ts +0 -6
  100. package/dist/lib/renderers/shared/text-runs.d.ts.map +1 -1
  101. package/dist/lib/renderers/shared/text-runs.js +0 -12
  102. package/dist/lib/renderers/shared/text-runs.js.map +1 -1
  103. package/dist/lib/renderers/svg/graph-svg.d.ts +1 -3
  104. package/dist/lib/renderers/svg/graph-svg.d.ts.map +1 -1
  105. package/dist/lib/renderers/svg/graph-svg.js +66 -80
  106. package/dist/lib/renderers/svg/graph-svg.js.map +1 -1
  107. package/dist/lib/renderers/svg/timeline-svg.d.ts.map +1 -1
  108. package/dist/lib/renderers/svg/timeline-svg.js +7 -5
  109. package/dist/lib/renderers/svg/timeline-svg.js.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/lib/layouts/graph/graph-layout.d.ts +0 -154
  112. package/dist/lib/layouts/graph/graph-layout.d.ts.map +0 -1
  113. package/dist/lib/layouts/graph/graph-layout.js +0 -2340
  114. package/dist/lib/layouts/graph/graph-layout.js.map +0 -1
  115. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts +0 -6
  116. package/dist/lib/layouts/graph/legacy-graph-layout.d.ts.map +0 -1
  117. package/dist/lib/layouts/graph/legacy-graph-layout.js +0 -542
  118. package/dist/lib/layouts/graph/legacy-graph-layout.js.map +0 -1
  119. package/dist/lib/layouts/text-metrics.d.ts +0 -7
  120. package/dist/lib/layouts/text-metrics.d.ts.map +0 -1
  121. package/dist/lib/layouts/text-metrics.js +0 -40
  122. package/dist/lib/layouts/text-metrics.js.map +0 -1
@@ -1,40 +0,0 @@
1
- const MONO_CHAR_EM = 0.6;
2
- const SANS_EM_NARROW = 0.32;
3
- const SANS_EM_WIDE = 0.92;
4
- const SANS_EM_CAPITAL = 0.68;
5
- const SANS_EM_DEFAULT = 0.54;
6
- const SANS_NARROW_CHARS = new Set([...` .,:;'"|!iIjlt()[]-`]);
7
- const SANS_WIDE_CHARS = new Set([...'MWmw@%']);
8
- const ASCENT_EM = {
9
- mono: 0.942,
10
- sans: 0.972
11
- };
12
- const LINE_BOX_EM = {
13
- mono: 1.185,
14
- sans: 1.19
15
- };
16
- function sansCharEm(char) {
17
- if (SANS_NARROW_CHARS.has(char)) return SANS_EM_NARROW;
18
- if (SANS_WIDE_CHARS.has(char)) return SANS_EM_WIDE;
19
- if (char >= 'A' && char <= 'Z') return SANS_EM_CAPITAL;
20
- return SANS_EM_DEFAULT;
21
- }
22
- export function textWidth(text, fontSize, face) {
23
- if (face === 'mono') return text.length * MONO_CHAR_EM * fontSize;
24
- let em = 0;
25
- for (const char of text) em += sansCharEm(char);
26
- return em * fontSize;
27
- }
28
- export function widestLine(lines, fontSize, face) {
29
- return Math.max(0, ...lines.map(line => textWidth(line, fontSize, face)));
30
- }
31
- export function textAscent(fontSize, face) {
32
- return fontSize * ASCENT_EM[face];
33
- }
34
- export function textLineBox(fontSize, face) {
35
- return fontSize * LINE_BOX_EM[face];
36
- }
37
- export function centeredBaselineOffset(fontSize, face) {
38
- return textAscent(fontSize, face) - textLineBox(fontSize, face) / 2;
39
- }
40
- //# sourceMappingURL=text-metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-metrics.js","names":["MONO_CHAR_EM","SANS_EM_NARROW","SANS_EM_WIDE","SANS_EM_CAPITAL","SANS_EM_DEFAULT","SANS_NARROW_CHARS","Set","SANS_WIDE_CHARS","ASCENT_EM","mono","sans","LINE_BOX_EM","sansCharEm","char","has","textWidth","text","fontSize","face","length","em","widestLine","lines","Math","max","map","line","textAscent","textLineBox","centeredBaselineOffset"],"sources":["../../../src/lib/layouts/text-metrics.ts"],"sourcesContent":["export type DiagramFontFace = 'mono' | 'sans';\n\nconst MONO_CHAR_EM = 0.6;\n\nconst SANS_EM_NARROW = 0.32;\nconst SANS_EM_WIDE = 0.92;\nconst SANS_EM_CAPITAL = 0.68;\nconst SANS_EM_DEFAULT = 0.54;\nconst SANS_NARROW_CHARS = new Set([...` .,:;'\"|!iIjlt()[]-`]);\nconst SANS_WIDE_CHARS = new Set([...'MWmw@%']);\n\nconst ASCENT_EM: Record<DiagramFontFace, number> = { mono: 0.942, sans: 0.972 };\nconst LINE_BOX_EM: Record<DiagramFontFace, number> = {\n mono: 1.185,\n sans: 1.19,\n};\n\nfunction sansCharEm(char: string) {\n if (SANS_NARROW_CHARS.has(char)) return SANS_EM_NARROW;\n if (SANS_WIDE_CHARS.has(char)) return SANS_EM_WIDE;\n if (char >= 'A' && char <= 'Z') return SANS_EM_CAPITAL;\n return SANS_EM_DEFAULT;\n}\n\nexport function textWidth(\n text: string,\n fontSize: number,\n face: DiagramFontFace,\n): number {\n if (face === 'mono') return text.length * MONO_CHAR_EM * fontSize;\n let em = 0;\n for (const char of text) em += sansCharEm(char);\n return em * fontSize;\n}\n\nexport function widestLine(\n lines: string[],\n fontSize: number,\n face: DiagramFontFace,\n): number {\n return Math.max(0, ...lines.map((line) => textWidth(line, fontSize, face)));\n}\n\nexport function textAscent(fontSize: number, face: DiagramFontFace): number {\n return fontSize * ASCENT_EM[face];\n}\n\nexport function textLineBox(fontSize: number, face: DiagramFontFace): number {\n return fontSize * LINE_BOX_EM[face];\n}\n\nexport function centeredBaselineOffset(\n fontSize: number,\n face: DiagramFontFace,\n): number {\n return textAscent(fontSize, face) - textLineBox(fontSize, face) / 2;\n}\n"],"mappings":"AAEA,MAAMA,YAAY,GAAG,GAAG;AAExB,MAAMC,cAAc,GAAG,IAAI;AAC3B,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;AAC7D,MAAMC,eAAe,GAAG,IAAID,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;AAE9C,MAAME,SAA0C,GAAG;EAAEC,IAAI,EAAE,KAAK;EAAEC,IAAI,EAAE;AAAM,CAAC;AAC/E,MAAMC,WAA4C,GAAG;EACnDF,IAAI,EAAE,KAAK;EACXC,IAAI,EAAE;AACR,CAAC;AAED,SAASE,UAAUA,CAACC,IAAY,EAAE;EAChC,IAAIR,iBAAiB,CAACS,GAAG,CAACD,IAAI,CAAC,EAAE,OAAOZ,cAAc;EACtD,IAAIM,eAAe,CAACO,GAAG,CAACD,IAAI,CAAC,EAAE,OAAOX,YAAY;EAClD,IAAIW,IAAI,IAAI,GAAG,IAAIA,IAAI,IAAI,GAAG,EAAE,OAAOV,eAAe;EACtD,OAAOC,eAAe;AACxB;AAEA,OAAO,SAASW,SAASA,CACvBC,IAAY,EACZC,QAAgB,EAChBC,IAAqB,EACb;EACR,IAAIA,IAAI,KAAK,MAAM,EAAE,OAAOF,IAAI,CAACG,MAAM,GAAGnB,YAAY,GAAGiB,QAAQ;EACjE,IAAIG,EAAE,GAAG,CAAC;EACV,KAAK,MAAMP,IAAI,IAAIG,IAAI,EAAEI,EAAE,IAAIR,UAAU,CAACC,IAAI,CAAC;EAC/C,OAAOO,EAAE,GAAGH,QAAQ;AACtB;AAEA,OAAO,SAASI,UAAUA,CACxBC,KAAe,EACfL,QAAgB,EAChBC,IAAqB,EACb;EACR,OAAOK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGF,KAAK,CAACG,GAAG,CAAEC,IAAI,IAAKX,SAAS,CAACW,IAAI,EAAET,QAAQ,EAAEC,IAAI,CAAC,CAAC,CAAC;AAC7E;AAEA,OAAO,SAASS,UAAUA,CAACV,QAAgB,EAAEC,IAAqB,EAAU;EAC1E,OAAOD,QAAQ,GAAGT,SAAS,CAACU,IAAI,CAAC;AACnC;AAEA,OAAO,SAASU,WAAWA,CAACX,QAAgB,EAAEC,IAAqB,EAAU;EAC3E,OAAOD,QAAQ,GAAGN,WAAW,CAACO,IAAI,CAAC;AACrC;AAEA,OAAO,SAASW,sBAAsBA,CACpCZ,QAAgB,EAChBC,IAAqB,EACb;EACR,OAAOS,UAAU,CAACV,QAAQ,EAAEC,IAAI,CAAC,GAAGU,WAAW,CAACX,QAAQ,EAAEC,IAAI,CAAC,GAAG,CAAC;AACrE","ignoreList":[]}