@workflow/web-shared 5.0.0-beta.37 → 5.0.0-beta.39

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 (313) hide show
  1. package/README.md +3 -3
  2. package/dist/components/event-list-view.d.ts.map +1 -1
  3. package/dist/components/event-list-view.js +10 -10
  4. package/dist/components/index.d.ts +4 -5
  5. package/dist/components/index.d.ts.map +1 -1
  6. package/dist/components/index.js +4 -5
  7. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  8. package/dist/components/sidebar/attribute-panel.js +32 -8
  9. package/dist/components/sidebar/attributes-block.js +3 -3
  10. package/dist/components/sidebar/copyable-data-block.js +2 -2
  11. package/dist/components/sidebar/entity-detail-panel.js +3 -3
  12. package/dist/components/sidebar/events-list.js +2 -2
  13. package/dist/components/stream-viewer-skeleton.d.ts +2 -0
  14. package/dist/components/stream-viewer-skeleton.d.ts.map +1 -0
  15. package/dist/components/stream-viewer-skeleton.js +12 -0
  16. package/dist/components/stream-viewer.d.ts +1 -1
  17. package/dist/components/stream-viewer.d.ts.map +1 -1
  18. package/dist/components/stream-viewer.js +9 -26
  19. package/dist/components/trace-viewer/components/copy-button.d.ts.map +1 -0
  20. package/dist/components/trace-viewer/components/copy-button.js +27 -0
  21. package/dist/components/trace-viewer/components/detail-panel-width.d.ts.map +1 -0
  22. package/dist/components/trace-viewer/components/detail-panel-width.js +67 -0
  23. package/dist/components/trace-viewer/components/detail-panel.d.ts.map +1 -0
  24. package/dist/components/trace-viewer/components/detail-panel.js +122 -0
  25. package/dist/components/trace-viewer/components/draggable-border.d.ts.map +1 -0
  26. package/dist/components/trace-viewer/components/draggable-border.js +140 -0
  27. package/dist/components/trace-viewer/components/event-list.d.ts.map +1 -0
  28. package/dist/components/trace-viewer/components/event-list.js +47 -0
  29. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
  30. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.js +54 -0
  31. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
  32. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
  33. package/dist/components/trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
  34. package/dist/components/trace-viewer/components/middle-truncate/truncate.js +101 -0
  35. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
  36. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
  37. package/dist/components/trace-viewer/components/minimap.d.ts.map +1 -0
  38. package/dist/components/trace-viewer/components/minimap.js +337 -0
  39. package/dist/components/trace-viewer/components/pane-constants.d.ts.map +1 -0
  40. package/dist/components/trace-viewer/components/pane-constants.js +16 -0
  41. package/dist/components/trace-viewer/components/span-markers.d.ts.map +1 -0
  42. package/dist/components/trace-viewer/components/span-markers.js +85 -0
  43. package/dist/components/trace-viewer/components/split-pane.d.ts.map +1 -0
  44. package/dist/components/trace-viewer/components/split-pane.js +41 -0
  45. package/dist/components/trace-viewer/components/timeline.d.ts.map +1 -0
  46. package/dist/components/trace-viewer/components/timeline.js +321 -0
  47. package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts.map +1 -0
  48. package/dist/components/trace-viewer/components/trace-shortcut-helper.js +55 -0
  49. package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -0
  50. package/dist/components/trace-viewer/components/trace-viewer-skeleton.js +26 -0
  51. package/dist/components/trace-viewer/components/use-element-width.d.ts.map +1 -0
  52. package/dist/components/trace-viewer/components/use-element-width.js +25 -0
  53. package/dist/components/trace-viewer/components/use-row-window.d.ts.map +1 -0
  54. package/dist/components/trace-viewer/components/use-row-window.js +107 -0
  55. package/dist/components/trace-viewer/context.d.ts +14 -182
  56. package/dist/components/trace-viewer/context.d.ts.map +1 -1
  57. package/dist/components/trace-viewer/context.js +44 -351
  58. package/dist/components/trace-viewer/icons.d.ts.map +1 -0
  59. package/dist/components/trace-viewer/icons.js +15 -0
  60. package/dist/components/trace-viewer/search.d.ts.map +1 -0
  61. package/dist/components/trace-viewer/search.js +134 -0
  62. package/dist/components/trace-viewer/trace-viewer.d.ts +7 -28
  63. package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
  64. package/dist/components/trace-viewer/trace-viewer.js +306 -356
  65. package/dist/components/trace-viewer/types.d.ts +2 -211
  66. package/dist/components/trace-viewer/types.d.ts.map +1 -1
  67. package/dist/components/trace-viewer/types.js +1 -1
  68. package/dist/components/trace-viewer/utils.d.ts.map +1 -0
  69. package/dist/components/trace-viewer/utils.js +430 -0
  70. package/dist/components/{trace-viewer-new.d.ts → trace-viewer.d.ts} +3 -3
  71. package/dist/components/trace-viewer.d.ts.map +1 -0
  72. package/dist/components/trace-viewer.js +21 -0
  73. package/dist/components/ui/alert.js +2 -2
  74. package/dist/components/ui/button.d.ts +1 -1
  75. package/dist/components/ui/button.d.ts.map +1 -1
  76. package/dist/components/ui/button.js +3 -3
  77. package/dist/components/ui/card.d.ts.map +1 -1
  78. package/dist/components/ui/card.js +3 -3
  79. package/dist/components/ui/error-card.js +2 -2
  80. package/dist/components/ui/error-stack-block.js +4 -4
  81. package/dist/components/ui/kbd.js +3 -3
  82. package/dist/components/ui/timestamp-tooltip.js +3 -3
  83. package/dist/components/workflow-traces/trace-span-construction.d.ts +1 -1
  84. package/dist/components/workflow-traces/trace-span-construction.js +1 -1
  85. package/dist/lib/trace-builder.d.ts +1 -1
  86. package/dist/lib/trace-builder.d.ts.map +1 -1
  87. package/dist/lib/trace-builder.js +1 -1
  88. package/dist/lib/trace-types.d.ts +54 -0
  89. package/dist/lib/trace-types.d.ts.map +1 -0
  90. package/dist/lib/trace-types.js +2 -0
  91. package/package.json +6 -6
  92. package/src/components/event-list-view.tsx +12 -9
  93. package/src/components/index.ts +4 -5
  94. package/src/components/sidebar/attribute-panel.tsx +46 -8
  95. package/src/components/sidebar/attributes-block.tsx +2 -2
  96. package/src/components/sidebar/copyable-data-block.tsx +1 -1
  97. package/src/components/sidebar/entity-detail-panel.tsx +3 -3
  98. package/src/components/sidebar/events-list.tsx +1 -1
  99. package/src/components/stream-viewer-skeleton.tsx +34 -0
  100. package/src/components/stream-viewer.tsx +34 -106
  101. package/src/components/{new-trace-viewer → trace-viewer}/components/event-list.tsx +1 -1
  102. package/src/components/{new-trace-viewer → trace-viewer}/components/minimap.tsx +1 -4
  103. package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.tsx +2 -5
  104. package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.tsx +1 -1
  105. package/src/components/trace-viewer/context.tsx +63 -656
  106. package/src/components/trace-viewer/trace-viewer.tsx +563 -531
  107. package/src/components/trace-viewer/types.ts +2 -234
  108. package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +2 -2
  109. package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +5 -5
  110. package/src/components/ui/alert.tsx +1 -1
  111. package/src/components/ui/button.tsx +3 -3
  112. package/src/components/ui/card.tsx +2 -9
  113. package/src/components/ui/error-card.tsx +3 -3
  114. package/src/components/ui/error-stack-block.tsx +3 -3
  115. package/src/components/ui/kbd.tsx +2 -2
  116. package/src/components/ui/timestamp-tooltip.tsx +4 -4
  117. package/src/components/workflow-traces/trace-span-construction.ts +1 -1
  118. package/src/lib/trace-builder.ts +1 -1
  119. package/src/lib/trace-types.ts +56 -0
  120. package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +0 -1
  121. package/dist/components/new-trace-viewer/components/copy-button.js +0 -27
  122. package/dist/components/new-trace-viewer/components/detail-panel-width.d.ts.map +0 -1
  123. package/dist/components/new-trace-viewer/components/detail-panel-width.js +0 -67
  124. package/dist/components/new-trace-viewer/components/detail-panel.d.ts.map +0 -1
  125. package/dist/components/new-trace-viewer/components/detail-panel.js +0 -122
  126. package/dist/components/new-trace-viewer/components/draggable-border.d.ts.map +0 -1
  127. package/dist/components/new-trace-viewer/components/draggable-border.js +0 -140
  128. package/dist/components/new-trace-viewer/components/event-list.d.ts.map +0 -1
  129. package/dist/components/new-trace-viewer/components/event-list.js +0 -47
  130. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +0 -1
  131. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +0 -54
  132. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +0 -1
  133. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +0 -81
  134. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +0 -1
  135. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +0 -101
  136. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +0 -1
  137. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +0 -114
  138. package/dist/components/new-trace-viewer/components/minimap.d.ts.map +0 -1
  139. package/dist/components/new-trace-viewer/components/minimap.js +0 -337
  140. package/dist/components/new-trace-viewer/components/pane-constants.d.ts.map +0 -1
  141. package/dist/components/new-trace-viewer/components/pane-constants.js +0 -16
  142. package/dist/components/new-trace-viewer/components/span-markers.d.ts.map +0 -1
  143. package/dist/components/new-trace-viewer/components/span-markers.js +0 -85
  144. package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +0 -1
  145. package/dist/components/new-trace-viewer/components/split-pane.js +0 -41
  146. package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
  147. package/dist/components/new-trace-viewer/components/timeline.js +0 -321
  148. package/dist/components/new-trace-viewer/components/trace-shortcut-helper.d.ts.map +0 -1
  149. package/dist/components/new-trace-viewer/components/trace-shortcut-helper.js +0 -55
  150. package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.d.ts.map +0 -1
  151. package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.js +0 -26
  152. package/dist/components/new-trace-viewer/components/use-element-width.d.ts.map +0 -1
  153. package/dist/components/new-trace-viewer/components/use-element-width.js +0 -25
  154. package/dist/components/new-trace-viewer/components/use-row-window.d.ts.map +0 -1
  155. package/dist/components/new-trace-viewer/components/use-row-window.js +0 -107
  156. package/dist/components/new-trace-viewer/context.d.ts +0 -17
  157. package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
  158. package/dist/components/new-trace-viewer/context.js +0 -48
  159. package/dist/components/new-trace-viewer/icons.d.ts.map +0 -1
  160. package/dist/components/new-trace-viewer/icons.js +0 -15
  161. package/dist/components/new-trace-viewer/search.d.ts.map +0 -1
  162. package/dist/components/new-trace-viewer/search.js +0 -134
  163. package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -11
  164. package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
  165. package/dist/components/new-trace-viewer/trace-viewer.js +0 -336
  166. package/dist/components/new-trace-viewer/types.d.ts +0 -3
  167. package/dist/components/new-trace-viewer/types.d.ts.map +0 -1
  168. package/dist/components/new-trace-viewer/types.js +0 -2
  169. package/dist/components/new-trace-viewer/utils.d.ts.map +0 -1
  170. package/dist/components/new-trace-viewer/utils.js +0 -430
  171. package/dist/components/run-trace-view.d.ts +0 -23
  172. package/dist/components/run-trace-view.d.ts.map +0 -1
  173. package/dist/components/run-trace-view.js +0 -11
  174. package/dist/components/trace-viewer/components/map.d.ts +0 -8
  175. package/dist/components/trace-viewer/components/map.d.ts.map +0 -1
  176. package/dist/components/trace-viewer/components/map.js +0 -162
  177. package/dist/components/trace-viewer/components/markers.d.ts +0 -23
  178. package/dist/components/trace-viewer/components/markers.d.ts.map +0 -1
  179. package/dist/components/trace-viewer/components/markers.js +0 -416
  180. package/dist/components/trace-viewer/components/node.d.ts +0 -35
  181. package/dist/components/trace-viewer/components/node.d.ts.map +0 -1
  182. package/dist/components/trace-viewer/components/node.js +0 -286
  183. package/dist/components/trace-viewer/components/search-input.d.ts +0 -9
  184. package/dist/components/trace-viewer/components/search-input.d.ts.map +0 -1
  185. package/dist/components/trace-viewer/components/search-input.js +0 -9
  186. package/dist/components/trace-viewer/components/search.d.ts +0 -3
  187. package/dist/components/trace-viewer/components/search.d.ts.map +0 -1
  188. package/dist/components/trace-viewer/components/search.js +0 -25
  189. package/dist/components/trace-viewer/components/span-content.d.ts +0 -19
  190. package/dist/components/trace-viewer/components/span-content.d.ts.map +0 -1
  191. package/dist/components/trace-viewer/components/span-content.js +0 -137
  192. package/dist/components/trace-viewer/components/span-detail-panel.d.ts +0 -10
  193. package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +0 -1
  194. package/dist/components/trace-viewer/components/span-detail-panel.js +0 -285
  195. package/dist/components/trace-viewer/components/span-segments.d.ts +0 -50
  196. package/dist/components/trace-viewer/components/span-segments.d.ts.map +0 -1
  197. package/dist/components/trace-viewer/components/span-segments.js +0 -445
  198. package/dist/components/trace-viewer/components/span-strategies.d.ts +0 -46
  199. package/dist/components/trace-viewer/components/span-strategies.d.ts.map +0 -1
  200. package/dist/components/trace-viewer/components/span-strategies.js +0 -108
  201. package/dist/components/trace-viewer/components/ui.d.ts +0 -28
  202. package/dist/components/trace-viewer/components/ui.d.ts.map +0 -1
  203. package/dist/components/trace-viewer/components/ui.js +0 -39
  204. package/dist/components/trace-viewer/components/zoom-button.d.ts +0 -3
  205. package/dist/components/trace-viewer/components/zoom-button.d.ts.map +0 -1
  206. package/dist/components/trace-viewer/components/zoom-button.js +0 -29
  207. package/dist/components/trace-viewer/components/zoom-icons.d.ts +0 -11
  208. package/dist/components/trace-viewer/components/zoom-icons.d.ts.map +0 -1
  209. package/dist/components/trace-viewer/components/zoom-icons.js +0 -11
  210. package/dist/components/trace-viewer/index.d.ts +0 -5
  211. package/dist/components/trace-viewer/index.d.ts.map +0 -1
  212. package/dist/components/trace-viewer/index.js +0 -4
  213. package/dist/components/trace-viewer/trace-viewer.module.css +0 -1465
  214. package/dist/components/trace-viewer/util/constants.d.ts +0 -9
  215. package/dist/components/trace-viewer/util/constants.d.ts.map +0 -1
  216. package/dist/components/trace-viewer/util/constants.js +0 -9
  217. package/dist/components/trace-viewer/util/scrollbar-width.d.ts +0 -2
  218. package/dist/components/trace-viewer/util/scrollbar-width.d.ts.map +0 -1
  219. package/dist/components/trace-viewer/util/scrollbar-width.js +0 -14
  220. package/dist/components/trace-viewer/util/tree.d.ts +0 -13
  221. package/dist/components/trace-viewer/util/tree.d.ts.map +0 -1
  222. package/dist/components/trace-viewer/util/tree.js +0 -227
  223. package/dist/components/trace-viewer/util/use-immediate-style.d.ts +0 -15
  224. package/dist/components/trace-viewer/util/use-immediate-style.d.ts.map +0 -1
  225. package/dist/components/trace-viewer/util/use-immediate-style.js +0 -23
  226. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +0 -8
  227. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +0 -1
  228. package/dist/components/trace-viewer/util/use-streaming-spans.js +0 -345
  229. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts +0 -6
  230. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts.map +0 -1
  231. package/dist/components/trace-viewer/util/use-trackpad-zoom.js +0 -39
  232. package/dist/components/trace-viewer/worker.d.ts +0 -2
  233. package/dist/components/trace-viewer/worker.d.ts.map +0 -1
  234. package/dist/components/trace-viewer/worker.js +0 -109
  235. package/dist/components/trace-viewer-new.d.ts.map +0 -1
  236. package/dist/components/trace-viewer-new.js +0 -21
  237. package/dist/components/workflow-trace-view.d.ts +0 -39
  238. package/dist/components/workflow-trace-view.d.ts.map +0 -1
  239. package/dist/components/workflow-trace-view.js +0 -690
  240. package/dist/components/workflow-traces/trace-colors.d.ts +0 -15
  241. package/dist/components/workflow-traces/trace-colors.d.ts.map +0 -1
  242. package/dist/components/workflow-traces/trace-colors.js +0 -86
  243. package/src/components/new-trace-viewer/context.tsx +0 -93
  244. package/src/components/new-trace-viewer/trace-viewer.tsx +0 -632
  245. package/src/components/new-trace-viewer/types.ts +0 -2
  246. package/src/components/run-trace-view.tsx +0 -80
  247. package/src/components/trace-viewer/components/map.tsx +0 -226
  248. package/src/components/trace-viewer/components/markers.tsx +0 -612
  249. package/src/components/trace-viewer/components/node.tsx +0 -506
  250. package/src/components/trace-viewer/components/search-input.tsx +0 -52
  251. package/src/components/trace-viewer/components/search.tsx +0 -47
  252. package/src/components/trace-viewer/components/span-content.tsx +0 -247
  253. package/src/components/trace-viewer/components/span-detail-panel.tsx +0 -655
  254. package/src/components/trace-viewer/components/span-segments.ts +0 -585
  255. package/src/components/trace-viewer/components/span-strategies.ts +0 -205
  256. package/src/components/trace-viewer/components/ui.tsx +0 -156
  257. package/src/components/trace-viewer/components/zoom-button.tsx +0 -61
  258. package/src/components/trace-viewer/components/zoom-icons.tsx +0 -65
  259. package/src/components/trace-viewer/index.tsx +0 -4
  260. package/src/components/trace-viewer/trace-viewer.module.css +0 -1465
  261. package/src/components/trace-viewer/util/constants.ts +0 -8
  262. package/src/components/trace-viewer/util/scrollbar-width.ts +0 -13
  263. package/src/components/trace-viewer/util/tree.ts +0 -277
  264. package/src/components/trace-viewer/util/use-immediate-style.ts +0 -38
  265. package/src/components/trace-viewer/util/use-streaming-spans.ts +0 -426
  266. package/src/components/trace-viewer/util/use-trackpad-zoom.tsx +0 -51
  267. package/src/components/trace-viewer/worker.ts +0 -131
  268. package/src/components/workflow-trace-view.tsx +0 -1166
  269. package/src/components/workflow-traces/trace-colors.ts +0 -112
  270. package/dist/components/{new-trace-viewer → trace-viewer}/components/copy-button.d.ts +0 -0
  271. package/dist/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.d.ts +0 -0
  272. package/dist/components/{new-trace-viewer → trace-viewer}/components/detail-panel.d.ts +0 -0
  273. package/dist/components/{new-trace-viewer → trace-viewer}/components/draggable-border.d.ts +0 -0
  274. package/dist/components/{new-trace-viewer → trace-viewer}/components/event-list.d.ts +0 -0
  275. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.d.ts +0 -0
  276. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.d.ts +0 -0
  277. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.d.ts +0 -0
  278. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.d.ts +0 -0
  279. package/dist/components/{new-trace-viewer → trace-viewer}/components/minimap.d.ts +0 -0
  280. package/dist/components/{new-trace-viewer → trace-viewer}/components/pane-constants.d.ts +0 -0
  281. package/dist/components/{new-trace-viewer → trace-viewer}/components/span-markers.d.ts +0 -0
  282. package/dist/components/{new-trace-viewer → trace-viewer}/components/split-pane.d.ts +0 -0
  283. package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.d.ts +0 -0
  284. package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
  285. package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.d.ts +0 -0
  286. package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
  287. package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.d.ts +0 -0
  288. package/dist/components/{new-trace-viewer → trace-viewer}/components/use-element-width.d.ts +0 -0
  289. package/dist/components/{new-trace-viewer → trace-viewer}/components/use-row-window.d.ts +0 -0
  290. package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
  291. package/dist/components/{new-trace-viewer → trace-viewer}/search.d.ts +0 -0
  292. package/dist/components/{new-trace-viewer → trace-viewer}/utils.d.ts +0 -0
  293. package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +0 -0
  294. package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.test.ts +0 -0
  295. package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.ts +0 -0
  296. package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel.tsx +0 -0
  297. package/src/components/{new-trace-viewer → trace-viewer}/components/draggable-border.tsx +0 -0
  298. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.ts +0 -0
  299. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.tsx +1 -1
  300. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +0 -0
  301. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
  302. /package/src/components/{new-trace-viewer → trace-viewer}/components/pane-constants.ts +0 -0
  303. /package/src/components/{new-trace-viewer → trace-viewer}/components/span-markers.tsx +0 -0
  304. /package/src/components/{new-trace-viewer → trace-viewer}/components/split-pane.tsx +0 -0
  305. /package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
  306. /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
  307. /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.tsx +0 -0
  308. /package/src/components/{new-trace-viewer → trace-viewer}/components/use-element-width.ts +0 -0
  309. /package/src/components/{new-trace-viewer → trace-viewer}/components/use-row-window.ts +0 -0
  310. /package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +0 -0
  311. /package/src/components/{new-trace-viewer → trace-viewer}/search.ts +0 -0
  312. /package/src/components/{new-trace-viewer → trace-viewer}/utils.test.ts +0 -0
  313. /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
@@ -1,234 +1,2 @@
1
- import type { MutableRefObject, ReactNode } from 'react';
2
-
3
- export type MemoCacheKey = Record<string, never>;
4
- export type MemoCache = Map<string, MemoCacheKey>;
5
-
6
- export interface Span {
7
- name: string;
8
- kind: number;
9
- resource: string;
10
- library: {
11
- name: string;
12
- version?: string;
13
- };
14
- spanId: string;
15
- parentSpanId?: string;
16
- status: {
17
- code: number;
18
- };
19
- traceFlags: number;
20
- attributes: Record<string, unknown>;
21
- links: Record<string, unknown>[];
22
- events: SpanEvent[];
23
- startTime: [number, number];
24
- endTime: [number, number];
25
- duration: [number, number];
26
- /**
27
- * The time when the span became active/started executing (optional).
28
- * If provided and different from startTime, the portion between startTime
29
- * and activeStartTime will be rendered as a "queued" period with different styling.
30
- */
31
- activeStartTime?: [number, number];
32
- }
33
-
34
- export interface SpanEvent {
35
- name: string;
36
- timestamp: [number, number];
37
- attributes: Record<string, unknown>;
38
- /**
39
- * Optional custom color for this event marker (workflow-specific feature).
40
- * If provided, this color will be used for the event marker line/diamond.
41
- */
42
- color?: string;
43
- /**
44
- * Whether to show a vertical line for this event in the timeline (workflow-specific feature).
45
- * If false, only the diamond marker on the span will be shown.
46
- * Defaults to true if not specified.
47
- */
48
- showVerticalLine?: boolean;
49
- }
50
-
51
- export interface Resource {
52
- name: string;
53
- attributes: Record<string, string>;
54
- }
55
-
56
- export interface Trace {
57
- traceId: string;
58
- resources?: Resource[];
59
- spans: Span[];
60
- rootSpanId?: string;
61
- }
62
-
63
- interface EveryNode {
64
- startTime: number;
65
- endTime: number;
66
- duration: number;
67
- /**
68
- * How deep is this node within the tree
69
- */
70
- depth: number;
71
- /**
72
- * All direct child nodes of this node
73
- */
74
- children: SpanNode[];
75
- }
76
-
77
- export interface RootNode extends EveryNode {
78
- /**
79
- * The depth is always 0 for the root node
80
- */
81
- depth: 0;
82
- }
83
-
84
- export interface SpanNode extends EveryNode {
85
- /**
86
- * This original Span that this node is based on
87
- */
88
- span: Span;
89
- /**
90
- * The immediate parent of this node
91
- */
92
- parent: RootNode | SpanNode;
93
- /**
94
- * A generated label to use (overrides the span.name) if present
95
- */
96
- label?: string;
97
- /**
98
- * OTEL events that are present on this span (e.g. TTFB)
99
- */
100
- events?: SpanNodeEvent[];
101
- /**
102
- * Whether this span originated in Vercel's infrastructure.
103
- */
104
- isVercel: boolean;
105
- /**
106
- * Whether this span matches the current search filter
107
- */
108
- isHighlighted?: boolean;
109
- /**
110
- * Whether this span is a placeholder to hint at where user spans
111
- * would appear if proper instrumentation were available
112
- */
113
- isInstrumentationHint?: boolean;
114
- /**
115
- * The index of the resource that this node belongs to (used for color)
116
- */
117
- resourceIndex: number;
118
- /**
119
- * The time when execution actually started (in milliseconds).
120
- * If present and greater than startTime, represents a "queued" period.
121
- */
122
- activeStartTime?: number;
123
- }
124
-
125
- export interface SpanNodeEvent {
126
- /** A unique key for this event to help with rendering in React */
127
- key: string;
128
- /** The timestamp of this event in milliseconds */
129
- timestamp: number;
130
- /** The original event model */
131
- event: SpanEvent;
132
- }
133
-
134
- export type TraceNode = RootNode | SpanNode;
135
-
136
- export interface VisibleSpan extends SpanNode {
137
- /**
138
- * The ref for this span's element in the DOM
139
- */
140
- ref?: MutableRefObject<HTMLButtonElement | null>;
141
- /**
142
- * The y position of this span (in # of rows)
143
- */
144
- row: number;
145
- /**
146
- * Whether the CursorMarker is intersecting this span
147
- */
148
- isHovered: boolean;
149
- /**
150
- * Whether this is the selected span
151
- */
152
- isSelected: boolean;
153
- /**
154
- * Whether this node is visible (based on its size on screen)
155
- */
156
- isVisible: boolean;
157
- /**
158
- * Events also need to be able to hold a ref to their element in the DOM
159
- */
160
- events?: VisibleSpanEvent[];
161
- }
162
-
163
- export interface VisibleSpanEvent extends SpanNodeEvent {
164
- /**
165
- * The ref for this span's element in the DOM
166
- */
167
- ref?: MutableRefObject<HTMLDivElement | null>;
168
- /**
169
- * Whether the CursorMarker is intersecting this span
170
- */
171
- isHovered: boolean;
172
- }
173
-
174
- export interface ScrollSnapshot {
175
- anchorT: number;
176
- anchorX: number;
177
- scrollLeft: number;
178
- scrollTop: number;
179
- startTime: number;
180
- endTime: number;
181
- startRow: number;
182
- endRow: number;
183
- scale: number;
184
- }
185
-
186
- export type WorkerRequest = {
187
- requestId: number;
188
- } & (
189
- | {
190
- type: 'calculateSpanPositions';
191
- root: RootNode;
192
- }
193
- | {
194
- type: 'filterSpans';
195
- root: RootNode;
196
- filter: string;
197
- }
198
- );
199
-
200
- export type WorkerResponse = {
201
- requestId: number;
202
- } & (
203
- | {
204
- type: 'setRowsResult';
205
- rows: VisibleSpan[][];
206
- isEnd: boolean;
207
- }
208
- | {
209
- type: 'updateHighlight';
210
- matches: Set<string>;
211
- }
212
- );
213
-
214
- /**
215
- * Represents one link to a page related to the selected
216
- * span in the detail panel.
217
- */
218
- export interface QuickLink {
219
- /** Used as a React key and the user-facing name for the link */
220
- key: string;
221
- /** Until this Promise is fulfilled, the row will render with a skeleton for the value. */
222
- value: Promise<QuickLinkValue>;
223
- }
224
-
225
- export interface QuickLinkValue {
226
- /** The visible components for the right side of this link */
227
- label: ReactNode;
228
- /** A special suffix to show for this link, defaults to the ExternalLink icon */
229
- icon?: ReactNode;
230
- /** The href that this link will open when clicked */
231
- href: string;
232
- }
233
-
234
- export type GetQuickLinks = (node: Span) => QuickLink[];
1
+ export type { TraceWithMeta } from '../../lib/trace-builder';
2
+ export type { Span, SpanEvent, Trace } from '../../lib/trace-types';
@@ -1,9 +1,9 @@
1
+ import type { Span, SpanEvent } from './types';
1
2
  import {
2
3
  formatDuration,
3
4
  formatDurationPrecise,
4
5
  getHighResInMs,
5
- } from '../trace-viewer/util/timing';
6
- import type { Span, SpanEvent } from './types';
6
+ } from './util/timing';
7
7
 
8
8
  // ---------------------------------------------------------------------------
9
9
  // Root bounds
@@ -2,14 +2,14 @@ import type { WorkflowRun } from '@workflow/core/runtime';
2
2
  import type { Event } from '@workflow/world';
3
3
  import { useMemo } from 'react';
4
4
  import { buildTrace, type TraceWithMeta } from '../lib/trace-builder';
5
- import { TraceViewerSkeleton } from './new-trace-viewer/components/trace-viewer-skeleton';
6
- import { NewTraceViewer as NewTraceViewerComponent } from './new-trace-viewer/trace-viewer';
7
5
  import {
8
6
  type SidebarDataContextValue,
9
7
  SidebarDataProvider,
10
8
  } from './sidebar/sidebar-data-context';
9
+ import { TraceViewerSkeleton } from './trace-viewer/components/trace-viewer-skeleton';
10
+ import { TraceViewer as TraceViewerComponent } from './trace-viewer/trace-viewer';
11
11
 
12
- const NewTraceViewer = ({
12
+ const TraceViewer = ({
13
13
  run,
14
14
  events,
15
15
  sidebarData,
@@ -41,7 +41,7 @@ const NewTraceViewer = ({
41
41
  return (
42
42
  <SidebarDataProvider value={sidebarData}>
43
43
  <div className="relative w-full h-full flex">
44
- <NewTraceViewerComponent
44
+ <TraceViewerComponent
45
45
  trace={trace}
46
46
  onLoadMore={onLoadMore}
47
47
  hasMore={hasMore}
@@ -52,4 +52,4 @@ const NewTraceViewer = ({
52
52
  );
53
53
  };
54
54
 
55
- export { NewTraceViewer };
55
+ export { TraceViewer };
@@ -50,7 +50,7 @@ const AlertDescription = React.forwardRef<
50
50
  >(({ className, ...props }, ref) => (
51
51
  <div
52
52
  ref={ref}
53
- className={cn('text-sm [&_p]:leading-relaxed', className)}
53
+ className={cn('text-copy-14 [&_p]:leading-relaxed', className)}
54
54
  {...props}
55
55
  />
56
56
  ));
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { cva, type VariantProps } from 'class-variance-authority';
2
+ import type * as React from 'react';
3
3
  import { cn } from '../../lib/cn';
4
4
 
5
5
  const buttonVariants = cva(
@@ -33,8 +33,8 @@ const buttonVariants = cva(
33
33
  '[--themed-bg:_transparent] [--themed-fg:_var(--ds-gray-1000)] [--themed-hover-bg:_var(--ds-gray-alpha-100)]',
34
34
  },
35
35
  size: {
36
- default: 'h-10 px-4 text-[14px]',
37
- sm: 'h-8 px-3 text-[14px]',
36
+ default: 'h-10 px-4 text-button-14',
37
+ sm: 'h-8 px-3 text-button-14',
38
38
  xs: 'h-6 px-1.5 py-0.5 text-button-12 rounded-[4px]',
39
39
  icon: 'h-8 w-8',
40
40
  },
@@ -32,14 +32,7 @@ const CardTitle = React.forwardRef<
32
32
  HTMLDivElement,
33
33
  React.HTMLAttributes<HTMLDivElement>
34
34
  >(({ className, ...props }, ref) => (
35
- <div
36
- ref={ref}
37
- className={cn(
38
- 'text-2xl font-semibold leading-none tracking-tight',
39
- className
40
- )}
41
- {...props}
42
- />
35
+ <div ref={ref} className={cn('text-heading-24', className)} {...props} />
43
36
  ));
44
37
  CardTitle.displayName = 'CardTitle';
45
38
 
@@ -49,7 +42,7 @@ const CardDescription = React.forwardRef<
49
42
  >(({ className, ...props }, ref) => (
50
43
  <div
51
44
  ref={ref}
52
- className={cn('text-sm', className)}
45
+ className={cn('text-copy-14', className)}
53
46
  style={{ color: 'var(--ds-gray-900)' }}
54
47
  {...props}
55
48
  />
@@ -41,10 +41,10 @@ export function ErrorCard({
41
41
  >
42
42
  <div className="flex items-center gap-2">
43
43
  <AlertCircle className="h-4 w-4 shrink-0" />
44
- <span className="font-medium text-sm">{title}</span>
44
+ <span className="font-medium text-label-14">{title}</span>
45
45
  </div>
46
46
  <div className="flex items-center gap-1.5 opacity-70">
47
- <span className="text-xs">Click to show details</span>
47
+ <span className="text-label-12">Click to show details</span>
48
48
  <ChevronDown
49
49
  className={cn(
50
50
  'h-4 w-4 transition-transform duration-200',
@@ -60,7 +60,7 @@ export function ErrorCard({
60
60
  style={{ borderTop: '1px solid var(--ds-red-400)' }}
61
61
  >
62
62
  <pre
63
- className="mt-3 p-3 rounded-md text-xs font-mono whitespace-pre-wrap break-words overflow-auto"
63
+ className="mt-3 p-3 rounded-md text-label-12-mono whitespace-pre-wrap break-words overflow-auto"
64
64
  style={{
65
65
  background: 'var(--ds-red-200)',
66
66
  color: 'var(--ds-red-900)',
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { AlertCircle } from 'lucide-react';
4
- import { CopyButton } from '../new-trace-viewer/components/copy-button';
4
+ import { CopyButton } from '../trace-viewer/components/copy-button';
5
5
 
6
6
  export type StructuredErrorRecord = Record<string, unknown> & {
7
7
  message?: string;
@@ -93,7 +93,7 @@ export function ErrorStackBlock({ value }: { value: StructuredErrorRecord }) {
93
93
  >
94
94
  <AlertCircle className="h-4 w-4 shrink-0" />
95
95
  <p
96
- className="text-xs font-semibold m-0 truncate"
96
+ className="text-label-12 font-semibold m-0 truncate"
97
97
  // The full message or stack is in the body below; the header just
98
98
  // shows the first line, single-line, with overflow
99
99
  // ellipsised so a long title doesn't push the copy button or
@@ -106,7 +106,7 @@ export function ErrorStackBlock({ value }: { value: StructuredErrorRecord }) {
106
106
  )}
107
107
  {body && (
108
108
  <pre
109
- className="px-3 py-2.5 text-xs font-mono whitespace-pre-wrap break-words overflow-auto m-0"
109
+ className="px-3 py-2.5 text-label-12-mono whitespace-pre-wrap break-words overflow-auto m-0"
110
110
  style={{
111
111
  color: 'var(--ds-red-900)',
112
112
  background: 'var(--ds-red-200)',
@@ -12,9 +12,9 @@ const kbdVariants = cva(
12
12
  'border border-gray-alpha-400 bg-background-100 font-medium text-gray-900',
13
13
  },
14
14
  size: {
15
- default: 'h-5 min-w-5 text-xs leading-none',
15
+ default: 'h-5 min-w-5 text-label-12 leading-none',
16
16
  compact: 'h-4 min-h-4 min-w-4 text-[11px] leading-none',
17
- search: 'h-5 min-h-5 min-w-5 text-[13px] leading-[1.7em]',
17
+ search: 'h-5 min-h-5 min-w-5 text-label-13 leading-[1.7em]',
18
18
  },
19
19
  },
20
20
  defaultVariants: {
@@ -143,13 +143,13 @@ function ZoneDateTimeRow({
143
143
  <div className="flex items-center justify-between gap-3">
144
144
  <div className="flex items-center gap-1.5">
145
145
  <div className="flex items-center justify-center h-4 px-1.5 bg-gray-200 rounded-xs">
146
- <span className="text-[12px] font-mono text-gray-900">
146
+ <span className="text-label-12-mono text-gray-900">
147
147
  {formattedZone}
148
148
  </span>
149
149
  </div>
150
- <span className="text-[13px] text-gray-1000">{formattedDate}</span>
150
+ <span className="text-label-13 text-gray-1000">{formattedDate}</span>
151
151
  </div>
152
- <span className="tabular-nums text-[12px] font-mono text-gray-900">
152
+ <span className="tabular-nums text-label-12-mono text-gray-900">
153
153
  {formattedTime}
154
154
  </span>
155
155
  </div>
@@ -163,7 +163,7 @@ function RelativeTimeContextCardContent({ date }: { date: number }): ReactNode {
163
163
  return (
164
164
  <div className="flex flex-col gap-3 min-w-[300px]">
165
165
  <div className="flex flex-col gap-3">
166
- <span className="tabular-nums text-[13px] text-gray-900">
166
+ <span className="tabular-nums text-label-13 text-gray-900">
167
167
  {timeAgo}
168
168
  </span>
169
169
  </div>
@@ -8,7 +8,7 @@ import {
8
8
  isTerminalStepEventType,
9
9
  type WorkflowRun,
10
10
  } from '@workflow/world';
11
- import type { Span, SpanEvent } from '../trace-viewer/types';
11
+ import type { Span, SpanEvent } from '../../lib/trace-types';
12
12
  import { shouldShowVerticalLine } from './event-colors';
13
13
  import { calculateDuration, dateToOtelTime } from './trace-time-utils';
14
14
 
@@ -13,7 +13,6 @@ import {
13
13
  isWaitEventType,
14
14
  type WorkflowRun,
15
15
  } from '@workflow/world';
16
- import type { Span } from '../components/trace-viewer/types';
17
16
  import {
18
17
  getEventTimestamp,
19
18
  hookToSpan,
@@ -23,6 +22,7 @@ import {
23
22
  waitToSpan,
24
23
  } from '../components/workflow-traces/trace-span-construction';
25
24
  import { otelTimeToMs } from '../components/workflow-traces/trace-time-utils';
25
+ import type { Span } from './trace-types';
26
26
 
27
27
  /**
28
28
  * Events that belong to the run root span rather than a child entity span.
@@ -0,0 +1,56 @@
1
+ export interface Span {
2
+ name: string;
3
+ kind: number;
4
+ resource: string;
5
+ library: {
6
+ name: string;
7
+ version?: string;
8
+ };
9
+ spanId: string;
10
+ parentSpanId?: string;
11
+ status: {
12
+ code: number;
13
+ };
14
+ traceFlags: number;
15
+ attributes: Record<string, unknown>;
16
+ links: Record<string, unknown>[];
17
+ events: SpanEvent[];
18
+ startTime: [number, number];
19
+ endTime: [number, number];
20
+ duration: [number, number];
21
+ /**
22
+ * The time when the span became active/started executing (optional).
23
+ * If provided and different from startTime, the portion between startTime
24
+ * and activeStartTime will be rendered as a "queued" period with different styling.
25
+ */
26
+ activeStartTime?: [number, number];
27
+ }
28
+
29
+ export interface SpanEvent {
30
+ name: string;
31
+ timestamp: [number, number];
32
+ attributes: Record<string, unknown>;
33
+ /**
34
+ * Optional custom color for this event marker (workflow-specific feature).
35
+ * If provided, this color will be used for the event marker line/diamond.
36
+ */
37
+ color?: string;
38
+ /**
39
+ * Whether to show a vertical line for this event in the timeline (workflow-specific feature).
40
+ * If false, only the diamond marker on the span will be shown.
41
+ * Defaults to true if not specified.
42
+ */
43
+ showVerticalLine?: boolean;
44
+ }
45
+
46
+ export interface Resource {
47
+ name: string;
48
+ attributes: Record<string, string>;
49
+ }
50
+
51
+ export interface Trace {
52
+ traceId: string;
53
+ resources?: Resource[];
54
+ spans: Span[];
55
+ rootSpanId?: string;
56
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../../../src/components/new-trace-viewer/components/copy-button.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAA+B,MAAM,OAAO,CAAC;AAG9D,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAmD/B"}
@@ -1,27 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Check, Copy } from 'lucide-react';
4
- import { useEffect, useRef, useState } from 'react';
5
- import { cn } from '../../../lib/cn';
6
- export function CopyButton({ copyText, ariaLabel, className, }) {
7
- const [copied, setCopied] = useState(false);
8
- const timeoutRef = useRef(null);
9
- useEffect(() => {
10
- return () => {
11
- if (timeoutRef.current) {
12
- clearTimeout(timeoutRef.current);
13
- }
14
- };
15
- }, []);
16
- return (_jsx("button", { type: "button", "aria-label": ariaLabel, className: cn('cursor-pointer text-gray-800 hover:text-gray-1000 bg-transparent border-0 p-1 m-0', className), onClick: (e) => {
17
- e.stopPropagation();
18
- if (timeoutRef.current) {
19
- clearTimeout(timeoutRef.current);
20
- }
21
- void navigator.clipboard.writeText(copyText).then(() => {
22
- setCopied(true);
23
- timeoutRef.current = setTimeout(() => setCopied(false), 1000);
24
- });
25
- }, children: _jsxs("div", { className: "relative w-3 h-3", children: [_jsx("div", { className: cn('absolute inset-0 flex items-center justify-center transition-all duration-150 ease-out', copied ? 'scale-100 opacity-100' : 'scale-0 opacity-0'), children: _jsx(Check, { className: "w-3 h-3" }) }), _jsx("div", { className: cn('absolute inset-0 flex items-center justify-center transition-all duration-150 ease-out', copied ? 'scale-0 opacity-0' : 'scale-100 opacity-100'), children: _jsx(Copy, { className: "w-3 h-3" }) })] }) }));
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9uZXctdHJhY2Utdmlld2VyL2NvbXBvbmVudHMvY29weS1idXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUXJDLE1BQU0sVUFBVSxVQUFVLENBQUMsRUFDekIsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEdBQ087SUFDaEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUF1QyxJQUFJLENBQUMsQ0FBQztJQUV0RSxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLGlCQUNFLElBQUksRUFBQyxRQUFRLGdCQUNELFNBQVMsRUFDckIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxtRkFBbUYsRUFDbkYsU0FBUyxDQUNWLEVBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQixVQUFVLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLFlBRUQsZUFBSyxTQUFTLEVBQUMsa0JBQWtCLGFBQy9CLGNBQ0UsU0FBUyxFQUFFLEVBQUUsQ0FDWCx3RkFBd0YsRUFDeEYsTUFBTSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQ3ZELFlBRUQsS0FBQyxLQUFLLElBQUMsU0FBUyxFQUFDLFNBQVMsR0FBRyxHQUN6QixFQUNOLGNBQ0UsU0FBUyxFQUFFLEVBQUUsQ0FDWCx3RkFBd0YsRUFDeEYsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQ3ZELFlBRUQsS0FBQyxJQUFJLElBQUMsU0FBUyxFQUFDLFNBQVMsR0FBRyxHQUN4QixJQUNGLEdBQ0MsQ0FDVixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgQ2hlY2ssIENvcHkgfSBmcm9tICdsdWNpZGUtcmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBKU1gsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NuJztcblxuaW50ZXJmYWNlIENvcHlCdXR0b25Qcm9wcyB7XG4gIGNvcHlUZXh0OiBzdHJpbmc7XG4gIGFyaWFMYWJlbDogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb3B5QnV0dG9uKHtcbiAgY29weVRleHQsXG4gIGFyaWFMYWJlbCxcbiAgY2xhc3NOYW1lLFxufTogQ29weUJ1dHRvblByb3BzKTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBbY29waWVkLCBzZXRDb3BpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB0aW1lb3V0UmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dFJlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdjdXJzb3ItcG9pbnRlciB0ZXh0LWdyYXktODAwIGhvdmVyOnRleHQtZ3JheS0xMDAwIGJnLXRyYW5zcGFyZW50IGJvcmRlci0wIHAtMSBtLTAnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdm9pZCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb3B5VGV4dCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgc2V0Q29waWVkKHRydWUpO1xuICAgICAgICAgIHRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4gc2V0Q29waWVkKGZhbHNlKSwgMTAwMCk7XG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHctMyBoLTNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0xNTAgZWFzZS1vdXQnLFxuICAgICAgICAgICAgY29waWVkID8gJ3NjYWxlLTEwMCBvcGFjaXR5LTEwMCcgOiAnc2NhbGUtMCBvcGFjaXR5LTAnXG4gICAgICAgICAgKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxDaGVjayBjbGFzc05hbWU9XCJ3LTMgaC0zXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgJ2Fic29sdXRlIGluc2V0LTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMTUwIGVhc2Utb3V0JyxcbiAgICAgICAgICAgIGNvcGllZCA/ICdzY2FsZS0wIG9wYWNpdHktMCcgOiAnc2NhbGUtMTAwIG9wYWNpdHktMTAwJ1xuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29weSBjbGFzc05hbWU9XCJ3LTMgaC0zXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"detail-panel-width.d.ts","sourceRoot":"","sources":["../../../../src/components/new-trace-viewer/components/detail-panel-width.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,iFAAiF;AACjF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,uBAAuB,sCAAsC,CAAC;AAM3E,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAY7C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAUzD"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Width model for the span detail panel: the stored value is the user's
3
- * preferred width (absolute px, persisted to localStorage on explicit
4
- * interaction only), while the container-relative maximum is applied at
5
- * render time — so a width preferred on a wide screen survives a narrower
6
- * session and restores when the viewer grows again.
7
- */
8
- /** Floor for the detail panel — matches the previous `clamp(280px, …)` floor. */
9
- export const PANEL_MIN_WIDTH = 280;
10
- /**
11
- * Absolute ceiling enforced at the storage layer so a corrupt or stale stored
12
- * value can never wedge the layout open.
13
- */
14
- export const PANEL_HARD_MAX_WIDTH = 1300;
15
- /** Default width — matches the previous fixed 360px column. */
16
- export const PANEL_DEFAULT_WIDTH = 360;
17
- /**
18
- * Width the main (event list + timeline) area keeps while the panel is
19
- * resized or the container shrinks. Below `PANEL_MIN_WIDTH + MAIN_MIN_WIDTH`
20
- * of container the panel gives way first, compressing below its own floor —
21
- * the list and timeline stay usable at the panel's expense.
22
- */
23
- export const MAIN_MIN_WIDTH = 400;
24
- export const PANEL_WIDTH_STORAGE_KEY = 'workflow-trace-detail-panel-width';
25
- function clamp(value, min, max) {
26
- return Math.min(Math.max(value, min), max);
27
- }
28
- export function computeMaxPanelWidth(availableWidth) {
29
- if (availableWidth <= 0)
30
- return PANEL_HARD_MAX_WIDTH;
31
- return Math.min(Math.max(availableWidth - MAIN_MIN_WIDTH, 0), PANEL_HARD_MAX_WIDTH);
32
- }
33
- /**
34
- * Note: when the container is too small to honor both floors
35
- * (`availableWidth < PANEL_MIN_WIDTH + MAIN_MIN_WIDTH`), the max wins and the
36
- * panel compresses below `PANEL_MIN_WIDTH`.
37
- */
38
- export function clampPanelWidth(width, availableWidth) {
39
- return clamp(width, PANEL_MIN_WIDTH, computeMaxPanelWidth(availableWidth));
40
- }
41
- export function readStoredPanelWidth() {
42
- if (typeof window === 'undefined')
43
- return PANEL_DEFAULT_WIDTH;
44
- try {
45
- const raw = window.localStorage.getItem(PANEL_WIDTH_STORAGE_KEY);
46
- const value = raw ? Number(raw) : Number.NaN;
47
- if (!Number.isFinite(value))
48
- return PANEL_DEFAULT_WIDTH;
49
- // Only enforce absolute bounds at the storage layer; the container-relative
50
- // max is applied at render time (see module docs).
51
- return clamp(value, PANEL_MIN_WIDTH, PANEL_HARD_MAX_WIDTH);
52
- }
53
- catch {
54
- return PANEL_DEFAULT_WIDTH;
55
- }
56
- }
57
- export function writeStoredPanelWidth(width) {
58
- if (typeof window === 'undefined')
59
- return;
60
- try {
61
- window.localStorage.setItem(PANEL_WIDTH_STORAGE_KEY, String(Math.round(width)));
62
- }
63
- catch {
64
- // Best-effort (private mode, quota).
65
- }
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXBhbmVsLXdpZHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbmV3LXRyYWNlLXZpZXdlci9jb21wb25lbnRzL2RldGFpbC1wYW5lbC13aWR0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxpRkFBaUY7QUFDakYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUVuQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFFekMsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUV2Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFFM0UsU0FBUyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLGNBQXNCO0lBQ3pELElBQUksY0FBYyxJQUFJLENBQUM7UUFBRSxPQUFPLG9CQUFvQixDQUFDO0lBQ3JELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FDYixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQzVDLG9CQUFvQixDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWEsRUFBRSxjQUFzQjtJQUNuRSxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXO1FBQUUsT0FBTyxtQkFBbUIsQ0FBQztJQUM5RCxJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sbUJBQW1CLENBQUM7UUFDeEQsNEVBQTRFO1FBQzVFLG1EQUFtRDtRQUNuRCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBYTtJQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVc7UUFBRSxPQUFPO0lBQzFDLElBQUksQ0FBQztRQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUN6Qix1QkFBdUIsRUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxxQ0FBcUM7SUFDdkMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFdpZHRoIG1vZGVsIGZvciB0aGUgc3BhbiBkZXRhaWwgcGFuZWw6IHRoZSBzdG9yZWQgdmFsdWUgaXMgdGhlIHVzZXInc1xuICogcHJlZmVycmVkIHdpZHRoIChhYnNvbHV0ZSBweCwgcGVyc2lzdGVkIHRvIGxvY2FsU3RvcmFnZSBvbiBleHBsaWNpdFxuICogaW50ZXJhY3Rpb24gb25seSksIHdoaWxlIHRoZSBjb250YWluZXItcmVsYXRpdmUgbWF4aW11bSBpcyBhcHBsaWVkIGF0XG4gKiByZW5kZXIgdGltZSDigJQgc28gYSB3aWR0aCBwcmVmZXJyZWQgb24gYSB3aWRlIHNjcmVlbiBzdXJ2aXZlcyBhIG5hcnJvd2VyXG4gKiBzZXNzaW9uIGFuZCByZXN0b3JlcyB3aGVuIHRoZSB2aWV3ZXIgZ3Jvd3MgYWdhaW4uXG4gKi9cblxuLyoqIEZsb29yIGZvciB0aGUgZGV0YWlsIHBhbmVsIOKAlCBtYXRjaGVzIHRoZSBwcmV2aW91cyBgY2xhbXAoMjgwcHgsIOKApilgIGZsb29yLiAqL1xuZXhwb3J0IGNvbnN0IFBBTkVMX01JTl9XSURUSCA9IDI4MDtcblxuLyoqXG4gKiBBYnNvbHV0ZSBjZWlsaW5nIGVuZm9yY2VkIGF0IHRoZSBzdG9yYWdlIGxheWVyIHNvIGEgY29ycnVwdCBvciBzdGFsZSBzdG9yZWRcbiAqIHZhbHVlIGNhbiBuZXZlciB3ZWRnZSB0aGUgbGF5b3V0IG9wZW4uXG4gKi9cbmV4cG9ydCBjb25zdCBQQU5FTF9IQVJEX01BWF9XSURUSCA9IDEzMDA7XG5cbi8qKiBEZWZhdWx0IHdpZHRoIOKAlCBtYXRjaGVzIHRoZSBwcmV2aW91cyBmaXhlZCAzNjBweCBjb2x1bW4uICovXG5leHBvcnQgY29uc3QgUEFORUxfREVGQVVMVF9XSURUSCA9IDM2MDtcblxuLyoqXG4gKiBXaWR0aCB0aGUgbWFpbiAoZXZlbnQgbGlzdCArIHRpbWVsaW5lKSBhcmVhIGtlZXBzIHdoaWxlIHRoZSBwYW5lbCBpc1xuICogcmVzaXplZCBvciB0aGUgY29udGFpbmVyIHNocmlua3MuIEJlbG93IGBQQU5FTF9NSU5fV0lEVEggKyBNQUlOX01JTl9XSURUSGBcbiAqIG9mIGNvbnRhaW5lciB0aGUgcGFuZWwgZ2l2ZXMgd2F5IGZpcnN0LCBjb21wcmVzc2luZyBiZWxvdyBpdHMgb3duIGZsb29yIOKAlFxuICogdGhlIGxpc3QgYW5kIHRpbWVsaW5lIHN0YXkgdXNhYmxlIGF0IHRoZSBwYW5lbCdzIGV4cGVuc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBNQUlOX01JTl9XSURUSCA9IDQwMDtcblxuZXhwb3J0IGNvbnN0IFBBTkVMX1dJRFRIX1NUT1JBR0VfS0VZID0gJ3dvcmtmbG93LXRyYWNlLWRldGFpbC1wYW5lbC13aWR0aCc7XG5cbmZ1bmN0aW9uIGNsYW1wKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh2YWx1ZSwgbWluKSwgbWF4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVNYXhQYW5lbFdpZHRoKGF2YWlsYWJsZVdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoYXZhaWxhYmxlV2lkdGggPD0gMCkgcmV0dXJuIFBBTkVMX0hBUkRfTUFYX1dJRFRIO1xuICByZXR1cm4gTWF0aC5taW4oXG4gICAgTWF0aC5tYXgoYXZhaWxhYmxlV2lkdGggLSBNQUlOX01JTl9XSURUSCwgMCksXG4gICAgUEFORUxfSEFSRF9NQVhfV0lEVEhcbiAgKTtcbn1cblxuLyoqXG4gKiBOb3RlOiB3aGVuIHRoZSBjb250YWluZXIgaXMgdG9vIHNtYWxsIHRvIGhvbm9yIGJvdGggZmxvb3JzXG4gKiAoYGF2YWlsYWJsZVdpZHRoIDwgUEFORUxfTUlOX1dJRFRIICsgTUFJTl9NSU5fV0lEVEhgKSwgdGhlIG1heCB3aW5zIGFuZCB0aGVcbiAqIHBhbmVsIGNvbXByZXNzZXMgYmVsb3cgYFBBTkVMX01JTl9XSURUSGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcFBhbmVsV2lkdGgod2lkdGg6IG51bWJlciwgYXZhaWxhYmxlV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBjbGFtcCh3aWR0aCwgUEFORUxfTUlOX1dJRFRILCBjb21wdXRlTWF4UGFuZWxXaWR0aChhdmFpbGFibGVXaWR0aCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0b3JlZFBhbmVsV2lkdGgoKTogbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gUEFORUxfREVGQVVMVF9XSURUSDtcbiAgdHJ5IHtcbiAgICBjb25zdCByYXcgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oUEFORUxfV0lEVEhfU1RPUkFHRV9LRVkpO1xuICAgIGNvbnN0IHZhbHVlID0gcmF3ID8gTnVtYmVyKHJhdykgOiBOdW1iZXIuTmFOO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkgcmV0dXJuIFBBTkVMX0RFRkFVTFRfV0lEVEg7XG4gICAgLy8gT25seSBlbmZvcmNlIGFic29sdXRlIGJvdW5kcyBhdCB0aGUgc3RvcmFnZSBsYXllcjsgdGhlIGNvbnRhaW5lci1yZWxhdGl2ZVxuICAgIC8vIG1heCBpcyBhcHBsaWVkIGF0IHJlbmRlciB0aW1lIChzZWUgbW9kdWxlIGRvY3MpLlxuICAgIHJldHVybiBjbGFtcCh2YWx1ZSwgUEFORUxfTUlOX1dJRFRILCBQQU5FTF9IQVJEX01BWF9XSURUSCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBQQU5FTF9ERUZBVUxUX1dJRFRIO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVN0b3JlZFBhbmVsV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcbiAgdHJ5IHtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICBQQU5FTF9XSURUSF9TVE9SQUdFX0tFWSxcbiAgICAgIFN0cmluZyhNYXRoLnJvdW5kKHdpZHRoKSlcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICAvLyBCZXN0LWVmZm9ydCAocHJpdmF0ZSBtb2RlLCBxdW90YSkuXG4gIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"detail-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/new-trace-viewer/components/detail-panel.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAiDf;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,gBAAgB,EAChB,OAAO,GACR,EAAE;IACD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,GAAG,SAAS,CAoMZ"}