@principal-ai/principal-view-react 0.13.18 → 0.13.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAgC5E,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAg1BhE,CAAC"}
1
+ {"version":3,"file":"CustomNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAgC5E,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAw3BhE,CAAC"}
@@ -89,17 +89,51 @@ export const CustomNode = ({ data, selected, dragging }) => {
89
89
  };
90
90
  }
91
91
  };
92
- // Render Sources badge (top-right)
92
+ // Get badge position based on shape - diamonds need badges at their points, not bounding box corners
93
+ const getBadgePosition = (position) => {
94
+ const isDiamondShape = typeDefinition.shape === 'diamond';
95
+ if (isDiamondShape) {
96
+ // Diamond points are at the middle of each edge of the bounding box
97
+ switch (position) {
98
+ case 'top-left':
99
+ // Position at the LEFT point of the diamond (center-left)
100
+ return { top: '50%', left: 0, transform: 'translate(-50%, -50%)' };
101
+ case 'top-right':
102
+ // Position at the RIGHT point of the diamond (center-right)
103
+ return { top: '50%', right: 0, transform: 'translate(50%, -50%)' };
104
+ case 'left':
105
+ // Position at the LEFT point of the diamond (center-left)
106
+ return { top: '50%', left: 0, transform: 'translate(-50%, -50%)' };
107
+ case 'right':
108
+ // Position at the RIGHT point of the diamond (center-right)
109
+ return { top: '50%', right: 0, transform: 'translate(50%, -50%)' };
110
+ }
111
+ }
112
+ // Default positioning for rectangles, circles, hexagons (bounding box corners)
113
+ switch (position) {
114
+ case 'top-left':
115
+ return { top: -6, left: -6 };
116
+ case 'top-right':
117
+ return { top: -6, right: -6 };
118
+ case 'left':
119
+ return { top: -6, left: -6 };
120
+ case 'right':
121
+ return { top: -6, right: -6 };
122
+ }
123
+ };
124
+ // Render Sources badge (top-right, or right point for diamonds)
93
125
  const renderSourcesBadge = () => {
94
126
  const sources = nodeData?.sources;
95
127
  if (!sources || sources.length === 0)
96
128
  return null;
97
129
  const shapeStyles = getBadgeShapeStyles();
130
+ const positionStyles = getBadgePosition('top-right');
98
131
  return (_jsx("div", { style: {
99
132
  position: 'absolute',
100
- top: -6,
101
- right: -6,
133
+ ...positionStyles,
102
134
  ...shapeStyles,
135
+ // Override transform if shape has rotation but we already have a position transform
136
+ ...(typeDefinition.shape === 'diamond' ? { transform: `${positionStyles.transform} rotate(45deg)` } : {}),
103
137
  backgroundColor: '#10b981',
104
138
  color: 'white',
105
139
  fontSize: theme.fontSizes[0],
@@ -113,7 +147,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
113
147
  opacity: nodeOpacity,
114
148
  }, title: `Sources: ${sources.join(', ')}`, children: _jsx("span", { style: { transform: shapeStyles.transform ? 'rotate(-45deg)' : undefined }, children: "S" }) }));
115
149
  };
116
- // Render Boundary badge (top-right) - shown instead of sources badge for boundary nodes
150
+ // Render Boundary badge (right/left points) - shown instead of sources badge for boundary nodes
117
151
  const renderBoundaryBadge = () => {
118
152
  const boundary = nodeData?.boundary;
119
153
  if (!boundary)
@@ -123,10 +157,10 @@ export const CustomNode = ({ data, selected, dragging }) => {
123
157
  // Direction indicators
124
158
  const directionIcon = isOutbound ? '↗' : '↙';
125
159
  const directionTitle = isOutbound ? 'Outbound boundary (calls external system)' : 'Inbound boundary (called by external system)';
160
+ const positionStyles = getBadgePosition(isOutbound ? 'right' : 'left');
126
161
  return (_jsx("div", { style: {
127
162
  position: 'absolute',
128
- top: -6,
129
- right: -6,
163
+ ...positionStyles,
130
164
  width: 18,
131
165
  height: 18,
132
166
  borderRadius: '50%',
@@ -145,7 +179,7 @@ export const CustomNode = ({ data, selected, dragging }) => {
145
179
  };
146
180
  // Check if this is a boundary node
147
181
  const isBoundaryNode = nodeData?.nodeType === 'boundary';
148
- // Render Status badge (top-left)
182
+ // Render Status badge (top-left, or top point for diamonds)
149
183
  const renderStatusBadge = () => {
150
184
  const status = nodeData?.status;
151
185
  if (!status)
@@ -167,11 +201,13 @@ export const CustomNode = ({ data, selected, dragging }) => {
167
201
  implemented: 'Implemented - Code exists',
168
202
  };
169
203
  const shapeStyles = getBadgeShapeStyles();
204
+ const positionStyles = getBadgePosition('top-left');
170
205
  return (_jsx("div", { style: {
171
206
  position: 'absolute',
172
- top: -6,
173
- left: -6,
207
+ ...positionStyles,
174
208
  ...shapeStyles,
209
+ // Override transform if shape has rotation but we already have a position transform
210
+ ...(typeDefinition.shape === 'diamond' ? { transform: `${positionStyles.transform} rotate(45deg)` } : {}),
175
211
  backgroundColor: statusColors[status],
176
212
  color: 'white',
177
213
  fontSize: theme.fontSizes[0],
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNode.js","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomNode.js","sourceRoot":"","sources":["../../src/nodes/CustomNode.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/principal-view-react",
3
- "version": "0.13.18",
3
+ "version": "0.13.20",
4
4
  "description": "React components for graph-based principal view framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -140,20 +140,57 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
140
140
  }
141
141
  };
142
142
 
143
- // Render Sources badge (top-right)
143
+ // Get badge position based on shape - diamonds need badges at their points, not bounding box corners
144
+ const getBadgePosition = (position: 'top-left' | 'top-right' | 'left' | 'right'): React.CSSProperties => {
145
+ const isDiamondShape = typeDefinition.shape === 'diamond';
146
+
147
+ if (isDiamondShape) {
148
+ // Diamond points are at the middle of each edge of the bounding box
149
+ switch (position) {
150
+ case 'top-left':
151
+ // Position at the LEFT point of the diamond (center-left)
152
+ return { top: '50%', left: 0, transform: 'translate(-50%, -50%)' };
153
+ case 'top-right':
154
+ // Position at the RIGHT point of the diamond (center-right)
155
+ return { top: '50%', right: 0, transform: 'translate(50%, -50%)' };
156
+ case 'left':
157
+ // Position at the LEFT point of the diamond (center-left)
158
+ return { top: '50%', left: 0, transform: 'translate(-50%, -50%)' };
159
+ case 'right':
160
+ // Position at the RIGHT point of the diamond (center-right)
161
+ return { top: '50%', right: 0, transform: 'translate(50%, -50%)' };
162
+ }
163
+ }
164
+
165
+ // Default positioning for rectangles, circles, hexagons (bounding box corners)
166
+ switch (position) {
167
+ case 'top-left':
168
+ return { top: -6, left: -6 };
169
+ case 'top-right':
170
+ return { top: -6, right: -6 };
171
+ case 'left':
172
+ return { top: -6, left: -6 };
173
+ case 'right':
174
+ return { top: -6, right: -6 };
175
+ }
176
+ };
177
+
178
+ // Render Sources badge (top-right, or right point for diamonds)
144
179
  const renderSourcesBadge = () => {
145
180
  const sources = nodeData?.sources as string[] | undefined;
146
181
  if (!sources || sources.length === 0) return null;
147
182
 
148
183
  const shapeStyles = getBadgeShapeStyles();
184
+ const positionStyles = getBadgePosition('top-right');
149
185
 
150
186
  return (
151
187
  <div
152
188
  style={{
153
189
  position: 'absolute',
154
- top: -6,
155
- right: -6,
190
+ ...positionStyles,
156
191
  ...shapeStyles,
192
+ // Override transform if shape has rotation but we already have a position transform
193
+ ...(typeDefinition.shape === 'diamond' ? { transform: `${positionStyles.transform} rotate(45deg)` } : {}),
157
194
  backgroundColor: '#10b981', // Green for sources
158
195
  color: 'white',
159
196
  fontSize: theme.fontSizes[0],
@@ -173,7 +210,7 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
173
210
  );
174
211
  };
175
212
 
176
- // Render Boundary badge (top-right) - shown instead of sources badge for boundary nodes
213
+ // Render Boundary badge (right/left points) - shown instead of sources badge for boundary nodes
177
214
  const renderBoundaryBadge = () => {
178
215
  const boundary = nodeData?.boundary as { direction?: 'outbound' | 'inbound'; node?: Record<string, string> } | undefined;
179
216
  if (!boundary) return null;
@@ -185,12 +222,13 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
185
222
  const directionIcon = isOutbound ? '↗' : '↙';
186
223
  const directionTitle = isOutbound ? 'Outbound boundary (calls external system)' : 'Inbound boundary (called by external system)';
187
224
 
225
+ const positionStyles = getBadgePosition(isOutbound ? 'right' : 'left');
226
+
188
227
  return (
189
228
  <div
190
229
  style={{
191
230
  position: 'absolute',
192
- top: -6,
193
- right: -6,
231
+ ...positionStyles,
194
232
  width: 18,
195
233
  height: 18,
196
234
  borderRadius: '50%', // Always circular for boundary badge
@@ -216,7 +254,7 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
216
254
  // Check if this is a boundary node
217
255
  const isBoundaryNode = nodeData?.nodeType === 'boundary';
218
256
 
219
- // Render Status badge (top-left)
257
+ // Render Status badge (top-left, or top point for diamonds)
220
258
  const renderStatusBadge = () => {
221
259
  const status = nodeData?.status as 'draft' | 'approved' | 'implemented' | undefined;
222
260
  if (!status) return null;
@@ -241,14 +279,16 @@ export const CustomNode: React.FC<NodeProps<Node<CustomNodeData>>> = ({ data, se
241
279
  };
242
280
 
243
281
  const shapeStyles = getBadgeShapeStyles();
282
+ const positionStyles = getBadgePosition('top-left');
244
283
 
245
284
  return (
246
285
  <div
247
286
  style={{
248
287
  position: 'absolute',
249
- top: -6,
250
- left: -6,
288
+ ...positionStyles,
251
289
  ...shapeStyles,
290
+ // Override transform if shape has rotation but we already have a position transform
291
+ ...(typeDefinition.shape === 'diamond' ? { transform: `${positionStyles.transform} rotate(45deg)` } : {}),
252
292
  backgroundColor: statusColors[status],
253
293
  color: 'white',
254
294
  fontSize: theme.fontSizes[0],
@@ -0,0 +1,445 @@
1
+ import React from 'react';
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ import { GraphRenderer } from '../components/GraphRenderer';
4
+ import type { ExtendedCanvas } from '@principal-ai/principal-view-core';
5
+ import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
6
+
7
+ const meta = {
8
+ title: 'Audit/DiamondBadges',
9
+ component: GraphRenderer,
10
+ parameters: {
11
+ layout: 'centered',
12
+ },
13
+ tags: ['autodocs'],
14
+ decorators: [
15
+ (Story) => (
16
+ <ThemeProvider theme={defaultEditorTheme}>
17
+ <Story />
18
+ </ThemeProvider>
19
+ ),
20
+ ],
21
+ } satisfies Meta<typeof GraphRenderer>;
22
+
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+
26
+ /**
27
+ * Canvas showing diamond badge positioning at diamond corners
28
+ */
29
+ const diamondBadgesCanvas: ExtendedCanvas = {
30
+ nodes: [
31
+ // Diamond with status badge (top point)
32
+ {
33
+ id: 'diamond-status',
34
+ type: 'text',
35
+ x: 100,
36
+ y: 100,
37
+ width: 100,
38
+ height: 100,
39
+ text: 'Status',
40
+ color: 2, // orange
41
+ pv: {
42
+ nodeType: 'decision',
43
+ shape: 'diamond',
44
+ icon: 'GitBranch',
45
+ status: 'draft',
46
+ },
47
+ },
48
+ // Diamond with sources badge (right point)
49
+ {
50
+ id: 'diamond-sources',
51
+ type: 'text',
52
+ x: 280,
53
+ y: 100,
54
+ width: 100,
55
+ height: 100,
56
+ text: 'Sources',
57
+ color: 4, // green
58
+ pv: {
59
+ nodeType: 'decision',
60
+ shape: 'diamond',
61
+ icon: 'FileCode',
62
+ sources: ['src/decisions/router.ts'],
63
+ },
64
+ },
65
+ // Diamond with boundary outbound badge (right point)
66
+ {
67
+ id: 'diamond-boundary-out',
68
+ type: 'text',
69
+ x: 460,
70
+ y: 100,
71
+ width: 100,
72
+ height: 100,
73
+ text: 'Out',
74
+ color: 5, // cyan
75
+ pv: {
76
+ nodeType: 'boundary',
77
+ shape: 'diamond',
78
+ icon: 'ArrowUpRight',
79
+ boundary: {
80
+ direction: 'outbound',
81
+ node: { 'pv.event.name': 'external.call' },
82
+ },
83
+ },
84
+ },
85
+ // Diamond with boundary inbound badge (left point)
86
+ {
87
+ id: 'diamond-boundary-in',
88
+ type: 'text',
89
+ x: 640,
90
+ y: 100,
91
+ width: 100,
92
+ height: 100,
93
+ text: 'In',
94
+ color: 5, // cyan
95
+ pv: {
96
+ nodeType: 'boundary',
97
+ shape: 'diamond',
98
+ icon: 'ArrowDownLeft',
99
+ boundary: {
100
+ direction: 'inbound',
101
+ node: { 'pv.event.name': 'webhook.received' },
102
+ },
103
+ },
104
+ },
105
+ // Diamond with both status and sources badges
106
+ {
107
+ id: 'diamond-both',
108
+ type: 'text',
109
+ x: 100,
110
+ y: 280,
111
+ width: 100,
112
+ height: 100,
113
+ text: 'Both',
114
+ color: 6, // purple
115
+ pv: {
116
+ nodeType: 'decision',
117
+ shape: 'diamond',
118
+ icon: 'Layers',
119
+ status: 'approved',
120
+ sources: ['src/core/decision.ts'],
121
+ },
122
+ },
123
+ // Larger diamond with badges
124
+ {
125
+ id: 'diamond-large',
126
+ type: 'text',
127
+ x: 280,
128
+ y: 250,
129
+ width: 150,
130
+ height: 150,
131
+ text: 'Large',
132
+ color: 2,
133
+ pv: {
134
+ nodeType: 'decision',
135
+ shape: 'diamond',
136
+ icon: 'Maximize',
137
+ status: 'implemented',
138
+ sources: ['src/large.ts'],
139
+ },
140
+ },
141
+ // Small diamond with badges
142
+ {
143
+ id: 'diamond-small',
144
+ type: 'text',
145
+ x: 500,
146
+ y: 290,
147
+ width: 70,
148
+ height: 70,
149
+ text: 'S',
150
+ color: 4,
151
+ pv: {
152
+ nodeType: 'decision',
153
+ shape: 'diamond',
154
+ icon: 'Minimize',
155
+ status: 'draft',
156
+ sources: ['src/small.ts'],
157
+ },
158
+ },
159
+ ],
160
+ edges: [],
161
+ pv: {
162
+ version: '1.0.0',
163
+ name: 'Diamond Badge Positioning',
164
+ description: 'Demonstrates badge placement at diamond corners',
165
+ edgeTypes: {},
166
+ },
167
+ };
168
+
169
+ export const BadgePositioning: Story = {
170
+ args: {
171
+ canvas: diamondBadgesCanvas,
172
+ width: 850,
173
+ height: 500,
174
+ },
175
+ parameters: {
176
+ docs: {
177
+ description: {
178
+ story: `
179
+ **Diamond Badge Positioning**
180
+
181
+ Badges on diamond shapes are positioned at the actual diamond corners (points), not at the rectangular bounding box corners:
182
+
183
+ - **Status badge** (D/A/I): Positioned at the **LEFT point** of the diamond
184
+ - **Sources badge** (S): Positioned at the **RIGHT point** of the diamond
185
+ - **Boundary outbound** (↗): Positioned at the **RIGHT point**
186
+ - **Boundary inbound** (↙): Positioned at the **LEFT point**
187
+
188
+ This ensures badges sit directly on the visible shape rather than floating in empty space.
189
+
190
+ **Row 1**: Individual badge types
191
+ **Row 2**: Combined badges and size variations
192
+ `,
193
+ },
194
+ },
195
+ },
196
+ };
197
+
198
+ /**
199
+ * Compare badge positioning across all shapes
200
+ */
201
+ const shapeComparisonCanvas: ExtendedCanvas = {
202
+ nodes: [
203
+ // Rectangle with badges
204
+ {
205
+ id: 'rect-badges',
206
+ type: 'text',
207
+ x: 100,
208
+ y: 100,
209
+ width: 120,
210
+ height: 80,
211
+ text: 'Rectangle',
212
+ color: 6,
213
+ pv: {
214
+ nodeType: 'event',
215
+ shape: 'rectangle',
216
+ icon: 'Square',
217
+ status: 'draft',
218
+ sources: ['src/rect.ts'],
219
+ },
220
+ },
221
+ // Circle with badges
222
+ {
223
+ id: 'circle-badges',
224
+ type: 'text',
225
+ x: 280,
226
+ y: 100,
227
+ width: 100,
228
+ height: 100,
229
+ text: 'Circle',
230
+ color: 5,
231
+ pv: {
232
+ nodeType: 'event',
233
+ shape: 'circle',
234
+ icon: 'Circle',
235
+ status: 'approved',
236
+ sources: ['src/circle.ts'],
237
+ },
238
+ },
239
+ // Hexagon with badges
240
+ {
241
+ id: 'hex-badges',
242
+ type: 'text',
243
+ x: 440,
244
+ y: 100,
245
+ width: 120,
246
+ height: 100,
247
+ text: 'Hexagon',
248
+ color: 4,
249
+ pv: {
250
+ nodeType: 'event',
251
+ shape: 'hexagon',
252
+ icon: 'Hexagon',
253
+ status: 'implemented',
254
+ sources: ['src/hex.ts'],
255
+ },
256
+ },
257
+ // Diamond with badges
258
+ {
259
+ id: 'diamond-badges',
260
+ type: 'text',
261
+ x: 620,
262
+ y: 100,
263
+ width: 100,
264
+ height: 100,
265
+ text: 'Diamond',
266
+ color: 2,
267
+ pv: {
268
+ nodeType: 'event',
269
+ shape: 'diamond',
270
+ icon: 'Diamond',
271
+ status: 'draft',
272
+ sources: ['src/diamond.ts'],
273
+ },
274
+ },
275
+ ],
276
+ edges: [],
277
+ pv: {
278
+ version: '1.0.0',
279
+ name: 'Shape Badge Comparison',
280
+ description: 'Compare badge positioning across all shapes',
281
+ edgeTypes: {},
282
+ },
283
+ };
284
+
285
+ export const ShapeComparison: Story = {
286
+ args: {
287
+ canvas: shapeComparisonCanvas,
288
+ width: 850,
289
+ height: 300,
290
+ },
291
+ parameters: {
292
+ docs: {
293
+ description: {
294
+ story: `
295
+ **Badge Positioning Across Shapes**
296
+
297
+ Compare how badges are positioned on different shapes:
298
+
299
+ - **Rectangle**: Badges at top-left and top-right corners of the bounding box
300
+ - **Circle**: Badges at top-left and top-right corners of the bounding box
301
+ - **Hexagon**: Badges at top-left and top-right corners of the bounding box
302
+ - **Diamond**: Badges at the LEFT point (status) and RIGHT point (sources) of the diamond shape
303
+
304
+ The diamond positioning ensures badges appear on the visible shape rather than floating in the empty corners of the bounding box.
305
+ `,
306
+ },
307
+ },
308
+ },
309
+ };
310
+
311
+ /**
312
+ * Diamond boundary nodes in workflow
313
+ */
314
+ const diamondWorkflowCanvas: ExtendedCanvas = {
315
+ nodes: [
316
+ {
317
+ id: 'start',
318
+ type: 'text',
319
+ x: 100,
320
+ y: 150,
321
+ width: 100,
322
+ height: 60,
323
+ text: 'Request',
324
+ color: 4,
325
+ pv: {
326
+ nodeType: 'event',
327
+ shape: 'rectangle',
328
+ icon: 'Play',
329
+ },
330
+ },
331
+ {
332
+ id: 'decision',
333
+ type: 'text',
334
+ x: 280,
335
+ y: 130,
336
+ width: 100,
337
+ height: 100,
338
+ text: 'Route?',
339
+ color: 2,
340
+ pv: {
341
+ nodeType: 'decision',
342
+ shape: 'diamond',
343
+ icon: 'GitBranch',
344
+ status: 'implemented',
345
+ },
346
+ },
347
+ {
348
+ id: 'external-call',
349
+ type: 'text',
350
+ x: 460,
351
+ y: 50,
352
+ width: 100,
353
+ height: 100,
354
+ text: 'API',
355
+ color: 5,
356
+ pv: {
357
+ nodeType: 'boundary',
358
+ shape: 'diamond',
359
+ icon: 'Cloud',
360
+ boundary: {
361
+ direction: 'outbound',
362
+ node: { 'pv.event.name': 'api.call' },
363
+ },
364
+ },
365
+ },
366
+ {
367
+ id: 'internal',
368
+ type: 'text',
369
+ x: 460,
370
+ y: 200,
371
+ width: 100,
372
+ height: 60,
373
+ text: 'Cache',
374
+ color: 4,
375
+ pv: {
376
+ nodeType: 'event',
377
+ shape: 'rectangle',
378
+ icon: 'Database',
379
+ sources: ['src/cache.ts'],
380
+ },
381
+ },
382
+ {
383
+ id: 'end',
384
+ type: 'text',
385
+ x: 640,
386
+ y: 130,
387
+ width: 100,
388
+ height: 100,
389
+ text: 'Done',
390
+ color: 4,
391
+ pv: {
392
+ nodeType: 'decision',
393
+ shape: 'diamond',
394
+ icon: 'CheckCircle',
395
+ status: 'approved',
396
+ },
397
+ },
398
+ ],
399
+ edges: [
400
+ { id: 'e1', fromNode: 'start', toNode: 'decision', fromSide: 'right', toSide: 'left' },
401
+ { id: 'e2', fromNode: 'decision', toNode: 'external-call', fromSide: 'top', toSide: 'left' },
402
+ { id: 'e3', fromNode: 'decision', toNode: 'internal', fromSide: 'bottom', toSide: 'left' },
403
+ { id: 'e4', fromNode: 'external-call', toNode: 'end', fromSide: 'right', toSide: 'top' },
404
+ { id: 'e5', fromNode: 'internal', toNode: 'end', fromSide: 'right', toSide: 'bottom' },
405
+ ],
406
+ pv: {
407
+ version: '1.0.0',
408
+ name: 'Diamond Workflow',
409
+ description: 'Workflow with diamond decision and boundary nodes',
410
+ edgeTypes: {
411
+ default: {
412
+ style: 'solid',
413
+ color: '#888',
414
+ directed: true,
415
+ },
416
+ },
417
+ },
418
+ };
419
+
420
+ export const WorkflowWithDiamonds: Story = {
421
+ args: {
422
+ canvas: diamondWorkflowCanvas,
423
+ width: 850,
424
+ height: 400,
425
+ },
426
+ parameters: {
427
+ docs: {
428
+ description: {
429
+ story: `
430
+ **Diamond Nodes in Workflow Context**
431
+
432
+ Shows diamond-shaped decision and boundary nodes in a realistic workflow:
433
+
434
+ 1. **Request** starts the flow
435
+ 2. **Route?** diamond decision point with status badge at left point
436
+ 3. **API** diamond boundary node with outbound badge at right point
437
+ 4. **Cache** rectangle for internal operation
438
+ 5. **Done** diamond with status badge at left point
439
+
440
+ The badges on diamond nodes are positioned at the actual points of the diamond shape.
441
+ `,
442
+ },
443
+ },
444
+ },
445
+ };