@workflow/web-shared 5.0.0-beta.4 → 5.0.0-beta.41

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 (517) hide show
  1. package/README.md +5 -13
  2. package/dist/components/error-boundary.js +1 -1
  3. package/dist/components/event-list-view.d.ts +46 -1
  4. package/dist/components/event-list-view.d.ts.map +1 -1
  5. package/dist/components/event-list-view.js +235 -97
  6. package/dist/components/hook-actions.js +1 -1
  7. package/dist/components/index.d.ts +8 -5
  8. package/dist/components/index.d.ts.map +1 -1
  9. package/dist/components/index.js +6 -4
  10. package/dist/components/sidebar/attribute-panel.d.ts +4 -1
  11. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  12. package/dist/components/sidebar/attribute-panel.js +173 -119
  13. package/dist/components/sidebar/attributes-block.d.ts +40 -0
  14. package/dist/components/sidebar/attributes-block.d.ts.map +1 -0
  15. package/dist/components/sidebar/attributes-block.js +140 -0
  16. package/dist/components/sidebar/conversation-view.js +1 -1
  17. package/dist/components/sidebar/copyable-data-block.d.ts +2 -0
  18. package/dist/components/sidebar/copyable-data-block.d.ts.map +1 -1
  19. package/dist/components/sidebar/copyable-data-block.js +17 -16
  20. package/dist/components/sidebar/entity-detail-panel.d.ts +11 -11
  21. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  22. package/dist/components/sidebar/entity-detail-panel.js +37 -71
  23. package/dist/components/sidebar/events-list.d.ts +6 -2
  24. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  25. package/dist/components/sidebar/events-list.js +77 -63
  26. package/dist/components/sidebar/resolve-hook-modal.js +1 -1
  27. package/dist/components/sidebar/sidebar-data-context.d.ts +10 -7
  28. package/dist/components/sidebar/sidebar-data-context.d.ts.map +1 -1
  29. package/dist/components/sidebar/sidebar-data-context.js +1 -1
  30. package/dist/components/sidebar/span-detail-merge.d.ts +31 -0
  31. package/dist/components/sidebar/span-detail-merge.d.ts.map +1 -0
  32. package/dist/components/sidebar/span-detail-merge.js +92 -0
  33. package/dist/components/sidebar/use-selected-span-detail.d.ts +16 -0
  34. package/dist/components/sidebar/use-selected-span-detail.d.ts.map +1 -0
  35. package/dist/components/sidebar/use-selected-span-detail.js +93 -0
  36. package/dist/components/stream-viewer-skeleton.d.ts +2 -0
  37. package/dist/components/stream-viewer-skeleton.d.ts.map +1 -0
  38. package/dist/components/stream-viewer-skeleton.js +12 -0
  39. package/dist/components/stream-viewer.d.ts +1 -1
  40. package/dist/components/stream-viewer.d.ts.map +1 -1
  41. package/dist/components/stream-viewer.js +9 -26
  42. package/dist/components/trace-viewer/components/copy-button.d.ts.map +1 -0
  43. package/dist/components/trace-viewer/components/copy-button.js +27 -0
  44. package/dist/components/trace-viewer/components/detail-panel-width.d.ts +34 -0
  45. package/dist/components/trace-viewer/components/detail-panel-width.d.ts.map +1 -0
  46. package/dist/components/trace-viewer/components/detail-panel-width.js +67 -0
  47. package/dist/components/trace-viewer/components/detail-panel.d.ts +14 -0
  48. package/dist/components/trace-viewer/components/detail-panel.d.ts.map +1 -0
  49. package/dist/components/trace-viewer/components/detail-panel.js +122 -0
  50. package/dist/components/trace-viewer/components/draggable-border.d.ts +31 -0
  51. package/dist/components/trace-viewer/components/draggable-border.d.ts.map +1 -0
  52. package/dist/components/trace-viewer/components/draggable-border.js +140 -0
  53. package/dist/components/trace-viewer/components/event-list.d.ts +10 -0
  54. package/dist/components/trace-viewer/components/event-list.d.ts.map +1 -0
  55. package/dist/components/trace-viewer/components/event-list.js +47 -0
  56. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
  57. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.js +54 -0
  58. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
  59. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
  60. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.d.ts +1 -1
  61. package/dist/components/trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
  62. package/dist/components/trace-viewer/components/middle-truncate/truncate.js +101 -0
  63. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
  64. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
  65. package/dist/components/trace-viewer/components/minimap.d.ts +14 -0
  66. package/dist/components/trace-viewer/components/minimap.d.ts.map +1 -0
  67. package/dist/components/trace-viewer/components/minimap.js +337 -0
  68. package/dist/components/trace-viewer/components/pane-constants.d.ts +14 -0
  69. package/dist/components/trace-viewer/components/pane-constants.d.ts.map +1 -0
  70. package/dist/components/trace-viewer/components/pane-constants.js +16 -0
  71. package/dist/components/trace-viewer/components/span-markers.d.ts +46 -0
  72. package/dist/components/trace-viewer/components/span-markers.d.ts.map +1 -0
  73. package/dist/components/trace-viewer/components/span-markers.js +85 -0
  74. package/dist/components/trace-viewer/components/split-pane.d.ts +10 -0
  75. package/dist/components/trace-viewer/components/split-pane.d.ts.map +1 -0
  76. package/dist/components/trace-viewer/components/split-pane.js +41 -0
  77. package/dist/components/trace-viewer/components/timeline.d.ts +42 -0
  78. package/dist/components/trace-viewer/components/timeline.d.ts.map +1 -0
  79. package/dist/components/trace-viewer/components/timeline.js +321 -0
  80. package/dist/components/trace-viewer/components/timeline.module.css +46 -0
  81. package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts +5 -0
  82. package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts.map +1 -0
  83. package/dist/components/trace-viewer/components/trace-shortcut-helper.js +55 -0
  84. package/dist/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
  85. package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts +2 -0
  86. package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -0
  87. package/dist/components/trace-viewer/components/trace-viewer-skeleton.js +26 -0
  88. package/dist/components/trace-viewer/components/use-element-width.d.ts +8 -0
  89. package/dist/components/trace-viewer/components/use-element-width.d.ts.map +1 -0
  90. package/dist/components/trace-viewer/components/use-element-width.js +25 -0
  91. package/dist/components/trace-viewer/components/use-row-window.d.ts +34 -0
  92. package/dist/components/trace-viewer/components/use-row-window.d.ts.map +1 -0
  93. package/dist/components/trace-viewer/components/use-row-window.js +107 -0
  94. package/dist/components/trace-viewer/context.d.ts +14 -182
  95. package/dist/components/trace-viewer/context.d.ts.map +1 -1
  96. package/dist/components/trace-viewer/context.js +44 -351
  97. package/dist/components/trace-viewer/icons.d.ts.map +1 -0
  98. package/dist/components/trace-viewer/icons.js +15 -0
  99. package/dist/components/trace-viewer/search.d.ts +19 -0
  100. package/dist/components/trace-viewer/search.d.ts.map +1 -0
  101. package/dist/components/trace-viewer/search.js +134 -0
  102. package/dist/components/trace-viewer/trace-viewer.d.ts +7 -28
  103. package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
  104. package/dist/components/trace-viewer/trace-viewer.js +306 -356
  105. package/dist/components/trace-viewer/types.d.ts +2 -211
  106. package/dist/components/trace-viewer/types.d.ts.map +1 -1
  107. package/dist/components/trace-viewer/types.js +1 -1
  108. package/dist/components/trace-viewer/util/timing.d.ts +2 -2
  109. package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
  110. package/dist/components/trace-viewer/util/timing.js +3 -3
  111. package/dist/components/trace-viewer/utils.d.ts +111 -0
  112. package/dist/components/trace-viewer/utils.d.ts.map +1 -0
  113. package/dist/components/trace-viewer/utils.js +430 -0
  114. package/dist/components/{trace-viewer-new.d.ts → trace-viewer.d.ts} +7 -3
  115. package/dist/components/trace-viewer.d.ts.map +1 -0
  116. package/dist/components/trace-viewer.js +21 -0
  117. package/dist/components/ui/alert.js +3 -3
  118. package/dist/components/ui/button.d.ts +10 -0
  119. package/dist/components/ui/button.d.ts.map +1 -0
  120. package/dist/components/ui/button.js +46 -0
  121. package/dist/components/ui/card.d.ts.map +1 -1
  122. package/dist/components/ui/card.js +4 -4
  123. package/dist/components/ui/collapsible.d.ts +46 -0
  124. package/dist/components/ui/collapsible.d.ts.map +1 -0
  125. package/dist/components/ui/collapsible.js +66 -0
  126. package/dist/components/ui/context-card.d.ts +47 -0
  127. package/dist/components/ui/context-card.d.ts.map +1 -0
  128. package/dist/components/ui/context-card.js +471 -0
  129. package/dist/components/ui/data-inspector.d.ts +7 -6
  130. package/dist/components/ui/data-inspector.d.ts.map +1 -1
  131. package/dist/components/ui/data-inspector.js +232 -99
  132. package/dist/components/ui/data-inspector.styles.d.ts +29 -0
  133. package/dist/components/ui/data-inspector.styles.d.ts.map +1 -0
  134. package/dist/components/ui/data-inspector.styles.js +95 -0
  135. package/dist/components/ui/decrypt-button.js +1 -1
  136. package/dist/components/ui/error-card.js +3 -3
  137. package/dist/components/ui/error-stack-block.d.ts +17 -10
  138. package/dist/components/ui/error-stack-block.d.ts.map +1 -1
  139. package/dist/components/ui/error-stack-block.js +49 -30
  140. package/dist/components/ui/icon-button.d.ts +19 -0
  141. package/dist/components/ui/icon-button.d.ts.map +1 -0
  142. package/dist/components/ui/icon-button.js +29 -0
  143. package/dist/components/ui/kbd.d.ts +10 -0
  144. package/dist/components/ui/kbd.d.ts.map +1 -0
  145. package/dist/components/ui/kbd.js +25 -0
  146. package/dist/components/ui/load-more-button.js +1 -1
  147. package/dist/components/ui/menu-dropdown.js +1 -1
  148. package/dist/components/ui/skeleton.js +2 -2
  149. package/dist/components/ui/spinner.js +1 -1
  150. package/dist/components/ui/timestamp-tooltip.d.ts +34 -1
  151. package/dist/components/ui/timestamp-tooltip.d.ts.map +1 -1
  152. package/dist/components/ui/timestamp-tooltip.js +80 -132
  153. package/dist/components/ui/tooltip.d.ts +10 -0
  154. package/dist/components/ui/tooltip.d.ts.map +1 -0
  155. package/dist/components/ui/tooltip.js +12 -0
  156. package/dist/components/workflow-traces/event-colors.d.ts +2 -1
  157. package/dist/components/workflow-traces/event-colors.d.ts.map +1 -1
  158. package/dist/components/workflow-traces/event-colors.js +15 -7
  159. package/dist/components/workflow-traces/trace-span-construction.d.ts +6 -3
  160. package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
  161. package/dist/components/workflow-traces/trace-span-construction.js +71 -30
  162. package/dist/components/workflow-traces/trace-time-utils.js +1 -1
  163. package/dist/hooks/use-dark-mode.js +1 -1
  164. package/dist/hooks/use-intersection-observer.d.ts +17 -0
  165. package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
  166. package/dist/hooks/use-intersection-observer.js +29 -0
  167. package/dist/hooks/use-load-more-on-scroll.d.ts +21 -0
  168. package/dist/hooks/use-load-more-on-scroll.d.ts.map +1 -0
  169. package/dist/hooks/use-load-more-on-scroll.js +28 -0
  170. package/dist/hooks/use-reduced-motion.d.ts +10 -0
  171. package/dist/hooks/use-reduced-motion.d.ts.map +1 -0
  172. package/dist/hooks/use-reduced-motion.js +29 -0
  173. package/dist/index.d.ts +4 -3
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +4 -3
  176. package/dist/lib/cn.d.ts +10 -0
  177. package/dist/lib/cn.d.ts.map +1 -0
  178. package/dist/lib/cn.js +83 -0
  179. package/dist/lib/event-analysis.d.ts +1 -1
  180. package/dist/lib/event-analysis.d.ts.map +1 -1
  181. package/dist/lib/event-analysis.js +3 -2
  182. package/dist/lib/event-materialization.d.ts +1 -1
  183. package/dist/lib/event-materialization.d.ts.map +1 -1
  184. package/dist/lib/event-materialization.js +29 -21
  185. package/dist/lib/exact-event-search-id.d.ts +25 -0
  186. package/dist/lib/exact-event-search-id.d.ts.map +1 -0
  187. package/dist/lib/exact-event-search-id.js +39 -0
  188. package/dist/lib/hydration.d.ts +17 -2
  189. package/dist/lib/hydration.d.ts.map +1 -1
  190. package/dist/lib/hydration.js +194 -23
  191. package/dist/lib/stream-display.js +1 -1
  192. package/dist/lib/toast.js +1 -1
  193. package/dist/lib/trace-builder.d.ts +17 -5
  194. package/dist/lib/trace-builder.d.ts.map +1 -1
  195. package/dist/lib/trace-builder.js +32 -14
  196. package/dist/lib/trace-types.d.ts +54 -0
  197. package/dist/lib/trace-types.d.ts.map +1 -0
  198. package/dist/lib/trace-types.js +2 -0
  199. package/dist/lib/utils.d.ts +14 -2
  200. package/dist/lib/utils.d.ts.map +1 -1
  201. package/dist/lib/utils.js +46 -6
  202. package/dist/lib/zstd-browser-decoder.d.ts +7 -0
  203. package/dist/lib/zstd-browser-decoder.d.ts.map +1 -0
  204. package/dist/lib/zstd-browser-decoder.js +41 -0
  205. package/dist/styles.css +210 -139
  206. package/package.json +11 -8
  207. package/src/components/event-list-view.tsx +385 -123
  208. package/src/components/index.ts +14 -8
  209. package/src/components/sidebar/attribute-panel.tsx +331 -282
  210. package/src/components/sidebar/attributes-block.tsx +326 -0
  211. package/src/components/sidebar/copyable-data-block.tsx +50 -28
  212. package/src/components/sidebar/entity-detail-panel.tsx +92 -126
  213. package/src/components/sidebar/events-list.tsx +197 -179
  214. package/src/components/sidebar/sidebar-data-context.tsx +11 -11
  215. package/src/components/sidebar/span-detail-merge.ts +134 -0
  216. package/src/components/sidebar/use-selected-span-detail.ts +146 -0
  217. package/src/components/stream-viewer-skeleton.tsx +34 -0
  218. package/src/components/stream-viewer.tsx +34 -106
  219. package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +2 -2
  220. package/src/components/trace-viewer/components/detail-panel-width.test.ts +123 -0
  221. package/src/components/trace-viewer/components/detail-panel-width.ts +76 -0
  222. package/src/components/trace-viewer/components/detail-panel.tsx +273 -0
  223. package/src/components/trace-viewer/components/draggable-border.tsx +216 -0
  224. package/src/components/trace-viewer/components/event-list.tsx +144 -0
  225. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.tsx +8 -8
  226. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +1 -1
  227. package/src/components/trace-viewer/components/minimap.tsx +556 -0
  228. package/src/components/trace-viewer/components/pane-constants.ts +19 -0
  229. package/src/components/trace-viewer/components/span-markers.tsx +173 -0
  230. package/src/components/trace-viewer/components/split-pane.tsx +141 -0
  231. package/src/components/trace-viewer/components/timeline.module.css +46 -0
  232. package/src/components/trace-viewer/components/timeline.tsx +850 -0
  233. package/src/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
  234. package/src/components/trace-viewer/components/trace-shortcut-helper.tsx +116 -0
  235. package/src/components/trace-viewer/components/trace-viewer-skeleton.tsx +114 -0
  236. package/src/components/trace-viewer/components/use-element-width.ts +29 -0
  237. package/src/components/trace-viewer/components/use-row-window.ts +140 -0
  238. package/src/components/trace-viewer/context.tsx +63 -656
  239. package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +2 -2
  240. package/src/components/trace-viewer/search.ts +178 -0
  241. package/src/components/trace-viewer/trace-viewer.tsx +563 -531
  242. package/src/components/trace-viewer/types.ts +2 -234
  243. package/src/components/trace-viewer/util/timing.ts +2 -2
  244. package/src/components/trace-viewer/utils.test.ts +458 -0
  245. package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +271 -50
  246. package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +24 -18
  247. package/src/components/ui/alert.tsx +2 -2
  248. package/src/components/ui/button.tsx +68 -0
  249. package/src/components/ui/card.tsx +3 -10
  250. package/src/components/ui/collapsible.tsx +219 -0
  251. package/src/components/ui/context-card.tsx +784 -0
  252. package/src/components/ui/data-inspector.styles.ts +96 -0
  253. package/src/components/ui/data-inspector.tsx +501 -204
  254. package/src/components/ui/error-card.tsx +4 -4
  255. package/src/components/ui/error-stack-block.tsx +84 -55
  256. package/src/components/ui/icon-button.tsx +53 -0
  257. package/src/components/ui/kbd.tsx +43 -0
  258. package/src/components/ui/skeleton.tsx +1 -1
  259. package/src/components/ui/timestamp-tooltip.tsx +132 -194
  260. package/src/components/ui/tooltip.tsx +47 -0
  261. package/src/components/workflow-traces/event-colors.ts +15 -11
  262. package/src/components/workflow-traces/trace-span-construction.test.ts +85 -0
  263. package/src/components/workflow-traces/trace-span-construction.ts +97 -32
  264. package/src/hooks/use-intersection-observer.ts +57 -0
  265. package/src/hooks/use-load-more-on-scroll.ts +49 -0
  266. package/src/hooks/use-reduced-motion.ts +34 -0
  267. package/src/index.ts +10 -4
  268. package/src/lib/cn.ts +93 -0
  269. package/src/lib/event-analysis.ts +6 -4
  270. package/src/lib/event-materialization.ts +35 -21
  271. package/src/lib/exact-event-search-id.ts +67 -0
  272. package/src/lib/hydration.ts +210 -30
  273. package/src/lib/trace-builder.ts +43 -19
  274. package/src/lib/trace-types.ts +56 -0
  275. package/src/lib/utils.test.ts +33 -0
  276. package/src/lib/utils.ts +53 -6
  277. package/src/lib/zstd-browser-decoder.ts +42 -0
  278. package/src/styles.css +210 -139
  279. package/dist/components/error-boundary.js.map +0 -1
  280. package/dist/components/event-list-view.js.map +0 -1
  281. package/dist/components/hook-actions.js.map +0 -1
  282. package/dist/components/index.js.map +0 -1
  283. package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +0 -1
  284. package/dist/components/new-trace-viewer/components/copy-button.js +0 -27
  285. package/dist/components/new-trace-viewer/components/copy-button.js.map +0 -1
  286. package/dist/components/new-trace-viewer/components/event-list.d.ts +0 -8
  287. package/dist/components/new-trace-viewer/components/event-list.d.ts.map +0 -1
  288. package/dist/components/new-trace-viewer/components/event-list.js +0 -38
  289. package/dist/components/new-trace-viewer/components/event-list.js.map +0 -1
  290. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +0 -1
  291. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +0 -54
  292. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js.map +0 -1
  293. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +0 -1
  294. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +0 -81
  295. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js.map +0 -1
  296. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +0 -1
  297. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +0 -101
  298. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js.map +0 -1
  299. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +0 -1
  300. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +0 -114
  301. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js.map +0 -1
  302. package/dist/components/new-trace-viewer/components/split-pane.d.ts +0 -14
  303. package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +0 -1
  304. package/dist/components/new-trace-viewer/components/split-pane.js +0 -99
  305. package/dist/components/new-trace-viewer/components/split-pane.js.map +0 -1
  306. package/dist/components/new-trace-viewer/components/timeline.d.ts +0 -31
  307. package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
  308. package/dist/components/new-trace-viewer/components/timeline.js +0 -138
  309. package/dist/components/new-trace-viewer/components/timeline.js.map +0 -1
  310. package/dist/components/new-trace-viewer/context.d.ts +0 -15
  311. package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
  312. package/dist/components/new-trace-viewer/context.js +0 -47
  313. package/dist/components/new-trace-viewer/context.js.map +0 -1
  314. package/dist/components/new-trace-viewer/detail-panel.d.ts +0 -10
  315. package/dist/components/new-trace-viewer/detail-panel.d.ts.map +0 -1
  316. package/dist/components/new-trace-viewer/detail-panel.js +0 -12
  317. package/dist/components/new-trace-viewer/detail-panel.js.map +0 -1
  318. package/dist/components/new-trace-viewer/icons.d.ts.map +0 -1
  319. package/dist/components/new-trace-viewer/icons.js +0 -15
  320. package/dist/components/new-trace-viewer/icons.js.map +0 -1
  321. package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -8
  322. package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
  323. package/dist/components/new-trace-viewer/trace-viewer.js +0 -349
  324. package/dist/components/new-trace-viewer/trace-viewer.js.map +0 -1
  325. package/dist/components/new-trace-viewer/types.d.ts +0 -1
  326. package/dist/components/new-trace-viewer/types.d.ts.map +0 -1
  327. package/dist/components/new-trace-viewer/types.js +0 -2
  328. package/dist/components/new-trace-viewer/types.js.map +0 -1
  329. package/dist/components/new-trace-viewer/util/constants.d.ts +0 -1
  330. package/dist/components/new-trace-viewer/util/constants.d.ts.map +0 -1
  331. package/dist/components/new-trace-viewer/util/constants.js +0 -2
  332. package/dist/components/new-trace-viewer/util/constants.js.map +0 -1
  333. package/dist/components/new-trace-viewer/utils.d.ts +0 -42
  334. package/dist/components/new-trace-viewer/utils.d.ts.map +0 -1
  335. package/dist/components/new-trace-viewer/utils.js +0 -305
  336. package/dist/components/new-trace-viewer/utils.js.map +0 -1
  337. package/dist/components/run-trace-view.d.ts +0 -25
  338. package/dist/components/run-trace-view.d.ts.map +0 -1
  339. package/dist/components/run-trace-view.js +0 -11
  340. package/dist/components/run-trace-view.js.map +0 -1
  341. package/dist/components/sidebar/attribute-panel.js.map +0 -1
  342. package/dist/components/sidebar/conversation-view.js.map +0 -1
  343. package/dist/components/sidebar/copyable-data-block.js.map +0 -1
  344. package/dist/components/sidebar/detail-card.d.ts +0 -14
  345. package/dist/components/sidebar/detail-card.d.ts.map +0 -1
  346. package/dist/components/sidebar/detail-card.js +0 -20
  347. package/dist/components/sidebar/detail-card.js.map +0 -1
  348. package/dist/components/sidebar/entity-detail-panel.js.map +0 -1
  349. package/dist/components/sidebar/events-list.js.map +0 -1
  350. package/dist/components/sidebar/resolve-hook-modal.js.map +0 -1
  351. package/dist/components/sidebar/sidebar-data-context.js.map +0 -1
  352. package/dist/components/stream-viewer.js.map +0 -1
  353. package/dist/components/trace-viewer/components/map.d.ts +0 -8
  354. package/dist/components/trace-viewer/components/map.d.ts.map +0 -1
  355. package/dist/components/trace-viewer/components/map.js +0 -162
  356. package/dist/components/trace-viewer/components/map.js.map +0 -1
  357. package/dist/components/trace-viewer/components/markers.d.ts +0 -23
  358. package/dist/components/trace-viewer/components/markers.d.ts.map +0 -1
  359. package/dist/components/trace-viewer/components/markers.js +0 -416
  360. package/dist/components/trace-viewer/components/markers.js.map +0 -1
  361. package/dist/components/trace-viewer/components/node.d.ts +0 -35
  362. package/dist/components/trace-viewer/components/node.d.ts.map +0 -1
  363. package/dist/components/trace-viewer/components/node.js +0 -285
  364. package/dist/components/trace-viewer/components/node.js.map +0 -1
  365. package/dist/components/trace-viewer/components/search-input.d.ts +0 -9
  366. package/dist/components/trace-viewer/components/search-input.d.ts.map +0 -1
  367. package/dist/components/trace-viewer/components/search-input.js +0 -9
  368. package/dist/components/trace-viewer/components/search-input.js.map +0 -1
  369. package/dist/components/trace-viewer/components/search.d.ts +0 -3
  370. package/dist/components/trace-viewer/components/search.d.ts.map +0 -1
  371. package/dist/components/trace-viewer/components/search.js +0 -25
  372. package/dist/components/trace-viewer/components/search.js.map +0 -1
  373. package/dist/components/trace-viewer/components/span-content.d.ts +0 -19
  374. package/dist/components/trace-viewer/components/span-content.d.ts.map +0 -1
  375. package/dist/components/trace-viewer/components/span-content.js +0 -137
  376. package/dist/components/trace-viewer/components/span-content.js.map +0 -1
  377. package/dist/components/trace-viewer/components/span-detail-panel.d.ts +0 -10
  378. package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +0 -1
  379. package/dist/components/trace-viewer/components/span-detail-panel.js +0 -285
  380. package/dist/components/trace-viewer/components/span-detail-panel.js.map +0 -1
  381. package/dist/components/trace-viewer/components/span-segments.d.ts +0 -50
  382. package/dist/components/trace-viewer/components/span-segments.d.ts.map +0 -1
  383. package/dist/components/trace-viewer/components/span-segments.js +0 -445
  384. package/dist/components/trace-viewer/components/span-segments.js.map +0 -1
  385. package/dist/components/trace-viewer/components/span-strategies.d.ts +0 -46
  386. package/dist/components/trace-viewer/components/span-strategies.d.ts.map +0 -1
  387. package/dist/components/trace-viewer/components/span-strategies.js +0 -108
  388. package/dist/components/trace-viewer/components/span-strategies.js.map +0 -1
  389. package/dist/components/trace-viewer/components/ui.d.ts +0 -28
  390. package/dist/components/trace-viewer/components/ui.d.ts.map +0 -1
  391. package/dist/components/trace-viewer/components/ui.js +0 -39
  392. package/dist/components/trace-viewer/components/ui.js.map +0 -1
  393. package/dist/components/trace-viewer/components/zoom-button.d.ts +0 -3
  394. package/dist/components/trace-viewer/components/zoom-button.d.ts.map +0 -1
  395. package/dist/components/trace-viewer/components/zoom-button.js +0 -29
  396. package/dist/components/trace-viewer/components/zoom-button.js.map +0 -1
  397. package/dist/components/trace-viewer/components/zoom-icons.d.ts +0 -11
  398. package/dist/components/trace-viewer/components/zoom-icons.d.ts.map +0 -1
  399. package/dist/components/trace-viewer/components/zoom-icons.js +0 -11
  400. package/dist/components/trace-viewer/components/zoom-icons.js.map +0 -1
  401. package/dist/components/trace-viewer/context.js.map +0 -1
  402. package/dist/components/trace-viewer/index.d.ts +0 -5
  403. package/dist/components/trace-viewer/index.d.ts.map +0 -1
  404. package/dist/components/trace-viewer/index.js +0 -4
  405. package/dist/components/trace-viewer/index.js.map +0 -1
  406. package/dist/components/trace-viewer/trace-viewer.js.map +0 -1
  407. package/dist/components/trace-viewer/trace-viewer.module.css +0 -1465
  408. package/dist/components/trace-viewer/types.js.map +0 -1
  409. package/dist/components/trace-viewer/util/constants.d.ts +0 -9
  410. package/dist/components/trace-viewer/util/constants.d.ts.map +0 -1
  411. package/dist/components/trace-viewer/util/constants.js +0 -9
  412. package/dist/components/trace-viewer/util/constants.js.map +0 -1
  413. package/dist/components/trace-viewer/util/scrollbar-width.d.ts +0 -2
  414. package/dist/components/trace-viewer/util/scrollbar-width.d.ts.map +0 -1
  415. package/dist/components/trace-viewer/util/scrollbar-width.js +0 -14
  416. package/dist/components/trace-viewer/util/scrollbar-width.js.map +0 -1
  417. package/dist/components/trace-viewer/util/timing.js.map +0 -1
  418. package/dist/components/trace-viewer/util/tree.d.ts +0 -13
  419. package/dist/components/trace-viewer/util/tree.d.ts.map +0 -1
  420. package/dist/components/trace-viewer/util/tree.js +0 -227
  421. package/dist/components/trace-viewer/util/tree.js.map +0 -1
  422. package/dist/components/trace-viewer/util/use-immediate-style.d.ts +0 -15
  423. package/dist/components/trace-viewer/util/use-immediate-style.d.ts.map +0 -1
  424. package/dist/components/trace-viewer/util/use-immediate-style.js +0 -23
  425. package/dist/components/trace-viewer/util/use-immediate-style.js.map +0 -1
  426. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +0 -8
  427. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +0 -1
  428. package/dist/components/trace-viewer/util/use-streaming-spans.js +0 -345
  429. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +0 -1
  430. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts +0 -6
  431. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts.map +0 -1
  432. package/dist/components/trace-viewer/util/use-trackpad-zoom.js +0 -39
  433. package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +0 -1
  434. package/dist/components/trace-viewer/worker.d.ts +0 -2
  435. package/dist/components/trace-viewer/worker.d.ts.map +0 -1
  436. package/dist/components/trace-viewer/worker.js +0 -109
  437. package/dist/components/trace-viewer/worker.js.map +0 -1
  438. package/dist/components/trace-viewer-new.d.ts.map +0 -1
  439. package/dist/components/trace-viewer-new.js +0 -23
  440. package/dist/components/trace-viewer-new.js.map +0 -1
  441. package/dist/components/ui/alert.js.map +0 -1
  442. package/dist/components/ui/card.js.map +0 -1
  443. package/dist/components/ui/data-inspector.js.map +0 -1
  444. package/dist/components/ui/decrypt-button.js.map +0 -1
  445. package/dist/components/ui/error-card.js.map +0 -1
  446. package/dist/components/ui/error-stack-block.js.map +0 -1
  447. package/dist/components/ui/inspector-theme.d.ts +0 -95
  448. package/dist/components/ui/inspector-theme.d.ts.map +0 -1
  449. package/dist/components/ui/inspector-theme.js +0 -82
  450. package/dist/components/ui/inspector-theme.js.map +0 -1
  451. package/dist/components/ui/load-more-button.js.map +0 -1
  452. package/dist/components/ui/menu-dropdown.js.map +0 -1
  453. package/dist/components/ui/skeleton.js.map +0 -1
  454. package/dist/components/ui/spinner.js.map +0 -1
  455. package/dist/components/ui/timestamp-tooltip.js.map +0 -1
  456. package/dist/components/workflow-trace-view.d.ts +0 -40
  457. package/dist/components/workflow-trace-view.d.ts.map +0 -1
  458. package/dist/components/workflow-trace-view.js +0 -695
  459. package/dist/components/workflow-trace-view.js.map +0 -1
  460. package/dist/components/workflow-traces/event-colors.js.map +0 -1
  461. package/dist/components/workflow-traces/trace-colors.d.ts +0 -15
  462. package/dist/components/workflow-traces/trace-colors.d.ts.map +0 -1
  463. package/dist/components/workflow-traces/trace-colors.js +0 -87
  464. package/dist/components/workflow-traces/trace-colors.js.map +0 -1
  465. package/dist/components/workflow-traces/trace-span-construction.js.map +0 -1
  466. package/dist/components/workflow-traces/trace-time-utils.js.map +0 -1
  467. package/dist/hooks/use-dark-mode.js.map +0 -1
  468. package/dist/index.js.map +0 -1
  469. package/dist/lib/event-analysis.js.map +0 -1
  470. package/dist/lib/event-materialization.js.map +0 -1
  471. package/dist/lib/hydration.js.map +0 -1
  472. package/dist/lib/stream-display.js.map +0 -1
  473. package/dist/lib/toast.js.map +0 -1
  474. package/dist/lib/trace-builder.js.map +0 -1
  475. package/dist/lib/utils.js.map +0 -1
  476. package/src/components/new-trace-viewer/components/event-list.tsx +0 -116
  477. package/src/components/new-trace-viewer/components/split-pane.tsx +0 -185
  478. package/src/components/new-trace-viewer/components/timeline.tsx +0 -382
  479. package/src/components/new-trace-viewer/context.tsx +0 -92
  480. package/src/components/new-trace-viewer/detail-panel.tsx +0 -58
  481. package/src/components/new-trace-viewer/trace-viewer.tsx +0 -645
  482. package/src/components/new-trace-viewer/types.ts +0 -0
  483. package/src/components/new-trace-viewer/util/constants.ts +0 -0
  484. package/src/components/run-trace-view.tsx +0 -84
  485. package/src/components/sidebar/detail-card.tsx +0 -65
  486. package/src/components/trace-viewer/components/map.tsx +0 -226
  487. package/src/components/trace-viewer/components/markers.tsx +0 -612
  488. package/src/components/trace-viewer/components/node.tsx +0 -505
  489. package/src/components/trace-viewer/components/search-input.tsx +0 -52
  490. package/src/components/trace-viewer/components/search.tsx +0 -47
  491. package/src/components/trace-viewer/components/span-content.tsx +0 -247
  492. package/src/components/trace-viewer/components/span-detail-panel.tsx +0 -655
  493. package/src/components/trace-viewer/components/span-segments.ts +0 -585
  494. package/src/components/trace-viewer/components/span-strategies.ts +0 -205
  495. package/src/components/trace-viewer/components/ui.tsx +0 -156
  496. package/src/components/trace-viewer/components/zoom-button.tsx +0 -61
  497. package/src/components/trace-viewer/components/zoom-icons.tsx +0 -65
  498. package/src/components/trace-viewer/index.tsx +0 -4
  499. package/src/components/trace-viewer/trace-viewer.module.css +0 -1465
  500. package/src/components/trace-viewer/util/constants.ts +0 -8
  501. package/src/components/trace-viewer/util/scrollbar-width.ts +0 -13
  502. package/src/components/trace-viewer/util/tree.ts +0 -277
  503. package/src/components/trace-viewer/util/use-immediate-style.ts +0 -38
  504. package/src/components/trace-viewer/util/use-streaming-spans.ts +0 -426
  505. package/src/components/trace-viewer/util/use-trackpad-zoom.tsx +0 -51
  506. package/src/components/trace-viewer/worker.ts +0 -131
  507. package/src/components/ui/inspector-theme.ts +0 -110
  508. package/src/components/workflow-trace-view.tsx +0 -1171
  509. package/src/components/workflow-traces/trace-colors.ts +0 -112
  510. /package/dist/components/{new-trace-viewer → trace-viewer}/components/copy-button.d.ts +0 -0
  511. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.d.ts +0 -0
  512. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.d.ts +0 -0
  513. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.d.ts +0 -0
  514. /package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
  515. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.ts +0 -0
  516. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
  517. /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
@@ -1,1465 +0,0 @@
1
- .traceNode {
2
- position: relative;
3
- }
4
-
5
- .childRow {
6
- display: flex;
7
- flex-direction: row;
8
- align-items: flex-start;
9
- }
10
-
11
- .spanNode {
12
- position: absolute;
13
- display: flex;
14
- flex-direction: row;
15
- align-items: center;
16
- padding: 0;
17
- background-color: var(--span-background);
18
- color: var(--span-text);
19
- border: 1px solid var(--span-border);
20
- border-radius: 8px;
21
- text-overflow: ellipsis;
22
- white-space: nowrap;
23
- box-shadow: var(--ds-shadow-small);
24
- overflow: hidden;
25
- text-overflow: ellipsis;
26
- content-visibility: auto;
27
- cursor: pointer;
28
- user-select: none;
29
- z-index: 2;
30
-
31
- &.huge {
32
- overflow: visible;
33
-
34
- & .spanName {
35
- flex: 0 1 auto;
36
- position: sticky;
37
- left: 0;
38
- }
39
-
40
- & .spanSpacer {
41
- flex: 1 0 0;
42
- }
43
-
44
- & .spanDuration {
45
- position: sticky;
46
- right: 0;
47
- background-color: var(--span-background);
48
- padding-left: 6px;
49
- box-shadow: -8px 0 16px 8px var(--span-background);
50
- }
51
- }
52
-
53
- &::after {
54
- position: absolute;
55
- left: -1px;
56
- top: -1px;
57
- width: var(--span-width);
58
- height: var(--row-height);
59
- content: "";
60
- }
61
-
62
- &.small:not(.xHover)::after {
63
- top: -7px;
64
- }
65
-
66
- &:hover:not([data-selected]) {
67
- filter: brightness(0.95);
68
- }
69
-
70
- &.xHover {
71
- z-index: 3;
72
- min-width: var(--span-width);
73
- max-width: 75%;
74
- background: linear-gradient(
75
- 90deg,
76
- var(--span-background) calc(var(--span-width) - 1px),
77
- var(--span-line),
78
- var(--geist-background) calc(var(--span-width) + 1px)
79
- );
80
-
81
- &[data-right-side="true"] {
82
- background: linear-gradient(
83
- 270deg,
84
- var(--span-background) calc(var(--span-width) - 1px),
85
- var(--span-line),
86
- var(--geist-background) calc(var(--span-width) + 1px)
87
- );
88
- }
89
-
90
- & .spanName {
91
- max-width: max(var(--span-width), 40vw);
92
- }
93
-
94
- & .spanDuration {
95
- background: none;
96
- box-shadow: none;
97
- }
98
- }
99
-
100
- &.small:not(.xHover) {
101
- background-color: var(--span-background);
102
- border-color: var(--span-border);
103
- border-radius: 4px;
104
- }
105
-
106
- &[data-selected] {
107
- border-width: 2px;
108
- outline: 2px solid var(--span-border);
109
- outline-offset: -1px;
110
-
111
- &:hover {
112
- filter: brightness(0.95);
113
- }
114
- }
115
-
116
- }
117
-
118
- .spanNodeEvent {
119
- position: absolute;
120
- height: var(--row-height);
121
- pointer-events: none;
122
- z-index: 4;
123
-
124
- & .eventDiamond {
125
- --size: 7px;
126
- --offset: -4px;
127
- position: absolute;
128
- left: var(--offset);
129
- bottom: calc(var(--offset) + 1px);
130
- width: var(--size);
131
- height: var(--size);
132
- border: 1px solid var(--span-secondary);
133
- border-radius: 2px;
134
- background: var(--span-background);
135
- transform-origin: 50% 50% 0;
136
- transform: rotate(45deg);
137
- }
138
-
139
- /* Workflow-specific: Use custom event color if provided */
140
- &.customEventColor .eventDiamond {
141
- border-color: var(--event-color, var(--span-border));
142
- background: var(--event-color, var(--span-background));
143
- opacity: 0.8;
144
- }
145
- &.customEventColor .hoverInfo {
146
- border-color: var(--span-border);
147
- background: var(--span-background);
148
- }
149
- &.customEventColor .hoverInfo .eventName {
150
- color: var(--span-text);
151
- font-weight: 500;
152
- }
153
- &.customEventColor .hoverInfo .eventTimestamp {
154
- color: var(--span-secondary);
155
- }
156
-
157
- & .hoverInfo {
158
- position: absolute;
159
- margin-top: -1px;
160
- top: 100%;
161
- display: none;
162
- flex-direction: row;
163
- align-items: center;
164
- gap: 6px;
165
- padding: 3px 6px;
166
- font-size: 12px;
167
- line-height: 1;
168
- background: var(--span-background);
169
- border: 1px solid var(--span-border);
170
- border-radius: 6px;
171
- box-shadow: var(--ds-shadow-small);
172
- transform: translateY(-50%);
173
-
174
- &.alignStart {
175
- left: -10px;
176
- padding-left: 18px;
177
- }
178
- &.alignEnd {
179
- right: -10px;
180
- padding-right: 18px;
181
- }
182
-
183
- & .eventName {
184
- color: var(--span-text);
185
- }
186
- & .eventTimestamp {
187
- color: var(--span-secondary);
188
- font-variant-numeric: tabular-nums;
189
- }
190
- }
191
-
192
- &[data-hovered="true"] {
193
- z-index: 4;
194
-
195
- & .eventDiamond {
196
- background: var(--span-text);
197
- border-color: var(--span-text);
198
- }
199
- & .hoverInfo {
200
- display: flex;
201
- }
202
- }
203
- }
204
-
205
- .colorVercel {
206
- --span-background: var(--ds-background-100);
207
- --span-border: var(--ds-gray-500);
208
- --span-line: var(--ds-gray-400);
209
- --span-text: var(--ds-gray-1000);
210
- --span-secondary: var(--ds-gray-900);
211
- --geist-background: var(--ds-gray-100);
212
- }
213
- .color0 {
214
- --span-background: var(--ds-teal-200);
215
- --span-border: var(--ds-teal-500);
216
- --span-line: var(--ds-teal-400);
217
- --span-text: var(--ds-gray-1000);
218
- --span-secondary: var(--ds-teal-900);
219
- }
220
- .color1 {
221
- --span-background: var(--ds-blue-200);
222
- --span-border: var(--ds-blue-500);
223
- --span-line: var(--ds-blue-400);
224
- --span-text: var(--ds-gray-1000);
225
- --span-secondary: var(--ds-blue-900);
226
- }
227
- .color2 {
228
- --span-background: var(--ds-green-200);
229
- --span-border: var(--ds-green-500);
230
- --span-line: var(--ds-green-400);
231
- --span-text: var(--ds-gray-1000);
232
- --span-secondary: var(--ds-green-900);
233
- }
234
- .color3 {
235
- --span-background: var(--ds-purple-200);
236
- --span-border: var(--ds-purple-500);
237
- --span-line: var(--ds-purple-400);
238
- --span-text: var(--ds-gray-1000);
239
- --span-secondary: var(--ds-purple-900);
240
- }
241
- .color4 {
242
- --span-background: var(--ds-pink-200);
243
- --span-border: var(--ds-pink-500);
244
- --span-line: var(--ds-pink-400);
245
- --span-text: var(--ds-gray-1000);
246
- --span-secondary: var(--ds-pink-900);
247
- }
248
- .colorHighlight {
249
- --span-background: var(--ds-amber-200);
250
- --span-border: var(--ds-amber-500);
251
- --span-line: var(--ds-amber-400);
252
- --span-text: var(--ds-gray-1000);
253
- --span-secondary: var(--ds-amber-900);
254
- }
255
-
256
- .unlit {
257
- opacity: 0.3;
258
- }
259
-
260
- :global(.dark-theme),
261
- :global(.dark) {
262
- & .mapContainer canvas {
263
- filter: invert(1);
264
- }
265
-
266
- & .spanNode.small {
267
- &.xHover,
268
- &:focus-visible {
269
- &::before {
270
- text-shadow: 0 1px 0 black;
271
- }
272
- }
273
- }
274
-
275
- & .spanNode:hover:not([data-selected]) {
276
- filter: brightness(1.05);
277
- }
278
-
279
- & .spanNode[data-selected]:hover {
280
- filter: brightness(1.05);
281
- }
282
- }
283
-
284
- @media (prefers-color-scheme: dark) {
285
- :global(:root:not(.light)) {
286
- & .mapContainer canvas {
287
- filter: invert(1);
288
- }
289
-
290
- & .spanNode.small {
291
- &.xHover,
292
- &:focus-visible {
293
- &::before {
294
- text-shadow: 0 1px 0 black;
295
- }
296
- }
297
- }
298
-
299
- & .spanNode:hover:not([data-selected]) {
300
- filter: brightness(1.05);
301
- }
302
-
303
- & .spanNode[data-selected]:hover {
304
- filter: brightness(1.05);
305
- }
306
- }
307
- }
308
-
309
- .spanName {
310
- flex: 1 1 auto;
311
- padding-inline: 6px;
312
- text-align: left;
313
- overflow: hidden;
314
- text-overflow: ellipsis;
315
- position: relative;
316
- z-index: 1;
317
- }
318
-
319
- .spanDuration {
320
- flex: 0 0 auto;
321
- padding-right: 6px;
322
- font-variant-numeric: tabular-nums;
323
- color: var(--span-secondary, var(--ds-gray-alpha-700));
324
- position: relative;
325
- z-index: 1;
326
- }
327
-
328
- /* SPAN DETAIL PANEL */
329
- .spanDetailPanel {
330
- display: flex;
331
- flex-direction: column;
332
- height: 100%;
333
- align-items: stretch;
334
- justify-content: flex-start;
335
- flex: 0 1 auto;
336
- }
337
-
338
- .spanDetailPanelResizer {
339
- position: absolute;
340
- left: 0;
341
- top: 0;
342
- width: 20px;
343
- height: 100%;
344
- cursor: col-resize;
345
- z-index: 1;
346
-
347
- display: none;
348
- @media (hover: hover) {
349
- display: block;
350
- }
351
- }
352
-
353
- .spanDetailPanelTop {
354
- display: flex;
355
- flex-direction: row;
356
- align-items: stretch;
357
- flex: 0 1 auto;
358
- justify-content: space-between;
359
- position: relative;
360
- }
361
-
362
- .spanDetailPanelBody {
363
- display: flex;
364
- flex-direction: column;
365
- align-items: stretch;
366
- justify-content: flex-start;
367
- gap: 12px;
368
- flex: 1 1 0;
369
- min-height: 0;
370
- padding: 16px 12px 24px;
371
- overflow-x: hidden;
372
- overflow-y: auto;
373
- }
374
-
375
- .spanDetailPanelTopInfo {
376
- --row-height: 32px;
377
- display: flex;
378
- flex-direction: row;
379
- align-items: center;
380
- justify-content: space-between;
381
- gap: 8px;
382
- padding: 8px 12px;
383
- width: 100%;
384
- font-size: 12px;
385
- border-bottom: 1px solid var(--border-color);
386
- flex: 0 1 auto;
387
- }
388
-
389
- .spanNameDetailPanel {
390
- font-size: inherit;
391
- color: var(--ds-gray-1000);
392
- word-break: break-word;
393
- }
394
-
395
- .spanDetailPanelTruncatedHeading {
396
- display: flex;
397
- flex-direction: row;
398
- align-items: center;
399
- gap: 8px;
400
- flex: 0 1 100%;
401
- overflow: hidden;
402
- justify-content: flex-start;
403
- }
404
-
405
- .spanDetailPanelName {
406
- flex: 1 1 0;
407
- font-size: 12px;
408
- font-weight: 500;
409
- min-width: 0;
410
- overflow: hidden;
411
- text-overflow: ellipsis;
412
- white-space: nowrap;
413
- color: var(--ds-gray-1000);
414
- }
415
-
416
- .spanDetailPanelDuration {
417
- font-family: var(--font-mono);
418
- font-size: 10px;
419
- font-variant-numeric: tabular-nums;
420
- color: var(--ds-gray-600);
421
- background-color: var(--ds-gray-200);
422
- padding: 2px 6px;
423
- border-radius: 4px;
424
- flex-shrink: 0;
425
- }
426
-
427
- .spanDetailPanelCorner {
428
- display: flex;
429
- flex-direction: row;
430
- align-items: center;
431
- gap: 8px;
432
- flex: 0 0 auto;
433
- height: var(--row-height);
434
- justify-content: flex-end;
435
- }
436
-
437
- .spanDetailPanelCornerInner {
438
- display: flex;
439
- flex-direction: row;
440
- align-items: stretch;
441
- justify-content: flex-start;
442
- flex: 0 1 auto;
443
- }
444
-
445
- .spanDetailPanelCloseVerticalRule {
446
- border-left: 1px solid var(--ds-gray-300);
447
- height: 16px;
448
- }
449
-
450
- .spanDetailPanelClose {
451
- display: flex;
452
- align-items: center;
453
- justify-content: center;
454
- width: 24px;
455
- height: 24px;
456
- background: none;
457
- border: none;
458
- border-radius: 4px;
459
- cursor: pointer;
460
-
461
- &:hover,
462
- &:focus-visible {
463
- background-color: var(--ds-gray-200);
464
- }
465
- }
466
-
467
- .spanDetailPanelAttribute {
468
- margin: 0;
469
- padding-block: 8px;
470
- display: flex;
471
- flex-direction: row;
472
- align-items: center;
473
- justify-content: space-between;
474
- gap: 16px;
475
- font-size: 14px;
476
- line-height: 1.4;
477
- border-bottom: 1px solid var(--border-color);
478
-
479
- &:last-child {
480
- border-bottom: none;
481
- }
482
- }
483
-
484
- .spanDetailPanelAttributeKey {
485
- flex: 0 0 auto;
486
- margin: 0;
487
- padding-left: 8px;
488
- font-size: inherit;
489
- color: var(--ds-gray-900);
490
- }
491
-
492
- .spanDetailPanelAttributeValue {
493
- flex: 0 1 auto;
494
- margin: 0;
495
- padding-right: 8px;
496
- font-family: var(--font-mono);
497
- font-size: 13px;
498
- white-space: nowrap;
499
- overflow-x: hidden;
500
- text-overflow: ellipsis;
501
- }
502
-
503
- .spanDetailPanelQuickLink {
504
- color: inherit;
505
- text-decoration: none;
506
- &:hover .spanDetailPanelQuickLinkLabel {
507
- text-decoration: underline;
508
- }
509
- }
510
-
511
- .spanDetailPanelQuickLinkLabel {
512
- display: flex;
513
- flex-direction: row;
514
- align-items: center;
515
- gap: 8px;
516
- font: inherit;
517
- }
518
-
519
- .detailGroup {
520
- display: flex;
521
- flex-direction: column;
522
- align-items: stretch;
523
- justify-content: flex-start;
524
- flex: 0 1 auto;
525
- &::after {
526
- margin: 12px -12px 0;
527
- height: 1px;
528
- background: var(--border-color);
529
- content: "";
530
- }
531
- }
532
-
533
- .expanded,
534
- .collapsed,
535
- .ancestorGroup {
536
- /* Explicit class tokens used by TS for CSS Modules */
537
- }
538
-
539
- .detailHeading {
540
- display: flex;
541
- flex-direction: row;
542
- justify-content: space-between;
543
- align-items: center;
544
- padding: 8px;
545
- font-family: inherit;
546
- font-size: 14px;
547
- font-weight: 500;
548
- background: none;
549
- color: var(--ds-gray-1000);
550
- border: none;
551
- border-radius: 6px;
552
- cursor: pointer;
553
- -webkit-tap-highlight-color: transparent;
554
-
555
- &:hover,
556
- &:focus-visible {
557
- background-color: var(--ds-gray-100);
558
- }
559
- }
560
-
561
- /* Local replacements for external UI */
562
- .buttonLink {
563
- display: inline-flex;
564
- align-items: center;
565
- gap: 6px;
566
- padding: 4px 8px;
567
- font-size: 12px;
568
- line-height: 1;
569
- color: var(--ds-gray-1000);
570
- text-decoration: none;
571
- background-color: var(--ds-background-100);
572
- border: 1px solid var(--accents-2);
573
- border-radius: 6px;
574
- }
575
-
576
- .buttonLink:hover,
577
- .buttonLink:focus-visible {
578
- background-color: var(--ds-gray-100);
579
- }
580
-
581
- .note {
582
- padding: 8px 10px;
583
- color: var(--ds-gray-900);
584
- background-color: var(--ds-background-100);
585
- border: 1px solid var(--ds-gray-300);
586
- border-radius: 6px;
587
- }
588
-
589
- .skeleton {
590
- display: inline-block;
591
- background-color: var(--ds-gray-200);
592
- border-radius: 4px;
593
- }
594
-
595
- .skeletonRounded {
596
- border-radius: 50%;
597
- }
598
-
599
- .detailGroup.collapsed .detailHeadingIcon {
600
- transform: rotate(-90deg);
601
- }
602
-
603
- .infraSpanDescription {
604
- padding: 8px;
605
- font-size: 14px;
606
- line-height: 1.4;
607
- color: var(--ds-gray-900);
608
- display: flex;
609
- flex-direction: column;
610
- gap: 16px;
611
- }
612
-
613
- .ancestorNode {
614
- padding: 8px 8px 8px;
615
- font-family: inherit;
616
- font-size: 13px;
617
- background: none;
618
- border: none;
619
- border-radius: 6px;
620
- cursor: pointer;
621
- -webkit-tap-highlight-color: transparent;
622
-
623
- &:hover,
624
- &:focus-visible {
625
- background: var(--ds-gray-100);
626
- }
627
- }
628
-
629
- .ancestorText {
630
- display: flex;
631
- flex-direction: row;
632
- justify-content: space-between;
633
- align-items: center;
634
- gap: 4px;
635
- color: var(--ds-gray-900);
636
- white-space: nowrap;
637
- }
638
-
639
- .ancestorName {
640
- overflow: hidden;
641
- text-overflow: ellipsis;
642
- }
643
-
644
- .ancestorDuration {
645
- /* font-family: var(--font-mono); */
646
- font-variant-numeric: tabular-nums;
647
- }
648
-
649
- .ancestorLineContainer {
650
- position: relative;
651
- margin-top: 6px;
652
- display: block;
653
- width: 100%;
654
- height: 1px;
655
- background-color: var(--ds-gray-alpha-400);
656
-
657
- &::before,
658
- &::after {
659
- position: absolute;
660
- top: -2px;
661
- width: 1px;
662
- height: 5px;
663
- background-color: inherit;
664
- content: "";
665
- }
666
-
667
- &::before {
668
- left: 0;
669
- }
670
-
671
- &::after {
672
- right: 0;
673
- }
674
- }
675
-
676
- .ancestorLine {
677
- position: absolute;
678
- top: -2px;
679
- height: 5px;
680
- background-color: var(--span-background);
681
- border: 1px solid var(--span-line);
682
- border-radius: 1px;
683
- }
684
-
685
- .ancestorNode {
686
- &:hover,
687
- &:focus-visible,
688
- &:last-of-type {
689
- & .ancestorName {
690
- color: var(--ds-gray-1000);
691
- }
692
-
693
- & .ancestorLine {
694
- background-color: var(--span-line);
695
- border-color: var(--span-border);
696
- }
697
- }
698
- }
699
-
700
- /* ZOOM BUTTON */
701
- .zoomButtonGroup {
702
- display: inline-flex;
703
- flex-direction: row;
704
- align-items: stretch;
705
- justify-content: flex-start;
706
- flex: 0 1 auto;
707
- background-color: var(--geist-background);
708
- border-radius: 10ex;
709
- box-shadow: var(--ds-shadow-small);
710
- border: 1px solid var(--accents-2);
711
- animation: zoom-buttons-fade-in 0.3s ease 0.3s backwards;
712
- }
713
-
714
- @keyframes zoom-buttons-fade-in {
715
- from {
716
- opacity: 0;
717
- }
718
- to {
719
- opacity: 1;
720
- }
721
- }
722
-
723
- .zoomButton {
724
- display: flex;
725
- align-items: center;
726
- justify-content: center;
727
- padding: 6px;
728
- height: 32px;
729
- width: 38px;
730
- background-color: transparent;
731
- border: none;
732
- color: var(--accents-5);
733
- box-shadow: none !important;
734
- cursor: pointer;
735
-
736
- &:hover,
737
- &:focus-visible {
738
- color: var(--accents-7);
739
- }
740
- }
741
-
742
- .zoomButton:hover {
743
- background-color: transparent;
744
- color: var(--accents-7);
745
- }
746
-
747
- .zoomButton:focus-visible {
748
- /* TODO */
749
- }
750
-
751
- .divider {
752
- width: 1px;
753
- background-color: var(--accents-2);
754
- margin: -1px;
755
- }
756
-
757
- /* TRACE */
758
- .markersContainer {
759
- position: absolute;
760
- left: -8px;
761
- top: -8px;
762
- width: 100%;
763
- height: calc(100% - var(--scrollbar-width));
764
- line-height: 1;
765
- z-index: 4;
766
- pointer-events: none;
767
- }
768
-
769
- .markers {
770
- position: sticky;
771
- top: 0;
772
- display: flex;
773
- flex-direction: row;
774
- gap: calc(var(--marker-width) - 1px);
775
- height: var(--marker-height);
776
- padding-left: 8px;
777
- background: var(--ds-background-200);
778
- overflow: hidden;
779
- box-shadow: 0 4px 8px 0 var(--ds-background-200);
780
- border-bottom: 1px solid var(--marker-color);
781
- }
782
-
783
- .marker {
784
- position: relative;
785
- flex: 0 0 1px;
786
- border-left: 1px solid var(--marker-color);
787
- font-size: 10px;
788
- font-variant-numeric: tabular-nums;
789
- color: var(--ds-gray-900);
790
-
791
- height: var(--marker-height);
792
- &.notch {
793
- top: calc(var(--marker-height) - var(--marker-notch-height));
794
- height: var(--marker-notch-height);
795
- }
796
- }
797
-
798
- .markerLabel {
799
- position: absolute;
800
- left: 2px;
801
- bottom: 6px;
802
- color: var(--ds-gray-900);
803
- user-select: none;
804
- white-space: nowrap;
805
- }
806
-
807
- .markerClockTime {
808
- display: block;
809
- font-size: 9px;
810
- color: var(--ds-gray-alpha-500);
811
- margin-top: 1px;
812
- letter-spacing: 0.02em;
813
- white-space: nowrap;
814
- }
815
-
816
- .eventMarkersContainer {
817
- position: absolute;
818
- top: -8px;
819
- width: var(--timeline-scroll-width);
820
- height: calc(100% - var(--scrollbar-width));
821
- line-height: 1;
822
- z-index: 1;
823
- pointer-events: none;
824
- }
825
-
826
- .eventMarkers {
827
- position: sticky;
828
- top: 0;
829
- height: calc(100% + 2 * var(--timeline-padding));
830
- overflow: hidden;
831
- }
832
-
833
- .eventMarker {
834
- position: absolute;
835
- border-left: 1px dotted var(--ds-gray-500);
836
- height: 100%;
837
- }
838
-
839
- .cursorMarkerStickyParent {
840
- position: absolute;
841
- left: 0;
842
- top: -8px;
843
- width: var(--timeline-scroll-width);
844
- height: calc(100% + 2 * var(--timeline-padding));
845
- pointer-events: none;
846
- }
847
-
848
- .cursorMarkerLabelContainer {
849
- position: sticky;
850
- top: 0;
851
- left: 0;
852
- display: none;
853
- width: 1px;
854
- height: 100%;
855
- z-index: 5;
856
- pointer-events: none;
857
- }
858
-
859
- .cursorMarkerLabel {
860
- position: sticky;
861
- top: 4px;
862
- width: 1px;
863
- height: var(--marker-height);
864
- background-color: var(--marker-color);
865
-
866
- &[data-text]::before {
867
- margin: 0;
868
- position: absolute;
869
- left: 0;
870
- top: 0;
871
- padding: 0 6px;
872
- height: 18px;
873
- line-height: 16px;
874
- transform: translateX(-50%);
875
- font-size: 10px;
876
- font-weight: 500;
877
- font-variant-numeric: tabular-nums;
878
- background-color: var(--ds-background-100);
879
- color: var(--ds-gray-900);
880
- border: 1px solid var(--ds-gray-500);
881
- border-radius: 10ex;
882
- box-shadow: var(--ds-shadow-small);
883
- content: attr(data-text);
884
- }
885
-
886
- &[data-align="left"]::before {
887
- left: -6px;
888
- transform: unset;
889
- }
890
-
891
- &[data-align="right"]::before {
892
- left: unset;
893
- right: -6px;
894
- transform: unset;
895
- }
896
- }
897
-
898
- .cursorMarkerContainer {
899
- position: sticky;
900
- top: 0;
901
- width: 1px;
902
- height: 100%;
903
- pointer-events: none;
904
- }
905
-
906
- .cursorMarker {
907
- position: sticky;
908
- top: 0;
909
- width: 1px;
910
- height: 100%;
911
- display: none;
912
- background-color: var(--marker-color);
913
- z-index: 1;
914
- }
915
-
916
- .cursorSelection {
917
- position: absolute;
918
- top: 0;
919
- height: 100%;
920
- display: none;
921
- flex-direction: row;
922
- justify-content: space-between;
923
- align-items: flex-end;
924
- gap: 8px;
925
- background-color: var(--ds-gray-100);
926
- border-inline: 1px solid var(--ds-gray-300);
927
-
928
- &::before,
929
- &::after {
930
- position: sticky;
931
- bottom: 8px;
932
- padding: 0 6px;
933
- height: 18px;
934
- line-height: 16px;
935
- font-size: 10px;
936
- font-weight: 500;
937
- font-variant-numeric: tabular-nums;
938
- background-color: var(--ds-background-100);
939
- color: var(--ds-gray-900);
940
- border: 1px solid var(--ds-gray-500);
941
- border-radius: 10ex;
942
- box-shadow: var(--ds-shadow-small);
943
- white-space: nowrap;
944
- }
945
-
946
- &::before {
947
- margin-left: 8px;
948
- content: attr(data-range);
949
- }
950
- &::after {
951
- margin-right: 8px;
952
- content: attr(data-duration);
953
- }
954
- }
955
-
956
- @keyframes span-skeleton {
957
- from {
958
- opacity: 0.6;
959
- }
960
-
961
- to {
962
- opacity: 0.3;
963
- }
964
- }
965
-
966
- .traceViewer {
967
- &.skeleton {
968
- & * {
969
- pointer-events: none !important;
970
- }
971
-
972
- & .mapCanvas {
973
- display: none;
974
- }
975
-
976
- & .markerLabel {
977
- display: none;
978
- }
979
-
980
- & .spanNode {
981
- animation: span-skeleton 1s infinite alternate;
982
-
983
- & * {
984
- display: none;
985
- }
986
- }
987
-
988
- & .zoomButtonTraceViewer {
989
- display: none;
990
- }
991
- }
992
-
993
- & .markers {
994
- border-top: 1px solid var(--marker-color);
995
- border-bottom: none;
996
- }
997
-
998
- & .marker.notch {
999
- top: 0;
1000
- }
1001
-
1002
- & .markerLabel {
1003
- bottom: 3px;
1004
- }
1005
-
1006
- & .cursorMarkerLabel {
1007
- top: 8px;
1008
- }
1009
- }
1010
-
1011
- .timeline:hover {
1012
- & .cursorMarkerLabelContainer,
1013
- & .cursorMarker {
1014
- display: block;
1015
- }
1016
- }
1017
-
1018
- /* SEARCH BAR */
1019
- .searchBar {
1020
- position: absolute;
1021
- left: 0;
1022
- top: var(--search-gap);
1023
- display: flex;
1024
- flex-direction: row;
1025
- gap: var(--search-gap);
1026
- width: 100%;
1027
- padding-inline: var(--search-gap);
1028
- height: var(--search-height);
1029
- }
1030
-
1031
- .searchInput {
1032
- flex: 0 1 100%;
1033
- position: relative;
1034
- height: var(--search-height);
1035
- background: var(--ds-background-100);
1036
- }
1037
-
1038
- .searchInputLabel {
1039
- display: flex;
1040
- align-items: center;
1041
- justify-content: center;
1042
- border-radius: 6px;
1043
- box-shadow: 0 0 0 1px var(--border-color, var(--ds-gray-alpha-400));
1044
-
1045
- & input {
1046
- margin-left: -16px;
1047
- padding-inline: 12px;
1048
- font-family: inherit;
1049
- font-size: 14px;
1050
- background: transparent;
1051
- border: none;
1052
- outline: none;
1053
-
1054
- &::-webkit-search-decoration,
1055
- &::-webkit-search-cancel-button,
1056
- &::-webkit-search-results-button,
1057
- &::-webkit-search-results-decoration {
1058
- display: none;
1059
- }
1060
- }
1061
- }
1062
-
1063
- .searchInputPrefix {
1064
- width: var(--search-height);
1065
- height: var(--search-height);
1066
- display: flex;
1067
- align-items: center;
1068
- justify-content: center;
1069
- color: var(--ds-gray-800);
1070
- }
1071
-
1072
- /* MINI MAP */
1073
- .mapContainer {
1074
- position: absolute;
1075
- left: 0;
1076
- top: calc(var(--search-height) + 2 * var(--search-gap));
1077
- /* border-bottom: 1px solid var(--border-color); */
1078
- cursor: move;
1079
- }
1080
-
1081
- .mapCanvas {
1082
- position: absolute;
1083
- left: 0;
1084
- top: 0;
1085
- z-index: 1;
1086
- pointer-events: none;
1087
- mix-blend-mode: multiply;
1088
- }
1089
-
1090
- :global(.dark-theme) .mapCanvas,
1091
- :global(.dark) .mapCanvas {
1092
- mix-blend-mode: screen;
1093
- }
1094
-
1095
- @media (prefers-color-scheme: dark) {
1096
- :global(:root:not(.light)) .mapCanvas {
1097
- mix-blend-mode: screen;
1098
- }
1099
- }
1100
-
1101
- .mapThumb {
1102
- position: absolute;
1103
- top: 0;
1104
- height: var(--map-height);
1105
- background: var(--ds-gray-alpha-200);
1106
- border: 1px solid var(--ds-gray-alpha-400);
1107
- border-radius: 3px;
1108
- box-shadow: var(--ds-shadow-small);
1109
- transform: translateX(var(--timeline-padding));
1110
- pointer-events: none;
1111
- }
1112
-
1113
- /* TRACE VIEWER */
1114
- .traceViewer,
1115
- .spanDetailPanelTraceViewer {
1116
- --border-color: var(--ds-gray-300);
1117
- --marker-color: var(--ds-gray-300);
1118
- }
1119
-
1120
- .traceViewer {
1121
- --scrollbar-width: 0;
1122
- position: relative;
1123
- display: flex;
1124
- font-family: var(--font-sans);
1125
- text-rendering: optimizeLegibility;
1126
- text-size-adjust: 100%;
1127
- background-color: var(--ds-background-200);
1128
-
1129
- & button {
1130
- font-family: inherit;
1131
- }
1132
- }
1133
-
1134
- .traceViewerContent {
1135
- position: absolute;
1136
- left: 0;
1137
- top: calc(var(--search-height) + 3 * var(--search-gap) + var(--map-height));
1138
- width: calc(var(--timeline-width) + 2 * var(--timeline-padding));
1139
- height: calc(
1140
- var(--timeline-height) - 2 * var(--timeline-padding) -
1141
- var(--scrollbar-width) - var(--marker-height) - var(--search-height)
1142
- );
1143
-
1144
- &.inert {
1145
- display: none;
1146
- }
1147
- }
1148
-
1149
- .timeline {
1150
- width: calc(var(--timeline-width) + 2 * var(--timeline-padding));
1151
- height: var(--timeline-height);
1152
- font-size: 13px;
1153
- overflow-y: scroll;
1154
- overflow-x: scroll;
1155
- -webkit-overflow-scrolling: touch;
1156
- position: relative;
1157
- }
1158
-
1159
- .zoomButtonTraceViewer {
1160
- position: absolute;
1161
- bottom: calc(-12px - var(--search-height) - var(--scrollbar-width));
1162
- right: calc(var(--scrollbar-width) + 12px);
1163
- z-index: 10;
1164
- }
1165
-
1166
- .spanDetailPanelTraceViewer {
1167
- position: absolute;
1168
- margin-top: -1px;
1169
- right: 0;
1170
- top: calc(
1171
- var(--search-height) + 2 * var(--search-gap) + var(--map-height) + 9px
1172
- );
1173
- bottom: 0;
1174
- width: var(--panel-width);
1175
- border-top: 1px solid var(--ds-gray-200);
1176
- border-left: 1px solid var(--ds-gray-200);
1177
- background-color: var(--geist-background);
1178
- z-index: 10;
1179
-
1180
- &.hidden {
1181
- display: none;
1182
- }
1183
-
1184
- &.mobile {
1185
- --panel-width: calc(var(--timeline-width) + 2 * var(--timeline-padding));
1186
- top: 0;
1187
- border-left: none;
1188
- }
1189
- }
1190
-
1191
- /* Workflow-specific styles */
1192
-
1193
- /* Step statuses */
1194
- .spanRunning,
1195
- .spanPending {
1196
- --span-background: var(--ds-blue-200);
1197
- --span-border: var(--ds-blue-500);
1198
- --span-line: var(--ds-blue-400);
1199
- --span-text: var(--ds-gray-1000);
1200
- --span-secondary: var(--ds-blue-900);
1201
- }
1202
-
1203
- .spanCompleted {
1204
- --span-background: var(--ds-green-200);
1205
- --span-border: var(--ds-green-500);
1206
- --span-line: var(--ds-green-400);
1207
- --span-text: var(--ds-gray-1000);
1208
- --span-secondary: var(--ds-green-900);
1209
- }
1210
-
1211
- .spanCancelled {
1212
- --span-background: var(--ds-amber-200);
1213
- --span-border: var(--ds-amber-500);
1214
- --span-line: var(--ds-amber-400);
1215
- --span-text: var(--ds-gray-1000);
1216
- --span-secondary: var(--ds-amber-900);
1217
- }
1218
-
1219
- .spanFailed {
1220
- --span-background: var(--ds-red-200);
1221
- --span-border: var(--ds-red-500);
1222
- --span-line: var(--ds-red-400);
1223
- --span-text: var(--ds-gray-1000);
1224
- --span-secondary: var(--ds-red-900);
1225
- }
1226
-
1227
- /* Striped background for pending status */
1228
- .spanPendingStriped {
1229
- --span-background: repeating-linear-gradient(
1230
- 45deg,
1231
- var(--ds-blue-200),
1232
- var(--ds-blue-200) 10px,
1233
- color-mix(in srgb, var(--ds-blue-200) 70%, white) 10px,
1234
- color-mix(in srgb, var(--ds-blue-200) 70%, white) 20px
1235
- );
1236
- --span-border: var(--ds-blue-500);
1237
- --span-line: var(--ds-blue-400);
1238
- --span-text: var(--ds-gray-1000);
1239
- --span-secondary: var(--ds-blue-900);
1240
- }
1241
-
1242
- .hasQueuedTime {
1243
- &::before {
1244
- content: "";
1245
- position: absolute;
1246
- left: var(--queued-width);
1247
- height: 100%;
1248
- border-left: 2px dotted var(--ds-gray-700);
1249
- pointer-events: none;
1250
- }
1251
- }
1252
-
1253
- /* Sleep step - light yellow/orange */
1254
- .spanSleep {
1255
- --span-background: var(--ds-amber-200);
1256
- --span-border: var(--ds-amber-500);
1257
- --span-line: var(--ds-amber-400);
1258
- --span-text: var(--ds-gray-1000);
1259
- --span-secondary: var(--ds-amber-900);
1260
- }
1261
-
1262
- /* Hooks - gray color scheme */
1263
- .spanHook {
1264
- --span-background: var(--ds-gray-200);
1265
- --span-border: var(--ds-gray-500);
1266
- --span-line: var(--ds-gray-400);
1267
- --span-text: var(--ds-gray-1000);
1268
- --span-secondary: var(--ds-gray-900);
1269
- }
1270
-
1271
- /* ──────────────────────────────────────────────────────────────────────── */
1272
- /* Span segments — colored sections overlaid inside span bars */
1273
- /* ──────────────────────────────────────────────────────────────────────── */
1274
-
1275
- .segmentLayer {
1276
- position: absolute;
1277
- inset: 0;
1278
- z-index: 0;
1279
- border-radius: inherit;
1280
- pointer-events: none;
1281
- }
1282
-
1283
- .segment {
1284
- position: absolute;
1285
- top: 0;
1286
- bottom: 0;
1287
- pointer-events: auto;
1288
- overflow: hidden;
1289
- }
1290
-
1291
- .segmentLabel {
1292
- display: flex;
1293
- align-items: center;
1294
- height: 100%;
1295
- padding: 0 4px;
1296
- font-size: 9px;
1297
- font-variant-numeric: tabular-nums;
1298
- white-space: nowrap;
1299
- color: var(--ds-gray-900);
1300
- opacity: 0.7;
1301
- pointer-events: none;
1302
- user-select: none;
1303
- }
1304
-
1305
- /* Inline segment tags rendered next to the span name */
1306
- .segmentTag {
1307
- font-size: 10px;
1308
- font-variant-numeric: tabular-nums;
1309
- opacity: 0.6;
1310
- white-space: nowrap;
1311
- }
1312
-
1313
- /* Queued: hatched — waiting to start */
1314
- .segQueued {
1315
- background: repeating-linear-gradient(
1316
- 45deg,
1317
- var(--ds-gray-alpha-200),
1318
- var(--ds-gray-alpha-200) 6px,
1319
- var(--ds-gray-alpha-100) 6px,
1320
- var(--ds-gray-alpha-100) 12px
1321
- );
1322
- }
1323
-
1324
- /* Running: soft blue — actively executing */
1325
- .segRunning {
1326
- background-color: var(--ds-blue-200);
1327
- }
1328
-
1329
- /* Failed: soft red — attempt ended in failure */
1330
- .segFailed {
1331
- background-color: var(--ds-red-200);
1332
- }
1333
-
1334
- /* Retrying: hatched — waiting between retry attempts */
1335
- .segRetrying {
1336
- background: repeating-linear-gradient(
1337
- 45deg,
1338
- var(--ds-gray-alpha-200),
1339
- var(--ds-gray-alpha-200) 6px,
1340
- var(--ds-gray-alpha-100) 6px,
1341
- var(--ds-gray-alpha-100) 12px
1342
- );
1343
- }
1344
-
1345
- /* Succeeded: soft green — final successful attempt */
1346
- .segSucceeded {
1347
- background-color: var(--ds-green-200);
1348
- }
1349
-
1350
- /* Waiting: hatched — hook waiting for payload */
1351
- .segWaiting {
1352
- background: repeating-linear-gradient(
1353
- 45deg,
1354
- var(--ds-gray-alpha-200),
1355
- var(--ds-gray-alpha-200) 6px,
1356
- var(--ds-gray-alpha-100) 6px,
1357
- var(--ds-gray-alpha-100) 12px
1358
- );
1359
- }
1360
-
1361
- /* Sleeping: soft amber — sleep in progress */
1362
- .segSleeping {
1363
- background-color: var(--ds-amber-200);
1364
- }
1365
-
1366
- /* Received: soft blue — hook received payload */
1367
- .segReceived {
1368
- background-color: var(--ds-blue-200);
1369
- }
1370
-
1371
- /* Boundary markers — workflow events shown as thin vertical lines instead of diamonds */
1372
- .boundaryMarker {
1373
- & .boundaryLine {
1374
- position: absolute;
1375
- left: -0.5px;
1376
- top: 0;
1377
- bottom: 0;
1378
- width: 1px;
1379
- background-color: transparent;
1380
- z-index: 0;
1381
- transition: background-color 0.15s ease;
1382
- }
1383
-
1384
- &[data-hovered="true"] .boundaryLine {
1385
- background-color: var(--ds-gray-alpha-400);
1386
- }
1387
-
1388
- /* Tooltip must sit above the boundary line */
1389
- & .hoverInfo {
1390
- z-index: 1;
1391
- }
1392
- }
1393
-
1394
- /* When segments are active, make span background transparent so segments show */
1395
- .spanNode.hasSegments {
1396
- background-color: transparent;
1397
-
1398
- &.small:not(.xHover) {
1399
- background-color: transparent;
1400
- }
1401
-
1402
- /* Suppress hover expansion gradient — segments handle the background */
1403
- &.xHover {
1404
- background: none;
1405
- min-width: var(--span-width);
1406
- max-width: var(--span-width);
1407
-
1408
- &[data-right-side="true"] {
1409
- background: none;
1410
- }
1411
- }
1412
-
1413
- /* Remove duration label background bleed — segments provide the visual */
1414
- & .spanDuration {
1415
- background-color: transparent;
1416
- box-shadow: none;
1417
- }
1418
-
1419
- /* Let segment tooltips receive pointer events */
1420
- &::after {
1421
- pointer-events: none;
1422
- }
1423
-
1424
- & .segmentLayer {
1425
- pointer-events: auto;
1426
- }
1427
- }
1428
-
1429
- /* Event markers */
1430
-
1431
- /* Failure events - Red */
1432
- .eventFailed {
1433
- --event-color: var(--ds-red-600);
1434
- --span-background: var(--ds-red-100);
1435
- --span-border: var(--ds-red-500);
1436
- --span-text: var(--ds-red-900);
1437
- --span-secondary: var(--ds-red-700);
1438
- }
1439
-
1440
- /* Retry events - Orange/Yellow */
1441
- .eventRetrying {
1442
- --event-color: var(--ds-amber-600);
1443
- --span-background: var(--ds-amber-100);
1444
- --span-border: var(--ds-amber-500);
1445
- --span-text: var(--ds-amber-900);
1446
- --span-secondary: var(--ds-amber-700);
1447
- }
1448
-
1449
- /* Webhook-related events - Purple */
1450
- .eventHook {
1451
- --event-color: var(--ds-purple-600);
1452
- --span-background: var(--ds-purple-100);
1453
- --span-border: var(--ds-purple-500);
1454
- --span-text: var(--ds-purple-900);
1455
- --span-secondary: var(--ds-purple-700);
1456
- }
1457
-
1458
- /* Default event - Blue */
1459
- .eventDefault {
1460
- --event-color: var(--ds-blue-600);
1461
- --span-background: var(--ds-blue-100);
1462
- --span-border: var(--ds-blue-500);
1463
- --span-text: var(--ds-blue-900);
1464
- --span-secondary: var(--ds-blue-700);
1465
- }