@beehexa/hexasync-workflow-react 0.0.0-stage → 2610.3.1
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.
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +137 -0
- package/dist/index.js.map +1 -0
- package/package.json +41 -3
- package/README.md +0 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { WorkflowGraph } from '@beehexa/hexasync-template-model';
|
|
2
|
+
export type RendererRecord = Readonly<Record<string, unknown>>;
|
|
3
|
+
export interface ReactRendererOptions {
|
|
4
|
+
readonly emitIntent: (intent: RendererIntent) => void;
|
|
5
|
+
}
|
|
6
|
+
export type RendererIntent = Readonly<{
|
|
7
|
+
type: 'selection.change';
|
|
8
|
+
nodeIds: readonly string[];
|
|
9
|
+
edgeIds: readonly string[];
|
|
10
|
+
additive: boolean;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
type: 'command.execute';
|
|
13
|
+
command: string;
|
|
14
|
+
key?: unknown;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
type: 'presentation.patch';
|
|
17
|
+
nodeId: string;
|
|
18
|
+
position: unknown;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
type: 'semantic.connection.request';
|
|
21
|
+
sourcePortId: string;
|
|
22
|
+
targetPortId: string;
|
|
23
|
+
}>;
|
|
24
|
+
export type RendererEvent = Readonly<{
|
|
25
|
+
kind: 'select-node';
|
|
26
|
+
nodeId: string;
|
|
27
|
+
additive?: boolean;
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'keyboard-command';
|
|
30
|
+
command: string;
|
|
31
|
+
key?: unknown;
|
|
32
|
+
}> | Readonly<{
|
|
33
|
+
kind: 'move-node';
|
|
34
|
+
nodeId: string;
|
|
35
|
+
position: unknown;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
kind: 'connect';
|
|
38
|
+
sourcePortId: string;
|
|
39
|
+
targetPortId: string;
|
|
40
|
+
}>;
|
|
41
|
+
export interface ReactRendererInput extends RendererRecord {
|
|
42
|
+
readonly graph: WorkflowGraph;
|
|
43
|
+
}
|
|
44
|
+
export interface ReactRenderer {
|
|
45
|
+
render(input: ReactRendererInput): RendererRecord;
|
|
46
|
+
dispatch(event: RendererEvent): void;
|
|
47
|
+
registerComponent(binding: RendererRecord): void;
|
|
48
|
+
frameworkBindings(): RendererRecord;
|
|
49
|
+
}
|
|
50
|
+
/** Creates a host-neutral XYFlow projection; hosts bind the returned descriptors to React components. */
|
|
51
|
+
export declare function createReactRenderer(options: ReactRendererOptions): ReactRenderer;
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GACjH,QAAQ,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACrE,QAAQ,CAAC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GAC3E,QAAQ,CAAC;IAAE,IAAI,EAAE,6BAA6B,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAClG,MAAM,MAAM,aAAa,GACrB,QAAQ,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACrE,QAAQ,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACtE,QAAQ,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GAClE,QAAQ,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9E,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAAE;AAE7F,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,iBAAiB,IAAI,cAAc,CAAC;CACrC;AAWD,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA0GhF"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { createElement } from 'react';
|
|
2
|
+
import { ReactFlow } from '@xyflow/react';
|
|
3
|
+
const COMMANDS = ['fit', 'zoom-in', 'zoom-out', 'layout', 'theme', 'diagnostics', 'mode', 'undo', 'redo'];
|
|
4
|
+
const copy = (value) => structuredClone(value);
|
|
5
|
+
const records = (value) => Array.isArray(value) ? value : [];
|
|
6
|
+
const row = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
7
|
+
const required = (value, label) => {
|
|
8
|
+
if (typeof value !== 'string' || !value.trim())
|
|
9
|
+
throw new TypeError(`${label} must be a non-blank string.`);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
/** Creates a host-neutral XYFlow projection; hosts bind the returned descriptors to React components. */
|
|
13
|
+
export function createReactRenderer(options) {
|
|
14
|
+
if (!options || typeof options.emitIntent !== 'function')
|
|
15
|
+
throw new TypeError('emitIntent must be a function.');
|
|
16
|
+
const bindings = new Map();
|
|
17
|
+
let capabilities = {};
|
|
18
|
+
return Object.freeze({
|
|
19
|
+
render(input) {
|
|
20
|
+
if (!input || typeof input !== 'object' || Array.isArray(input))
|
|
21
|
+
throw new TypeError('Renderer input must be an object.');
|
|
22
|
+
if (!input.graph || !Array.isArray(input.graph.edges))
|
|
23
|
+
throw new TypeError('Renderer graph must be a canonical workflow graph.');
|
|
24
|
+
const graph = input.graph;
|
|
25
|
+
const scene = row(input.scene);
|
|
26
|
+
const selection = row(input.selection);
|
|
27
|
+
const selectedNodes = new Set(Array.isArray(selection.nodeIds) ? selection.nodeIds : []);
|
|
28
|
+
const selectedEdges = new Set(Array.isArray(selection.edgeIds) ? selection.edgeIds : []);
|
|
29
|
+
const nextCapabilities = row(input.capabilities);
|
|
30
|
+
const nodeIds = new Set();
|
|
31
|
+
const nodes = records(scene.nodes).map(node => {
|
|
32
|
+
const id = required(node.id, 'Node id');
|
|
33
|
+
if (nodeIds.has(id))
|
|
34
|
+
throw new Error('Duplicate node id ' + id + '.');
|
|
35
|
+
nodeIds.add(id);
|
|
36
|
+
const content = row(node.content);
|
|
37
|
+
const accessible = typeof content.accessibleName === 'string' && content.accessibleName.trim() ? content.accessibleName : String(node.title ?? node.id ?? 'Workflow node');
|
|
38
|
+
const bounds = row(node.bounds);
|
|
39
|
+
return Object.freeze({ ...copy(node), position: Object.freeze({ x: Number(bounds.x ?? 0), y: Number(bounds.y ?? 0) }), data: Object.freeze({ neutral: copy(node) }), selected: selectedNodes.has(String(node.id)), focused: selection.focusedId === node.id, accessibleName: `${accessible} ${String(node.shape ?? 'node')}`, focusable: true });
|
|
40
|
+
});
|
|
41
|
+
const portIds = new Set();
|
|
42
|
+
const ports = records(scene.ports).map(port => {
|
|
43
|
+
const id = required(port.id, 'Port id');
|
|
44
|
+
if (portIds.has(id))
|
|
45
|
+
throw new Error(`Duplicate XYFlow handle id '${id}'.`);
|
|
46
|
+
portIds.add(id);
|
|
47
|
+
return Object.freeze({ ...copy(port), type: 'handle', focusable: true });
|
|
48
|
+
});
|
|
49
|
+
const canonicalEdges = new Map(graph.edges.map(edge => [edge.id, edge]));
|
|
50
|
+
const edgeIds = new Set();
|
|
51
|
+
const edges = records(scene.edges).map(edge => {
|
|
52
|
+
const id = required(edge.id, 'Edge id');
|
|
53
|
+
if (edgeIds.has(id))
|
|
54
|
+
throw new Error('Duplicate edge id ' + id + '.');
|
|
55
|
+
edgeIds.add(id);
|
|
56
|
+
const canonical = canonicalEdges.get(id);
|
|
57
|
+
if (!canonical || !nodeIds.has(canonical.source.nodeId) || !nodeIds.has(canonical.target.nodeId) || !portIds.has(canonical.source.portId) || !portIds.has(canonical.target.portId))
|
|
58
|
+
throw new Error('Edge ' + id + ' has a missing endpoint.');
|
|
59
|
+
return Object.freeze({ ...copy(edge), source: canonical.source.nodeId, target: canonical.target.nodeId, sourceHandle: canonical.source.portId, targetHandle: canonical.target.portId, selected: selectedEdges.has(id), focusable: true, highContrastCue: row(input.preferences).highContrast === true ? 'pattern-and-label' : 'color-and-label' });
|
|
60
|
+
});
|
|
61
|
+
const commandKeys = { fit: ['f'], 'zoom-in': ['+'], 'zoom-out': ['-'], layout: ['l'], theme: ['t'], diagnostics: ['d'], mode: ['m'], undo: ['Control+z'], redo: ['Control+Shift+z'] };
|
|
62
|
+
const commands = COMMANDS.filter(id => !['layout', 'theme'].includes(id) || nextCapabilities.presentationEdit === true).filter(id => !['undo', 'redo'].includes(id) || nextCapabilities.semanticEdit === true).map(id => Object.freeze({ id, accessibleName: id.replaceAll('-', ' '), keyboardOperations: Object.freeze([...(commandKeys[id] ?? [])]) }));
|
|
63
|
+
const preferences = row(input.preferences);
|
|
64
|
+
const selectedName = nodes.find(node => node.selected)?.accessibleName ?? 'None';
|
|
65
|
+
const bindingEntries = [...bindings.entries()];
|
|
66
|
+
const nodeTypes = Object.freeze(Object.fromEntries(bindingEntries.filter(([key]) => key.startsWith('node:')).map(([key, value]) => [key.slice(5), row(value).component])));
|
|
67
|
+
const formBindings = Object.freeze(Object.fromEntries(bindingEntries.filter(([key]) => key.startsWith('form:')).map(([key, value]) => [key.slice(5), value])));
|
|
68
|
+
const reactFlowProps = Object.freeze({ nodes: Object.freeze(nodes), edges: Object.freeze(edges), nodeTypes, fitView: true });
|
|
69
|
+
capabilities = nextCapabilities;
|
|
70
|
+
return Object.freeze({
|
|
71
|
+
nodes: Object.freeze(nodes), ports: Object.freeze(ports), edges: Object.freeze(edges),
|
|
72
|
+
reactFlow: Object.freeze({ component: ReactFlow, element: createElement(ReactFlow, reactFlowProps), props: reactFlowProps, handles: Object.freeze(ports), formBindings }),
|
|
73
|
+
selection: copy(selection),
|
|
74
|
+
inspector: Object.freeze({ sections: Object.freeze(['details', 'routes', 'appearance', 'diagnostics', 'provenance']) }),
|
|
75
|
+
commands: Object.freeze(commands),
|
|
76
|
+
summary: Object.freeze({ accessibleName: `${nodes.length} nodes, ${edges.length} edge${edges.length === 1 ? '' : 's'}`, selected: selectedName }),
|
|
77
|
+
presentation: Object.freeze({
|
|
78
|
+
highContrast: preferences.highContrast === true,
|
|
79
|
+
reducedMotion: preferences.reducedMotion === true,
|
|
80
|
+
animateLayout: preferences.reducedMotion !== true,
|
|
81
|
+
animatePathTravel: preferences.reducedMotion !== true,
|
|
82
|
+
}),
|
|
83
|
+
graphId: graph.graphId,
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
dispatch(event) {
|
|
87
|
+
if (!event || typeof event !== 'object')
|
|
88
|
+
throw new TypeError('Renderer event must be an object.');
|
|
89
|
+
switch (event.kind) {
|
|
90
|
+
case 'select-node':
|
|
91
|
+
options.emitIntent(Object.freeze({ type: 'selection.change', nodeIds: Object.freeze([required(event.nodeId, 'nodeId')]), edgeIds: Object.freeze([]), additive: event.additive === true }));
|
|
92
|
+
break;
|
|
93
|
+
case 'keyboard-command':
|
|
94
|
+
if (!COMMANDS.includes(event.command))
|
|
95
|
+
throw new TypeError('Unknown renderer command.');
|
|
96
|
+
if (['layout', 'theme'].includes(event.command) && capabilities.presentationEdit !== true)
|
|
97
|
+
throw new Error('Presentation editing is not permitted.');
|
|
98
|
+
if (['undo', 'redo'].includes(event.command) && capabilities.semanticEdit !== true)
|
|
99
|
+
throw new Error('Semantic editing is not permitted.');
|
|
100
|
+
options.emitIntent(Object.freeze({ type: 'command.execute', command: event.command, key: event.key }));
|
|
101
|
+
break;
|
|
102
|
+
case 'move-node':
|
|
103
|
+
if (capabilities.presentationEdit !== true)
|
|
104
|
+
throw new Error('Presentation editing is not permitted.');
|
|
105
|
+
options.emitIntent(Object.freeze({ type: 'presentation.patch', nodeId: required(event.nodeId, 'nodeId'), position: copy(event.position) }));
|
|
106
|
+
break;
|
|
107
|
+
case 'connect':
|
|
108
|
+
if (capabilities.semanticEdit !== true || capabilities.connectionEdit !== true)
|
|
109
|
+
throw new Error('Connection editing is not permitted.');
|
|
110
|
+
options.emitIntent(Object.freeze({ type: 'semantic.connection.request', sourcePortId: required(event.sourcePortId, 'sourcePortId'), targetPortId: required(event.targetPortId, 'targetPortId') }));
|
|
111
|
+
break;
|
|
112
|
+
default:
|
|
113
|
+
throw new Error(`Unsupported React renderer event '${String(event.kind)}'.`);
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
registerComponent(binding) {
|
|
117
|
+
if (!binding || typeof binding !== 'object' || Array.isArray(binding))
|
|
118
|
+
throw new TypeError('Component binding must be an object.');
|
|
119
|
+
const id = binding.id;
|
|
120
|
+
if (typeof id !== 'string' || !id.trim())
|
|
121
|
+
throw new TypeError('Component binding id must be non-blank.');
|
|
122
|
+
if (!['node', 'form'].includes(String(binding.kind)))
|
|
123
|
+
throw new TypeError('Component binding kind must be node or form.');
|
|
124
|
+
if (binding.component === undefined || binding.fallback === undefined)
|
|
125
|
+
throw new TypeError('Component and neutral fallback are required.');
|
|
126
|
+
const key = `${String(binding.kind)}:${id}`;
|
|
127
|
+
if ([...bindings.keys()].some(existing => existing === key || existing.endsWith(`:${id}`)))
|
|
128
|
+
throw new Error(`Binding '${key}' is already registered.`);
|
|
129
|
+
bindings.set(key, Object.freeze({ component: binding.component, fallback: copy(binding.fallback) }));
|
|
130
|
+
},
|
|
131
|
+
frameworkBindings() {
|
|
132
|
+
const entries = [...bindings.entries()].sort(([left], [right]) => left.localeCompare(right));
|
|
133
|
+
return Object.freeze(Object.fromEntries(entries.flatMap(([key, value]) => [[key, value], [key.slice(key.indexOf(':') + 1), value]])));
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beehexa/hexasync-workflow-react",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "2610.3.1",
|
|
4
|
+
"description": "XYFlow React renderer adapter for HexaSync workflow designer contracts.",
|
|
5
|
+
"license": "SEE LICENSE IN ../../LICENSE",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"main": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"build": "tsc -p tsconfig.build.json"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@beehexa/hexasync-template-engine": "2610.3.1",
|
|
24
|
+
"@beehexa/hexasync-template-model": "2610.3.1"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@xyflow/react": "^12.11.6",
|
|
28
|
+
"react": "^19.0.0",
|
|
29
|
+
"react-dom": "^19.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/react": "^19.0.0",
|
|
33
|
+
"@types/react-dom": "^19.0.0",
|
|
34
|
+
"@xyflow/react": "^12.11.6",
|
|
35
|
+
"react": "^19.0.0",
|
|
36
|
+
"react-dom": "^19.0.0"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"hexasync": {
|
|
42
|
+
"layer": "adapter"
|
|
43
|
+
}
|
|
6
44
|
}
|
package/README.md
DELETED