@principal-ai/principal-view-react 0.15.2 → 0.15.4

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 (29) hide show
  1. package/dist/components/GraphRenderer.d.ts.map +1 -1
  2. package/dist/components/GraphRenderer.js +61 -3
  3. package/dist/components/GraphRenderer.js.map +1 -1
  4. package/dist/components/SequenceDiagramRenderer.d.ts +7 -0
  5. package/dist/components/SequenceDiagramRenderer.d.ts.map +1 -1
  6. package/dist/components/SequenceDiagramRenderer.js +11 -8
  7. package/dist/components/SequenceDiagramRenderer.js.map +1 -1
  8. package/dist/components/WorkflowSequenceDiagram.d.ts +8 -1
  9. package/dist/components/WorkflowSequenceDiagram.d.ts.map +1 -1
  10. package/dist/components/WorkflowSequenceDiagram.js +2 -2
  11. package/dist/components/WorkflowSequenceDiagram.js.map +1 -1
  12. package/dist/hooks/useSequenceLayout.d.ts +8 -0
  13. package/dist/hooks/useSequenceLayout.d.ts.map +1 -1
  14. package/dist/hooks/useSequenceLayout.js +1 -0
  15. package/dist/hooks/useSequenceLayout.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/components/GraphRenderer.tsx +68 -3
  18. package/src/components/SequenceDiagramRenderer.tsx +23 -5
  19. package/src/components/WorkflowSequenceDiagram.tsx +9 -0
  20. package/src/hooks/useSequenceLayout.ts +9 -0
  21. package/src/stories/data/graph-converter-test-execution.json +48 -48
  22. package/dist/components/EdgeInfoPanel.d.ts +0 -15
  23. package/dist/components/EdgeInfoPanel.d.ts.map +0 -1
  24. package/dist/components/EdgeInfoPanel.js +0 -106
  25. package/dist/components/EdgeInfoPanel.js.map +0 -1
  26. package/dist/components/NodeInfoPanel.d.ts +0 -23
  27. package/dist/components/NodeInfoPanel.d.ts.map +0 -1
  28. package/dist/components/NodeInfoPanel.js +0 -393
  29. package/dist/components/NodeInfoPanel.js.map +0 -1
@@ -1,393 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { useTheme } from '@principal-ade/industry-theme';
4
- import { resolveIcon } from '../utils/iconResolver';
5
- // Common icons for the icon selector
6
- const COMMON_ICONS = [
7
- 'Settings',
8
- 'Database',
9
- 'Package',
10
- 'Server',
11
- 'Cloud',
12
- 'Globe',
13
- 'File',
14
- 'Folder',
15
- 'Code',
16
- 'Terminal',
17
- 'Cpu',
18
- 'HardDrive',
19
- 'Network',
20
- 'Wifi',
21
- 'Lock',
22
- 'Unlock',
23
- 'Key',
24
- 'Shield',
25
- 'User',
26
- 'Users',
27
- 'Mail',
28
- 'MessageSquare',
29
- 'Bell',
30
- 'Calendar',
31
- 'Clock',
32
- 'Timer',
33
- 'Zap',
34
- 'Activity',
35
- 'BarChart',
36
- 'PieChart',
37
- 'CheckCircle',
38
- 'XCircle',
39
- 'AlertCircle',
40
- 'Info',
41
- 'HelpCircle',
42
- 'Play',
43
- 'Pause',
44
- 'Square',
45
- 'Circle',
46
- 'Triangle',
47
- 'Hexagon',
48
- 'Box',
49
- 'Layers',
50
- 'GitBranch',
51
- 'GitCommit',
52
- 'GitMerge',
53
- 'GitPullRequest',
54
- ];
55
- /**
56
- * Panel that displays information about a selected node with optional editing
57
- */
58
- export const NodeInfoPanel = ({ node, typeDefinition, availableNodeTypes, onClose, onDelete, onUpdate, resolveEventRef, }) => {
59
- const { theme } = useTheme();
60
- // Color priority: node data color > type definition color > theme primary
61
- const nodeColor = node.data?.color || typeDefinition?.color || theme.colors.primary;
62
- const canEdit = Boolean(onUpdate);
63
- // Local state for UI
64
- const [showIconPicker, setShowIconPicker] = useState(false);
65
- const [showDetails, setShowDetails] = useState(false);
66
- const [isExpanded, setIsExpanded] = useState(false);
67
- // Current icon - either from node data override or type definition
68
- const currentIcon = node.data?.icon || typeDefinition?.icon;
69
- // Find the name field from data schema
70
- const nameField = typeDefinition?.dataSchema
71
- ? Object.entries(typeDefinition.dataSchema).find(([, schema]) => schema.displayInLabel)?.[0]
72
- : null;
73
- // Get fields to display based on dataSchema
74
- const displayFields = typeDefinition?.dataSchema
75
- ? Object.entries(typeDefinition.dataSchema)
76
- .filter(([, schema]) => schema.displayInLabel)
77
- .map(([field]) => ({
78
- field,
79
- label: field,
80
- value: node.data?.[field],
81
- }))
82
- : [];
83
- // Always show basic node data if no schema is defined
84
- const hasSchemaFields = displayFields.length > 0;
85
- // Internal fields that should not be displayed in the popup
86
- const internalFields = [
87
- 'icon',
88
- 'name',
89
- 'description',
90
- 'sources',
91
- 'color',
92
- 'stroke',
93
- 'width',
94
- 'height',
95
- 'canvasType',
96
- 'text',
97
- 'file',
98
- 'url',
99
- 'shape',
100
- 'states',
101
- 'actions',
102
- 'nodeType',
103
- 'otel',
104
- 'resourceMatch',
105
- 'event',
106
- 'eventRef', // Handle separately in Event section
107
- ];
108
- // Extract Event metadata
109
- const eventInfo = node.data?.event;
110
- const eventRef = node.data?.eventRef;
111
- // Try to resolve eventRef to full event schema if callback is provided
112
- const resolvedEvent = eventRef && resolveEventRef ? resolveEventRef(eventRef) : undefined;
113
- const nodeDataEntries = node.data
114
- ? Object.entries(node.data).filter(([key]) => !internalFields.includes(key))
115
- : [];
116
- const handleTypeChange = (newType) => {
117
- if (onUpdate && newType !== node.type) {
118
- onUpdate(node.id, { type: newType });
119
- }
120
- };
121
- const handleIconSelect = (iconName) => {
122
- if (onUpdate) {
123
- onUpdate(node.id, {
124
- data: { ...node.data, icon: iconName },
125
- });
126
- }
127
- setShowIconPicker(false);
128
- };
129
- return (_jsxs("div", { style: {
130
- position: 'absolute',
131
- bottom: 0,
132
- left: 0,
133
- right: 0,
134
- backgroundColor: theme.colors.background,
135
- color: theme.colors.text,
136
- borderTop: `2px solid ${nodeColor}`,
137
- borderBottom: `2px solid ${nodeColor}`,
138
- boxShadow: '0 -4px 12px rgba(0,0,0,0.15)',
139
- padding: '16px 24px',
140
- zIndex: 1000,
141
- maxHeight: isExpanded ? '90%' : '40%',
142
- overflowY: 'auto',
143
- transition: 'max-height 0.3s ease',
144
- }, children: [_jsxs("div", { style: {
145
- display: 'flex',
146
- justifyContent: 'space-between',
147
- alignItems: 'center',
148
- marginBottom: '16px',
149
- }, children: [_jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '12px', flex: 1 }, children: _jsx("div", { style: { fontWeight: theme.fontWeights.bold, fontSize: theme.fontSizes[2], fontFamily: theme.fonts.body, color: nodeColor }, children: node.name || node.id }) }), _jsxs("div", { style: { display: 'flex', gap: '4px' }, children: [_jsx("button", { onClick: () => setIsExpanded(!isExpanded), style: {
150
- border: 'none',
151
- background: 'none',
152
- cursor: 'pointer',
153
- fontSize: theme.fontSizes[2],
154
- fontFamily: theme.fonts.body,
155
- color: theme.colors.textSecondary,
156
- padding: '4px',
157
- width: '28px',
158
- height: '28px',
159
- display: 'flex',
160
- alignItems: 'center',
161
- justifyContent: 'center',
162
- borderRadius: '4px',
163
- transition: 'background-color 0.15s',
164
- marginTop: '-8px',
165
- }, onMouseEnter: (e) => {
166
- e.currentTarget.style.backgroundColor = theme.colors.muted;
167
- }, onMouseLeave: (e) => {
168
- e.currentTarget.style.backgroundColor = 'transparent';
169
- }, title: isExpanded ? 'Collapse panel' : 'Expand panel', children: isExpanded ? '▼' : '▲' }), _jsx("button", { onClick: onClose, style: {
170
- border: 'none',
171
- background: 'none',
172
- cursor: 'pointer',
173
- fontSize: theme.fontSizes[3],
174
- fontFamily: theme.fonts.body,
175
- color: theme.colors.textSecondary,
176
- padding: '4px',
177
- width: '28px',
178
- height: '28px',
179
- display: 'flex',
180
- alignItems: 'center',
181
- justifyContent: 'center',
182
- borderRadius: '4px',
183
- transition: 'background-color 0.15s',
184
- marginRight: '-8px',
185
- marginTop: '-8px',
186
- }, onMouseEnter: (e) => {
187
- e.currentTarget.style.backgroundColor = theme.colors.muted;
188
- }, onMouseLeave: (e) => {
189
- e.currentTarget.style.backgroundColor = 'transparent';
190
- }, children: "\u00D7" })] })] }), _jsxs("div", { children: [node.data?.description && (_jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginBottom: '4px' }, children: "Description" }), _jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body }, children: String(node.data.description) })] })), (eventInfo || eventRef || resolvedEvent) && (_jsx("div", { style: { marginBottom: '12px', marginTop: '-4px' }, children: (() => {
191
- // Use resolved event if available, otherwise use inline eventInfo
192
- const displayEvent = resolvedEvent || eventInfo;
193
- if (displayEvent) {
194
- // Show full event with schema
195
- return (_jsxs("div", { children: [_jsx("div", { style: {
196
- fontSize: theme.fontSizes[1],
197
- fontFamily: 'monospace',
198
- color: theme.colors.primary,
199
- marginBottom: '4px',
200
- }, children: displayEvent.name }), displayEvent.description && (_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginTop: '4px', marginBottom: '8px' }, children: displayEvent.description })), displayEvent.attributes && Object.keys(displayEvent.attributes).length > 0 && (_jsxs("div", { style: { marginTop: '16px' }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginBottom: '8px' }, children: "Event Attributes" }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '12px' }, children: Object.entries(displayEvent.attributes).map(([attrName, attrSchema]) => (_jsxs("div", { style: {
201
- padding: '8px 12px',
202
- backgroundColor: theme.colors.muted,
203
- borderRadius: '4px',
204
- border: `1px solid ${theme.colors.border}`,
205
- }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '4px' }, children: [_jsx("span", { style: {
206
- fontSize: theme.fontSizes[0],
207
- fontFamily: 'monospace',
208
- fontWeight: theme.fontWeights.semibold,
209
- color: theme.colors.text,
210
- }, children: attrName }), _jsx("span", { style: {
211
- fontSize: '10px',
212
- fontFamily: theme.fonts.body,
213
- padding: '2px 6px',
214
- borderRadius: '3px',
215
- backgroundColor: theme.colors.surface,
216
- color: theme.colors.textSecondary,
217
- border: `1px solid ${theme.colors.border}`,
218
- }, children: attrSchema.type || 'any' }), attrSchema.required && (_jsx("span", { style: {
219
- fontSize: '10px',
220
- fontFamily: theme.fonts.body,
221
- fontWeight: theme.fontWeights.semibold,
222
- padding: '2px 6px',
223
- borderRadius: '3px',
224
- backgroundColor: '#ef4444',
225
- color: 'white',
226
- }, children: "required" }))] }), attrSchema.description && (_jsx("div", { style: {
227
- fontSize: theme.fontSizes[0],
228
- fontFamily: theme.fonts.body,
229
- color: theme.colors.textSecondary,
230
- marginTop: '4px',
231
- }, children: attrSchema.description }))] }, attrName))) })] }))] }));
232
- }
233
- else if (eventRef) {
234
- // Just show the reference string (not resolved)
235
- return (_jsx("div", { style: {
236
- fontSize: theme.fontSizes[0],
237
- fontFamily: 'monospace',
238
- padding: '6px 10px',
239
- backgroundColor: theme.colors.muted,
240
- borderRadius: '4px',
241
- color: theme.colors.primary,
242
- border: `1px solid ${theme.colors.border}`,
243
- }, children: eventRef }));
244
- }
245
- return null;
246
- })() }))] }), canEdit && (_jsxs("button", { onClick: () => setShowDetails(!showDetails), style: {
247
- width: '100%',
248
- padding: '8px',
249
- backgroundColor: theme.colors.surface,
250
- border: `1px solid ${theme.colors.border}`,
251
- borderRadius: '4px',
252
- cursor: 'pointer',
253
- fontSize: theme.fontSizes[0],
254
- fontFamily: theme.fonts.body,
255
- color: theme.colors.textSecondary,
256
- display: 'flex',
257
- alignItems: 'center',
258
- justifyContent: 'center',
259
- gap: '6px',
260
- marginBottom: showDetails ? '12px' : '0',
261
- }, children: [_jsx("span", { style: {
262
- transform: showDetails ? 'rotate(180deg)' : 'rotate(0deg)',
263
- transition: 'transform 0.2s',
264
- }, children: "\u25BC" }), showDetails ? 'Hide Details' : 'Show Details'] })), canEdit && showDetails && (_jsxs(_Fragment, { children: [_jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginBottom: '4px' }, children: "Icon" }), _jsxs("div", { style: { position: 'relative' }, children: [_jsxs("button", { onClick: () => canEdit && setShowIconPicker(!showIconPicker), disabled: !canEdit, style: {
265
- display: 'flex',
266
- alignItems: 'center',
267
- gap: '8px',
268
- padding: '6px 10px',
269
- backgroundColor: theme.colors.surface,
270
- border: canEdit
271
- ? `1px dashed ${theme.colors.border}`
272
- : `1px solid ${theme.colors.border}`,
273
- borderRadius: '4px',
274
- cursor: canEdit ? 'pointer' : 'default',
275
- fontSize: theme.fontSizes[0],
276
- fontFamily: theme.fonts.body,
277
- width: '100%',
278
- justifyContent: 'flex-start',
279
- color: theme.colors.text,
280
- }, children: [_jsx("span", { style: { display: 'flex', alignItems: 'center' }, children: resolveIcon(currentIcon, 18) }), _jsx("span", { children: currentIcon || 'No icon' }), canEdit && (_jsx("span", { style: { marginLeft: 'auto', color: theme.colors.textMuted, fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body }, children: "\u270E" }))] }), showIconPicker && (_jsx("div", { style: {
281
- position: 'absolute',
282
- top: '100%',
283
- left: 0,
284
- right: 0,
285
- marginTop: '4px',
286
- backgroundColor: theme.colors.background,
287
- border: `1px solid ${theme.colors.border}`,
288
- borderRadius: '4px',
289
- boxShadow: '0 4px 12px rgba(0,0,0,0.15)',
290
- padding: '8px',
291
- maxHeight: '200px',
292
- overflowY: 'auto',
293
- zIndex: 1001,
294
- }, children: _jsx("div", { style: {
295
- display: 'grid',
296
- gridTemplateColumns: 'repeat(6, 1fr)',
297
- gap: '4px',
298
- }, children: COMMON_ICONS.map((iconName) => (_jsx("button", { onClick: () => handleIconSelect(iconName), title: iconName, style: {
299
- padding: '6px',
300
- border: currentIcon === iconName
301
- ? `2px solid ${nodeColor}`
302
- : `1px solid ${theme.colors.border}`,
303
- borderRadius: '4px',
304
- backgroundColor: currentIcon === iconName
305
- ? theme.colors.highlight
306
- : theme.colors.background,
307
- cursor: 'pointer',
308
- display: 'flex',
309
- alignItems: 'center',
310
- justifyContent: 'center',
311
- color: theme.colors.text,
312
- }, children: resolveIcon(iconName, 16) }, iconName))) }) }))] })] }), _jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginBottom: '4px' }, children: "Type" }), canEdit && availableNodeTypes && Object.keys(availableNodeTypes).length > 1 ? (_jsx("select", { value: node.type, onChange: (e) => handleTypeChange(e.target.value), style: {
313
- fontSize: theme.fontSizes[0],
314
- fontFamily: theme.fonts.body,
315
- padding: '4px 8px',
316
- borderRadius: '4px',
317
- border: `1px solid ${theme.colors.border}`,
318
- backgroundColor: theme.colors.background,
319
- color: theme.colors.text,
320
- cursor: 'pointer',
321
- width: '100%',
322
- }, children: Object.entries(availableNodeTypes).map(([typeName, typeDef]) => (_jsxs("option", { value: typeName, children: [typeName, " (", typeDef.shape, ")"] }, typeName))) })) : (_jsx("div", { style: {
323
- fontSize: theme.fontSizes[0],
324
- fontFamily: theme.fonts.body,
325
- padding: '4px 8px',
326
- backgroundColor: nodeColor,
327
- color: theme.colors.background,
328
- borderRadius: '4px',
329
- display: 'inline-block',
330
- }, children: node.type }))] }), node.state && (_jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, color: theme.colors.textSecondary, marginBottom: '4px' }, children: "State" }), _jsx("div", { style: {
331
- fontSize: theme.fontSizes[0],
332
- fontFamily: theme.fonts.body,
333
- padding: '4px 8px',
334
- backgroundColor: typeDefinition?.states?.[node.state]?.color || theme.colors.secondary,
335
- color: theme.colors.background,
336
- borderRadius: '4px',
337
- display: 'inline-block',
338
- }, children: typeDefinition?.states?.[node.state]?.label || node.state })] })), hasSchemaFields && displayFields.filter((f) => f.field !== nameField).length > 0 && (_jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: {
339
- fontSize: theme.fontSizes[0],
340
- fontFamily: theme.fonts.body,
341
- color: theme.colors.textSecondary,
342
- marginBottom: '8px',
343
- fontWeight: theme.fontWeights.bold,
344
- }, children: "Properties" }), displayFields
345
- .filter((f) => f.field !== nameField)
346
- .map(({ field, label, value }) => (_jsxs("div", { style: { marginBottom: '8px' }, children: [_jsx("div", { style: {
347
- fontSize: '10px',
348
- color: theme.colors.textSecondary,
349
- marginBottom: '2px',
350
- }, children: label }), _jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body }, children: value !== undefined && value !== null
351
- ? typeof value === 'object'
352
- ? JSON.stringify(value, null, 2)
353
- : String(value)
354
- : '-' })] }, field)))] })), !hasSchemaFields && nodeDataEntries.length > 0 && (_jsxs("div", { style: { marginBottom: '12px' }, children: [_jsx("div", { style: {
355
- fontSize: theme.fontSizes[0],
356
- fontFamily: theme.fonts.body,
357
- color: theme.colors.textSecondary,
358
- marginBottom: '8px',
359
- fontWeight: theme.fontWeights.bold,
360
- }, children: "Data" }), nodeDataEntries.map(([key, value]) => (_jsxs("div", { style: { marginBottom: '8px' }, children: [_jsx("div", { style: {
361
- fontSize: theme.fontSizes[0],
362
- fontFamily: theme.fonts.body,
363
- color: theme.colors.textSecondary,
364
- marginBottom: '2px',
365
- }, children: key }), _jsx("div", { style: { fontSize: theme.fontSizes[0], fontFamily: theme.fonts.body, wordBreak: 'break-word' }, children: value !== undefined && value !== null
366
- ? typeof value === 'object'
367
- ? JSON.stringify(value, null, 2)
368
- : String(value)
369
- : '-' })] }, key)))] })), _jsxs("div", { style: {
370
- fontSize: theme.fontSizes[0],
371
- fontFamily: theme.fonts.body,
372
- color: theme.colors.textMuted,
373
- marginTop: '12px',
374
- paddingTop: '8px',
375
- borderTop: `1px solid ${theme.colors.border}`,
376
- }, children: ["ID: ", node.id] })] })), onDelete && (_jsx("button", { onClick: () => {
377
- onDelete(node.id);
378
- onClose();
379
- }, style: {
380
- marginTop: '12px',
381
- width: '100%',
382
- padding: '8px 12px',
383
- backgroundColor: theme.colors.error,
384
- color: theme.colors.background,
385
- border: 'none',
386
- borderRadius: '4px',
387
- cursor: 'pointer',
388
- fontSize: theme.fontSizes[0],
389
- fontFamily: theme.fonts.body,
390
- fontWeight: theme.fontWeights.bold,
391
- }, children: "Delete Node" }))] }));
392
- };
393
- //# sourceMappingURL=NodeInfoPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeInfoPanel.js","sourceRoot":"","sources":["../../src/components/NodeInfoPanel.tsx"],"names":[],"mappings":"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"}