@cucumber/react-components 24.3.0 → 24.5.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 (635) hide show
  1. package/README.md +2 -2
  2. package/dist/{src/CucumberQueryContext.d.ts → CucumberQueryContext.d.ts} +0 -1
  3. package/dist/CucumberQueryContext.js +4 -0
  4. package/dist/{src/GherkinQueryContext.d.ts → GherkinQueryContext.d.ts} +0 -1
  5. package/dist/GherkinQueryContext.js +4 -0
  6. package/dist/{src/SearchContext.d.ts → SearchContext.d.ts} +0 -1
  7. package/dist/SearchContext.js +10 -0
  8. package/dist/{src/ciCommitLink.d.ts → ciCommitLink.d.ts} +0 -1
  9. package/dist/ciCommitLink.js +12 -0
  10. package/dist/{src/components → components}/app/CICommitLink.d.ts +0 -1
  11. package/dist/components/app/CICommitLink.js +16 -0
  12. package/dist/{src/components → components}/app/CIJobLink.d.ts +0 -1
  13. package/dist/components/app/CIJobLink.js +10 -0
  14. package/dist/{src/components → components}/app/ControlledSearchProvider.d.ts +0 -1
  15. package/dist/components/app/ControlledSearchProvider.js +39 -0
  16. package/dist/{src/components → components}/app/CopyButton.d.ts +0 -1
  17. package/dist/components/app/CopyButton.js +23 -0
  18. package/dist/{src/components → components}/app/DocumentAccordion.d.ts +0 -1
  19. package/dist/components/app/DocumentAccordion.js +22 -0
  20. package/dist/{src/components → components}/app/EnvelopesProvider.d.ts +0 -1
  21. package/dist/components/app/EnvelopesProvider.js +18 -0
  22. package/dist/{src/components → components}/app/ExecutionSummary.d.ts +0 -1
  23. package/dist/components/app/ExecutionSummary.js +38 -0
  24. package/dist/{src/components → components}/app/FilteredDocuments.d.ts +0 -1
  25. package/dist/components/app/FilteredDocuments.js +15 -0
  26. package/dist/{src/components → components}/app/GherkinDocumentList.d.ts +0 -1
  27. package/dist/components/app/GherkinDocumentList.js +23 -0
  28. package/dist/{src/components → components}/app/Header.d.ts +0 -1
  29. package/dist/components/app/Header.js +12 -0
  30. package/dist/{src/components → components}/app/HealthChart.d.ts +0 -1
  31. package/dist/components/app/HealthChart.js +14 -0
  32. package/dist/{src/components → components}/app/HighLight.d.ts +0 -1
  33. package/dist/components/app/HighLight.js +38 -0
  34. package/dist/{src/components → components}/app/ImplementationIcon.d.ts +0 -1
  35. package/dist/components/app/ImplementationIcon.js +10 -0
  36. package/dist/{src/components → components}/app/InMemorySearchProvider.d.ts +0 -1
  37. package/dist/components/app/InMemorySearchProvider.js +11 -0
  38. package/dist/{src/components → components}/app/NavigationButton.d.ts +0 -1
  39. package/dist/components/app/NavigationButton.js +6 -0
  40. package/dist/{src/components → components}/app/OSIcon.d.ts +0 -1
  41. package/dist/components/app/OSIcon.js +18 -0
  42. package/dist/{src/components → components}/app/QueriesProvider.d.ts +0 -1
  43. package/dist/components/app/QueriesProvider.js +7 -0
  44. package/dist/{src/components → components}/app/Report.d.ts +0 -1
  45. package/dist/components/app/Report.js +10 -0
  46. package/dist/{src/components → components}/app/RuntimeIcon.d.ts +0 -1
  47. package/dist/components/app/RuntimeIcon.js +18 -0
  48. package/dist/{src/components → components}/app/SearchBar.d.ts +0 -1
  49. package/dist/components/app/SearchBar.js +33 -0
  50. package/dist/{src/components → components}/app/StatusesSummary.d.ts +0 -1
  51. package/dist/components/app/StatusesSummary.js +16 -0
  52. package/dist/{src/components → components}/app/TestRunHooks.d.ts +0 -1
  53. package/dist/components/app/TestRunHooks.js +14 -0
  54. package/dist/{src/components → components}/app/UrlSearchProvider.d.ts +0 -1
  55. package/dist/components/app/UrlSearchProvider.js +29 -0
  56. package/dist/{src/components → components}/app/findMostSevereTestStepResultStatus.d.ts +0 -1
  57. package/dist/components/app/findMostSevereTestStepResultStatus.js +17 -0
  58. package/dist/{src/components → components}/app/icons/CucumberLogo.d.ts +0 -1
  59. package/dist/components/app/icons/CucumberLogo.js +5 -0
  60. package/dist/{src/components → components}/app/icons/Jvm.d.ts +0 -1
  61. package/dist/components/app/icons/Jvm.js +5 -0
  62. package/dist/{src/components → components}/app/icons/Linux.d.ts +0 -1
  63. package/dist/components/app/icons/Linux.js +5 -0
  64. package/dist/{src/components → components}/app/icons/MacOS.d.ts +0 -1
  65. package/dist/components/app/icons/MacOS.js +5 -0
  66. package/dist/{src/components → components}/app/icons/NodeJs.d.ts +0 -1
  67. package/dist/components/app/icons/NodeJs.js +5 -0
  68. package/dist/{src/components → components}/app/icons/Ruby.d.ts +0 -1
  69. package/dist/components/app/icons/Ruby.js +5 -0
  70. package/dist/{src/components → components}/app/icons/Windows.d.ts +0 -1
  71. package/dist/components/app/icons/Windows.js +5 -0
  72. package/dist/{src/components/app/index.js → components/app/index.d.ts} +0 -1
  73. package/dist/components/app/index.js +15 -0
  74. package/dist/{src/components → components}/app/makeSetupString.d.ts +0 -1
  75. package/dist/components/app/makeSetupString.js +21 -0
  76. package/dist/{src/components → components}/app/markdownComponents.d.ts +1 -2
  77. package/dist/components/app/markdownComponents.js +6 -0
  78. package/dist/{src/components → components}/app/rehypePlugins.d.ts +0 -1
  79. package/dist/components/app/rehypePlugins.js +9 -0
  80. package/dist/{src/components → components}/app/remarkPlugins.d.ts +0 -1
  81. package/dist/components/app/remarkPlugins.js +4 -0
  82. package/dist/{src/components → components}/customise/CustomRendering.d.ts +0 -1
  83. package/dist/components/customise/CustomRendering.js +35 -0
  84. package/dist/{src/components/customise/index.js → components/customise/index.d.ts} +0 -1
  85. package/dist/components/customise/index.js +3 -0
  86. package/dist/{src/components → components}/customise/theming.d.ts +0 -1
  87. package/dist/components/customise/theming.js +2 -0
  88. package/dist/{src/components → components}/gherkin/Anchor.d.ts +0 -1
  89. package/dist/components/gherkin/Anchor.js +13 -0
  90. package/dist/{src/components → components}/gherkin/Background.d.ts +0 -1
  91. package/dist/components/gherkin/Background.js +18 -0
  92. package/dist/{src/components → components}/gherkin/Children.d.ts +0 -1
  93. package/dist/components/gherkin/Children.js +11 -0
  94. package/dist/{src/components → components}/gherkin/DataTable.d.ts +0 -1
  95. package/dist/components/gherkin/DataTable.js +16 -0
  96. package/dist/{src/components → components}/gherkin/Description.d.ts +0 -1
  97. package/dist/components/gherkin/Description.js +15 -0
  98. package/dist/{src/components → components}/gherkin/DocString.d.ts +0 -1
  99. package/dist/components/gherkin/DocString.js +12 -0
  100. package/dist/{src/components → components}/gherkin/ErrorMessage.d.ts +0 -1
  101. package/dist/components/gherkin/ErrorMessage.js +13 -0
  102. package/dist/{src/components → components}/gherkin/Examples.d.ts +0 -1
  103. package/dist/components/gherkin/Examples.js +31 -0
  104. package/dist/{src/components → components}/gherkin/Feature.d.ts +0 -1
  105. package/dist/components/gherkin/Feature.js +30 -0
  106. package/dist/{src/components → components}/gherkin/GherkinDocument.d.ts +0 -1
  107. package/dist/components/gherkin/GherkinDocument.js +11 -0
  108. package/dist/{src/components → components}/gherkin/Keyword.d.ts +0 -1
  109. package/dist/components/gherkin/Keyword.js +11 -0
  110. package/dist/{src/components → components}/gherkin/Parameter.d.ts +0 -1
  111. package/dist/components/gherkin/Parameter.js +11 -0
  112. package/dist/{src/components → components}/gherkin/Rule.d.ts +0 -1
  113. package/dist/components/gherkin/Rule.js +26 -0
  114. package/dist/{src/components → components}/gherkin/Scenario.d.ts +0 -1
  115. package/dist/components/gherkin/Scenario.js +22 -0
  116. package/dist/{src/components → components}/gherkin/StatusIcon.d.ts +0 -1
  117. package/dist/components/gherkin/StatusIcon.js +24 -0
  118. package/dist/{src/components → components}/gherkin/StepsList.d.ts +0 -1
  119. package/dist/components/gherkin/StepsList.js +6 -0
  120. package/dist/{src/components → components}/gherkin/Tags.d.ts +0 -1
  121. package/dist/components/gherkin/Tags.js +15 -0
  122. package/dist/{src/components → components}/gherkin/Title.d.ts +0 -1
  123. package/dist/components/gherkin/Title.js +12 -0
  124. package/dist/{src/components → components}/gherkin/attachment/Attachment.d.ts +0 -1
  125. package/dist/components/gherkin/attachment/Attachment.js +45 -0
  126. package/dist/{src/components → components}/gherkin/attachment/Image.d.ts +0 -1
  127. package/dist/components/gherkin/attachment/Image.js +16 -0
  128. package/dist/{src/components → components}/gherkin/attachment/Links.d.ts +0 -1
  129. package/dist/components/gherkin/attachment/Links.js +14 -0
  130. package/dist/{src/components → components}/gherkin/attachment/Log.d.ts +0 -1
  131. package/dist/components/gherkin/attachment/Log.js +12 -0
  132. package/dist/{src/components → components}/gherkin/attachment/Text.d.ts +0 -1
  133. package/dist/components/gherkin/attachment/Text.js +16 -0
  134. package/dist/{src/components → components}/gherkin/attachment/Unknown.d.ts +0 -1
  135. package/dist/components/gherkin/attachment/Unknown.js +61 -0
  136. package/dist/{src/components → components}/gherkin/attachment/Video.d.ts +0 -1
  137. package/dist/components/gherkin/attachment/Video.js +16 -0
  138. package/dist/{src/components → components}/gherkin/attachment/attachmentFilename.d.ts +0 -1
  139. package/dist/components/gherkin/attachment/attachmentFilename.js +12 -0
  140. package/dist/{src/components → components}/gherkin/attachment/base64Decode.d.ts +0 -1
  141. package/dist/components/gherkin/attachment/base64Decode.js +19 -0
  142. package/dist/{src/components/gherkin/attachment/index.js → components/gherkin/attachment/index.d.ts} +0 -1
  143. package/dist/components/gherkin/attachment/index.js +2 -0
  144. package/dist/{src/components → components}/gherkin/attachment/useText.d.ts +0 -1
  145. package/dist/components/gherkin/attachment/useText.js +28 -0
  146. package/dist/{src/components → components}/gherkin/composeHookStepTitle.d.ts +0 -1
  147. package/dist/components/gherkin/composeHookStepTitle.js +23 -0
  148. package/dist/{src/components → components}/gherkin/composePickleStepTitle.d.ts +0 -1
  149. package/dist/components/gherkin/composePickleStepTitle.js +36 -0
  150. package/dist/{src/components/gherkin/index.js → components/gherkin/index.d.ts} +0 -1
  151. package/dist/components/gherkin/index.js +19 -0
  152. package/dist/{src/components → components}/gherkin/isNumber.d.ts +0 -1
  153. package/dist/components/gherkin/isNumber.js +7 -0
  154. package/dist/components/gherkin/statusName.d.ts +3 -0
  155. package/dist/components/gherkin/statusName.js +4 -0
  156. package/dist/{src/components/index.js → components/index.d.ts} +0 -1
  157. package/dist/components/index.js +4 -0
  158. package/dist/{src/components → components}/results/AmbiguousResult.d.ts +0 -1
  159. package/dist/components/results/AmbiguousResult.js +11 -0
  160. package/dist/{src/components → components}/results/FailedResult.d.ts +0 -1
  161. package/dist/components/results/FailedResult.js +15 -0
  162. package/dist/{src/components → components}/results/PendingResult.d.ts +0 -1
  163. package/dist/components/results/PendingResult.js +12 -0
  164. package/dist/{src/components → components}/results/ResultNote.d.ts +0 -1
  165. package/dist/components/results/ResultNote.js +6 -0
  166. package/dist/{src/components → components}/results/SkippedResult.d.ts +0 -1
  167. package/dist/components/results/SkippedResult.js +12 -0
  168. package/dist/{src/components → components}/results/SourceReference.d.ts +0 -1
  169. package/dist/components/results/SourceReference.js +13 -0
  170. package/dist/{src/components → components}/results/TestCaseOutcome.d.ts +0 -1
  171. package/dist/components/results/TestCaseOutcome.js +32 -0
  172. package/dist/{src/components → components}/results/TestRunHookOutcome.d.ts +0 -1
  173. package/dist/components/results/TestRunHookOutcome.js +11 -0
  174. package/dist/{src/components → components}/results/TestStepAttachments.d.ts +0 -1
  175. package/dist/components/results/TestStepAttachments.js +12 -0
  176. package/dist/{src/components → components}/results/TestStepDuration.d.ts +0 -1
  177. package/dist/components/results/TestStepDuration.js +19 -0
  178. package/dist/{src/components → components}/results/TestStepOutcome.d.ts +0 -1
  179. package/dist/components/results/TestStepOutcome.js +43 -0
  180. package/dist/{src/components → components}/results/UndefinedResult.d.ts +0 -1
  181. package/dist/components/results/UndefinedResult.js +18 -0
  182. package/dist/{src/components/results/index.js → components/results/index.d.ts} +0 -1
  183. package/dist/components/results/index.js +3 -0
  184. package/dist/{src/hooks/helpers.d.ts → ensure.d.ts} +0 -1
  185. package/dist/ensure.js +7 -0
  186. package/dist/{src/formatExecutionDistance.d.ts → formatExecutionDistance.d.ts} +0 -1
  187. package/dist/formatExecutionDistance.js +7 -0
  188. package/dist/{src/formatExecutionDuration.d.ts → formatExecutionDuration.d.ts} +0 -1
  189. package/dist/formatExecutionDuration.js +12 -0
  190. package/dist/{src/formatPassedQuantity.d.ts → formatPassedQuantity.d.ts} +0 -1
  191. package/dist/formatPassedQuantity.js +4 -0
  192. package/dist/{src/formatStatusRate.d.ts → formatStatusRate.d.ts} +0 -1
  193. package/dist/formatStatusRate.js +9 -0
  194. package/dist/{src/hooks/index.js → hooks/index.d.ts} +0 -1
  195. package/dist/hooks/index.js +3 -0
  196. package/dist/{src/hooks → hooks}/useFilteredDocuments.d.ts +1 -2
  197. package/dist/hooks/useFilteredDocuments.js +67 -0
  198. package/dist/hooks/useFilteredTestCases.d.ts +6 -0
  199. package/dist/hooks/useFilteredTestCases.js +36 -0
  200. package/dist/{src/hooks → hooks}/useMostSevereStatusByUri.d.ts +0 -1
  201. package/dist/hooks/useMostSevereStatusByUri.js +25 -0
  202. package/dist/{src/hooks → hooks}/useQueries.d.ts +0 -1
  203. package/dist/hooks/useQueries.js +9 -0
  204. package/dist/{src/hooks → hooks}/useResultStatistics.d.ts +0 -1
  205. package/dist/hooks/useResultStatistics.js +24 -0
  206. package/dist/{src/hooks → hooks}/useSearch.d.ts +0 -1
  207. package/dist/hooks/useSearch.js +6 -0
  208. package/dist/hooks/useSearchResult.d.ts +26 -0
  209. package/dist/hooks/useSearchResult.js +58 -0
  210. package/dist/{src/hooks → hooks}/useTestCaseStarted.d.ts +0 -1
  211. package/dist/hooks/useTestCaseStarted.js +20 -0
  212. package/dist/{src/hooks → hooks}/useTestRunHooks.d.ts +0 -1
  213. package/dist/hooks/useTestRunHooks.js +14 -0
  214. package/dist/{src/index.js → index.d.ts} +0 -1
  215. package/dist/index.js +3 -0
  216. package/dist/{src/isTagExpression.d.ts → isTagExpression.d.ts} +0 -1
  217. package/dist/isTagExpression.js +5 -0
  218. package/dist/{src/search → search}/FeatureSearch.d.ts +0 -1
  219. package/dist/search/FeatureSearch.js +39 -0
  220. package/dist/{src/search → search}/ScenarioLikeSearch.d.ts +0 -1
  221. package/dist/search/ScenarioLikeSearch.js +37 -0
  222. package/dist/{src/search → search}/StepSearch.d.ts +0 -1
  223. package/dist/search/StepSearch.js +40 -0
  224. package/dist/{src/search → search}/TextSearch.d.ts +1 -2
  225. package/dist/search/TextSearch.js +67 -0
  226. package/dist/{src/search → search}/createSearchIndex.d.ts +0 -1
  227. package/dist/search/createSearchIndex.js +10 -0
  228. package/dist/{src/search → search}/deriveLineageConstraints.d.ts +0 -1
  229. package/dist/search/deriveLineageConstraints.js +38 -0
  230. package/dist/search/filterAndExpandTestCaseEvents.d.ts +20 -0
  231. package/dist/search/filterAndExpandTestCaseEvents.js +32 -0
  232. package/dist/{src/search → search}/index.d.ts +2 -1
  233. package/dist/search/index.js +7 -0
  234. package/dist/{src/search → search}/pruneGherkinDocuments.d.ts +3 -4
  235. package/dist/search/pruneGherkinDocuments.js +179 -0
  236. package/dist/search/pruneTestCaseEvents.d.ts +16 -0
  237. package/dist/search/pruneTestCaseEvents.js +41 -0
  238. package/dist/{src/search → search}/types.d.ts +5 -6
  239. package/dist/search/types.js +2 -0
  240. package/dist/{src/statuses.d.ts → statuses.d.ts} +0 -1
  241. package/dist/statuses.js +12 -0
  242. package/dist/{src/toRepositoryId.d.ts → toRepositoryId.d.ts} +0 -1
  243. package/dist/toRepositoryId.js +12 -0
  244. package/package.json +30 -32
  245. package/dist/src/CucumberQueryContext.d.ts.map +0 -1
  246. package/dist/src/CucumberQueryContext.js +0 -4
  247. package/dist/src/CucumberQueryContext.js.map +0 -1
  248. package/dist/src/GherkinQueryContext.d.ts.map +0 -1
  249. package/dist/src/GherkinQueryContext.js +0 -4
  250. package/dist/src/GherkinQueryContext.js.map +0 -1
  251. package/dist/src/SearchContext.d.ts.map +0 -1
  252. package/dist/src/SearchContext.js +0 -10
  253. package/dist/src/SearchContext.js.map +0 -1
  254. package/dist/src/ciCommitLink.d.ts.map +0 -1
  255. package/dist/src/ciCommitLink.js +0 -12
  256. package/dist/src/ciCommitLink.js.map +0 -1
  257. package/dist/src/components/app/CICommitLink.d.ts.map +0 -1
  258. package/dist/src/components/app/CICommitLink.js +0 -16
  259. package/dist/src/components/app/CICommitLink.js.map +0 -1
  260. package/dist/src/components/app/CIJobLink.d.ts.map +0 -1
  261. package/dist/src/components/app/CIJobLink.js +0 -10
  262. package/dist/src/components/app/CIJobLink.js.map +0 -1
  263. package/dist/src/components/app/ControlledSearchProvider.d.ts.map +0 -1
  264. package/dist/src/components/app/ControlledSearchProvider.js +0 -39
  265. package/dist/src/components/app/ControlledSearchProvider.js.map +0 -1
  266. package/dist/src/components/app/CopyButton.d.ts.map +0 -1
  267. package/dist/src/components/app/CopyButton.js +0 -23
  268. package/dist/src/components/app/CopyButton.js.map +0 -1
  269. package/dist/src/components/app/DocumentAccordion.d.ts.map +0 -1
  270. package/dist/src/components/app/DocumentAccordion.js +0 -22
  271. package/dist/src/components/app/DocumentAccordion.js.map +0 -1
  272. package/dist/src/components/app/EnvelopesProvider.d.ts.map +0 -1
  273. package/dist/src/components/app/EnvelopesProvider.js +0 -18
  274. package/dist/src/components/app/EnvelopesProvider.js.map +0 -1
  275. package/dist/src/components/app/ExecutionSummary.d.ts.map +0 -1
  276. package/dist/src/components/app/ExecutionSummary.js +0 -38
  277. package/dist/src/components/app/ExecutionSummary.js.map +0 -1
  278. package/dist/src/components/app/FilteredDocuments.d.ts.map +0 -1
  279. package/dist/src/components/app/FilteredDocuments.js +0 -15
  280. package/dist/src/components/app/FilteredDocuments.js.map +0 -1
  281. package/dist/src/components/app/GherkinDocumentList.d.ts.map +0 -1
  282. package/dist/src/components/app/GherkinDocumentList.js +0 -23
  283. package/dist/src/components/app/GherkinDocumentList.js.map +0 -1
  284. package/dist/src/components/app/Header.d.ts.map +0 -1
  285. package/dist/src/components/app/Header.js +0 -12
  286. package/dist/src/components/app/Header.js.map +0 -1
  287. package/dist/src/components/app/HealthChart.d.ts.map +0 -1
  288. package/dist/src/components/app/HealthChart.js +0 -14
  289. package/dist/src/components/app/HealthChart.js.map +0 -1
  290. package/dist/src/components/app/HighLight.d.ts.map +0 -1
  291. package/dist/src/components/app/HighLight.js +0 -38
  292. package/dist/src/components/app/HighLight.js.map +0 -1
  293. package/dist/src/components/app/ImplementationIcon.d.ts.map +0 -1
  294. package/dist/src/components/app/ImplementationIcon.js +0 -10
  295. package/dist/src/components/app/ImplementationIcon.js.map +0 -1
  296. package/dist/src/components/app/InMemorySearchProvider.d.ts.map +0 -1
  297. package/dist/src/components/app/InMemorySearchProvider.js +0 -11
  298. package/dist/src/components/app/InMemorySearchProvider.js.map +0 -1
  299. package/dist/src/components/app/NavigationButton.d.ts.map +0 -1
  300. package/dist/src/components/app/NavigationButton.js +0 -6
  301. package/dist/src/components/app/NavigationButton.js.map +0 -1
  302. package/dist/src/components/app/OSIcon.d.ts.map +0 -1
  303. package/dist/src/components/app/OSIcon.js +0 -18
  304. package/dist/src/components/app/OSIcon.js.map +0 -1
  305. package/dist/src/components/app/QueriesProvider.d.ts.map +0 -1
  306. package/dist/src/components/app/QueriesProvider.js +0 -7
  307. package/dist/src/components/app/QueriesProvider.js.map +0 -1
  308. package/dist/src/components/app/Report.d.ts.map +0 -1
  309. package/dist/src/components/app/Report.js +0 -10
  310. package/dist/src/components/app/Report.js.map +0 -1
  311. package/dist/src/components/app/RuntimeIcon.d.ts.map +0 -1
  312. package/dist/src/components/app/RuntimeIcon.js +0 -18
  313. package/dist/src/components/app/RuntimeIcon.js.map +0 -1
  314. package/dist/src/components/app/SearchBar.d.ts.map +0 -1
  315. package/dist/src/components/app/SearchBar.js +0 -33
  316. package/dist/src/components/app/SearchBar.js.map +0 -1
  317. package/dist/src/components/app/StatusesSummary.d.ts.map +0 -1
  318. package/dist/src/components/app/StatusesSummary.js +0 -16
  319. package/dist/src/components/app/StatusesSummary.js.map +0 -1
  320. package/dist/src/components/app/TestRunHooks.d.ts.map +0 -1
  321. package/dist/src/components/app/TestRunHooks.js +0 -14
  322. package/dist/src/components/app/TestRunHooks.js.map +0 -1
  323. package/dist/src/components/app/UrlSearchProvider.d.ts.map +0 -1
  324. package/dist/src/components/app/UrlSearchProvider.js +0 -29
  325. package/dist/src/components/app/UrlSearchProvider.js.map +0 -1
  326. package/dist/src/components/app/findMostSevereTestStepResultStatus.d.ts.map +0 -1
  327. package/dist/src/components/app/findMostSevereTestStepResultStatus.js +0 -17
  328. package/dist/src/components/app/findMostSevereTestStepResultStatus.js.map +0 -1
  329. package/dist/src/components/app/icons/CucumberLogo.d.ts.map +0 -1
  330. package/dist/src/components/app/icons/CucumberLogo.js +0 -5
  331. package/dist/src/components/app/icons/CucumberLogo.js.map +0 -1
  332. package/dist/src/components/app/icons/Jvm.d.ts.map +0 -1
  333. package/dist/src/components/app/icons/Jvm.js +0 -5
  334. package/dist/src/components/app/icons/Jvm.js.map +0 -1
  335. package/dist/src/components/app/icons/Linux.d.ts.map +0 -1
  336. package/dist/src/components/app/icons/Linux.js +0 -5
  337. package/dist/src/components/app/icons/Linux.js.map +0 -1
  338. package/dist/src/components/app/icons/MacOS.d.ts.map +0 -1
  339. package/dist/src/components/app/icons/MacOS.js +0 -5
  340. package/dist/src/components/app/icons/MacOS.js.map +0 -1
  341. package/dist/src/components/app/icons/NodeJs.d.ts.map +0 -1
  342. package/dist/src/components/app/icons/NodeJs.js +0 -5
  343. package/dist/src/components/app/icons/NodeJs.js.map +0 -1
  344. package/dist/src/components/app/icons/Ruby.d.ts.map +0 -1
  345. package/dist/src/components/app/icons/Ruby.js +0 -5
  346. package/dist/src/components/app/icons/Ruby.js.map +0 -1
  347. package/dist/src/components/app/icons/Windows.d.ts.map +0 -1
  348. package/dist/src/components/app/icons/Windows.js +0 -5
  349. package/dist/src/components/app/icons/Windows.js.map +0 -1
  350. package/dist/src/components/app/index.d.ts +0 -15
  351. package/dist/src/components/app/index.d.ts.map +0 -1
  352. package/dist/src/components/app/index.js.map +0 -1
  353. package/dist/src/components/app/makeSetupString.d.ts.map +0 -1
  354. package/dist/src/components/app/makeSetupString.js +0 -21
  355. package/dist/src/components/app/makeSetupString.js.map +0 -1
  356. package/dist/src/components/app/markdownComponents.d.ts.map +0 -1
  357. package/dist/src/components/app/markdownComponents.js +0 -6
  358. package/dist/src/components/app/markdownComponents.js.map +0 -1
  359. package/dist/src/components/app/rehypePlugins.d.ts.map +0 -1
  360. package/dist/src/components/app/rehypePlugins.js +0 -9
  361. package/dist/src/components/app/rehypePlugins.js.map +0 -1
  362. package/dist/src/components/app/remarkPlugins.d.ts.map +0 -1
  363. package/dist/src/components/app/remarkPlugins.js +0 -4
  364. package/dist/src/components/app/remarkPlugins.js.map +0 -1
  365. package/dist/src/components/customise/CustomRendering.d.ts.map +0 -1
  366. package/dist/src/components/customise/CustomRendering.js +0 -35
  367. package/dist/src/components/customise/CustomRendering.js.map +0 -1
  368. package/dist/src/components/customise/index.d.ts +0 -3
  369. package/dist/src/components/customise/index.d.ts.map +0 -1
  370. package/dist/src/components/customise/index.js.map +0 -1
  371. package/dist/src/components/customise/theming.d.ts.map +0 -1
  372. package/dist/src/components/customise/theming.js +0 -2
  373. package/dist/src/components/customise/theming.js.map +0 -1
  374. package/dist/src/components/gherkin/Anchor.d.ts.map +0 -1
  375. package/dist/src/components/gherkin/Anchor.js +0 -13
  376. package/dist/src/components/gherkin/Anchor.js.map +0 -1
  377. package/dist/src/components/gherkin/Background.d.ts.map +0 -1
  378. package/dist/src/components/gherkin/Background.js +0 -18
  379. package/dist/src/components/gherkin/Background.js.map +0 -1
  380. package/dist/src/components/gherkin/Children.d.ts.map +0 -1
  381. package/dist/src/components/gherkin/Children.js +0 -11
  382. package/dist/src/components/gherkin/Children.js.map +0 -1
  383. package/dist/src/components/gherkin/DataTable.d.ts.map +0 -1
  384. package/dist/src/components/gherkin/DataTable.js +0 -16
  385. package/dist/src/components/gherkin/DataTable.js.map +0 -1
  386. package/dist/src/components/gherkin/Description.d.ts.map +0 -1
  387. package/dist/src/components/gherkin/Description.js +0 -15
  388. package/dist/src/components/gherkin/Description.js.map +0 -1
  389. package/dist/src/components/gherkin/DocString.d.ts.map +0 -1
  390. package/dist/src/components/gherkin/DocString.js +0 -12
  391. package/dist/src/components/gherkin/DocString.js.map +0 -1
  392. package/dist/src/components/gherkin/ErrorMessage.d.ts.map +0 -1
  393. package/dist/src/components/gherkin/ErrorMessage.js +0 -13
  394. package/dist/src/components/gherkin/ErrorMessage.js.map +0 -1
  395. package/dist/src/components/gherkin/Examples.d.ts.map +0 -1
  396. package/dist/src/components/gherkin/Examples.js +0 -31
  397. package/dist/src/components/gherkin/Examples.js.map +0 -1
  398. package/dist/src/components/gherkin/Feature.d.ts.map +0 -1
  399. package/dist/src/components/gherkin/Feature.js +0 -30
  400. package/dist/src/components/gherkin/Feature.js.map +0 -1
  401. package/dist/src/components/gherkin/GherkinDocument.d.ts.map +0 -1
  402. package/dist/src/components/gherkin/GherkinDocument.js +0 -11
  403. package/dist/src/components/gherkin/GherkinDocument.js.map +0 -1
  404. package/dist/src/components/gherkin/Keyword.d.ts.map +0 -1
  405. package/dist/src/components/gherkin/Keyword.js +0 -11
  406. package/dist/src/components/gherkin/Keyword.js.map +0 -1
  407. package/dist/src/components/gherkin/Parameter.d.ts.map +0 -1
  408. package/dist/src/components/gherkin/Parameter.js +0 -11
  409. package/dist/src/components/gherkin/Parameter.js.map +0 -1
  410. package/dist/src/components/gherkin/Rule.d.ts.map +0 -1
  411. package/dist/src/components/gherkin/Rule.js +0 -26
  412. package/dist/src/components/gherkin/Rule.js.map +0 -1
  413. package/dist/src/components/gherkin/Scenario.d.ts.map +0 -1
  414. package/dist/src/components/gherkin/Scenario.js +0 -22
  415. package/dist/src/components/gherkin/Scenario.js.map +0 -1
  416. package/dist/src/components/gherkin/StatusIcon.d.ts.map +0 -1
  417. package/dist/src/components/gherkin/StatusIcon.js +0 -24
  418. package/dist/src/components/gherkin/StatusIcon.js.map +0 -1
  419. package/dist/src/components/gherkin/StepsList.d.ts.map +0 -1
  420. package/dist/src/components/gherkin/StepsList.js +0 -6
  421. package/dist/src/components/gherkin/StepsList.js.map +0 -1
  422. package/dist/src/components/gherkin/Tags.d.ts.map +0 -1
  423. package/dist/src/components/gherkin/Tags.js +0 -15
  424. package/dist/src/components/gherkin/Tags.js.map +0 -1
  425. package/dist/src/components/gherkin/Title.d.ts.map +0 -1
  426. package/dist/src/components/gherkin/Title.js +0 -12
  427. package/dist/src/components/gherkin/Title.js.map +0 -1
  428. package/dist/src/components/gherkin/attachment/Attachment.d.ts.map +0 -1
  429. package/dist/src/components/gherkin/attachment/Attachment.js +0 -45
  430. package/dist/src/components/gherkin/attachment/Attachment.js.map +0 -1
  431. package/dist/src/components/gherkin/attachment/Image.d.ts.map +0 -1
  432. package/dist/src/components/gherkin/attachment/Image.js +0 -16
  433. package/dist/src/components/gherkin/attachment/Image.js.map +0 -1
  434. package/dist/src/components/gherkin/attachment/Links.d.ts.map +0 -1
  435. package/dist/src/components/gherkin/attachment/Links.js +0 -14
  436. package/dist/src/components/gherkin/attachment/Links.js.map +0 -1
  437. package/dist/src/components/gherkin/attachment/Log.d.ts.map +0 -1
  438. package/dist/src/components/gherkin/attachment/Log.js +0 -12
  439. package/dist/src/components/gherkin/attachment/Log.js.map +0 -1
  440. package/dist/src/components/gherkin/attachment/Text.d.ts.map +0 -1
  441. package/dist/src/components/gherkin/attachment/Text.js +0 -16
  442. package/dist/src/components/gherkin/attachment/Text.js.map +0 -1
  443. package/dist/src/components/gherkin/attachment/Unknown.d.ts.map +0 -1
  444. package/dist/src/components/gherkin/attachment/Unknown.js +0 -61
  445. package/dist/src/components/gherkin/attachment/Unknown.js.map +0 -1
  446. package/dist/src/components/gherkin/attachment/Video.d.ts.map +0 -1
  447. package/dist/src/components/gherkin/attachment/Video.js +0 -16
  448. package/dist/src/components/gherkin/attachment/Video.js.map +0 -1
  449. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts.map +0 -1
  450. package/dist/src/components/gherkin/attachment/attachmentFilename.js +0 -12
  451. package/dist/src/components/gherkin/attachment/attachmentFilename.js.map +0 -1
  452. package/dist/src/components/gherkin/attachment/base64Decode.d.ts.map +0 -1
  453. package/dist/src/components/gherkin/attachment/base64Decode.js +0 -19
  454. package/dist/src/components/gherkin/attachment/base64Decode.js.map +0 -1
  455. package/dist/src/components/gherkin/attachment/index.d.ts +0 -2
  456. package/dist/src/components/gherkin/attachment/index.d.ts.map +0 -1
  457. package/dist/src/components/gherkin/attachment/index.js.map +0 -1
  458. package/dist/src/components/gherkin/attachment/useText.d.ts.map +0 -1
  459. package/dist/src/components/gherkin/attachment/useText.js +0 -28
  460. package/dist/src/components/gherkin/attachment/useText.js.map +0 -1
  461. package/dist/src/components/gherkin/composeHookStepTitle.d.ts.map +0 -1
  462. package/dist/src/components/gherkin/composeHookStepTitle.js +0 -23
  463. package/dist/src/components/gherkin/composeHookStepTitle.js.map +0 -1
  464. package/dist/src/components/gherkin/composePickleStepTitle.d.ts.map +0 -1
  465. package/dist/src/components/gherkin/composePickleStepTitle.js +0 -36
  466. package/dist/src/components/gherkin/composePickleStepTitle.js.map +0 -1
  467. package/dist/src/components/gherkin/index.d.ts +0 -19
  468. package/dist/src/components/gherkin/index.d.ts.map +0 -1
  469. package/dist/src/components/gherkin/index.js.map +0 -1
  470. package/dist/src/components/gherkin/isNumber.d.ts.map +0 -1
  471. package/dist/src/components/gherkin/isNumber.js +0 -7
  472. package/dist/src/components/gherkin/isNumber.js.map +0 -1
  473. package/dist/src/components/gherkin/statusName.d.ts +0 -4
  474. package/dist/src/components/gherkin/statusName.d.ts.map +0 -1
  475. package/dist/src/components/gherkin/statusName.js +0 -4
  476. package/dist/src/components/gherkin/statusName.js.map +0 -1
  477. package/dist/src/components/index.d.ts +0 -4
  478. package/dist/src/components/index.d.ts.map +0 -1
  479. package/dist/src/components/index.js.map +0 -1
  480. package/dist/src/components/results/AmbiguousResult.d.ts.map +0 -1
  481. package/dist/src/components/results/AmbiguousResult.js +0 -11
  482. package/dist/src/components/results/AmbiguousResult.js.map +0 -1
  483. package/dist/src/components/results/FailedResult.d.ts.map +0 -1
  484. package/dist/src/components/results/FailedResult.js +0 -15
  485. package/dist/src/components/results/FailedResult.js.map +0 -1
  486. package/dist/src/components/results/PendingResult.d.ts.map +0 -1
  487. package/dist/src/components/results/PendingResult.js +0 -12
  488. package/dist/src/components/results/PendingResult.js.map +0 -1
  489. package/dist/src/components/results/ResultNote.d.ts.map +0 -1
  490. package/dist/src/components/results/ResultNote.js +0 -6
  491. package/dist/src/components/results/ResultNote.js.map +0 -1
  492. package/dist/src/components/results/SkippedResult.d.ts.map +0 -1
  493. package/dist/src/components/results/SkippedResult.js +0 -12
  494. package/dist/src/components/results/SkippedResult.js.map +0 -1
  495. package/dist/src/components/results/SourceReference.d.ts.map +0 -1
  496. package/dist/src/components/results/SourceReference.js +0 -13
  497. package/dist/src/components/results/SourceReference.js.map +0 -1
  498. package/dist/src/components/results/TestCaseOutcome.d.ts.map +0 -1
  499. package/dist/src/components/results/TestCaseOutcome.js +0 -32
  500. package/dist/src/components/results/TestCaseOutcome.js.map +0 -1
  501. package/dist/src/components/results/TestRunHookOutcome.d.ts.map +0 -1
  502. package/dist/src/components/results/TestRunHookOutcome.js +0 -11
  503. package/dist/src/components/results/TestRunHookOutcome.js.map +0 -1
  504. package/dist/src/components/results/TestStepAttachments.d.ts.map +0 -1
  505. package/dist/src/components/results/TestStepAttachments.js +0 -12
  506. package/dist/src/components/results/TestStepAttachments.js.map +0 -1
  507. package/dist/src/components/results/TestStepDuration.d.ts.map +0 -1
  508. package/dist/src/components/results/TestStepDuration.js +0 -19
  509. package/dist/src/components/results/TestStepDuration.js.map +0 -1
  510. package/dist/src/components/results/TestStepOutcome.d.ts.map +0 -1
  511. package/dist/src/components/results/TestStepOutcome.js +0 -45
  512. package/dist/src/components/results/TestStepOutcome.js.map +0 -1
  513. package/dist/src/components/results/UndefinedResult.d.ts.map +0 -1
  514. package/dist/src/components/results/UndefinedResult.js +0 -18
  515. package/dist/src/components/results/UndefinedResult.js.map +0 -1
  516. package/dist/src/components/results/index.d.ts +0 -3
  517. package/dist/src/components/results/index.d.ts.map +0 -1
  518. package/dist/src/components/results/index.js.map +0 -1
  519. package/dist/src/formatExecutionDistance.d.ts.map +0 -1
  520. package/dist/src/formatExecutionDistance.js +0 -7
  521. package/dist/src/formatExecutionDistance.js.map +0 -1
  522. package/dist/src/formatExecutionDuration.d.ts.map +0 -1
  523. package/dist/src/formatExecutionDuration.js +0 -12
  524. package/dist/src/formatExecutionDuration.js.map +0 -1
  525. package/dist/src/formatPassedQuantity.d.ts.map +0 -1
  526. package/dist/src/formatPassedQuantity.js +0 -4
  527. package/dist/src/formatPassedQuantity.js.map +0 -1
  528. package/dist/src/formatStatusRate.d.ts.map +0 -1
  529. package/dist/src/formatStatusRate.js +0 -9
  530. package/dist/src/formatStatusRate.js.map +0 -1
  531. package/dist/src/hooks/helpers.d.ts.map +0 -1
  532. package/dist/src/hooks/helpers.js +0 -7
  533. package/dist/src/hooks/helpers.js.map +0 -1
  534. package/dist/src/hooks/index.d.ts +0 -3
  535. package/dist/src/hooks/index.d.ts.map +0 -1
  536. package/dist/src/hooks/index.js.map +0 -1
  537. package/dist/src/hooks/useFilteredDocuments.d.ts.map +0 -1
  538. package/dist/src/hooks/useFilteredDocuments.js +0 -85
  539. package/dist/src/hooks/useFilteredDocuments.js.map +0 -1
  540. package/dist/src/hooks/useMostSevereStatusByUri.d.ts.map +0 -1
  541. package/dist/src/hooks/useMostSevereStatusByUri.js +0 -25
  542. package/dist/src/hooks/useMostSevereStatusByUri.js.map +0 -1
  543. package/dist/src/hooks/useQueries.d.ts.map +0 -1
  544. package/dist/src/hooks/useQueries.js +0 -9
  545. package/dist/src/hooks/useQueries.js.map +0 -1
  546. package/dist/src/hooks/useResultStatistics.d.ts.map +0 -1
  547. package/dist/src/hooks/useResultStatistics.js +0 -24
  548. package/dist/src/hooks/useResultStatistics.js.map +0 -1
  549. package/dist/src/hooks/useSearch.d.ts.map +0 -1
  550. package/dist/src/hooks/useSearch.js +0 -6
  551. package/dist/src/hooks/useSearch.js.map +0 -1
  552. package/dist/src/hooks/useTestCaseStarted.d.ts.map +0 -1
  553. package/dist/src/hooks/useTestCaseStarted.js +0 -20
  554. package/dist/src/hooks/useTestCaseStarted.js.map +0 -1
  555. package/dist/src/hooks/useTestRunHooks.d.ts.map +0 -1
  556. package/dist/src/hooks/useTestRunHooks.js +0 -14
  557. package/dist/src/hooks/useTestRunHooks.js.map +0 -1
  558. package/dist/src/index.d.ts +0 -3
  559. package/dist/src/index.d.ts.map +0 -1
  560. package/dist/src/index.js.map +0 -1
  561. package/dist/src/isTagExpression.d.ts.map +0 -1
  562. package/dist/src/isTagExpression.js +0 -5
  563. package/dist/src/isTagExpression.js.map +0 -1
  564. package/dist/src/search/FeatureSearch.d.ts.map +0 -1
  565. package/dist/src/search/FeatureSearch.js +0 -37
  566. package/dist/src/search/FeatureSearch.js.map +0 -1
  567. package/dist/src/search/ScenarioLikeSearch.d.ts.map +0 -1
  568. package/dist/src/search/ScenarioLikeSearch.js +0 -37
  569. package/dist/src/search/ScenarioLikeSearch.js.map +0 -1
  570. package/dist/src/search/StepSearch.d.ts.map +0 -1
  571. package/dist/src/search/StepSearch.js +0 -40
  572. package/dist/src/search/StepSearch.js.map +0 -1
  573. package/dist/src/search/TextSearch.d.ts.map +0 -1
  574. package/dist/src/search/TextSearch.js +0 -70
  575. package/dist/src/search/TextSearch.js.map +0 -1
  576. package/dist/src/search/createSearchIndex.d.ts.map +0 -1
  577. package/dist/src/search/createSearchIndex.js +0 -10
  578. package/dist/src/search/createSearchIndex.js.map +0 -1
  579. package/dist/src/search/deriveLineageConstraints.d.ts.map +0 -1
  580. package/dist/src/search/deriveLineageConstraints.js +0 -38
  581. package/dist/src/search/deriveLineageConstraints.js.map +0 -1
  582. package/dist/src/search/index.d.ts.map +0 -1
  583. package/dist/src/search/index.js +0 -5
  584. package/dist/src/search/index.js.map +0 -1
  585. package/dist/src/search/pruneGherkinDocuments.d.ts.map +0 -1
  586. package/dist/src/search/pruneGherkinDocuments.js +0 -180
  587. package/dist/src/search/pruneGherkinDocuments.js.map +0 -1
  588. package/dist/src/search/types.d.ts.map +0 -1
  589. package/dist/src/search/types.js +0 -2
  590. package/dist/src/search/types.js.map +0 -1
  591. package/dist/src/statuses.d.ts.map +0 -1
  592. package/dist/src/statuses.js +0 -12
  593. package/dist/src/statuses.js.map +0 -1
  594. package/dist/src/toRepositoryId.d.ts.map +0 -1
  595. package/dist/src/toRepositoryId.js +0 -12
  596. package/dist/src/toRepositoryId.js.map +0 -1
  597. package/dist/tsconfig.build.tsbuildinfo +0 -1
  598. /package/dist/{src/components → components}/app/CopyButton.module.scss +0 -0
  599. /package/dist/{src/components → components}/app/DocumentAccordion.module.scss +0 -0
  600. /package/dist/{src/components → components}/app/ExecutionSummary.module.scss +0 -0
  601. /package/dist/{src/components → components}/app/FilteredDocuments.module.scss +0 -0
  602. /package/dist/{src/components → components}/app/Header.module.scss +0 -0
  603. /package/dist/{src/components → components}/app/HealthChart.module.scss +0 -0
  604. /package/dist/{src/components → components}/app/NavigationButton.module.scss +0 -0
  605. /package/dist/{src/components → components}/app/Report.module.scss +0 -0
  606. /package/dist/{src/components → components}/app/SearchBar.module.scss +0 -0
  607. /package/dist/{src/components → components}/app/StatusesSummary.module.scss +0 -0
  608. /package/dist/{src/components → components}/app/TestRunHooks.module.scss +0 -0
  609. /package/dist/{src/components → components}/customise/CustomRendering.stories.scss +0 -0
  610. /package/dist/{src/components → components}/gherkin/Anchor.module.scss +0 -0
  611. /package/dist/{src/components → components}/gherkin/Children.module.scss +0 -0
  612. /package/dist/{src/components → components}/gherkin/DataTable.module.scss +0 -0
  613. /package/dist/{src/components → components}/gherkin/Description.module.scss +0 -0
  614. /package/dist/{src/components → components}/gherkin/DocString.module.scss +0 -0
  615. /package/dist/{src/components → components}/gherkin/ErrorMessage.module.scss +0 -0
  616. /package/dist/{src/components → components}/gherkin/Examples.module.scss +0 -0
  617. /package/dist/{src/components → components}/gherkin/Keyword.module.scss +0 -0
  618. /package/dist/{src/components → components}/gherkin/Parameter.module.scss +0 -0
  619. /package/dist/{src/components → components}/gherkin/StatusIcon.module.scss +0 -0
  620. /package/dist/{src/components → components}/gherkin/StepsList.module.scss +0 -0
  621. /package/dist/{src/components → components}/gherkin/Tags.module.scss +0 -0
  622. /package/dist/{src/components → components}/gherkin/Title.module.scss +0 -0
  623. /package/dist/{src/components → components}/gherkin/attachment/Attachment.module.scss +0 -0
  624. /package/dist/{src/components → components}/results/AmbiguousResult.module.scss +0 -0
  625. /package/dist/{src/components → components}/results/ResultNote.module.scss +0 -0
  626. /package/dist/{src/components → components}/results/SourceReference.module.scss +0 -0
  627. /package/dist/{src/components → components}/results/TestCaseOutcome.module.scss +0 -0
  628. /package/dist/{src/components → components}/results/TestRunHookOutcome.module.scss +0 -0
  629. /package/dist/{src/components → components}/results/TestStepAttachments.module.scss +0 -0
  630. /package/dist/{src/components → components}/results/TestStepDuration.module.scss +0 -0
  631. /package/dist/{src/components → components}/results/TestStepOutcome.module.scss +0 -0
  632. /package/dist/{src/components → components}/results/UndefinedResult.module.scss +0 -0
  633. /package/dist/{src/styles → styles}/statuses.scss +0 -0
  634. /package/dist/{src/styles → styles}/tables.scss +0 -0
  635. /package/dist/{src/styles → styles}/theming.scss +0 -0
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, 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=CICommitLink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CICommitLink.js","sourceRoot":"","sources":["../../../../src/components/app/CICommitLink.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAEhD,MAAM,CAAC,MAAM,YAAY,GAEpB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IACd,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAEnC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,8BACE,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,GAAI,EACpF,YAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,8BAA8B,YACrE,yBAAO,SAAS,GAAQ,GACtB,IACH,CACJ,CAAA;IACH,CAAC;IACD,OAAO,CACL,8BACE,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,GAAI,EACpF,yBAAO,SAAS,GAAQ,IACvB,CACJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { Ci } from '@cucumber/messages'\nimport { faCodeCommit } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { FC } from 'react'\n\nimport ciCommitLink from '../../ciCommitLink.js'\n\nexport const CICommitLink: FC<{\n ci: Ci\n}> = ({ ci }) => {\n if (!ci.git) {\n return null\n }\n\n const shortHash = ci.git.revision.substring(0, 7)\n const commitLink = ciCommitLink(ci)\n\n if (commitLink) {\n return (\n <>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faCodeCommit} />\n <a href={commitLink} target=\"_blank\" rel=\"noopener nofollow noreferrer\">\n <code>{shortHash}</code>\n </a>\n </>\n )\n }\n return (\n <>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faCodeCommit} />\n <code>{shortHash}</code>\n </>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CIJobLink.d.ts","sourceRoot":"","sources":["../../../../src/components/app/CIJobLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAG5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE/B,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IACzB,EAAE,EAAE,EAAE,CAAA;CACP,CAiBA,CAAA"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, 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=CIJobLink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CIJobLink.js","sourceRoot":"","sources":["../../../../src/components/app/CIJobLink.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,MAAM,CAAC,MAAM,SAAS,GAEjB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CACL,8BACE,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAI,EAChF,YAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,8BAA8B,YAChE,EAAE,CAAC,IAAI,GACN,IACH,CACJ,CAAA;IACH,CAAC;IACD,OAAO,CACL,8BACE,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAI,EAChF,yBAAO,EAAE,CAAC,IAAI,GAAQ,IACrB,CACJ,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { Ci } from '@cucumber/messages'\nimport { faServer } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { FC } from 'react'\n\nexport const CIJobLink: FC<{\n ci: Ci\n}> = ({ ci }) => {\n if (ci.url) {\n return (\n <>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faServer} />\n <a href={ci.url} target=\"_blank\" rel=\"noopener nofollow noreferrer\">\n {ci.name}\n </a>\n </>\n )\n }\n return (\n <>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faServer} />\n <span>{ci.name}</span>\n </>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ControlledSearchProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/app/ControlledSearchProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAGhE,OAA2B,EAEzB,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAA;AAE/B,UAAU,KAAK;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAA;CAC1C;AAED,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAkBjE,CAAA"}
@@ -1,39 +0,0 @@
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=ControlledSearchProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ControlledSearchProvider.js","sourceRoot":"","sources":["../../../../src/components/app/ControlledSearchProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAmC,OAAO,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,eAAe,MAAM,0BAA0B,CAAA;AACtD,OAAO,kBAGN,MAAM,wBAAwB,CAAA;AAO/B,MAAM,CAAC,MAAM,wBAAwB,GAAiC,CAAC,EACrE,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,YAAY,GAAuB,OAAO,CAAC,GAAG,EAAE;QACpD,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAA;QAC5D,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS;YACT,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAE,CAAC,SAA+B,EAAE,EAAE;gBAC1C,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;YACtC,CAAC;SACF,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrB,OAAO,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAA+B,CAAA;AACnG,CAAC,CAAA;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO;gBACL,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;aAC5B,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,IAAI,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,KAAK;KAClB,CAAA;AACH,CAAC","sourcesContent":["import { parse } from '@cucumber/tag-expressions'\nimport { type FC, type PropsWithChildren, useMemo } from 'react'\n\nimport isTagExpression from '../../isTagExpression.js'\nimport SearchQueryContext, {\n type SearchContextValue,\n type SearchState,\n} from '../../SearchContext.js'\n\ninterface Props {\n value: SearchState\n onChange: (newValue: SearchState) => void\n}\n\nexport const ControlledSearchProvider: FC<PropsWithChildren<Props>> = ({\n value,\n onChange,\n children,\n}) => {\n const contextValue: SearchContextValue = useMemo(() => {\n const unchanged = !value.query && !value.hideStatuses.length\n return {\n query: value.query,\n hideStatuses: value.hideStatuses,\n unchanged,\n ...deriveState(value.query),\n update: (newValues: Partial<SearchState>) => {\n onChange({ ...value, ...newValues })\n },\n }\n }, [value, onChange])\n return <SearchQueryContext.Provider value={contextValue}>{children}</SearchQueryContext.Provider>\n}\n\nfunction deriveState(query: string): Pick<SearchContextValue, 'searchTerm' | 'tagExpression'> {\n if (!query) {\n return {}\n }\n if (isTagExpression(query)) {\n try {\n return {\n tagExpression: parse(query),\n }\n } catch (error) {\n console.error(`Failed to parse tag expression \"${query}\":`, error)\n }\n }\n return {\n searchTerm: query,\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../../src/components/app/CopyButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAY,MAAM,OAAO,CAAA;AAIzC,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CA4B/D,CAAA"}
@@ -1,23 +0,0 @@
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=CopyButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../../../src/components/app/CopyButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAW,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,MAAM,CAAC,MAAM,UAAU,GAA6C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,SAAS,CAAC,SAAS;aAChB,SAAS,CAAC,IAAI,CAAC;aACf,IAAI,CAAC,GAAG,EAAE;YACT,SAAS,CAAC,IAAI,CAAC,CAAA;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,CAAC,KAAK,CAAC,CAAA;YAClB,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,gBACP,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,YAEhE,KAAC,eAAe,IAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAI,GAC7C,CACV,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { faCheck, faCopy } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { type FC, useState } from 'react'\n\nimport styles from './CopyButton.module.scss'\n\nexport const CopyButton: FC<{ text: string; className?: string }> = ({ text, className }) => {\n const [copied, setCopied] = useState(false)\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(text)\n .then(() => {\n setCopied(true)\n setTimeout(() => {\n setCopied(false)\n }, 3000)\n })\n .catch((err) => {\n console.error('Failed to copy', err)\n })\n }\n\n return (\n <button\n type=\"button\"\n onClick={handleCopy}\n aria-label={copied ? 'Copied' : 'Copy'}\n disabled={copied}\n className={`${styles.button}${className ? ` ${className}` : ''}`}\n >\n <FontAwesomeIcon icon={copied ? faCheck : faCopy} />\n </button>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentAccordion.d.ts","sourceRoot":"","sources":["../../../../src/components/app/DocumentAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG9D,OAAO,EAAE,KAAK,EAAE,EAAqB,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAA;AAaxF,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,0BAA0B;IAClC,MAAM,EAAE,oBAAoB,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,SAAS,CAAA;CACpB;AAaD,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAUxD,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CAuBhE,CAAA"}
@@ -1,22 +0,0 @@
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=DocumentAccordion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentAccordion.js","sourceRoot":"","sources":["../../../../src/components/app/DocumentAccordion.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAA8C,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxF,OAAO,EACL,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,OAAO,GACR,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,iCAAiC,CAAA;AAapD,MAAM,WAAW,GAAmC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAChD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,KAAK,CAAC,CAAA;IAElF,IAAI,KAAK,EAAE,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtF,OAAO,CACL,KAAC,eAAe,IACd,sBAAsB,QACtB,mBAAmB,EAAE,QAAQ,EAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,YAE1B,QAAQ,GACO,CACnB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAmC,CAAC,EACpE,MAAM,EACN,GAAG,EACH,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,UAAU,IAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,aACzC,KAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,YAChC,MAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,aAC7C,KAAC,eAAe,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,iBAAc,MAAM,EAAC,IAAI,EAAE,cAAc,GAAI,EACvF,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,YAC1B,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GACzB,EACP,yBAAO,GAAG,GAAQ,IACX,GACD,EACV,KAAC,eAAe,cACd,KAAC,WAAW,cACV,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,QAAQ,GAAO,GACpC,GACE,IACP,CACd,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { TestStepResultStatus } from '@cucumber/messages'\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { type FC, type ReactElement, type ReactNode, useContext, useState } from 'react'\nimport {\n Button,\n Disclosure,\n DisclosureGroup,\n DisclosurePanel,\n DisclosureStateContext,\n Heading,\n} from 'react-aria-components'\n\nimport { StatusIcon } from '../gherkin/index.js'\nimport styles from './DocumentAccordion.module.scss'\n\ninterface DocumentAccordionProps {\n expanded: Iterable<string>\n children: ReactNode\n}\n\ninterface DocumentAccordionItemProps {\n status: TestStepResultStatus\n uri: string\n children: ReactNode\n}\n\nconst LazyContent: FC<{ children: ReactElement }> = ({ children }) => {\n const state = useContext(DisclosureStateContext)\n const [hasBeenExpanded, setHasBeenExpanded] = useState(state?.isExpanded ?? false)\n\n if (state?.isExpanded && !hasBeenExpanded) {\n setHasBeenExpanded(true)\n }\n\n return hasBeenExpanded ? children : null\n}\n\nexport const DocumentAccordion: FC<DocumentAccordionProps> = ({ expanded, children }) => {\n return (\n <DisclosureGroup\n allowsMultipleExpanded\n defaultExpandedKeys={expanded}\n className={styles.accordion}\n >\n {children}\n </DisclosureGroup>\n )\n}\n\nexport const DocumentAccordionItem: FC<DocumentAccordionItemProps> = ({\n status,\n uri,\n children,\n}) => {\n return (\n <Disclosure id={uri} className={styles.item}>\n <Heading className={styles.heading}>\n <Button slot=\"trigger\" className={styles.button}>\n <FontAwesomeIcon className={styles.chevron} aria-hidden=\"true\" icon={faChevronRight} />\n <span className={styles.icon}>\n <StatusIcon status={status} />\n </span>\n <span>{uri}</span>\n </Button>\n </Heading>\n <DisclosurePanel>\n <LazyContent>\n <div className={styles.content}>{children}</div>\n </LazyContent>\n </DisclosurePanel>\n </Disclosure>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvelopesProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/app/EnvelopesProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAIhE,UAAU,KAAK;IACb,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;CAC/B;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAe1D,CAAA"}
@@ -1,18 +0,0 @@
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=EnvelopesProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvelopesProvider.js","sourceRoot":"","sources":["../../../../src/components/app/EnvelopesProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAmC,OAAO,EAAE,MAAM,OAAO,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtD,MAAM,CAAC,MAAM,iBAAiB,GAAiC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACnD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA;IACxC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACf,OAAO,CACL,KAAC,eAAe,IAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,YACtE,QAAQ,GACO,CACnB,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Query as GherkinQuery } from '@cucumber/gherkin-utils'\nimport type { Envelope } from '@cucumber/messages'\nimport { Query as CucumberQuery } from '@cucumber/query'\nimport { type FC, type PropsWithChildren, useMemo } from 'react'\n\nimport { QueriesProvider } from './QueriesProvider.js'\n\ninterface Props {\n envelopes: readonly Envelope[]\n}\n\nexport const EnvelopesProvider: FC<PropsWithChildren<Props>> = ({ envelopes, children }) => {\n const { gherkinQuery, cucumberQuery } = useMemo(() => {\n const gherkinQuery = new GherkinQuery()\n const cucumberQuery = new CucumberQuery()\n for (const envelope of envelopes) {\n gherkinQuery.update(envelope)\n cucumberQuery.update(envelope)\n }\n return { gherkinQuery, cucumberQuery }\n }, [envelopes])\n return (\n <QueriesProvider gherkinQuery={gherkinQuery} cucumberQuery={cucumberQuery}>\n {children}\n </QueriesProvider>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/app/ExecutionSummary.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAmB/B,eAAO,MAAM,gBAAgB,EAAE,EAmG9B,CAAA"}
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } 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=ExecutionSummary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSummary.js","sourceRoot":"","sources":["../../../../src/components/app/ExecutionSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,MAAM,MAAM,gCAAgC,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAO,GAAG,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAA;IACtC,MAAM,cAAc,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAA;IACzD,MAAM,eAAe,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAA;IAC3D,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IACrC,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE3E,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS;QACzC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,iCAAiC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,UAAU,GAAG,eAAe,EAAE,SAAS;QAC3C,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,iCAAiC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,CACL,8BACG,IAAI,IAAI,CACP,KAAC,aAAa,cACZ,MAAC,UAAU,IAAC,MAAM,EAAC,wBAAwB,aACzC,MAAC,aAAa,eACZ,KAAC,kBAAkB,IAAC,cAAc,EAAE,IAAI,CAAC,cAAc,GAAI,EAC3D,KAAC,WAAW,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,EACtC,KAAC,MAAM,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,IACT,EAChB,+BAAkB,+BAA+B,aAC/C,KAAC,aAAa,OAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAC,cAAc,GAAG,EAClE,aAAI,SAAS,EAAE,MAAM,CAAC,WAAW,uBAAa,EAC9C,KAAC,aAAa,OAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAC,iBAAiB,GAAG,EAC9D,aAAI,SAAS,EAAE,MAAM,CAAC,WAAW,qBAAW,EAC5C,KAAC,aAAa,OAAK,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAC,kBAAkB,GAAG,IACrD,EACP,KAAC,UAAU,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,GAAI,IAChC,GACC,CACjB,EACD,MAAC,aAAa,eACZ,KAAC,UAAU,IAAC,MAAM,EAAC,yBAAyB,YAC1C,MAAC,aAAa,eACZ,KAAC,WAAW,KAAG,EACf,2BACG,gBAAgB,CACf,qBAAqB,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAClD,kBAAkB,CACnB,EAAE,GAAG,EACL,oBAAoB,CACnB,qBAAqB,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAClD,kBAAkB,CACnB,EACA,SAAS,IACL,IACO,GACL,EACZ,SAAS,IAAI,CACZ,KAAC,UAAU,IAAC,MAAM,EAAC,yBAAyB,YAC1C,MAAC,aAAa,eACZ,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,GAAI,EACnF,2BACE,eAAM,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,YACjE,uBAAuB,CAAC,SAAS,CAAC,GAC9B,EACN,UAAU,IAAI,CACb,8BACE,aAAI,SAAS,EAAE,MAAM,CAAC,WAAW,qBAAW,EAC5C,yBAAO,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,GAAQ,IAC5D,CACJ,IACI,IACO,GACL,CACd,EACA,IAAI,EAAE,EAAE,IAAI,CACX,KAAC,UAAU,IAAC,MAAM,EAAC,qBAAqB,YACtC,KAAC,aAAa,cACZ,KAAC,SAAS,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,GACZ,GACL,CACd,EACA,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAChB,MAAC,UAAU,IAAC,MAAM,EAAC,sBAAsB,aACvC,KAAC,aAAa,cACZ,KAAC,YAAY,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,GACf,EACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CACrB,MAAC,aAAa,eACZ,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,GAAI,EACpF,yBAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAQ,IACnB,CACjB,EACA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAClB,MAAC,aAAa,eACZ,KAAC,eAAe,mBAAa,MAAM,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,GAAI,EAC7E,yBAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAQ,IAChB,CACjB,IACU,CACd,IACa,IACf,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAuC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACxF,OAAO,CACL,2BACE,2BAAS,IAAI,IAAI,QAAQ,GAAU,EAClC,OAAO,IAAI,gCAAQ,OAAO,IAAQ,IAC9B,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { type Product, TestStepResultStatus, TimeConversion } from '@cucumber/messages'\nimport { faCodeBranch, faStopwatch, faTag } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { FC } from 'react'\n\nimport { formatExecutionDistance } from '../../formatExecutionDistance.js'\nimport { formatExecutionDuration } from '../../formatExecutionDuration.js'\nimport { formatPassedQuantity } from '../../formatPassedQuantity.js'\nimport { formatStatusRate } from '../../formatStatusRate.js'\nimport { useQueries } from '../../hooks/index.js'\nimport { useResultStatistics } from '../../hooks/useResultStatistics.js'\nimport { CICommitLink } from './CICommitLink.js'\nimport { CIJobLink } from './CIJobLink.js'\nimport { CopyButton } from './CopyButton.js'\nimport styles from './ExecutionSummary.module.scss'\nimport { HeaderItem, HeaderSection, HeaderSubItem } from './Header.js'\nimport { HealthChart } from './HealthChart.js'\nimport { ImplementationIcon } from './ImplementationIcon.js'\nimport { makeSetupString } from './makeSetupString.js'\nimport { OSIcon } from './OSIcon.js'\nimport { RuntimeIcon } from './RuntimeIcon.js'\n\nexport const ExecutionSummary: FC = () => {\n const { cucumberQuery } = useQueries()\n const testRunStarted = cucumberQuery.findTestRunStarted()\n const testRunFinished = cucumberQuery.findTestRunFinished()\n const meta = cucumberQuery.findMeta()\n const { scenarioCountByStatus, totalScenarioCount } = useResultStatistics()\n\n const startDate = testRunStarted?.timestamp\n ? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunStarted.timestamp))\n : undefined\n const finishDate = testRunFinished?.timestamp\n ? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunFinished.timestamp))\n : undefined\n\n return (\n <>\n {meta && (\n <HeaderSection>\n <HeaderItem testId=\"cucumber.summary.setup\">\n <HeaderSubItem>\n <ImplementationIcon implementation={meta.implementation} />\n <RuntimeIcon runtime={meta.runtime} />\n <OSIcon os={meta.os} />\n </HeaderSubItem>\n <span data-testid=\"cucumber.summary.setup.phrase\">\n <VersionedTool {...meta.implementation} fallback=\"unknown tool\" />\n <em className={styles.conjunction}> with </em>\n <VersionedTool {...meta.runtime} fallback=\"unknown runtime\" />\n <em className={styles.conjunction}> on </em>\n <VersionedTool {...meta.os} fallback=\"unknown platform\" />\n </span>\n <CopyButton text={makeSetupString(meta)} />\n </HeaderItem>\n </HeaderSection>\n )}\n <HeaderSection>\n <HeaderItem testId=\"cucumber.summary.status\">\n <HeaderSubItem>\n <HealthChart />\n <span>\n {formatStatusRate(\n scenarioCountByStatus[TestStepResultStatus.PASSED],\n totalScenarioCount\n )}{' '}\n {formatPassedQuantity(\n scenarioCountByStatus[TestStepResultStatus.PASSED],\n totalScenarioCount\n )}\n {' passed'}\n </span>\n </HeaderSubItem>\n </HeaderItem>\n {startDate && (\n <HeaderItem testId=\"cucumber.summary.timing\">\n <HeaderSubItem>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faStopwatch} />\n <span>\n <time title={startDate.toString()} dateTime={startDate.toISOString()}>\n {formatExecutionDistance(startDate)}\n </time>\n {finishDate && (\n <>\n <em className={styles.conjunction}> in </em>\n <span>{formatExecutionDuration(startDate, finishDate)}</span>\n </>\n )}\n </span>\n </HeaderSubItem>\n </HeaderItem>\n )}\n {meta?.ci && (\n <HeaderItem testId=\"cucumber.summary.ci\">\n <HeaderSubItem>\n <CIJobLink ci={meta.ci} />\n </HeaderSubItem>\n </HeaderItem>\n )}\n {meta?.ci?.git && (\n <HeaderItem testId=\"cucumber.summary.git\">\n <HeaderSubItem>\n <CICommitLink ci={meta.ci} />\n </HeaderSubItem>\n {meta.ci.git.branch && (\n <HeaderSubItem>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faCodeBranch} />\n <code>{meta.ci.git.branch}</code>\n </HeaderSubItem>\n )}\n {meta.ci.git.tag && (\n <HeaderSubItem>\n <FontAwesomeIcon aria-hidden=\"true\" style={{ opacity: 0.75 }} icon={faTag} />\n <code>{meta.ci.git.tag}</code>\n </HeaderSubItem>\n )}\n </HeaderItem>\n )}\n </HeaderSection>\n </>\n )\n}\n\nconst VersionedTool: FC<Product & { fallback: string }> = ({ name, fallback, version }) => {\n return (\n <code>\n <strong>{name || fallback}</strong>\n {version && <span>@{version}</span>}\n </code>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilteredDocuments.d.ts","sourceRoot":"","sources":["../../../../src/components/app/FilteredDocuments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM/B,eAAO,MAAM,iBAAiB,EAAE,EAc/B,CAAA"}
@@ -1,15 +0,0 @@
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=FilteredDocuments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilteredDocuments.js","sourceRoot":"","sources":["../../../../src/components/app/FilteredDocuments.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,MAAM,MAAM,iCAAiC,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAO,GAAG,EAAE;IACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,YAAG,SAAS,EAAE,MAAM,CAAC,KAAK,8DAAmD,CAC9E,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAE,MAAM,CAAC,KAAK,4CAAiC,CAC5D,CAAA;IACH,CAAC;IACD,OAAO,KAAC,mBAAmB,IAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAI,CAAA;AAC5E,CAAC,CAAA","sourcesContent":["import type { FC } from 'react'\n\nimport { useFilteredDocuments } from '../../hooks/useFilteredDocuments.js'\nimport styles from './FilteredDocuments.module.scss'\nimport { GherkinDocumentList } from './GherkinDocumentList.js'\n\nexport const FilteredDocuments: FC = () => {\n const { results, filtered } = useFilteredDocuments()\n\n if (!results) {\n return null\n }\n if (!results.length) {\n return filtered ? (\n <p className={styles.empty}>No scenarios match your query and/or filters.</p>\n ) : (\n <p className={styles.empty}>No scenarios were executed.</p>\n )\n }\n return <GherkinDocumentList gherkinDocuments={results} preExpand={true} />\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GherkinDocumentList.d.ts","sourceRoot":"","sources":["../../../../src/components/app/GherkinDocumentList.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,IAAI,sBAAsB,EAE/C,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,EAAY,MAAM,OAAO,CAAA;AAUzC,UAAU,KAAK;IACb,gBAAgB,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAEnD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CA0BzC,CAAA"}
@@ -1,23 +0,0 @@
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=GherkinDocumentList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GherkinDocumentList.js","sourceRoot":"","sources":["../../../../src/components/app/GherkinDocumentList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAW,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAYjF,MAAM,CAAC,MAAM,mBAAmB,GAAc,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE;IAChF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CACoB,CAAA;IACxC,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IACxD,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAwB,GAAG,EAAE;QACtD,oGAAoG;QACpG,OAAO,SAAS;YACd,CAAC,CAAE,cAAc;iBACZ,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,oBAAoB,CAAC,MAAM,CAAC;iBACnF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAc;YACvC,CAAC,CAAC,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,KAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,YAClC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAA;YAC3F,OAAO,CACL,KAAC,qBAAqB,IAAyB,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,YACnF,KAAC,eAAe,IAAC,eAAe,EAAE,aAAa,GAAI,IADzB,aAAa,CAAC,GAAG,CAErB,CACzB,CAAA;QACH,CAAC,CAAC,GACgB,CACrB,CAAA;AACH,CAAC,CAAA","sourcesContent":["import {\n type GherkinDocument as GherkinDocumentMessage,\n TestStepResultStatus,\n} from '@cucumber/messages'\nimport { type FC, useState } from 'react'\n\nimport { useMostSevereStatusByUri } from '../../hooks/useMostSevereStatusByUri.js'\nimport { GherkinDocument } from '../gherkin/index.js'\nimport { DocumentAccordion, DocumentAccordionItem } from './DocumentAccordion.js'\n\ninterface ValidGherkinDocument extends GherkinDocumentMessage {\n uri: string\n}\n\ninterface Props {\n gherkinDocuments: readonly GherkinDocumentMessage[]\n // Set to true if non-PASSED documents should be pre-expanded\n preExpand?: boolean\n}\n\nexport const GherkinDocumentList: FC<Props> = ({ gherkinDocuments, preExpand }) => {\n const validDocuments = gherkinDocuments.filter(\n (doc) => !!doc.uri\n ) as ReadonlyArray<ValidGherkinDocument>\n const mostSevereStatusByUri = useMostSevereStatusByUri()\n const [expanded] = useState<ReadonlyArray<string>>(() => {\n // Pre-expand any document that is *not* passed - assuming this is what people want to look at first\n return preExpand\n ? (validDocuments\n .filter((doc) => mostSevereStatusByUri.get(doc.uri) !== TestStepResultStatus.PASSED)\n .map((doc) => doc.uri) as string[])\n : []\n })\n\n return (\n <DocumentAccordion expanded={expanded}>\n {validDocuments.map((validDocument) => {\n const status = mostSevereStatusByUri.get(validDocument.uri) ?? TestStepResultStatus.UNKNOWN\n return (\n <DocumentAccordionItem key={validDocument.uri} uri={validDocument.uri} status={status}>\n <GherkinDocument gherkinDocument={validDocument} />\n </DocumentAccordionItem>\n )\n })}\n </DocumentAccordion>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/app/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAIlD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAE/C,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAMjE,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAE/C,CAAA"}
@@ -1,12 +0,0 @@
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=Header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/components/app/Header.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,OAAO,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,QAAQ,GAAO,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAA+C,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7F,OAAO,CACL,6BAAkB,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,YAC7C,QAAQ,GACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,OAAO,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,QAAQ,GAAO,CAAA;AACzD,CAAC,CAAA","sourcesContent":["import type { FC, PropsWithChildren } from 'react'\n\nimport styles from './Header.module.scss'\n\nexport const HeaderSection: FC<PropsWithChildren> = ({ children }) => {\n return <div className={styles.section}>{children}</div>\n}\n\nexport const HeaderItem: FC<PropsWithChildren<{ testId?: string }>> = ({ testId, children }) => {\n return (\n <div data-testid={testId} className={styles.item}>\n {children}\n </div>\n )\n}\n\nexport const HeaderSubItem: FC<PropsWithChildren> = ({ children }) => {\n return <div className={styles.subItem}>{children}</div>\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HealthChart.d.ts","sourceRoot":"","sources":["../../../../src/components/app/HealthChart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAK/B,eAAO,MAAM,WAAW,EAAE,EAwCzB,CAAA"}
@@ -1,14 +0,0 @@
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=HealthChart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HealthChart.js","sourceRoot":"","sources":["../../../../src/components/app/HealthChart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAO,GAAG,EAAE;IAClC,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAClG,IAAI,iBAAiB,GAAG,CAAC,CAAA;IACzB,OAAO,CACL,eAAK,OAAO,EAAC,aAAa,aACxB,gFAAgE,EAChE,YAAG,SAAS,EAAC,mBAAmB,YAC7B,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACxC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;oBACnD,iBAAiB,IAAI,aAAa,CAAA;oBAClC,OAAO,CACL,eAEE,SAAS,EAAE,MAAM,CAAC,OAAO,iBACZ,MAAM,EACnB,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EAAE,GAAG,aAAa,IAAI,kBAAkB,GAAG,aAAa,EAAE,EACzE,gBAAgB,EAAE,iBAAiB,EACnC,WAAW,EAAC,IAAI,EAChB,CAAC,EAAC,sCAAsC,EACxC,IAAI,EAAC,MAAM,IARN,MAAM,CASX,CACH,CAAA;gBACH,CAAC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAE,MAAM,CAAC,OAAO,iBACZ,oBAAoB,CAAC,OAAO,EACzC,UAAU,EAAC,GAAG,EACd,eAAe,EAAC,KAAK,EACrB,gBAAgB,EAAC,GAAG,EACpB,WAAW,EAAC,IAAI,EAChB,CAAC,EAAC,sCAAsC,EACxC,IAAI,EAAC,MAAM,GACX,CACH,GACC,IACA,CACP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { TestStepResultStatus } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { useResultStatistics } from '../../hooks/useResultStatistics.js'\nimport styles from './HealthChart.module.scss'\n\nexport const HealthChart: FC = () => {\n const { scenarioCountByStatus, totalScenarioCount, statusesWithScenarios } = useResultStatistics()\n let offsetAccumulator = 0\n return (\n <svg viewBox=\"0 0 100 100\">\n <title>Pie chart showing proportion of results by status</title>\n <g transform=\"rotate(-90 50 50)\">\n {statusesWithScenarios.length > 0 ? (\n [...statusesWithScenarios].map((status) => {\n const scenarioCount = scenarioCountByStatus[status]\n offsetAccumulator += scenarioCount\n return (\n <path\n key={status}\n className={styles.segment}\n data-status={status}\n pathLength={totalScenarioCount}\n strokeDasharray={`${scenarioCount} ${totalScenarioCount - scenarioCount}`}\n strokeDashoffset={offsetAccumulator}\n strokeWidth=\"50\"\n d=\"M75 50a1 1 90 10-50 0a1 1 90 10 50 0\"\n fill=\"none\"\n />\n )\n })\n ) : (\n <path\n className={styles.segment}\n data-status={TestStepResultStatus.UNKNOWN}\n pathLength=\"1\"\n strokeDasharray=\"1 0\"\n strokeDashoffset=\"1\"\n strokeWidth=\"50\"\n d=\"M75 50a1 1 90 10-50 0a1 1 90 10 50 0\"\n fill=\"none\"\n />\n )}\n </g>\n </svg>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HighLight.d.ts","sourceRoot":"","sources":["../../../../src/components/app/HighLight.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAS/B,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAcD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAsChC,CAAA"}
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { stemmer } from '@orama/stemmers/english';
3
- import { findAll } from 'highlight-words-core';
4
- import ReactMarkdown from 'react-markdown';
5
- import { useSearch } from '../../hooks/index.js';
6
- import markdownComponents from './markdownComponents.js';
7
- import rehypePlugins from './rehypePlugins.js';
8
- import remarkPlugins from './remarkPlugins.js';
9
- const allQueryWords = (queryWords) => {
10
- return queryWords.reduce((allWords, word) => {
11
- const stem = stemmer(word);
12
- allWords.push(word);
13
- if (stem !== word) {
14
- allWords.push(stem);
15
- }
16
- return allWords;
17
- }, []);
18
- };
19
- export const HighLight = ({ text, markdown = false, className = '' }) => {
20
- const searchQueryContext = useSearch();
21
- const searchWords = allQueryWords(searchQueryContext.query ? searchQueryContext.query.split(' ') : []);
22
- const appliedClassName = className ? `highlight ${className}` : 'highlight';
23
- const chunks = findAll({ textToHighlight: text, searchWords });
24
- if (markdown) {
25
- const highlightedText = chunks
26
- .map(({ start, end, highlight }) => {
27
- const chunkText = text.substring(start, end);
28
- return highlight ? `<mark>${chunkText}</mark>` : chunkText;
29
- })
30
- .join('');
31
- return (_jsx("div", { className: appliedClassName, children: _jsx(ReactMarkdown, { remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, components: markdownComponents, children: highlightedText }) }));
32
- }
33
- return (_jsx("span", { className: appliedClassName, children: chunks.map(({ start, end, highlight }) => {
34
- const chunkText = text.substring(start, end);
35
- return highlight ? _jsx("mark", { children: chunkText }, start) : chunkText;
36
- }) }));
37
- };
38
- //# sourceMappingURL=HighLight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HighLight.js","sourceRoot":"","sources":["../../../../src/components/app/HighLight.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAG9C,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AACxD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAQ9C,MAAM,aAAa,GAAG,CAAC,UAAoB,EAAY,EAAE;IACvD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,EAAc,CAAC,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IAClF,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAA;IACtC,MAAM,WAAW,GAAG,aAAa,CAC/B,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACpE,CAAA;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAE9D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,eAAe,GAAG,MAAM;aAC3B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,OAAO,CACL,cAAK,SAAS,EAAE,gBAAgB,YAC9B,KAAC,aAAa,IACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,kBAAkB,YAE7B,eAAe,GACF,GACZ,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAM,SAAS,EAAE,gBAAgB,YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,yBAAmB,SAAS,IAAjB,KAAK,CAAoB,CAAC,CAAC,CAAC,SAAS,CAAA;QACrE,CAAC,CAAC,GACG,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { stemmer } from '@orama/stemmers/english'\nimport { findAll } from 'highlight-words-core'\nimport type { FC } from 'react'\n\nimport ReactMarkdown from 'react-markdown'\n\nimport { useSearch } from '../../hooks/index.js'\nimport markdownComponents from './markdownComponents.js'\nimport rehypePlugins from './rehypePlugins.js'\nimport remarkPlugins from './remarkPlugins.js'\n\ninterface IProps {\n text: string\n markdown?: boolean\n className?: string\n}\n\nconst allQueryWords = (queryWords: string[]): string[] => {\n return queryWords.reduce((allWords, word) => {\n const stem = stemmer(word)\n allWords.push(word)\n\n if (stem !== word) {\n allWords.push(stem)\n }\n return allWords\n }, [] as string[])\n}\n\nexport const HighLight: FC<IProps> = ({ text, markdown = false, className = '' }) => {\n const searchQueryContext = useSearch()\n const searchWords = allQueryWords(\n searchQueryContext.query ? searchQueryContext.query.split(' ') : []\n )\n const appliedClassName = className ? `highlight ${className}` : 'highlight'\n\n const chunks = findAll({ textToHighlight: text, searchWords })\n\n if (markdown) {\n const highlightedText = chunks\n .map(({ start, end, highlight }) => {\n const chunkText = text.substring(start, end)\n return highlight ? `<mark>${chunkText}</mark>` : chunkText\n })\n .join('')\n\n return (\n <div className={appliedClassName}>\n <ReactMarkdown\n remarkPlugins={remarkPlugins}\n rehypePlugins={rehypePlugins}\n components={markdownComponents}\n >\n {highlightedText}\n </ReactMarkdown>\n </div>\n )\n }\n\n return (\n <span className={appliedClassName}>\n {chunks.map(({ start, end, highlight }) => {\n const chunkText = text.substring(start, end)\n return highlight ? <mark key={start}>{chunkText}</mark> : chunkText\n })}\n </span>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImplementationIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/app/ImplementationIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAM9D,CAAA"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { CucumberLogo } from './icons/CucumberLogo.js';
3
- export const ImplementationIcon = ({ implementation }) => {
4
- const { name } = implementation;
5
- if (name.toLowerCase().includes('cucumber')) {
6
- return _jsx(CucumberLogo, {});
7
- }
8
- return null;
9
- };
10
- //# sourceMappingURL=ImplementationIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImplementationIcon.js","sourceRoot":"","sources":["../../../../src/components/app/ImplementationIcon.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAoC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;IACxF,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAA;IAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAC,YAAY,KAAG,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { Product } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { CucumberLogo } from './icons/CucumberLogo.js'\n\nexport const ImplementationIcon: FC<{ implementation: Product }> = ({ implementation }) => {\n const { name } = implementation\n if (name.toLowerCase().includes('cucumber')) {\n return <CucumberLogo />\n }\n return null\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemorySearchProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/app/InMemorySearchProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAKjE,UAAU,KAAK;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACtD;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAc/D,CAAA"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { ControlledSearchProvider } from './ControlledSearchProvider.js';
4
- export const InMemorySearchProvider = ({ defaultQuery = '', defaultHideStatuses = [], children, }) => {
5
- const [value, setValue] = useState({
6
- query: defaultQuery,
7
- hideStatuses: defaultHideStatuses,
8
- });
9
- return (_jsx(ControlledSearchProvider, { value: value, onChange: setValue, children: children }));
10
- };
11
- //# sourceMappingURL=InMemorySearchProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InMemorySearchProvider.js","sourceRoot":"","sources":["../../../../src/components/app/InMemorySearchProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmC,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAOxE,MAAM,CAAC,MAAM,sBAAsB,GAAiC,CAAC,EACnE,YAAY,GAAG,EAAE,EACjB,mBAAmB,GAAG,EAAE,EACxB,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc;QAC9C,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,mBAAmB;KAClC,CAAC,CAAA;IACF,OAAO,CACL,KAAC,wBAAwB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YACvD,QAAQ,GACgB,CAC5B,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { TestStepResultStatus } from '@cucumber/messages'\nimport { type FC, type PropsWithChildren, useState } from 'react'\n\nimport type { SearchState } from '../../SearchContext.js'\nimport { ControlledSearchProvider } from './ControlledSearchProvider.js'\n\ninterface Props {\n defaultQuery?: string\n defaultHideStatuses?: readonly TestStepResultStatus[]\n}\n\nexport const InMemorySearchProvider: FC<PropsWithChildren<Props>> = ({\n defaultQuery = '',\n defaultHideStatuses = [],\n children,\n}) => {\n const [value, setValue] = useState<SearchState>({\n query: defaultQuery,\n hideStatuses: defaultHideStatuses,\n })\n return (\n <ControlledSearchProvider value={value} onChange={setValue}>\n {children}\n </ControlledSearchProvider>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationButton.d.ts","sourceRoot":"","sources":["../../../../src/components/app/NavigationButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI/C,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAMlE,CAAA"}
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styles from './NavigationButton.module.scss';
3
- export const NavigationButton = ({ children, ...props }) => {
4
- return (_jsx("button", { type: "button", ...props, className: styles.navigationButton, children: children }));
5
- };
6
- //# sourceMappingURL=NavigationButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationButton.js","sourceRoot":"","sources":["../../../../src/components/app/NavigationButton.tsx"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAA0C,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChG,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,KAAK,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,YAChE,QAAQ,GACF,CACV,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { FC, HTMLAttributes } from 'react'\n\nimport styles from './NavigationButton.module.scss'\n\nexport const NavigationButton: FC<HTMLAttributes<HTMLButtonElement>> = ({ children, ...props }) => {\n return (\n <button type=\"button\" {...props} className={styles.navigationButton}>\n {children}\n </button>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OSIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/app/OSIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM/B,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;CAAE,CAYzC,CAAA"}
@@ -1,18 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Linux } from './icons/Linux.js';
3
- import { MacOS } from './icons/MacOS.js';
4
- import { Windows } from './icons/Windows.js';
5
- export const OSIcon = ({ os }) => {
6
- const { name } = os;
7
- if (name.match(/windows|win32/i)) {
8
- return _jsx(Windows, {});
9
- }
10
- if (name.match(/(darwin|mac)/i)) {
11
- return _jsx(MacOS, {});
12
- }
13
- if (name.match(/linux/i)) {
14
- return _jsx(Linux, {});
15
- }
16
- return null;
17
- };
18
- //# sourceMappingURL=OSIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OSIcon.js","sourceRoot":"","sources":["../../../../src/components/app/OSIcon.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,CAAC,MAAM,MAAM,GAA2B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IACnB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,OAAO,KAAC,OAAO,KAAG,CAAA;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,KAAC,KAAK,KAAG,CAAA;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,KAAC,KAAK,KAAG,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import type { Meta } from '@cucumber/messages'\nimport type { FC } from 'react'\n\nimport { Linux } from './icons/Linux.js'\nimport { MacOS } from './icons/MacOS.js'\nimport { Windows } from './icons/Windows.js'\n\nexport const OSIcon: FC<{ os: Meta['os'] }> = ({ os }) => {\n const { name } = os\n if (name.match(/windows|win32/i)) {\n return <Windows />\n }\n if (name.match(/(darwin|mac)/i)) {\n return <MacOS />\n }\n if (name.match(/linux/i)) {\n return <Linux />\n }\n return null\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueriesProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/app/QueriesProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAKlD,UAAU,KAAK;IACb,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAUxD,CAAA"}
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import CucumberQueryContext from '../../CucumberQueryContext.js';
3
- import GherkinQueryContext from '../../GherkinQueryContext.js';
4
- export const QueriesProvider = ({ cucumberQuery, gherkinQuery, children, }) => {
5
- return (_jsx(CucumberQueryContext.Provider, { value: cucumberQuery, children: _jsx(GherkinQueryContext.Provider, { value: gherkinQuery, children: children }) }));
6
- };
7
- //# sourceMappingURL=QueriesProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueriesProvider.js","sourceRoot":"","sources":["../../../../src/components/app/QueriesProvider.tsx"],"names":[],"mappings":";AAIA,OAAO,oBAAoB,MAAM,+BAA+B,CAAA;AAChE,OAAO,mBAAmB,MAAM,8BAA8B,CAAA;AAO9D,MAAM,CAAC,MAAM,eAAe,GAAiC,CAAC,EAC5D,aAAa,EACb,YAAY,EACZ,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YACjD,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAAgC,GAC9D,CACjC,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { Query as GherkinQuery } from '@cucumber/gherkin-utils'\nimport type { Query as CucumberQuery } from '@cucumber/query'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport CucumberQueryContext from '../../CucumberQueryContext.js'\nimport GherkinQueryContext from '../../GherkinQueryContext.js'\n\ninterface Props {\n cucumberQuery: CucumberQuery\n gherkinQuery: GherkinQuery\n}\n\nexport const QueriesProvider: FC<PropsWithChildren<Props>> = ({\n cucumberQuery,\n gherkinQuery,\n children,\n}) => {\n return (\n <CucumberQueryContext.Provider value={cucumberQuery}>\n <GherkinQueryContext.Provider value={gherkinQuery}>{children}</GherkinQueryContext.Provider>\n </CucumberQueryContext.Provider>\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../../src/components/app/Report.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAQ/B,eAAO,MAAM,MAAM,EAAE,EAiBpB,CAAA"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ExecutionSummary } from './ExecutionSummary.js';
3
- import { FilteredDocuments } from './FilteredDocuments.js';
4
- import styles from './Report.module.scss';
5
- import { SearchBar } from './SearchBar.js';
6
- import { TestRunHooks } from './TestRunHooks.js';
7
- export const Report = () => {
8
- return (_jsxs("article", { className: styles.layout, children: [_jsxs("section", { children: [_jsx(ExecutionSummary, {}), _jsx(SearchBar, {})] }), _jsxs("section", { children: [_jsx("h2", { className: styles.heading, children: "Scenarios" }), _jsx(FilteredDocuments, {})] }), _jsxs("section", { children: [_jsx("h2", { className: styles.heading, children: "Hooks" }), _jsx(TestRunHooks, {})] })] }));
9
- };
10
- //# sourceMappingURL=Report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Report.js","sourceRoot":"","sources":["../../../../src/components/app/Report.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,MAAM,GAAO,GAAG,EAAE;IAC7B,OAAO,CACL,mBAAS,SAAS,EAAE,MAAM,CAAC,MAAM,aAC/B,8BACE,KAAC,gBAAgB,KAAG,EACpB,KAAC,SAAS,KAAG,IACL,EACV,8BACE,aAAI,SAAS,EAAE,MAAM,CAAC,OAAO,0BAAgB,EAC7C,KAAC,iBAAiB,KAAG,IACb,EACV,8BACE,aAAI,SAAS,EAAE,MAAM,CAAC,OAAO,sBAAY,EACzC,KAAC,YAAY,KAAG,IACR,IACF,CACX,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { FC } from 'react'\n\nimport { ExecutionSummary } from './ExecutionSummary.js'\nimport { FilteredDocuments } from './FilteredDocuments.js'\nimport styles from './Report.module.scss'\nimport { SearchBar } from './SearchBar.js'\nimport { TestRunHooks } from './TestRunHooks.js'\n\nexport const Report: FC = () => {\n return (\n <article className={styles.layout}>\n <section>\n <ExecutionSummary />\n <SearchBar />\n </section>\n <section>\n <h2 className={styles.heading}>Scenarios</h2>\n <FilteredDocuments />\n </section>\n <section>\n <h2 className={styles.heading}>Hooks</h2>\n <TestRunHooks />\n </section>\n </article>\n )\n}\n"]}