@cucumber/react-components 24.1.2 → 24.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/LICENSE +1 -1
  2. package/dist/src/CucumberQueryContext.d.ts +1 -2
  3. package/dist/src/CucumberQueryContext.d.ts.map +1 -1
  4. package/dist/src/CucumberQueryContext.js +2 -2
  5. package/dist/src/CucumberQueryContext.js.map +1 -1
  6. package/dist/src/GherkinQueryContext.d.ts +1 -2
  7. package/dist/src/GherkinQueryContext.d.ts.map +1 -1
  8. package/dist/src/GherkinQueryContext.js +2 -2
  9. package/dist/src/GherkinQueryContext.js.map +1 -1
  10. package/dist/src/SearchContext.d.ts +11 -5
  11. package/dist/src/SearchContext.d.ts.map +1 -1
  12. package/dist/src/SearchContext.js +4 -2
  13. package/dist/src/SearchContext.js.map +1 -1
  14. package/dist/src/ciCommitLink.d.ts +1 -1
  15. package/dist/src/ciCommitLink.d.ts.map +1 -1
  16. package/dist/src/ciCommitLink.js +1 -1
  17. package/dist/src/ciCommitLink.js.map +1 -1
  18. package/dist/src/components/app/CICommitLink.d.ts +2 -2
  19. package/dist/src/components/app/CICommitLink.d.ts.map +1 -1
  20. package/dist/src/components/app/CICommitLink.js +3 -8
  21. package/dist/src/components/app/CICommitLink.js.map +1 -1
  22. package/dist/src/components/app/CIJobLink.d.ts +2 -2
  23. package/dist/src/components/app/CIJobLink.d.ts.map +1 -1
  24. package/dist/src/components/app/CIJobLink.js +3 -7
  25. package/dist/src/components/app/CIJobLink.js.map +1 -1
  26. package/dist/src/components/app/ControlledSearchProvider.d.ts +2 -2
  27. package/dist/src/components/app/ControlledSearchProvider.d.ts.map +1 -1
  28. package/dist/src/components/app/ControlledSearchProvider.js +24 -2
  29. package/dist/src/components/app/ControlledSearchProvider.js.map +1 -1
  30. package/dist/src/components/app/CopyButton.d.ts +2 -1
  31. package/dist/src/components/app/CopyButton.d.ts.map +1 -1
  32. package/dist/src/components/app/CopyButton.js +4 -4
  33. package/dist/src/components/app/CopyButton.js.map +1 -1
  34. package/dist/src/components/app/DocumentAccordion.d.ts +3 -3
  35. package/dist/src/components/app/DocumentAccordion.d.ts.map +1 -1
  36. package/dist/src/components/app/DocumentAccordion.js +12 -20
  37. package/dist/src/components/app/DocumentAccordion.js.map +1 -1
  38. package/dist/src/components/app/DocumentAccordion.module.scss +15 -7
  39. package/dist/src/components/app/EnvelopesProvider.d.ts +2 -2
  40. package/dist/src/components/app/EnvelopesProvider.d.ts.map +1 -1
  41. package/dist/src/components/app/EnvelopesProvider.js +3 -2
  42. package/dist/src/components/app/EnvelopesProvider.js.map +1 -1
  43. package/dist/src/components/app/ExecutionSummary.d.ts +1 -1
  44. package/dist/src/components/app/ExecutionSummary.d.ts.map +1 -1
  45. package/dist/src/components/app/ExecutionSummary.js +3 -49
  46. package/dist/src/components/app/ExecutionSummary.js.map +1 -1
  47. package/dist/src/components/app/FilteredDocuments.d.ts +1 -1
  48. package/dist/src/components/app/FilteredDocuments.d.ts.map +1 -1
  49. package/dist/src/components/app/FilteredDocuments.js +4 -4
  50. package/dist/src/components/app/FilteredDocuments.js.map +1 -1
  51. package/dist/src/components/app/GherkinDocumentList.d.ts +3 -3
  52. package/dist/src/components/app/GherkinDocumentList.d.ts.map +1 -1
  53. package/dist/src/components/app/GherkinDocumentList.js +8 -9
  54. package/dist/src/components/app/GherkinDocumentList.js.map +1 -1
  55. package/dist/src/components/app/Header.d.ts +1 -1
  56. package/dist/src/components/app/Header.d.ts.map +1 -1
  57. package/dist/src/components/app/Header.js +4 -4
  58. package/dist/src/components/app/Header.js.map +1 -1
  59. package/dist/src/components/app/HealthChart.d.ts +1 -1
  60. package/dist/src/components/app/HealthChart.d.ts.map +1 -1
  61. package/dist/src/components/app/HealthChart.js +6 -7
  62. package/dist/src/components/app/HealthChart.js.map +1 -1
  63. package/dist/src/components/app/HighLight.d.ts +2 -2
  64. package/dist/src/components/app/HighLight.d.ts.map +1 -1
  65. package/dist/src/components/app/HighLight.js +15 -9
  66. package/dist/src/components/app/HighLight.js.map +1 -1
  67. package/dist/src/components/app/ImplementationIcon.d.ts +2 -2
  68. package/dist/src/components/app/ImplementationIcon.d.ts.map +1 -1
  69. package/dist/src/components/app/ImplementationIcon.js +2 -2
  70. package/dist/src/components/app/ImplementationIcon.js.map +1 -1
  71. package/dist/src/components/app/InMemorySearchProvider.d.ts +2 -2
  72. package/dist/src/components/app/InMemorySearchProvider.d.ts.map +1 -1
  73. package/dist/src/components/app/InMemorySearchProvider.js +3 -2
  74. package/dist/src/components/app/InMemorySearchProvider.js.map +1 -1
  75. package/dist/src/components/app/NavigationButton.d.ts +1 -1
  76. package/dist/src/components/app/NavigationButton.d.ts.map +1 -1
  77. package/dist/src/components/app/NavigationButton.js +2 -2
  78. package/dist/src/components/app/NavigationButton.js.map +1 -1
  79. package/dist/src/components/app/OSIcon.d.ts +2 -2
  80. package/dist/src/components/app/OSIcon.d.ts.map +1 -1
  81. package/dist/src/components/app/OSIcon.js +4 -4
  82. package/dist/src/components/app/OSIcon.js.map +1 -1
  83. package/dist/src/components/app/QueriesProvider.d.ts +3 -3
  84. package/dist/src/components/app/QueriesProvider.d.ts.map +1 -1
  85. package/dist/src/components/app/QueriesProvider.js +4 -3
  86. package/dist/src/components/app/QueriesProvider.js.map +1 -1
  87. package/dist/src/components/app/Report.d.ts +1 -1
  88. package/dist/src/components/app/Report.d.ts.map +1 -1
  89. package/dist/src/components/app/Report.js +2 -11
  90. package/dist/src/components/app/Report.js.map +1 -1
  91. package/dist/src/components/app/RuntimeIcon.d.ts +2 -2
  92. package/dist/src/components/app/RuntimeIcon.d.ts.map +1 -1
  93. package/dist/src/components/app/RuntimeIcon.js +4 -4
  94. package/dist/src/components/app/RuntimeIcon.js.map +1 -1
  95. package/dist/src/components/app/SearchBar.d.ts +1 -1
  96. package/dist/src/components/app/SearchBar.d.ts.map +1 -1
  97. package/dist/src/components/app/SearchBar.js +9 -24
  98. package/dist/src/components/app/SearchBar.js.map +1 -1
  99. package/dist/src/components/app/StatusesSummary.d.ts +1 -1
  100. package/dist/src/components/app/StatusesSummary.d.ts.map +1 -1
  101. package/dist/src/components/app/StatusesSummary.js +8 -11
  102. package/dist/src/components/app/StatusesSummary.js.map +1 -1
  103. package/dist/src/components/app/TestRunHooks.d.ts +1 -1
  104. package/dist/src/components/app/TestRunHooks.d.ts.map +1 -1
  105. package/dist/src/components/app/TestRunHooks.js +5 -5
  106. package/dist/src/components/app/TestRunHooks.js.map +1 -1
  107. package/dist/src/components/app/UrlSearchProvider.d.ts +1 -1
  108. package/dist/src/components/app/UrlSearchProvider.d.ts.map +1 -1
  109. package/dist/src/components/app/UrlSearchProvider.js +6 -3
  110. package/dist/src/components/app/UrlSearchProvider.js.map +1 -1
  111. package/dist/src/components/app/icons/CucumberLogo.d.ts +1 -1
  112. package/dist/src/components/app/icons/CucumberLogo.d.ts.map +1 -1
  113. package/dist/src/components/app/icons/CucumberLogo.js +2 -6
  114. package/dist/src/components/app/icons/CucumberLogo.js.map +1 -1
  115. package/dist/src/components/app/icons/Jvm.d.ts +1 -1
  116. package/dist/src/components/app/icons/Jvm.d.ts.map +1 -1
  117. package/dist/src/components/app/icons/Jvm.js +2 -7
  118. package/dist/src/components/app/icons/Jvm.js.map +1 -1
  119. package/dist/src/components/app/icons/Linux.d.ts +1 -1
  120. package/dist/src/components/app/icons/Linux.d.ts.map +1 -1
  121. package/dist/src/components/app/icons/Linux.js +2 -17
  122. package/dist/src/components/app/icons/Linux.js.map +1 -1
  123. package/dist/src/components/app/icons/MacOS.d.ts +1 -1
  124. package/dist/src/components/app/icons/MacOS.d.ts.map +1 -1
  125. package/dist/src/components/app/icons/MacOS.js +2 -3
  126. package/dist/src/components/app/icons/MacOS.js.map +1 -1
  127. package/dist/src/components/app/icons/NodeJs.d.ts +1 -1
  128. package/dist/src/components/app/icons/NodeJs.d.ts.map +1 -1
  129. package/dist/src/components/app/icons/NodeJs.js +2 -5
  130. package/dist/src/components/app/icons/NodeJs.js.map +1 -1
  131. package/dist/src/components/app/icons/Ruby.d.ts +1 -1
  132. package/dist/src/components/app/icons/Ruby.d.ts.map +1 -1
  133. package/dist/src/components/app/icons/Ruby.js +2 -3
  134. package/dist/src/components/app/icons/Ruby.js.map +1 -1
  135. package/dist/src/components/app/icons/Windows.d.ts +1 -1
  136. package/dist/src/components/app/icons/Windows.d.ts.map +1 -1
  137. package/dist/src/components/app/icons/Windows.js +2 -3
  138. package/dist/src/components/app/icons/Windows.js.map +1 -1
  139. package/dist/src/components/app/makeSetupString.d.ts +1 -1
  140. package/dist/src/components/app/makeSetupString.d.ts.map +1 -1
  141. package/dist/src/components/app/makeSetupString.js.map +1 -1
  142. package/dist/src/components/app/markdownComponents.d.ts +9 -0
  143. package/dist/src/components/app/markdownComponents.d.ts.map +1 -0
  144. package/dist/src/components/app/markdownComponents.js +6 -0
  145. package/dist/src/components/app/markdownComponents.js.map +1 -0
  146. package/dist/src/components/app/rehypePlugins.d.ts +2 -2
  147. package/dist/src/components/app/rehypePlugins.d.ts.map +1 -1
  148. package/dist/src/components/app/rehypePlugins.js.map +1 -1
  149. package/dist/src/components/app/remarkPlugins.d.ts +2 -2
  150. package/dist/src/components/app/remarkPlugins.d.ts.map +1 -1
  151. package/dist/src/components/app/remarkPlugins.js.map +1 -1
  152. package/dist/src/components/customise/CustomRendering.d.ts +18 -18
  153. package/dist/src/components/customise/CustomRendering.d.ts.map +1 -1
  154. package/dist/src/components/customise/CustomRendering.js +10 -9
  155. package/dist/src/components/customise/CustomRendering.js.map +1 -1
  156. package/dist/src/components/customise/CustomRendering.stories.scss +0 -17
  157. package/dist/src/components/gherkin/Anchor.d.ts +3 -3
  158. package/dist/src/components/gherkin/Anchor.d.ts.map +1 -1
  159. package/dist/src/components/gherkin/Anchor.js +3 -6
  160. package/dist/src/components/gherkin/Anchor.js.map +1 -1
  161. package/dist/src/components/gherkin/Background.d.ts +3 -3
  162. package/dist/src/components/gherkin/Background.d.ts.map +1 -1
  163. package/dist/src/components/gherkin/Background.js +4 -10
  164. package/dist/src/components/gherkin/Background.js.map +1 -1
  165. package/dist/src/components/gherkin/Children.d.ts +3 -3
  166. package/dist/src/components/gherkin/Children.d.ts.map +1 -1
  167. package/dist/src/components/gherkin/Children.js +3 -3
  168. package/dist/src/components/gherkin/Children.js.map +1 -1
  169. package/dist/src/components/gherkin/DataTable.d.ts +3 -3
  170. package/dist/src/components/gherkin/DataTable.d.ts.map +1 -1
  171. package/dist/src/components/gherkin/DataTable.js +4 -6
  172. package/dist/src/components/gherkin/DataTable.js.map +1 -1
  173. package/dist/src/components/gherkin/Description.d.ts +3 -3
  174. package/dist/src/components/gherkin/Description.d.ts.map +1 -1
  175. package/dist/src/components/gherkin/Description.js +3 -4
  176. package/dist/src/components/gherkin/Description.js.map +1 -1
  177. package/dist/src/components/gherkin/DocString.d.ts +3 -3
  178. package/dist/src/components/gherkin/DocString.d.ts.map +1 -1
  179. package/dist/src/components/gherkin/DocString.js +3 -4
  180. package/dist/src/components/gherkin/DocString.js.map +1 -1
  181. package/dist/src/components/gherkin/ErrorMessage.d.ts +2 -2
  182. package/dist/src/components/gherkin/ErrorMessage.d.ts.map +1 -1
  183. package/dist/src/components/gherkin/ErrorMessage.js +5 -3
  184. package/dist/src/components/gherkin/ErrorMessage.js.map +1 -1
  185. package/dist/src/components/gherkin/ErrorMessage.module.scss +17 -5
  186. package/dist/src/components/gherkin/Examples.d.ts +3 -3
  187. package/dist/src/components/gherkin/Examples.d.ts.map +1 -1
  188. package/dist/src/components/gherkin/Examples.js +7 -18
  189. package/dist/src/components/gherkin/Examples.js.map +1 -1
  190. package/dist/src/components/gherkin/Feature.d.ts +3 -3
  191. package/dist/src/components/gherkin/Feature.d.ts.map +1 -1
  192. package/dist/src/components/gherkin/Feature.js +14 -24
  193. package/dist/src/components/gherkin/Feature.js.map +1 -1
  194. package/dist/src/components/gherkin/GherkinDocument.d.ts +3 -3
  195. package/dist/src/components/gherkin/GherkinDocument.d.ts.map +1 -1
  196. package/dist/src/components/gherkin/GherkinDocument.js +3 -3
  197. package/dist/src/components/gherkin/GherkinDocument.js.map +1 -1
  198. package/dist/src/components/gherkin/Keyword.d.ts +2 -2
  199. package/dist/src/components/gherkin/Keyword.d.ts.map +1 -1
  200. package/dist/src/components/gherkin/Keyword.js +3 -3
  201. package/dist/src/components/gherkin/Keyword.js.map +1 -1
  202. package/dist/src/components/gherkin/Keyword.module.scss +0 -1
  203. package/dist/src/components/gherkin/Parameter.d.ts +3 -3
  204. package/dist/src/components/gherkin/Parameter.d.ts.map +1 -1
  205. package/dist/src/components/gherkin/Parameter.js +4 -4
  206. package/dist/src/components/gherkin/Parameter.js.map +1 -1
  207. package/dist/src/components/gherkin/Rule.d.ts +3 -3
  208. package/dist/src/components/gherkin/Rule.d.ts.map +1 -1
  209. package/dist/src/components/gherkin/Rule.js +11 -21
  210. package/dist/src/components/gherkin/Rule.js.map +1 -1
  211. package/dist/src/components/gherkin/Scenario.d.ts +3 -3
  212. package/dist/src/components/gherkin/Scenario.d.ts.map +1 -1
  213. package/dist/src/components/gherkin/Scenario.js +5 -14
  214. package/dist/src/components/gherkin/Scenario.js.map +1 -1
  215. package/dist/src/components/gherkin/StatusIcon.d.ts +2 -2
  216. package/dist/src/components/gherkin/StatusIcon.d.ts.map +1 -1
  217. package/dist/src/components/gherkin/StatusIcon.js +10 -10
  218. package/dist/src/components/gherkin/StatusIcon.js.map +1 -1
  219. package/dist/src/components/gherkin/StepsList.d.ts +1 -1
  220. package/dist/src/components/gherkin/StepsList.d.ts.map +1 -1
  221. package/dist/src/components/gherkin/StepsList.js +2 -2
  222. package/dist/src/components/gherkin/StepsList.js.map +1 -1
  223. package/dist/src/components/gherkin/Tags.d.ts +3 -3
  224. package/dist/src/components/gherkin/Tags.d.ts.map +1 -1
  225. package/dist/src/components/gherkin/Tags.js +4 -5
  226. package/dist/src/components/gherkin/Tags.js.map +1 -1
  227. package/dist/src/components/gherkin/Title.d.ts +3 -3
  228. package/dist/src/components/gherkin/Title.d.ts.map +1 -1
  229. package/dist/src/components/gherkin/Title.js +3 -4
  230. package/dist/src/components/gherkin/Title.js.map +1 -1
  231. package/dist/src/components/gherkin/attachment/Attachment.d.ts +3 -3
  232. package/dist/src/components/gherkin/attachment/Attachment.d.ts.map +1 -1
  233. package/dist/src/components/gherkin/attachment/Attachment.js +14 -17
  234. package/dist/src/components/gherkin/attachment/Attachment.js.map +1 -1
  235. package/dist/src/components/gherkin/attachment/Attachment.module.scss +15 -5
  236. package/dist/src/components/gherkin/attachment/Image.d.ts +4 -4
  237. package/dist/src/components/gherkin/attachment/Image.d.ts.map +1 -1
  238. package/dist/src/components/gherkin/attachment/Image.js +6 -8
  239. package/dist/src/components/gherkin/attachment/Image.js.map +1 -1
  240. package/dist/src/components/gherkin/attachment/Links.d.ts +3 -3
  241. package/dist/src/components/gherkin/attachment/Links.d.ts.map +1 -1
  242. package/dist/src/components/gherkin/attachment/Links.js +7 -10
  243. package/dist/src/components/gherkin/attachment/Links.js.map +1 -1
  244. package/dist/src/components/gherkin/attachment/Log.d.ts +3 -3
  245. package/dist/src/components/gherkin/attachment/Log.d.ts.map +1 -1
  246. package/dist/src/components/gherkin/attachment/Log.js +3 -3
  247. package/dist/src/components/gherkin/attachment/Log.js.map +1 -1
  248. package/dist/src/components/gherkin/attachment/Text.d.ts +3 -3
  249. package/dist/src/components/gherkin/attachment/Text.d.ts.map +1 -1
  250. package/dist/src/components/gherkin/attachment/Text.js +4 -6
  251. package/dist/src/components/gherkin/attachment/Text.js.map +1 -1
  252. package/dist/src/components/gherkin/attachment/Unknown.d.ts +2 -2
  253. package/dist/src/components/gherkin/attachment/Unknown.d.ts.map +1 -1
  254. package/dist/src/components/gherkin/attachment/Unknown.js +9 -17
  255. package/dist/src/components/gherkin/attachment/Unknown.js.map +1 -1
  256. package/dist/src/components/gherkin/attachment/Video.d.ts +3 -3
  257. package/dist/src/components/gherkin/attachment/Video.d.ts.map +1 -1
  258. package/dist/src/components/gherkin/attachment/Video.js +6 -10
  259. package/dist/src/components/gherkin/attachment/Video.js.map +1 -1
  260. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts +1 -1
  261. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts.map +1 -1
  262. package/dist/src/components/gherkin/attachment/attachmentFilename.js.map +1 -1
  263. package/dist/src/components/gherkin/attachment/base64Decode.d.ts +9 -1
  264. package/dist/src/components/gherkin/attachment/base64Decode.d.ts.map +1 -1
  265. package/dist/src/components/gherkin/attachment/base64Decode.js +17 -3
  266. package/dist/src/components/gherkin/attachment/base64Decode.js.map +1 -1
  267. package/dist/src/components/gherkin/attachment/useText.d.ts +1 -1
  268. package/dist/src/components/gherkin/attachment/useText.d.ts.map +1 -1
  269. package/dist/src/components/gherkin/attachment/useText.js +3 -3
  270. package/dist/src/components/gherkin/attachment/useText.js.map +1 -1
  271. package/dist/src/components/gherkin/composeHookStepTitle.d.ts +1 -1
  272. package/dist/src/components/gherkin/composeHookStepTitle.d.ts.map +1 -1
  273. package/dist/src/components/gherkin/composeHookStepTitle.js +1 -1
  274. package/dist/src/components/gherkin/composeHookStepTitle.js.map +1 -1
  275. package/dist/src/components/gherkin/composePickleStepTitle.d.ts +1 -1
  276. package/dist/src/components/gherkin/composePickleStepTitle.d.ts.map +1 -1
  277. package/dist/src/components/gherkin/composePickleStepTitle.js +2 -2
  278. package/dist/src/components/gherkin/composePickleStepTitle.js.map +1 -1
  279. package/dist/src/components/gherkin/statusName.d.ts +2 -2
  280. package/dist/src/components/gherkin/statusName.d.ts.map +1 -1
  281. package/dist/src/components/gherkin/statusName.js.map +1 -1
  282. package/dist/src/components/results/AmbiguousResult.d.ts +8 -0
  283. package/dist/src/components/results/AmbiguousResult.d.ts.map +1 -0
  284. package/dist/src/components/results/AmbiguousResult.js +11 -0
  285. package/dist/src/components/results/AmbiguousResult.js.map +1 -0
  286. package/dist/src/components/results/AmbiguousResult.module.scss +22 -0
  287. package/dist/src/components/results/FailedResult.d.ts +8 -0
  288. package/dist/src/components/results/FailedResult.d.ts.map +1 -0
  289. package/dist/src/components/results/FailedResult.js +15 -0
  290. package/dist/src/components/results/FailedResult.js.map +1 -0
  291. package/dist/src/components/results/PendingResult.d.ts +8 -0
  292. package/dist/src/components/results/PendingResult.d.ts.map +1 -0
  293. package/dist/src/components/results/PendingResult.js +12 -0
  294. package/dist/src/components/results/PendingResult.js.map +1 -0
  295. package/dist/src/components/results/ResultNote.d.ts +3 -0
  296. package/dist/src/components/results/ResultNote.d.ts.map +1 -0
  297. package/dist/src/components/results/ResultNote.js +6 -0
  298. package/dist/src/components/results/ResultNote.js.map +1 -0
  299. package/dist/src/components/results/ResultNote.module.scss +6 -0
  300. package/dist/src/components/results/SkippedResult.d.ts +8 -0
  301. package/dist/src/components/results/SkippedResult.d.ts.map +1 -0
  302. package/dist/src/components/results/SkippedResult.js +12 -0
  303. package/dist/src/components/results/SkippedResult.js.map +1 -0
  304. package/dist/src/components/results/SourceReference.d.ts +8 -0
  305. package/dist/src/components/results/SourceReference.d.ts.map +1 -0
  306. package/dist/src/components/results/SourceReference.js +13 -0
  307. package/dist/src/components/results/SourceReference.js.map +1 -0
  308. package/dist/src/components/results/SourceReference.module.scss +10 -0
  309. package/dist/src/components/results/TestCaseOutcome.d.ts +2 -2
  310. package/dist/src/components/results/TestCaseOutcome.d.ts.map +1 -1
  311. package/dist/src/components/results/TestCaseOutcome.js +5 -9
  312. package/dist/src/components/results/TestCaseOutcome.js.map +1 -1
  313. package/dist/src/components/results/TestRunHookOutcome.d.ts +2 -2
  314. package/dist/src/components/results/TestRunHookOutcome.d.ts.map +1 -1
  315. package/dist/src/components/results/TestRunHookOutcome.js +4 -13
  316. package/dist/src/components/results/TestRunHookOutcome.js.map +1 -1
  317. package/dist/src/components/results/TestStepAttachments.d.ts +2 -2
  318. package/dist/src/components/results/TestStepAttachments.d.ts.map +1 -1
  319. package/dist/src/components/results/TestStepAttachments.js +4 -5
  320. package/dist/src/components/results/TestStepAttachments.js.map +1 -1
  321. package/dist/src/components/results/TestStepDuration.d.ts +2 -2
  322. package/dist/src/components/results/TestStepDuration.d.ts.map +1 -1
  323. package/dist/src/components/results/TestStepDuration.js +4 -2
  324. package/dist/src/components/results/TestStepDuration.js.map +1 -1
  325. package/dist/src/components/results/TestStepOutcome.d.ts +2 -2
  326. package/dist/src/components/results/TestStepOutcome.d.ts.map +1 -1
  327. package/dist/src/components/results/TestStepOutcome.js +18 -27
  328. package/dist/src/components/results/TestStepOutcome.js.map +1 -1
  329. package/dist/src/components/results/TestStepOutcome.module.scss +1 -1
  330. package/dist/src/components/results/UndefinedResult.d.ts +8 -0
  331. package/dist/src/components/results/UndefinedResult.d.ts.map +1 -0
  332. package/dist/src/components/results/UndefinedResult.js +18 -0
  333. package/dist/src/components/results/UndefinedResult.js.map +1 -0
  334. package/dist/src/components/results/UndefinedResult.module.scss +14 -0
  335. package/dist/src/components/results/index.d.ts +1 -1
  336. package/dist/src/components/results/index.d.ts.map +1 -1
  337. package/dist/src/components/results/index.js +1 -1
  338. package/dist/src/components/results/index.js.map +1 -1
  339. package/dist/src/formatExecutionDuration.js.map +1 -1
  340. package/dist/src/hooks/helpers.js.map +1 -1
  341. package/dist/src/hooks/useFilteredDocuments.d.ts +2 -2
  342. package/dist/src/hooks/useFilteredDocuments.d.ts.map +1 -1
  343. package/dist/src/hooks/useFilteredDocuments.js +70 -18
  344. package/dist/src/hooks/useFilteredDocuments.js.map +1 -1
  345. package/dist/src/hooks/useMostSevereStatusByUri.js.map +1 -1
  346. package/dist/src/hooks/useQueries.d.ts +2 -2
  347. package/dist/src/hooks/useQueries.d.ts.map +1 -1
  348. package/dist/src/hooks/useQueries.js.map +1 -1
  349. package/dist/src/hooks/useResultStatistics.d.ts +3 -2
  350. package/dist/src/hooks/useResultStatistics.d.ts.map +1 -1
  351. package/dist/src/hooks/useResultStatistics.js +19 -2
  352. package/dist/src/hooks/useResultStatistics.js.map +1 -1
  353. package/dist/src/hooks/useSearch.d.ts +1 -1
  354. package/dist/src/hooks/useSearch.d.ts.map +1 -1
  355. package/dist/src/hooks/useSearch.js.map +1 -1
  356. package/dist/src/hooks/useTestCaseStarted.d.ts +6 -1
  357. package/dist/src/hooks/useTestCaseStarted.d.ts.map +1 -1
  358. package/dist/src/hooks/useTestCaseStarted.js +13 -10
  359. package/dist/src/hooks/useTestCaseStarted.js.map +1 -1
  360. package/dist/src/hooks/useTestRunHooks.d.ts +1 -1
  361. package/dist/src/hooks/useTestRunHooks.d.ts.map +1 -1
  362. package/dist/src/hooks/useTestRunHooks.js.map +1 -1
  363. package/dist/src/search/FeatureSearch.d.ts +12 -3
  364. package/dist/src/search/FeatureSearch.d.ts.map +1 -1
  365. package/dist/src/search/FeatureSearch.js +9 -17
  366. package/dist/src/search/FeatureSearch.js.map +1 -1
  367. package/dist/src/search/ScenarioLikeSearch.d.ts +8 -13
  368. package/dist/src/search/ScenarioLikeSearch.d.ts.map +1 -1
  369. package/dist/src/search/ScenarioLikeSearch.js +13 -17
  370. package/dist/src/search/ScenarioLikeSearch.js.map +1 -1
  371. package/dist/src/search/StepSearch.d.ts +9 -16
  372. package/dist/src/search/StepSearch.d.ts.map +1 -1
  373. package/dist/src/search/StepSearch.js +13 -17
  374. package/dist/src/search/StepSearch.js.map +1 -1
  375. package/dist/src/search/TextSearch.d.ts +11 -2
  376. package/dist/src/search/TextSearch.d.ts.map +1 -1
  377. package/dist/src/search/TextSearch.js +59 -52
  378. package/dist/src/search/TextSearch.js.map +1 -1
  379. package/dist/src/search/createSearchIndex.d.ts +7 -0
  380. package/dist/src/search/createSearchIndex.d.ts.map +1 -0
  381. package/dist/src/search/createSearchIndex.js +10 -0
  382. package/dist/src/search/createSearchIndex.js.map +1 -0
  383. package/dist/src/search/deriveLineageConstraints.d.ts +8 -0
  384. package/dist/src/search/deriveLineageConstraints.d.ts.map +1 -0
  385. package/dist/src/search/deriveLineageConstraints.js +38 -0
  386. package/dist/src/search/deriveLineageConstraints.js.map +1 -0
  387. package/dist/src/search/index.d.ts +3 -1
  388. package/dist/src/search/index.d.ts.map +1 -1
  389. package/dist/src/search/index.js +3 -1
  390. package/dist/src/search/index.js.map +1 -1
  391. package/dist/src/search/pruneGherkinDocuments.d.ts +24 -0
  392. package/dist/src/search/pruneGherkinDocuments.d.ts.map +1 -0
  393. package/dist/src/search/pruneGherkinDocuments.js +180 -0
  394. package/dist/src/search/pruneGherkinDocuments.js.map +1 -0
  395. package/dist/src/search/types.d.ts +39 -8
  396. package/dist/src/search/types.d.ts.map +1 -1
  397. package/dist/src/search/types.js +1 -1
  398. package/dist/src/search/types.js.map +1 -1
  399. package/dist/src/styles/statuses.scss +7 -13
  400. package/dist/src/toRepositoryId.d.ts +1 -1
  401. package/dist/src/toRepositoryId.d.ts.map +1 -1
  402. package/dist/src/toRepositoryId.js +7 -6
  403. package/dist/src/toRepositoryId.js.map +1 -1
  404. package/dist/tsconfig.build.tsbuildinfo +1 -1
  405. package/package.json +56 -71
  406. package/dist/src/components/results/TestStepResultDetails.d.ts +0 -4
  407. package/dist/src/components/results/TestStepResultDetails.d.ts.map +0 -1
  408. package/dist/src/components/results/TestStepResultDetails.js +0 -16
  409. package/dist/src/components/results/TestStepResultDetails.js.map +0 -1
  410. package/dist/src/countScenariosByStatuses.d.ts +0 -8
  411. package/dist/src/countScenariosByStatuses.d.ts.map +0 -1
  412. package/dist/src/countScenariosByStatuses.js +0 -22
  413. package/dist/src/countScenariosByStatuses.js.map +0 -1
  414. package/dist/src/filter/filterByStatus.d.ts +0 -5
  415. package/dist/src/filter/filterByStatus.d.ts.map +0 -1
  416. package/dist/src/filter/filterByStatus.js +0 -23
  417. package/dist/src/filter/filterByStatus.js.map +0 -1
  418. package/dist/src/search/Search.d.ts +0 -11
  419. package/dist/src/search/Search.d.ts.map +0 -1
  420. package/dist/src/search/Search.js +0 -46
  421. package/dist/src/search/Search.js.map +0 -1
  422. package/dist/src/search/TagSearch.d.ts +0 -4
  423. package/dist/src/search/TagSearch.d.ts.map +0 -1
  424. package/dist/src/search/TagSearch.js +0 -57
  425. package/dist/src/search/TagSearch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useText.js","sourceRoot":"","sources":["../../../../../src/components/gherkin/attachment/useText.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,UAAU,OAAO,CAAC,UAAsB;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,UAAU,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC1F,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAkB,CAAA;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,GAAG,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;iBAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;iBAC/D;gBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACzB,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SACpC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAChB,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,QAAQ,IAAI,iBAAiB,GAAG,UAAU,CAAC,SAAS,GAAG,GAAG;QAC5E,OAAO;QACP,OAAO;QACP,KAAK;KACN,CAAA;AACH,CAAC","sourcesContent":["import { Attachment } from '@cucumber/messages'\nimport { useEffect, useState } from 'react'\n\nimport { base64Decode } from './base64Decode.js'\n\nexport function useText(attachment: Attachment) {\n const [loading, setLoading] = useState(false)\n const [content, setContent] = useState(\n attachment.contentEncoding === 'BASE64' ? base64Decode(attachment.body) : attachment.body\n )\n const [error, setError] = useState<Error | string>()\n useEffect(() => {\n if (attachment.url) {\n setLoading(true)\n fetch(attachment.url)\n .then((response) => {\n if (response.status !== 200) {\n throw new Error('HTTP error when fetching attachment content')\n }\n return response.text().then((text) => setContent(text))\n })\n .catch((e) => setError(e))\n .finally(() => setLoading(false))\n }\n }, [attachment])\n return {\n title: attachment.fileName ?? 'Attached Text (' + attachment.mediaType + ')',\n loading,\n content,\n error,\n }\n}\n"]}
1
+ {"version":3,"file":"useText.js","sourceRoot":"","sources":["../../../../../src/components/gherkin/attachment/useText.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,UAAU,OAAO,CAAC,UAAsB;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,UAAU,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC9F,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAkB,CAAA;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;iBAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChE,CAAC;gBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACzB,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAChB,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,QAAQ,IAAI,kBAAkB,UAAU,CAAC,SAAS,GAAG;QACvE,OAAO;QACP,OAAO;QACP,KAAK;KACN,CAAA;AACH,CAAC","sourcesContent":["import type { Attachment } from '@cucumber/messages'\nimport { useEffect, useState } from 'react'\n\nimport { base64DecodeText } from './base64Decode.js'\n\nexport function useText(attachment: Attachment) {\n const [loading, setLoading] = useState(false)\n const [content, setContent] = useState(\n attachment.contentEncoding === 'BASE64' ? base64DecodeText(attachment.body) : attachment.body\n )\n const [error, setError] = useState<Error | string>()\n useEffect(() => {\n if (attachment.url) {\n setLoading(true)\n fetch(attachment.url)\n .then((response) => {\n if (response.status !== 200) {\n throw new Error('HTTP error when fetching attachment content')\n }\n return response.text().then((text) => setContent(text))\n })\n .catch((e) => setError(e))\n .finally(() => setLoading(false))\n }\n }, [attachment])\n return {\n title: attachment.fileName ?? `Attached Text (${attachment.mediaType})`,\n loading,\n content,\n error,\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
- import { Hook } from '@cucumber/messages';
1
+ import { type Hook } from '@cucumber/messages';
2
2
  export declare function composeHookStepTitle(hook?: Hook): string;
3
3
  //# sourceMappingURL=composeHookStepTitle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composeHookStepTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/composeHookStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,oBAAoB,CAAA;AAWnD,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAcxD"}
1
+ {"version":3,"file":"composeHookStepTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/composeHookStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAY,MAAM,oBAAoB,CAAA;AAWxD,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAcxD"}
@@ -16,7 +16,7 @@ export function composeHookStepTitle(hook) {
16
16
  result += 'Hook';
17
17
  }
18
18
  if (hook?.name) {
19
- result += ': ' + hook.name;
19
+ result += `: ${hook.name}`;
20
20
  }
21
21
  return result;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"composeHookStepTitle.js","sourceRoot":"","sources":["../../../../src/components/gherkin/composeHookStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,GAA6B;IACvC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW;IACvC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IACrC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY;IACzC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW;IACvC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO;IACnC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU;CACtC,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAW;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,IAAI,EAAE,IAAI,EAAE;QACd,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;SAAM;QACL,MAAM,IAAI,MAAM,CAAA;KACjB;IAED,IAAI,IAAI,EAAE,IAAI,EAAE;QACd,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;KAC3B;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { Hook, HookType } from '@cucumber/messages'\n\nconst labels: Record<HookType, string> = {\n [HookType.BEFORE_TEST_RUN]: 'BeforeAll',\n [HookType.BEFORE_TEST_CASE]: 'Before',\n [HookType.BEFORE_TEST_STEP]: 'BeforeStep',\n [HookType.AFTER_TEST_STEP]: 'AfterStep',\n [HookType.AFTER_TEST_CASE]: 'After',\n [HookType.AFTER_TEST_RUN]: 'AfterAll',\n}\n\nexport function composeHookStepTitle(hook?: Hook): string {\n let result = ''\n\n if (hook?.type) {\n result = labels[hook.type]\n } else {\n result += 'Hook'\n }\n\n if (hook?.name) {\n result += ': ' + hook.name\n }\n\n return result\n}\n"]}
1
+ {"version":3,"file":"composeHookStepTitle.js","sourceRoot":"","sources":["../../../../src/components/gherkin/composeHookStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,MAAM,GAA6B;IACvC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW;IACvC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ;IACrC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY;IACzC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW;IACvC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO;IACnC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU;CACtC,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAW;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,MAAM,CAAA;IAClB,CAAC;IAED,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { type Hook, HookType } from '@cucumber/messages'\n\nconst labels: Record<HookType, string> = {\n [HookType.BEFORE_TEST_RUN]: 'BeforeAll',\n [HookType.BEFORE_TEST_CASE]: 'Before',\n [HookType.BEFORE_TEST_STEP]: 'BeforeStep',\n [HookType.AFTER_TEST_STEP]: 'AfterStep',\n [HookType.AFTER_TEST_CASE]: 'After',\n [HookType.AFTER_TEST_RUN]: 'AfterAll',\n}\n\nexport function composeHookStepTitle(hook?: Hook): string {\n let result = ''\n\n if (hook?.type) {\n result = labels[hook.type]\n } else {\n result += 'Hook'\n }\n\n if (hook?.name) {\n result += `: ${hook.name}`\n }\n\n return result\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { StepMatchArgumentsList } from '@cucumber/messages';
1
+ import type { StepMatchArgumentsList } from '@cucumber/messages';
2
2
  interface TitleFragment {
3
3
  value: string;
4
4
  parameterTypeName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"composePickleStepTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/composePickleStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,uBAAuB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAC9D,aAAa,CAAC,aAAa,CAAC,CAkC9B"}
1
+ {"version":3,"file":"composePickleStepTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/composePickleStepTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,uBAAuB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAC9D,aAAa,CAAC,aAAa,CAAC,CAkC9B"}
@@ -4,7 +4,7 @@ export function composePickleStepTitle(text, stepMatchArgumentsLists) {
4
4
  let offset = 0;
5
5
  let plain;
6
6
  const fragments = [];
7
- stepMatchArguments.forEach((argument) => {
7
+ for (const argument of stepMatchArguments) {
8
8
  plain = text.slice(offset, argument.group.start);
9
9
  if (plain.length > 0) {
10
10
  fragments.push({ value: plain });
@@ -19,7 +19,7 @@ export function composePickleStepTitle(text, stepMatchArgumentsLists) {
19
19
  }
20
20
  offset += plain.length + arg.length;
21
21
  }
22
- });
22
+ }
23
23
  plain = text.slice(offset);
24
24
  if (plain.length > 0) {
25
25
  fragments.push({ value: plain });
@@ -1 +1 @@
1
- {"version":3,"file":"composePickleStepTitle.js","sourceRoot":"","sources":["../../../../src/components/gherkin/composePickleStepTitle.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,uBAA+D;IAE/D,IAAI,uBAAuB,EAAE,MAAM,KAAK,CAAC,EAAE;QACzC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAA;QACxE,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,KAAa,CAAA;QACjB,MAAM,SAAS,GAAoB,EAAE,CAAA;QACrC,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;aACjC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;YAChC,IAAI,GAAG,EAAE;gBACP,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,SAAS,CAAC,IAAI,CAAC;wBACb,KAAK,EAAE,GAAG;wBACV,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,WAAW;qBAC7D,CAAC,CAAA;iBACH;gBACD,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;aACpC;QACH,CAAC,CAAC,CAAA;QACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;SACjC;QACD,OAAO,SAAS,CAAA;KACjB;IACD,iDAAiD;IACjD,OAAO;QACL;YACE,KAAK,EAAE,IAAI;SACZ;KACF,CAAA;AACH,CAAC","sourcesContent":["import { StepMatchArgumentsList } from '@cucumber/messages'\n\ninterface TitleFragment {\n value: string\n parameterTypeName?: string\n}\n\nexport function composePickleStepTitle(\n text: string,\n stepMatchArgumentsLists?: ReadonlyArray<StepMatchArgumentsList>\n): ReadonlyArray<TitleFragment> {\n if (stepMatchArgumentsLists?.length === 1) {\n const stepMatchArguments = stepMatchArgumentsLists[0].stepMatchArguments\n let offset = 0\n let plain: string\n const fragments: TitleFragment[] = []\n stepMatchArguments.forEach((argument) => {\n plain = text.slice(offset, argument.group.start)\n if (plain.length > 0) {\n fragments.push({ value: plain })\n }\n const arg = argument.group.value\n if (arg) {\n if (arg.length > 0) {\n fragments.push({\n value: arg,\n parameterTypeName: argument.parameterTypeName || 'anonymous',\n })\n }\n offset += plain.length + arg.length\n }\n })\n plain = text.slice(offset)\n if (plain.length > 0) {\n fragments.push({ value: plain })\n }\n return fragments\n }\n // no argument matching, just a single text value\n return [\n {\n value: text,\n },\n ]\n}\n"]}
1
+ {"version":3,"file":"composePickleStepTitle.js","sourceRoot":"","sources":["../../../../src/components/gherkin/composePickleStepTitle.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,uBAA+D;IAE/D,IAAI,uBAAuB,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAA;QACxE,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,KAAa,CAAA;QACjB,MAAM,SAAS,GAAoB,EAAE,CAAA;QACrC,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAA;YAChC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnB,SAAS,CAAC,IAAI,CAAC;wBACb,KAAK,EAAE,GAAG;wBACV,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,WAAW;qBAC7D,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YACrC,CAAC;QACH,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,iDAAiD;IACjD,OAAO;QACL;YACE,KAAK,EAAE,IAAI;SACZ;KACF,CAAA;AACH,CAAC","sourcesContent":["import type { StepMatchArgumentsList } from '@cucumber/messages'\n\ninterface TitleFragment {\n value: string\n parameterTypeName?: string\n}\n\nexport function composePickleStepTitle(\n text: string,\n stepMatchArgumentsLists?: ReadonlyArray<StepMatchArgumentsList>\n): ReadonlyArray<TitleFragment> {\n if (stepMatchArgumentsLists?.length === 1) {\n const stepMatchArguments = stepMatchArgumentsLists[0].stepMatchArguments\n let offset = 0\n let plain: string\n const fragments: TitleFragment[] = []\n for (const argument of stepMatchArguments) {\n plain = text.slice(offset, argument.group.start)\n if (plain.length > 0) {\n fragments.push({ value: plain })\n }\n const arg = argument.group.value\n if (arg) {\n if (arg.length > 0) {\n fragments.push({\n value: arg,\n parameterTypeName: argument.parameterTypeName || 'anonymous',\n })\n }\n offset += plain.length + arg.length\n }\n }\n plain = text.slice(offset)\n if (plain.length > 0) {\n fragments.push({ value: plain })\n }\n return fragments\n }\n // no argument matching, just a single text value\n return [\n {\n value: text,\n },\n ]\n}\n"]}
@@ -1,4 +1,4 @@
1
- import * as messages from '@cucumber/messages';
2
- declare const _default: (status: messages.TestStepResultStatus) => string;
1
+ import type { TestStepResultStatus } from '@cucumber/messages';
2
+ declare const _default: (status: TestStepResultStatus) => string;
3
3
  export default _default;
4
4
  //# sourceMappingURL=statusName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statusName.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/statusName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;iCAEtB,SAAS,oBAAoB,KAAG,MAAM;AAA9D,wBAEC"}
1
+ {"version":3,"file":"statusName.d.ts","sourceRoot":"","sources":["../../../../src/components/gherkin/statusName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;yBAE9C,QAAQ,oBAAoB,KAAG,MAAM;AAArD,wBAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"statusName.js","sourceRoot":"","sources":["../../../../src/components/gherkin/statusName.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,MAAqC,EAAU,EAAE;IAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;AAC7B,CAAC,CAAA","sourcesContent":["import * as messages from '@cucumber/messages'\n\nexport default (status: messages.TestStepResultStatus): string => {\n return status.toLowerCase()\n}\n"]}
1
+ {"version":3,"file":"statusName.js","sourceRoot":"","sources":["../../../../src/components/gherkin/statusName.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,MAA4B,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;AAC7B,CAAC,CAAA","sourcesContent":["import type { TestStepResultStatus } from '@cucumber/messages'\n\nexport default (status: TestStepResultStatus): string => {\n return status.toLowerCase()\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { TestStep } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ interface Props {
4
+ testStep: TestStep;
5
+ }
6
+ export declare const AmbiguousResult: FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=AmbiguousResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmbiguousResult.d.ts","sourceRoot":"","sources":["../../../../src/components/results/AmbiguousResult.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAO/B,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CAgBrC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useQueries } from '../../hooks/index.js';
3
+ import styles from './AmbiguousResult.module.scss';
4
+ import { ResultNote } from './ResultNote.js';
5
+ import { SourceReference } from './SourceReference.js';
6
+ export const AmbiguousResult = ({ testStep }) => {
7
+ const { cucumberQuery } = useQueries();
8
+ const stepDefinitions = cucumberQuery.findStepDefinitionsBy(testStep);
9
+ return (_jsxs(_Fragment, { children: [_jsx(ResultNote, { children: "Multiple matching step definitions found:" }), _jsx("ul", { className: styles.definitions, children: stepDefinitions.map((stepDefinition) => (_jsxs("li", { className: styles.definition, children: [_jsx("code", { className: styles.pattern, children: stepDefinition.pattern.source }), _jsx(SourceReference, { sourceReference: stepDefinition.sourceReference })] }, stepDefinition.id))) })] }));
10
+ };
11
+ //# sourceMappingURL=AmbiguousResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmbiguousResult.js","sourceRoot":"","sources":["../../../../src/components/results/AmbiguousResult.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtD,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACrE,OAAO,CACL,8BACE,KAAC,UAAU,4DAAuD,EAClE,aAAI,SAAS,EAAE,MAAM,CAAC,WAAW,YAC9B,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CACvC,cAA4B,SAAS,EAAE,MAAM,CAAC,UAAU,aACtD,eAAM,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,cAAc,CAAC,OAAO,CAAC,MAAM,GAAQ,EACvE,KAAC,eAAe,IAAC,eAAe,EAAE,cAAc,CAAC,eAAe,GAAI,KAF7D,cAAc,CAAC,EAAE,CAGrB,CACN,CAAC,GACC,IACJ,CACJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { TestStep } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { useQueries } from '../../hooks/index.js'\nimport styles from './AmbiguousResult.module.scss'\nimport { ResultNote } from './ResultNote.js'\nimport { SourceReference } from './SourceReference.js'\n\ninterface Props {\n testStep: TestStep\n}\n\nexport const AmbiguousResult: FC<Props> = ({ testStep }) => {\n const { cucumberQuery } = useQueries()\n const stepDefinitions = cucumberQuery.findStepDefinitionsBy(testStep)\n return (\n <>\n <ResultNote>Multiple matching step definitions found:</ResultNote>\n <ul className={styles.definitions}>\n {stepDefinitions.map((stepDefinition) => (\n <li key={stepDefinition.id} className={styles.definition}>\n <code className={styles.pattern}>{stepDefinition.pattern.source}</code>\n <SourceReference sourceReference={stepDefinition.sourceReference} />\n </li>\n ))}\n </ul>\n </>\n )\n}\n"]}
@@ -0,0 +1,22 @@
1
+ @use '../../styles/theming';
2
+
3
+ .definitions {
4
+ padding: 0;
5
+ margin: 0;
6
+ list-style: none;
7
+
8
+ > * + * {
9
+ margin-top: 0.25em;
10
+ }
11
+ }
12
+
13
+ .definition {
14
+ > * + * {
15
+ margin-left: 0.5em;
16
+ }
17
+ }
18
+
19
+ .pattern {
20
+ color: theming.$parameterColor;
21
+ font-size: inherit;
22
+ }
@@ -0,0 +1,8 @@
1
+ import type { TestStepResult } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ interface Props {
4
+ result: TestStepResult;
5
+ }
6
+ export declare const FailedResult: FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=FailedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailedResult.d.ts","sourceRoot":"","sources":["../../../../src/components/results/FailedResult.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,UAAU,KAAK;IACb,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAelC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ErrorMessage } from '../gherkin/index.js';
3
+ export const FailedResult = ({ result: { exception, message } }) => {
4
+ if (exception?.stackTrace) {
5
+ return _jsx(ErrorMessage, { children: exception.stackTrace });
6
+ }
7
+ if (exception) {
8
+ return (_jsxs(ErrorMessage, { children: [_jsx("strong", { children: exception.type }), " ", exception.message] }));
9
+ }
10
+ if (message) {
11
+ return _jsx(ErrorMessage, { children: message });
12
+ }
13
+ return null;
14
+ };
15
+ //# sourceMappingURL=FailedResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailedResult.js","sourceRoot":"","sources":["../../../../src/components/results/FailedResult.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAMlD,MAAM,CAAC,MAAM,YAAY,GAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAC5E,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;QAC1B,OAAO,KAAC,YAAY,cAAE,SAAS,CAAC,UAAU,GAAgB,CAAA;IAC5D,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,MAAC,YAAY,eACX,2BAAS,SAAS,CAAC,IAAI,GAAU,OAAE,SAAS,CAAC,OAAO,IACvC,CAChB,CAAA;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAC,YAAY,cAAE,OAAO,GAAgB,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { TestStepResult } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { ErrorMessage } from '../gherkin/index.js'\n\ninterface Props {\n result: TestStepResult\n}\n\nexport const FailedResult: FC<Props> = ({ result: { exception, message } }) => {\n if (exception?.stackTrace) {\n return <ErrorMessage>{exception.stackTrace}</ErrorMessage>\n }\n if (exception) {\n return (\n <ErrorMessage>\n <strong>{exception.type}</strong> {exception.message}\n </ErrorMessage>\n )\n }\n if (message) {\n return <ErrorMessage>{message}</ErrorMessage>\n }\n return null\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { TestStepResult } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ interface Props {
4
+ result: TestStepResult;
5
+ }
6
+ export declare const PendingResult: FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=PendingResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingResult.d.ts","sourceRoot":"","sources":["../../../../src/components/results/PendingResult.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,UAAU,KAAK;IACb,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAQnC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ResultNote } from './ResultNote.js';
3
+ export const PendingResult = ({ result: { exception, message } }) => {
4
+ if (exception?.message) {
5
+ return _jsx(ResultNote, { children: exception.message });
6
+ }
7
+ if (message) {
8
+ return _jsx(ResultNote, { children: message });
9
+ }
10
+ return null;
11
+ };
12
+ //# sourceMappingURL=PendingResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingResult.js","sourceRoot":"","sources":["../../../../src/components/results/PendingResult.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAC7E,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,KAAC,UAAU,cAAE,SAAS,CAAC,OAAO,GAAc,CAAA;IACrD,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAC,UAAU,cAAE,OAAO,GAAc,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { TestStepResult } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { ResultNote } from './ResultNote.js'\n\ninterface Props {\n result: TestStepResult\n}\n\nexport const PendingResult: FC<Props> = ({ result: { exception, message } }) => {\n if (exception?.message) {\n return <ResultNote>{exception.message}</ResultNote>\n }\n if (message) {\n return <ResultNote>{message}</ResultNote>\n }\n return null\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ export declare const ResultNote: FC<PropsWithChildren>;
3
+ //# sourceMappingURL=ResultNote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultNote.d.ts","sourceRoot":"","sources":["../../../../src/components/results/ResultNote.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAIlD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAE5C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import styles from './ResultNote.module.scss';
3
+ export const ResultNote = ({ children }) => {
4
+ return _jsx("p", { className: styles.note, children: children });
5
+ };
6
+ //# sourceMappingURL=ResultNote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultNote.js","sourceRoot":"","sources":["../../../../src/components/results/ResultNote.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,MAAM,CAAC,MAAM,UAAU,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAChE,OAAO,YAAG,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,QAAQ,GAAK,CAAA;AAClD,CAAC,CAAA","sourcesContent":["import type { FC, PropsWithChildren } from 'react'\n\nimport styles from './ResultNote.module.scss'\n\nexport const ResultNote: FC<PropsWithChildren> = ({ children }) => {\n return <p className={styles.note}>{children}</p>\n}\n"]}
@@ -0,0 +1,6 @@
1
+ .note {
2
+ padding: 0;
3
+ margin: 0;
4
+ font-size: 0.875em;
5
+ font-style: italic;
6
+ }
@@ -0,0 +1,8 @@
1
+ import type { TestStepResult } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ interface Props {
4
+ result: TestStepResult;
5
+ }
6
+ export declare const SkippedResult: FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=SkippedResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedResult.d.ts","sourceRoot":"","sources":["../../../../src/components/results/SkippedResult.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,UAAU,KAAK;IACb,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAQnC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ResultNote } from './ResultNote.js';
3
+ export const SkippedResult = ({ result: { exception, message } }) => {
4
+ if (exception?.message) {
5
+ return _jsx(ResultNote, { children: exception.message });
6
+ }
7
+ if (message) {
8
+ return _jsx(ResultNote, { children: message });
9
+ }
10
+ return null;
11
+ };
12
+ //# sourceMappingURL=SkippedResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedResult.js","sourceRoot":"","sources":["../../../../src/components/results/SkippedResult.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAC7E,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,KAAC,UAAU,cAAE,SAAS,CAAC,OAAO,GAAc,CAAA;IACrD,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAC,UAAU,cAAE,OAAO,GAAc,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { TestStepResult } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { ResultNote } from './ResultNote.js'\n\ninterface Props {\n result: TestStepResult\n}\n\nexport const SkippedResult: FC<Props> = ({ result: { exception, message } }) => {\n if (exception?.message) {\n return <ResultNote>{exception.message}</ResultNote>\n }\n if (message) {\n return <ResultNote>{message}</ResultNote>\n }\n return null\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { SourceReference as SourceReferenceMessage } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ interface Props {
4
+ sourceReference: SourceReferenceMessage;
5
+ }
6
+ export declare const SourceReference: FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=SourceReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceReference.d.ts","sourceRoot":"","sources":["../../../../src/components/results/SourceReference.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACnF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,UAAU,KAAK;IACb,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CASrC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import styles from './SourceReference.module.scss';
3
+ export const SourceReference = ({ sourceReference }) => {
4
+ if (sourceReference.uri) {
5
+ let stringified = sourceReference.uri;
6
+ if (sourceReference.location) {
7
+ stringified += `:${sourceReference.location.line}`;
8
+ }
9
+ return _jsx("code", { className: styles.sourceReference, children: stringified });
10
+ }
11
+ return null;
12
+ };
13
+ //# sourceMappingURL=SourceReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceReference.js","sourceRoot":"","sources":["../../../../src/components/results/SourceReference.tsx"],"names":[],"mappings":";AAGA,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAMlD,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;IAChE,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,WAAW,GAAG,eAAe,CAAC,GAAG,CAAA;QACrC,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC7B,WAAW,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpD,CAAC;QACD,OAAO,eAAM,SAAS,EAAE,MAAM,CAAC,eAAe,YAAG,WAAW,GAAQ,CAAA;IACtE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { SourceReference as SourceReferenceMessage } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport styles from './SourceReference.module.scss'\n\ninterface Props {\n sourceReference: SourceReferenceMessage\n}\n\nexport const SourceReference: FC<Props> = ({ sourceReference }) => {\n if (sourceReference.uri) {\n let stringified = sourceReference.uri\n if (sourceReference.location) {\n stringified += `:${sourceReference.location.line}`\n }\n return <code className={styles.sourceReference}>{stringified}</code>\n }\n return null\n}\n"]}
@@ -0,0 +1,10 @@
1
+ @use '../../styles/theming';
2
+
3
+ .sourceReference {
4
+ background-color: theming.$codeBackgroundColor;
5
+ color: theming.$codeTextColor;
6
+ font-size: 0.75em;
7
+ padding: 0.1em 0.2em;
8
+ border: 1px solid theming.$panelAccentColor;
9
+ border-radius: 0.25em;
10
+ }
@@ -1,5 +1,5 @@
1
- import { TestCaseStarted } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import { type TestCaseStarted } from '@cucumber/messages';
2
+ import { type FC } from 'react';
3
3
  interface Props {
4
4
  testCaseStarted: TestCaseStarted;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestCaseOutcome.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestCaseOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAA;AAG3B,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAM3C,UAAU,KAAK;IACb,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CA2BrC,CAAA"}
1
+ {"version":3,"file":"TestCaseOutcome.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestCaseOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,KAAK,EAAE,EAAY,MAAM,OAAO,CAAA;AAMzC,UAAU,KAAK;IACb,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CA2BrC,CAAA"}
@@ -1,7 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { TestStepResultStatus, } from '@cucumber/messages';
2
3
  import { faCirclePlus } from '@fortawesome/free-solid-svg-icons';
3
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import React, { useState } from 'react';
5
+ import { useState } from 'react';
5
6
  import { useQueries } from '../../hooks/index.js';
6
7
  import styles from './TestCaseOutcome.module.scss';
7
8
  import { TestStepOutcome } from './TestStepOutcome.js';
@@ -11,14 +12,9 @@ export const TestCaseOutcome = ({ testCaseStarted }) => {
11
12
  const allSteps = cucumberQuery.findTestStepFinishedAndTestStepBy(testCaseStarted);
12
13
  const filteredSteps = showAllSteps ? allSteps : filterSteps(allSteps);
13
14
  const hiddenSteps = allSteps.length - filteredSteps.length;
14
- return (React.createElement("article", { className: styles.container },
15
- React.createElement("ol", { className: styles.steps }, filteredSteps.map(([testStepFinished, testStep]) => {
16
- return (React.createElement(TestStepOutcome, { key: testStep.id, testStep: testStep, testStepFinished: testStepFinished }));
17
- })),
18
- hiddenSteps > 0 && (React.createElement("button", { className: styles.expandButton, onClick: () => setShowAllSteps(true) },
19
- React.createElement(FontAwesomeIcon, { "aria-hidden": "true", icon: faCirclePlus }),
20
- hiddenSteps,
21
- " hooks"))));
15
+ return (_jsxs("article", { className: styles.container, children: [_jsx("ol", { className: styles.steps, children: filteredSteps.map(([testStepFinished, testStep]) => {
16
+ return (_jsx(TestStepOutcome, { testStep: testStep, testStepFinished: testStepFinished }, testStep.id));
17
+ }) }), hiddenSteps > 0 && (_jsxs("button", { type: "button", className: styles.expandButton, onClick: () => setShowAllSteps(true), children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", icon: faCirclePlus }), hiddenSteps, " hooks"] }))] }));
22
18
  };
23
19
  function filterSteps(allSteps) {
24
20
  const statuses = allSteps.map(([testStepFinished]) => testStepFinished.testStepResult.status);
@@ -1 +1 @@
1
- {"version":3,"file":"TestCaseOutcome.js","sourceRoot":"","sources":["../../../../src/components/results/TestCaseOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtD,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,iCAAiC,CAAC,eAAe,CAAC,CAAA;IACjF,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IAC1D,OAAO,CACL,iCAAS,SAAS,EAAE,MAAM,CAAC,SAAS;QAClC,4BAAI,SAAS,EAAE,MAAM,CAAC,KAAK,IACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,EAAE;YAClD,OAAO,CACL,oBAAC,eAAe,IACd,GAAG,EAAE,QAAQ,CAAC,EAAE,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAA;QACH,CAAC,CAAC,CACC;QACJ,WAAW,GAAG,CAAC,IAAI,CAClB,gCAAQ,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1E,oBAAC,eAAe,mBAAa,MAAM,EAAC,IAAI,EAAE,YAAY,GAAI;YACzD,WAAW;qBACL,CACV,CACO,CACX,CAAA;AACH,CAAC,CAAA;AAED,SAAS,WAAW,CAAC,QAAqD;IACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7F,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;QAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE;YAC3E,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAA;YACzE,OAAO,cAAc,KAAK,oBAAoB,CAAC,MAAM,CAAA;SACtD;QACD,OAAO,gBAAgB,CAAC,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAA;IAC/E,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import {\n TestCaseStarted,\n TestStep,\n TestStepFinished,\n TestStepResultStatus,\n} from '@cucumber/messages'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { FC, useState } from 'react'\n\nimport { useQueries } from '../../hooks/index.js'\nimport styles from './TestCaseOutcome.module.scss'\nimport { TestStepOutcome } from './TestStepOutcome.js'\n\ninterface Props {\n testCaseStarted: TestCaseStarted\n}\n\nexport const TestCaseOutcome: FC<Props> = ({ testCaseStarted }) => {\n const [showAllSteps, setShowAllSteps] = useState(false)\n const { cucumberQuery } = useQueries()\n const allSteps = cucumberQuery.findTestStepFinishedAndTestStepBy(testCaseStarted)\n const filteredSteps = showAllSteps ? allSteps : filterSteps(allSteps)\n const hiddenSteps = allSteps.length - filteredSteps.length\n return (\n <article className={styles.container}>\n <ol className={styles.steps}>\n {filteredSteps.map(([testStepFinished, testStep]) => {\n return (\n <TestStepOutcome\n key={testStep.id}\n testStep={testStep}\n testStepFinished={testStepFinished}\n />\n )\n })}\n </ol>\n {hiddenSteps > 0 && (\n <button className={styles.expandButton} onClick={() => setShowAllSteps(true)}>\n <FontAwesomeIcon aria-hidden=\"true\" icon={faCirclePlus} />\n {hiddenSteps} hooks\n </button>\n )}\n </article>\n )\n}\n\nfunction filterSteps(allSteps: ReadonlyArray<[TestStepFinished, TestStep]>) {\n const statuses = allSteps.map(([testStepFinished]) => testStepFinished.testStepResult.status)\n return allSteps.filter(([testStepFinished, testStep], index) => {\n if (!testStep.hookId) {\n return true\n }\n if (testStepFinished.testStepResult.status === TestStepResultStatus.SKIPPED) {\n const previousStatus = statuses[index - 1] ?? TestStepResultStatus.PASSED\n return previousStatus === TestStepResultStatus.PASSED\n }\n return testStepFinished.testStepResult.status !== TestStepResultStatus.PASSED\n })\n}\n"]}
1
+ {"version":3,"file":"TestCaseOutcome.js","sourceRoot":"","sources":["../../../../src/components/results/TestCaseOutcome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAIL,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAW,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtD,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,iCAAiC,CAAC,eAAe,CAAC,CAAA;IACjF,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IAC1D,OAAO,CACL,mBAAS,SAAS,EAAE,MAAM,CAAC,SAAS,aAClC,aAAI,SAAS,EAAE,MAAM,CAAC,KAAK,YACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,EAAE;oBAClD,OAAO,CACL,KAAC,eAAe,IAEd,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,IAF7B,QAAQ,CAAC,EAAE,CAGhB,CACH,CAAA;gBACH,CAAC,CAAC,GACC,EACJ,WAAW,GAAG,CAAC,IAAI,CAClB,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aACxF,KAAC,eAAe,mBAAa,MAAM,EAAC,IAAI,EAAE,YAAY,GAAI,EACzD,WAAW,cACL,CACV,IACO,CACX,CAAA;AACH,CAAC,CAAA;AAED,SAAS,WAAW,CAAC,QAAqD;IACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7F,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;QAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAA;YACzE,OAAO,cAAc,KAAK,oBAAoB,CAAC,MAAM,CAAA;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAA;IAC/E,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import {\n type TestCaseStarted,\n type TestStep,\n type TestStepFinished,\n TestStepResultStatus,\n} from '@cucumber/messages'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { type FC, useState } from 'react'\n\nimport { useQueries } from '../../hooks/index.js'\nimport styles from './TestCaseOutcome.module.scss'\nimport { TestStepOutcome } from './TestStepOutcome.js'\n\ninterface Props {\n testCaseStarted: TestCaseStarted\n}\n\nexport const TestCaseOutcome: FC<Props> = ({ testCaseStarted }) => {\n const [showAllSteps, setShowAllSteps] = useState(false)\n const { cucumberQuery } = useQueries()\n const allSteps = cucumberQuery.findTestStepFinishedAndTestStepBy(testCaseStarted)\n const filteredSteps = showAllSteps ? allSteps : filterSteps(allSteps)\n const hiddenSteps = allSteps.length - filteredSteps.length\n return (\n <article className={styles.container}>\n <ol className={styles.steps}>\n {filteredSteps.map(([testStepFinished, testStep]) => {\n return (\n <TestStepOutcome\n key={testStep.id}\n testStep={testStep}\n testStepFinished={testStepFinished}\n />\n )\n })}\n </ol>\n {hiddenSteps > 0 && (\n <button type=\"button\" className={styles.expandButton} onClick={() => setShowAllSteps(true)}>\n <FontAwesomeIcon aria-hidden=\"true\" icon={faCirclePlus} />\n {hiddenSteps} hooks\n </button>\n )}\n </article>\n )\n}\n\nfunction filterSteps(allSteps: ReadonlyArray<[TestStepFinished, TestStep]>) {\n const statuses = allSteps.map(([testStepFinished]) => testStepFinished.testStepResult.status)\n return allSteps.filter(([testStepFinished, testStep], index) => {\n if (!testStep.hookId) {\n return true\n }\n if (testStepFinished.testStepResult.status === TestStepResultStatus.SKIPPED) {\n const previousStatus = statuses[index - 1] ?? TestStepResultStatus.PASSED\n return previousStatus === TestStepResultStatus.PASSED\n }\n return testStepFinished.testStepResult.status !== TestStepResultStatus.PASSED\n })\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Hook, TestRunHookFinished } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import { type Hook, type TestRunHookFinished } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  interface Props {
4
4
  hook: Hook;
5
5
  testRunHookFinished: TestRunHookFinished;
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunHookOutcome.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestRunHookOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAQjC,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAA;IACV,mBAAmB,EAAE,mBAAmB,CAAA;CACzC;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAoBxC,CAAA"}
1
+ {"version":3,"file":"TestRunHookOutcome.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestRunHookOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EAET,KAAK,mBAAmB,EAEzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAQ/B,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAA;IACV,mBAAmB,EAAE,mBAAmB,CAAA;CACzC;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAsBxC,CAAA"}
@@ -1,20 +1,11 @@
1
- import { HookType } from '@cucumber/messages';
2
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { HookType, TestStepResultStatus, } from '@cucumber/messages';
3
3
  import { StatusIcon } from '../gherkin/index.js';
4
+ import { FailedResult } from './FailedResult.js';
4
5
  import styles from './TestRunHookOutcome.module.scss';
5
6
  import { TestStepAttachments } from './TestStepAttachments.js';
6
7
  import { TestStepDuration } from './TestStepDuration.js';
7
- import { TestStepResultDetails } from './TestStepResultDetails.js';
8
8
  export const TestRunHookOutcome = ({ hook, testRunHookFinished }) => {
9
- return (React.createElement("li", { "data-status": testRunHookFinished.result.status },
10
- React.createElement("div", { className: styles.header },
11
- React.createElement("div", { className: styles.status },
12
- React.createElement(StatusIcon, { status: testRunHookFinished.result.status })),
13
- React.createElement("div", { className: styles.title },
14
- React.createElement("h3", { className: styles.name }, hook.name ?? (hook.type === HookType.BEFORE_TEST_RUN ? 'BeforeAll' : 'AfterAll')),
15
- React.createElement(TestStepDuration, { duration: testRunHookFinished.result.duration }))),
16
- React.createElement("div", { className: styles.content },
17
- React.createElement(TestStepResultDetails, { ...testRunHookFinished.result }),
18
- React.createElement(TestStepAttachments, { testStepOrHookFinished: testRunHookFinished }))));
9
+ return (_jsxs("li", { "data-status": testRunHookFinished.result.status, children: [_jsxs("div", { className: styles.header, children: [_jsx("div", { className: styles.status, children: _jsx(StatusIcon, { status: testRunHookFinished.result.status }) }), _jsxs("div", { className: styles.title, children: [_jsx("h3", { className: styles.name, children: hook.name ?? (hook.type === HookType.BEFORE_TEST_RUN ? 'BeforeAll' : 'AfterAll') }), _jsx(TestStepDuration, { duration: testRunHookFinished.result.duration })] })] }), _jsxs("div", { className: styles.content, children: [testRunHookFinished.result.status === TestStepResultStatus.FAILED && (_jsx(FailedResult, { result: testRunHookFinished.result })), _jsx(TestStepAttachments, { testStepOrHookFinished: testRunHookFinished })] })] }));
19
10
  };
20
11
  //# sourceMappingURL=TestRunHookOutcome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunHookOutcome.js","sourceRoot":"","sources":["../../../../src/components/results/TestRunHookOutcome.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,QAAQ,EAAuB,MAAM,oBAAoB,CAAA;AACxE,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,kCAAkC,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAOlE,MAAM,CAAC,MAAM,kBAAkB,GAAc,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC7E,OAAO,CACL,2CAAiB,mBAAmB,CAAC,MAAM,CAAC,MAAM;QAChD,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;YAC3B,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;gBAC3B,oBAAC,UAAU,IAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAI,CACrD;YACN,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK;gBAC1B,4BAAI,SAAS,EAAE,MAAM,CAAC,IAAI,IACvB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAC9E;gBACL,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,GAAI,CAC/D,CACF;QACN,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO;YAC5B,oBAAC,qBAAqB,OAAK,mBAAmB,CAAC,MAAM,GAAI;YACzD,oBAAC,mBAAmB,IAAC,sBAAsB,EAAE,mBAAmB,GAAI,CAChE,CACH,CACN,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Hook, HookType, TestRunHookFinished } from '@cucumber/messages'\nimport React, { FC } from 'react'\n\nimport { StatusIcon } from '../gherkin/index.js'\nimport styles from './TestRunHookOutcome.module.scss'\nimport { TestStepAttachments } from './TestStepAttachments.js'\nimport { TestStepDuration } from './TestStepDuration.js'\nimport { TestStepResultDetails } from './TestStepResultDetails.js'\n\ninterface Props {\n hook: Hook\n testRunHookFinished: TestRunHookFinished\n}\n\nexport const TestRunHookOutcome: FC<Props> = ({ hook, testRunHookFinished }) => {\n return (\n <li data-status={testRunHookFinished.result.status}>\n <div className={styles.header}>\n <div className={styles.status}>\n <StatusIcon status={testRunHookFinished.result.status} />\n </div>\n <div className={styles.title}>\n <h3 className={styles.name}>\n {hook.name ?? (hook.type === HookType.BEFORE_TEST_RUN ? 'BeforeAll' : 'AfterAll')}\n </h3>\n <TestStepDuration duration={testRunHookFinished.result.duration} />\n </div>\n </div>\n <div className={styles.content}>\n <TestStepResultDetails {...testRunHookFinished.result} />\n <TestStepAttachments testStepOrHookFinished={testRunHookFinished} />\n </div>\n </li>\n )\n}\n"]}
1
+ {"version":3,"file":"TestRunHookOutcome.js","sourceRoot":"","sources":["../../../../src/components/results/TestRunHookOutcome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,QAAQ,EAER,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,MAAM,MAAM,kCAAkC,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAOxD,MAAM,CAAC,MAAM,kBAAkB,GAAc,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC7E,OAAO,CACL,6BAAiB,mBAAmB,CAAC,MAAM,CAAC,MAAM,aAChD,eAAK,SAAS,EAAE,MAAM,CAAC,MAAM,aAC3B,cAAK,SAAS,EAAE,MAAM,CAAC,MAAM,YAC3B,KAAC,UAAU,IAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAI,GACrD,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,KAAK,aAC1B,aAAI,SAAS,EAAE,MAAM,CAAC,IAAI,YACvB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,GAC9E,EACL,KAAC,gBAAgB,IAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,GAAI,IAC/D,IACF,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC3B,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,IAAI,CACpE,KAAC,YAAY,IAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,GAAI,CACrD,EACD,KAAC,mBAAmB,IAAC,sBAAsB,EAAE,mBAAmB,GAAI,IAChE,IACH,CACN,CAAA;AACH,CAAC,CAAA","sourcesContent":["import {\n type Hook,\n HookType,\n type TestRunHookFinished,\n TestStepResultStatus,\n} from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { StatusIcon } from '../gherkin/index.js'\nimport { FailedResult } from './FailedResult.js'\nimport styles from './TestRunHookOutcome.module.scss'\nimport { TestStepAttachments } from './TestStepAttachments.js'\nimport { TestStepDuration } from './TestStepDuration.js'\n\ninterface Props {\n hook: Hook\n testRunHookFinished: TestRunHookFinished\n}\n\nexport const TestRunHookOutcome: FC<Props> = ({ hook, testRunHookFinished }) => {\n return (\n <li data-status={testRunHookFinished.result.status}>\n <div className={styles.header}>\n <div className={styles.status}>\n <StatusIcon status={testRunHookFinished.result.status} />\n </div>\n <div className={styles.title}>\n <h3 className={styles.name}>\n {hook.name ?? (hook.type === HookType.BEFORE_TEST_RUN ? 'BeforeAll' : 'AfterAll')}\n </h3>\n <TestStepDuration duration={testRunHookFinished.result.duration} />\n </div>\n </div>\n <div className={styles.content}>\n {testRunHookFinished.result.status === TestStepResultStatus.FAILED && (\n <FailedResult result={testRunHookFinished.result} />\n )}\n <TestStepAttachments testStepOrHookFinished={testRunHookFinished} />\n </div>\n </li>\n )\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { TestRunHookFinished, TestStepFinished } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import type { TestRunHookFinished, TestStepFinished } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  interface Props {
4
4
  testStepOrHookFinished: TestStepFinished | TestRunHookFinished;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestStepAttachments.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestStepAttachments.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM1B,UAAU,KAAK;IACb,sBAAsB,EAAE,gBAAgB,GAAG,mBAAmB,CAAA;CAC/D;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAczC,CAAA"}
1
+ {"version":3,"file":"TestStepAttachments.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestStepAttachments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM/B,UAAU,KAAK;IACb,sBAAsB,EAAE,gBAAgB,GAAG,mBAAmB,CAAA;CAC/D;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAczC,CAAA"}
@@ -1,13 +1,12 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useQueries } from '../../hooks/index.js';
3
3
  import { Attachment } from '../gherkin/index.js';
4
4
  import styles from './TestStepAttachments.module.scss';
5
5
  export const TestStepAttachments = ({ testStepOrHookFinished }) => {
6
6
  const { cucumberQuery } = useQueries();
7
7
  const attachments = cucumberQuery.findAttachmentsBy(testStepOrHookFinished);
8
- return (React.createElement("ol", { className: styles.attachments }, attachments.map((attachment, index) => {
9
- return (React.createElement("li", { key: index },
10
- React.createElement(Attachment, { attachment: attachment })));
11
- })));
8
+ return (_jsx("ol", { className: styles.attachments, children: attachments.map((attachment, index) => {
9
+ return (_jsx("li", { children: _jsx(Attachment, { attachment: attachment }) }, index));
10
+ }) }));
12
11
  };
13
12
  //# sourceMappingURL=TestStepAttachments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestStepAttachments.js","sourceRoot":"","sources":["../../../../src/components/results/TestStepAttachments.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,mCAAmC,CAAA;AAMtD,MAAM,CAAC,MAAM,mBAAmB,GAAc,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE;IAC3E,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;IAC3E,OAAO,CACL,4BAAI,SAAS,EAAE,MAAM,CAAC,WAAW,IAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACrC,OAAO,CACL,4BAAI,GAAG,EAAE,KAAK;YACZ,oBAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,CACnC,CACN,CAAA;IACH,CAAC,CAAC,CACC,CACN,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { TestRunHookFinished, TestStepFinished } from '@cucumber/messages'\nimport React from 'react'\nimport { FC } from 'react'\n\nimport { useQueries } from '../../hooks/index.js'\nimport { Attachment } from '../gherkin/index.js'\nimport styles from './TestStepAttachments.module.scss'\n\ninterface Props {\n testStepOrHookFinished: TestStepFinished | TestRunHookFinished\n}\n\nexport const TestStepAttachments: FC<Props> = ({ testStepOrHookFinished }) => {\n const { cucumberQuery } = useQueries()\n const attachments = cucumberQuery.findAttachmentsBy(testStepOrHookFinished)\n return (\n <ol className={styles.attachments}>\n {attachments.map((attachment, index) => {\n return (\n <li key={index}>\n <Attachment attachment={attachment} />\n </li>\n )\n })}\n </ol>\n )\n}\n"]}
1
+ {"version":3,"file":"TestStepAttachments.js","sourceRoot":"","sources":["../../../../src/components/results/TestStepAttachments.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,mCAAmC,CAAA;AAMtD,MAAM,CAAC,MAAM,mBAAmB,GAAc,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE;IAC3E,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;IAC3E,OAAO,CACL,aAAI,SAAS,EAAE,MAAM,CAAC,WAAW,YAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACrC,OAAO,CACL,uBACE,KAAC,UAAU,IAAC,UAAU,EAAE,UAAU,GAAI,IAD/B,KAAK,CAET,CACN,CAAA;QACH,CAAC,CAAC,GACC,CACN,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { TestRunHookFinished, TestStepFinished } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { useQueries } from '../../hooks/index.js'\nimport { Attachment } from '../gherkin/index.js'\nimport styles from './TestStepAttachments.module.scss'\n\ninterface Props {\n testStepOrHookFinished: TestStepFinished | TestRunHookFinished\n}\n\nexport const TestStepAttachments: FC<Props> = ({ testStepOrHookFinished }) => {\n const { cucumberQuery } = useQueries()\n const attachments = cucumberQuery.findAttachmentsBy(testStepOrHookFinished)\n return (\n <ol className={styles.attachments}>\n {attachments.map((attachment, index) => {\n return (\n <li key={index}>\n <Attachment attachment={attachment} />\n </li>\n )\n })}\n </ol>\n )\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Duration } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import { type Duration } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  export declare const TestStepDuration: FC<{
4
4
  duration: Duration;
5
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"TestStepDuration.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestStepDuration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAA;AAC7D,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAYjC,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAcvD,CAAA"}
1
+ {"version":3,"file":"TestStepDuration.d.ts","sourceRoot":"","sources":["../../../../src/components/results/TestStepDuration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAY/B,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAYvD,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { TimeConversion } from '@cucumber/messages';
2
- import React from 'react';
3
3
  import styles from './TestStepDuration.module.scss';
4
4
  const subSecondFormat = new Intl.NumberFormat(undefined, {
5
5
  maximumFractionDigits: 0,
@@ -12,6 +12,8 @@ export const TestStepDuration = ({ duration }) => {
12
12
  if (millis < 1) {
13
13
  return null;
14
14
  }
15
- return (React.createElement("span", { className: styles.duration }, millis < 1000 ? (React.createElement(React.Fragment, null, `${subSecondFormat.format(millis)}ms`)) : (React.createElement(React.Fragment, null, `${secondPlusFormat.format(millis / 1000)}s`))));
15
+ return (_jsx("span", { className: styles.duration, children: millis < 1000
16
+ ? `${subSecondFormat.format(millis)}ms`
17
+ : `${secondPlusFormat.format(millis / 1000)}s` }));
16
18
  };
17
19
  //# sourceMappingURL=TestStepDuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestStepDuration.js","sourceRoot":"","sources":["../../../../src/components/results/TestStepDuration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAEnD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IACvD,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IACxD,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC9D,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,CACL,8BAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,IAC7B,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CACf,0CAAG,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAI,CAC7C,CAAC,CAAC,CAAC,CACF,0CAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAI,CACpD,CACI,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Duration, TimeConversion } from '@cucumber/messages'\nimport React, { FC } from 'react'\n\nimport styles from './TestStepDuration.module.scss'\n\nconst subSecondFormat = new Intl.NumberFormat(undefined, {\n maximumFractionDigits: 0,\n})\n\nconst secondPlusFormat = new Intl.NumberFormat(undefined, {\n maximumFractionDigits: 3,\n})\n\nexport const TestStepDuration: FC<{ duration: Duration }> = ({ duration }) => {\n const millis = TimeConversion.durationToMilliseconds(duration)\n if (millis < 1) {\n return null\n }\n return (\n <span className={styles.duration}>\n {millis < 1000 ? (\n <>{`${subSecondFormat.format(millis)}ms`}</>\n ) : (\n <>{`${secondPlusFormat.format(millis / 1000)}s`}</>\n )}\n </span>\n )\n}\n"]}
1
+ {"version":3,"file":"TestStepDuration.js","sourceRoot":"","sources":["../../../../src/components/results/TestStepDuration.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGlE,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAEnD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IACvD,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IACxD,qBAAqB,EAAE,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC9D,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,eAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,YAC7B,MAAM,GAAG,IAAI;YACZ,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;YACvC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAC3C,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { type Duration, TimeConversion } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport styles from './TestStepDuration.module.scss'\n\nconst subSecondFormat = new Intl.NumberFormat(undefined, {\n maximumFractionDigits: 0,\n})\n\nconst secondPlusFormat = new Intl.NumberFormat(undefined, {\n maximumFractionDigits: 3,\n})\n\nexport const TestStepDuration: FC<{ duration: Duration }> = ({ duration }) => {\n const millis = TimeConversion.durationToMilliseconds(duration)\n if (millis < 1) {\n return null\n }\n return (\n <span className={styles.duration}>\n {millis < 1000\n ? `${subSecondFormat.format(millis)}ms`\n : `${secondPlusFormat.format(millis / 1000)}s`}\n </span>\n )\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { TestStep, TestStepFinished } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import { type TestStep, type TestStepFinished } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  interface Props {
4
4
  testStep: TestStep;
5
5
  testStepFinished: TestStepFinished;