@xpressai/xircuits-viewer 0.1.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 (69) hide show
  1. package/dist/index.d.ts +10 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +36 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/interaction/panZoom.d.ts +16 -0
  6. package/dist/interaction/panZoom.d.ts.map +1 -0
  7. package/dist/interaction/panZoom.js +84 -0
  8. package/dist/interaction/panZoom.js.map +1 -0
  9. package/dist/layout/metrics.d.ts +18 -0
  10. package/dist/layout/metrics.d.ts.map +1 -0
  11. package/dist/layout/metrics.js +78 -0
  12. package/dist/layout/metrics.js.map +1 -0
  13. package/dist/layout/viewBox.d.ts +9 -0
  14. package/dist/layout/viewBox.d.ts.map +1 -0
  15. package/dist/layout/viewBox.js +25 -0
  16. package/dist/layout/viewBox.js.map +1 -0
  17. package/dist/parser/classify.d.ts +10 -0
  18. package/dist/parser/classify.d.ts.map +1 -0
  19. package/dist/parser/classify.js +52 -0
  20. package/dist/parser/classify.js.map +1 -0
  21. package/dist/parser/parse.d.ts +3 -0
  22. package/dist/parser/parse.d.ts.map +1 -0
  23. package/dist/parser/parse.js +92 -0
  24. package/dist/parser/parse.js.map +1 -0
  25. package/dist/parser/validate.d.ts +5 -0
  26. package/dist/parser/validate.d.ts.map +1 -0
  27. package/dist/parser/validate.js +31 -0
  28. package/dist/parser/validate.js.map +1 -0
  29. package/dist/render/colors.d.ts +14 -0
  30. package/dist/render/colors.d.ts.map +1 -0
  31. package/dist/render/colors.js +78 -0
  32. package/dist/render/colors.js.map +1 -0
  33. package/dist/render/renderDefs.d.ts +4 -0
  34. package/dist/render/renderDefs.d.ts.map +1 -0
  35. package/dist/render/renderDefs.js +128 -0
  36. package/dist/render/renderDefs.js.map +1 -0
  37. package/dist/render/renderEdge.d.ts +3 -0
  38. package/dist/render/renderEdge.d.ts.map +1 -0
  39. package/dist/render/renderEdge.js +13 -0
  40. package/dist/render/renderEdge.js.map +1 -0
  41. package/dist/render/renderGraph.d.ts +5 -0
  42. package/dist/render/renderGraph.d.ts.map +1 -0
  43. package/dist/render/renderGraph.js +40 -0
  44. package/dist/render/renderGraph.js.map +1 -0
  45. package/dist/render/renderNode.d.ts +3 -0
  46. package/dist/render/renderNode.d.ts.map +1 -0
  47. package/dist/render/renderNode.js +81 -0
  48. package/dist/render/renderNode.js.map +1 -0
  49. package/dist/render/renderPort.d.ts +3 -0
  50. package/dist/render/renderPort.d.ts.map +1 -0
  51. package/dist/render/renderPort.js +57 -0
  52. package/dist/render/renderPort.js.map +1 -0
  53. package/dist/render/symbols.d.ts +6 -0
  54. package/dist/render/symbols.d.ts.map +1 -0
  55. package/dist/render/symbols.js +45 -0
  56. package/dist/render/symbols.js.map +1 -0
  57. package/dist/svg/bezier.d.ts +7 -0
  58. package/dist/svg/bezier.d.ts.map +1 -0
  59. package/dist/svg/bezier.js +9 -0
  60. package/dist/svg/bezier.js.map +1 -0
  61. package/dist/svg/builder.d.ts +11 -0
  62. package/dist/svg/builder.d.ts.map +1 -0
  63. package/dist/svg/builder.js +48 -0
  64. package/dist/svg/builder.js.map +1 -0
  65. package/dist/types.d.ts +69 -0
  66. package/dist/types.d.ts.map +1 -0
  67. package/dist/types.js +2 -0
  68. package/dist/types.js.map +1 -0
  69. package/package.json +25 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/svg/builder.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAgBnE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAO3E;AAED,wBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEzC;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEzC;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEzC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,48 @@
1
+ function attrString(attrs) {
2
+ return Object.entries(attrs)
3
+ .filter(([, v]) => v !== undefined && v !== false)
4
+ .map(([k, v]) => {
5
+ if (v === true)
6
+ return k;
7
+ return `${k}="${escapeAttr(String(v))}"`;
8
+ })
9
+ .join(' ');
10
+ }
11
+ function escapeAttr(s) {
12
+ return s.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
13
+ }
14
+ export function escapeXml(s) {
15
+ return s
16
+ .replace(/&/g, '&amp;')
17
+ .replace(/</g, '&lt;')
18
+ .replace(/>/g, '&gt;')
19
+ .replace(/"/g, '&quot;')
20
+ .replace(/'/g, '&apos;');
21
+ }
22
+ export function el(tag, attrs, ...children) {
23
+ const a = attrString(attrs);
24
+ const open = a ? `<${tag} ${a}` : `<${tag}`;
25
+ if (children.length === 0) {
26
+ return `${open}/>`;
27
+ }
28
+ return `${open}>${children.join('')}</${tag}>`;
29
+ }
30
+ export function g(attrs, ...children) {
31
+ return el('g', attrs, ...children);
32
+ }
33
+ export function rect(attrs) {
34
+ return el('rect', attrs);
35
+ }
36
+ export function text(attrs, content) {
37
+ return el('text', attrs, escapeXml(content));
38
+ }
39
+ export function path(attrs) {
40
+ return el('path', attrs);
41
+ }
42
+ export function line(attrs) {
43
+ return el('line', attrs);
44
+ }
45
+ export function svgRoot(attrs, ...children) {
46
+ return el('svg', { xmlns: 'http://www.w3.org/2000/svg', ...attrs }, ...children);
47
+ }
48
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/svg/builder.ts"],"names":[],"mappings":"AAEA,SAAS,UAAU,CAAC,KAAY;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAW,EAAE,KAAY,EAAE,GAAG,QAAkB;IACjE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,CAAC,CAAC,KAAY,EAAE,GAAG,QAAkB;IACnD,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAY;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAY,EAAE,OAAe;IAChD,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAY;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAY;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,GAAG,QAAkB;IACzD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AACnF,CAAC"}
@@ -0,0 +1,69 @@
1
+ export type PortDirection = 'in' | 'out';
2
+ export type PortKind = 'flow' | 'parameter';
3
+ export type NodeKind = 'start' | 'finish' | 'literal' | 'component' | 'workflow' | 'branch' | 'comment' | 'function' | 'context_set' | 'context_get' | 'variable';
4
+ export type EdgeKind = 'flow' | 'data';
5
+ export interface XPort {
6
+ id: string;
7
+ direction: PortDirection;
8
+ kind: PortKind;
9
+ label: string;
10
+ varName: string;
11
+ dataType: string | null;
12
+ linkIds: string[];
13
+ }
14
+ export interface XNode {
15
+ id: string;
16
+ kind: NodeKind;
17
+ name: string;
18
+ color: string;
19
+ x: number;
20
+ y: number;
21
+ portsIn: XPort[];
22
+ portsOut: XPort[];
23
+ extras: Record<string, unknown>;
24
+ }
25
+ export interface XEdge {
26
+ id: string;
27
+ kind: EdgeKind;
28
+ sourceNodeId: string;
29
+ sourcePortId: string;
30
+ targetNodeId: string;
31
+ targetPortId: string;
32
+ points: Array<{
33
+ x: number;
34
+ y: number;
35
+ }>;
36
+ color: string;
37
+ }
38
+ export interface XGraph {
39
+ id: string;
40
+ viewport: {
41
+ x: number;
42
+ y: number;
43
+ zoom: number;
44
+ };
45
+ nodes: XNode[];
46
+ edges: XEdge[];
47
+ }
48
+ export interface RenderOptions {
49
+ theme?: 'dark' | 'light';
50
+ width?: number;
51
+ height?: number;
52
+ padding?: number;
53
+ fitView?: boolean;
54
+ interactive?: boolean;
55
+ className?: string;
56
+ nodeClassFn?: (node: XNode) => string;
57
+ edgeClassFn?: (edge: XEdge) => string;
58
+ }
59
+ export interface NodeMetrics {
60
+ width: number;
61
+ height: number;
62
+ titleHeight: number;
63
+ portRowHeight: number;
64
+ portPositions: Map<string, {
65
+ x: number;
66
+ y: number;
67
+ }>;
68
+ }
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,aAAa,GACb,UAAU,CAAC;AACf,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@xpressai/xircuits-viewer",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./interaction": {
13
+ "types": "./dist/interaction/panZoom.d.ts",
14
+ "import": "./dist/interaction/panZoom.js"
15
+ }
16
+ },
17
+ "files": ["dist"],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "dev": "tsc --watch"
21
+ },
22
+ "devDependencies": {
23
+ "typescript": "^5.8.3"
24
+ }
25
+ }