@cucumber/react-components 24.2.0 → 24.4.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 (691) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/dist/CucumberQueryContext.d.ts +3 -0
  4. package/dist/CucumberQueryContext.js +4 -0
  5. package/dist/GherkinQueryContext.d.ts +3 -0
  6. package/dist/GherkinQueryContext.js +4 -0
  7. package/dist/SearchContext.d.ts +18 -0
  8. package/dist/SearchContext.js +10 -0
  9. package/dist/ciCommitLink.d.ts +2 -0
  10. package/dist/ciCommitLink.js +12 -0
  11. package/dist/components/app/CICommitLink.d.ts +5 -0
  12. package/dist/components/app/CICommitLink.js +16 -0
  13. package/dist/components/app/CIJobLink.d.ts +5 -0
  14. package/dist/components/app/CIJobLink.js +10 -0
  15. package/dist/{src/components → components}/app/ControlledSearchProvider.d.ts +2 -3
  16. package/dist/components/app/ControlledSearchProvider.js +39 -0
  17. package/dist/components/app/CopyButton.d.ts +5 -0
  18. package/dist/components/app/CopyButton.js +23 -0
  19. package/dist/{src/components → components}/app/DocumentAccordion.d.ts +3 -4
  20. package/dist/components/app/DocumentAccordion.js +22 -0
  21. package/dist/{src/components → components}/app/DocumentAccordion.module.scss +15 -7
  22. package/dist/components/app/EnvelopesProvider.d.ts +7 -0
  23. package/dist/components/app/EnvelopesProvider.js +18 -0
  24. package/dist/components/app/ExecutionSummary.d.ts +2 -0
  25. package/dist/components/app/ExecutionSummary.js +38 -0
  26. package/dist/components/app/FilteredDocuments.d.ts +2 -0
  27. package/dist/components/app/FilteredDocuments.js +15 -0
  28. package/dist/components/app/GherkinDocumentList.d.ts +8 -0
  29. package/dist/components/app/GherkinDocumentList.js +23 -0
  30. package/dist/{src/components → components}/app/Header.d.ts +1 -2
  31. package/dist/components/app/Header.js +12 -0
  32. package/dist/components/app/HealthChart.d.ts +2 -0
  33. package/dist/components/app/HealthChart.js +14 -0
  34. package/dist/components/app/HighLight.d.ts +8 -0
  35. package/dist/components/app/HighLight.js +38 -0
  36. package/dist/components/app/ImplementationIcon.d.ts +5 -0
  37. package/dist/components/app/ImplementationIcon.js +10 -0
  38. package/dist/{src/components → components}/app/InMemorySearchProvider.d.ts +2 -3
  39. package/dist/components/app/InMemorySearchProvider.js +11 -0
  40. package/dist/components/app/NavigationButton.d.ts +2 -0
  41. package/dist/components/app/NavigationButton.js +6 -0
  42. package/dist/components/app/OSIcon.d.ts +5 -0
  43. package/dist/components/app/OSIcon.js +18 -0
  44. package/dist/components/app/QueriesProvider.d.ts +9 -0
  45. package/dist/components/app/QueriesProvider.js +7 -0
  46. package/dist/components/app/Report.d.ts +2 -0
  47. package/dist/components/app/Report.js +10 -0
  48. package/dist/components/app/RuntimeIcon.d.ts +5 -0
  49. package/dist/components/app/RuntimeIcon.js +18 -0
  50. package/dist/components/app/SearchBar.d.ts +2 -0
  51. package/dist/components/app/SearchBar.js +33 -0
  52. package/dist/components/app/StatusesSummary.d.ts +2 -0
  53. package/dist/components/app/StatusesSummary.js +16 -0
  54. package/dist/components/app/TestRunHooks.d.ts +2 -0
  55. package/dist/components/app/TestRunHooks.js +14 -0
  56. package/dist/{src/components → components}/app/UrlSearchProvider.d.ts +1 -2
  57. package/dist/components/app/UrlSearchProvider.js +29 -0
  58. package/dist/{src/components → components}/app/findMostSevereTestStepResultStatus.d.ts +0 -1
  59. package/dist/components/app/findMostSevereTestStepResultStatus.js +17 -0
  60. package/dist/components/app/icons/CucumberLogo.d.ts +2 -0
  61. package/dist/components/app/icons/CucumberLogo.js +5 -0
  62. package/dist/components/app/icons/Jvm.d.ts +2 -0
  63. package/dist/components/app/icons/Jvm.js +5 -0
  64. package/dist/components/app/icons/Linux.d.ts +2 -0
  65. package/dist/components/app/icons/Linux.js +5 -0
  66. package/dist/components/app/icons/MacOS.d.ts +2 -0
  67. package/dist/components/app/icons/MacOS.js +5 -0
  68. package/dist/components/app/icons/NodeJs.d.ts +2 -0
  69. package/dist/components/app/icons/NodeJs.js +5 -0
  70. package/dist/components/app/icons/Ruby.d.ts +2 -0
  71. package/dist/components/app/icons/Ruby.js +5 -0
  72. package/dist/components/app/icons/Windows.d.ts +2 -0
  73. package/dist/components/app/icons/Windows.js +5 -0
  74. package/dist/{src/components/app/index.js → components/app/index.d.ts} +0 -1
  75. package/dist/components/app/index.js +15 -0
  76. package/dist/components/app/makeSetupString.d.ts +2 -0
  77. package/dist/components/app/makeSetupString.js +21 -0
  78. package/dist/components/app/markdownComponents.d.ts +8 -0
  79. package/dist/components/app/markdownComponents.js +6 -0
  80. package/dist/components/app/rehypePlugins.d.ts +3 -0
  81. package/dist/components/app/rehypePlugins.js +9 -0
  82. package/dist/components/app/remarkPlugins.d.ts +3 -0
  83. package/dist/components/app/remarkPlugins.js +4 -0
  84. package/dist/{src/components → components}/customise/CustomRendering.d.ts +18 -19
  85. package/dist/components/customise/CustomRendering.js +35 -0
  86. package/dist/components/customise/CustomRendering.stories.scss +8 -0
  87. package/dist/{src/components/customise/index.js → components/customise/index.d.ts} +0 -1
  88. package/dist/components/customise/index.js +3 -0
  89. package/dist/{src/components → components}/customise/theming.d.ts +0 -1
  90. package/dist/components/customise/theming.js +2 -0
  91. package/dist/components/gherkin/Anchor.d.ts +3 -0
  92. package/dist/components/gherkin/Anchor.js +13 -0
  93. package/dist/components/gherkin/Background.d.ts +3 -0
  94. package/dist/components/gherkin/Background.js +18 -0
  95. package/dist/components/gherkin/Children.d.ts +3 -0
  96. package/dist/components/gherkin/Children.js +11 -0
  97. package/dist/components/gherkin/DataTable.d.ts +3 -0
  98. package/dist/components/gherkin/DataTable.js +16 -0
  99. package/dist/components/gherkin/Description.d.ts +3 -0
  100. package/dist/components/gherkin/Description.js +15 -0
  101. package/dist/components/gherkin/DocString.d.ts +3 -0
  102. package/dist/components/gherkin/DocString.js +12 -0
  103. package/dist/components/gherkin/ErrorMessage.d.ts +3 -0
  104. package/dist/components/gherkin/ErrorMessage.js +13 -0
  105. package/dist/components/gherkin/ErrorMessage.module.scss +24 -0
  106. package/dist/components/gherkin/Examples.d.ts +3 -0
  107. package/dist/components/gherkin/Examples.js +31 -0
  108. package/dist/components/gherkin/Feature.d.ts +3 -0
  109. package/dist/components/gherkin/Feature.js +30 -0
  110. package/dist/components/gherkin/GherkinDocument.d.ts +3 -0
  111. package/dist/components/gherkin/GherkinDocument.js +11 -0
  112. package/dist/components/gherkin/Keyword.d.ts +3 -0
  113. package/dist/components/gherkin/Keyword.js +11 -0
  114. package/dist/{src/components → components}/gherkin/Keyword.module.scss +0 -1
  115. package/dist/components/gherkin/Parameter.d.ts +3 -0
  116. package/dist/components/gherkin/Parameter.js +11 -0
  117. package/dist/components/gherkin/Rule.d.ts +3 -0
  118. package/dist/components/gherkin/Rule.js +26 -0
  119. package/dist/components/gherkin/Scenario.d.ts +3 -0
  120. package/dist/components/gherkin/Scenario.js +22 -0
  121. package/dist/components/gherkin/StatusIcon.d.ts +3 -0
  122. package/dist/components/gherkin/StatusIcon.js +24 -0
  123. package/dist/components/gherkin/StepsList.d.ts +4 -0
  124. package/dist/components/gherkin/StepsList.js +6 -0
  125. package/dist/components/gherkin/Tags.d.ts +3 -0
  126. package/dist/components/gherkin/Tags.js +15 -0
  127. package/dist/components/gherkin/Title.d.ts +3 -0
  128. package/dist/components/gherkin/Title.js +12 -0
  129. package/dist/components/gherkin/attachment/Attachment.d.ts +3 -0
  130. package/dist/components/gherkin/attachment/Attachment.js +45 -0
  131. package/dist/{src/components → components}/gherkin/attachment/Attachment.module.scss +15 -5
  132. package/dist/components/gherkin/attachment/Image.d.ts +7 -0
  133. package/dist/components/gherkin/attachment/Image.js +16 -0
  134. package/dist/components/gherkin/attachment/Links.d.ts +7 -0
  135. package/dist/components/gherkin/attachment/Links.js +14 -0
  136. package/dist/components/gherkin/attachment/Log.d.ts +7 -0
  137. package/dist/components/gherkin/attachment/Log.js +12 -0
  138. package/dist/components/gherkin/attachment/Text.d.ts +8 -0
  139. package/dist/components/gherkin/attachment/Text.js +16 -0
  140. package/dist/components/gherkin/attachment/Unknown.d.ts +3 -0
  141. package/dist/components/gherkin/attachment/Unknown.js +61 -0
  142. package/dist/components/gherkin/attachment/Video.d.ts +5 -0
  143. package/dist/components/gherkin/attachment/Video.js +16 -0
  144. package/dist/components/gherkin/attachment/attachmentFilename.d.ts +2 -0
  145. package/dist/components/gherkin/attachment/attachmentFilename.js +12 -0
  146. package/dist/components/gherkin/attachment/base64Decode.d.ts +9 -0
  147. package/dist/components/gherkin/attachment/base64Decode.js +19 -0
  148. package/dist/{src/components/gherkin/attachment/index.js → components/gherkin/attachment/index.d.ts} +0 -1
  149. package/dist/components/gherkin/attachment/index.js +2 -0
  150. package/dist/{src/components → components}/gherkin/attachment/useText.d.ts +1 -2
  151. package/dist/components/gherkin/attachment/useText.js +28 -0
  152. package/dist/components/gherkin/composeHookStepTitle.d.ts +2 -0
  153. package/dist/components/gherkin/composeHookStepTitle.js +23 -0
  154. package/dist/{src/components → components}/gherkin/composePickleStepTitle.d.ts +1 -2
  155. package/dist/components/gherkin/composePickleStepTitle.js +36 -0
  156. package/dist/{src/components/gherkin/index.js → components/gherkin/index.d.ts} +0 -1
  157. package/dist/components/gherkin/index.js +19 -0
  158. package/dist/{src/components → components}/gherkin/isNumber.d.ts +0 -1
  159. package/dist/components/gherkin/isNumber.js +7 -0
  160. package/dist/components/gherkin/statusName.d.ts +3 -0
  161. package/dist/components/gherkin/statusName.js +4 -0
  162. package/dist/{src/components/index.js → components/index.d.ts} +0 -1
  163. package/dist/components/index.js +4 -0
  164. package/dist/components/results/AmbiguousResult.d.ts +7 -0
  165. package/dist/components/results/AmbiguousResult.js +11 -0
  166. package/dist/components/results/AmbiguousResult.module.scss +22 -0
  167. package/dist/components/results/FailedResult.d.ts +7 -0
  168. package/dist/components/results/FailedResult.js +15 -0
  169. package/dist/components/results/PendingResult.d.ts +7 -0
  170. package/dist/components/results/PendingResult.js +12 -0
  171. package/dist/components/results/ResultNote.d.ts +2 -0
  172. package/dist/components/results/ResultNote.js +6 -0
  173. package/dist/components/results/ResultNote.module.scss +6 -0
  174. package/dist/components/results/SkippedResult.d.ts +7 -0
  175. package/dist/components/results/SkippedResult.js +12 -0
  176. package/dist/components/results/SourceReference.d.ts +7 -0
  177. package/dist/components/results/SourceReference.js +13 -0
  178. package/dist/components/results/SourceReference.module.scss +10 -0
  179. package/dist/components/results/TestCaseOutcome.d.ts +7 -0
  180. package/dist/components/results/TestCaseOutcome.js +32 -0
  181. package/dist/{src/components → components}/results/TestRunHookOutcome.d.ts +2 -3
  182. package/dist/components/results/TestRunHookOutcome.js +11 -0
  183. package/dist/components/results/TestStepAttachments.d.ts +7 -0
  184. package/dist/components/results/TestStepAttachments.js +12 -0
  185. package/dist/components/results/TestStepDuration.d.ts +5 -0
  186. package/dist/components/results/TestStepDuration.js +19 -0
  187. package/dist/{src/components → components}/results/TestStepOutcome.d.ts +2 -3
  188. package/dist/components/results/TestStepOutcome.js +45 -0
  189. package/dist/{src/components → components}/results/TestStepOutcome.module.scss +1 -1
  190. package/dist/components/results/UndefinedResult.d.ts +7 -0
  191. package/dist/components/results/UndefinedResult.js +18 -0
  192. package/dist/{src/components/gherkin/ErrorMessage.module.scss → components/results/UndefinedResult.module.scss} +5 -3
  193. package/dist/components/results/index.d.ts +2 -0
  194. package/dist/components/results/index.js +3 -0
  195. package/dist/{src/hooks/helpers.d.ts → ensure.d.ts} +0 -1
  196. package/dist/ensure.js +7 -0
  197. package/dist/{src/formatExecutionDistance.d.ts → formatExecutionDistance.d.ts} +0 -1
  198. package/dist/formatExecutionDistance.js +7 -0
  199. package/dist/{src/formatExecutionDuration.d.ts → formatExecutionDuration.d.ts} +0 -1
  200. package/dist/formatExecutionDuration.js +12 -0
  201. package/dist/{src/formatPassedQuantity.d.ts → formatPassedQuantity.d.ts} +0 -1
  202. package/dist/formatPassedQuantity.js +4 -0
  203. package/dist/{src/formatStatusRate.d.ts → formatStatusRate.d.ts} +0 -1
  204. package/dist/formatStatusRate.js +9 -0
  205. package/dist/{src/hooks/index.js → hooks/index.d.ts} +0 -1
  206. package/dist/hooks/index.js +3 -0
  207. package/dist/hooks/useFilteredDocuments.d.ts +5 -0
  208. package/dist/hooks/useFilteredDocuments.js +67 -0
  209. package/dist/hooks/useFilteredTestCases.d.ts +6 -0
  210. package/dist/hooks/useFilteredTestCases.js +36 -0
  211. package/dist/{src/hooks → hooks}/useMostSevereStatusByUri.d.ts +0 -1
  212. package/dist/hooks/useMostSevereStatusByUri.js +25 -0
  213. package/dist/hooks/useQueries.d.ts +6 -0
  214. package/dist/hooks/useQueries.js +9 -0
  215. package/dist/{src/hooks → hooks}/useResultStatistics.d.ts +1 -2
  216. package/dist/hooks/useResultStatistics.js +24 -0
  217. package/dist/hooks/useSearch.d.ts +2 -0
  218. package/dist/hooks/useSearch.js +6 -0
  219. package/dist/hooks/useSearchResult.d.ts +26 -0
  220. package/dist/hooks/useSearchResult.js +58 -0
  221. package/dist/hooks/useTestCaseStarted.d.ts +7 -0
  222. package/dist/hooks/useTestCaseStarted.js +20 -0
  223. package/dist/{src/hooks → hooks}/useTestRunHooks.d.ts +1 -2
  224. package/dist/hooks/useTestRunHooks.js +14 -0
  225. package/dist/{src/index.js → index.d.ts} +0 -1
  226. package/dist/index.js +3 -0
  227. package/dist/{src/isTagExpression.d.ts → isTagExpression.d.ts} +0 -1
  228. package/dist/isTagExpression.js +5 -0
  229. package/dist/search/FeatureSearch.d.ts +12 -0
  230. package/dist/search/FeatureSearch.js +39 -0
  231. package/dist/search/ScenarioLikeSearch.d.ts +19 -0
  232. package/dist/search/ScenarioLikeSearch.js +37 -0
  233. package/dist/search/StepSearch.d.ts +11 -0
  234. package/dist/search/StepSearch.js +40 -0
  235. package/dist/search/TextSearch.d.ts +11 -0
  236. package/dist/search/TextSearch.js +67 -0
  237. package/dist/search/createSearchIndex.d.ts +6 -0
  238. package/dist/search/createSearchIndex.js +10 -0
  239. package/dist/search/deriveLineageConstraints.d.ts +7 -0
  240. package/dist/search/deriveLineageConstraints.js +38 -0
  241. package/dist/search/filterAndExpandTestCaseEvents.d.ts +20 -0
  242. package/dist/search/filterAndExpandTestCaseEvents.js +32 -0
  243. package/dist/search/index.d.ts +6 -0
  244. package/dist/search/index.js +7 -0
  245. package/dist/search/pruneGherkinDocuments.d.ts +23 -0
  246. package/dist/search/pruneGherkinDocuments.js +179 -0
  247. package/dist/search/pruneTestCaseEvents.d.ts +16 -0
  248. package/dist/search/pruneTestCaseEvents.js +41 -0
  249. package/dist/search/types.d.ts +44 -0
  250. package/dist/search/types.js +2 -0
  251. package/dist/{src/statuses.d.ts → statuses.d.ts} +0 -1
  252. package/dist/statuses.js +12 -0
  253. package/dist/toRepositoryId.d.ts +1 -0
  254. package/dist/toRepositoryId.js +12 -0
  255. package/package.json +65 -75
  256. package/dist/src/CucumberQueryContext.d.ts +0 -5
  257. package/dist/src/CucumberQueryContext.d.ts.map +0 -1
  258. package/dist/src/CucumberQueryContext.js +0 -4
  259. package/dist/src/CucumberQueryContext.js.map +0 -1
  260. package/dist/src/GherkinQueryContext.d.ts +0 -5
  261. package/dist/src/GherkinQueryContext.d.ts.map +0 -1
  262. package/dist/src/GherkinQueryContext.js +0 -4
  263. package/dist/src/GherkinQueryContext.js.map +0 -1
  264. package/dist/src/SearchContext.d.ts +0 -13
  265. package/dist/src/SearchContext.d.ts.map +0 -1
  266. package/dist/src/SearchContext.js +0 -8
  267. package/dist/src/SearchContext.js.map +0 -1
  268. package/dist/src/ciCommitLink.d.ts +0 -3
  269. package/dist/src/ciCommitLink.d.ts.map +0 -1
  270. package/dist/src/ciCommitLink.js +0 -12
  271. package/dist/src/ciCommitLink.js.map +0 -1
  272. package/dist/src/components/app/CICommitLink.d.ts +0 -6
  273. package/dist/src/components/app/CICommitLink.d.ts.map +0 -1
  274. package/dist/src/components/app/CICommitLink.js +0 -21
  275. package/dist/src/components/app/CICommitLink.js.map +0 -1
  276. package/dist/src/components/app/CIJobLink.d.ts +0 -6
  277. package/dist/src/components/app/CIJobLink.d.ts.map +0 -1
  278. package/dist/src/components/app/CIJobLink.js +0 -14
  279. package/dist/src/components/app/CIJobLink.js.map +0 -1
  280. package/dist/src/components/app/ControlledSearchProvider.d.ts.map +0 -1
  281. package/dist/src/components/app/ControlledSearchProvider.js +0 -17
  282. package/dist/src/components/app/ControlledSearchProvider.js.map +0 -1
  283. package/dist/src/components/app/CopyButton.d.ts +0 -5
  284. package/dist/src/components/app/CopyButton.d.ts.map +0 -1
  285. package/dist/src/components/app/CopyButton.js +0 -23
  286. package/dist/src/components/app/CopyButton.js.map +0 -1
  287. package/dist/src/components/app/DocumentAccordion.d.ts.map +0 -1
  288. package/dist/src/components/app/DocumentAccordion.js +0 -30
  289. package/dist/src/components/app/DocumentAccordion.js.map +0 -1
  290. package/dist/src/components/app/EnvelopesProvider.d.ts +0 -8
  291. package/dist/src/components/app/EnvelopesProvider.d.ts.map +0 -1
  292. package/dist/src/components/app/EnvelopesProvider.js +0 -17
  293. package/dist/src/components/app/EnvelopesProvider.js.map +0 -1
  294. package/dist/src/components/app/ExecutionSummary.d.ts +0 -3
  295. package/dist/src/components/app/ExecutionSummary.d.ts.map +0 -1
  296. package/dist/src/components/app/ExecutionSummary.js +0 -84
  297. package/dist/src/components/app/ExecutionSummary.js.map +0 -1
  298. package/dist/src/components/app/FilteredDocuments.d.ts +0 -3
  299. package/dist/src/components/app/FilteredDocuments.d.ts.map +0 -1
  300. package/dist/src/components/app/FilteredDocuments.js +0 -15
  301. package/dist/src/components/app/FilteredDocuments.js.map +0 -1
  302. package/dist/src/components/app/GherkinDocumentList.d.ts +0 -9
  303. package/dist/src/components/app/GherkinDocumentList.d.ts.map +0 -1
  304. package/dist/src/components/app/GherkinDocumentList.js +0 -24
  305. package/dist/src/components/app/GherkinDocumentList.js.map +0 -1
  306. package/dist/src/components/app/Header.d.ts.map +0 -1
  307. package/dist/src/components/app/Header.js +0 -12
  308. package/dist/src/components/app/Header.js.map +0 -1
  309. package/dist/src/components/app/HealthChart.d.ts +0 -3
  310. package/dist/src/components/app/HealthChart.d.ts.map +0 -1
  311. package/dist/src/components/app/HealthChart.js +0 -15
  312. package/dist/src/components/app/HealthChart.js.map +0 -1
  313. package/dist/src/components/app/HighLight.d.ts +0 -9
  314. package/dist/src/components/app/HighLight.d.ts.map +0 -1
  315. package/dist/src/components/app/HighLight.js +0 -32
  316. package/dist/src/components/app/HighLight.js.map +0 -1
  317. package/dist/src/components/app/ImplementationIcon.d.ts +0 -6
  318. package/dist/src/components/app/ImplementationIcon.d.ts.map +0 -1
  319. package/dist/src/components/app/ImplementationIcon.js +0 -10
  320. package/dist/src/components/app/ImplementationIcon.js.map +0 -1
  321. package/dist/src/components/app/InMemorySearchProvider.d.ts.map +0 -1
  322. package/dist/src/components/app/InMemorySearchProvider.js +0 -10
  323. package/dist/src/components/app/InMemorySearchProvider.js.map +0 -1
  324. package/dist/src/components/app/NavigationButton.d.ts +0 -3
  325. package/dist/src/components/app/NavigationButton.d.ts.map +0 -1
  326. package/dist/src/components/app/NavigationButton.js +0 -6
  327. package/dist/src/components/app/NavigationButton.js.map +0 -1
  328. package/dist/src/components/app/OSIcon.d.ts +0 -6
  329. package/dist/src/components/app/OSIcon.d.ts.map +0 -1
  330. package/dist/src/components/app/OSIcon.js +0 -18
  331. package/dist/src/components/app/OSIcon.js.map +0 -1
  332. package/dist/src/components/app/QueriesProvider.d.ts +0 -10
  333. package/dist/src/components/app/QueriesProvider.d.ts.map +0 -1
  334. package/dist/src/components/app/QueriesProvider.js +0 -6
  335. package/dist/src/components/app/QueriesProvider.js.map +0 -1
  336. package/dist/src/components/app/Report.d.ts +0 -3
  337. package/dist/src/components/app/Report.d.ts.map +0 -1
  338. package/dist/src/components/app/Report.js +0 -19
  339. package/dist/src/components/app/Report.js.map +0 -1
  340. package/dist/src/components/app/RuntimeIcon.d.ts +0 -6
  341. package/dist/src/components/app/RuntimeIcon.d.ts.map +0 -1
  342. package/dist/src/components/app/RuntimeIcon.js +0 -18
  343. package/dist/src/components/app/RuntimeIcon.js.map +0 -1
  344. package/dist/src/components/app/SearchBar.d.ts +0 -3
  345. package/dist/src/components/app/SearchBar.d.ts.map +0 -1
  346. package/dist/src/components/app/SearchBar.js +0 -48
  347. package/dist/src/components/app/SearchBar.js.map +0 -1
  348. package/dist/src/components/app/StatusesSummary.d.ts +0 -3
  349. package/dist/src/components/app/StatusesSummary.d.ts.map +0 -1
  350. package/dist/src/components/app/StatusesSummary.js +0 -19
  351. package/dist/src/components/app/StatusesSummary.js.map +0 -1
  352. package/dist/src/components/app/TestRunHooks.d.ts +0 -3
  353. package/dist/src/components/app/TestRunHooks.d.ts.map +0 -1
  354. package/dist/src/components/app/TestRunHooks.js +0 -14
  355. package/dist/src/components/app/TestRunHooks.js.map +0 -1
  356. package/dist/src/components/app/UrlSearchProvider.d.ts.map +0 -1
  357. package/dist/src/components/app/UrlSearchProvider.js +0 -26
  358. package/dist/src/components/app/UrlSearchProvider.js.map +0 -1
  359. package/dist/src/components/app/findMostSevereTestStepResultStatus.d.ts.map +0 -1
  360. package/dist/src/components/app/findMostSevereTestStepResultStatus.js +0 -17
  361. package/dist/src/components/app/findMostSevereTestStepResultStatus.js.map +0 -1
  362. package/dist/src/components/app/icons/CucumberLogo.d.ts +0 -3
  363. package/dist/src/components/app/icons/CucumberLogo.d.ts.map +0 -1
  364. package/dist/src/components/app/icons/CucumberLogo.js +0 -9
  365. package/dist/src/components/app/icons/CucumberLogo.js.map +0 -1
  366. package/dist/src/components/app/icons/Jvm.d.ts +0 -3
  367. package/dist/src/components/app/icons/Jvm.d.ts.map +0 -1
  368. package/dist/src/components/app/icons/Jvm.js +0 -10
  369. package/dist/src/components/app/icons/Jvm.js.map +0 -1
  370. package/dist/src/components/app/icons/Linux.d.ts +0 -3
  371. package/dist/src/components/app/icons/Linux.d.ts.map +0 -1
  372. package/dist/src/components/app/icons/Linux.js +0 -20
  373. package/dist/src/components/app/icons/Linux.js.map +0 -1
  374. package/dist/src/components/app/icons/MacOS.d.ts +0 -3
  375. package/dist/src/components/app/icons/MacOS.d.ts.map +0 -1
  376. package/dist/src/components/app/icons/MacOS.js +0 -6
  377. package/dist/src/components/app/icons/MacOS.js.map +0 -1
  378. package/dist/src/components/app/icons/NodeJs.d.ts +0 -3
  379. package/dist/src/components/app/icons/NodeJs.d.ts.map +0 -1
  380. package/dist/src/components/app/icons/NodeJs.js +0 -8
  381. package/dist/src/components/app/icons/NodeJs.js.map +0 -1
  382. package/dist/src/components/app/icons/Ruby.d.ts +0 -3
  383. package/dist/src/components/app/icons/Ruby.d.ts.map +0 -1
  384. package/dist/src/components/app/icons/Ruby.js +0 -6
  385. package/dist/src/components/app/icons/Ruby.js.map +0 -1
  386. package/dist/src/components/app/icons/Windows.d.ts +0 -3
  387. package/dist/src/components/app/icons/Windows.d.ts.map +0 -1
  388. package/dist/src/components/app/icons/Windows.js +0 -6
  389. package/dist/src/components/app/icons/Windows.js.map +0 -1
  390. package/dist/src/components/app/index.d.ts +0 -15
  391. package/dist/src/components/app/index.d.ts.map +0 -1
  392. package/dist/src/components/app/index.js.map +0 -1
  393. package/dist/src/components/app/makeSetupString.d.ts +0 -3
  394. package/dist/src/components/app/makeSetupString.d.ts.map +0 -1
  395. package/dist/src/components/app/makeSetupString.js +0 -21
  396. package/dist/src/components/app/makeSetupString.js.map +0 -1
  397. package/dist/src/components/app/rehypePlugins.d.ts +0 -4
  398. package/dist/src/components/app/rehypePlugins.d.ts.map +0 -1
  399. package/dist/src/components/app/rehypePlugins.js +0 -9
  400. package/dist/src/components/app/rehypePlugins.js.map +0 -1
  401. package/dist/src/components/app/remarkPlugins.d.ts +0 -4
  402. package/dist/src/components/app/remarkPlugins.d.ts.map +0 -1
  403. package/dist/src/components/app/remarkPlugins.js +0 -4
  404. package/dist/src/components/app/remarkPlugins.js.map +0 -1
  405. package/dist/src/components/customise/CustomRendering.d.ts.map +0 -1
  406. package/dist/src/components/customise/CustomRendering.js +0 -34
  407. package/dist/src/components/customise/CustomRendering.js.map +0 -1
  408. package/dist/src/components/customise/CustomRendering.stories.scss +0 -25
  409. package/dist/src/components/customise/index.d.ts +0 -3
  410. package/dist/src/components/customise/index.d.ts.map +0 -1
  411. package/dist/src/components/customise/index.js.map +0 -1
  412. package/dist/src/components/customise/theming.d.ts.map +0 -1
  413. package/dist/src/components/customise/theming.js +0 -2
  414. package/dist/src/components/customise/theming.js.map +0 -1
  415. package/dist/src/components/gherkin/Anchor.d.ts +0 -4
  416. package/dist/src/components/gherkin/Anchor.d.ts.map +0 -1
  417. package/dist/src/components/gherkin/Anchor.js +0 -16
  418. package/dist/src/components/gherkin/Anchor.js.map +0 -1
  419. package/dist/src/components/gherkin/Background.d.ts +0 -4
  420. package/dist/src/components/gherkin/Background.d.ts.map +0 -1
  421. package/dist/src/components/gherkin/Background.js +0 -24
  422. package/dist/src/components/gherkin/Background.js.map +0 -1
  423. package/dist/src/components/gherkin/Children.d.ts +0 -4
  424. package/dist/src/components/gherkin/Children.d.ts.map +0 -1
  425. package/dist/src/components/gherkin/Children.js +0 -11
  426. package/dist/src/components/gherkin/Children.js.map +0 -1
  427. package/dist/src/components/gherkin/DataTable.d.ts +0 -4
  428. package/dist/src/components/gherkin/DataTable.d.ts.map +0 -1
  429. package/dist/src/components/gherkin/DataTable.js +0 -18
  430. package/dist/src/components/gherkin/DataTable.js.map +0 -1
  431. package/dist/src/components/gherkin/Description.d.ts +0 -4
  432. package/dist/src/components/gherkin/Description.d.ts.map +0 -1
  433. package/dist/src/components/gherkin/Description.js +0 -16
  434. package/dist/src/components/gherkin/Description.js.map +0 -1
  435. package/dist/src/components/gherkin/DocString.d.ts +0 -4
  436. package/dist/src/components/gherkin/DocString.d.ts.map +0 -1
  437. package/dist/src/components/gherkin/DocString.js +0 -13
  438. package/dist/src/components/gherkin/DocString.js.map +0 -1
  439. package/dist/src/components/gherkin/ErrorMessage.d.ts +0 -4
  440. package/dist/src/components/gherkin/ErrorMessage.d.ts.map +0 -1
  441. package/dist/src/components/gherkin/ErrorMessage.js +0 -11
  442. package/dist/src/components/gherkin/ErrorMessage.js.map +0 -1
  443. package/dist/src/components/gherkin/Examples.d.ts +0 -4
  444. package/dist/src/components/gherkin/Examples.d.ts.map +0 -1
  445. package/dist/src/components/gherkin/Examples.js +0 -42
  446. package/dist/src/components/gherkin/Examples.js.map +0 -1
  447. package/dist/src/components/gherkin/Feature.d.ts +0 -4
  448. package/dist/src/components/gherkin/Feature.d.ts.map +0 -1
  449. package/dist/src/components/gherkin/Feature.js +0 -40
  450. package/dist/src/components/gherkin/Feature.js.map +0 -1
  451. package/dist/src/components/gherkin/GherkinDocument.d.ts +0 -4
  452. package/dist/src/components/gherkin/GherkinDocument.d.ts.map +0 -1
  453. package/dist/src/components/gherkin/GherkinDocument.js +0 -11
  454. package/dist/src/components/gherkin/GherkinDocument.js.map +0 -1
  455. package/dist/src/components/gherkin/Keyword.d.ts +0 -4
  456. package/dist/src/components/gherkin/Keyword.d.ts.map +0 -1
  457. package/dist/src/components/gherkin/Keyword.js +0 -11
  458. package/dist/src/components/gherkin/Keyword.js.map +0 -1
  459. package/dist/src/components/gherkin/Parameter.d.ts +0 -4
  460. package/dist/src/components/gherkin/Parameter.d.ts.map +0 -1
  461. package/dist/src/components/gherkin/Parameter.js +0 -11
  462. package/dist/src/components/gherkin/Parameter.js.map +0 -1
  463. package/dist/src/components/gherkin/Rule.d.ts +0 -4
  464. package/dist/src/components/gherkin/Rule.d.ts.map +0 -1
  465. package/dist/src/components/gherkin/Rule.js +0 -36
  466. package/dist/src/components/gherkin/Rule.js.map +0 -1
  467. package/dist/src/components/gherkin/Scenario.d.ts +0 -4
  468. package/dist/src/components/gherkin/Scenario.d.ts.map +0 -1
  469. package/dist/src/components/gherkin/Scenario.js +0 -31
  470. package/dist/src/components/gherkin/Scenario.js.map +0 -1
  471. package/dist/src/components/gherkin/StatusIcon.d.ts +0 -4
  472. package/dist/src/components/gherkin/StatusIcon.d.ts.map +0 -1
  473. package/dist/src/components/gherkin/StatusIcon.js +0 -24
  474. package/dist/src/components/gherkin/StatusIcon.js.map +0 -1
  475. package/dist/src/components/gherkin/StepsList.d.ts +0 -5
  476. package/dist/src/components/gherkin/StepsList.d.ts.map +0 -1
  477. package/dist/src/components/gherkin/StepsList.js +0 -6
  478. package/dist/src/components/gherkin/StepsList.js.map +0 -1
  479. package/dist/src/components/gherkin/Tags.d.ts +0 -4
  480. package/dist/src/components/gherkin/Tags.d.ts.map +0 -1
  481. package/dist/src/components/gherkin/Tags.js +0 -16
  482. package/dist/src/components/gherkin/Tags.js.map +0 -1
  483. package/dist/src/components/gherkin/Title.d.ts +0 -4
  484. package/dist/src/components/gherkin/Title.d.ts.map +0 -1
  485. package/dist/src/components/gherkin/Title.js +0 -13
  486. package/dist/src/components/gherkin/Title.js.map +0 -1
  487. package/dist/src/components/gherkin/attachment/Attachment.d.ts +0 -4
  488. package/dist/src/components/gherkin/attachment/Attachment.d.ts.map +0 -1
  489. package/dist/src/components/gherkin/attachment/Attachment.js +0 -48
  490. package/dist/src/components/gherkin/attachment/Attachment.js.map +0 -1
  491. package/dist/src/components/gherkin/attachment/Image.d.ts +0 -8
  492. package/dist/src/components/gherkin/attachment/Image.d.ts.map +0 -1
  493. package/dist/src/components/gherkin/attachment/Image.js +0 -18
  494. package/dist/src/components/gherkin/attachment/Image.js.map +0 -1
  495. package/dist/src/components/gherkin/attachment/Links.d.ts +0 -8
  496. package/dist/src/components/gherkin/attachment/Links.d.ts.map +0 -1
  497. package/dist/src/components/gherkin/attachment/Links.js +0 -17
  498. package/dist/src/components/gherkin/attachment/Links.js.map +0 -1
  499. package/dist/src/components/gherkin/attachment/Log.d.ts +0 -8
  500. package/dist/src/components/gherkin/attachment/Log.d.ts.map +0 -1
  501. package/dist/src/components/gherkin/attachment/Log.js +0 -12
  502. package/dist/src/components/gherkin/attachment/Log.js.map +0 -1
  503. package/dist/src/components/gherkin/attachment/Text.d.ts +0 -9
  504. package/dist/src/components/gherkin/attachment/Text.d.ts.map +0 -1
  505. package/dist/src/components/gherkin/attachment/Text.js +0 -18
  506. package/dist/src/components/gherkin/attachment/Text.js.map +0 -1
  507. package/dist/src/components/gherkin/attachment/Unknown.d.ts +0 -4
  508. package/dist/src/components/gherkin/attachment/Unknown.d.ts.map +0 -1
  509. package/dist/src/components/gherkin/attachment/Unknown.js +0 -69
  510. package/dist/src/components/gherkin/attachment/Unknown.js.map +0 -1
  511. package/dist/src/components/gherkin/attachment/Video.d.ts +0 -6
  512. package/dist/src/components/gherkin/attachment/Video.d.ts.map +0 -1
  513. package/dist/src/components/gherkin/attachment/Video.js +0 -20
  514. package/dist/src/components/gherkin/attachment/Video.js.map +0 -1
  515. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts +0 -3
  516. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts.map +0 -1
  517. package/dist/src/components/gherkin/attachment/attachmentFilename.js +0 -12
  518. package/dist/src/components/gherkin/attachment/attachmentFilename.js.map +0 -1
  519. package/dist/src/components/gherkin/attachment/base64Decode.d.ts +0 -2
  520. package/dist/src/components/gherkin/attachment/base64Decode.d.ts.map +0 -1
  521. package/dist/src/components/gherkin/attachment/base64Decode.js +0 -5
  522. package/dist/src/components/gherkin/attachment/base64Decode.js.map +0 -1
  523. package/dist/src/components/gherkin/attachment/index.d.ts +0 -2
  524. package/dist/src/components/gherkin/attachment/index.d.ts.map +0 -1
  525. package/dist/src/components/gherkin/attachment/index.js.map +0 -1
  526. package/dist/src/components/gherkin/attachment/useText.d.ts.map +0 -1
  527. package/dist/src/components/gherkin/attachment/useText.js +0 -28
  528. package/dist/src/components/gherkin/attachment/useText.js.map +0 -1
  529. package/dist/src/components/gherkin/composeHookStepTitle.d.ts +0 -3
  530. package/dist/src/components/gherkin/composeHookStepTitle.d.ts.map +0 -1
  531. package/dist/src/components/gherkin/composeHookStepTitle.js +0 -23
  532. package/dist/src/components/gherkin/composeHookStepTitle.js.map +0 -1
  533. package/dist/src/components/gherkin/composePickleStepTitle.d.ts.map +0 -1
  534. package/dist/src/components/gherkin/composePickleStepTitle.js +0 -36
  535. package/dist/src/components/gherkin/composePickleStepTitle.js.map +0 -1
  536. package/dist/src/components/gherkin/index.d.ts +0 -19
  537. package/dist/src/components/gherkin/index.d.ts.map +0 -1
  538. package/dist/src/components/gherkin/index.js.map +0 -1
  539. package/dist/src/components/gherkin/isNumber.d.ts.map +0 -1
  540. package/dist/src/components/gherkin/isNumber.js +0 -7
  541. package/dist/src/components/gherkin/isNumber.js.map +0 -1
  542. package/dist/src/components/gherkin/statusName.d.ts +0 -4
  543. package/dist/src/components/gherkin/statusName.d.ts.map +0 -1
  544. package/dist/src/components/gherkin/statusName.js +0 -4
  545. package/dist/src/components/gherkin/statusName.js.map +0 -1
  546. package/dist/src/components/index.d.ts +0 -4
  547. package/dist/src/components/index.d.ts.map +0 -1
  548. package/dist/src/components/index.js.map +0 -1
  549. package/dist/src/components/results/TestCaseOutcome.d.ts +0 -8
  550. package/dist/src/components/results/TestCaseOutcome.d.ts.map +0 -1
  551. package/dist/src/components/results/TestCaseOutcome.js +0 -36
  552. package/dist/src/components/results/TestCaseOutcome.js.map +0 -1
  553. package/dist/src/components/results/TestRunHookOutcome.d.ts.map +0 -1
  554. package/dist/src/components/results/TestRunHookOutcome.js +0 -20
  555. package/dist/src/components/results/TestRunHookOutcome.js.map +0 -1
  556. package/dist/src/components/results/TestStepAttachments.d.ts +0 -8
  557. package/dist/src/components/results/TestStepAttachments.d.ts.map +0 -1
  558. package/dist/src/components/results/TestStepAttachments.js +0 -13
  559. package/dist/src/components/results/TestStepAttachments.js.map +0 -1
  560. package/dist/src/components/results/TestStepDuration.d.ts +0 -6
  561. package/dist/src/components/results/TestStepDuration.d.ts.map +0 -1
  562. package/dist/src/components/results/TestStepDuration.js +0 -17
  563. package/dist/src/components/results/TestStepDuration.js.map +0 -1
  564. package/dist/src/components/results/TestStepOutcome.d.ts.map +0 -1
  565. package/dist/src/components/results/TestStepOutcome.js +0 -54
  566. package/dist/src/components/results/TestStepOutcome.js.map +0 -1
  567. package/dist/src/components/results/TestStepResultDetails.d.ts +0 -4
  568. package/dist/src/components/results/TestStepResultDetails.d.ts.map +0 -1
  569. package/dist/src/components/results/TestStepResultDetails.js +0 -16
  570. package/dist/src/components/results/TestStepResultDetails.js.map +0 -1
  571. package/dist/src/components/results/index.d.ts +0 -3
  572. package/dist/src/components/results/index.d.ts.map +0 -1
  573. package/dist/src/components/results/index.js +0 -3
  574. package/dist/src/components/results/index.js.map +0 -1
  575. package/dist/src/formatExecutionDistance.d.ts.map +0 -1
  576. package/dist/src/formatExecutionDistance.js +0 -7
  577. package/dist/src/formatExecutionDistance.js.map +0 -1
  578. package/dist/src/formatExecutionDuration.d.ts.map +0 -1
  579. package/dist/src/formatExecutionDuration.js +0 -12
  580. package/dist/src/formatExecutionDuration.js.map +0 -1
  581. package/dist/src/formatPassedQuantity.d.ts.map +0 -1
  582. package/dist/src/formatPassedQuantity.js +0 -4
  583. package/dist/src/formatPassedQuantity.js.map +0 -1
  584. package/dist/src/formatStatusRate.d.ts.map +0 -1
  585. package/dist/src/formatStatusRate.js +0 -9
  586. package/dist/src/formatStatusRate.js.map +0 -1
  587. package/dist/src/hooks/helpers.d.ts.map +0 -1
  588. package/dist/src/hooks/helpers.js +0 -7
  589. package/dist/src/hooks/helpers.js.map +0 -1
  590. package/dist/src/hooks/index.d.ts +0 -3
  591. package/dist/src/hooks/index.d.ts.map +0 -1
  592. package/dist/src/hooks/index.js.map +0 -1
  593. package/dist/src/hooks/useFilteredDocuments.d.ts +0 -6
  594. package/dist/src/hooks/useFilteredDocuments.d.ts.map +0 -1
  595. package/dist/src/hooks/useFilteredDocuments.js +0 -49
  596. package/dist/src/hooks/useFilteredDocuments.js.map +0 -1
  597. package/dist/src/hooks/useMostSevereStatusByUri.d.ts.map +0 -1
  598. package/dist/src/hooks/useMostSevereStatusByUri.js +0 -25
  599. package/dist/src/hooks/useMostSevereStatusByUri.js.map +0 -1
  600. package/dist/src/hooks/useQueries.d.ts +0 -7
  601. package/dist/src/hooks/useQueries.d.ts.map +0 -1
  602. package/dist/src/hooks/useQueries.js +0 -9
  603. package/dist/src/hooks/useQueries.js.map +0 -1
  604. package/dist/src/hooks/useResultStatistics.d.ts.map +0 -1
  605. package/dist/src/hooks/useResultStatistics.js +0 -24
  606. package/dist/src/hooks/useResultStatistics.js.map +0 -1
  607. package/dist/src/hooks/useSearch.d.ts +0 -3
  608. package/dist/src/hooks/useSearch.d.ts.map +0 -1
  609. package/dist/src/hooks/useSearch.js +0 -6
  610. package/dist/src/hooks/useSearch.js.map +0 -1
  611. package/dist/src/hooks/useTestCaseStarted.d.ts +0 -3
  612. package/dist/src/hooks/useTestCaseStarted.d.ts.map +0 -1
  613. package/dist/src/hooks/useTestCaseStarted.js +0 -17
  614. package/dist/src/hooks/useTestCaseStarted.js.map +0 -1
  615. package/dist/src/hooks/useTestRunHooks.d.ts.map +0 -1
  616. package/dist/src/hooks/useTestRunHooks.js +0 -14
  617. package/dist/src/hooks/useTestRunHooks.js.map +0 -1
  618. package/dist/src/index.d.ts +0 -3
  619. package/dist/src/index.d.ts.map +0 -1
  620. package/dist/src/index.js.map +0 -1
  621. package/dist/src/isTagExpression.d.ts.map +0 -1
  622. package/dist/src/isTagExpression.js +0 -5
  623. package/dist/src/isTagExpression.js.map +0 -1
  624. package/dist/src/search/FeatureSearch.d.ts +0 -4
  625. package/dist/src/search/FeatureSearch.d.ts.map +0 -1
  626. package/dist/src/search/FeatureSearch.js +0 -45
  627. package/dist/src/search/FeatureSearch.js.map +0 -1
  628. package/dist/src/search/ScenarioLikeSearch.d.ts +0 -25
  629. package/dist/src/search/ScenarioLikeSearch.d.ts.map +0 -1
  630. package/dist/src/search/ScenarioLikeSearch.js +0 -41
  631. package/dist/src/search/ScenarioLikeSearch.js.map +0 -1
  632. package/dist/src/search/Search.d.ts +0 -11
  633. package/dist/src/search/Search.d.ts.map +0 -1
  634. package/dist/src/search/Search.js +0 -51
  635. package/dist/src/search/Search.js.map +0 -1
  636. package/dist/src/search/StepSearch.d.ts +0 -19
  637. package/dist/src/search/StepSearch.d.ts.map +0 -1
  638. package/dist/src/search/StepSearch.js +0 -44
  639. package/dist/src/search/StepSearch.js.map +0 -1
  640. package/dist/src/search/TagSearch.d.ts +0 -4
  641. package/dist/src/search/TagSearch.d.ts.map +0 -1
  642. package/dist/src/search/TagSearch.js +0 -57
  643. package/dist/src/search/TagSearch.js.map +0 -1
  644. package/dist/src/search/TextSearch.d.ts +0 -3
  645. package/dist/src/search/TextSearch.d.ts.map +0 -1
  646. package/dist/src/search/TextSearch.js +0 -63
  647. package/dist/src/search/TextSearch.js.map +0 -1
  648. package/dist/src/search/index.d.ts +0 -3
  649. package/dist/src/search/index.d.ts.map +0 -1
  650. package/dist/src/search/index.js +0 -3
  651. package/dist/src/search/index.js.map +0 -1
  652. package/dist/src/search/types.d.ts +0 -14
  653. package/dist/src/search/types.d.ts.map +0 -1
  654. package/dist/src/search/types.js +0 -2
  655. package/dist/src/search/types.js.map +0 -1
  656. package/dist/src/statuses.d.ts.map +0 -1
  657. package/dist/src/statuses.js +0 -12
  658. package/dist/src/statuses.js.map +0 -1
  659. package/dist/src/toRepositoryId.d.ts +0 -2
  660. package/dist/src/toRepositoryId.d.ts.map +0 -1
  661. package/dist/src/toRepositoryId.js +0 -11
  662. package/dist/src/toRepositoryId.js.map +0 -1
  663. package/dist/tsconfig.build.tsbuildinfo +0 -1
  664. /package/dist/{src/components → components}/app/CopyButton.module.scss +0 -0
  665. /package/dist/{src/components → components}/app/ExecutionSummary.module.scss +0 -0
  666. /package/dist/{src/components → components}/app/FilteredDocuments.module.scss +0 -0
  667. /package/dist/{src/components → components}/app/Header.module.scss +0 -0
  668. /package/dist/{src/components → components}/app/HealthChart.module.scss +0 -0
  669. /package/dist/{src/components → components}/app/NavigationButton.module.scss +0 -0
  670. /package/dist/{src/components → components}/app/Report.module.scss +0 -0
  671. /package/dist/{src/components → components}/app/SearchBar.module.scss +0 -0
  672. /package/dist/{src/components → components}/app/StatusesSummary.module.scss +0 -0
  673. /package/dist/{src/components → components}/app/TestRunHooks.module.scss +0 -0
  674. /package/dist/{src/components → components}/gherkin/Anchor.module.scss +0 -0
  675. /package/dist/{src/components → components}/gherkin/Children.module.scss +0 -0
  676. /package/dist/{src/components → components}/gherkin/DataTable.module.scss +0 -0
  677. /package/dist/{src/components → components}/gherkin/Description.module.scss +0 -0
  678. /package/dist/{src/components → components}/gherkin/DocString.module.scss +0 -0
  679. /package/dist/{src/components → components}/gherkin/Examples.module.scss +0 -0
  680. /package/dist/{src/components → components}/gherkin/Parameter.module.scss +0 -0
  681. /package/dist/{src/components → components}/gherkin/StatusIcon.module.scss +0 -0
  682. /package/dist/{src/components → components}/gherkin/StepsList.module.scss +0 -0
  683. /package/dist/{src/components → components}/gherkin/Tags.module.scss +0 -0
  684. /package/dist/{src/components → components}/gherkin/Title.module.scss +0 -0
  685. /package/dist/{src/components → components}/results/TestCaseOutcome.module.scss +0 -0
  686. /package/dist/{src/components → components}/results/TestRunHookOutcome.module.scss +0 -0
  687. /package/dist/{src/components → components}/results/TestStepAttachments.module.scss +0 -0
  688. /package/dist/{src/components → components}/results/TestStepDuration.module.scss +0 -0
  689. /package/dist/{src/styles → styles}/statuses.scss +0 -0
  690. /package/dist/{src/styles → styles}/tables.scss +0 -0
  691. /package/dist/{src/styles → styles}/theming.scss +0 -0
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
3
  Copyright (c) Cucumber Ltd
4
4
 
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > A set of React components for rendering Gherkin documents and Cucumber results.
4
4
 
5
5
  Preview and examples:
6
- https://cucumber-react-preview.netlify.app/
6
+ https://react-components-9pg.pages.dev/
7
7
 
8
8
  ![Examples Tables](screenshots/examples-tables.png)
9
9
 
@@ -129,4 +129,4 @@ Staying with the doc string example, you can use the same `overrides` prop, but
129
129
  In each case where you provide your own component, it will receive the same props as the default component, plus two more:
130
130
 
131
131
  - `styles` - class names for the default styling, so you can still apply these to your custom component if it makes sense
132
- - `DefaultRenderer` - the default React component, useful if you only want to provide your own rendering for certain cases, and otherwise fall back to the default rendering (don't forget to pass it the props)
132
+ - `DefaultRenderer` - the default React component, useful if you only want to provide your own rendering for certain cases, and otherwise fall back to the default rendering (don't forget to pass it the props)
@@ -0,0 +1,3 @@
1
+ import { Query as CucumberQuery } from '@cucumber/query';
2
+ declare const _default: import("react").Context<CucumberQuery>;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { Query as CucumberQuery } from '@cucumber/query';
2
+ import { createContext } from 'react';
3
+ export default createContext(new CucumberQuery());
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VjdW1iZXJRdWVyeUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ3VjdW1iZXJRdWVyeUNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssSUFBSSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRXJDLGVBQWUsYUFBYSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5IGFzIEN1Y3VtYmVyUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvcXVlcnknXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUNvbnRleHQobmV3IEN1Y3VtYmVyUXVlcnkoKSlcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
2
+ declare const _default: import("react").Context<GherkinQuery>;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
2
+ import { createContext } from 'react';
3
+ export default createContext(new GherkinQuery());
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2hlcmtpblF1ZXJ5Q29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9HaGVya2luUXVlcnlDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLElBQUksWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVyQyxlQUFlLGFBQWEsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeSBhcyBHaGVya2luUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvZ2hlcmtpbi11dGlscydcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQ29udGV4dChuZXcgR2hlcmtpblF1ZXJ5KCkpXG4iXX0=
@@ -0,0 +1,18 @@
1
+ import type { TestStepResultStatus as Status } from '@cucumber/messages';
2
+ import type { Node } from '@cucumber/tag-expressions';
3
+ export interface SearchState {
4
+ readonly query: string;
5
+ readonly hideStatuses: readonly Status[];
6
+ }
7
+ export interface SearchOperations {
8
+ update: (changes: Partial<SearchState>) => void;
9
+ }
10
+ export interface FilterCriteria {
11
+ readonly hideStatuses: readonly Status[];
12
+ readonly searchTerm?: string;
13
+ readonly tagExpression?: Node;
14
+ readonly unchanged: boolean;
15
+ }
16
+ export type SearchContextValue = SearchState & SearchOperations & FilterCriteria;
17
+ declare const _default: import("react").Context<SearchContextValue>;
18
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { createContext } from 'react';
2
+ export default createContext({
3
+ query: '',
4
+ hideStatuses: [],
5
+ unchanged: true,
6
+ searchTerm: undefined,
7
+ tagExpression: undefined,
8
+ update: () => { },
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFvQnJDLGVBQWUsYUFBYSxDQUFxQjtJQUMvQyxLQUFLLEVBQUUsRUFBRTtJQUNULFlBQVksRUFBRSxFQUFFO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLFNBQVM7SUFDckIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7Q0FDakIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUZXN0U3RlcFJlc3VsdFN0YXR1cyBhcyBTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tICdAY3VjdW1iZXIvdGFnLWV4cHJlc3Npb25zJ1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFN0YXRlIHtcbiAgcmVhZG9ubHkgcXVlcnk6IHN0cmluZ1xuICByZWFkb25seSBoaWRlU3RhdHVzZXM6IHJlYWRvbmx5IFN0YXR1c1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoT3BlcmF0aW9ucyB7XG4gIHVwZGF0ZTogKGNoYW5nZXM6IFBhcnRpYWw8U2VhcmNoU3RhdGU+KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ3JpdGVyaWEge1xuICByZWFkb25seSBoaWRlU3RhdHVzZXM6IHJlYWRvbmx5IFN0YXR1c1tdXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm0/OiBzdHJpbmdcbiAgcmVhZG9ubHkgdGFnRXhwcmVzc2lvbj86IE5vZGVcbiAgcmVhZG9ubHkgdW5jaGFuZ2VkOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbnRleHRWYWx1ZSA9IFNlYXJjaFN0YXRlICYgU2VhcmNoT3BlcmF0aW9ucyAmIEZpbHRlckNyaXRlcmlhXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUNvbnRleHQ8U2VhcmNoQ29udGV4dFZhbHVlPih7XG4gIHF1ZXJ5OiAnJyxcbiAgaGlkZVN0YXR1c2VzOiBbXSxcbiAgdW5jaGFuZ2VkOiB0cnVlLFxuICBzZWFyY2hUZXJtOiB1bmRlZmluZWQsXG4gIHRhZ0V4cHJlc3Npb246IHVuZGVmaW5lZCxcbiAgdXBkYXRlOiAoKSA9PiB7fSxcbn0pXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import type { Ci } from '@cucumber/messages';
2
+ export default function ciCommitLink(ci: Ci): string | undefined;
@@ -0,0 +1,12 @@
1
+ import toRepositoryId from './toRepositoryId.js';
2
+ // TODO move upstream to create-meta
3
+ export default function ciCommitLink(ci) {
4
+ if (ci.git?.remote) {
5
+ const repositoryId = toRepositoryId(ci.git.remote);
6
+ const github = repositoryId.startsWith('github.com') || ci.name === 'GitHub Actions';
7
+ if (ci.git.revision && github) {
8
+ return `https://${repositoryId}/commit/${ci.git.revision}`;
9
+ }
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lDb21taXRMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NpQ29tbWl0TGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQTtBQUVoRCxvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE9BQU8sVUFBVSxZQUFZLENBQUMsRUFBTTtJQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbEQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFBO1FBQ3BGLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDOUIsT0FBTyxXQUFXLFlBQVksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQzVELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5cbmltcG9ydCB0b1JlcG9zaXRvcnlJZCBmcm9tICcuL3RvUmVwb3NpdG9yeUlkLmpzJ1xuXG4vLyBUT0RPIG1vdmUgdXBzdHJlYW0gdG8gY3JlYXRlLW1ldGFcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNpQ29tbWl0TGluayhjaTogQ2kpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoY2kuZ2l0Py5yZW1vdGUpIHtcbiAgICBjb25zdCByZXBvc2l0b3J5SWQgPSB0b1JlcG9zaXRvcnlJZChjaS5naXQucmVtb3RlKVxuICAgIGNvbnN0IGdpdGh1YiA9IHJlcG9zaXRvcnlJZC5zdGFydHNXaXRoKCdnaXRodWIuY29tJykgfHwgY2kubmFtZSA9PT0gJ0dpdEh1YiBBY3Rpb25zJ1xuICAgIGlmIChjaS5naXQucmV2aXNpb24gJiYgZ2l0aHViKSB7XG4gICAgICByZXR1cm4gYGh0dHBzOi8vJHtyZXBvc2l0b3J5SWR9L2NvbW1pdC8ke2NpLmdpdC5yZXZpc2lvbn1gXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import type { Ci } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ export declare const CICommitLink: FC<{
4
+ ci: Ci;
5
+ }>;
@@ -0,0 +1,16 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { faCodeCommit } from '@fortawesome/free-solid-svg-icons';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import ciCommitLink from '../../ciCommitLink.js';
5
+ export const CICommitLink = ({ ci }) => {
6
+ if (!ci.git) {
7
+ return null;
8
+ }
9
+ const shortHash = ci.git.revision.substring(0, 7);
10
+ const commitLink = ciCommitLink(ci);
11
+ if (commitLink) {
12
+ return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeCommit }), _jsx("a", { href: commitLink, target: "_blank", rel: "noopener nofollow noreferrer", children: _jsx("code", { children: shortHash }) })] }));
13
+ }
14
+ return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeCommit }), _jsx("code", { children: shortHash })] }));
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0lDb21taXRMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NJQ29tbWl0TGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUE7QUFFaEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUVwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2pELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVuQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUksRUFDcEYsWUFBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxRQUFRLEVBQUMsR0FBRyxFQUFDLDhCQUE4QixZQUNyRSx5QkFBTyxTQUFTLEdBQVEsR0FDdEIsSUFDSCxDQUNKLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUksRUFDcEYseUJBQU8sU0FBUyxHQUFRLElBQ3ZCLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNvZGVDb21taXQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCBjaUNvbW1pdExpbmsgZnJvbSAnLi4vLi4vY2lDb21taXRMaW5rLmpzJ1xuXG5leHBvcnQgY29uc3QgQ0lDb21taXRMaW5rOiBGQzx7XG4gIGNpOiBDaVxufT4gPSAoeyBjaSB9KSA9PiB7XG4gIGlmICghY2kuZ2l0KSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IHNob3J0SGFzaCA9IGNpLmdpdC5yZXZpc2lvbi5zdWJzdHJpbmcoMCwgNylcbiAgY29uc3QgY29tbWl0TGluayA9IGNpQ29tbWl0TGluayhjaSlcblxuICBpZiAoY29tbWl0TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFDb2RlQ29tbWl0fSAvPlxuICAgICAgICA8YSBocmVmPXtjb21taXRMaW5rfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub2ZvbGxvdyBub3JlZmVycmVyXCI+XG4gICAgICAgICAgPGNvZGU+e3Nob3J0SGFzaH08L2NvZGU+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFDb2RlQ29tbWl0fSAvPlxuICAgICAgPGNvZGU+e3Nob3J0SGFzaH08L2NvZGU+XG4gICAgPC8+XG4gIClcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import type { Ci } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
+ export declare const CIJobLink: FC<{
4
+ ci: Ci;
5
+ }>;
@@ -0,0 +1,10 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { faServer } from '@fortawesome/free-solid-svg-icons';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ export const CIJobLink = ({ ci }) => {
5
+ if (ci.url) {
6
+ return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faServer }), _jsx("a", { href: ci.url, target: "_blank", rel: "noopener nofollow noreferrer", children: ci.name })] }));
7
+ }
8
+ return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faServer }), _jsx("span", { children: ci.name })] }));
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0lKb2JMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NJSm9iTGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUVqQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNkLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEdBQUksRUFDaEYsWUFBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsRUFBQyw4QkFBOEIsWUFDaEUsRUFBRSxDQUFDLElBQUksR0FDTixJQUNILENBQ0osQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLENBQ0wsOEJBQ0UsS0FBQyxlQUFlLG1CQUFhLE1BQU0sRUFBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsR0FBSSxFQUNoRix5QkFBTyxFQUFFLENBQUMsSUFBSSxHQUFRLElBQ3JCLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYVNlcnZlciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGNvbnN0IENJSm9iTGluazogRkM8e1xuICBjaTogQ2lcbn0+ID0gKHsgY2kgfSkgPT4ge1xuICBpZiAoY2kudXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxGb250QXdlc29tZUljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9e3sgb3BhY2l0eTogMC43NSB9fSBpY29uPXtmYVNlcnZlcn0gLz5cbiAgICAgICAgPGEgaHJlZj17Y2kudXJsfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub2ZvbGxvdyBub3JlZmVycmVyXCI+XG4gICAgICAgICAge2NpLm5hbWV9XG4gICAgICAgIDwvYT5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFTZXJ2ZXJ9IC8+XG4gICAgICA8c3Bhbj57Y2kubmFtZX08L3NwYW4+XG4gICAgPC8+XG4gIClcbn1cbiJdfQ==
@@ -1,9 +1,8 @@
1
- import { FC, PropsWithChildren } from 'react';
2
- import { SearchState } from '../../SearchContext.js';
1
+ import { type FC, type PropsWithChildren } from 'react';
2
+ import { type SearchState } from '../../SearchContext.js';
3
3
  interface Props {
4
4
  value: SearchState;
5
5
  onChange: (newValue: SearchState) => void;
6
6
  }
7
7
  export declare const ControlledSearchProvider: FC<PropsWithChildren<Props>>;
8
8
  export {};
9
- //# sourceMappingURL=ControlledSearchProvider.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { parse } from '@cucumber/tag-expressions';
3
+ import { useMemo } from 'react';
4
+ import isTagExpression from '../../isTagExpression.js';
5
+ import SearchQueryContext from '../../SearchContext.js';
6
+ export const ControlledSearchProvider = ({ value, onChange, children, }) => {
7
+ const contextValue = useMemo(() => {
8
+ const unchanged = !value.query && !value.hideStatuses.length;
9
+ return {
10
+ query: value.query,
11
+ hideStatuses: value.hideStatuses,
12
+ unchanged,
13
+ ...deriveState(value.query),
14
+ update: (newValues) => {
15
+ onChange({ ...value, ...newValues });
16
+ },
17
+ };
18
+ }, [value, onChange]);
19
+ return _jsx(SearchQueryContext.Provider, { value: contextValue, children: children });
20
+ };
21
+ function deriveState(query) {
22
+ if (!query) {
23
+ return {};
24
+ }
25
+ if (isTagExpression(query)) {
26
+ try {
27
+ return {
28
+ tagExpression: parse(query),
29
+ };
30
+ }
31
+ catch (error) {
32
+ console.error(`Failed to parse tag expression "${query}":`, error);
33
+ }
34
+ }
35
+ return {
36
+ searchTerm: query,
37
+ };
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NvbnRyb2xsZWRTZWFyY2hQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRCxPQUFPLEVBQW1DLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVoRSxPQUFPLGVBQWUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLGtCQUdOLE1BQU0sd0JBQXdCLENBQUE7QUFPL0IsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQWlDLENBQUMsRUFDckUsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEdBQ1QsRUFBRSxFQUFFO0lBQ0gsTUFBTSxZQUFZLEdBQXVCLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDcEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUE7UUFDNUQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsU0FBUztZQUNULEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUMxQyxRQUFRLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEMsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNyQixPQUFPLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxZQUFZLFlBQUcsUUFBUSxHQUErQixDQUFBO0FBQ25HLENBQUMsQ0FBQTtBQUVELFNBQVMsV0FBVyxDQUFDLEtBQWE7SUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUM7WUFDSCxPQUFPO2dCQUNMLGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO2FBQzVCLENBQUE7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEtBQUssSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdAY3VjdW1iZXIvdGFnLWV4cHJlc3Npb25zJ1xuaW1wb3J0IHsgdHlwZSBGQywgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgaXNUYWdFeHByZXNzaW9uIGZyb20gJy4uLy4uL2lzVGFnRXhwcmVzc2lvbi5qcydcbmltcG9ydCBTZWFyY2hRdWVyeUNvbnRleHQsIHtcbiAgdHlwZSBTZWFyY2hDb250ZXh0VmFsdWUsXG4gIHR5cGUgU2VhcmNoU3RhdGUsXG59IGZyb20gJy4uLy4uL1NlYXJjaENvbnRleHQuanMnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHZhbHVlOiBTZWFyY2hTdGF0ZVxuICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBTZWFyY2hTdGF0ZSkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxQcm9wcz4+ID0gKHtcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgY29udGV4dFZhbHVlOiBTZWFyY2hDb250ZXh0VmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1bmNoYW5nZWQgPSAhdmFsdWUucXVlcnkgJiYgIXZhbHVlLmhpZGVTdGF0dXNlcy5sZW5ndGhcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHZhbHVlLnF1ZXJ5LFxuICAgICAgaGlkZVN0YXR1c2VzOiB2YWx1ZS5oaWRlU3RhdHVzZXMsXG4gICAgICB1bmNoYW5nZWQsXG4gICAgICAuLi5kZXJpdmVTdGF0ZSh2YWx1ZS5xdWVyeSksXG4gICAgICB1cGRhdGU6IChuZXdWYWx1ZXM6IFBhcnRpYWw8U2VhcmNoU3RhdGU+KSA9PiB7XG4gICAgICAgIG9uQ2hhbmdlKHsgLi4udmFsdWUsIC4uLm5ld1ZhbHVlcyB9KVxuICAgICAgfSxcbiAgICB9XG4gIH0sIFt2YWx1ZSwgb25DaGFuZ2VdKVxuICByZXR1cm4gPFNlYXJjaFF1ZXJ5Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT57Y2hpbGRyZW59PC9TZWFyY2hRdWVyeUNvbnRleHQuUHJvdmlkZXI+XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVN0YXRlKHF1ZXJ5OiBzdHJpbmcpOiBQaWNrPFNlYXJjaENvbnRleHRWYWx1ZSwgJ3NlYXJjaFRlcm0nIHwgJ3RhZ0V4cHJlc3Npb24nPiB7XG4gIGlmICghcXVlcnkpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuICBpZiAoaXNUYWdFeHByZXNzaW9uKHF1ZXJ5KSkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0YWdFeHByZXNzaW9uOiBwYXJzZShxdWVyeSksXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBwYXJzZSB0YWcgZXhwcmVzc2lvbiBcIiR7cXVlcnl9XCI6YCwgZXJyb3IpXG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgc2VhcmNoVGVybTogcXVlcnksXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ export declare const CopyButton: FC<{
3
+ text: string;
4
+ className?: string;
5
+ }>;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { faCheck, faCopy } from '@fortawesome/free-solid-svg-icons';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { useState } from 'react';
5
+ import styles from './CopyButton.module.scss';
6
+ export const CopyButton = ({ text, className }) => {
7
+ const [copied, setCopied] = useState(false);
8
+ const handleCopy = () => {
9
+ navigator.clipboard
10
+ .writeText(text)
11
+ .then(() => {
12
+ setCopied(true);
13
+ setTimeout(() => {
14
+ setCopied(false);
15
+ }, 3000);
16
+ })
17
+ .catch((err) => {
18
+ console.error('Failed to copy', err);
19
+ });
20
+ };
21
+ return (_jsx("button", { type: "button", onClick: handleCopy, "aria-label": copied ? 'Copied' : 'Copy', disabled: copied, className: `${styles.button}${className ? ` ${className}` : ''}`, children: _jsx(FontAwesomeIcon, { icon: copied ? faCheck : faCopy }) }));
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29weUJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9Db3B5QnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDaEUsT0FBTyxFQUFXLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV6QyxPQUFPLE1BQU0sTUFBTSwwQkFBMEIsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTZDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMxRixNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUzQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsU0FBUyxDQUFDLFNBQVM7YUFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQzthQUNmLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDZixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDVixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDdEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUE7SUFFRCxPQUFPLENBQ0wsaUJBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixPQUFPLEVBQUUsVUFBVSxnQkFDUCxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUN0QyxRQUFRLEVBQUUsTUFBTSxFQUNoQixTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFlBRWhFLEtBQUMsZUFBZSxJQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFJLEdBQzdDLENBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhQ2hlY2ssIGZhQ29weSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB7IHR5cGUgRkMsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9Db3B5QnV0dG9uLm1vZHVsZS5zY3NzJ1xuXG5leHBvcnQgY29uc3QgQ29weUJ1dHRvbjogRkM8eyB0ZXh0OiBzdHJpbmc7IGNsYXNzTmFtZT86IHN0cmluZyB9PiA9ICh7IHRleHQsIGNsYXNzTmFtZSB9KSA9PiB7XG4gIGNvbnN0IFtjb3BpZWQsIHNldENvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBoYW5kbGVDb3B5ID0gKCkgPT4ge1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgc2V0Q29waWVkKHRydWUpXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldENvcGllZChmYWxzZSlcbiAgICAgICAgfSwgMzAwMClcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gY29weScsIGVycilcbiAgICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgb25DbGljaz17aGFuZGxlQ29weX1cbiAgICAgIGFyaWEtbGFiZWw9e2NvcGllZCA/ICdDb3BpZWQnIDogJ0NvcHknfVxuICAgICAgZGlzYWJsZWQ9e2NvcGllZH1cbiAgICAgIGNsYXNzTmFtZT17YCR7c3R5bGVzLmJ1dHRvbn0ke2NsYXNzTmFtZSA/IGAgJHtjbGFzc05hbWV9YCA6ICcnfWB9XG4gICAgPlxuICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtjb3BpZWQgPyBmYUNoZWNrIDogZmFDb3B5fSAvPlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { TestStepResultStatus } from '@cucumber/messages';
2
- import { FC, ReactNode } from 'react';
1
+ import type { TestStepResultStatus } from '@cucumber/messages';
2
+ import { type FC, type ReactNode } from 'react';
3
3
  interface DocumentAccordionProps {
4
- expanded: ReadonlyArray<string>;
4
+ expanded: Iterable<string>;
5
5
  children: ReactNode;
6
6
  }
7
7
  interface DocumentAccordionItemProps {
@@ -12,4 +12,3 @@ interface DocumentAccordionItemProps {
12
12
  export declare const DocumentAccordion: FC<DocumentAccordionProps>;
13
13
  export declare const DocumentAccordionItem: FC<DocumentAccordionItemProps>;
14
14
  export {};
15
- //# sourceMappingURL=DocumentAccordion.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { useContext, useState } from 'react';
5
+ import { Button, Disclosure, DisclosureGroup, DisclosurePanel, DisclosureStateContext, Heading, } from 'react-aria-components';
6
+ import { StatusIcon } from '../gherkin/index.js';
7
+ import styles from './DocumentAccordion.module.scss';
8
+ const LazyContent = ({ children }) => {
9
+ const state = useContext(DisclosureStateContext);
10
+ const [hasBeenExpanded, setHasBeenExpanded] = useState(state?.isExpanded ?? false);
11
+ if (state?.isExpanded && !hasBeenExpanded) {
12
+ setHasBeenExpanded(true);
13
+ }
14
+ return hasBeenExpanded ? children : null;
15
+ };
16
+ export const DocumentAccordion = ({ expanded, children }) => {
17
+ return (_jsx(DisclosureGroup, { allowsMultipleExpanded: true, defaultExpandedKeys: expanded, className: styles.accordion, children: children }));
18
+ };
19
+ export const DocumentAccordionItem = ({ status, uri, children, }) => {
20
+ return (_jsxs(Disclosure, { id: uri, className: styles.item, children: [_jsx(Heading, { className: styles.heading, children: _jsxs(Button, { slot: "trigger", className: styles.button, children: [_jsx(FontAwesomeIcon, { className: styles.chevron, "aria-hidden": "true", icon: faChevronRight }), _jsx("span", { className: styles.icon, children: _jsx(StatusIcon, { status: status }) }), _jsx("span", { children: uri })] }) }), _jsx(DisclosurePanel, { children: _jsx(LazyContent, { children: _jsx("div", { className: styles.content, children: children }) }) })] }));
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnRBY2NvcmRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRG9jdW1lbnRBY2NvcmRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ2hFLE9BQU8sRUFBOEMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUN4RixPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixlQUFlLEVBQ2YsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixPQUFPLEdBQ1IsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDaEQsT0FBTyxNQUFNLE1BQU0saUNBQWlDLENBQUE7QUFhcEQsTUFBTSxXQUFXLEdBQW1DLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQ25FLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUVsRixJQUFJLEtBQUssRUFBRSxVQUFVLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUErQixDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDdEYsT0FBTyxDQUNMLEtBQUMsZUFBZSxJQUNkLHNCQUFzQixRQUN0QixtQkFBbUIsRUFBRSxRQUFRLEVBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxZQUUxQixRQUFRLEdBQ08sQ0FDbkIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQyxDQUFDLEVBQ3BFLE1BQU0sRUFDTixHQUFHLEVBQ0gsUUFBUSxHQUNULEVBQUUsRUFBRTtJQUNILE9BQU8sQ0FDTCxNQUFDLFVBQVUsSUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxhQUN6QyxLQUFDLE9BQU8sSUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sWUFDaEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sYUFDN0MsS0FBQyxlQUFlLElBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUFjLE1BQU0sRUFBQyxJQUFJLEVBQUUsY0FBYyxHQUFJLEVBQ3ZGLGVBQU0sU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQzFCLEtBQUMsVUFBVSxJQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUksR0FDekIsRUFDUCx5QkFBTyxHQUFHLEdBQVEsSUFDWCxHQUNELEVBQ1YsS0FBQyxlQUFlLGNBQ2QsS0FBQyxXQUFXLGNBQ1YsY0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sWUFBRyxRQUFRLEdBQU8sR0FDcEMsR0FDRSxJQUNQLENBQ2QsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdFN0ZXBSZXN1bHRTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNoZXZyb25SaWdodCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB7IHR5cGUgRkMsIHR5cGUgUmVhY3RFbGVtZW50LCB0eXBlIFJlYWN0Tm9kZSwgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEJ1dHRvbixcbiAgRGlzY2xvc3VyZSxcbiAgRGlzY2xvc3VyZUdyb3VwLFxuICBEaXNjbG9zdXJlUGFuZWwsXG4gIERpc2Nsb3N1cmVTdGF0ZUNvbnRleHQsXG4gIEhlYWRpbmcsXG59IGZyb20gJ3JlYWN0LWFyaWEtY29tcG9uZW50cydcblxuaW1wb3J0IHsgU3RhdHVzSWNvbiB9IGZyb20gJy4uL2doZXJraW4vaW5kZXguanMnXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vRG9jdW1lbnRBY2NvcmRpb24ubW9kdWxlLnNjc3MnXG5cbmludGVyZmFjZSBEb2N1bWVudEFjY29yZGlvblByb3BzIHtcbiAgZXhwYW5kZWQ6IEl0ZXJhYmxlPHN0cmluZz5cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxufVxuXG5pbnRlcmZhY2UgRG9jdW1lbnRBY2NvcmRpb25JdGVtUHJvcHMge1xuICBzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzXG4gIHVyaTogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn1cblxuY29uc3QgTGF6eUNvbnRlbnQ6IEZDPHsgY2hpbGRyZW46IFJlYWN0RWxlbWVudCB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3Qgc3RhdGUgPSB1c2VDb250ZXh0KERpc2Nsb3N1cmVTdGF0ZUNvbnRleHQpXG4gIGNvbnN0IFtoYXNCZWVuRXhwYW5kZWQsIHNldEhhc0JlZW5FeHBhbmRlZF0gPSB1c2VTdGF0ZShzdGF0ZT8uaXNFeHBhbmRlZCA/PyBmYWxzZSlcblxuICBpZiAoc3RhdGU/LmlzRXhwYW5kZWQgJiYgIWhhc0JlZW5FeHBhbmRlZCkge1xuICAgIHNldEhhc0JlZW5FeHBhbmRlZCh0cnVlKVxuICB9XG5cbiAgcmV0dXJuIGhhc0JlZW5FeHBhbmRlZCA/IGNoaWxkcmVuIDogbnVsbFxufVxuXG5leHBvcnQgY29uc3QgRG9jdW1lbnRBY2NvcmRpb246IEZDPERvY3VtZW50QWNjb3JkaW9uUHJvcHM+ID0gKHsgZXhwYW5kZWQsIGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8RGlzY2xvc3VyZUdyb3VwXG4gICAgICBhbGxvd3NNdWx0aXBsZUV4cGFuZGVkXG4gICAgICBkZWZhdWx0RXhwYW5kZWRLZXlzPXtleHBhbmRlZH1cbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFjY29yZGlvbn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9EaXNjbG9zdXJlR3JvdXA+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERvY3VtZW50QWNjb3JkaW9uSXRlbTogRkM8RG9jdW1lbnRBY2NvcmRpb25JdGVtUHJvcHM+ID0gKHtcbiAgc3RhdHVzLFxuICB1cmksXG4gIGNoaWxkcmVuLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxEaXNjbG9zdXJlIGlkPXt1cml9IGNsYXNzTmFtZT17c3R5bGVzLml0ZW19PlxuICAgICAgPEhlYWRpbmcgY2xhc3NOYW1lPXtzdHlsZXMuaGVhZGluZ30+XG4gICAgICAgIDxCdXR0b24gc2xvdD1cInRyaWdnZXJcIiBjbGFzc05hbWU9e3N0eWxlcy5idXR0b259PlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gY2xhc3NOYW1lPXtzdHlsZXMuY2hldnJvbn0gYXJpYS1oaWRkZW49XCJ0cnVlXCIgaWNvbj17ZmFDaGV2cm9uUmlnaHR9IC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICA8U3RhdHVzSWNvbiBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3VyaX08L3NwYW4+XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9IZWFkaW5nPlxuICAgICAgPERpc2Nsb3N1cmVQYW5lbD5cbiAgICAgICAgPExhenlDb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuY29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L0xhenlDb250ZW50PlxuICAgICAgPC9EaXNjbG9zdXJlUGFuZWw+XG4gICAgPC9EaXNjbG9zdXJlPlxuICApXG59XG4iXX0=
@@ -11,12 +11,20 @@
11
11
  border-radius: 2px;
12
12
  }
13
13
 
14
- .accordionItem + .accordionItem {
14
+ .item + .item {
15
15
  border-top: 1px solid theming.$panelAccentColor;
16
16
  }
17
17
 
18
- .accordionButton {
18
+ .heading {
19
+ font-size: inherit;
20
+ padding: 0;
21
+ margin: 0;
22
+ }
23
+
24
+ .button {
19
25
  box-sizing: border-box;
26
+ font-family: inherit;
27
+ font-size: inherit;
20
28
  width: 100%;
21
29
  padding: 0.75em 1em;
22
30
  border: none;
@@ -25,21 +33,21 @@
25
33
  cursor: pointer;
26
34
  text-align: left;
27
35
 
28
- &:hover {
36
+ &:hover,
37
+ &:focus {
29
38
  background-color: theming.$panelAccentColor;
30
39
  }
31
40
  }
32
41
 
33
- .accordionChevron {
42
+ .chevron {
34
43
  transform-origin: center center;
35
44
  transition: transform 0.2s linear;
36
45
 
37
- .accordionButton[aria-expanded='true'] &,
38
- .accordionButton[aria-selected='true'] & {
46
+ .button[aria-expanded='true'] & {
39
47
  transform: rotate(90deg);
40
48
  }
41
49
  }
42
50
 
43
- .accordionPanel {
51
+ .content {
44
52
  padding: 1.25em;
45
53
  }
@@ -0,0 +1,7 @@
1
+ import type { Envelope } from '@cucumber/messages';
2
+ import { type FC, type PropsWithChildren } from 'react';
3
+ interface Props {
4
+ envelopes: readonly Envelope[];
5
+ }
6
+ export declare const EnvelopesProvider: FC<PropsWithChildren<Props>>;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
3
+ import { Query as CucumberQuery } from '@cucumber/query';
4
+ import { useMemo } from 'react';
5
+ import { QueriesProvider } from './QueriesProvider.js';
6
+ export const EnvelopesProvider = ({ envelopes, children }) => {
7
+ const { gherkinQuery, cucumberQuery } = useMemo(() => {
8
+ const gherkinQuery = new GherkinQuery();
9
+ const cucumberQuery = new CucumberQuery();
10
+ for (const envelope of envelopes) {
11
+ gherkinQuery.update(envelope);
12
+ cucumberQuery.update(envelope);
13
+ }
14
+ return { gherkinQuery, cucumberQuery };
15
+ }, [envelopes]);
16
+ return (_jsx(QueriesProvider, { gherkinQuery: gherkinQuery, cucumberQuery: cucumberQuery, children: children }));
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52ZWxvcGVzUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRW52ZWxvcGVzUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxJQUFJLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRS9ELE9BQU8sRUFBRSxLQUFLLElBQUksYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFtQyxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBTXRELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDekYsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQTtRQUN6QyxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQTtJQUN4QyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ2YsT0FBTyxDQUNMLEtBQUMsZUFBZSxJQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsWUFDdEUsUUFBUSxHQUNPLENBQ25CLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeSBhcyBHaGVya2luUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvZ2hlcmtpbi11dGlscydcbmltcG9ydCB0eXBlIHsgRW52ZWxvcGUgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBRdWVyeSBhcyBDdWN1bWJlclF1ZXJ5IH0gZnJvbSAnQGN1Y3VtYmVyL3F1ZXJ5J1xuaW1wb3J0IHsgdHlwZSBGQywgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBRdWVyaWVzUHJvdmlkZXIgfSBmcm9tICcuL1F1ZXJpZXNQcm92aWRlci5qcydcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZW52ZWxvcGVzOiByZWFkb25seSBFbnZlbG9wZVtdXG59XG5cbmV4cG9ydCBjb25zdCBFbnZlbG9wZXNQcm92aWRlcjogRkM8UHJvcHNXaXRoQ2hpbGRyZW48UHJvcHM+PiA9ICh7IGVudmVsb3BlcywgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCB7IGdoZXJraW5RdWVyeSwgY3VjdW1iZXJRdWVyeSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ2hlcmtpblF1ZXJ5ID0gbmV3IEdoZXJraW5RdWVyeSgpXG4gICAgY29uc3QgY3VjdW1iZXJRdWVyeSA9IG5ldyBDdWN1bWJlclF1ZXJ5KClcbiAgICBmb3IgKGNvbnN0IGVudmVsb3BlIG9mIGVudmVsb3Blcykge1xuICAgICAgZ2hlcmtpblF1ZXJ5LnVwZGF0ZShlbnZlbG9wZSlcbiAgICAgIGN1Y3VtYmVyUXVlcnkudXBkYXRlKGVudmVsb3BlKVxuICAgIH1cbiAgICByZXR1cm4geyBnaGVya2luUXVlcnksIGN1Y3VtYmVyUXVlcnkgfVxuICB9LCBbZW52ZWxvcGVzXSlcbiAgcmV0dXJuIChcbiAgICA8UXVlcmllc1Byb3ZpZGVyIGdoZXJraW5RdWVyeT17Z2hlcmtpblF1ZXJ5fSBjdWN1bWJlclF1ZXJ5PXtjdWN1bWJlclF1ZXJ5fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1F1ZXJpZXNQcm92aWRlcj5cbiAgKVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ import type { FC } from 'react';
2
+ export declare const ExecutionSummary: FC;
@@ -0,0 +1,38 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TestStepResultStatus, TimeConversion } from '@cucumber/messages';
3
+ import { faCodeBranch, faStopwatch, faTag } from '@fortawesome/free-solid-svg-icons';
4
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
+ import { formatExecutionDistance } from '../../formatExecutionDistance.js';
6
+ import { formatExecutionDuration } from '../../formatExecutionDuration.js';
7
+ import { formatPassedQuantity } from '../../formatPassedQuantity.js';
8
+ import { formatStatusRate } from '../../formatStatusRate.js';
9
+ import { useQueries } from '../../hooks/index.js';
10
+ import { useResultStatistics } from '../../hooks/useResultStatistics.js';
11
+ import { CICommitLink } from './CICommitLink.js';
12
+ import { CIJobLink } from './CIJobLink.js';
13
+ import { CopyButton } from './CopyButton.js';
14
+ import styles from './ExecutionSummary.module.scss';
15
+ import { HeaderItem, HeaderSection, HeaderSubItem } from './Header.js';
16
+ import { HealthChart } from './HealthChart.js';
17
+ import { ImplementationIcon } from './ImplementationIcon.js';
18
+ import { makeSetupString } from './makeSetupString.js';
19
+ import { OSIcon } from './OSIcon.js';
20
+ import { RuntimeIcon } from './RuntimeIcon.js';
21
+ export const ExecutionSummary = () => {
22
+ const { cucumberQuery } = useQueries();
23
+ const testRunStarted = cucumberQuery.findTestRunStarted();
24
+ const testRunFinished = cucumberQuery.findTestRunFinished();
25
+ const meta = cucumberQuery.findMeta();
26
+ const { scenarioCountByStatus, totalScenarioCount } = useResultStatistics();
27
+ const startDate = testRunStarted?.timestamp
28
+ ? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunStarted.timestamp))
29
+ : undefined;
30
+ const finishDate = testRunFinished?.timestamp
31
+ ? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunFinished.timestamp))
32
+ : undefined;
33
+ return (_jsxs(_Fragment, { children: [meta && (_jsx(HeaderSection, { children: _jsxs(HeaderItem, { testId: "cucumber.summary.setup", children: [_jsxs(HeaderSubItem, { children: [_jsx(ImplementationIcon, { implementation: meta.implementation }), _jsx(RuntimeIcon, { runtime: meta.runtime }), _jsx(OSIcon, { os: meta.os })] }), _jsxs("span", { "data-testid": "cucumber.summary.setup.phrase", children: [_jsx(VersionedTool, { ...meta.implementation, fallback: "unknown tool" }), _jsx("em", { className: styles.conjunction, children: " with " }), _jsx(VersionedTool, { ...meta.runtime, fallback: "unknown runtime" }), _jsx("em", { className: styles.conjunction, children: " on " }), _jsx(VersionedTool, { ...meta.os, fallback: "unknown platform" })] }), _jsx(CopyButton, { text: makeSetupString(meta) })] }) })), _jsxs(HeaderSection, { children: [_jsx(HeaderItem, { testId: "cucumber.summary.status", children: _jsxs(HeaderSubItem, { children: [_jsx(HealthChart, {}), _jsxs("span", { children: [formatStatusRate(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount), ' ', formatPassedQuantity(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount), ' passed'] })] }) }), startDate && (_jsx(HeaderItem, { testId: "cucumber.summary.timing", children: _jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faStopwatch }), _jsxs("span", { children: [_jsx("time", { title: startDate.toString(), dateTime: startDate.toISOString(), children: formatExecutionDistance(startDate) }), finishDate && (_jsxs(_Fragment, { children: [_jsx("em", { className: styles.conjunction, children: " in " }), _jsx("span", { children: formatExecutionDuration(startDate, finishDate) })] }))] })] }) })), meta?.ci && (_jsx(HeaderItem, { testId: "cucumber.summary.ci", children: _jsx(HeaderSubItem, { children: _jsx(CIJobLink, { ci: meta.ci }) }) })), meta?.ci?.git && (_jsxs(HeaderItem, { testId: "cucumber.summary.git", children: [_jsx(HeaderSubItem, { children: _jsx(CICommitLink, { ci: meta.ci }) }), meta.ci.git.branch && (_jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeBranch }), _jsx("code", { children: meta.ci.git.branch })] })), meta.ci.git.tag && (_jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faTag }), _jsx("code", { children: meta.ci.git.tag })] }))] }))] })] }));
34
+ };
35
+ const VersionedTool = ({ name, fallback, version }) => {
36
+ return (_jsxs("code", { children: [_jsx("strong", { children: name || fallback }), version && _jsxs("span", { children: ["@", version] })] }));
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY3V0aW9uU3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9FeGVjdXRpb25TdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sTUFBTSxNQUFNLGdDQUFnQyxDQUFBO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFPLEdBQUcsRUFBRTtJQUN2QyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDdEMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUE7SUFDekQsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUE7SUFDM0QsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3JDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLG1CQUFtQixFQUFFLENBQUE7SUFFM0UsTUFBTSxTQUFTLEdBQUcsY0FBYyxFQUFFLFNBQVM7UUFDekMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLE1BQU0sVUFBVSxHQUFHLGVBQWUsRUFBRSxTQUFTO1FBQzNDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUNBQWlDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFFYixPQUFPLENBQ0wsOEJBQ0csSUFBSSxJQUFJLENBQ1AsS0FBQyxhQUFhLGNBQ1osTUFBQyxVQUFVLElBQUMsTUFBTSxFQUFDLHdCQUF3QixhQUN6QyxNQUFDLGFBQWEsZUFDWixLQUFDLGtCQUFrQixJQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFJLEVBQzNELEtBQUMsV0FBVyxJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFJLEVBQ3RDLEtBQUMsTUFBTSxJQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFJLElBQ1QsRUFDaEIsK0JBQWtCLCtCQUErQixhQUMvQyxLQUFDLGFBQWEsT0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBQyxjQUFjLEdBQUcsRUFDbEUsYUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsdUJBQWEsRUFDOUMsS0FBQyxhQUFhLE9BQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsaUJBQWlCLEdBQUcsRUFDOUQsYUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcscUJBQVcsRUFDNUMsS0FBQyxhQUFhLE9BQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUMsa0JBQWtCLEdBQUcsSUFDckQsRUFDUCxLQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFJLElBQ2hDLEdBQ0MsQ0FDakIsRUFDRCxNQUFDLGFBQWEsZUFDWixLQUFDLFVBQVUsSUFBQyxNQUFNLEVBQUMseUJBQXlCLFlBQzFDLE1BQUMsYUFBYSxlQUNaLEtBQUMsV0FBVyxLQUFHLEVBQ2YsMkJBQ0csZ0JBQWdCLENBQ2YscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQ2xELGtCQUFrQixDQUNuQixFQUFFLEdBQUcsRUFDTCxvQkFBb0IsQ0FDbkIscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQ2xELGtCQUFrQixDQUNuQixFQUNBLFNBQVMsSUFDTCxJQUNPLEdBQ0wsRUFDWixTQUFTLElBQUksQ0FDWixLQUFDLFVBQVUsSUFBQyxNQUFNLEVBQUMseUJBQXlCLFlBQzFDLE1BQUMsYUFBYSxlQUNaLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEdBQUksRUFDbkYsMkJBQ0UsZUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLFlBQ2pFLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUM5QixFQUNOLFVBQVUsSUFBSSxDQUNiLDhCQUNFLGFBQUksU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLHFCQUFXLEVBQzVDLHlCQUFPLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBUSxJQUM1RCxDQUNKLElBQ0ksSUFDTyxHQUNMLENBQ2QsRUFDQSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQ1gsS0FBQyxVQUFVLElBQUMsTUFBTSxFQUFDLHFCQUFxQixZQUN0QyxLQUFDLGFBQWEsY0FDWixLQUFDLFNBQVMsSUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBSSxHQUNaLEdBQ0wsQ0FDZCxFQUNBLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQ2hCLE1BQUMsVUFBVSxJQUFDLE1BQU0sRUFBQyxzQkFBc0IsYUFDdkMsS0FBQyxhQUFhLGNBQ1osS0FBQyxZQUFZLElBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUksR0FDZixFQUNmLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUNyQixNQUFDLGFBQWEsZUFDWixLQUFDLGVBQWUsbUJBQWEsTUFBTSxFQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxHQUFJLEVBQ3BGLHlCQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBUSxJQUNuQixDQUNqQixFQUNBLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUNsQixNQUFDLGFBQWEsZUFDWixLQUFDLGVBQWUsbUJBQWEsTUFBTSxFQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFJLEVBQzdFLHlCQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBUSxJQUNoQixDQUNqQixJQUNVLENBQ2QsSUFDYSxJQUNmLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUF1QyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3hGLE9BQU8sQ0FDTCwyQkFDRSwyQkFBUyxJQUFJLElBQUksUUFBUSxHQUFVLEVBQ2xDLE9BQU8sSUFBSSxnQ0FBUSxPQUFPLElBQVEsSUFDOUIsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQcm9kdWN0LCBUZXN0U3RlcFJlc3VsdFN0YXR1cywgVGltZUNvbnZlcnNpb24gfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNvZGVCcmFuY2gsIGZhU3RvcHdhdGNoLCBmYVRhZyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgZm9ybWF0RXhlY3V0aW9uRGlzdGFuY2UgfSBmcm9tICcuLi8uLi9mb3JtYXRFeGVjdXRpb25EaXN0YW5jZS5qcydcbmltcG9ydCB7IGZvcm1hdEV4ZWN1dGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vZm9ybWF0RXhlY3V0aW9uRHVyYXRpb24uanMnXG5pbXBvcnQgeyBmb3JtYXRQYXNzZWRRdWFudGl0eSB9IGZyb20gJy4uLy4uL2Zvcm1hdFBhc3NlZFF1YW50aXR5LmpzJ1xuaW1wb3J0IHsgZm9ybWF0U3RhdHVzUmF0ZSB9IGZyb20gJy4uLy4uL2Zvcm1hdFN0YXR1c1JhdGUuanMnXG5pbXBvcnQgeyB1c2VRdWVyaWVzIH0gZnJvbSAnLi4vLi4vaG9va3MvaW5kZXguanMnXG5pbXBvcnQgeyB1c2VSZXN1bHRTdGF0aXN0aWNzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlUmVzdWx0U3RhdGlzdGljcy5qcydcbmltcG9ydCB7IENJQ29tbWl0TGluayB9IGZyb20gJy4vQ0lDb21taXRMaW5rLmpzJ1xuaW1wb3J0IHsgQ0lKb2JMaW5rIH0gZnJvbSAnLi9DSUpvYkxpbmsuanMnXG5pbXBvcnQgeyBDb3B5QnV0dG9uIH0gZnJvbSAnLi9Db3B5QnV0dG9uLmpzJ1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL0V4ZWN1dGlvblN1bW1hcnkubW9kdWxlLnNjc3MnXG5pbXBvcnQgeyBIZWFkZXJJdGVtLCBIZWFkZXJTZWN0aW9uLCBIZWFkZXJTdWJJdGVtIH0gZnJvbSAnLi9IZWFkZXIuanMnXG5pbXBvcnQgeyBIZWFsdGhDaGFydCB9IGZyb20gJy4vSGVhbHRoQ2hhcnQuanMnXG5pbXBvcnQgeyBJbXBsZW1lbnRhdGlvbkljb24gfSBmcm9tICcuL0ltcGxlbWVudGF0aW9uSWNvbi5qcydcbmltcG9ydCB7IG1ha2VTZXR1cFN0cmluZyB9IGZyb20gJy4vbWFrZVNldHVwU3RyaW5nLmpzJ1xuaW1wb3J0IHsgT1NJY29uIH0gZnJvbSAnLi9PU0ljb24uanMnXG5pbXBvcnQgeyBSdW50aW1lSWNvbiB9IGZyb20gJy4vUnVudGltZUljb24uanMnXG5cbmV4cG9ydCBjb25zdCBFeGVjdXRpb25TdW1tYXJ5OiBGQyA9ICgpID0+IHtcbiAgY29uc3QgeyBjdWN1bWJlclF1ZXJ5IH0gPSB1c2VRdWVyaWVzKClcbiAgY29uc3QgdGVzdFJ1blN0YXJ0ZWQgPSBjdWN1bWJlclF1ZXJ5LmZpbmRUZXN0UnVuU3RhcnRlZCgpXG4gIGNvbnN0IHRlc3RSdW5GaW5pc2hlZCA9IGN1Y3VtYmVyUXVlcnkuZmluZFRlc3RSdW5GaW5pc2hlZCgpXG4gIGNvbnN0IG1ldGEgPSBjdWN1bWJlclF1ZXJ5LmZpbmRNZXRhKClcbiAgY29uc3QgeyBzY2VuYXJpb0NvdW50QnlTdGF0dXMsIHRvdGFsU2NlbmFyaW9Db3VudCB9ID0gdXNlUmVzdWx0U3RhdGlzdGljcygpXG5cbiAgY29uc3Qgc3RhcnREYXRlID0gdGVzdFJ1blN0YXJ0ZWQ/LnRpbWVzdGFtcFxuICAgID8gbmV3IERhdGUoVGltZUNvbnZlcnNpb24udGltZXN0YW1wVG9NaWxsaXNlY29uZHNTaW5jZUVwb2NoKHRlc3RSdW5TdGFydGVkLnRpbWVzdGFtcCkpXG4gICAgOiB1bmRlZmluZWRcbiAgY29uc3QgZmluaXNoRGF0ZSA9IHRlc3RSdW5GaW5pc2hlZD8udGltZXN0YW1wXG4gICAgPyBuZXcgRGF0ZShUaW1lQ29udmVyc2lvbi50aW1lc3RhbXBUb01pbGxpc2Vjb25kc1NpbmNlRXBvY2godGVzdFJ1bkZpbmlzaGVkLnRpbWVzdGFtcCkpXG4gICAgOiB1bmRlZmluZWRcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7bWV0YSAmJiAoXG4gICAgICAgIDxIZWFkZXJTZWN0aW9uPlxuICAgICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkuc2V0dXBcIj5cbiAgICAgICAgICAgIDxIZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgICA8SW1wbGVtZW50YXRpb25JY29uIGltcGxlbWVudGF0aW9uPXttZXRhLmltcGxlbWVudGF0aW9ufSAvPlxuICAgICAgICAgICAgICA8UnVudGltZUljb24gcnVudGltZT17bWV0YS5ydW50aW1lfSAvPlxuICAgICAgICAgICAgICA8T1NJY29uIG9zPXttZXRhLm9zfSAvPlxuICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjdWN1bWJlci5zdW1tYXJ5LnNldHVwLnBocmFzZVwiPlxuICAgICAgICAgICAgICA8VmVyc2lvbmVkVG9vbCB7Li4ubWV0YS5pbXBsZW1lbnRhdGlvbn0gZmFsbGJhY2s9XCJ1bmtub3duIHRvb2xcIiAvPlxuICAgICAgICAgICAgICA8ZW0gY2xhc3NOYW1lPXtzdHlsZXMuY29uanVuY3Rpb259PiB3aXRoIDwvZW0+XG4gICAgICAgICAgICAgIDxWZXJzaW9uZWRUb29sIHsuLi5tZXRhLnJ1bnRpbWV9IGZhbGxiYWNrPVwidW5rbm93biBydW50aW1lXCIgLz5cbiAgICAgICAgICAgICAgPGVtIGNsYXNzTmFtZT17c3R5bGVzLmNvbmp1bmN0aW9ufT4gb24gPC9lbT5cbiAgICAgICAgICAgICAgPFZlcnNpb25lZFRvb2wgey4uLm1ldGEub3N9IGZhbGxiYWNrPVwidW5rbm93biBwbGF0Zm9ybVwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8Q29weUJ1dHRvbiB0ZXh0PXttYWtlU2V0dXBTdHJpbmcobWV0YSl9IC8+XG4gICAgICAgICAgPC9IZWFkZXJJdGVtPlxuICAgICAgICA8L0hlYWRlclNlY3Rpb24+XG4gICAgICApfVxuICAgICAgPEhlYWRlclNlY3Rpb24+XG4gICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkuc3RhdHVzXCI+XG4gICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICA8SGVhbHRoQ2hhcnQgLz5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7Zm9ybWF0U3RhdHVzUmF0ZShcbiAgICAgICAgICAgICAgICBzY2VuYXJpb0NvdW50QnlTdGF0dXNbVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VEXSxcbiAgICAgICAgICAgICAgICB0b3RhbFNjZW5hcmlvQ291bnRcbiAgICAgICAgICAgICAgKX17JyAnfVxuICAgICAgICAgICAgICB7Zm9ybWF0UGFzc2VkUXVhbnRpdHkoXG4gICAgICAgICAgICAgICAgc2NlbmFyaW9Db3VudEJ5U3RhdHVzW1Rlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRF0sXG4gICAgICAgICAgICAgICAgdG90YWxTY2VuYXJpb0NvdW50XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHsnIHBhc3NlZCd9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICA8L0hlYWRlckl0ZW0+XG4gICAgICAgIHtzdGFydERhdGUgJiYgKFxuICAgICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkudGltaW5nXCI+XG4gICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT17eyBvcGFjaXR5OiAwLjc1IH19IGljb249e2ZhU3RvcHdhdGNofSAvPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICA8dGltZSB0aXRsZT17c3RhcnREYXRlLnRvU3RyaW5nKCl9IGRhdGVUaW1lPXtzdGFydERhdGUudG9JU09TdHJpbmcoKX0+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0RXhlY3V0aW9uRGlzdGFuY2Uoc3RhcnREYXRlKX1cbiAgICAgICAgICAgICAgICA8L3RpbWU+XG4gICAgICAgICAgICAgICAge2ZpbmlzaERhdGUgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGVtIGNsYXNzTmFtZT17c3R5bGVzLmNvbmp1bmN0aW9ufT4gaW4gPC9lbT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e2Zvcm1hdEV4ZWN1dGlvbkR1cmF0aW9uKHN0YXJ0RGF0ZSwgZmluaXNoRGF0ZSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgIDwvSGVhZGVySXRlbT5cbiAgICAgICAgKX1cbiAgICAgICAge21ldGE/LmNpICYmIChcbiAgICAgICAgICA8SGVhZGVySXRlbSB0ZXN0SWQ9XCJjdWN1bWJlci5zdW1tYXJ5LmNpXCI+XG4gICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgPENJSm9iTGluayBjaT17bWV0YS5jaX0gLz5cbiAgICAgICAgICAgIDwvSGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICA8L0hlYWRlckl0ZW0+XG4gICAgICAgICl9XG4gICAgICAgIHttZXRhPy5jaT8uZ2l0ICYmIChcbiAgICAgICAgICA8SGVhZGVySXRlbSB0ZXN0SWQ9XCJjdWN1bWJlci5zdW1tYXJ5LmdpdFwiPlxuICAgICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICAgIDxDSUNvbW1pdExpbmsgY2k9e21ldGEuY2l9IC8+XG4gICAgICAgICAgICA8L0hlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICB7bWV0YS5jaS5naXQuYnJhbmNoICYmIChcbiAgICAgICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT17eyBvcGFjaXR5OiAwLjc1IH19IGljb249e2ZhQ29kZUJyYW5jaH0gLz5cbiAgICAgICAgICAgICAgICA8Y29kZT57bWV0YS5jaS5naXQuYnJhbmNofTwvY29kZT5cbiAgICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHttZXRhLmNpLmdpdC50YWcgJiYgKFxuICAgICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFUYWd9IC8+XG4gICAgICAgICAgICAgICAgPGNvZGU+e21ldGEuY2kuZ2l0LnRhZ308L2NvZGU+XG4gICAgICAgICAgICAgIDwvSGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9IZWFkZXJJdGVtPlxuICAgICAgICApfVxuICAgICAgPC9IZWFkZXJTZWN0aW9uPlxuICAgIDwvPlxuICApXG59XG5cbmNvbnN0IFZlcnNpb25lZFRvb2w6IEZDPFByb2R1Y3QgJiB7IGZhbGxiYWNrOiBzdHJpbmcgfT4gPSAoeyBuYW1lLCBmYWxsYmFjaywgdmVyc2lvbiB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGNvZGU+XG4gICAgICA8c3Ryb25nPntuYW1lIHx8IGZhbGxiYWNrfTwvc3Ryb25nPlxuICAgICAge3ZlcnNpb24gJiYgPHNwYW4+QHt2ZXJzaW9ufTwvc3Bhbj59XG4gICAgPC9jb2RlPlxuICApXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import type { FC } from 'react';
2
+ export declare const FilteredDocuments: FC;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useFilteredDocuments } from '../../hooks/useFilteredDocuments.js';
3
+ import styles from './FilteredDocuments.module.scss';
4
+ import { GherkinDocumentList } from './GherkinDocumentList.js';
5
+ export const FilteredDocuments = () => {
6
+ const { results, filtered } = useFilteredDocuments();
7
+ if (!results) {
8
+ return null;
9
+ }
10
+ if (!results.length) {
11
+ return filtered ? (_jsx("p", { className: styles.empty, children: "No scenarios match your query and/or filters." })) : (_jsx("p", { className: styles.empty, children: "No scenarios were executed." }));
12
+ }
13
+ return _jsx(GherkinDocumentList, { gherkinDocuments: results, preExpand: true });
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyZWREb2N1bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRmlsdGVyZWREb2N1bWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUMxRSxPQUFPLE1BQU0sTUFBTSxpQ0FBaUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUU5RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBTyxHQUFHLEVBQUU7SUFDeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFBO0lBRXBELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ2hCLFlBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLDhEQUFtRCxDQUM5RSxDQUFDLENBQUMsQ0FBQyxDQUNGLFlBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLDRDQUFpQyxDQUM1RCxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBQyxtQkFBbUIsSUFBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksR0FBSSxDQUFBO0FBQzVFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlRmlsdGVyZWREb2N1bWVudHMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VGaWx0ZXJlZERvY3VtZW50cy5qcydcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9GaWx0ZXJlZERvY3VtZW50cy5tb2R1bGUuc2NzcydcbmltcG9ydCB7IEdoZXJraW5Eb2N1bWVudExpc3QgfSBmcm9tICcuL0doZXJraW5Eb2N1bWVudExpc3QuanMnXG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJlZERvY3VtZW50czogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgcmVzdWx0cywgZmlsdGVyZWQgfSA9IHVzZUZpbHRlcmVkRG9jdW1lbnRzKClcblxuICBpZiAoIXJlc3VsdHMpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIGlmICghcmVzdWx0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmlsdGVyZWQgPyAoXG4gICAgICA8cCBjbGFzc05hbWU9e3N0eWxlcy5lbXB0eX0+Tm8gc2NlbmFyaW9zIG1hdGNoIHlvdXIgcXVlcnkgYW5kL29yIGZpbHRlcnMuPC9wPlxuICAgICkgOiAoXG4gICAgICA8cCBjbGFzc05hbWU9e3N0eWxlcy5lbXB0eX0+Tm8gc2NlbmFyaW9zIHdlcmUgZXhlY3V0ZWQuPC9wPlxuICAgIClcbiAgfVxuICByZXR1cm4gPEdoZXJraW5Eb2N1bWVudExpc3QgZ2hlcmtpbkRvY3VtZW50cz17cmVzdWx0c30gcHJlRXhwYW5kPXt0cnVlfSAvPlxufVxuIl19
@@ -0,0 +1,8 @@
1
+ import { type GherkinDocument as GherkinDocumentMessage } from '@cucumber/messages';
2
+ import { type FC } from 'react';
3
+ interface Props {
4
+ gherkinDocuments: readonly GherkinDocumentMessage[];
5
+ preExpand?: boolean;
6
+ }
7
+ export declare const GherkinDocumentList: FC<Props>;
8
+ export {};
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TestStepResultStatus, } from '@cucumber/messages';
3
+ import { useState } from 'react';
4
+ import { useMostSevereStatusByUri } from '../../hooks/useMostSevereStatusByUri.js';
5
+ import { GherkinDocument } from '../gherkin/index.js';
6
+ import { DocumentAccordion, DocumentAccordionItem } from './DocumentAccordion.js';
7
+ export const GherkinDocumentList = ({ gherkinDocuments, preExpand }) => {
8
+ const validDocuments = gherkinDocuments.filter((doc) => !!doc.uri);
9
+ const mostSevereStatusByUri = useMostSevereStatusByUri();
10
+ const [expanded] = useState(() => {
11
+ // Pre-expand any document that is *not* passed - assuming this is what people want to look at first
12
+ return preExpand
13
+ ? validDocuments
14
+ .filter((doc) => mostSevereStatusByUri.get(doc.uri) !== TestStepResultStatus.PASSED)
15
+ .map((doc) => doc.uri)
16
+ : [];
17
+ });
18
+ return (_jsx(DocumentAccordion, { expanded: expanded, children: validDocuments.map((validDocument) => {
19
+ const status = mostSevereStatusByUri.get(validDocument.uri) ?? TestStepResultStatus.UNKNOWN;
20
+ return (_jsx(DocumentAccordionItem, { uri: validDocument.uri, status: status, children: _jsx(GherkinDocument, { gherkinDocument: validDocument }) }, validDocument.uri));
21
+ }) }));
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2hlcmtpbkRvY3VtZW50TGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9HaGVya2luRG9jdW1lbnRMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLG9CQUFvQixHQUNyQixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBVyxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBWWpGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFjLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNvQixDQUFBO0lBQ3hDLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQTtJQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUF3QixHQUFHLEVBQUU7UUFDdEQsb0dBQW9HO1FBQ3BHLE9BQU8sU0FBUztZQUNkLENBQUMsQ0FBRSxjQUFjO2lCQUNaLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7aUJBQ25GLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBYztZQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ1IsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLENBQ0wsS0FBQyxpQkFBaUIsSUFBQyxRQUFRLEVBQUUsUUFBUSxZQUNsQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUE7WUFDM0YsT0FBTyxDQUNMLEtBQUMscUJBQXFCLElBQXlCLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQ25GLEtBQUMsZUFBZSxJQUFDLGVBQWUsRUFBRSxhQUFhLEdBQUksSUFEekIsYUFBYSxDQUFDLEdBQUcsQ0FFckIsQ0FDekIsQ0FBQTtRQUNILENBQUMsQ0FBQyxHQUNnQixDQUNyQixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBHaGVya2luRG9jdW1lbnQgYXMgR2hlcmtpbkRvY3VtZW50TWVzc2FnZSxcbiAgVGVzdFN0ZXBSZXN1bHRTdGF0dXMsXG59IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IHR5cGUgRkMsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZU1vc3RTZXZlcmVTdGF0dXNCeVVyaSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1vc3RTZXZlcmVTdGF0dXNCeVVyaS5qcydcbmltcG9ydCB7IEdoZXJraW5Eb2N1bWVudCB9IGZyb20gJy4uL2doZXJraW4vaW5kZXguanMnXG5pbXBvcnQgeyBEb2N1bWVudEFjY29yZGlvbiwgRG9jdW1lbnRBY2NvcmRpb25JdGVtIH0gZnJvbSAnLi9Eb2N1bWVudEFjY29yZGlvbi5qcydcblxuaW50ZXJmYWNlIFZhbGlkR2hlcmtpbkRvY3VtZW50IGV4dGVuZHMgR2hlcmtpbkRvY3VtZW50TWVzc2FnZSB7XG4gIHVyaTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGdoZXJraW5Eb2N1bWVudHM6IHJlYWRvbmx5IEdoZXJraW5Eb2N1bWVudE1lc3NhZ2VbXVxuICAvLyBTZXQgdG8gdHJ1ZSBpZiBub24tUEFTU0VEIGRvY3VtZW50cyBzaG91bGQgYmUgcHJlLWV4cGFuZGVkXG4gIHByZUV4cGFuZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEdoZXJraW5Eb2N1bWVudExpc3Q6IEZDPFByb3BzPiA9ICh7IGdoZXJraW5Eb2N1bWVudHMsIHByZUV4cGFuZCB9KSA9PiB7XG4gIGNvbnN0IHZhbGlkRG9jdW1lbnRzID0gZ2hlcmtpbkRvY3VtZW50cy5maWx0ZXIoXG4gICAgKGRvYykgPT4gISFkb2MudXJpXG4gICkgYXMgUmVhZG9ubHlBcnJheTxWYWxpZEdoZXJraW5Eb2N1bWVudD5cbiAgY29uc3QgbW9zdFNldmVyZVN0YXR1c0J5VXJpID0gdXNlTW9zdFNldmVyZVN0YXR1c0J5VXJpKClcbiAgY29uc3QgW2V4cGFuZGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5QXJyYXk8c3RyaW5nPj4oKCkgPT4ge1xuICAgIC8vIFByZS1leHBhbmQgYW55IGRvY3VtZW50IHRoYXQgaXMgKm5vdCogcGFzc2VkIC0gYXNzdW1pbmcgdGhpcyBpcyB3aGF0IHBlb3BsZSB3YW50IHRvIGxvb2sgYXQgZmlyc3RcbiAgICByZXR1cm4gcHJlRXhwYW5kXG4gICAgICA/ICh2YWxpZERvY3VtZW50c1xuICAgICAgICAgIC5maWx0ZXIoKGRvYykgPT4gbW9zdFNldmVyZVN0YXR1c0J5VXJpLmdldChkb2MudXJpKSAhPT0gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VEKVxuICAgICAgICAgIC5tYXAoKGRvYykgPT4gZG9jLnVyaSkgYXMgc3RyaW5nW10pXG4gICAgICA6IFtdXG4gIH0pXG5cbiAgcmV0dXJuIChcbiAgICA8RG9jdW1lbnRBY2NvcmRpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgIHt2YWxpZERvY3VtZW50cy5tYXAoKHZhbGlkRG9jdW1lbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gbW9zdFNldmVyZVN0YXR1c0J5VXJpLmdldCh2YWxpZERvY3VtZW50LnVyaSkgPz8gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuVU5LTk9XTlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxEb2N1bWVudEFjY29yZGlvbkl0ZW0ga2V5PXt2YWxpZERvY3VtZW50LnVyaX0gdXJpPXt2YWxpZERvY3VtZW50LnVyaX0gc3RhdHVzPXtzdGF0dXN9PlxuICAgICAgICAgICAgPEdoZXJraW5Eb2N1bWVudCBnaGVya2luRG9jdW1lbnQ9e3ZhbGlkRG9jdW1lbnR9IC8+XG4gICAgICAgICAgPC9Eb2N1bWVudEFjY29yZGlvbkl0ZW0+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvRG9jdW1lbnRBY2NvcmRpb24+XG4gIClcbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
- import { FC, PropsWithChildren } from 'react';
1
+ import type { FC, PropsWithChildren } from 'react';
2
2
  export declare const HeaderSection: FC<PropsWithChildren>;
3
3
  export declare const HeaderItem: FC<PropsWithChildren<{
4
4
  testId?: string;
5
5
  }>>;
6
6
  export declare const HeaderSubItem: FC<PropsWithChildren>;
7
- //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import styles from './Header.module.scss';
3
+ export const HeaderSection = ({ children }) => {
4
+ return _jsx("div", { className: styles.section, children: children });
5
+ };
6
+ export const HeaderItem = ({ testId, children }) => {
7
+ return (_jsx("div", { "data-testid": testId, className: styles.item, children: children }));
8
+ };
9
+ export const HeaderSubItem = ({ children }) => {
10
+ return _jsx("div", { className: styles.subItem, children: children });
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0hlYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sTUFBTSxNQUFNLHNCQUFzQixDQUFBO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDbkUsT0FBTyxjQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxZQUFHLFFBQVEsR0FBTyxDQUFBO0FBQ3pELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBK0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzdGLE9BQU8sQ0FDTCw2QkFBa0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxZQUM3QyxRQUFRLEdBQ0wsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEwQixDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxPQUFPLGNBQUssU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLFlBQUcsUUFBUSxHQUFPLENBQUE7QUFDekQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGQywgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHN0eWxlcyBmcm9tICcuL0hlYWRlci5tb2R1bGUuc2NzcydcblxuZXhwb3J0IGNvbnN0IEhlYWRlclNlY3Rpb246IEZDPFByb3BzV2l0aENoaWxkcmVuPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuc2VjdGlvbn0+e2NoaWxkcmVufTwvZGl2PlxufVxuXG5leHBvcnQgY29uc3QgSGVhZGVySXRlbTogRkM8UHJvcHNXaXRoQ2hpbGRyZW48eyB0ZXN0SWQ/OiBzdHJpbmcgfT4+ID0gKHsgdGVzdElkLCBjaGlsZHJlbiB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLXRlc3RpZD17dGVzdElkfSBjbGFzc05hbWU9e3N0eWxlcy5pdGVtfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgSGVhZGVyU3ViSXRlbTogRkM8UHJvcHNXaXRoQ2hpbGRyZW4+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5zdWJJdGVtfT57Y2hpbGRyZW59PC9kaXY+XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import type { FC } from 'react';
2
+ export declare const HealthChart: FC;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TestStepResultStatus } from '@cucumber/messages';
3
+ import { useResultStatistics } from '../../hooks/useResultStatistics.js';
4
+ import styles from './HealthChart.module.scss';
5
+ export const HealthChart = () => {
6
+ const { scenarioCountByStatus, totalScenarioCount, statusesWithScenarios } = useResultStatistics();
7
+ let offsetAccumulator = 0;
8
+ return (_jsxs("svg", { viewBox: "0 0 100 100", children: [_jsx("title", { children: "Pie chart showing proportion of results by status" }), _jsx("g", { transform: "rotate(-90 50 50)", children: statusesWithScenarios.length > 0 ? ([...statusesWithScenarios].map((status) => {
9
+ const scenarioCount = scenarioCountByStatus[status];
10
+ offsetAccumulator += scenarioCount;
11
+ return (_jsx("path", { className: styles.segment, "data-status": status, pathLength: totalScenarioCount, strokeDasharray: `${scenarioCount} ${totalScenarioCount - scenarioCount}`, strokeDashoffset: offsetAccumulator, strokeWidth: "50", d: "M75 50a1 1 90 10-50 0a1 1 90 10 50 0", fill: "none" }, status));
12
+ })) : (_jsx("path", { className: styles.segment, "data-status": TestStepResultStatus.UNKNOWN, pathLength: "1", strokeDasharray: "1 0", strokeDashoffset: "1", strokeWidth: "50", d: "M75 50a1 1 90 10-50 0a1 1 90 10 50 0", fill: "none" })) })] }));
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhbHRoQ2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvSGVhbHRoQ2hhcnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN4RSxPQUFPLE1BQU0sTUFBTSwyQkFBMkIsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQU8sR0FBRyxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLG1CQUFtQixFQUFFLENBQUE7SUFDbEcsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFDekIsT0FBTyxDQUNMLGVBQUssT0FBTyxFQUFDLGFBQWEsYUFDeEIsZ0ZBQWdFLEVBQ2hFLFlBQUcsU0FBUyxFQUFDLG1CQUFtQixZQUM3QixxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDeEMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ25ELGlCQUFpQixJQUFJLGFBQWEsQ0FBQTtvQkFDbEMsT0FBTyxDQUNMLGVBRUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUNaLE1BQU0sRUFDbkIsVUFBVSxFQUFFLGtCQUFrQixFQUM5QixlQUFlLEVBQUUsR0FBRyxhQUFhLElBQUksa0JBQWtCLEdBQUcsYUFBYSxFQUFFLEVBQ3pFLGdCQUFnQixFQUFFLGlCQUFpQixFQUNuQyxXQUFXLEVBQUMsSUFBSSxFQUNoQixDQUFDLEVBQUMsc0NBQXNDLEVBQ3hDLElBQUksRUFBQyxNQUFNLElBUk4sTUFBTSxDQVNYLENBQ0gsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLGVBQ0UsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUNaLG9CQUFvQixDQUFDLE9BQU8sRUFDekMsVUFBVSxFQUFDLEdBQUcsRUFDZCxlQUFlLEVBQUMsS0FBSyxFQUNyQixnQkFBZ0IsRUFBQyxHQUFHLEVBQ3BCLFdBQVcsRUFBQyxJQUFJLEVBQ2hCLENBQUMsRUFBQyxzQ0FBc0MsRUFDeEMsSUFBSSxFQUFDLE1BQU0sR0FDWCxDQUNILEdBQ0MsSUFDQSxDQUNQLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0U3RlcFJlc3VsdFN0YXR1cyB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlUmVzdWx0U3RhdGlzdGljcyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVJlc3VsdFN0YXRpc3RpY3MuanMnXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vSGVhbHRoQ2hhcnQubW9kdWxlLnNjc3MnXG5cbmV4cG9ydCBjb25zdCBIZWFsdGhDaGFydDogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgc2NlbmFyaW9Db3VudEJ5U3RhdHVzLCB0b3RhbFNjZW5hcmlvQ291bnQsIHN0YXR1c2VzV2l0aFNjZW5hcmlvcyB9ID0gdXNlUmVzdWx0U3RhdGlzdGljcygpXG4gIGxldCBvZmZzZXRBY2N1bXVsYXRvciA9IDBcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPlxuICAgICAgPHRpdGxlPlBpZSBjaGFydCBzaG93aW5nIHByb3BvcnRpb24gb2YgcmVzdWx0cyBieSBzdGF0dXM8L3RpdGxlPlxuICAgICAgPGcgdHJhbnNmb3JtPVwicm90YXRlKC05MCA1MCA1MClcIj5cbiAgICAgICAge3N0YXR1c2VzV2l0aFNjZW5hcmlvcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgIFsuLi5zdGF0dXNlc1dpdGhTY2VuYXJpb3NdLm1hcCgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb0NvdW50ID0gc2NlbmFyaW9Db3VudEJ5U3RhdHVzW3N0YXR1c11cbiAgICAgICAgICAgIG9mZnNldEFjY3VtdWxhdG9yICs9IHNjZW5hcmlvQ291bnRcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAga2V5PXtzdGF0dXN9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuc2VnbWVudH1cbiAgICAgICAgICAgICAgICBkYXRhLXN0YXR1cz17c3RhdHVzfVxuICAgICAgICAgICAgICAgIHBhdGhMZW5ndGg9e3RvdGFsU2NlbmFyaW9Db3VudH1cbiAgICAgICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk9e2Ake3NjZW5hcmlvQ291bnR9ICR7dG90YWxTY2VuYXJpb0NvdW50IC0gc2NlbmFyaW9Db3VudH1gfVxuICAgICAgICAgICAgICAgIHN0cm9rZURhc2hvZmZzZXQ9e29mZnNldEFjY3VtdWxhdG9yfVxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgIGQ9XCJNNzUgNTBhMSAxIDkwIDEwLTUwIDBhMSAxIDkwIDEwIDUwIDBcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApIDogKFxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5zZWdtZW50fVxuICAgICAgICAgICAgZGF0YS1zdGF0dXM9e1Rlc3RTdGVwUmVzdWx0U3RhdHVzLlVOS05PV059XG4gICAgICAgICAgICBwYXRoTGVuZ3RoPVwiMVwiXG4gICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk9XCIxIDBcIlxuICAgICAgICAgICAgc3Ryb2tlRGFzaG9mZnNldD1cIjFcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MFwiXG4gICAgICAgICAgICBkPVwiTTc1IDUwYTEgMSA5MCAxMC01MCAwYTEgMSA5MCAxMCA1MCAwXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import type { FC } from 'react';
2
+ interface IProps {
3
+ text: string;
4
+ markdown?: boolean;
5
+ className?: string;
6
+ }
7
+ export declare const HighLight: FC<IProps>;
8
+ export {};