@principal-ai/subsystems-react 0.21.0 → 0.22.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 (267) hide show
  1. package/dist/graphify/consolidated.d.ts +5 -24
  2. package/dist/graphify/consolidated.d.ts.map +1 -1
  3. package/dist/graphify/index.d.ts +1 -1
  4. package/dist/graphify/index.d.ts.map +1 -1
  5. package/dist/graphify/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/pierre/PierreSnippetView.d.ts.map +1 -1
  10. package/dist/pierre/PierreSnippetView.js +4 -19
  11. package/dist/pierre/PierreSnippetView.js.map +1 -1
  12. package/dist/pierre/PierreWalkthroughCodeView.d.ts.map +1 -1
  13. package/dist/pierre/PierreWalkthroughCodeView.js +20 -3
  14. package/dist/pierre/PierreWalkthroughCodeView.js.map +1 -1
  15. package/dist/pierre/constructColors.d.ts.map +1 -1
  16. package/dist/pierre/constructColors.js +0 -5
  17. package/dist/pierre/constructColors.js.map +1 -1
  18. package/dist/pierre/index.d.ts +1 -1
  19. package/dist/pierre/index.d.ts.map +1 -1
  20. package/dist/pierre/index.js +1 -1
  21. package/dist/pierre/index.js.map +1 -1
  22. package/dist/pierre/sliceSnippet.d.ts +6 -0
  23. package/dist/pierre/sliceSnippet.d.ts.map +1 -1
  24. package/dist/pierre/sliceSnippet.js +25 -0
  25. package/dist/pierre/sliceSnippet.js.map +1 -1
  26. package/dist/stories/Subsystem/ComponentGraph/fixtures.d.ts.map +1 -1
  27. package/dist/stories/Subsystem/ComponentGraph/fixtures.js +0 -3
  28. package/dist/stories/Subsystem/ComponentGraph/fixtures.js.map +1 -1
  29. package/dist/subsystem/formatDeclaration.d.ts.map +1 -1
  30. package/dist/subsystem/formatDeclaration.js +0 -15
  31. package/dist/subsystem/formatDeclaration.js.map +1 -1
  32. package/dist/subsystem/model.d.ts +61 -22
  33. package/dist/subsystem/model.d.ts.map +1 -1
  34. package/dist/subsystem/model.js +186 -63
  35. package/dist/subsystem/model.js.map +1 -1
  36. package/dist/subsystem/nodes.d.ts +3 -4
  37. package/dist/subsystem/nodes.d.ts.map +1 -1
  38. package/dist/subsystem/nodes.js +5 -6
  39. package/dist/subsystem/nodes.js.map +1 -1
  40. package/dist/utils/elkLayout.d.ts +6 -4
  41. package/dist/utils/elkLayout.d.ts.map +1 -1
  42. package/dist/utils/elkLayout.js +144 -54
  43. package/dist/utils/elkLayout.js.map +1 -1
  44. package/package.json +3 -3
  45. package/src/graphify/consolidated.ts +4 -26
  46. package/src/graphify/index.ts +0 -2
  47. package/src/index.ts +0 -2
  48. package/src/pierre/PierreSnippetView.tsx +4 -18
  49. package/src/pierre/PierreWalkthroughCodeView.tsx +39 -3
  50. package/src/pierre/constructColors.test.ts +1 -2
  51. package/src/pierre/constructColors.ts +0 -5
  52. package/src/pierre/index.ts +1 -1
  53. package/src/pierre/sliceSnippet.test.ts +44 -1
  54. package/src/pierre/sliceSnippet.ts +28 -0
  55. package/src/stories/Subsystem/ComponentDeclarationAudit.stories.tsx +0 -31
  56. package/src/stories/Subsystem/ComponentGraph/Appearance.stories.tsx +2 -46
  57. package/src/stories/Subsystem/ComponentGraph/Captures.stories.tsx +9 -24
  58. package/src/stories/Subsystem/ComponentGraph/DetailPanel.stories.tsx +2 -2
  59. package/src/stories/Subsystem/ComponentGraph/Modules.stories.tsx +287 -0
  60. package/src/stories/Subsystem/ComponentGraph/Processes.stories.tsx +1 -1
  61. package/src/stories/Subsystem/ComponentGraph/Scenarios.stories.tsx +6 -6
  62. package/src/stories/Subsystem/ComponentGraph/fixtures.ts +0 -3
  63. package/src/subsystem/formatDeclaration.ts +0 -19
  64. package/src/subsystem/model.test.ts +190 -9
  65. package/src/subsystem/model.ts +219 -73
  66. package/src/subsystem/nodes.tsx +6 -6
  67. package/src/utils/elkLayout.ts +148 -58
  68. package/dist/components/ConfigurationSelector.d.ts +0 -35
  69. package/dist/components/ConfigurationSelector.d.ts.map +0 -1
  70. package/dist/components/ConfigurationSelector.js +0 -63
  71. package/dist/components/ConfigurationSelector.js.map +0 -1
  72. package/dist/components/GraphRenderer.d.ts +0 -295
  73. package/dist/components/GraphRenderer.d.ts.map +0 -1
  74. package/dist/components/GraphRenderer.js +0 -2008
  75. package/dist/components/GraphRenderer.js.map +0 -1
  76. package/dist/components/MultiCanvasRenderer.d.ts +0 -75
  77. package/dist/components/MultiCanvasRenderer.d.ts.map +0 -1
  78. package/dist/components/MultiCanvasRenderer.js +0 -203
  79. package/dist/components/MultiCanvasRenderer.js.map +0 -1
  80. package/dist/components/NodeTooltip.d.ts +0 -24
  81. package/dist/components/NodeTooltip.d.ts.map +0 -1
  82. package/dist/components/NodeTooltip.js +0 -160
  83. package/dist/components/NodeTooltip.js.map +0 -1
  84. package/dist/components/SelectionSidebar.d.ts +0 -18
  85. package/dist/components/SelectionSidebar.d.ts.map +0 -1
  86. package/dist/components/SelectionSidebar.js +0 -190
  87. package/dist/components/SelectionSidebar.js.map +0 -1
  88. package/dist/components/SequenceDiagramRenderer.d.ts +0 -77
  89. package/dist/components/SequenceDiagramRenderer.d.ts.map +0 -1
  90. package/dist/components/SequenceDiagramRenderer.js +0 -604
  91. package/dist/components/SequenceDiagramRenderer.js.map +0 -1
  92. package/dist/components/WorkflowSequenceDiagram.d.ts +0 -63
  93. package/dist/components/WorkflowSequenceDiagram.d.ts.map +0 -1
  94. package/dist/components/WorkflowSequenceDiagram.js +0 -147
  95. package/dist/components/WorkflowSequenceDiagram.js.map +0 -1
  96. package/dist/components/dashboard/DashboardRenderer.d.ts +0 -10
  97. package/dist/components/dashboard/DashboardRenderer.d.ts.map +0 -1
  98. package/dist/components/dashboard/DashboardRenderer.js +0 -179
  99. package/dist/components/dashboard/DashboardRenderer.js.map +0 -1
  100. package/dist/components/dashboard/MetricPanel.d.ts +0 -10
  101. package/dist/components/dashboard/MetricPanel.d.ts.map +0 -1
  102. package/dist/components/dashboard/MetricPanel.js +0 -103
  103. package/dist/components/dashboard/MetricPanel.js.map +0 -1
  104. package/dist/components/dashboard/MockDataProvider.d.ts +0 -30
  105. package/dist/components/dashboard/MockDataProvider.d.ts.map +0 -1
  106. package/dist/components/dashboard/MockDataProvider.js +0 -270
  107. package/dist/components/dashboard/MockDataProvider.js.map +0 -1
  108. package/dist/components/dashboard/components/BarChart.d.ts +0 -10
  109. package/dist/components/dashboard/components/BarChart.d.ts.map +0 -1
  110. package/dist/components/dashboard/components/BarChart.js +0 -167
  111. package/dist/components/dashboard/components/BarChart.js.map +0 -1
  112. package/dist/components/dashboard/components/LineChart.d.ts +0 -10
  113. package/dist/components/dashboard/components/LineChart.d.ts.map +0 -1
  114. package/dist/components/dashboard/components/LineChart.js +0 -141
  115. package/dist/components/dashboard/components/LineChart.js.map +0 -1
  116. package/dist/components/dashboard/components/MetricCard.d.ts +0 -9
  117. package/dist/components/dashboard/components/MetricCard.d.ts.map +0 -1
  118. package/dist/components/dashboard/components/MetricCard.js +0 -163
  119. package/dist/components/dashboard/components/MetricCard.js.map +0 -1
  120. package/dist/components/dashboard/components/SourceLink.d.ts +0 -9
  121. package/dist/components/dashboard/components/SourceLink.d.ts.map +0 -1
  122. package/dist/components/dashboard/components/SourceLink.js +0 -39
  123. package/dist/components/dashboard/components/SourceLink.js.map +0 -1
  124. package/dist/components/dashboard/components/TimeRangeSelector.d.ts +0 -9
  125. package/dist/components/dashboard/components/TimeRangeSelector.d.ts.map +0 -1
  126. package/dist/components/dashboard/components/TimeRangeSelector.js +0 -167
  127. package/dist/components/dashboard/components/TimeRangeSelector.js.map +0 -1
  128. package/dist/components/dashboard/components/index.d.ts +0 -6
  129. package/dist/components/dashboard/components/index.d.ts.map +0 -1
  130. package/dist/components/dashboard/components/index.js +0 -6
  131. package/dist/components/dashboard/components/index.js.map +0 -1
  132. package/dist/components/dashboard/index.d.ts +0 -6
  133. package/dist/components/dashboard/index.d.ts.map +0 -1
  134. package/dist/components/dashboard/index.js +0 -8
  135. package/dist/components/dashboard/index.js.map +0 -1
  136. package/dist/components/dashboard/types.d.ts +0 -74
  137. package/dist/components/dashboard/types.d.ts.map +0 -1
  138. package/dist/components/dashboard/types.js +0 -8
  139. package/dist/components/dashboard/types.js.map +0 -1
  140. package/dist/components/state-view/PipelineView.d.ts +0 -14
  141. package/dist/components/state-view/PipelineView.d.ts.map +0 -1
  142. package/dist/components/state-view/PipelineView.js +0 -195
  143. package/dist/components/state-view/PipelineView.js.map +0 -1
  144. package/dist/components/state-view/index.d.ts +0 -14
  145. package/dist/components/state-view/index.d.ts.map +0 -1
  146. package/dist/components/state-view/index.js +0 -12
  147. package/dist/components/state-view/index.js.map +0 -1
  148. package/dist/components/state-view/types.d.ts +0 -188
  149. package/dist/components/state-view/types.d.ts.map +0 -1
  150. package/dist/components/state-view/types.js +0 -10
  151. package/dist/components/state-view/types.js.map +0 -1
  152. package/dist/components/state-view/useStateView.d.ts +0 -32
  153. package/dist/components/state-view/useStateView.d.ts.map +0 -1
  154. package/dist/components/state-view/useStateView.js +0 -129
  155. package/dist/components/state-view/useStateView.js.map +0 -1
  156. package/dist/contexts/GraphEditContext.d.ts +0 -20
  157. package/dist/contexts/GraphEditContext.d.ts.map +0 -1
  158. package/dist/contexts/GraphEditContext.js +0 -8
  159. package/dist/contexts/GraphEditContext.js.map +0 -1
  160. package/dist/contexts/TooltipPortalContext.d.ts +0 -8
  161. package/dist/contexts/TooltipPortalContext.d.ts.map +0 -1
  162. package/dist/contexts/TooltipPortalContext.js +0 -8
  163. package/dist/contexts/TooltipPortalContext.js.map +0 -1
  164. package/dist/edges/CustomEdge.d.ts +0 -24
  165. package/dist/edges/CustomEdge.d.ts.map +0 -1
  166. package/dist/edges/CustomEdge.js +0 -222
  167. package/dist/edges/CustomEdge.js.map +0 -1
  168. package/dist/edges/GenericEdge.d.ts +0 -18
  169. package/dist/edges/GenericEdge.d.ts.map +0 -1
  170. package/dist/edges/GenericEdge.js +0 -10
  171. package/dist/edges/GenericEdge.js.map +0 -1
  172. package/dist/graphify/kind.d.ts +0 -23
  173. package/dist/graphify/kind.d.ts.map +0 -1
  174. package/dist/graphify/kind.js +0 -77
  175. package/dist/graphify/kind.js.map +0 -1
  176. package/dist/hooks/usePathBasedEvents.d.ts +0 -42
  177. package/dist/hooks/usePathBasedEvents.d.ts.map +0 -1
  178. package/dist/hooks/usePathBasedEvents.js +0 -119
  179. package/dist/hooks/usePathBasedEvents.js.map +0 -1
  180. package/dist/hooks/useSequenceLayout.d.ts +0 -186
  181. package/dist/hooks/useSequenceLayout.d.ts.map +0 -1
  182. package/dist/hooks/useSequenceLayout.js +0 -327
  183. package/dist/hooks/useSequenceLayout.js.map +0 -1
  184. package/dist/hooks/useUndoRedo.d.ts +0 -80
  185. package/dist/hooks/useUndoRedo.d.ts.map +0 -1
  186. package/dist/hooks/useUndoRedo.js +0 -70
  187. package/dist/hooks/useUndoRedo.js.map +0 -1
  188. package/dist/nodes/CustomNode.d.ts +0 -28
  189. package/dist/nodes/CustomNode.d.ts.map +0 -1
  190. package/dist/nodes/CustomNode.js +0 -820
  191. package/dist/nodes/CustomNode.js.map +0 -1
  192. package/dist/nodes/GenericNode.d.ts +0 -20
  193. package/dist/nodes/GenericNode.d.ts.map +0 -1
  194. package/dist/nodes/GenericNode.js +0 -20
  195. package/dist/nodes/GenericNode.js.map +0 -1
  196. package/dist/nodes/otel/OtelBoundaryNode.d.ts +0 -55
  197. package/dist/nodes/otel/OtelBoundaryNode.d.ts.map +0 -1
  198. package/dist/nodes/otel/OtelBoundaryNode.js +0 -81
  199. package/dist/nodes/otel/OtelBoundaryNode.js.map +0 -1
  200. package/dist/nodes/otel/OtelEventNode.d.ts +0 -59
  201. package/dist/nodes/otel/OtelEventNode.d.ts.map +0 -1
  202. package/dist/nodes/otel/OtelEventNode.js +0 -82
  203. package/dist/nodes/otel/OtelEventNode.js.map +0 -1
  204. package/dist/nodes/otel/OtelResourceNode.d.ts +0 -53
  205. package/dist/nodes/otel/OtelResourceNode.d.ts.map +0 -1
  206. package/dist/nodes/otel/OtelResourceNode.js +0 -105
  207. package/dist/nodes/otel/OtelResourceNode.js.map +0 -1
  208. package/dist/nodes/otel/OtelScopeNode.d.ts +0 -53
  209. package/dist/nodes/otel/OtelScopeNode.d.ts.map +0 -1
  210. package/dist/nodes/otel/OtelScopeNode.js +0 -81
  211. package/dist/nodes/otel/OtelScopeNode.js.map +0 -1
  212. package/dist/nodes/otel/OtelSpanConventionNode.d.ts +0 -61
  213. package/dist/nodes/otel/OtelSpanConventionNode.d.ts.map +0 -1
  214. package/dist/nodes/otel/OtelSpanConventionNode.js +0 -131
  215. package/dist/nodes/otel/OtelSpanConventionNode.js.map +0 -1
  216. package/dist/nodes/otel/index.d.ts +0 -17
  217. package/dist/nodes/otel/index.d.ts.map +0 -1
  218. package/dist/nodes/otel/index.js +0 -13
  219. package/dist/nodes/otel/index.js.map +0 -1
  220. package/dist/nodes/otel/shared/NodeBadges.d.ts +0 -10
  221. package/dist/nodes/otel/shared/NodeBadges.d.ts.map +0 -1
  222. package/dist/nodes/otel/shared/NodeBadges.js +0 -178
  223. package/dist/nodes/otel/shared/NodeBadges.js.map +0 -1
  224. package/dist/nodes/otel/shared/NodeContent.d.ts +0 -10
  225. package/dist/nodes/otel/shared/NodeContent.d.ts.map +0 -1
  226. package/dist/nodes/otel/shared/NodeContent.js +0 -96
  227. package/dist/nodes/otel/shared/NodeContent.js.map +0 -1
  228. package/dist/nodes/otel/shared/index.d.ts +0 -8
  229. package/dist/nodes/otel/shared/index.d.ts.map +0 -1
  230. package/dist/nodes/otel/shared/index.js +0 -8
  231. package/dist/nodes/otel/shared/index.js.map +0 -1
  232. package/dist/nodes/otel/shared/types.d.ts +0 -129
  233. package/dist/nodes/otel/shared/types.d.ts.map +0 -1
  234. package/dist/nodes/otel/shared/types.js +0 -5
  235. package/dist/nodes/otel/shared/types.js.map +0 -1
  236. package/dist/nodes/otel/shared/useNodeBehavior.d.ts +0 -42
  237. package/dist/nodes/otel/shared/useNodeBehavior.d.ts.map +0 -1
  238. package/dist/nodes/otel/shared/useNodeBehavior.js +0 -61
  239. package/dist/nodes/otel/shared/useNodeBehavior.js.map +0 -1
  240. package/dist/pierre/PierreThroughlineCodeView.d.ts +0 -22
  241. package/dist/pierre/PierreThroughlineCodeView.d.ts.map +0 -1
  242. package/dist/pierre/PierreThroughlineCodeView.js +0 -206
  243. package/dist/pierre/PierreThroughlineCodeView.js.map +0 -1
  244. package/dist/subsystem/SubsystemCarousel.d.ts +0 -36
  245. package/dist/subsystem/SubsystemCarousel.d.ts.map +0 -1
  246. package/dist/subsystem/SubsystemCarousel.js +0 -163
  247. package/dist/subsystem/SubsystemCarousel.js.map +0 -1
  248. package/dist/utils/animationMapping.d.ts +0 -53
  249. package/dist/utils/animationMapping.d.ts.map +0 -1
  250. package/dist/utils/animationMapping.js +0 -126
  251. package/dist/utils/animationMapping.js.map +0 -1
  252. package/dist/utils/canvasBounds.d.ts +0 -50
  253. package/dist/utils/canvasBounds.d.ts.map +0 -1
  254. package/dist/utils/canvasBounds.js +0 -88
  255. package/dist/utils/canvasBounds.js.map +0 -1
  256. package/dist/utils/graphConverter.d.ts +0 -18
  257. package/dist/utils/graphConverter.d.ts.map +0 -1
  258. package/dist/utils/graphConverter.js +0 -114
  259. package/dist/utils/graphConverter.js.map +0 -1
  260. package/dist/utils/iconResolver.d.ts +0 -29
  261. package/dist/utils/iconResolver.d.ts.map +0 -1
  262. package/dist/utils/iconResolver.js +0 -30
  263. package/dist/utils/iconResolver.js.map +0 -1
  264. package/dist/utils/orientationUtils.d.ts +0 -19
  265. package/dist/utils/orientationUtils.d.ts.map +0 -1
  266. package/dist/utils/orientationUtils.js +0 -62
  267. package/dist/utils/orientationUtils.js.map +0 -1
@@ -1,96 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useTheme } from '@principal-ade/industry-theme';
3
- import { resolveIcon } from '../../../utils/iconResolver';
4
- /**
5
- * Helper to render text with word break opportunities after dots
6
- */
7
- function renderWithDotBreaks(text) {
8
- const parts = text.split('.');
9
- return parts.map((part, i) => (_jsxs("span", { children: [part, i < parts.length - 1 && (_jsxs(_Fragment, { children: [".", _jsx("wbr", {})] }))] }, i)));
10
- }
11
- /**
12
- * Workflow chips component for span convention nodes
13
- */
14
- const WorkflowChips = ({ chips, onChipClick, selectedChipId }) => {
15
- const { theme } = useTheme();
16
- if (!chips || chips.length === 0)
17
- return null;
18
- // Show max 3 chips, then "+N more"
19
- const maxVisible = 3;
20
- const visibleChips = chips.slice(0, maxVisible);
21
- const remainingCount = chips.length - maxVisible;
22
- return (_jsxs("div", { style: {
23
- display: 'flex',
24
- flexWrap: 'wrap',
25
- gap: '3px',
26
- marginTop: '4px',
27
- justifyContent: 'center',
28
- maxWidth: '100%',
29
- }, children: [visibleChips.map((chip) => {
30
- const isSelected = selectedChipId === chip.id;
31
- const hasColor = !!chip.color;
32
- return (_jsx("div", { onClick: (e) => {
33
- e.stopPropagation();
34
- onChipClick?.(chip.id);
35
- }, style: {
36
- fontSize: theme.fontSizes[0] * 0.65,
37
- padding: '1px 5px',
38
- borderRadius: '6px',
39
- backgroundColor: isSelected
40
- ? chip.color || '#3b82f6'
41
- : chip.color
42
- ? `${chip.color}33` // 20% opacity version
43
- : 'rgba(0,0,0,0.08)',
44
- color: isSelected
45
- ? '#fff'
46
- : hasColor
47
- ? chip.color
48
- : 'rgba(0,0,0,0.6)',
49
- whiteSpace: 'nowrap',
50
- maxWidth: '70px',
51
- overflow: 'hidden',
52
- textOverflow: 'ellipsis',
53
- cursor: onChipClick ? 'pointer' : 'default',
54
- fontWeight: isSelected ? theme.fontWeights.bold : theme.fontWeights.medium,
55
- transition: 'all 0.15s ease',
56
- border: isSelected ? 'none' : `1px solid ${hasColor ? `${chip.color}66` : 'rgba(0,0,0,0.1)'}`,
57
- }, title: chip.label, children: chip.label }, chip.id));
58
- }), remainingCount > 0 && (_jsxs("div", { style: {
59
- fontSize: theme.fontSizes[0] * 0.65,
60
- padding: '1px 5px',
61
- borderRadius: '6px',
62
- backgroundColor: 'rgba(0,0,0,0.05)',
63
- color: 'rgba(0,0,0,0.5)',
64
- whiteSpace: 'nowrap',
65
- }, title: `${remainingCount} more workflow${remainingCount > 1 ? 's' : ''}`, children: ["+", remainingCount] }))] }));
66
- };
67
- /**
68
- * Node content component - renders the inner content of a node
69
- */
70
- export const NodeContent = ({ displayName, identifier, icon, state, stateDefinitions, hasViolations, centered = true, workflowChips, onWorkflowChipClick, selectedWorkflowId, }) => {
71
- const { theme } = useTheme();
72
- // Show identifier if it differs from display name
73
- const showIdentifier = identifier && identifier !== displayName;
74
- // Get state label from definitions
75
- const stateLabel = state && stateDefinitions?.[state]?.label;
76
- return (_jsxs(_Fragment, { children: [icon && (_jsx("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, children: resolveIcon(icon, 20) })), _jsxs("div", { style: { textAlign: centered ? 'center' : 'left', wordBreak: 'break-word' }, children: [_jsx("div", { children: displayName }), showIdentifier && (_jsx("div", { style: {
77
- fontSize: theme.fontSizes[0] * 0.75,
78
- color: 'rgba(0, 0, 0, 0.5)',
79
- marginTop: '2px',
80
- fontFamily: theme.fonts.monospace,
81
- }, children: renderWithDotBreaks(identifier) }))] }), workflowChips && workflowChips.length > 0 && (_jsx(WorkflowChips, { chips: workflowChips, onChipClick: onWorkflowChipClick, selectedChipId: selectedWorkflowId })), state && (_jsx("div", { style: {
82
- fontSize: theme.fontSizes[0],
83
- fontFamily: theme.fonts.body,
84
- backgroundColor: '#888',
85
- color: 'white',
86
- padding: '2px 6px',
87
- borderRadius: '4px',
88
- textAlign: 'center',
89
- }, children: stateLabel || state })), hasViolations && (_jsx("div", { style: {
90
- fontSize: theme.fontSizes[0],
91
- fontFamily: theme.fonts.body,
92
- color: '#D0021B',
93
- fontWeight: theme.fontWeights.bold,
94
- }, children: "\u26A0\uFE0F" }))] }));
95
- };
96
- //# sourceMappingURL=NodeContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeContent.js","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/NodeContent.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Shared components for OTEL node types
3
- */
4
- export * from './types';
5
- export * from './useNodeBehavior';
6
- export { NodeBadges } from './NodeBadges';
7
- export { NodeContent } from './NodeContent';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Shared components for OTEL node types
3
- */
4
- export * from './types';
5
- export * from './useNodeBehavior';
6
- export { NodeBadges } from './NodeBadges';
7
- export { NodeContent } from './NodeContent';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,129 +0,0 @@
1
- /**
2
- * Shared types for OTEL node components
3
- */
4
- /**
5
- * Workflow chip displayed on span convention nodes
6
- */
7
- export interface WorkflowChip {
8
- /** Workflow ID for selection/filtering */
9
- id: string;
10
- /** Display label (may be truncated) */
11
- label: string;
12
- /** Optional color for the chip */
13
- color?: string;
14
- }
15
- /**
16
- * Common node data properties shared across all OTEL node types
17
- */
18
- export interface OtelNodeDataBase {
19
- /** Node color (hex string or preset number) */
20
- color?: string;
21
- /** Scope color for border (from library.yaml owned-scopes) */
22
- scopeColor?: string;
23
- /** Span color for fill (from .spans.canvas) */
24
- spanColor?: string;
25
- /** Explicit stroke color override */
26
- stroke?: string;
27
- /** Icon identifier (Lucide icons) */
28
- icon?: string;
29
- /** Implementation status */
30
- status?: 'draft' | 'approved' | 'implemented';
31
- /** Description for tooltip */
32
- description?: string;
33
- /** Source files where event is instrumented */
34
- sources?: string[];
35
- /** External references/documentation */
36
- references?: string[];
37
- /** Node-level state definitions */
38
- states?: Record<string, {
39
- color?: string;
40
- label?: string;
41
- icon?: string;
42
- }>;
43
- /** Canvas type (e.g., 'group') */
44
- canvasType?: string;
45
- /** Node type identifier */
46
- nodeType?: string;
47
- }
48
- /**
49
- * OTEL extension data
50
- */
51
- export interface OtelExtensionData {
52
- /** Span pattern for span convention nodes */
53
- spanPattern?: string;
54
- /** Scope name for scope nodes */
55
- scope?: string;
56
- /** Resource match for resource nodes */
57
- resourceMatch?: Record<string, string | string[]>;
58
- /** Files where this is instrumented */
59
- files?: string[];
60
- }
61
- /**
62
- * Event data for event nodes
63
- */
64
- export interface EventData {
65
- /** Event name */
66
- name?: string;
67
- /** Event description */
68
- description?: string;
69
- /** Event attributes schema */
70
- attributes?: Record<string, unknown>;
71
- }
72
- /**
73
- * Boundary data for boundary nodes
74
- */
75
- export interface BoundaryData {
76
- /** Direction of boundary interaction */
77
- direction?: 'outbound' | 'inbound';
78
- /** Node query for external system */
79
- node?: Record<string, string>;
80
- }
81
- /**
82
- * Props for shared node content component
83
- */
84
- export interface NodeContentProps {
85
- /** Display name for the node */
86
- displayName: string;
87
- /** Identifier shown below the name (e.g., span pattern, event name) */
88
- identifier?: string;
89
- /** Icon identifier */
90
- icon?: string;
91
- /** Current state */
92
- state?: string;
93
- /** State definitions for label lookup */
94
- stateDefinitions?: Record<string, {
95
- label?: string;
96
- }>;
97
- /** Whether node has violations */
98
- hasViolations?: boolean;
99
- /** Whether to center text (default true) */
100
- centered?: boolean;
101
- /** Workflow chips for span convention nodes */
102
- workflowChips?: WorkflowChip[];
103
- /** Callback when a workflow chip is clicked */
104
- onWorkflowChipClick?: (chipId: string) => void;
105
- /** Currently selected workflow ID */
106
- selectedWorkflowId?: string;
107
- }
108
- /**
109
- * Badge position types
110
- */
111
- export type BadgePosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left' | 'right' | 'top' | 'bottom';
112
- /**
113
- * Props for node badges component
114
- */
115
- export interface NodeBadgesProps {
116
- /** Node shape for position calculations */
117
- shape: 'rectangle' | 'circle' | 'hexagon' | 'diamond';
118
- /** Implementation status */
119
- status?: 'draft' | 'approved' | 'implemented';
120
- /** Source files */
121
- sourceFiles?: string[];
122
- /** References */
123
- references?: string[];
124
- /** Boundary data (for boundary nodes) */
125
- boundary?: BoundaryData;
126
- /** Node opacity for badge visibility */
127
- opacity?: number;
128
- }
129
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Shared types for OTEL node components
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Hook for shared node behavior (resize, hide, hover, tooltip)
3
- */
4
- /// <reference types="react" />
5
- export interface UseNodeBehaviorOptions {
6
- /** Whether the node is in edit mode */
7
- editable?: boolean;
8
- /** Whether tooltips are enabled */
9
- tooltipsEnabled?: boolean;
10
- /** Whether shift key is pressed */
11
- shiftKeyPressed?: boolean;
12
- /** Whether the node is selected */
13
- selected?: boolean;
14
- /** Whether the node is being dragged */
15
- dragging?: boolean;
16
- }
17
- export interface UseNodeBehaviorReturn {
18
- /** Ref for the node element */
19
- nodeRef: React.RefObject<HTMLDivElement>;
20
- /** Node ID from xyflow */
21
- nodeId: string | null;
22
- /** Whether the node is currently hovered */
23
- isHovered: boolean;
24
- /** Whether to show the tooltip */
25
- showTooltip: boolean;
26
- /** Mouse down handler for Cmd/Ctrl+click behavior */
27
- handleMouseDown: (event: React.MouseEvent) => void;
28
- /** Mouse enter handler */
29
- handleMouseEnter: () => void;
30
- /** Mouse leave handler */
31
- handleMouseLeave: () => void;
32
- /** Resize end handler */
33
- handleResizeEnd: (event: unknown, params: {
34
- width: number;
35
- height: number;
36
- }) => void;
37
- }
38
- /**
39
- * Hook that provides common node behavior for resize, hide, hover, and tooltip interactions
40
- */
41
- export declare function useNodeBehavior(options: UseNodeBehaviorOptions): UseNodeBehaviorReturn;
42
- //# sourceMappingURL=useNodeBehavior.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNodeBehavior.d.ts","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/useNodeBehavior.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAMH,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACnD,0BAA0B;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,0BAA0B;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,yBAAyB;IACzB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACtF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAsEtF"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Hook for shared node behavior (resize, hide, hover, tooltip)
3
- */
4
- import { useState, useRef, useCallback } from 'react';
5
- import { useNodeId } from '@xyflow/react';
6
- import { useGraphEdit } from '../../../contexts/GraphEditContext';
7
- /**
8
- * Hook that provides common node behavior for resize, hide, hover, and tooltip interactions
9
- */
10
- export function useNodeBehavior(options) {
11
- const { editable = false, tooltipsEnabled = true, shiftKeyPressed = false, selected = false, dragging = false, } = options;
12
- const nodeRef = useRef(null);
13
- const nodeId = useNodeId();
14
- const [isHovered, setIsHovered] = useState(false);
15
- const { onNodeResizeEnd, onToggleNodeHidden, onHideUnconnectedNodes } = useGraphEdit();
16
- // Handle resize end - notify parent to track the dimension change
17
- const handleResizeEnd = useCallback((_event, params) => {
18
- if (nodeId && onNodeResizeEnd && params.width && params.height) {
19
- onNodeResizeEnd(nodeId, {
20
- width: Math.round(params.width),
21
- height: Math.round(params.height),
22
- });
23
- }
24
- }, [nodeId, onNodeResizeEnd]);
25
- // Handle Cmd/Ctrl+mousedown to toggle hidden state
26
- // We use mousedown instead of click because in edit mode with draggable nodes,
27
- // ReactFlow's drag system intercepts Cmd+click before it becomes a click event
28
- // - Cmd/Ctrl+Shift+click: hide all nodes not directly connected to this node
29
- // - Cmd/Ctrl+click: toggle this single node's hidden state
30
- const handleMouseDown = useCallback((event) => {
31
- if ((event.metaKey || event.ctrlKey) && nodeId) {
32
- event.preventDefault();
33
- event.stopPropagation();
34
- if (event.shiftKey && onHideUnconnectedNodes) {
35
- // Cmd/Ctrl+Shift+click: hide unconnected nodes
36
- onHideUnconnectedNodes(nodeId);
37
- }
38
- else if (onToggleNodeHidden) {
39
- // Cmd/Ctrl+click: toggle single node
40
- onToggleNodeHidden(nodeId);
41
- }
42
- }
43
- }, [nodeId, onToggleNodeHidden, onHideUnconnectedNodes]);
44
- const handleMouseEnter = useCallback(() => setIsHovered(true), []);
45
- const handleMouseLeave = useCallback(() => setIsHovered(false), []);
46
- // Show tooltip when:
47
- // 1. Hovering + not dragging + shift key pressed (always works), OR
48
- // 2. Node is selected AND not in edit mode (read-only selection shows tooltip)
49
- const showTooltip = tooltipsEnabled && ((isHovered && !dragging && shiftKeyPressed) || (!editable && !!selected));
50
- return {
51
- nodeRef,
52
- nodeId,
53
- isHovered,
54
- showTooltip,
55
- handleMouseDown,
56
- handleMouseEnter,
57
- handleMouseLeave,
58
- handleResizeEnd,
59
- };
60
- }
61
- //# sourceMappingURL=useNodeBehavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNodeBehavior.js","sourceRoot":"","sources":["../../../../src/nodes/otel/shared/useNodeBehavior.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAkClE;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,eAAe,GAAG,IAAI,EACtB,eAAe,GAAG,KAAK,EACvB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,YAAY,EAAE,CAAC;IAEvF,kEAAkE;IAClE,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAe,EAAE,MAAyC,EAAE,EAAE;QAC7D,IAAI,MAAM,IAAI,eAAe,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YAC9D,eAAe,CAAC,MAAM,EAAE;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;aAClC,CAAC,CAAC;SACJ;IACH,CAAC,EACD,CAAC,MAAM,EAAE,eAAe,CAAC,CAC1B,CAAC;IAEF,mDAAmD;IACnD,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,KAAuB,EAAE,EAAE;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,KAAK,CAAC,QAAQ,IAAI,sBAAsB,EAAE;gBAC5C,+CAA+C;gBAC/C,sBAAsB,CAAC,MAAM,CAAC,CAAC;aAChC;iBAAM,IAAI,kBAAkB,EAAE;gBAC7B,qCAAqC;gBACrC,kBAAkB,CAAC,MAAM,CAAC,CAAC;aAC5B;SACF;IACH,CAAC,EACD,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,qBAAqB;IACrB,oEAAoE;IACpE,+EAA+E;IAC/E,MAAM,WAAW,GACf,eAAe,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEhG,OAAO;QACL,OAAO;QACP,MAAM;QACN,SAAS;QACT,WAAW;QACX,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * PierreThroughlineCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
3
- *
4
- * Renders one sliced window per throughline step in a single virtualized
5
- * scroll; when `stepIndex` changes, scrolls that step's site line into view
6
- * and highlights it via CodeView `selectedLines` (same mechanism as
7
- * `PierreSnippetView`).
8
- */
9
- /// <reference types="react" />
10
- import type { SubsystemThroughline } from '../subsystem/model';
11
- export interface PierreThroughlineCodeViewProps {
12
- throughline: SubsystemThroughline;
13
- /** Focused step; `null` shows all snippets without scrolling to a step. */
14
- stepIndex: number | null;
15
- readFile: (path: string) => Promise<string>;
16
- /** Context lines above/below each step site; defaults to 8. */
17
- contextLines?: number;
18
- /** Override Pierre's container background. */
19
- background?: string;
20
- }
21
- export declare function PierreThroughlineCodeView({ throughline, stepIndex, readFile, contextLines, background, }: PierreThroughlineCodeViewProps): import("react").JSX.Element;
22
- //# sourceMappingURL=PierreThroughlineCodeView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PierreThroughlineCodeView.d.ts","sourceRoot":"","sources":["../../src/pierre/PierreThroughlineCodeView.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAoBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS/D,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAgB,EAChB,UAAU,GACX,EAAE,8BAA8B,+BAiPhC"}
@@ -1,206 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * PierreThroughlineCodeView — multi-file step snippets via `@pierre/diffs` CodeView.
4
- *
5
- * Renders one sliced window per throughline step in a single virtualized
6
- * scroll; when `stepIndex` changes, scrolls that step's site line into view
7
- * and highlights it via CodeView `selectedLines` (same mechanism as
8
- * `PierreSnippetView`).
9
- */
10
- import { useEffect, useMemo, useRef, useState } from 'react';
11
- import { CodeView, } from '@pierre/diffs/react';
12
- import { useTheme } from '@principal-ade/industry-theme';
13
- import { buildPierreOptions, PIERRE_FILE_STYLE } from './pierreBackground';
14
- import { pierreCodeViewFileName, pierreLangForPath, } from './pierreFileLang';
15
- import { resolvePierreSyntaxThemeName } from './pierreSyntaxTheme';
16
- import { sliceSnippetWindow } from './sliceSnippet';
17
- function stepItemId(throughlineId, index) {
18
- return `${throughlineId}:${index}`;
19
- }
20
- export function PierreThroughlineCodeView({ throughline, stepIndex, readFile, contextLines = 8, background, }) {
21
- const { theme, mode } = useTheme();
22
- const viewRef = useRef(null);
23
- const [load, setLoad] = useState({ status: 'loading' });
24
- const pathsKey = useMemo(() => {
25
- const paths = [...new Set(throughline.steps.map((s) => s.file))];
26
- paths.sort();
27
- return paths.join('\0');
28
- }, [throughline.steps]);
29
- useEffect(() => {
30
- let cancelled = false;
31
- setLoad({ status: 'loading' });
32
- const paths = [...new Set(throughline.steps.map((s) => s.file))];
33
- void Promise.all(paths.map(async (path) => {
34
- const contents = await readFile(path);
35
- return [path, contents];
36
- }))
37
- .then((entries) => {
38
- if (cancelled)
39
- return;
40
- setLoad({ status: 'ready', byPath: new Map(entries) });
41
- })
42
- .catch((err) => {
43
- if (cancelled)
44
- return;
45
- setLoad({
46
- status: 'error',
47
- message: err instanceof Error ? err.message : 'Failed to read files',
48
- });
49
- });
50
- return () => {
51
- cancelled = true;
52
- };
53
- }, [throughline.id, pathsKey, readFile]);
54
- const slices = useMemo(() => {
55
- if (load.status !== 'ready')
56
- return [];
57
- return throughline.steps.map((step) => {
58
- const contents = load.byPath.get(step.file) ?? '';
59
- return sliceSnippetWindow(contents, step.line, step.line, contextLines, step.line);
60
- });
61
- }, [load, throughline.steps, contextLines]);
62
- const items = useMemo(() => {
63
- if (load.status !== 'ready' || slices.length === 0)
64
- return [];
65
- return throughline.steps.map((step, index) => {
66
- const slice = slices[index];
67
- const focus = slice.focusOffset;
68
- const annotations = step.annotation != null && step.annotation.length > 0 && focus != null
69
- ? [
70
- {
71
- lineNumber: focus,
72
- metadata: { text: step.annotation },
73
- },
74
- ]
75
- : undefined;
76
- return {
77
- id: stepItemId(throughline.id, index),
78
- type: 'file',
79
- version: 1,
80
- annotations,
81
- file: {
82
- // Unique per-step name: many throughline steps share one path
83
- // (e.g. seven sites in main.cpp), and identical `name`s have
84
- // correlated with WebKit renderer traps in CodeView.
85
- name: pierreCodeViewFileName(step.file, index),
86
- contents: slice.contents,
87
- // C-family → plain text: cpp Shiki still traps WebKit even with
88
- // unique names (reproduced on 0.16.67).
89
- lang: pierreLangForPath(step.file),
90
- cacheKey: `${throughline.id}:${index}:${step.file}:${step.line}:${slice.sliceStart}-${slice.sliceEnd}`,
91
- },
92
- };
93
- });
94
- }, [load, slices, throughline.id, throughline.steps]);
95
- /** Highlight the focused step's site line (1-based within its sliced window). */
96
- const selectedLines = useMemo(() => {
97
- if (stepIndex == null || stepIndex < 0 || stepIndex >= slices.length) {
98
- return null;
99
- }
100
- const focus = slices[stepIndex]?.focusOffset;
101
- if (focus == null)
102
- return null;
103
- return {
104
- id: stepItemId(throughline.id, stepIndex),
105
- range: { start: focus, end: focus },
106
- };
107
- }, [stepIndex, slices, throughline.id]);
108
- const renderHeaderPrefix = useMemo(() => {
109
- return (item) => {
110
- const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
111
- const step = throughline.steps[index];
112
- if (!step)
113
- return null;
114
- const label = step.symbol != null && step.symbol.length > 0
115
- ? step.symbol
116
- : `step ${index + 1}`;
117
- return (_jsxs("span", { style: {
118
- fontFamily: theme.fonts.monospace,
119
- fontSize: theme.fontSizes[0],
120
- color: theme.colors.textSecondary,
121
- marginRight: 8,
122
- }, children: [index + 1, ". ", label] }));
123
- };
124
- }, [throughline.steps, theme]);
125
- const renderHeaderMetadata = useMemo(() => {
126
- return (item) => {
127
- const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
128
- const step = throughline.steps[index];
129
- if (!step)
130
- return null;
131
- return (_jsxs("span", { style: {
132
- fontFamily: theme.fonts.monospace,
133
- fontSize: theme.fontSizes[0],
134
- color: theme.colors.textSecondary,
135
- marginLeft: 8,
136
- }, children: ["L", step.line] }));
137
- };
138
- }, [throughline.steps, theme]);
139
- const renderAnnotation = useMemo(() => {
140
- return (annotation, item) => {
141
- const index = Number.parseInt(item.id.split(':').pop() ?? '', 10);
142
- const step = throughline.steps[index];
143
- const text = annotation.metadata?.text;
144
- if (!text || !step)
145
- return null;
146
- return (_jsx("span", { style: {
147
- display: 'inline-block',
148
- fontFamily: theme.fonts.monospace,
149
- fontSize: theme.fontSizes[0],
150
- color: theme.colors.textSecondary,
151
- fontStyle: 'italic',
152
- opacity: 0.9,
153
- }, children: text }));
154
- };
155
- }, [throughline.steps, theme]);
156
- const options = useMemo(() => {
157
- return {
158
- theme: {
159
- dark: resolvePierreSyntaxThemeName('dark'),
160
- light: resolvePierreSyntaxThemeName('light'),
161
- },
162
- stickyHeaders: true,
163
- disableFileHeader: false,
164
- layout: { paddingTop: 8, paddingBottom: 16, gap: 12 },
165
- ...(background ? buildPierreOptions(background) : {}),
166
- ...(mode === 'light' || mode === 'dark' ? { themeType: mode } : {}),
167
- };
168
- }, [background, mode]);
169
- useEffect(() => {
170
- if (load.status !== 'ready' || stepIndex == null)
171
- return;
172
- if (stepIndex < 0 || stepIndex >= throughline.steps.length)
173
- return;
174
- const focus = slices[stepIndex]?.focusOffset;
175
- if (focus == null)
176
- return;
177
- // Defer until CodeView has laid out items.
178
- const id = stepItemId(throughline.id, stepIndex);
179
- const t = window.setTimeout(() => {
180
- viewRef.current?.scrollTo({
181
- type: 'line',
182
- id,
183
- lineNumber: focus,
184
- align: 'center',
185
- });
186
- }, 50);
187
- return () => window.clearTimeout(t);
188
- }, [
189
- load.status,
190
- stepIndex,
191
- throughline.id,
192
- throughline.steps.length,
193
- slices,
194
- items.length,
195
- ]);
196
- if (load.status === 'error') {
197
- return (_jsx("div", { style: { padding: 16, color: theme.colors.error ?? '#e5534b' }, children: load.message }));
198
- }
199
- if (load.status === 'loading' || items.length === 0) {
200
- return (_jsx("div", { style: { padding: 16, color: theme.colors.textSecondary }, children: "Loading\u2026" }));
201
- }
202
- // Pierre's CodeView prop / item unions blow past TS's complexity limit.
203
- const CodeViewLoose = CodeView;
204
- return (_jsx(CodeViewLoose, { ref: viewRef, items: items, options: options, selectedLines: selectedLines, renderHeaderPrefix: renderHeaderPrefix, renderHeaderMetadata: renderHeaderMetadata, renderAnnotation: renderAnnotation, style: { ...PIERRE_FILE_STYLE, height: '100%', overflow: 'auto' } }));
205
- }
206
- //# sourceMappingURL=PierreThroughlineCodeView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PierreThroughlineCodeView.js","sourceRoot":"","sources":["../../src/pierre/PierreThroughlineCodeView.tsx"],"names":[],"mappings":"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"}