@cucumber/react-components 24.2.0 → 24.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/LICENSE +1 -1
  2. package/dist/src/CucumberQueryContext.d.ts +1 -2
  3. package/dist/src/CucumberQueryContext.d.ts.map +1 -1
  4. package/dist/src/CucumberQueryContext.js +2 -2
  5. package/dist/src/CucumberQueryContext.js.map +1 -1
  6. package/dist/src/GherkinQueryContext.d.ts +1 -2
  7. package/dist/src/GherkinQueryContext.d.ts.map +1 -1
  8. package/dist/src/GherkinQueryContext.js +2 -2
  9. package/dist/src/GherkinQueryContext.js.map +1 -1
  10. package/dist/src/SearchContext.d.ts +11 -5
  11. package/dist/src/SearchContext.d.ts.map +1 -1
  12. package/dist/src/SearchContext.js +4 -2
  13. package/dist/src/SearchContext.js.map +1 -1
  14. package/dist/src/ciCommitLink.d.ts +1 -1
  15. package/dist/src/ciCommitLink.d.ts.map +1 -1
  16. package/dist/src/ciCommitLink.js +1 -1
  17. package/dist/src/ciCommitLink.js.map +1 -1
  18. package/dist/src/components/app/CICommitLink.d.ts +2 -2
  19. package/dist/src/components/app/CICommitLink.d.ts.map +1 -1
  20. package/dist/src/components/app/CICommitLink.js +3 -8
  21. package/dist/src/components/app/CICommitLink.js.map +1 -1
  22. package/dist/src/components/app/CIJobLink.d.ts +2 -2
  23. package/dist/src/components/app/CIJobLink.d.ts.map +1 -1
  24. package/dist/src/components/app/CIJobLink.js +3 -7
  25. package/dist/src/components/app/CIJobLink.js.map +1 -1
  26. package/dist/src/components/app/ControlledSearchProvider.d.ts +2 -2
  27. package/dist/src/components/app/ControlledSearchProvider.d.ts.map +1 -1
  28. package/dist/src/components/app/ControlledSearchProvider.js +24 -2
  29. package/dist/src/components/app/ControlledSearchProvider.js.map +1 -1
  30. package/dist/src/components/app/CopyButton.d.ts +2 -1
  31. package/dist/src/components/app/CopyButton.d.ts.map +1 -1
  32. package/dist/src/components/app/CopyButton.js +4 -4
  33. package/dist/src/components/app/CopyButton.js.map +1 -1
  34. package/dist/src/components/app/DocumentAccordion.d.ts +3 -3
  35. package/dist/src/components/app/DocumentAccordion.d.ts.map +1 -1
  36. package/dist/src/components/app/DocumentAccordion.js +12 -20
  37. package/dist/src/components/app/DocumentAccordion.js.map +1 -1
  38. package/dist/src/components/app/DocumentAccordion.module.scss +15 -7
  39. package/dist/src/components/app/EnvelopesProvider.d.ts +2 -2
  40. package/dist/src/components/app/EnvelopesProvider.d.ts.map +1 -1
  41. package/dist/src/components/app/EnvelopesProvider.js +3 -2
  42. package/dist/src/components/app/EnvelopesProvider.js.map +1 -1
  43. package/dist/src/components/app/ExecutionSummary.d.ts +1 -1
  44. package/dist/src/components/app/ExecutionSummary.d.ts.map +1 -1
  45. package/dist/src/components/app/ExecutionSummary.js +3 -49
  46. package/dist/src/components/app/ExecutionSummary.js.map +1 -1
  47. package/dist/src/components/app/FilteredDocuments.d.ts +1 -1
  48. package/dist/src/components/app/FilteredDocuments.d.ts.map +1 -1
  49. package/dist/src/components/app/FilteredDocuments.js +4 -4
  50. package/dist/src/components/app/FilteredDocuments.js.map +1 -1
  51. package/dist/src/components/app/GherkinDocumentList.d.ts +3 -3
  52. package/dist/src/components/app/GherkinDocumentList.d.ts.map +1 -1
  53. package/dist/src/components/app/GherkinDocumentList.js +8 -9
  54. package/dist/src/components/app/GherkinDocumentList.js.map +1 -1
  55. package/dist/src/components/app/Header.d.ts +1 -1
  56. package/dist/src/components/app/Header.d.ts.map +1 -1
  57. package/dist/src/components/app/Header.js +4 -4
  58. package/dist/src/components/app/Header.js.map +1 -1
  59. package/dist/src/components/app/HealthChart.d.ts +1 -1
  60. package/dist/src/components/app/HealthChart.d.ts.map +1 -1
  61. package/dist/src/components/app/HealthChart.js +6 -7
  62. package/dist/src/components/app/HealthChart.js.map +1 -1
  63. package/dist/src/components/app/HighLight.d.ts +2 -2
  64. package/dist/src/components/app/HighLight.d.ts.map +1 -1
  65. package/dist/src/components/app/HighLight.js +15 -9
  66. package/dist/src/components/app/HighLight.js.map +1 -1
  67. package/dist/src/components/app/ImplementationIcon.d.ts +2 -2
  68. package/dist/src/components/app/ImplementationIcon.d.ts.map +1 -1
  69. package/dist/src/components/app/ImplementationIcon.js +2 -2
  70. package/dist/src/components/app/ImplementationIcon.js.map +1 -1
  71. package/dist/src/components/app/InMemorySearchProvider.d.ts +2 -2
  72. package/dist/src/components/app/InMemorySearchProvider.d.ts.map +1 -1
  73. package/dist/src/components/app/InMemorySearchProvider.js +3 -2
  74. package/dist/src/components/app/InMemorySearchProvider.js.map +1 -1
  75. package/dist/src/components/app/NavigationButton.d.ts +1 -1
  76. package/dist/src/components/app/NavigationButton.d.ts.map +1 -1
  77. package/dist/src/components/app/NavigationButton.js +2 -2
  78. package/dist/src/components/app/NavigationButton.js.map +1 -1
  79. package/dist/src/components/app/OSIcon.d.ts +2 -2
  80. package/dist/src/components/app/OSIcon.d.ts.map +1 -1
  81. package/dist/src/components/app/OSIcon.js +4 -4
  82. package/dist/src/components/app/OSIcon.js.map +1 -1
  83. package/dist/src/components/app/QueriesProvider.d.ts +3 -3
  84. package/dist/src/components/app/QueriesProvider.d.ts.map +1 -1
  85. package/dist/src/components/app/QueriesProvider.js +4 -3
  86. package/dist/src/components/app/QueriesProvider.js.map +1 -1
  87. package/dist/src/components/app/Report.d.ts +1 -1
  88. package/dist/src/components/app/Report.d.ts.map +1 -1
  89. package/dist/src/components/app/Report.js +2 -11
  90. package/dist/src/components/app/Report.js.map +1 -1
  91. package/dist/src/components/app/RuntimeIcon.d.ts +2 -2
  92. package/dist/src/components/app/RuntimeIcon.d.ts.map +1 -1
  93. package/dist/src/components/app/RuntimeIcon.js +4 -4
  94. package/dist/src/components/app/RuntimeIcon.js.map +1 -1
  95. package/dist/src/components/app/SearchBar.d.ts +1 -1
  96. package/dist/src/components/app/SearchBar.d.ts.map +1 -1
  97. package/dist/src/components/app/SearchBar.js +9 -24
  98. package/dist/src/components/app/SearchBar.js.map +1 -1
  99. package/dist/src/components/app/StatusesSummary.d.ts +1 -1
  100. package/dist/src/components/app/StatusesSummary.d.ts.map +1 -1
  101. package/dist/src/components/app/StatusesSummary.js +8 -11
  102. package/dist/src/components/app/StatusesSummary.js.map +1 -1
  103. package/dist/src/components/app/TestRunHooks.d.ts +1 -1
  104. package/dist/src/components/app/TestRunHooks.d.ts.map +1 -1
  105. package/dist/src/components/app/TestRunHooks.js +5 -5
  106. package/dist/src/components/app/TestRunHooks.js.map +1 -1
  107. package/dist/src/components/app/UrlSearchProvider.d.ts +1 -1
  108. package/dist/src/components/app/UrlSearchProvider.d.ts.map +1 -1
  109. package/dist/src/components/app/UrlSearchProvider.js +6 -3
  110. package/dist/src/components/app/UrlSearchProvider.js.map +1 -1
  111. package/dist/src/components/app/icons/CucumberLogo.d.ts +1 -1
  112. package/dist/src/components/app/icons/CucumberLogo.d.ts.map +1 -1
  113. package/dist/src/components/app/icons/CucumberLogo.js +2 -6
  114. package/dist/src/components/app/icons/CucumberLogo.js.map +1 -1
  115. package/dist/src/components/app/icons/Jvm.d.ts +1 -1
  116. package/dist/src/components/app/icons/Jvm.d.ts.map +1 -1
  117. package/dist/src/components/app/icons/Jvm.js +2 -7
  118. package/dist/src/components/app/icons/Jvm.js.map +1 -1
  119. package/dist/src/components/app/icons/Linux.d.ts +1 -1
  120. package/dist/src/components/app/icons/Linux.d.ts.map +1 -1
  121. package/dist/src/components/app/icons/Linux.js +2 -17
  122. package/dist/src/components/app/icons/Linux.js.map +1 -1
  123. package/dist/src/components/app/icons/MacOS.d.ts +1 -1
  124. package/dist/src/components/app/icons/MacOS.d.ts.map +1 -1
  125. package/dist/src/components/app/icons/MacOS.js +2 -3
  126. package/dist/src/components/app/icons/MacOS.js.map +1 -1
  127. package/dist/src/components/app/icons/NodeJs.d.ts +1 -1
  128. package/dist/src/components/app/icons/NodeJs.d.ts.map +1 -1
  129. package/dist/src/components/app/icons/NodeJs.js +2 -5
  130. package/dist/src/components/app/icons/NodeJs.js.map +1 -1
  131. package/dist/src/components/app/icons/Ruby.d.ts +1 -1
  132. package/dist/src/components/app/icons/Ruby.d.ts.map +1 -1
  133. package/dist/src/components/app/icons/Ruby.js +2 -3
  134. package/dist/src/components/app/icons/Ruby.js.map +1 -1
  135. package/dist/src/components/app/icons/Windows.d.ts +1 -1
  136. package/dist/src/components/app/icons/Windows.d.ts.map +1 -1
  137. package/dist/src/components/app/icons/Windows.js +2 -3
  138. package/dist/src/components/app/icons/Windows.js.map +1 -1
  139. package/dist/src/components/app/makeSetupString.d.ts +1 -1
  140. package/dist/src/components/app/makeSetupString.d.ts.map +1 -1
  141. package/dist/src/components/app/makeSetupString.js.map +1 -1
  142. package/dist/src/components/app/markdownComponents.d.ts +9 -0
  143. package/dist/src/components/app/markdownComponents.d.ts.map +1 -0
  144. package/dist/src/components/app/markdownComponents.js +6 -0
  145. package/dist/src/components/app/markdownComponents.js.map +1 -0
  146. package/dist/src/components/app/rehypePlugins.d.ts +2 -2
  147. package/dist/src/components/app/rehypePlugins.d.ts.map +1 -1
  148. package/dist/src/components/app/rehypePlugins.js.map +1 -1
  149. package/dist/src/components/app/remarkPlugins.d.ts +2 -2
  150. package/dist/src/components/app/remarkPlugins.d.ts.map +1 -1
  151. package/dist/src/components/app/remarkPlugins.js.map +1 -1
  152. package/dist/src/components/customise/CustomRendering.d.ts +18 -18
  153. package/dist/src/components/customise/CustomRendering.d.ts.map +1 -1
  154. package/dist/src/components/customise/CustomRendering.js +10 -9
  155. package/dist/src/components/customise/CustomRendering.js.map +1 -1
  156. package/dist/src/components/customise/CustomRendering.stories.scss +0 -17
  157. package/dist/src/components/gherkin/Anchor.d.ts +3 -3
  158. package/dist/src/components/gherkin/Anchor.d.ts.map +1 -1
  159. package/dist/src/components/gherkin/Anchor.js +3 -6
  160. package/dist/src/components/gherkin/Anchor.js.map +1 -1
  161. package/dist/src/components/gherkin/Background.d.ts +3 -3
  162. package/dist/src/components/gherkin/Background.d.ts.map +1 -1
  163. package/dist/src/components/gherkin/Background.js +4 -10
  164. package/dist/src/components/gherkin/Background.js.map +1 -1
  165. package/dist/src/components/gherkin/Children.d.ts +3 -3
  166. package/dist/src/components/gherkin/Children.d.ts.map +1 -1
  167. package/dist/src/components/gherkin/Children.js +3 -3
  168. package/dist/src/components/gherkin/Children.js.map +1 -1
  169. package/dist/src/components/gherkin/DataTable.d.ts +3 -3
  170. package/dist/src/components/gherkin/DataTable.d.ts.map +1 -1
  171. package/dist/src/components/gherkin/DataTable.js +4 -6
  172. package/dist/src/components/gherkin/DataTable.js.map +1 -1
  173. package/dist/src/components/gherkin/Description.d.ts +3 -3
  174. package/dist/src/components/gherkin/Description.d.ts.map +1 -1
  175. package/dist/src/components/gherkin/Description.js +3 -4
  176. package/dist/src/components/gherkin/Description.js.map +1 -1
  177. package/dist/src/components/gherkin/DocString.d.ts +3 -3
  178. package/dist/src/components/gherkin/DocString.d.ts.map +1 -1
  179. package/dist/src/components/gherkin/DocString.js +3 -4
  180. package/dist/src/components/gherkin/DocString.js.map +1 -1
  181. package/dist/src/components/gherkin/ErrorMessage.d.ts +2 -2
  182. package/dist/src/components/gherkin/ErrorMessage.d.ts.map +1 -1
  183. package/dist/src/components/gherkin/ErrorMessage.js +5 -3
  184. package/dist/src/components/gherkin/ErrorMessage.js.map +1 -1
  185. package/dist/src/components/gherkin/ErrorMessage.module.scss +17 -5
  186. package/dist/src/components/gherkin/Examples.d.ts +3 -3
  187. package/dist/src/components/gherkin/Examples.d.ts.map +1 -1
  188. package/dist/src/components/gherkin/Examples.js +7 -18
  189. package/dist/src/components/gherkin/Examples.js.map +1 -1
  190. package/dist/src/components/gherkin/Feature.d.ts +3 -3
  191. package/dist/src/components/gherkin/Feature.d.ts.map +1 -1
  192. package/dist/src/components/gherkin/Feature.js +14 -24
  193. package/dist/src/components/gherkin/Feature.js.map +1 -1
  194. package/dist/src/components/gherkin/GherkinDocument.d.ts +3 -3
  195. package/dist/src/components/gherkin/GherkinDocument.d.ts.map +1 -1
  196. package/dist/src/components/gherkin/GherkinDocument.js +3 -3
  197. package/dist/src/components/gherkin/GherkinDocument.js.map +1 -1
  198. package/dist/src/components/gherkin/Keyword.d.ts +2 -2
  199. package/dist/src/components/gherkin/Keyword.d.ts.map +1 -1
  200. package/dist/src/components/gherkin/Keyword.js +3 -3
  201. package/dist/src/components/gherkin/Keyword.js.map +1 -1
  202. package/dist/src/components/gherkin/Keyword.module.scss +0 -1
  203. package/dist/src/components/gherkin/Parameter.d.ts +3 -3
  204. package/dist/src/components/gherkin/Parameter.d.ts.map +1 -1
  205. package/dist/src/components/gherkin/Parameter.js +4 -4
  206. package/dist/src/components/gherkin/Parameter.js.map +1 -1
  207. package/dist/src/components/gherkin/Rule.d.ts +3 -3
  208. package/dist/src/components/gherkin/Rule.d.ts.map +1 -1
  209. package/dist/src/components/gherkin/Rule.js +11 -21
  210. package/dist/src/components/gherkin/Rule.js.map +1 -1
  211. package/dist/src/components/gherkin/Scenario.d.ts +3 -3
  212. package/dist/src/components/gherkin/Scenario.d.ts.map +1 -1
  213. package/dist/src/components/gherkin/Scenario.js +5 -14
  214. package/dist/src/components/gherkin/Scenario.js.map +1 -1
  215. package/dist/src/components/gherkin/StatusIcon.d.ts +2 -2
  216. package/dist/src/components/gherkin/StatusIcon.d.ts.map +1 -1
  217. package/dist/src/components/gherkin/StatusIcon.js +10 -10
  218. package/dist/src/components/gherkin/StatusIcon.js.map +1 -1
  219. package/dist/src/components/gherkin/StepsList.d.ts +1 -1
  220. package/dist/src/components/gherkin/StepsList.d.ts.map +1 -1
  221. package/dist/src/components/gherkin/StepsList.js +2 -2
  222. package/dist/src/components/gherkin/StepsList.js.map +1 -1
  223. package/dist/src/components/gherkin/Tags.d.ts +3 -3
  224. package/dist/src/components/gherkin/Tags.d.ts.map +1 -1
  225. package/dist/src/components/gherkin/Tags.js +4 -5
  226. package/dist/src/components/gherkin/Tags.js.map +1 -1
  227. package/dist/src/components/gherkin/Title.d.ts +3 -3
  228. package/dist/src/components/gherkin/Title.d.ts.map +1 -1
  229. package/dist/src/components/gherkin/Title.js +3 -4
  230. package/dist/src/components/gherkin/Title.js.map +1 -1
  231. package/dist/src/components/gherkin/attachment/Attachment.d.ts +3 -3
  232. package/dist/src/components/gherkin/attachment/Attachment.d.ts.map +1 -1
  233. package/dist/src/components/gherkin/attachment/Attachment.js +14 -17
  234. package/dist/src/components/gherkin/attachment/Attachment.js.map +1 -1
  235. package/dist/src/components/gherkin/attachment/Attachment.module.scss +15 -5
  236. package/dist/src/components/gherkin/attachment/Image.d.ts +4 -4
  237. package/dist/src/components/gherkin/attachment/Image.d.ts.map +1 -1
  238. package/dist/src/components/gherkin/attachment/Image.js +6 -8
  239. package/dist/src/components/gherkin/attachment/Image.js.map +1 -1
  240. package/dist/src/components/gherkin/attachment/Links.d.ts +3 -3
  241. package/dist/src/components/gherkin/attachment/Links.d.ts.map +1 -1
  242. package/dist/src/components/gherkin/attachment/Links.js +7 -10
  243. package/dist/src/components/gherkin/attachment/Links.js.map +1 -1
  244. package/dist/src/components/gherkin/attachment/Log.d.ts +3 -3
  245. package/dist/src/components/gherkin/attachment/Log.d.ts.map +1 -1
  246. package/dist/src/components/gherkin/attachment/Log.js +3 -3
  247. package/dist/src/components/gherkin/attachment/Log.js.map +1 -1
  248. package/dist/src/components/gherkin/attachment/Text.d.ts +3 -3
  249. package/dist/src/components/gherkin/attachment/Text.d.ts.map +1 -1
  250. package/dist/src/components/gherkin/attachment/Text.js +4 -6
  251. package/dist/src/components/gherkin/attachment/Text.js.map +1 -1
  252. package/dist/src/components/gherkin/attachment/Unknown.d.ts +2 -2
  253. package/dist/src/components/gherkin/attachment/Unknown.d.ts.map +1 -1
  254. package/dist/src/components/gherkin/attachment/Unknown.js +9 -17
  255. package/dist/src/components/gherkin/attachment/Unknown.js.map +1 -1
  256. package/dist/src/components/gherkin/attachment/Video.d.ts +3 -3
  257. package/dist/src/components/gherkin/attachment/Video.d.ts.map +1 -1
  258. package/dist/src/components/gherkin/attachment/Video.js +6 -10
  259. package/dist/src/components/gherkin/attachment/Video.js.map +1 -1
  260. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts +1 -1
  261. package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts.map +1 -1
  262. package/dist/src/components/gherkin/attachment/attachmentFilename.js.map +1 -1
  263. package/dist/src/components/gherkin/attachment/base64Decode.d.ts +9 -1
  264. package/dist/src/components/gherkin/attachment/base64Decode.d.ts.map +1 -1
  265. package/dist/src/components/gherkin/attachment/base64Decode.js +17 -3
  266. package/dist/src/components/gherkin/attachment/base64Decode.js.map +1 -1
  267. package/dist/src/components/gherkin/attachment/useText.d.ts +1 -1
  268. package/dist/src/components/gherkin/attachment/useText.d.ts.map +1 -1
  269. package/dist/src/components/gherkin/attachment/useText.js +3 -3
  270. package/dist/src/components/gherkin/attachment/useText.js.map +1 -1
  271. package/dist/src/components/gherkin/composeHookStepTitle.d.ts +1 -1
  272. package/dist/src/components/gherkin/composeHookStepTitle.d.ts.map +1 -1
  273. package/dist/src/components/gherkin/composeHookStepTitle.js +1 -1
  274. package/dist/src/components/gherkin/composeHookStepTitle.js.map +1 -1
  275. package/dist/src/components/gherkin/composePickleStepTitle.d.ts +1 -1
  276. package/dist/src/components/gherkin/composePickleStepTitle.d.ts.map +1 -1
  277. package/dist/src/components/gherkin/composePickleStepTitle.js +2 -2
  278. package/dist/src/components/gherkin/composePickleStepTitle.js.map +1 -1
  279. package/dist/src/components/gherkin/statusName.d.ts +2 -2
  280. package/dist/src/components/gherkin/statusName.d.ts.map +1 -1
  281. package/dist/src/components/gherkin/statusName.js.map +1 -1
  282. package/dist/src/components/results/AmbiguousResult.d.ts +8 -0
  283. package/dist/src/components/results/AmbiguousResult.d.ts.map +1 -0
  284. package/dist/src/components/results/AmbiguousResult.js +11 -0
  285. package/dist/src/components/results/AmbiguousResult.js.map +1 -0
  286. package/dist/src/components/results/AmbiguousResult.module.scss +22 -0
  287. package/dist/src/components/results/FailedResult.d.ts +8 -0
  288. package/dist/src/components/results/FailedResult.d.ts.map +1 -0
  289. package/dist/src/components/results/FailedResult.js +15 -0
  290. package/dist/src/components/results/FailedResult.js.map +1 -0
  291. package/dist/src/components/results/PendingResult.d.ts +8 -0
  292. package/dist/src/components/results/PendingResult.d.ts.map +1 -0
  293. package/dist/src/components/results/PendingResult.js +12 -0
  294. package/dist/src/components/results/PendingResult.js.map +1 -0
  295. package/dist/src/components/results/ResultNote.d.ts +3 -0
  296. package/dist/src/components/results/ResultNote.d.ts.map +1 -0
  297. package/dist/src/components/results/ResultNote.js +6 -0
  298. package/dist/src/components/results/ResultNote.js.map +1 -0
  299. package/dist/src/components/results/ResultNote.module.scss +6 -0
  300. package/dist/src/components/results/SkippedResult.d.ts +8 -0
  301. package/dist/src/components/results/SkippedResult.d.ts.map +1 -0
  302. package/dist/src/components/results/SkippedResult.js +12 -0
  303. package/dist/src/components/results/SkippedResult.js.map +1 -0
  304. package/dist/src/components/results/SourceReference.d.ts +8 -0
  305. package/dist/src/components/results/SourceReference.d.ts.map +1 -0
  306. package/dist/src/components/results/SourceReference.js +13 -0
  307. package/dist/src/components/results/SourceReference.js.map +1 -0
  308. package/dist/src/components/results/SourceReference.module.scss +10 -0
  309. package/dist/src/components/results/TestCaseOutcome.d.ts +2 -2
  310. package/dist/src/components/results/TestCaseOutcome.d.ts.map +1 -1
  311. package/dist/src/components/results/TestCaseOutcome.js +5 -9
  312. package/dist/src/components/results/TestCaseOutcome.js.map +1 -1
  313. package/dist/src/components/results/TestRunHookOutcome.d.ts +2 -2
  314. package/dist/src/components/results/TestRunHookOutcome.d.ts.map +1 -1
  315. package/dist/src/components/results/TestRunHookOutcome.js +4 -13
  316. package/dist/src/components/results/TestRunHookOutcome.js.map +1 -1
  317. package/dist/src/components/results/TestStepAttachments.d.ts +2 -2
  318. package/dist/src/components/results/TestStepAttachments.d.ts.map +1 -1
  319. package/dist/src/components/results/TestStepAttachments.js +4 -5
  320. package/dist/src/components/results/TestStepAttachments.js.map +1 -1
  321. package/dist/src/components/results/TestStepDuration.d.ts +2 -2
  322. package/dist/src/components/results/TestStepDuration.d.ts.map +1 -1
  323. package/dist/src/components/results/TestStepDuration.js +4 -2
  324. package/dist/src/components/results/TestStepDuration.js.map +1 -1
  325. package/dist/src/components/results/TestStepOutcome.d.ts +2 -2
  326. package/dist/src/components/results/TestStepOutcome.d.ts.map +1 -1
  327. package/dist/src/components/results/TestStepOutcome.js +18 -27
  328. package/dist/src/components/results/TestStepOutcome.js.map +1 -1
  329. package/dist/src/components/results/TestStepOutcome.module.scss +1 -1
  330. package/dist/src/components/results/UndefinedResult.d.ts +8 -0
  331. package/dist/src/components/results/UndefinedResult.d.ts.map +1 -0
  332. package/dist/src/components/results/UndefinedResult.js +18 -0
  333. package/dist/src/components/results/UndefinedResult.js.map +1 -0
  334. package/dist/src/components/results/UndefinedResult.module.scss +14 -0
  335. package/dist/src/components/results/index.d.ts +1 -1
  336. package/dist/src/components/results/index.d.ts.map +1 -1
  337. package/dist/src/components/results/index.js +1 -1
  338. package/dist/src/components/results/index.js.map +1 -1
  339. package/dist/src/formatExecutionDuration.js.map +1 -1
  340. package/dist/src/hooks/helpers.js.map +1 -1
  341. package/dist/src/hooks/useFilteredDocuments.d.ts +2 -2
  342. package/dist/src/hooks/useFilteredDocuments.d.ts.map +1 -1
  343. package/dist/src/hooks/useFilteredDocuments.js +70 -34
  344. package/dist/src/hooks/useFilteredDocuments.js.map +1 -1
  345. package/dist/src/hooks/useMostSevereStatusByUri.js.map +1 -1
  346. package/dist/src/hooks/useQueries.d.ts +2 -2
  347. package/dist/src/hooks/useQueries.d.ts.map +1 -1
  348. package/dist/src/hooks/useQueries.js.map +1 -1
  349. package/dist/src/hooks/useResultStatistics.d.ts +1 -1
  350. package/dist/src/hooks/useResultStatistics.d.ts.map +1 -1
  351. package/dist/src/hooks/useResultStatistics.js.map +1 -1
  352. package/dist/src/hooks/useSearch.d.ts +1 -1
  353. package/dist/src/hooks/useSearch.d.ts.map +1 -1
  354. package/dist/src/hooks/useSearch.js.map +1 -1
  355. package/dist/src/hooks/useTestCaseStarted.d.ts +6 -1
  356. package/dist/src/hooks/useTestCaseStarted.d.ts.map +1 -1
  357. package/dist/src/hooks/useTestCaseStarted.js +13 -10
  358. package/dist/src/hooks/useTestCaseStarted.js.map +1 -1
  359. package/dist/src/hooks/useTestRunHooks.d.ts +1 -1
  360. package/dist/src/hooks/useTestRunHooks.d.ts.map +1 -1
  361. package/dist/src/hooks/useTestRunHooks.js.map +1 -1
  362. package/dist/src/search/FeatureSearch.d.ts +12 -3
  363. package/dist/src/search/FeatureSearch.d.ts.map +1 -1
  364. package/dist/src/search/FeatureSearch.js +9 -17
  365. package/dist/src/search/FeatureSearch.js.map +1 -1
  366. package/dist/src/search/ScenarioLikeSearch.d.ts +8 -13
  367. package/dist/src/search/ScenarioLikeSearch.d.ts.map +1 -1
  368. package/dist/src/search/ScenarioLikeSearch.js +13 -17
  369. package/dist/src/search/ScenarioLikeSearch.js.map +1 -1
  370. package/dist/src/search/StepSearch.d.ts +9 -16
  371. package/dist/src/search/StepSearch.d.ts.map +1 -1
  372. package/dist/src/search/StepSearch.js +13 -17
  373. package/dist/src/search/StepSearch.js.map +1 -1
  374. package/dist/src/search/TextSearch.d.ts +11 -2
  375. package/dist/src/search/TextSearch.d.ts.map +1 -1
  376. package/dist/src/search/TextSearch.js +59 -52
  377. package/dist/src/search/TextSearch.js.map +1 -1
  378. package/dist/src/search/createSearchIndex.d.ts +7 -0
  379. package/dist/src/search/createSearchIndex.d.ts.map +1 -0
  380. package/dist/src/search/createSearchIndex.js +10 -0
  381. package/dist/src/search/createSearchIndex.js.map +1 -0
  382. package/dist/src/search/deriveLineageConstraints.d.ts +8 -0
  383. package/dist/src/search/deriveLineageConstraints.d.ts.map +1 -0
  384. package/dist/src/search/deriveLineageConstraints.js +38 -0
  385. package/dist/src/search/deriveLineageConstraints.js.map +1 -0
  386. package/dist/src/search/index.d.ts +3 -1
  387. package/dist/src/search/index.d.ts.map +1 -1
  388. package/dist/src/search/index.js +3 -1
  389. package/dist/src/search/index.js.map +1 -1
  390. package/dist/src/search/pruneGherkinDocuments.d.ts +24 -0
  391. package/dist/src/search/pruneGherkinDocuments.d.ts.map +1 -0
  392. package/dist/src/search/pruneGherkinDocuments.js +180 -0
  393. package/dist/src/search/pruneGherkinDocuments.js.map +1 -0
  394. package/dist/src/search/types.d.ts +39 -8
  395. package/dist/src/search/types.d.ts.map +1 -1
  396. package/dist/src/search/types.js +1 -1
  397. package/dist/src/search/types.js.map +1 -1
  398. package/dist/src/toRepositoryId.d.ts +1 -1
  399. package/dist/src/toRepositoryId.d.ts.map +1 -1
  400. package/dist/src/toRepositoryId.js +7 -6
  401. package/dist/src/toRepositoryId.js.map +1 -1
  402. package/dist/tsconfig.build.tsbuildinfo +1 -1
  403. package/package.json +56 -69
  404. package/dist/src/components/results/TestStepResultDetails.d.ts +0 -4
  405. package/dist/src/components/results/TestStepResultDetails.d.ts.map +0 -1
  406. package/dist/src/components/results/TestStepResultDetails.js +0 -16
  407. package/dist/src/components/results/TestStepResultDetails.js.map +0 -1
  408. package/dist/src/search/Search.d.ts +0 -11
  409. package/dist/src/search/Search.d.ts.map +0 -1
  410. package/dist/src/search/Search.js +0 -51
  411. package/dist/src/search/Search.js.map +0 -1
  412. package/dist/src/search/TagSearch.d.ts +0 -4
  413. package/dist/src/search/TagSearch.d.ts.map +0 -1
  414. package/dist/src/search/TagSearch.js +0 -57
  415. package/dist/src/search/TagSearch.js.map +0 -1
@@ -1,7 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
2
  import { TestStepResultStatus, TimeConversion } from '@cucumber/messages';
2
3
  import { faCodeBranch, faStopwatch, faTag } from '@fortawesome/free-solid-svg-icons';
3
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import React from 'react';
5
5
  import { formatExecutionDistance } from '../../formatExecutionDistance.js';
6
6
  import { formatExecutionDuration } from '../../formatExecutionDuration.js';
7
7
  import { formatPassedQuantity } from '../../formatPassedQuantity.js';
@@ -30,55 +30,9 @@ export const ExecutionSummary = () => {
30
30
  const finishDate = testRunFinished?.timestamp
31
31
  ? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunFinished.timestamp))
32
32
  : undefined;
33
- return (React.createElement(React.Fragment, null,
34
- meta && (React.createElement(HeaderSection, null,
35
- React.createElement(HeaderItem, { testId: "cucumber.summary.setup" },
36
- React.createElement(HeaderSubItem, null,
37
- React.createElement(ImplementationIcon, { implementation: meta.implementation }),
38
- React.createElement(RuntimeIcon, { runtime: meta.runtime }),
39
- React.createElement(OSIcon, { os: meta.os })),
40
- React.createElement("span", { "data-testid": "cucumber.summary.setup.phrase" },
41
- React.createElement(VersionedTool, { ...meta.implementation, fallback: "unknown tool" }),
42
- React.createElement("em", { className: styles.conjunction }, " with "),
43
- React.createElement(VersionedTool, { ...meta.runtime, fallback: "unknown runtime" }),
44
- React.createElement("em", { className: styles.conjunction }, " on "),
45
- React.createElement(VersionedTool, { ...meta.os, fallback: "unknown platform" })),
46
- React.createElement(CopyButton, { text: makeSetupString(meta) })))),
47
- React.createElement(HeaderSection, null,
48
- React.createElement(HeaderItem, { testId: "cucumber.summary.status" },
49
- React.createElement(HeaderSubItem, null,
50
- React.createElement(HealthChart, null),
51
- React.createElement("span", null,
52
- formatStatusRate(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount),
53
- ' ',
54
- formatPassedQuantity(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount),
55
- ' passed'))),
56
- startDate && (React.createElement(HeaderItem, { testId: "cucumber.summary.timing" },
57
- React.createElement(HeaderSubItem, null,
58
- React.createElement(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faStopwatch }),
59
- React.createElement("span", null,
60
- React.createElement("time", { title: startDate.toString(), dateTime: startDate.toISOString() }, formatExecutionDistance(startDate)),
61
- finishDate && (React.createElement(React.Fragment, null,
62
- React.createElement("em", { className: styles.conjunction }, " in "),
63
- React.createElement("span", null, formatExecutionDuration(startDate, finishDate)))))))),
64
- meta?.ci && (React.createElement(HeaderItem, { testId: "cucumber.summary.ci" },
65
- React.createElement(HeaderSubItem, null,
66
- React.createElement(CIJobLink, { ci: meta.ci })))),
67
- meta?.ci?.git && (React.createElement(HeaderItem, { testId: "cucumber.summary.git" },
68
- React.createElement(HeaderSubItem, null,
69
- React.createElement(CICommitLink, { ci: meta.ci })),
70
- meta.ci.git.branch && (React.createElement(HeaderSubItem, null,
71
- React.createElement(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeBranch }),
72
- React.createElement("code", null, meta.ci.git.branch))),
73
- meta.ci.git.tag && (React.createElement(HeaderSubItem, null,
74
- React.createElement(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faTag }),
75
- React.createElement("code", null, meta.ci.git.tag))))))));
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 })] }))] }))] })] }));
76
34
  };
77
35
  const VersionedTool = ({ name, fallback, version }) => {
78
- return (React.createElement("code", null,
79
- React.createElement("strong", null, name || fallback),
80
- version && React.createElement("span", null,
81
- "@",
82
- version)));
36
+ return (_jsxs("code", { children: [_jsx("strong", { children: name || fallback }), version && _jsxs("span", { children: ["@", version] })] }));
83
37
  };
84
38
  //# sourceMappingURL=ExecutionSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionSummary.js","sourceRoot":"","sources":["../../../../src/components/app/ExecutionSummary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Product, TestStepResultStatus, TimeConversion } from '@cucumber/messages'\nimport { faCodeBranch, faStopwatch, faTag } from '@fortawesome/free-solid-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { 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
+ {"version":3,"file":"ExecutionSummary.js","sourceRoot":"","sources":["../../../../src/components/app/ExecutionSummary.tsx"],"names":[],"mappings":"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","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,3 +1,3 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  export declare const FilteredDocuments: FC;
3
3
  //# sourceMappingURL=FilteredDocuments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilteredDocuments.d.ts","sourceRoot":"","sources":["../../../../src/components/app/FilteredDocuments.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAMjC,eAAO,MAAM,iBAAiB,EAAE,EAa/B,CAAA"}
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,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useFilteredDocuments } from '../../hooks/useFilteredDocuments.js';
3
3
  import styles from './FilteredDocuments.module.scss';
4
4
  import { GherkinDocumentList } from './GherkinDocumentList.js';
@@ -7,9 +7,9 @@ export const FilteredDocuments = () => {
7
7
  if (!results) {
8
8
  return null;
9
9
  }
10
- else if (!results.length) {
11
- return filtered ? (React.createElement("p", { className: styles.empty }, "No scenarios match your query and/or filters.")) : (React.createElement("p", { className: styles.empty }, "No scenarios were executed."));
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
12
  }
13
- return React.createElement(GherkinDocumentList, { gherkinDocuments: results, preExpand: true });
13
+ return _jsx(GherkinDocumentList, { gherkinDocuments: results, preExpand: true });
14
14
  };
15
15
  //# sourceMappingURL=FilteredDocuments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilteredDocuments.js","sourceRoot":"","sources":["../../../../src/components/app/FilteredDocuments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,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;QACZ,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,2BAAG,SAAS,EAAE,MAAM,CAAC,KAAK,oDAAmD,CAC9E,CAAC,CAAC,CAAC,CACF,2BAAG,SAAS,EAAE,MAAM,CAAC,KAAK,kCAAiC,CAC5D,CAAA;KACF;IACD,OAAO,oBAAC,mBAAmB,IAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAI,CAAA;AAC5E,CAAC,CAAA","sourcesContent":["import React, { 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 } else 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
+ {"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,7 +1,7 @@
1
- import * as messages from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import { type GherkinDocument as GherkinDocumentMessage } from '@cucumber/messages';
2
+ import { type FC } from 'react';
3
3
  interface Props {
4
- gherkinDocuments: readonly messages.GherkinDocument[];
4
+ gherkinDocuments: readonly GherkinDocumentMessage[];
5
5
  preExpand?: boolean;
6
6
  }
7
7
  export declare const GherkinDocumentList: FC<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"GherkinDocumentList.d.ts","sourceRoot":"","sources":["../../../../src/components/app/GherkinDocumentList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAE9C,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAU3C,UAAU,KAAK;IACb,gBAAgB,EAAE,SAAS,QAAQ,CAAC,eAAe,EAAE,CAAA;IAErD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CA4BzC,CAAA"}
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,6 +1,6 @@
1
- import * as messages from '@cucumber/messages';
2
- import { TestStepResultStatus } from '@cucumber/messages';
3
- import React, { useState } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TestStepResultStatus, } from '@cucumber/messages';
3
+ import { useState } from 'react';
4
4
  import { useMostSevereStatusByUri } from '../../hooks/useMostSevereStatusByUri.js';
5
5
  import { GherkinDocument } from '../gherkin/index.js';
6
6
  import { DocumentAccordion, DocumentAccordionItem } from './DocumentAccordion.js';
@@ -11,14 +11,13 @@ export const GherkinDocumentList = ({ gherkinDocuments, preExpand }) => {
11
11
  // Pre-expand any document that is *not* passed - assuming this is what people want to look at first
12
12
  return preExpand
13
13
  ? validDocuments
14
- .filter((doc) => mostSevereStatusByUri.get(doc.uri) !== messages.TestStepResultStatus.PASSED)
14
+ .filter((doc) => mostSevereStatusByUri.get(doc.uri) !== TestStepResultStatus.PASSED)
15
15
  .map((doc) => doc.uri)
16
16
  : [];
17
17
  });
18
- return (React.createElement(DocumentAccordion, { expanded: expanded }, validDocuments.map((validDocument) => {
19
- const status = mostSevereStatusByUri.get(validDocument.uri) ?? TestStepResultStatus.UNKNOWN;
20
- return (React.createElement(DocumentAccordionItem, { key: validDocument.uri, uri: validDocument.uri, status: status },
21
- React.createElement(GherkinDocument, { gherkinDocument: validDocument })));
22
- })));
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
+ }) }));
23
22
  };
24
23
  //# sourceMappingURL=GherkinDocumentList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GherkinDocumentList.js","sourceRoot":"","sources":["../../../../src/components/app/GherkinDocumentList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,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,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CACrF;iBACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAc;YACvC,CAAC,CAAC,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,IAClC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAA;QAC3F,OAAO,CACL,oBAAC,qBAAqB,IAAC,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;YACnF,oBAAC,eAAe,IAAC,eAAe,EAAE,aAAa,GAAI,CAC7B,CACzB,CAAA;IACH,CAAC,CAAC,CACgB,CACrB,CAAA;AACH,CAAC,CAAA","sourcesContent":["import * as messages from '@cucumber/messages'\nimport { TestStepResultStatus } from '@cucumber/messages'\nimport React, { 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 messages.GherkinDocument {\n uri: string\n}\n\ninterface Props {\n gherkinDocuments: readonly messages.GherkinDocument[]\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(\n (doc) => mostSevereStatusByUri.get(doc.uri) !== messages.TestStepResultStatus.PASSED\n )\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
+ {"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,4 +1,4 @@
1
- import { FC, PropsWithChildren } from 'react';
1
+ import type { FC, PropsWithChildren } from 'react';
2
2
  export declare const HeaderSection: FC<PropsWithChildren>;
3
3
  export declare const HeaderItem: FC<PropsWithChildren<{
4
4
  testId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/app/Header.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAIpD,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
+ {"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 +1,12 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import styles from './Header.module.scss';
3
3
  export const HeaderSection = ({ children }) => {
4
- return React.createElement("div", { className: styles.section }, children);
4
+ return _jsx("div", { className: styles.section, children: children });
5
5
  };
6
6
  export const HeaderItem = ({ testId, children }) => {
7
- return (React.createElement("div", { "data-testid": testId, className: styles.item }, children));
7
+ return (_jsx("div", { "data-testid": testId, className: styles.item, children: children }));
8
8
  };
9
9
  export const HeaderSubItem = ({ children }) => {
10
- return React.createElement("div", { className: styles.subItem }, children);
10
+ return _jsx("div", { className: styles.subItem, children: children });
11
11
  };
12
12
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/components/app/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO,IAAG,QAAQ,CAAO,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAA+C,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7F,OAAO,CACL,4CAAkB,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,IAC7C,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO,IAAG,QAAQ,CAAO,CAAA;AACzD,CAAC,CAAA","sourcesContent":["import React, { 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
+ {"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,3 +1,3 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  export declare const HealthChart: FC;
3
3
  //# sourceMappingURL=HealthChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HealthChart.d.ts","sourceRoot":"","sources":["../../../../src/components/app/HealthChart.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAKjC,eAAO,MAAM,WAAW,EAAE,EAyCzB,CAAA"}
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,15 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { TestStepResultStatus } from '@cucumber/messages';
2
- import React from 'react';
3
3
  import { useResultStatistics } from '../../hooks/useResultStatistics.js';
4
4
  import styles from './HealthChart.module.scss';
5
5
  export const HealthChart = () => {
6
6
  const { scenarioCountByStatus, totalScenarioCount, statusesWithScenarios } = useResultStatistics();
7
7
  let offsetAccumulator = 0;
8
- return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100" },
9
- React.createElement("g", { transform: "rotate(-90 50 50)" }, statusesWithScenarios.length > 0 ? (React.createElement(React.Fragment, null, [...statusesWithScenarios].map((status) => {
10
- const scenarioCount = scenarioCountByStatus[status];
11
- offsetAccumulator += scenarioCount;
12
- return (React.createElement("path", { key: status, 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" }));
13
- }))) : (React.createElement("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" })))));
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" })) })] }));
14
13
  };
15
14
  //# sourceMappingURL=HealthChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HealthChart.js","sourceRoot":"","sources":["../../../../src/components/app/HealthChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,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,6BAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,aAAa;QAC3D,2BAAG,SAAS,EAAC,mBAAmB,IAC7B,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,0CACG,CAAC,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;YACnD,iBAAiB,IAAI,aAAa,CAAA;YAClC,OAAO,CACL,8BACE,GAAG,EAAE,MAAM,EACX,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,GACX,CACH,CAAA;QACH,CAAC,CAAC,CACD,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,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,CACC,CACA,CACP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { TestStepResultStatus } from '@cucumber/messages'\nimport React, { 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 xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\">\n <g transform=\"rotate(-90 50 50)\">\n {statusesWithScenarios.length > 0 ? (\n <>\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 ) : (\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
+ {"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,9 +1,9 @@
1
- import React from 'react';
1
+ import type { FC } from 'react';
2
2
  interface IProps {
3
3
  text: string;
4
4
  markdown?: boolean;
5
5
  className?: string;
6
6
  }
7
- export declare const HighLight: React.FunctionComponent<IProps>;
7
+ export declare const HighLight: FC<IProps>;
8
8
  export {};
9
9
  //# sourceMappingURL=HighLight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighLight.d.ts","sourceRoot":"","sources":["../../../../src/components/app/HighLight.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,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,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAgCrD,CAAA"}
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,8 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { stemmer } from '@orama/stemmers/english';
2
- import highlightWords from 'highlight-words';
3
- import React from 'react';
3
+ import { findAll } from 'highlight-words-core';
4
4
  import ReactMarkdown from 'react-markdown';
5
5
  import { useSearch } from '../../hooks/index.js';
6
+ import markdownComponents from './markdownComponents.js';
6
7
  import rehypePlugins from './rehypePlugins.js';
7
8
  import remarkPlugins from './remarkPlugins.js';
8
9
  const allQueryWords = (queryWords) => {
@@ -15,18 +16,23 @@ const allQueryWords = (queryWords) => {
15
16
  return allWords;
16
17
  }, []);
17
18
  };
18
- export const HighLight = ({ text, markdown = false, className = '', }) => {
19
+ export const HighLight = ({ text, markdown = false, className = '' }) => {
19
20
  const searchQueryContext = useSearch();
20
- const query = allQueryWords(searchQueryContext.query ? searchQueryContext.query.split(' ') : []).join(' ');
21
+ const searchWords = allQueryWords(searchQueryContext.query ? searchQueryContext.query.split(' ') : []);
21
22
  const appliedClassName = className ? `highlight ${className}` : 'highlight';
22
- const chunks = highlightWords({ text, query });
23
+ const chunks = findAll({ textToHighlight: text, searchWords });
23
24
  if (markdown) {
24
25
  const highlightedText = chunks
25
- .map(({ text, match }) => (match ? `<mark>${text}</mark>` : text))
26
+ .map(({ start, end, highlight }) => {
27
+ const chunkText = text.substring(start, end);
28
+ return highlight ? `<mark>${chunkText}</mark>` : chunkText;
29
+ })
26
30
  .join('');
27
- return (React.createElement("div", { className: appliedClassName },
28
- React.createElement(ReactMarkdown, { remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins }, highlightedText)));
31
+ return (_jsx("div", { className: appliedClassName, children: _jsx(ReactMarkdown, { remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, components: markdownComponents, children: highlightedText }) }));
29
32
  }
30
- return (React.createElement("span", { className: appliedClassName }, chunks.map(({ text, match, key }) => (match ? React.createElement("mark", { key: key }, text) : text))));
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
+ }) }));
31
37
  };
32
38
  //# sourceMappingURL=HighLight.js.map
@@ -1 +1 @@
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,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,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;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACpB;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,EAAc,CAAC,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAoC,CAAC,EACzD,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,EAAE,GACf,EAAE,EAAE;IACH,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,aAAa,CACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACpE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3E,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAE9C,IAAI,QAAQ,EAAE;QACZ,MAAM,eAAe,GAAG,MAAM;aAC3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACjE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,OAAO,CACL,6BAAK,SAAS,EAAE,gBAAgB;YAC9B,oBAAC,aAAa,IAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,IACtE,eAAe,CACF,CACZ,CACP,CAAA;KACF;IAED,OAAO,CACL,8BAAM,SAAS,EAAE,gBAAgB,IAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAAM,GAAG,EAAE,GAAG,IAAG,IAAI,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAChF,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { stemmer } from '@orama/stemmers/english'\nimport highlightWords from 'highlight-words'\nimport React from 'react'\nimport ReactMarkdown from 'react-markdown'\n\nimport { useSearch } from '../../hooks/index.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: React.FunctionComponent<IProps> = ({\n text,\n markdown = false,\n className = '',\n}) => {\n const searchQueryContext = useSearch()\n const query = allQueryWords(\n searchQueryContext.query ? searchQueryContext.query.split(' ') : []\n ).join(' ')\n const appliedClassName = className ? `highlight ${className}` : 'highlight'\n\n const chunks = highlightWords({ text, query })\n\n if (markdown) {\n const highlightedText = chunks\n .map(({ text, match }) => (match ? `<mark>${text}</mark>` : text))\n .join('')\n\n return (\n <div className={appliedClassName}>\n <ReactMarkdown remarkPlugins={remarkPlugins} rehypePlugins={rehypePlugins}>\n {highlightedText}\n </ReactMarkdown>\n </div>\n )\n }\n\n return (\n <span className={appliedClassName}>\n {chunks.map(({ text, match, key }) => (match ? <mark key={key}>{text}</mark> : text))}\n </span>\n )\n}\n"]}
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,5 +1,5 @@
1
- import { Product } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import type { Product } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  export declare const ImplementationIcon: FC<{
4
4
  implementation: Product;
5
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"ImplementationIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/app/ImplementationIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAIjC,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAM9D,CAAA"}
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,9 +1,9 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { CucumberLogo } from './icons/CucumberLogo.js';
3
3
  export const ImplementationIcon = ({ implementation }) => {
4
4
  const { name } = implementation;
5
5
  if (name.toLowerCase().includes('cucumber')) {
6
- return React.createElement(CucumberLogo, null);
6
+ return _jsx(CucumberLogo, {});
7
7
  }
8
8
  return null;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ImplementationIcon.js","sourceRoot":"","sources":["../../../../src/components/app/ImplementationIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,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;QAC3C,OAAO,oBAAC,YAAY,OAAG,CAAA;KACxB;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import { Product } from '@cucumber/messages'\nimport React, { 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
+ {"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,5 +1,5 @@
1
- import { TestStepResultStatus } from '@cucumber/messages';
2
- import { FC, PropsWithChildren } from 'react';
1
+ import type { TestStepResultStatus } from '@cucumber/messages';
2
+ import { type FC, type PropsWithChildren } from 'react';
3
3
  interface Props {
4
4
  defaultQuery?: string;
5
5
  defaultHideStatuses?: readonly TestStepResultStatus[];
@@ -1 +1 @@
1
- {"version":3,"file":"InMemorySearchProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/app/InMemorySearchProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAc,EAAE,EAAE,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAK9D,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
+ {"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,10 +1,11 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { ControlledSearchProvider } from './ControlledSearchProvider.js';
3
4
  export const InMemorySearchProvider = ({ defaultQuery = '', defaultHideStatuses = [], children, }) => {
4
5
  const [value, setValue] = useState({
5
6
  query: defaultQuery,
6
7
  hideStatuses: defaultHideStatuses,
7
8
  });
8
- return (React.createElement(ControlledSearchProvider, { value: value, onChange: setValue }, children));
9
+ return (_jsx(ControlledSearchProvider, { value: value, onChange: setValue, children: children }));
9
10
  };
10
11
  //# sourceMappingURL=InMemorySearchProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemorySearchProvider.js","sourceRoot":"","sources":["../../../../src/components/app/InMemorySearchProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAyB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG9D,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,oBAAC,wBAAwB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,IACvD,QAAQ,CACgB,CAC5B,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { TestStepResultStatus } from '@cucumber/messages'\nimport React, { FC, PropsWithChildren, useState } from 'react'\n\nimport { 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
+ {"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,3 +1,3 @@
1
- import { FC, HTMLAttributes } from 'react';
1
+ import type { FC, HTMLAttributes } from 'react';
2
2
  export declare const NavigationButton: FC<HTMLAttributes<HTMLButtonElement>>;
3
3
  //# sourceMappingURL=NavigationButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationButton.d.ts","sourceRoot":"","sources":["../../../../src/components/app/NavigationButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAIjD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAMlE,CAAA"}
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 +1,6 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import styles from './NavigationButton.module.scss';
3
3
  export const NavigationButton = ({ children, ...props }) => {
4
- return (React.createElement("button", { type: "button", ...props, className: styles.navigationButton }, children));
4
+ return (_jsx("button", { type: "button", ...props, className: styles.navigationButton, children: children }));
5
5
  };
6
6
  //# sourceMappingURL=NavigationButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationButton.js","sourceRoot":"","sources":["../../../../src/components/app/NavigationButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAA0C,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChG,OAAO,CACL,gCAAQ,IAAI,EAAC,QAAQ,KAAK,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,IAChE,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CAAA","sourcesContent":["import React, { 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
+ {"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,5 +1,5 @@
1
- import { Meta } from '@cucumber/messages';
2
- import { FC } from 'react';
1
+ import type { Meta } from '@cucumber/messages';
2
+ import type { FC } from 'react';
3
3
  export declare const OSIcon: FC<{
4
4
  os: Meta['os'];
5
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"OSIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/app/OSIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAMjC,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;CAAE,CAYzC,CAAA"}
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,17 +1,17 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Linux } from './icons/Linux.js';
3
3
  import { MacOS } from './icons/MacOS.js';
4
4
  import { Windows } from './icons/Windows.js';
5
5
  export const OSIcon = ({ os }) => {
6
6
  const { name } = os;
7
7
  if (name.match(/windows|win32/i)) {
8
- return React.createElement(Windows, null);
8
+ return _jsx(Windows, {});
9
9
  }
10
10
  if (name.match(/(darwin|mac)/i)) {
11
- return React.createElement(MacOS, null);
11
+ return _jsx(MacOS, {});
12
12
  }
13
13
  if (name.match(/linux/i)) {
14
- return React.createElement(Linux, null);
14
+ return _jsx(Linux, {});
15
15
  }
16
16
  return null;
17
17
  };