@cucumber/react-components 24.3.0 → 24.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/{src/CucumberQueryContext.d.ts → CucumberQueryContext.d.ts} +0 -1
- package/dist/CucumberQueryContext.js +4 -0
- package/dist/{src/GherkinQueryContext.d.ts → GherkinQueryContext.d.ts} +0 -1
- package/dist/GherkinQueryContext.js +4 -0
- package/dist/{src/SearchContext.d.ts → SearchContext.d.ts} +0 -1
- package/dist/SearchContext.js +10 -0
- package/dist/{src/ciCommitLink.d.ts → ciCommitLink.d.ts} +0 -1
- package/dist/ciCommitLink.js +12 -0
- package/dist/{src/components → components}/app/CICommitLink.d.ts +0 -1
- package/dist/components/app/CICommitLink.js +16 -0
- package/dist/{src/components → components}/app/CIJobLink.d.ts +0 -1
- package/dist/components/app/CIJobLink.js +10 -0
- package/dist/{src/components → components}/app/ControlledSearchProvider.d.ts +0 -1
- package/dist/components/app/ControlledSearchProvider.js +39 -0
- package/dist/{src/components → components}/app/CopyButton.d.ts +0 -1
- package/dist/components/app/CopyButton.js +23 -0
- package/dist/{src/components → components}/app/DocumentAccordion.d.ts +0 -1
- package/dist/components/app/DocumentAccordion.js +22 -0
- package/dist/{src/components → components}/app/EnvelopesProvider.d.ts +0 -1
- package/dist/components/app/EnvelopesProvider.js +18 -0
- package/dist/{src/components → components}/app/ExecutionSummary.d.ts +0 -1
- package/dist/components/app/ExecutionSummary.js +38 -0
- package/dist/{src/components → components}/app/FilteredDocuments.d.ts +0 -1
- package/dist/components/app/FilteredDocuments.js +15 -0
- package/dist/{src/components → components}/app/GherkinDocumentList.d.ts +0 -1
- package/dist/components/app/GherkinDocumentList.js +23 -0
- package/dist/{src/components → components}/app/Header.d.ts +0 -1
- package/dist/components/app/Header.js +12 -0
- package/dist/{src/components → components}/app/HealthChart.d.ts +0 -1
- package/dist/components/app/HealthChart.js +14 -0
- package/dist/{src/components → components}/app/HighLight.d.ts +0 -1
- package/dist/components/app/HighLight.js +38 -0
- package/dist/{src/components → components}/app/ImplementationIcon.d.ts +0 -1
- package/dist/components/app/ImplementationIcon.js +10 -0
- package/dist/{src/components → components}/app/InMemorySearchProvider.d.ts +0 -1
- package/dist/components/app/InMemorySearchProvider.js +11 -0
- package/dist/{src/components → components}/app/NavigationButton.d.ts +0 -1
- package/dist/components/app/NavigationButton.js +6 -0
- package/dist/{src/components → components}/app/OSIcon.d.ts +0 -1
- package/dist/components/app/OSIcon.js +18 -0
- package/dist/{src/components → components}/app/QueriesProvider.d.ts +0 -1
- package/dist/components/app/QueriesProvider.js +7 -0
- package/dist/{src/components → components}/app/Report.d.ts +0 -1
- package/dist/components/app/Report.js +10 -0
- package/dist/{src/components → components}/app/RuntimeIcon.d.ts +0 -1
- package/dist/components/app/RuntimeIcon.js +18 -0
- package/dist/{src/components → components}/app/SearchBar.d.ts +0 -1
- package/dist/components/app/SearchBar.js +33 -0
- package/dist/{src/components → components}/app/StatusesSummary.d.ts +0 -1
- package/dist/components/app/StatusesSummary.js +16 -0
- package/dist/{src/components → components}/app/TestRunHooks.d.ts +0 -1
- package/dist/components/app/TestRunHooks.js +14 -0
- package/dist/{src/components → components}/app/UrlSearchProvider.d.ts +0 -1
- package/dist/components/app/UrlSearchProvider.js +29 -0
- package/dist/{src/components → components}/app/findMostSevereTestStepResultStatus.d.ts +0 -1
- package/dist/components/app/findMostSevereTestStepResultStatus.js +17 -0
- package/dist/{src/components → components}/app/icons/CucumberLogo.d.ts +0 -1
- package/dist/components/app/icons/CucumberLogo.js +5 -0
- package/dist/{src/components → components}/app/icons/Jvm.d.ts +0 -1
- package/dist/components/app/icons/Jvm.js +5 -0
- package/dist/{src/components → components}/app/icons/Linux.d.ts +0 -1
- package/dist/components/app/icons/Linux.js +5 -0
- package/dist/{src/components → components}/app/icons/MacOS.d.ts +0 -1
- package/dist/components/app/icons/MacOS.js +5 -0
- package/dist/{src/components → components}/app/icons/NodeJs.d.ts +0 -1
- package/dist/components/app/icons/NodeJs.js +5 -0
- package/dist/{src/components → components}/app/icons/Ruby.d.ts +0 -1
- package/dist/components/app/icons/Ruby.js +5 -0
- package/dist/{src/components → components}/app/icons/Windows.d.ts +0 -1
- package/dist/components/app/icons/Windows.js +5 -0
- package/dist/{src/components/app/index.js → components/app/index.d.ts} +0 -1
- package/dist/components/app/index.js +15 -0
- package/dist/{src/components → components}/app/makeSetupString.d.ts +0 -1
- package/dist/components/app/makeSetupString.js +21 -0
- package/dist/{src/components → components}/app/markdownComponents.d.ts +1 -2
- package/dist/components/app/markdownComponents.js +6 -0
- package/dist/{src/components → components}/app/rehypePlugins.d.ts +0 -1
- package/dist/components/app/rehypePlugins.js +9 -0
- package/dist/{src/components → components}/app/remarkPlugins.d.ts +0 -1
- package/dist/components/app/remarkPlugins.js +4 -0
- package/dist/{src/components → components}/customise/CustomRendering.d.ts +0 -1
- package/dist/components/customise/CustomRendering.js +35 -0
- package/dist/{src/components/customise/index.js → components/customise/index.d.ts} +0 -1
- package/dist/components/customise/index.js +3 -0
- package/dist/{src/components → components}/customise/theming.d.ts +0 -1
- package/dist/components/customise/theming.js +2 -0
- package/dist/{src/components → components}/gherkin/Anchor.d.ts +0 -1
- package/dist/components/gherkin/Anchor.js +13 -0
- package/dist/{src/components → components}/gherkin/Background.d.ts +0 -1
- package/dist/components/gherkin/Background.js +18 -0
- package/dist/{src/components → components}/gherkin/Children.d.ts +0 -1
- package/dist/components/gherkin/Children.js +11 -0
- package/dist/{src/components → components}/gherkin/DataTable.d.ts +0 -1
- package/dist/components/gherkin/DataTable.js +16 -0
- package/dist/{src/components → components}/gherkin/Description.d.ts +0 -1
- package/dist/components/gherkin/Description.js +15 -0
- package/dist/{src/components → components}/gherkin/DocString.d.ts +0 -1
- package/dist/components/gherkin/DocString.js +12 -0
- package/dist/{src/components → components}/gherkin/ErrorMessage.d.ts +0 -1
- package/dist/components/gherkin/ErrorMessage.js +13 -0
- package/dist/{src/components → components}/gherkin/Examples.d.ts +0 -1
- package/dist/components/gherkin/Examples.js +31 -0
- package/dist/{src/components → components}/gherkin/Feature.d.ts +0 -1
- package/dist/components/gherkin/Feature.js +30 -0
- package/dist/{src/components → components}/gherkin/GherkinDocument.d.ts +0 -1
- package/dist/components/gherkin/GherkinDocument.js +11 -0
- package/dist/{src/components → components}/gherkin/Keyword.d.ts +0 -1
- package/dist/components/gherkin/Keyword.js +11 -0
- package/dist/{src/components → components}/gherkin/Parameter.d.ts +0 -1
- package/dist/components/gherkin/Parameter.js +11 -0
- package/dist/{src/components → components}/gherkin/Rule.d.ts +0 -1
- package/dist/components/gherkin/Rule.js +26 -0
- package/dist/{src/components → components}/gherkin/Scenario.d.ts +0 -1
- package/dist/components/gherkin/Scenario.js +22 -0
- package/dist/{src/components → components}/gherkin/StatusIcon.d.ts +0 -1
- package/dist/components/gherkin/StatusIcon.js +24 -0
- package/dist/{src/components → components}/gherkin/StepsList.d.ts +0 -1
- package/dist/components/gherkin/StepsList.js +6 -0
- package/dist/{src/components → components}/gherkin/Tags.d.ts +0 -1
- package/dist/components/gherkin/Tags.js +15 -0
- package/dist/{src/components → components}/gherkin/Title.d.ts +0 -1
- package/dist/components/gherkin/Title.js +12 -0
- package/dist/{src/components → components}/gherkin/attachment/Attachment.d.ts +0 -1
- package/dist/components/gherkin/attachment/Attachment.js +45 -0
- package/dist/{src/components → components}/gherkin/attachment/Image.d.ts +0 -1
- package/dist/components/gherkin/attachment/Image.js +16 -0
- package/dist/{src/components → components}/gherkin/attachment/Links.d.ts +0 -1
- package/dist/components/gherkin/attachment/Links.js +14 -0
- package/dist/{src/components → components}/gherkin/attachment/Log.d.ts +0 -1
- package/dist/components/gherkin/attachment/Log.js +12 -0
- package/dist/{src/components → components}/gherkin/attachment/Text.d.ts +0 -1
- package/dist/components/gherkin/attachment/Text.js +16 -0
- package/dist/{src/components → components}/gherkin/attachment/Unknown.d.ts +0 -1
- package/dist/components/gherkin/attachment/Unknown.js +61 -0
- package/dist/{src/components → components}/gherkin/attachment/Video.d.ts +0 -1
- package/dist/components/gherkin/attachment/Video.js +16 -0
- package/dist/{src/components → components}/gherkin/attachment/attachmentFilename.d.ts +0 -1
- package/dist/components/gherkin/attachment/attachmentFilename.js +12 -0
- package/dist/{src/components → components}/gherkin/attachment/base64Decode.d.ts +0 -1
- package/dist/components/gherkin/attachment/base64Decode.js +19 -0
- package/dist/{src/components/gherkin/attachment/index.js → components/gherkin/attachment/index.d.ts} +0 -1
- package/dist/components/gherkin/attachment/index.js +2 -0
- package/dist/{src/components → components}/gherkin/attachment/useText.d.ts +0 -1
- package/dist/components/gherkin/attachment/useText.js +28 -0
- package/dist/{src/components → components}/gherkin/composeHookStepTitle.d.ts +0 -1
- package/dist/components/gherkin/composeHookStepTitle.js +23 -0
- package/dist/{src/components → components}/gherkin/composePickleStepTitle.d.ts +0 -1
- package/dist/components/gherkin/composePickleStepTitle.js +36 -0
- package/dist/{src/components/gherkin/index.js → components/gherkin/index.d.ts} +0 -1
- package/dist/components/gherkin/index.js +19 -0
- package/dist/{src/components → components}/gherkin/isNumber.d.ts +0 -1
- package/dist/components/gherkin/isNumber.js +7 -0
- package/dist/components/gherkin/statusName.d.ts +3 -0
- package/dist/components/gherkin/statusName.js +4 -0
- package/dist/{src/components/index.js → components/index.d.ts} +0 -1
- package/dist/components/index.js +4 -0
- package/dist/{src/components → components}/results/AmbiguousResult.d.ts +0 -1
- package/dist/components/results/AmbiguousResult.js +11 -0
- package/dist/{src/components → components}/results/FailedResult.d.ts +0 -1
- package/dist/components/results/FailedResult.js +15 -0
- package/dist/{src/components → components}/results/PendingResult.d.ts +0 -1
- package/dist/components/results/PendingResult.js +12 -0
- package/dist/{src/components → components}/results/ResultNote.d.ts +0 -1
- package/dist/components/results/ResultNote.js +6 -0
- package/dist/{src/components → components}/results/SkippedResult.d.ts +0 -1
- package/dist/components/results/SkippedResult.js +12 -0
- package/dist/{src/components → components}/results/SourceReference.d.ts +0 -1
- package/dist/components/results/SourceReference.js +13 -0
- package/dist/{src/components → components}/results/TestCaseOutcome.d.ts +0 -1
- package/dist/components/results/TestCaseOutcome.js +32 -0
- package/dist/{src/components → components}/results/TestRunHookOutcome.d.ts +0 -1
- package/dist/components/results/TestRunHookOutcome.js +11 -0
- package/dist/{src/components → components}/results/TestStepAttachments.d.ts +0 -1
- package/dist/components/results/TestStepAttachments.js +12 -0
- package/dist/{src/components → components}/results/TestStepDuration.d.ts +0 -1
- package/dist/components/results/TestStepDuration.js +19 -0
- package/dist/{src/components → components}/results/TestStepOutcome.d.ts +0 -1
- package/dist/components/results/TestStepOutcome.js +43 -0
- package/dist/{src/components → components}/results/UndefinedResult.d.ts +0 -1
- package/dist/components/results/UndefinedResult.js +18 -0
- package/dist/{src/components/results/index.js → components/results/index.d.ts} +0 -1
- package/dist/components/results/index.js +3 -0
- package/dist/{src/hooks/helpers.d.ts → ensure.d.ts} +0 -1
- package/dist/ensure.js +7 -0
- package/dist/{src/formatExecutionDistance.d.ts → formatExecutionDistance.d.ts} +0 -1
- package/dist/formatExecutionDistance.js +7 -0
- package/dist/{src/formatExecutionDuration.d.ts → formatExecutionDuration.d.ts} +0 -1
- package/dist/formatExecutionDuration.js +12 -0
- package/dist/{src/formatPassedQuantity.d.ts → formatPassedQuantity.d.ts} +0 -1
- package/dist/formatPassedQuantity.js +4 -0
- package/dist/{src/formatStatusRate.d.ts → formatStatusRate.d.ts} +0 -1
- package/dist/formatStatusRate.js +9 -0
- package/dist/{src/hooks/index.js → hooks/index.d.ts} +0 -1
- package/dist/hooks/index.js +3 -0
- package/dist/{src/hooks → hooks}/useFilteredDocuments.d.ts +1 -2
- package/dist/hooks/useFilteredDocuments.js +67 -0
- package/dist/hooks/useFilteredTestCases.d.ts +6 -0
- package/dist/hooks/useFilteredTestCases.js +36 -0
- package/dist/{src/hooks → hooks}/useMostSevereStatusByUri.d.ts +0 -1
- package/dist/hooks/useMostSevereStatusByUri.js +25 -0
- package/dist/{src/hooks → hooks}/useQueries.d.ts +0 -1
- package/dist/hooks/useQueries.js +9 -0
- package/dist/{src/hooks → hooks}/useResultStatistics.d.ts +0 -1
- package/dist/hooks/useResultStatistics.js +24 -0
- package/dist/{src/hooks → hooks}/useSearch.d.ts +0 -1
- package/dist/hooks/useSearch.js +6 -0
- package/dist/hooks/useSearchResult.d.ts +26 -0
- package/dist/hooks/useSearchResult.js +58 -0
- package/dist/{src/hooks → hooks}/useTestCaseStarted.d.ts +0 -1
- package/dist/hooks/useTestCaseStarted.js +20 -0
- package/dist/{src/hooks → hooks}/useTestRunHooks.d.ts +0 -1
- package/dist/hooks/useTestRunHooks.js +14 -0
- package/dist/{src/index.js → index.d.ts} +0 -1
- package/dist/index.js +3 -0
- package/dist/{src/isTagExpression.d.ts → isTagExpression.d.ts} +0 -1
- package/dist/isTagExpression.js +5 -0
- package/dist/{src/search → search}/FeatureSearch.d.ts +0 -1
- package/dist/search/FeatureSearch.js +39 -0
- package/dist/{src/search → search}/ScenarioLikeSearch.d.ts +0 -1
- package/dist/search/ScenarioLikeSearch.js +37 -0
- package/dist/{src/search → search}/StepSearch.d.ts +0 -1
- package/dist/search/StepSearch.js +40 -0
- package/dist/{src/search → search}/TextSearch.d.ts +1 -2
- package/dist/search/TextSearch.js +67 -0
- package/dist/{src/search → search}/createSearchIndex.d.ts +0 -1
- package/dist/search/createSearchIndex.js +10 -0
- package/dist/{src/search → search}/deriveLineageConstraints.d.ts +0 -1
- package/dist/search/deriveLineageConstraints.js +38 -0
- package/dist/search/filterAndExpandTestCaseEvents.d.ts +20 -0
- package/dist/search/filterAndExpandTestCaseEvents.js +32 -0
- package/dist/{src/search → search}/index.d.ts +2 -1
- package/dist/search/index.js +7 -0
- package/dist/{src/search → search}/pruneGherkinDocuments.d.ts +3 -4
- package/dist/search/pruneGherkinDocuments.js +179 -0
- package/dist/search/pruneTestCaseEvents.d.ts +16 -0
- package/dist/search/pruneTestCaseEvents.js +41 -0
- package/dist/{src/search → search}/types.d.ts +5 -6
- package/dist/search/types.js +2 -0
- package/dist/{src/statuses.d.ts → statuses.d.ts} +0 -1
- package/dist/statuses.js +12 -0
- package/dist/{src/toRepositoryId.d.ts → toRepositoryId.d.ts} +0 -1
- package/dist/toRepositoryId.js +12 -0
- package/package.json +30 -32
- package/dist/src/CucumberQueryContext.d.ts.map +0 -1
- package/dist/src/CucumberQueryContext.js +0 -4
- package/dist/src/CucumberQueryContext.js.map +0 -1
- package/dist/src/GherkinQueryContext.d.ts.map +0 -1
- package/dist/src/GherkinQueryContext.js +0 -4
- package/dist/src/GherkinQueryContext.js.map +0 -1
- package/dist/src/SearchContext.d.ts.map +0 -1
- package/dist/src/SearchContext.js +0 -10
- package/dist/src/SearchContext.js.map +0 -1
- package/dist/src/ciCommitLink.d.ts.map +0 -1
- package/dist/src/ciCommitLink.js +0 -12
- package/dist/src/ciCommitLink.js.map +0 -1
- package/dist/src/components/app/CICommitLink.d.ts.map +0 -1
- package/dist/src/components/app/CICommitLink.js +0 -16
- package/dist/src/components/app/CICommitLink.js.map +0 -1
- package/dist/src/components/app/CIJobLink.d.ts.map +0 -1
- package/dist/src/components/app/CIJobLink.js +0 -10
- package/dist/src/components/app/CIJobLink.js.map +0 -1
- package/dist/src/components/app/ControlledSearchProvider.d.ts.map +0 -1
- package/dist/src/components/app/ControlledSearchProvider.js +0 -39
- package/dist/src/components/app/ControlledSearchProvider.js.map +0 -1
- package/dist/src/components/app/CopyButton.d.ts.map +0 -1
- package/dist/src/components/app/CopyButton.js +0 -23
- package/dist/src/components/app/CopyButton.js.map +0 -1
- package/dist/src/components/app/DocumentAccordion.d.ts.map +0 -1
- package/dist/src/components/app/DocumentAccordion.js +0 -22
- package/dist/src/components/app/DocumentAccordion.js.map +0 -1
- package/dist/src/components/app/EnvelopesProvider.d.ts.map +0 -1
- package/dist/src/components/app/EnvelopesProvider.js +0 -18
- package/dist/src/components/app/EnvelopesProvider.js.map +0 -1
- package/dist/src/components/app/ExecutionSummary.d.ts.map +0 -1
- package/dist/src/components/app/ExecutionSummary.js +0 -38
- package/dist/src/components/app/ExecutionSummary.js.map +0 -1
- package/dist/src/components/app/FilteredDocuments.d.ts.map +0 -1
- package/dist/src/components/app/FilteredDocuments.js +0 -15
- package/dist/src/components/app/FilteredDocuments.js.map +0 -1
- package/dist/src/components/app/GherkinDocumentList.d.ts.map +0 -1
- package/dist/src/components/app/GherkinDocumentList.js +0 -23
- package/dist/src/components/app/GherkinDocumentList.js.map +0 -1
- package/dist/src/components/app/Header.d.ts.map +0 -1
- package/dist/src/components/app/Header.js +0 -12
- package/dist/src/components/app/Header.js.map +0 -1
- package/dist/src/components/app/HealthChart.d.ts.map +0 -1
- package/dist/src/components/app/HealthChart.js +0 -14
- package/dist/src/components/app/HealthChart.js.map +0 -1
- package/dist/src/components/app/HighLight.d.ts.map +0 -1
- package/dist/src/components/app/HighLight.js +0 -38
- package/dist/src/components/app/HighLight.js.map +0 -1
- package/dist/src/components/app/ImplementationIcon.d.ts.map +0 -1
- package/dist/src/components/app/ImplementationIcon.js +0 -10
- package/dist/src/components/app/ImplementationIcon.js.map +0 -1
- package/dist/src/components/app/InMemorySearchProvider.d.ts.map +0 -1
- package/dist/src/components/app/InMemorySearchProvider.js +0 -11
- package/dist/src/components/app/InMemorySearchProvider.js.map +0 -1
- package/dist/src/components/app/NavigationButton.d.ts.map +0 -1
- package/dist/src/components/app/NavigationButton.js +0 -6
- package/dist/src/components/app/NavigationButton.js.map +0 -1
- package/dist/src/components/app/OSIcon.d.ts.map +0 -1
- package/dist/src/components/app/OSIcon.js +0 -18
- package/dist/src/components/app/OSIcon.js.map +0 -1
- package/dist/src/components/app/QueriesProvider.d.ts.map +0 -1
- package/dist/src/components/app/QueriesProvider.js +0 -7
- package/dist/src/components/app/QueriesProvider.js.map +0 -1
- package/dist/src/components/app/Report.d.ts.map +0 -1
- package/dist/src/components/app/Report.js +0 -10
- package/dist/src/components/app/Report.js.map +0 -1
- package/dist/src/components/app/RuntimeIcon.d.ts.map +0 -1
- package/dist/src/components/app/RuntimeIcon.js +0 -18
- package/dist/src/components/app/RuntimeIcon.js.map +0 -1
- package/dist/src/components/app/SearchBar.d.ts.map +0 -1
- package/dist/src/components/app/SearchBar.js +0 -33
- package/dist/src/components/app/SearchBar.js.map +0 -1
- package/dist/src/components/app/StatusesSummary.d.ts.map +0 -1
- package/dist/src/components/app/StatusesSummary.js +0 -16
- package/dist/src/components/app/StatusesSummary.js.map +0 -1
- package/dist/src/components/app/TestRunHooks.d.ts.map +0 -1
- package/dist/src/components/app/TestRunHooks.js +0 -14
- package/dist/src/components/app/TestRunHooks.js.map +0 -1
- package/dist/src/components/app/UrlSearchProvider.d.ts.map +0 -1
- package/dist/src/components/app/UrlSearchProvider.js +0 -29
- package/dist/src/components/app/UrlSearchProvider.js.map +0 -1
- package/dist/src/components/app/findMostSevereTestStepResultStatus.d.ts.map +0 -1
- package/dist/src/components/app/findMostSevereTestStepResultStatus.js +0 -17
- package/dist/src/components/app/findMostSevereTestStepResultStatus.js.map +0 -1
- package/dist/src/components/app/icons/CucumberLogo.d.ts.map +0 -1
- package/dist/src/components/app/icons/CucumberLogo.js +0 -5
- package/dist/src/components/app/icons/CucumberLogo.js.map +0 -1
- package/dist/src/components/app/icons/Jvm.d.ts.map +0 -1
- package/dist/src/components/app/icons/Jvm.js +0 -5
- package/dist/src/components/app/icons/Jvm.js.map +0 -1
- package/dist/src/components/app/icons/Linux.d.ts.map +0 -1
- package/dist/src/components/app/icons/Linux.js +0 -5
- package/dist/src/components/app/icons/Linux.js.map +0 -1
- package/dist/src/components/app/icons/MacOS.d.ts.map +0 -1
- package/dist/src/components/app/icons/MacOS.js +0 -5
- package/dist/src/components/app/icons/MacOS.js.map +0 -1
- package/dist/src/components/app/icons/NodeJs.d.ts.map +0 -1
- package/dist/src/components/app/icons/NodeJs.js +0 -5
- package/dist/src/components/app/icons/NodeJs.js.map +0 -1
- package/dist/src/components/app/icons/Ruby.d.ts.map +0 -1
- package/dist/src/components/app/icons/Ruby.js +0 -5
- package/dist/src/components/app/icons/Ruby.js.map +0 -1
- package/dist/src/components/app/icons/Windows.d.ts.map +0 -1
- package/dist/src/components/app/icons/Windows.js +0 -5
- package/dist/src/components/app/icons/Windows.js.map +0 -1
- package/dist/src/components/app/index.d.ts +0 -15
- package/dist/src/components/app/index.d.ts.map +0 -1
- package/dist/src/components/app/index.js.map +0 -1
- package/dist/src/components/app/makeSetupString.d.ts.map +0 -1
- package/dist/src/components/app/makeSetupString.js +0 -21
- package/dist/src/components/app/makeSetupString.js.map +0 -1
- package/dist/src/components/app/markdownComponents.d.ts.map +0 -1
- package/dist/src/components/app/markdownComponents.js +0 -6
- package/dist/src/components/app/markdownComponents.js.map +0 -1
- package/dist/src/components/app/rehypePlugins.d.ts.map +0 -1
- package/dist/src/components/app/rehypePlugins.js +0 -9
- package/dist/src/components/app/rehypePlugins.js.map +0 -1
- package/dist/src/components/app/remarkPlugins.d.ts.map +0 -1
- package/dist/src/components/app/remarkPlugins.js +0 -4
- package/dist/src/components/app/remarkPlugins.js.map +0 -1
- package/dist/src/components/customise/CustomRendering.d.ts.map +0 -1
- package/dist/src/components/customise/CustomRendering.js +0 -35
- package/dist/src/components/customise/CustomRendering.js.map +0 -1
- package/dist/src/components/customise/index.d.ts +0 -3
- package/dist/src/components/customise/index.d.ts.map +0 -1
- package/dist/src/components/customise/index.js.map +0 -1
- package/dist/src/components/customise/theming.d.ts.map +0 -1
- package/dist/src/components/customise/theming.js +0 -2
- package/dist/src/components/customise/theming.js.map +0 -1
- package/dist/src/components/gherkin/Anchor.d.ts.map +0 -1
- package/dist/src/components/gherkin/Anchor.js +0 -13
- package/dist/src/components/gherkin/Anchor.js.map +0 -1
- package/dist/src/components/gherkin/Background.d.ts.map +0 -1
- package/dist/src/components/gherkin/Background.js +0 -18
- package/dist/src/components/gherkin/Background.js.map +0 -1
- package/dist/src/components/gherkin/Children.d.ts.map +0 -1
- package/dist/src/components/gherkin/Children.js +0 -11
- package/dist/src/components/gherkin/Children.js.map +0 -1
- package/dist/src/components/gherkin/DataTable.d.ts.map +0 -1
- package/dist/src/components/gherkin/DataTable.js +0 -16
- package/dist/src/components/gherkin/DataTable.js.map +0 -1
- package/dist/src/components/gherkin/Description.d.ts.map +0 -1
- package/dist/src/components/gherkin/Description.js +0 -15
- package/dist/src/components/gherkin/Description.js.map +0 -1
- package/dist/src/components/gherkin/DocString.d.ts.map +0 -1
- package/dist/src/components/gherkin/DocString.js +0 -12
- package/dist/src/components/gherkin/DocString.js.map +0 -1
- package/dist/src/components/gherkin/ErrorMessage.d.ts.map +0 -1
- package/dist/src/components/gherkin/ErrorMessage.js +0 -13
- package/dist/src/components/gherkin/ErrorMessage.js.map +0 -1
- package/dist/src/components/gherkin/Examples.d.ts.map +0 -1
- package/dist/src/components/gherkin/Examples.js +0 -31
- package/dist/src/components/gherkin/Examples.js.map +0 -1
- package/dist/src/components/gherkin/Feature.d.ts.map +0 -1
- package/dist/src/components/gherkin/Feature.js +0 -30
- package/dist/src/components/gherkin/Feature.js.map +0 -1
- package/dist/src/components/gherkin/GherkinDocument.d.ts.map +0 -1
- package/dist/src/components/gherkin/GherkinDocument.js +0 -11
- package/dist/src/components/gherkin/GherkinDocument.js.map +0 -1
- package/dist/src/components/gherkin/Keyword.d.ts.map +0 -1
- package/dist/src/components/gherkin/Keyword.js +0 -11
- package/dist/src/components/gherkin/Keyword.js.map +0 -1
- package/dist/src/components/gherkin/Parameter.d.ts.map +0 -1
- package/dist/src/components/gherkin/Parameter.js +0 -11
- package/dist/src/components/gherkin/Parameter.js.map +0 -1
- package/dist/src/components/gherkin/Rule.d.ts.map +0 -1
- package/dist/src/components/gherkin/Rule.js +0 -26
- package/dist/src/components/gherkin/Rule.js.map +0 -1
- package/dist/src/components/gherkin/Scenario.d.ts.map +0 -1
- package/dist/src/components/gherkin/Scenario.js +0 -22
- package/dist/src/components/gherkin/Scenario.js.map +0 -1
- package/dist/src/components/gherkin/StatusIcon.d.ts.map +0 -1
- package/dist/src/components/gherkin/StatusIcon.js +0 -24
- package/dist/src/components/gherkin/StatusIcon.js.map +0 -1
- package/dist/src/components/gherkin/StepsList.d.ts.map +0 -1
- package/dist/src/components/gherkin/StepsList.js +0 -6
- package/dist/src/components/gherkin/StepsList.js.map +0 -1
- package/dist/src/components/gherkin/Tags.d.ts.map +0 -1
- package/dist/src/components/gherkin/Tags.js +0 -15
- package/dist/src/components/gherkin/Tags.js.map +0 -1
- package/dist/src/components/gherkin/Title.d.ts.map +0 -1
- package/dist/src/components/gherkin/Title.js +0 -12
- package/dist/src/components/gherkin/Title.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Attachment.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Attachment.js +0 -45
- package/dist/src/components/gherkin/attachment/Attachment.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Image.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Image.js +0 -16
- package/dist/src/components/gherkin/attachment/Image.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Links.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Links.js +0 -14
- package/dist/src/components/gherkin/attachment/Links.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Log.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Log.js +0 -12
- package/dist/src/components/gherkin/attachment/Log.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Text.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Text.js +0 -16
- package/dist/src/components/gherkin/attachment/Text.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Unknown.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Unknown.js +0 -61
- package/dist/src/components/gherkin/attachment/Unknown.js.map +0 -1
- package/dist/src/components/gherkin/attachment/Video.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/Video.js +0 -16
- package/dist/src/components/gherkin/attachment/Video.js.map +0 -1
- package/dist/src/components/gherkin/attachment/attachmentFilename.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/attachmentFilename.js +0 -12
- package/dist/src/components/gherkin/attachment/attachmentFilename.js.map +0 -1
- package/dist/src/components/gherkin/attachment/base64Decode.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/base64Decode.js +0 -19
- package/dist/src/components/gherkin/attachment/base64Decode.js.map +0 -1
- package/dist/src/components/gherkin/attachment/index.d.ts +0 -2
- package/dist/src/components/gherkin/attachment/index.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/index.js.map +0 -1
- package/dist/src/components/gherkin/attachment/useText.d.ts.map +0 -1
- package/dist/src/components/gherkin/attachment/useText.js +0 -28
- package/dist/src/components/gherkin/attachment/useText.js.map +0 -1
- package/dist/src/components/gherkin/composeHookStepTitle.d.ts.map +0 -1
- package/dist/src/components/gherkin/composeHookStepTitle.js +0 -23
- package/dist/src/components/gherkin/composeHookStepTitle.js.map +0 -1
- package/dist/src/components/gherkin/composePickleStepTitle.d.ts.map +0 -1
- package/dist/src/components/gherkin/composePickleStepTitle.js +0 -36
- package/dist/src/components/gherkin/composePickleStepTitle.js.map +0 -1
- package/dist/src/components/gherkin/index.d.ts +0 -19
- package/dist/src/components/gherkin/index.d.ts.map +0 -1
- package/dist/src/components/gherkin/index.js.map +0 -1
- package/dist/src/components/gherkin/isNumber.d.ts.map +0 -1
- package/dist/src/components/gherkin/isNumber.js +0 -7
- package/dist/src/components/gherkin/isNumber.js.map +0 -1
- package/dist/src/components/gherkin/statusName.d.ts +0 -4
- package/dist/src/components/gherkin/statusName.d.ts.map +0 -1
- package/dist/src/components/gherkin/statusName.js +0 -4
- package/dist/src/components/gherkin/statusName.js.map +0 -1
- package/dist/src/components/index.d.ts +0 -4
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/components/results/AmbiguousResult.d.ts.map +0 -1
- package/dist/src/components/results/AmbiguousResult.js +0 -11
- package/dist/src/components/results/AmbiguousResult.js.map +0 -1
- package/dist/src/components/results/FailedResult.d.ts.map +0 -1
- package/dist/src/components/results/FailedResult.js +0 -15
- package/dist/src/components/results/FailedResult.js.map +0 -1
- package/dist/src/components/results/PendingResult.d.ts.map +0 -1
- package/dist/src/components/results/PendingResult.js +0 -12
- package/dist/src/components/results/PendingResult.js.map +0 -1
- package/dist/src/components/results/ResultNote.d.ts.map +0 -1
- package/dist/src/components/results/ResultNote.js +0 -6
- package/dist/src/components/results/ResultNote.js.map +0 -1
- package/dist/src/components/results/SkippedResult.d.ts.map +0 -1
- package/dist/src/components/results/SkippedResult.js +0 -12
- package/dist/src/components/results/SkippedResult.js.map +0 -1
- package/dist/src/components/results/SourceReference.d.ts.map +0 -1
- package/dist/src/components/results/SourceReference.js +0 -13
- package/dist/src/components/results/SourceReference.js.map +0 -1
- package/dist/src/components/results/TestCaseOutcome.d.ts.map +0 -1
- package/dist/src/components/results/TestCaseOutcome.js +0 -32
- package/dist/src/components/results/TestCaseOutcome.js.map +0 -1
- package/dist/src/components/results/TestRunHookOutcome.d.ts.map +0 -1
- package/dist/src/components/results/TestRunHookOutcome.js +0 -11
- package/dist/src/components/results/TestRunHookOutcome.js.map +0 -1
- package/dist/src/components/results/TestStepAttachments.d.ts.map +0 -1
- package/dist/src/components/results/TestStepAttachments.js +0 -12
- package/dist/src/components/results/TestStepAttachments.js.map +0 -1
- package/dist/src/components/results/TestStepDuration.d.ts.map +0 -1
- package/dist/src/components/results/TestStepDuration.js +0 -19
- package/dist/src/components/results/TestStepDuration.js.map +0 -1
- package/dist/src/components/results/TestStepOutcome.d.ts.map +0 -1
- package/dist/src/components/results/TestStepOutcome.js +0 -45
- package/dist/src/components/results/TestStepOutcome.js.map +0 -1
- package/dist/src/components/results/UndefinedResult.d.ts.map +0 -1
- package/dist/src/components/results/UndefinedResult.js +0 -18
- package/dist/src/components/results/UndefinedResult.js.map +0 -1
- package/dist/src/components/results/index.d.ts +0 -3
- package/dist/src/components/results/index.d.ts.map +0 -1
- package/dist/src/components/results/index.js.map +0 -1
- package/dist/src/formatExecutionDistance.d.ts.map +0 -1
- package/dist/src/formatExecutionDistance.js +0 -7
- package/dist/src/formatExecutionDistance.js.map +0 -1
- package/dist/src/formatExecutionDuration.d.ts.map +0 -1
- package/dist/src/formatExecutionDuration.js +0 -12
- package/dist/src/formatExecutionDuration.js.map +0 -1
- package/dist/src/formatPassedQuantity.d.ts.map +0 -1
- package/dist/src/formatPassedQuantity.js +0 -4
- package/dist/src/formatPassedQuantity.js.map +0 -1
- package/dist/src/formatStatusRate.d.ts.map +0 -1
- package/dist/src/formatStatusRate.js +0 -9
- package/dist/src/formatStatusRate.js.map +0 -1
- package/dist/src/hooks/helpers.d.ts.map +0 -1
- package/dist/src/hooks/helpers.js +0 -7
- package/dist/src/hooks/helpers.js.map +0 -1
- package/dist/src/hooks/index.d.ts +0 -3
- package/dist/src/hooks/index.d.ts.map +0 -1
- package/dist/src/hooks/index.js.map +0 -1
- package/dist/src/hooks/useFilteredDocuments.d.ts.map +0 -1
- package/dist/src/hooks/useFilteredDocuments.js +0 -85
- package/dist/src/hooks/useFilteredDocuments.js.map +0 -1
- package/dist/src/hooks/useMostSevereStatusByUri.d.ts.map +0 -1
- package/dist/src/hooks/useMostSevereStatusByUri.js +0 -25
- package/dist/src/hooks/useMostSevereStatusByUri.js.map +0 -1
- package/dist/src/hooks/useQueries.d.ts.map +0 -1
- package/dist/src/hooks/useQueries.js +0 -9
- package/dist/src/hooks/useQueries.js.map +0 -1
- package/dist/src/hooks/useResultStatistics.d.ts.map +0 -1
- package/dist/src/hooks/useResultStatistics.js +0 -24
- package/dist/src/hooks/useResultStatistics.js.map +0 -1
- package/dist/src/hooks/useSearch.d.ts.map +0 -1
- package/dist/src/hooks/useSearch.js +0 -6
- package/dist/src/hooks/useSearch.js.map +0 -1
- package/dist/src/hooks/useTestCaseStarted.d.ts.map +0 -1
- package/dist/src/hooks/useTestCaseStarted.js +0 -20
- package/dist/src/hooks/useTestCaseStarted.js.map +0 -1
- package/dist/src/hooks/useTestRunHooks.d.ts.map +0 -1
- package/dist/src/hooks/useTestRunHooks.js +0 -14
- package/dist/src/hooks/useTestRunHooks.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/isTagExpression.d.ts.map +0 -1
- package/dist/src/isTagExpression.js +0 -5
- package/dist/src/isTagExpression.js.map +0 -1
- package/dist/src/search/FeatureSearch.d.ts.map +0 -1
- package/dist/src/search/FeatureSearch.js +0 -37
- package/dist/src/search/FeatureSearch.js.map +0 -1
- package/dist/src/search/ScenarioLikeSearch.d.ts.map +0 -1
- package/dist/src/search/ScenarioLikeSearch.js +0 -37
- package/dist/src/search/ScenarioLikeSearch.js.map +0 -1
- package/dist/src/search/StepSearch.d.ts.map +0 -1
- package/dist/src/search/StepSearch.js +0 -40
- package/dist/src/search/StepSearch.js.map +0 -1
- package/dist/src/search/TextSearch.d.ts.map +0 -1
- package/dist/src/search/TextSearch.js +0 -70
- package/dist/src/search/TextSearch.js.map +0 -1
- package/dist/src/search/createSearchIndex.d.ts.map +0 -1
- package/dist/src/search/createSearchIndex.js +0 -10
- package/dist/src/search/createSearchIndex.js.map +0 -1
- package/dist/src/search/deriveLineageConstraints.d.ts.map +0 -1
- package/dist/src/search/deriveLineageConstraints.js +0 -38
- package/dist/src/search/deriveLineageConstraints.js.map +0 -1
- package/dist/src/search/index.d.ts.map +0 -1
- package/dist/src/search/index.js +0 -5
- package/dist/src/search/index.js.map +0 -1
- package/dist/src/search/pruneGherkinDocuments.d.ts.map +0 -1
- package/dist/src/search/pruneGherkinDocuments.js +0 -180
- package/dist/src/search/pruneGherkinDocuments.js.map +0 -1
- package/dist/src/search/types.d.ts.map +0 -1
- package/dist/src/search/types.js +0 -2
- package/dist/src/search/types.js.map +0 -1
- package/dist/src/statuses.d.ts.map +0 -1
- package/dist/src/statuses.js +0 -12
- package/dist/src/statuses.js.map +0 -1
- package/dist/src/toRepositoryId.d.ts.map +0 -1
- package/dist/src/toRepositoryId.js +0 -12
- package/dist/src/toRepositoryId.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- /package/dist/{src/components → components}/app/CopyButton.module.scss +0 -0
- /package/dist/{src/components → components}/app/DocumentAccordion.module.scss +0 -0
- /package/dist/{src/components → components}/app/ExecutionSummary.module.scss +0 -0
- /package/dist/{src/components → components}/app/FilteredDocuments.module.scss +0 -0
- /package/dist/{src/components → components}/app/Header.module.scss +0 -0
- /package/dist/{src/components → components}/app/HealthChart.module.scss +0 -0
- /package/dist/{src/components → components}/app/NavigationButton.module.scss +0 -0
- /package/dist/{src/components → components}/app/Report.module.scss +0 -0
- /package/dist/{src/components → components}/app/SearchBar.module.scss +0 -0
- /package/dist/{src/components → components}/app/StatusesSummary.module.scss +0 -0
- /package/dist/{src/components → components}/app/TestRunHooks.module.scss +0 -0
- /package/dist/{src/components → components}/customise/CustomRendering.stories.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Anchor.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Children.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/DataTable.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Description.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/DocString.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/ErrorMessage.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Examples.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Keyword.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Parameter.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/StatusIcon.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/StepsList.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Tags.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/Title.module.scss +0 -0
- /package/dist/{src/components → components}/gherkin/attachment/Attachment.module.scss +0 -0
- /package/dist/{src/components → components}/results/AmbiguousResult.module.scss +0 -0
- /package/dist/{src/components → components}/results/ResultNote.module.scss +0 -0
- /package/dist/{src/components → components}/results/SourceReference.module.scss +0 -0
- /package/dist/{src/components → components}/results/TestCaseOutcome.module.scss +0 -0
- /package/dist/{src/components → components}/results/TestRunHookOutcome.module.scss +0 -0
- /package/dist/{src/components → components}/results/TestStepAttachments.module.scss +0 -0
- /package/dist/{src/components → components}/results/TestStepDuration.module.scss +0 -0
- /package/dist/{src/components → components}/results/TestStepOutcome.module.scss +0 -0
- /package/dist/{src/components → components}/results/UndefinedResult.module.scss +0 -0
- /package/dist/{src/styles → styles}/statuses.scss +0 -0
- /package/dist/{src/styles → styles}/tables.scss +0 -0
- /package/dist/{src/styles → styles}/theming.scss +0 -0
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> A set of React components for rendering Gherkin documents and Cucumber results.
|
|
4
4
|
|
|
5
5
|
Preview and examples:
|
|
6
|
-
https://
|
|
6
|
+
https://react-components-9pg.pages.dev/
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|
|
|
@@ -129,4 +129,4 @@ Staying with the doc string example, you can use the same `overrides` prop, but
|
|
|
129
129
|
In each case where you provide your own component, it will receive the same props as the default component, plus two more:
|
|
130
130
|
|
|
131
131
|
- `styles` - class names for the default styling, so you can still apply these to your custom component if it makes sense
|
|
132
|
-
- `DefaultRenderer` - the default React component, useful if you only want to provide your own rendering for certain cases, and otherwise fall back to the default rendering (don't forget to pass it the props)
|
|
132
|
+
- `DefaultRenderer` - the default React component, useful if you only want to provide your own rendering for certain cases, and otherwise fall back to the default rendering (don't forget to pass it the props)
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Query as CucumberQuery } from '@cucumber/query';
|
|
2
|
+
import { createContext } from 'react';
|
|
3
|
+
export default createContext(new CucumberQuery());
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VjdW1iZXJRdWVyeUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ3VjdW1iZXJRdWVyeUNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssSUFBSSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRXJDLGVBQWUsYUFBYSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5IGFzIEN1Y3VtYmVyUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvcXVlcnknXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUNvbnRleHQobmV3IEN1Y3VtYmVyUXVlcnkoKSlcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
|
|
2
|
+
import { createContext } from 'react';
|
|
3
|
+
export default createContext(new GherkinQuery());
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2hlcmtpblF1ZXJ5Q29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9HaGVya2luUXVlcnlDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLElBQUksWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVyQyxlQUFlLGFBQWEsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeSBhcyBHaGVya2luUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvZ2hlcmtpbi11dGlscydcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQ29udGV4dChuZXcgR2hlcmtpblF1ZXJ5KCkpXG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
export default createContext({
|
|
3
|
+
query: '',
|
|
4
|
+
hideStatuses: [],
|
|
5
|
+
unchanged: true,
|
|
6
|
+
searchTerm: undefined,
|
|
7
|
+
tagExpression: undefined,
|
|
8
|
+
update: () => { },
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZWFyY2hDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFvQnJDLGVBQWUsYUFBYSxDQUFxQjtJQUMvQyxLQUFLLEVBQUUsRUFBRTtJQUNULFlBQVksRUFBRSxFQUFFO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLFNBQVM7SUFDckIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7Q0FDakIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUZXN0U3RlcFJlc3VsdFN0YXR1cyBhcyBTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tICdAY3VjdW1iZXIvdGFnLWV4cHJlc3Npb25zJ1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFN0YXRlIHtcbiAgcmVhZG9ubHkgcXVlcnk6IHN0cmluZ1xuICByZWFkb25seSBoaWRlU3RhdHVzZXM6IHJlYWRvbmx5IFN0YXR1c1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoT3BlcmF0aW9ucyB7XG4gIHVwZGF0ZTogKGNoYW5nZXM6IFBhcnRpYWw8U2VhcmNoU3RhdGU+KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ3JpdGVyaWEge1xuICByZWFkb25seSBoaWRlU3RhdHVzZXM6IHJlYWRvbmx5IFN0YXR1c1tdXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm0/OiBzdHJpbmdcbiAgcmVhZG9ubHkgdGFnRXhwcmVzc2lvbj86IE5vZGVcbiAgcmVhZG9ubHkgdW5jaGFuZ2VkOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbnRleHRWYWx1ZSA9IFNlYXJjaFN0YXRlICYgU2VhcmNoT3BlcmF0aW9ucyAmIEZpbHRlckNyaXRlcmlhXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUNvbnRleHQ8U2VhcmNoQ29udGV4dFZhbHVlPih7XG4gIHF1ZXJ5OiAnJyxcbiAgaGlkZVN0YXR1c2VzOiBbXSxcbiAgdW5jaGFuZ2VkOiB0cnVlLFxuICBzZWFyY2hUZXJtOiB1bmRlZmluZWQsXG4gIHRhZ0V4cHJlc3Npb246IHVuZGVmaW5lZCxcbiAgdXBkYXRlOiAoKSA9PiB7fSxcbn0pXG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import toRepositoryId from './toRepositoryId.js';
|
|
2
|
+
// TODO move upstream to create-meta
|
|
3
|
+
export default function ciCommitLink(ci) {
|
|
4
|
+
if (ci.git?.remote) {
|
|
5
|
+
const repositoryId = toRepositoryId(ci.git.remote);
|
|
6
|
+
const github = repositoryId.startsWith('github.com') || ci.name === 'GitHub Actions';
|
|
7
|
+
if (ci.git.revision && github) {
|
|
8
|
+
return `https://${repositoryId}/commit/${ci.git.revision}`;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lDb21taXRMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NpQ29tbWl0TGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQTtBQUVoRCxvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE9BQU8sVUFBVSxZQUFZLENBQUMsRUFBTTtJQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbEQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFBO1FBQ3BGLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDOUIsT0FBTyxXQUFXLFlBQVksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQzVELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5cbmltcG9ydCB0b1JlcG9zaXRvcnlJZCBmcm9tICcuL3RvUmVwb3NpdG9yeUlkLmpzJ1xuXG4vLyBUT0RPIG1vdmUgdXBzdHJlYW0gdG8gY3JlYXRlLW1ldGFcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNpQ29tbWl0TGluayhjaTogQ2kpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoY2kuZ2l0Py5yZW1vdGUpIHtcbiAgICBjb25zdCByZXBvc2l0b3J5SWQgPSB0b1JlcG9zaXRvcnlJZChjaS5naXQucmVtb3RlKVxuICAgIGNvbnN0IGdpdGh1YiA9IHJlcG9zaXRvcnlJZC5zdGFydHNXaXRoKCdnaXRodWIuY29tJykgfHwgY2kubmFtZSA9PT0gJ0dpdEh1YiBBY3Rpb25zJ1xuICAgIGlmIChjaS5naXQucmV2aXNpb24gJiYgZ2l0aHViKSB7XG4gICAgICByZXR1cm4gYGh0dHBzOi8vJHtyZXBvc2l0b3J5SWR9L2NvbW1pdC8ke2NpLmdpdC5yZXZpc2lvbn1gXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { faCodeCommit } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import ciCommitLink from '../../ciCommitLink.js';
|
|
5
|
+
export const CICommitLink = ({ ci }) => {
|
|
6
|
+
if (!ci.git) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const shortHash = ci.git.revision.substring(0, 7);
|
|
10
|
+
const commitLink = ciCommitLink(ci);
|
|
11
|
+
if (commitLink) {
|
|
12
|
+
return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeCommit }), _jsx("a", { href: commitLink, target: "_blank", rel: "noopener nofollow noreferrer", children: _jsx("code", { children: shortHash }) })] }));
|
|
13
|
+
}
|
|
14
|
+
return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeCommit }), _jsx("code", { children: shortHash })] }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0lDb21taXRMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NJQ29tbWl0TGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUE7QUFFaEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUVwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2pELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVuQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUksRUFDcEYsWUFBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxRQUFRLEVBQUMsR0FBRyxFQUFDLDhCQUE4QixZQUNyRSx5QkFBTyxTQUFTLEdBQVEsR0FDdEIsSUFDSCxDQUNKLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUksRUFDcEYseUJBQU8sU0FBUyxHQUFRLElBQ3ZCLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNvZGVDb21taXQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCBjaUNvbW1pdExpbmsgZnJvbSAnLi4vLi4vY2lDb21taXRMaW5rLmpzJ1xuXG5leHBvcnQgY29uc3QgQ0lDb21taXRMaW5rOiBGQzx7XG4gIGNpOiBDaVxufT4gPSAoeyBjaSB9KSA9PiB7XG4gIGlmICghY2kuZ2l0KSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IHNob3J0SGFzaCA9IGNpLmdpdC5yZXZpc2lvbi5zdWJzdHJpbmcoMCwgNylcbiAgY29uc3QgY29tbWl0TGluayA9IGNpQ29tbWl0TGluayhjaSlcblxuICBpZiAoY29tbWl0TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFDb2RlQ29tbWl0fSAvPlxuICAgICAgICA8YSBocmVmPXtjb21taXRMaW5rfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub2ZvbGxvdyBub3JlZmVycmVyXCI+XG4gICAgICAgICAgPGNvZGU+e3Nob3J0SGFzaH08L2NvZGU+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFDb2RlQ29tbWl0fSAvPlxuICAgICAgPGNvZGU+e3Nob3J0SGFzaH08L2NvZGU+XG4gICAgPC8+XG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { faServer } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
export const CIJobLink = ({ ci }) => {
|
|
5
|
+
if (ci.url) {
|
|
6
|
+
return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faServer }), _jsx("a", { href: ci.url, target: "_blank", rel: "noopener nofollow noreferrer", children: ci.name })] }));
|
|
7
|
+
}
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faServer }), _jsx("span", { children: ci.name })] }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0lKb2JMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NJSm9iTGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUVqQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNkLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUNMLDhCQUNFLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEdBQUksRUFDaEYsWUFBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsRUFBQyw4QkFBOEIsWUFDaEUsRUFBRSxDQUFDLElBQUksR0FDTixJQUNILENBQ0osQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLENBQ0wsOEJBQ0UsS0FBQyxlQUFlLG1CQUFhLE1BQU0sRUFBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsR0FBSSxFQUNoRix5QkFBTyxFQUFFLENBQUMsSUFBSSxHQUFRLElBQ3JCLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2kgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYVNlcnZlciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuZXhwb3J0IGNvbnN0IENJSm9iTGluazogRkM8e1xuICBjaTogQ2lcbn0+ID0gKHsgY2kgfSkgPT4ge1xuICBpZiAoY2kudXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxGb250QXdlc29tZUljb24gYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9e3sgb3BhY2l0eTogMC43NSB9fSBpY29uPXtmYVNlcnZlcn0gLz5cbiAgICAgICAgPGEgaHJlZj17Y2kudXJsfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub2ZvbGxvdyBub3JlZmVycmVyXCI+XG4gICAgICAgICAge2NpLm5hbWV9XG4gICAgICAgIDwvYT5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFTZXJ2ZXJ9IC8+XG4gICAgICA8c3Bhbj57Y2kubmFtZX08L3NwYW4+XG4gICAgPC8+XG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { parse } from '@cucumber/tag-expressions';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import isTagExpression from '../../isTagExpression.js';
|
|
5
|
+
import SearchQueryContext from '../../SearchContext.js';
|
|
6
|
+
export const ControlledSearchProvider = ({ value, onChange, children, }) => {
|
|
7
|
+
const contextValue = useMemo(() => {
|
|
8
|
+
const unchanged = !value.query && !value.hideStatuses.length;
|
|
9
|
+
return {
|
|
10
|
+
query: value.query,
|
|
11
|
+
hideStatuses: value.hideStatuses,
|
|
12
|
+
unchanged,
|
|
13
|
+
...deriveState(value.query),
|
|
14
|
+
update: (newValues) => {
|
|
15
|
+
onChange({ ...value, ...newValues });
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}, [value, onChange]);
|
|
19
|
+
return _jsx(SearchQueryContext.Provider, { value: contextValue, children: children });
|
|
20
|
+
};
|
|
21
|
+
function deriveState(query) {
|
|
22
|
+
if (!query) {
|
|
23
|
+
return {};
|
|
24
|
+
}
|
|
25
|
+
if (isTagExpression(query)) {
|
|
26
|
+
try {
|
|
27
|
+
return {
|
|
28
|
+
tagExpression: parse(query),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error(`Failed to parse tag expression "${query}":`, error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
searchTerm: query,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0NvbnRyb2xsZWRTZWFyY2hQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRCxPQUFPLEVBQW1DLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVoRSxPQUFPLGVBQWUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLGtCQUdOLE1BQU0sd0JBQXdCLENBQUE7QUFPL0IsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQWlDLENBQUMsRUFDckUsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEdBQ1QsRUFBRSxFQUFFO0lBQ0gsTUFBTSxZQUFZLEdBQXVCLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDcEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUE7UUFDNUQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsU0FBUztZQUNULEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUMxQyxRQUFRLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUE7WUFDdEMsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNyQixPQUFPLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxZQUFZLFlBQUcsUUFBUSxHQUErQixDQUFBO0FBQ25HLENBQUMsQ0FBQTtBQUVELFNBQVMsV0FBVyxDQUFDLEtBQWE7SUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUM7WUFDSCxPQUFPO2dCQUNMLGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO2FBQzVCLENBQUE7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEtBQUssSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdAY3VjdW1iZXIvdGFnLWV4cHJlc3Npb25zJ1xuaW1wb3J0IHsgdHlwZSBGQywgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgaXNUYWdFeHByZXNzaW9uIGZyb20gJy4uLy4uL2lzVGFnRXhwcmVzc2lvbi5qcydcbmltcG9ydCBTZWFyY2hRdWVyeUNvbnRleHQsIHtcbiAgdHlwZSBTZWFyY2hDb250ZXh0VmFsdWUsXG4gIHR5cGUgU2VhcmNoU3RhdGUsXG59IGZyb20gJy4uLy4uL1NlYXJjaENvbnRleHQuanMnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHZhbHVlOiBTZWFyY2hTdGF0ZVxuICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBTZWFyY2hTdGF0ZSkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxQcm9wcz4+ID0gKHtcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgY29udGV4dFZhbHVlOiBTZWFyY2hDb250ZXh0VmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1bmNoYW5nZWQgPSAhdmFsdWUucXVlcnkgJiYgIXZhbHVlLmhpZGVTdGF0dXNlcy5sZW5ndGhcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHZhbHVlLnF1ZXJ5LFxuICAgICAgaGlkZVN0YXR1c2VzOiB2YWx1ZS5oaWRlU3RhdHVzZXMsXG4gICAgICB1bmNoYW5nZWQsXG4gICAgICAuLi5kZXJpdmVTdGF0ZSh2YWx1ZS5xdWVyeSksXG4gICAgICB1cGRhdGU6IChuZXdWYWx1ZXM6IFBhcnRpYWw8U2VhcmNoU3RhdGU+KSA9PiB7XG4gICAgICAgIG9uQ2hhbmdlKHsgLi4udmFsdWUsIC4uLm5ld1ZhbHVlcyB9KVxuICAgICAgfSxcbiAgICB9XG4gIH0sIFt2YWx1ZSwgb25DaGFuZ2VdKVxuICByZXR1cm4gPFNlYXJjaFF1ZXJ5Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT57Y2hpbGRyZW59PC9TZWFyY2hRdWVyeUNvbnRleHQuUHJvdmlkZXI+XG59XG5cbmZ1bmN0aW9uIGRlcml2ZVN0YXRlKHF1ZXJ5OiBzdHJpbmcpOiBQaWNrPFNlYXJjaENvbnRleHRWYWx1ZSwgJ3NlYXJjaFRlcm0nIHwgJ3RhZ0V4cHJlc3Npb24nPiB7XG4gIGlmICghcXVlcnkpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuICBpZiAoaXNUYWdFeHByZXNzaW9uKHF1ZXJ5KSkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0YWdFeHByZXNzaW9uOiBwYXJzZShxdWVyeSksXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBwYXJzZSB0YWcgZXhwcmVzc2lvbiBcIiR7cXVlcnl9XCI6YCwgZXJyb3IpXG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgc2VhcmNoVGVybTogcXVlcnksXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { faCheck, faCopy } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import styles from './CopyButton.module.scss';
|
|
6
|
+
export const CopyButton = ({ text, className }) => {
|
|
7
|
+
const [copied, setCopied] = useState(false);
|
|
8
|
+
const handleCopy = () => {
|
|
9
|
+
navigator.clipboard
|
|
10
|
+
.writeText(text)
|
|
11
|
+
.then(() => {
|
|
12
|
+
setCopied(true);
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
setCopied(false);
|
|
15
|
+
}, 3000);
|
|
16
|
+
})
|
|
17
|
+
.catch((err) => {
|
|
18
|
+
console.error('Failed to copy', err);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
return (_jsx("button", { type: "button", onClick: handleCopy, "aria-label": copied ? 'Copied' : 'Copy', disabled: copied, className: `${styles.button}${className ? ` ${className}` : ''}`, children: _jsx(FontAwesomeIcon, { icon: copied ? faCheck : faCopy }) }));
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29weUJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9Db3B5QnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDaEUsT0FBTyxFQUFXLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV6QyxPQUFPLE1BQU0sTUFBTSwwQkFBMEIsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTZDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMxRixNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUzQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsU0FBUyxDQUFDLFNBQVM7YUFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQzthQUNmLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDZixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDVixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDdEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUE7SUFFRCxPQUFPLENBQ0wsaUJBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixPQUFPLEVBQUUsVUFBVSxnQkFDUCxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUN0QyxRQUFRLEVBQUUsTUFBTSxFQUNoQixTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFlBRWhFLEtBQUMsZUFBZSxJQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFJLEdBQzdDLENBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhQ2hlY2ssIGZhQ29weSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB7IHR5cGUgRkMsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9Db3B5QnV0dG9uLm1vZHVsZS5zY3NzJ1xuXG5leHBvcnQgY29uc3QgQ29weUJ1dHRvbjogRkM8eyB0ZXh0OiBzdHJpbmc7IGNsYXNzTmFtZT86IHN0cmluZyB9PiA9ICh7IHRleHQsIGNsYXNzTmFtZSB9KSA9PiB7XG4gIGNvbnN0IFtjb3BpZWQsIHNldENvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBoYW5kbGVDb3B5ID0gKCkgPT4ge1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgIC53cml0ZVRleHQodGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgc2V0Q29waWVkKHRydWUpXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldENvcGllZChmYWxzZSlcbiAgICAgICAgfSwgMzAwMClcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gY29weScsIGVycilcbiAgICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgb25DbGljaz17aGFuZGxlQ29weX1cbiAgICAgIGFyaWEtbGFiZWw9e2NvcGllZCA/ICdDb3BpZWQnIDogJ0NvcHknfVxuICAgICAgZGlzYWJsZWQ9e2NvcGllZH1cbiAgICAgIGNsYXNzTmFtZT17YCR7c3R5bGVzLmJ1dHRvbn0ke2NsYXNzTmFtZSA/IGAgJHtjbGFzc05hbWV9YCA6ICcnfWB9XG4gICAgPlxuICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtjb3BpZWQgPyBmYUNoZWNrIDogZmFDb3B5fSAvPlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import { useContext, useState } from 'react';
|
|
5
|
+
import { Button, Disclosure, DisclosureGroup, DisclosurePanel, DisclosureStateContext, Heading, } from 'react-aria-components';
|
|
6
|
+
import { StatusIcon } from '../gherkin/index.js';
|
|
7
|
+
import styles from './DocumentAccordion.module.scss';
|
|
8
|
+
const LazyContent = ({ children }) => {
|
|
9
|
+
const state = useContext(DisclosureStateContext);
|
|
10
|
+
const [hasBeenExpanded, setHasBeenExpanded] = useState(state?.isExpanded ?? false);
|
|
11
|
+
if (state?.isExpanded && !hasBeenExpanded) {
|
|
12
|
+
setHasBeenExpanded(true);
|
|
13
|
+
}
|
|
14
|
+
return hasBeenExpanded ? children : null;
|
|
15
|
+
};
|
|
16
|
+
export const DocumentAccordion = ({ expanded, children }) => {
|
|
17
|
+
return (_jsx(DisclosureGroup, { allowsMultipleExpanded: true, defaultExpandedKeys: expanded, className: styles.accordion, children: children }));
|
|
18
|
+
};
|
|
19
|
+
export const DocumentAccordionItem = ({ status, uri, children, }) => {
|
|
20
|
+
return (_jsxs(Disclosure, { id: uri, className: styles.item, children: [_jsx(Heading, { className: styles.heading, children: _jsxs(Button, { slot: "trigger", className: styles.button, children: [_jsx(FontAwesomeIcon, { className: styles.chevron, "aria-hidden": "true", icon: faChevronRight }), _jsx("span", { className: styles.icon, children: _jsx(StatusIcon, { status: status }) }), _jsx("span", { children: uri })] }) }), _jsx(DisclosurePanel, { children: _jsx(LazyContent, { children: _jsx("div", { className: styles.content, children: children }) }) })] }));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnRBY2NvcmRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRG9jdW1lbnRBY2NvcmRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ2hFLE9BQU8sRUFBOEMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUN4RixPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixlQUFlLEVBQ2YsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixPQUFPLEdBQ1IsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDaEQsT0FBTyxNQUFNLE1BQU0saUNBQWlDLENBQUE7QUFhcEQsTUFBTSxXQUFXLEdBQW1DLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQ25FLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUVsRixJQUFJLEtBQUssRUFBRSxVQUFVLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUErQixDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDdEYsT0FBTyxDQUNMLEtBQUMsZUFBZSxJQUNkLHNCQUFzQixRQUN0QixtQkFBbUIsRUFBRSxRQUFRLEVBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxZQUUxQixRQUFRLEdBQ08sQ0FDbkIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQyxDQUFDLEVBQ3BFLE1BQU0sRUFDTixHQUFHLEVBQ0gsUUFBUSxHQUNULEVBQUUsRUFBRTtJQUNILE9BQU8sQ0FDTCxNQUFDLFVBQVUsSUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxhQUN6QyxLQUFDLE9BQU8sSUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sWUFDaEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sYUFDN0MsS0FBQyxlQUFlLElBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUFjLE1BQU0sRUFBQyxJQUFJLEVBQUUsY0FBYyxHQUFJLEVBQ3ZGLGVBQU0sU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQzFCLEtBQUMsVUFBVSxJQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUksR0FDekIsRUFDUCx5QkFBTyxHQUFHLEdBQVEsSUFDWCxHQUNELEVBQ1YsS0FBQyxlQUFlLGNBQ2QsS0FBQyxXQUFXLGNBQ1YsY0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sWUFBRyxRQUFRLEdBQU8sR0FDcEMsR0FDRSxJQUNQLENBQ2QsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdFN0ZXBSZXN1bHRTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNoZXZyb25SaWdodCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB7IHR5cGUgRkMsIHR5cGUgUmVhY3RFbGVtZW50LCB0eXBlIFJlYWN0Tm9kZSwgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEJ1dHRvbixcbiAgRGlzY2xvc3VyZSxcbiAgRGlzY2xvc3VyZUdyb3VwLFxuICBEaXNjbG9zdXJlUGFuZWwsXG4gIERpc2Nsb3N1cmVTdGF0ZUNvbnRleHQsXG4gIEhlYWRpbmcsXG59IGZyb20gJ3JlYWN0LWFyaWEtY29tcG9uZW50cydcblxuaW1wb3J0IHsgU3RhdHVzSWNvbiB9IGZyb20gJy4uL2doZXJraW4vaW5kZXguanMnXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vRG9jdW1lbnRBY2NvcmRpb24ubW9kdWxlLnNjc3MnXG5cbmludGVyZmFjZSBEb2N1bWVudEFjY29yZGlvblByb3BzIHtcbiAgZXhwYW5kZWQ6IEl0ZXJhYmxlPHN0cmluZz5cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxufVxuXG5pbnRlcmZhY2UgRG9jdW1lbnRBY2NvcmRpb25JdGVtUHJvcHMge1xuICBzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzXG4gIHVyaTogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbn1cblxuY29uc3QgTGF6eUNvbnRlbnQ6IEZDPHsgY2hpbGRyZW46IFJlYWN0RWxlbWVudCB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3Qgc3RhdGUgPSB1c2VDb250ZXh0KERpc2Nsb3N1cmVTdGF0ZUNvbnRleHQpXG4gIGNvbnN0IFtoYXNCZWVuRXhwYW5kZWQsIHNldEhhc0JlZW5FeHBhbmRlZF0gPSB1c2VTdGF0ZShzdGF0ZT8uaXNFeHBhbmRlZCA/PyBmYWxzZSlcblxuICBpZiAoc3RhdGU/LmlzRXhwYW5kZWQgJiYgIWhhc0JlZW5FeHBhbmRlZCkge1xuICAgIHNldEhhc0JlZW5FeHBhbmRlZCh0cnVlKVxuICB9XG5cbiAgcmV0dXJuIGhhc0JlZW5FeHBhbmRlZCA/IGNoaWxkcmVuIDogbnVsbFxufVxuXG5leHBvcnQgY29uc3QgRG9jdW1lbnRBY2NvcmRpb246IEZDPERvY3VtZW50QWNjb3JkaW9uUHJvcHM+ID0gKHsgZXhwYW5kZWQsIGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8RGlzY2xvc3VyZUdyb3VwXG4gICAgICBhbGxvd3NNdWx0aXBsZUV4cGFuZGVkXG4gICAgICBkZWZhdWx0RXhwYW5kZWRLZXlzPXtleHBhbmRlZH1cbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFjY29yZGlvbn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9EaXNjbG9zdXJlR3JvdXA+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERvY3VtZW50QWNjb3JkaW9uSXRlbTogRkM8RG9jdW1lbnRBY2NvcmRpb25JdGVtUHJvcHM+ID0gKHtcbiAgc3RhdHVzLFxuICB1cmksXG4gIGNoaWxkcmVuLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxEaXNjbG9zdXJlIGlkPXt1cml9IGNsYXNzTmFtZT17c3R5bGVzLml0ZW19PlxuICAgICAgPEhlYWRpbmcgY2xhc3NOYW1lPXtzdHlsZXMuaGVhZGluZ30+XG4gICAgICAgIDxCdXR0b24gc2xvdD1cInRyaWdnZXJcIiBjbGFzc05hbWU9e3N0eWxlcy5idXR0b259PlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gY2xhc3NOYW1lPXtzdHlsZXMuY2hldnJvbn0gYXJpYS1oaWRkZW49XCJ0cnVlXCIgaWNvbj17ZmFDaGV2cm9uUmlnaHR9IC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICA8U3RhdHVzSWNvbiBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3VyaX08L3NwYW4+XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9IZWFkaW5nPlxuICAgICAgPERpc2Nsb3N1cmVQYW5lbD5cbiAgICAgICAgPExhenlDb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuY29udGVudH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L0xhenlDb250ZW50PlxuICAgICAgPC9EaXNjbG9zdXJlUGFuZWw+XG4gICAgPC9EaXNjbG9zdXJlPlxuICApXG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Query as GherkinQuery } from '@cucumber/gherkin-utils';
|
|
3
|
+
import { Query as CucumberQuery } from '@cucumber/query';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { QueriesProvider } from './QueriesProvider.js';
|
|
6
|
+
export const EnvelopesProvider = ({ envelopes, children }) => {
|
|
7
|
+
const { gherkinQuery, cucumberQuery } = useMemo(() => {
|
|
8
|
+
const gherkinQuery = new GherkinQuery();
|
|
9
|
+
const cucumberQuery = new CucumberQuery();
|
|
10
|
+
for (const envelope of envelopes) {
|
|
11
|
+
gherkinQuery.update(envelope);
|
|
12
|
+
cucumberQuery.update(envelope);
|
|
13
|
+
}
|
|
14
|
+
return { gherkinQuery, cucumberQuery };
|
|
15
|
+
}, [envelopes]);
|
|
16
|
+
return (_jsx(QueriesProvider, { gherkinQuery: gherkinQuery, cucumberQuery: cucumberQuery, children: children }));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52ZWxvcGVzUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRW52ZWxvcGVzUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxJQUFJLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRS9ELE9BQU8sRUFBRSxLQUFLLElBQUksYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFtQyxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBTXRELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDekYsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQTtRQUN6QyxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQTtJQUN4QyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ2YsT0FBTyxDQUNMLEtBQUMsZUFBZSxJQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsWUFDdEUsUUFBUSxHQUNPLENBQ25CLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeSBhcyBHaGVya2luUXVlcnkgfSBmcm9tICdAY3VjdW1iZXIvZ2hlcmtpbi11dGlscydcbmltcG9ydCB0eXBlIHsgRW52ZWxvcGUgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBRdWVyeSBhcyBDdWN1bWJlclF1ZXJ5IH0gZnJvbSAnQGN1Y3VtYmVyL3F1ZXJ5J1xuaW1wb3J0IHsgdHlwZSBGQywgdHlwZSBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBRdWVyaWVzUHJvdmlkZXIgfSBmcm9tICcuL1F1ZXJpZXNQcm92aWRlci5qcydcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZW52ZWxvcGVzOiByZWFkb25seSBFbnZlbG9wZVtdXG59XG5cbmV4cG9ydCBjb25zdCBFbnZlbG9wZXNQcm92aWRlcjogRkM8UHJvcHNXaXRoQ2hpbGRyZW48UHJvcHM+PiA9ICh7IGVudmVsb3BlcywgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCB7IGdoZXJraW5RdWVyeSwgY3VjdW1iZXJRdWVyeSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ2hlcmtpblF1ZXJ5ID0gbmV3IEdoZXJraW5RdWVyeSgpXG4gICAgY29uc3QgY3VjdW1iZXJRdWVyeSA9IG5ldyBDdWN1bWJlclF1ZXJ5KClcbiAgICBmb3IgKGNvbnN0IGVudmVsb3BlIG9mIGVudmVsb3Blcykge1xuICAgICAgZ2hlcmtpblF1ZXJ5LnVwZGF0ZShlbnZlbG9wZSlcbiAgICAgIGN1Y3VtYmVyUXVlcnkudXBkYXRlKGVudmVsb3BlKVxuICAgIH1cbiAgICByZXR1cm4geyBnaGVya2luUXVlcnksIGN1Y3VtYmVyUXVlcnkgfVxuICB9LCBbZW52ZWxvcGVzXSlcbiAgcmV0dXJuIChcbiAgICA8UXVlcmllc1Byb3ZpZGVyIGdoZXJraW5RdWVyeT17Z2hlcmtpblF1ZXJ5fSBjdWN1bWJlclF1ZXJ5PXtjdWN1bWJlclF1ZXJ5fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1F1ZXJpZXNQcm92aWRlcj5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TestStepResultStatus, TimeConversion } from '@cucumber/messages';
|
|
3
|
+
import { faCodeBranch, faStopwatch, faTag } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { formatExecutionDistance } from '../../formatExecutionDistance.js';
|
|
6
|
+
import { formatExecutionDuration } from '../../formatExecutionDuration.js';
|
|
7
|
+
import { formatPassedQuantity } from '../../formatPassedQuantity.js';
|
|
8
|
+
import { formatStatusRate } from '../../formatStatusRate.js';
|
|
9
|
+
import { useQueries } from '../../hooks/index.js';
|
|
10
|
+
import { useResultStatistics } from '../../hooks/useResultStatistics.js';
|
|
11
|
+
import { CICommitLink } from './CICommitLink.js';
|
|
12
|
+
import { CIJobLink } from './CIJobLink.js';
|
|
13
|
+
import { CopyButton } from './CopyButton.js';
|
|
14
|
+
import styles from './ExecutionSummary.module.scss';
|
|
15
|
+
import { HeaderItem, HeaderSection, HeaderSubItem } from './Header.js';
|
|
16
|
+
import { HealthChart } from './HealthChart.js';
|
|
17
|
+
import { ImplementationIcon } from './ImplementationIcon.js';
|
|
18
|
+
import { makeSetupString } from './makeSetupString.js';
|
|
19
|
+
import { OSIcon } from './OSIcon.js';
|
|
20
|
+
import { RuntimeIcon } from './RuntimeIcon.js';
|
|
21
|
+
export const ExecutionSummary = () => {
|
|
22
|
+
const { cucumberQuery } = useQueries();
|
|
23
|
+
const testRunStarted = cucumberQuery.findTestRunStarted();
|
|
24
|
+
const testRunFinished = cucumberQuery.findTestRunFinished();
|
|
25
|
+
const meta = cucumberQuery.findMeta();
|
|
26
|
+
const { scenarioCountByStatus, totalScenarioCount } = useResultStatistics();
|
|
27
|
+
const startDate = testRunStarted?.timestamp
|
|
28
|
+
? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunStarted.timestamp))
|
|
29
|
+
: undefined;
|
|
30
|
+
const finishDate = testRunFinished?.timestamp
|
|
31
|
+
? new Date(TimeConversion.timestampToMillisecondsSinceEpoch(testRunFinished.timestamp))
|
|
32
|
+
: undefined;
|
|
33
|
+
return (_jsxs(_Fragment, { children: [meta && (_jsx(HeaderSection, { children: _jsxs(HeaderItem, { testId: "cucumber.summary.setup", children: [_jsxs(HeaderSubItem, { children: [_jsx(ImplementationIcon, { implementation: meta.implementation }), _jsx(RuntimeIcon, { runtime: meta.runtime }), _jsx(OSIcon, { os: meta.os })] }), _jsxs("span", { "data-testid": "cucumber.summary.setup.phrase", children: [_jsx(VersionedTool, { ...meta.implementation, fallback: "unknown tool" }), _jsx("em", { className: styles.conjunction, children: " with " }), _jsx(VersionedTool, { ...meta.runtime, fallback: "unknown runtime" }), _jsx("em", { className: styles.conjunction, children: " on " }), _jsx(VersionedTool, { ...meta.os, fallback: "unknown platform" })] }), _jsx(CopyButton, { text: makeSetupString(meta) })] }) })), _jsxs(HeaderSection, { children: [_jsx(HeaderItem, { testId: "cucumber.summary.status", children: _jsxs(HeaderSubItem, { children: [_jsx(HealthChart, {}), _jsxs("span", { children: [formatStatusRate(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount), ' ', formatPassedQuantity(scenarioCountByStatus[TestStepResultStatus.PASSED], totalScenarioCount), ' passed'] })] }) }), startDate && (_jsx(HeaderItem, { testId: "cucumber.summary.timing", children: _jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faStopwatch }), _jsxs("span", { children: [_jsx("time", { title: startDate.toString(), dateTime: startDate.toISOString(), children: formatExecutionDistance(startDate) }), finishDate && (_jsxs(_Fragment, { children: [_jsx("em", { className: styles.conjunction, children: " in " }), _jsx("span", { children: formatExecutionDuration(startDate, finishDate) })] }))] })] }) })), meta?.ci && (_jsx(HeaderItem, { testId: "cucumber.summary.ci", children: _jsx(HeaderSubItem, { children: _jsx(CIJobLink, { ci: meta.ci }) }) })), meta?.ci?.git && (_jsxs(HeaderItem, { testId: "cucumber.summary.git", children: [_jsx(HeaderSubItem, { children: _jsx(CICommitLink, { ci: meta.ci }) }), meta.ci.git.branch && (_jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faCodeBranch }), _jsx("code", { children: meta.ci.git.branch })] })), meta.ci.git.tag && (_jsxs(HeaderSubItem, { children: [_jsx(FontAwesomeIcon, { "aria-hidden": "true", style: { opacity: 0.75 }, icon: faTag }), _jsx("code", { children: meta.ci.git.tag })] }))] }))] })] }));
|
|
34
|
+
};
|
|
35
|
+
const VersionedTool = ({ name, fallback, version }) => {
|
|
36
|
+
return (_jsxs("code", { children: [_jsx("strong", { children: name || fallback }), version && _jsxs("span", { children: ["@", version] })] }));
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY3V0aW9uU3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9FeGVjdXRpb25TdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFHaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sTUFBTSxNQUFNLGdDQUFnQyxDQUFBO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFPLEdBQUcsRUFBRTtJQUN2QyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDdEMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUE7SUFDekQsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUE7SUFDM0QsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3JDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLG1CQUFtQixFQUFFLENBQUE7SUFFM0UsTUFBTSxTQUFTLEdBQUcsY0FBYyxFQUFFLFNBQVM7UUFDekMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNiLE1BQU0sVUFBVSxHQUFHLGVBQWUsRUFBRSxTQUFTO1FBQzNDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUNBQWlDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFFYixPQUFPLENBQ0wsOEJBQ0csSUFBSSxJQUFJLENBQ1AsS0FBQyxhQUFhLGNBQ1osTUFBQyxVQUFVLElBQUMsTUFBTSxFQUFDLHdCQUF3QixhQUN6QyxNQUFDLGFBQWEsZUFDWixLQUFDLGtCQUFrQixJQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFJLEVBQzNELEtBQUMsV0FBVyxJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFJLEVBQ3RDLEtBQUMsTUFBTSxJQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxHQUFJLElBQ1QsRUFDaEIsK0JBQWtCLCtCQUErQixhQUMvQyxLQUFDLGFBQWEsT0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBQyxjQUFjLEdBQUcsRUFDbEUsYUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsdUJBQWEsRUFDOUMsS0FBQyxhQUFhLE9BQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsaUJBQWlCLEdBQUcsRUFDOUQsYUFBSSxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcscUJBQVcsRUFDNUMsS0FBQyxhQUFhLE9BQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUMsa0JBQWtCLEdBQUcsSUFDckQsRUFDUCxLQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFJLElBQ2hDLEdBQ0MsQ0FDakIsRUFDRCxNQUFDLGFBQWEsZUFDWixLQUFDLFVBQVUsSUFBQyxNQUFNLEVBQUMseUJBQXlCLFlBQzFDLE1BQUMsYUFBYSxlQUNaLEtBQUMsV0FBVyxLQUFHLEVBQ2YsMkJBQ0csZ0JBQWdCLENBQ2YscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQ2xELGtCQUFrQixDQUNuQixFQUFFLEdBQUcsRUFDTCxvQkFBb0IsQ0FDbkIscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQ2xELGtCQUFrQixDQUNuQixFQUNBLFNBQVMsSUFDTCxJQUNPLEdBQ0wsRUFDWixTQUFTLElBQUksQ0FDWixLQUFDLFVBQVUsSUFBQyxNQUFNLEVBQUMseUJBQXlCLFlBQzFDLE1BQUMsYUFBYSxlQUNaLEtBQUMsZUFBZSxtQkFBYSxNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEdBQUksRUFDbkYsMkJBQ0UsZUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFLFlBQ2pFLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxHQUM5QixFQUNOLFVBQVUsSUFBSSxDQUNiLDhCQUNFLGFBQUksU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLHFCQUFXLEVBQzVDLHlCQUFPLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBUSxJQUM1RCxDQUNKLElBQ0ksSUFDTyxHQUNMLENBQ2QsRUFDQSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQ1gsS0FBQyxVQUFVLElBQUMsTUFBTSxFQUFDLHFCQUFxQixZQUN0QyxLQUFDLGFBQWEsY0FDWixLQUFDLFNBQVMsSUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBSSxHQUNaLEdBQ0wsQ0FDZCxFQUNBLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQ2hCLE1BQUMsVUFBVSxJQUFDLE1BQU0sRUFBQyxzQkFBc0IsYUFDdkMsS0FBQyxhQUFhLGNBQ1osS0FBQyxZQUFZLElBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUksR0FDZixFQUNmLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUNyQixNQUFDLGFBQWEsZUFDWixLQUFDLGVBQWUsbUJBQWEsTUFBTSxFQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxHQUFJLEVBQ3BGLHlCQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBUSxJQUNuQixDQUNqQixFQUNBLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUNsQixNQUFDLGFBQWEsZUFDWixLQUFDLGVBQWUsbUJBQWEsTUFBTSxFQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFJLEVBQzdFLHlCQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBUSxJQUNoQixDQUNqQixJQUNVLENBQ2QsSUFDYSxJQUNmLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUF1QyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3hGLE9BQU8sQ0FDTCwyQkFDRSwyQkFBUyxJQUFJLElBQUksUUFBUSxHQUFVLEVBQ2xDLE9BQU8sSUFBSSxnQ0FBUSxPQUFPLElBQVEsSUFDOUIsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQcm9kdWN0LCBUZXN0U3RlcFJlc3VsdFN0YXR1cywgVGltZUNvbnZlcnNpb24gfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYUNvZGVCcmFuY2gsIGZhU3RvcHdhdGNoLCBmYVRhZyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgZm9ybWF0RXhlY3V0aW9uRGlzdGFuY2UgfSBmcm9tICcuLi8uLi9mb3JtYXRFeGVjdXRpb25EaXN0YW5jZS5qcydcbmltcG9ydCB7IGZvcm1hdEV4ZWN1dGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vZm9ybWF0RXhlY3V0aW9uRHVyYXRpb24uanMnXG5pbXBvcnQgeyBmb3JtYXRQYXNzZWRRdWFudGl0eSB9IGZyb20gJy4uLy4uL2Zvcm1hdFBhc3NlZFF1YW50aXR5LmpzJ1xuaW1wb3J0IHsgZm9ybWF0U3RhdHVzUmF0ZSB9IGZyb20gJy4uLy4uL2Zvcm1hdFN0YXR1c1JhdGUuanMnXG5pbXBvcnQgeyB1c2VRdWVyaWVzIH0gZnJvbSAnLi4vLi4vaG9va3MvaW5kZXguanMnXG5pbXBvcnQgeyB1c2VSZXN1bHRTdGF0aXN0aWNzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlUmVzdWx0U3RhdGlzdGljcy5qcydcbmltcG9ydCB7IENJQ29tbWl0TGluayB9IGZyb20gJy4vQ0lDb21taXRMaW5rLmpzJ1xuaW1wb3J0IHsgQ0lKb2JMaW5rIH0gZnJvbSAnLi9DSUpvYkxpbmsuanMnXG5pbXBvcnQgeyBDb3B5QnV0dG9uIH0gZnJvbSAnLi9Db3B5QnV0dG9uLmpzJ1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL0V4ZWN1dGlvblN1bW1hcnkubW9kdWxlLnNjc3MnXG5pbXBvcnQgeyBIZWFkZXJJdGVtLCBIZWFkZXJTZWN0aW9uLCBIZWFkZXJTdWJJdGVtIH0gZnJvbSAnLi9IZWFkZXIuanMnXG5pbXBvcnQgeyBIZWFsdGhDaGFydCB9IGZyb20gJy4vSGVhbHRoQ2hhcnQuanMnXG5pbXBvcnQgeyBJbXBsZW1lbnRhdGlvbkljb24gfSBmcm9tICcuL0ltcGxlbWVudGF0aW9uSWNvbi5qcydcbmltcG9ydCB7IG1ha2VTZXR1cFN0cmluZyB9IGZyb20gJy4vbWFrZVNldHVwU3RyaW5nLmpzJ1xuaW1wb3J0IHsgT1NJY29uIH0gZnJvbSAnLi9PU0ljb24uanMnXG5pbXBvcnQgeyBSdW50aW1lSWNvbiB9IGZyb20gJy4vUnVudGltZUljb24uanMnXG5cbmV4cG9ydCBjb25zdCBFeGVjdXRpb25TdW1tYXJ5OiBGQyA9ICgpID0+IHtcbiAgY29uc3QgeyBjdWN1bWJlclF1ZXJ5IH0gPSB1c2VRdWVyaWVzKClcbiAgY29uc3QgdGVzdFJ1blN0YXJ0ZWQgPSBjdWN1bWJlclF1ZXJ5LmZpbmRUZXN0UnVuU3RhcnRlZCgpXG4gIGNvbnN0IHRlc3RSdW5GaW5pc2hlZCA9IGN1Y3VtYmVyUXVlcnkuZmluZFRlc3RSdW5GaW5pc2hlZCgpXG4gIGNvbnN0IG1ldGEgPSBjdWN1bWJlclF1ZXJ5LmZpbmRNZXRhKClcbiAgY29uc3QgeyBzY2VuYXJpb0NvdW50QnlTdGF0dXMsIHRvdGFsU2NlbmFyaW9Db3VudCB9ID0gdXNlUmVzdWx0U3RhdGlzdGljcygpXG5cbiAgY29uc3Qgc3RhcnREYXRlID0gdGVzdFJ1blN0YXJ0ZWQ/LnRpbWVzdGFtcFxuICAgID8gbmV3IERhdGUoVGltZUNvbnZlcnNpb24udGltZXN0YW1wVG9NaWxsaXNlY29uZHNTaW5jZUVwb2NoKHRlc3RSdW5TdGFydGVkLnRpbWVzdGFtcCkpXG4gICAgOiB1bmRlZmluZWRcbiAgY29uc3QgZmluaXNoRGF0ZSA9IHRlc3RSdW5GaW5pc2hlZD8udGltZXN0YW1wXG4gICAgPyBuZXcgRGF0ZShUaW1lQ29udmVyc2lvbi50aW1lc3RhbXBUb01pbGxpc2Vjb25kc1NpbmNlRXBvY2godGVzdFJ1bkZpbmlzaGVkLnRpbWVzdGFtcCkpXG4gICAgOiB1bmRlZmluZWRcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7bWV0YSAmJiAoXG4gICAgICAgIDxIZWFkZXJTZWN0aW9uPlxuICAgICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkuc2V0dXBcIj5cbiAgICAgICAgICAgIDxIZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgICA8SW1wbGVtZW50YXRpb25JY29uIGltcGxlbWVudGF0aW9uPXttZXRhLmltcGxlbWVudGF0aW9ufSAvPlxuICAgICAgICAgICAgICA8UnVudGltZUljb24gcnVudGltZT17bWV0YS5ydW50aW1lfSAvPlxuICAgICAgICAgICAgICA8T1NJY29uIG9zPXttZXRhLm9zfSAvPlxuICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjdWN1bWJlci5zdW1tYXJ5LnNldHVwLnBocmFzZVwiPlxuICAgICAgICAgICAgICA8VmVyc2lvbmVkVG9vbCB7Li4ubWV0YS5pbXBsZW1lbnRhdGlvbn0gZmFsbGJhY2s9XCJ1bmtub3duIHRvb2xcIiAvPlxuICAgICAgICAgICAgICA8ZW0gY2xhc3NOYW1lPXtzdHlsZXMuY29uanVuY3Rpb259PiB3aXRoIDwvZW0+XG4gICAgICAgICAgICAgIDxWZXJzaW9uZWRUb29sIHsuLi5tZXRhLnJ1bnRpbWV9IGZhbGxiYWNrPVwidW5rbm93biBydW50aW1lXCIgLz5cbiAgICAgICAgICAgICAgPGVtIGNsYXNzTmFtZT17c3R5bGVzLmNvbmp1bmN0aW9ufT4gb24gPC9lbT5cbiAgICAgICAgICAgICAgPFZlcnNpb25lZFRvb2wgey4uLm1ldGEub3N9IGZhbGxiYWNrPVwidW5rbm93biBwbGF0Zm9ybVwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8Q29weUJ1dHRvbiB0ZXh0PXttYWtlU2V0dXBTdHJpbmcobWV0YSl9IC8+XG4gICAgICAgICAgPC9IZWFkZXJJdGVtPlxuICAgICAgICA8L0hlYWRlclNlY3Rpb24+XG4gICAgICApfVxuICAgICAgPEhlYWRlclNlY3Rpb24+XG4gICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkuc3RhdHVzXCI+XG4gICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICA8SGVhbHRoQ2hhcnQgLz5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7Zm9ybWF0U3RhdHVzUmF0ZShcbiAgICAgICAgICAgICAgICBzY2VuYXJpb0NvdW50QnlTdGF0dXNbVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VEXSxcbiAgICAgICAgICAgICAgICB0b3RhbFNjZW5hcmlvQ291bnRcbiAgICAgICAgICAgICAgKX17JyAnfVxuICAgICAgICAgICAgICB7Zm9ybWF0UGFzc2VkUXVhbnRpdHkoXG4gICAgICAgICAgICAgICAgc2NlbmFyaW9Db3VudEJ5U3RhdHVzW1Rlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRF0sXG4gICAgICAgICAgICAgICAgdG90YWxTY2VuYXJpb0NvdW50XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHsnIHBhc3NlZCd9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICA8L0hlYWRlckl0ZW0+XG4gICAgICAgIHtzdGFydERhdGUgJiYgKFxuICAgICAgICAgIDxIZWFkZXJJdGVtIHRlc3RJZD1cImN1Y3VtYmVyLnN1bW1hcnkudGltaW5nXCI+XG4gICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT17eyBvcGFjaXR5OiAwLjc1IH19IGljb249e2ZhU3RvcHdhdGNofSAvPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICA8dGltZSB0aXRsZT17c3RhcnREYXRlLnRvU3RyaW5nKCl9IGRhdGVUaW1lPXtzdGFydERhdGUudG9JU09TdHJpbmcoKX0+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0RXhlY3V0aW9uRGlzdGFuY2Uoc3RhcnREYXRlKX1cbiAgICAgICAgICAgICAgICA8L3RpbWU+XG4gICAgICAgICAgICAgICAge2ZpbmlzaERhdGUgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPGVtIGNsYXNzTmFtZT17c3R5bGVzLmNvbmp1bmN0aW9ufT4gaW4gPC9lbT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e2Zvcm1hdEV4ZWN1dGlvbkR1cmF0aW9uKHN0YXJ0RGF0ZSwgZmluaXNoRGF0ZSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgIDwvSGVhZGVySXRlbT5cbiAgICAgICAgKX1cbiAgICAgICAge21ldGE/LmNpICYmIChcbiAgICAgICAgICA8SGVhZGVySXRlbSB0ZXN0SWQ9XCJjdWN1bWJlci5zdW1tYXJ5LmNpXCI+XG4gICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgPENJSm9iTGluayBjaT17bWV0YS5jaX0gLz5cbiAgICAgICAgICAgIDwvSGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICA8L0hlYWRlckl0ZW0+XG4gICAgICAgICl9XG4gICAgICAgIHttZXRhPy5jaT8uZ2l0ICYmIChcbiAgICAgICAgICA8SGVhZGVySXRlbSB0ZXN0SWQ9XCJjdWN1bWJlci5zdW1tYXJ5LmdpdFwiPlxuICAgICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICAgIDxDSUNvbW1pdExpbmsgY2k9e21ldGEuY2l9IC8+XG4gICAgICAgICAgICA8L0hlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICB7bWV0YS5jaS5naXQuYnJhbmNoICYmIChcbiAgICAgICAgICAgICAgPEhlYWRlclN1Ykl0ZW0+XG4gICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT17eyBvcGFjaXR5OiAwLjc1IH19IGljb249e2ZhQ29kZUJyYW5jaH0gLz5cbiAgICAgICAgICAgICAgICA8Y29kZT57bWV0YS5jaS5naXQuYnJhbmNofTwvY29kZT5cbiAgICAgICAgICAgICAgPC9IZWFkZXJTdWJJdGVtPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHttZXRhLmNpLmdpdC50YWcgJiYgKFxuICAgICAgICAgICAgICA8SGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPXt7IG9wYWNpdHk6IDAuNzUgfX0gaWNvbj17ZmFUYWd9IC8+XG4gICAgICAgICAgICAgICAgPGNvZGU+e21ldGEuY2kuZ2l0LnRhZ308L2NvZGU+XG4gICAgICAgICAgICAgIDwvSGVhZGVyU3ViSXRlbT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9IZWFkZXJJdGVtPlxuICAgICAgICApfVxuICAgICAgPC9IZWFkZXJTZWN0aW9uPlxuICAgIDwvPlxuICApXG59XG5cbmNvbnN0IFZlcnNpb25lZFRvb2w6IEZDPFByb2R1Y3QgJiB7IGZhbGxiYWNrOiBzdHJpbmcgfT4gPSAoeyBuYW1lLCBmYWxsYmFjaywgdmVyc2lvbiB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGNvZGU+XG4gICAgICA8c3Ryb25nPntuYW1lIHx8IGZhbGxiYWNrfTwvc3Ryb25nPlxuICAgICAge3ZlcnNpb24gJiYgPHNwYW4+QHt2ZXJzaW9ufTwvc3Bhbj59XG4gICAgPC9jb2RlPlxuICApXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useFilteredDocuments } from '../../hooks/useFilteredDocuments.js';
|
|
3
|
+
import styles from './FilteredDocuments.module.scss';
|
|
4
|
+
import { GherkinDocumentList } from './GherkinDocumentList.js';
|
|
5
|
+
export const FilteredDocuments = () => {
|
|
6
|
+
const { results, filtered } = useFilteredDocuments();
|
|
7
|
+
if (!results) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
if (!results.length) {
|
|
11
|
+
return filtered ? (_jsx("p", { className: styles.empty, children: "No scenarios match your query and/or filters." })) : (_jsx("p", { className: styles.empty, children: "No scenarios were executed." }));
|
|
12
|
+
}
|
|
13
|
+
return _jsx(GherkinDocumentList, { gherkinDocuments: results, preExpand: true });
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyZWREb2N1bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvRmlsdGVyZWREb2N1bWVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUMxRSxPQUFPLE1BQU0sTUFBTSxpQ0FBaUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUU5RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBTyxHQUFHLEVBQUU7SUFDeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFBO0lBRXBELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ2hCLFlBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLDhEQUFtRCxDQUM5RSxDQUFDLENBQUMsQ0FBQyxDQUNGLFlBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLDRDQUFpQyxDQUM1RCxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBQyxtQkFBbUIsSUFBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksR0FBSSxDQUFBO0FBQzVFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlRmlsdGVyZWREb2N1bWVudHMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VGaWx0ZXJlZERvY3VtZW50cy5qcydcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9GaWx0ZXJlZERvY3VtZW50cy5tb2R1bGUuc2NzcydcbmltcG9ydCB7IEdoZXJraW5Eb2N1bWVudExpc3QgfSBmcm9tICcuL0doZXJraW5Eb2N1bWVudExpc3QuanMnXG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJlZERvY3VtZW50czogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgcmVzdWx0cywgZmlsdGVyZWQgfSA9IHVzZUZpbHRlcmVkRG9jdW1lbnRzKClcblxuICBpZiAoIXJlc3VsdHMpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIGlmICghcmVzdWx0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmlsdGVyZWQgPyAoXG4gICAgICA8cCBjbGFzc05hbWU9e3N0eWxlcy5lbXB0eX0+Tm8gc2NlbmFyaW9zIG1hdGNoIHlvdXIgcXVlcnkgYW5kL29yIGZpbHRlcnMuPC9wPlxuICAgICkgOiAoXG4gICAgICA8cCBjbGFzc05hbWU9e3N0eWxlcy5lbXB0eX0+Tm8gc2NlbmFyaW9zIHdlcmUgZXhlY3V0ZWQuPC9wPlxuICAgIClcbiAgfVxuICByZXR1cm4gPEdoZXJraW5Eb2N1bWVudExpc3QgZ2hlcmtpbkRvY3VtZW50cz17cmVzdWx0c30gcHJlRXhwYW5kPXt0cnVlfSAvPlxufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { TestStepResultStatus, } from '@cucumber/messages';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { useMostSevereStatusByUri } from '../../hooks/useMostSevereStatusByUri.js';
|
|
5
|
+
import { GherkinDocument } from '../gherkin/index.js';
|
|
6
|
+
import { DocumentAccordion, DocumentAccordionItem } from './DocumentAccordion.js';
|
|
7
|
+
export const GherkinDocumentList = ({ gherkinDocuments, preExpand }) => {
|
|
8
|
+
const validDocuments = gherkinDocuments.filter((doc) => !!doc.uri);
|
|
9
|
+
const mostSevereStatusByUri = useMostSevereStatusByUri();
|
|
10
|
+
const [expanded] = useState(() => {
|
|
11
|
+
// Pre-expand any document that is *not* passed - assuming this is what people want to look at first
|
|
12
|
+
return preExpand
|
|
13
|
+
? validDocuments
|
|
14
|
+
.filter((doc) => mostSevereStatusByUri.get(doc.uri) !== TestStepResultStatus.PASSED)
|
|
15
|
+
.map((doc) => doc.uri)
|
|
16
|
+
: [];
|
|
17
|
+
});
|
|
18
|
+
return (_jsx(DocumentAccordion, { expanded: expanded, children: validDocuments.map((validDocument) => {
|
|
19
|
+
const status = mostSevereStatusByUri.get(validDocument.uri) ?? TestStepResultStatus.UNKNOWN;
|
|
20
|
+
return (_jsx(DocumentAccordionItem, { uri: validDocument.uri, status: status, children: _jsx(GherkinDocument, { gherkinDocument: validDocument }) }, validDocument.uri));
|
|
21
|
+
}) }));
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2hlcmtpbkRvY3VtZW50TGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9HaGVya2luRG9jdW1lbnRMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLG9CQUFvQixHQUNyQixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBVyxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBWWpGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFjLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNvQixDQUFBO0lBQ3hDLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQTtJQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUF3QixHQUFHLEVBQUU7UUFDdEQsb0dBQW9HO1FBQ3BHLE9BQU8sU0FBUztZQUNkLENBQUMsQ0FBRSxjQUFjO2lCQUNaLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7aUJBQ25GLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBYztZQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ1IsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLENBQ0wsS0FBQyxpQkFBaUIsSUFBQyxRQUFRLEVBQUUsUUFBUSxZQUNsQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUE7WUFDM0YsT0FBTyxDQUNMLEtBQUMscUJBQXFCLElBQXlCLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQ25GLEtBQUMsZUFBZSxJQUFDLGVBQWUsRUFBRSxhQUFhLEdBQUksSUFEekIsYUFBYSxDQUFDLEdBQUcsQ0FFckIsQ0FDekIsQ0FBQTtRQUNILENBQUMsQ0FBQyxHQUNnQixDQUNyQixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBHaGVya2luRG9jdW1lbnQgYXMgR2hlcmtpbkRvY3VtZW50TWVzc2FnZSxcbiAgVGVzdFN0ZXBSZXN1bHRTdGF0dXMsXG59IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IHR5cGUgRkMsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZU1vc3RTZXZlcmVTdGF0dXNCeVVyaSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1vc3RTZXZlcmVTdGF0dXNCeVVyaS5qcydcbmltcG9ydCB7IEdoZXJraW5Eb2N1bWVudCB9IGZyb20gJy4uL2doZXJraW4vaW5kZXguanMnXG5pbXBvcnQgeyBEb2N1bWVudEFjY29yZGlvbiwgRG9jdW1lbnRBY2NvcmRpb25JdGVtIH0gZnJvbSAnLi9Eb2N1bWVudEFjY29yZGlvbi5qcydcblxuaW50ZXJmYWNlIFZhbGlkR2hlcmtpbkRvY3VtZW50IGV4dGVuZHMgR2hlcmtpbkRvY3VtZW50TWVzc2FnZSB7XG4gIHVyaTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGdoZXJraW5Eb2N1bWVudHM6IHJlYWRvbmx5IEdoZXJraW5Eb2N1bWVudE1lc3NhZ2VbXVxuICAvLyBTZXQgdG8gdHJ1ZSBpZiBub24tUEFTU0VEIGRvY3VtZW50cyBzaG91bGQgYmUgcHJlLWV4cGFuZGVkXG4gIHByZUV4cGFuZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEdoZXJraW5Eb2N1bWVudExpc3Q6IEZDPFByb3BzPiA9ICh7IGdoZXJraW5Eb2N1bWVudHMsIHByZUV4cGFuZCB9KSA9PiB7XG4gIGNvbnN0IHZhbGlkRG9jdW1lbnRzID0gZ2hlcmtpbkRvY3VtZW50cy5maWx0ZXIoXG4gICAgKGRvYykgPT4gISFkb2MudXJpXG4gICkgYXMgUmVhZG9ubHlBcnJheTxWYWxpZEdoZXJraW5Eb2N1bWVudD5cbiAgY29uc3QgbW9zdFNldmVyZVN0YXR1c0J5VXJpID0gdXNlTW9zdFNldmVyZVN0YXR1c0J5VXJpKClcbiAgY29uc3QgW2V4cGFuZGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5QXJyYXk8c3RyaW5nPj4oKCkgPT4ge1xuICAgIC8vIFByZS1leHBhbmQgYW55IGRvY3VtZW50IHRoYXQgaXMgKm5vdCogcGFzc2VkIC0gYXNzdW1pbmcgdGhpcyBpcyB3aGF0IHBlb3BsZSB3YW50IHRvIGxvb2sgYXQgZmlyc3RcbiAgICByZXR1cm4gcHJlRXhwYW5kXG4gICAgICA/ICh2YWxpZERvY3VtZW50c1xuICAgICAgICAgIC5maWx0ZXIoKGRvYykgPT4gbW9zdFNldmVyZVN0YXR1c0J5VXJpLmdldChkb2MudXJpKSAhPT0gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VEKVxuICAgICAgICAgIC5tYXAoKGRvYykgPT4gZG9jLnVyaSkgYXMgc3RyaW5nW10pXG4gICAgICA6IFtdXG4gIH0pXG5cbiAgcmV0dXJuIChcbiAgICA8RG9jdW1lbnRBY2NvcmRpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgIHt2YWxpZERvY3VtZW50cy5tYXAoKHZhbGlkRG9jdW1lbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gbW9zdFNldmVyZVN0YXR1c0J5VXJpLmdldCh2YWxpZERvY3VtZW50LnVyaSkgPz8gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuVU5LTk9XTlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxEb2N1bWVudEFjY29yZGlvbkl0ZW0ga2V5PXt2YWxpZERvY3VtZW50LnVyaX0gdXJpPXt2YWxpZERvY3VtZW50LnVyaX0gc3RhdHVzPXtzdGF0dXN9PlxuICAgICAgICAgICAgPEdoZXJraW5Eb2N1bWVudCBnaGVya2luRG9jdW1lbnQ9e3ZhbGlkRG9jdW1lbnR9IC8+XG4gICAgICAgICAgPC9Eb2N1bWVudEFjY29yZGlvbkl0ZW0+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvRG9jdW1lbnRBY2NvcmRpb24+XG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import styles from './Header.module.scss';
|
|
3
|
+
export const HeaderSection = ({ children }) => {
|
|
4
|
+
return _jsx("div", { className: styles.section, children: children });
|
|
5
|
+
};
|
|
6
|
+
export const HeaderItem = ({ testId, children }) => {
|
|
7
|
+
return (_jsx("div", { "data-testid": testId, className: styles.item, children: children }));
|
|
8
|
+
};
|
|
9
|
+
export const HeaderSubItem = ({ children }) => {
|
|
10
|
+
return _jsx("div", { className: styles.subItem, children: children });
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0hlYWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sTUFBTSxNQUFNLHNCQUFzQixDQUFBO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBMEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDbkUsT0FBTyxjQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxZQUFHLFFBQVEsR0FBTyxDQUFBO0FBQ3pELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBK0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzdGLE9BQU8sQ0FDTCw2QkFBa0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxZQUM3QyxRQUFRLEdBQ0wsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEwQixDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxPQUFPLGNBQUssU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLFlBQUcsUUFBUSxHQUFPLENBQUE7QUFDekQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGQywgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHN0eWxlcyBmcm9tICcuL0hlYWRlci5tb2R1bGUuc2NzcydcblxuZXhwb3J0IGNvbnN0IEhlYWRlclNlY3Rpb246IEZDPFByb3BzV2l0aENoaWxkcmVuPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuc2VjdGlvbn0+e2NoaWxkcmVufTwvZGl2PlxufVxuXG5leHBvcnQgY29uc3QgSGVhZGVySXRlbTogRkM8UHJvcHNXaXRoQ2hpbGRyZW48eyB0ZXN0SWQ/OiBzdHJpbmcgfT4+ID0gKHsgdGVzdElkLCBjaGlsZHJlbiB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLXRlc3RpZD17dGVzdElkfSBjbGFzc05hbWU9e3N0eWxlcy5pdGVtfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgSGVhZGVyU3ViSXRlbTogRkM8UHJvcHNXaXRoQ2hpbGRyZW4+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5zdWJJdGVtfT57Y2hpbGRyZW59PC9kaXY+XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TestStepResultStatus } from '@cucumber/messages';
|
|
3
|
+
import { useResultStatistics } from '../../hooks/useResultStatistics.js';
|
|
4
|
+
import styles from './HealthChart.module.scss';
|
|
5
|
+
export const HealthChart = () => {
|
|
6
|
+
const { scenarioCountByStatus, totalScenarioCount, statusesWithScenarios } = useResultStatistics();
|
|
7
|
+
let offsetAccumulator = 0;
|
|
8
|
+
return (_jsxs("svg", { viewBox: "0 0 100 100", children: [_jsx("title", { children: "Pie chart showing proportion of results by status" }), _jsx("g", { transform: "rotate(-90 50 50)", children: statusesWithScenarios.length > 0 ? ([...statusesWithScenarios].map((status) => {
|
|
9
|
+
const scenarioCount = scenarioCountByStatus[status];
|
|
10
|
+
offsetAccumulator += scenarioCount;
|
|
11
|
+
return (_jsx("path", { className: styles.segment, "data-status": status, pathLength: totalScenarioCount, strokeDasharray: `${scenarioCount} ${totalScenarioCount - scenarioCount}`, strokeDashoffset: offsetAccumulator, strokeWidth: "50", d: "M75 50a1 1 90 10-50 0a1 1 90 10 50 0", fill: "none" }, status));
|
|
12
|
+
})) : (_jsx("path", { className: styles.segment, "data-status": TestStepResultStatus.UNKNOWN, pathLength: "1", strokeDasharray: "1 0", strokeDashoffset: "1", strokeWidth: "50", d: "M75 50a1 1 90 10-50 0a1 1 90 10 50 0", fill: "none" })) })] }));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhbHRoQ2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcHAvSGVhbHRoQ2hhcnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN4RSxPQUFPLE1BQU0sTUFBTSwyQkFBMkIsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQU8sR0FBRyxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLG1CQUFtQixFQUFFLENBQUE7SUFDbEcsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFDekIsT0FBTyxDQUNMLGVBQUssT0FBTyxFQUFDLGFBQWEsYUFDeEIsZ0ZBQWdFLEVBQ2hFLFlBQUcsU0FBUyxFQUFDLG1CQUFtQixZQUM3QixxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDeEMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ25ELGlCQUFpQixJQUFJLGFBQWEsQ0FBQTtvQkFDbEMsT0FBTyxDQUNMLGVBRUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUNaLE1BQU0sRUFDbkIsVUFBVSxFQUFFLGtCQUFrQixFQUM5QixlQUFlLEVBQUUsR0FBRyxhQUFhLElBQUksa0JBQWtCLEdBQUcsYUFBYSxFQUFFLEVBQ3pFLGdCQUFnQixFQUFFLGlCQUFpQixFQUNuQyxXQUFXLEVBQUMsSUFBSSxFQUNoQixDQUFDLEVBQUMsc0NBQXNDLEVBQ3hDLElBQUksRUFBQyxNQUFNLElBUk4sTUFBTSxDQVNYLENBQ0gsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLGVBQ0UsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLGlCQUNaLG9CQUFvQixDQUFDLE9BQU8sRUFDekMsVUFBVSxFQUFDLEdBQUcsRUFDZCxlQUFlLEVBQUMsS0FBSyxFQUNyQixnQkFBZ0IsRUFBQyxHQUFHLEVBQ3BCLFdBQVcsRUFBQyxJQUFJLEVBQ2hCLENBQUMsRUFBQyxzQ0FBc0MsRUFDeEMsSUFBSSxFQUFDLE1BQU0sR0FDWCxDQUNILEdBQ0MsSUFDQSxDQUNQLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0U3RlcFJlc3VsdFN0YXR1cyB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlUmVzdWx0U3RhdGlzdGljcyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVJlc3VsdFN0YXRpc3RpY3MuanMnXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vSGVhbHRoQ2hhcnQubW9kdWxlLnNjc3MnXG5cbmV4cG9ydCBjb25zdCBIZWFsdGhDaGFydDogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgc2NlbmFyaW9Db3VudEJ5U3RhdHVzLCB0b3RhbFNjZW5hcmlvQ291bnQsIHN0YXR1c2VzV2l0aFNjZW5hcmlvcyB9ID0gdXNlUmVzdWx0U3RhdGlzdGljcygpXG4gIGxldCBvZmZzZXRBY2N1bXVsYXRvciA9IDBcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPlxuICAgICAgPHRpdGxlPlBpZSBjaGFydCBzaG93aW5nIHByb3BvcnRpb24gb2YgcmVzdWx0cyBieSBzdGF0dXM8L3RpdGxlPlxuICAgICAgPGcgdHJhbnNmb3JtPVwicm90YXRlKC05MCA1MCA1MClcIj5cbiAgICAgICAge3N0YXR1c2VzV2l0aFNjZW5hcmlvcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgIFsuLi5zdGF0dXNlc1dpdGhTY2VuYXJpb3NdLm1hcCgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb0NvdW50ID0gc2NlbmFyaW9Db3VudEJ5U3RhdHVzW3N0YXR1c11cbiAgICAgICAgICAgIG9mZnNldEFjY3VtdWxhdG9yICs9IHNjZW5hcmlvQ291bnRcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAga2V5PXtzdGF0dXN9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuc2VnbWVudH1cbiAgICAgICAgICAgICAgICBkYXRhLXN0YXR1cz17c3RhdHVzfVxuICAgICAgICAgICAgICAgIHBhdGhMZW5ndGg9e3RvdGFsU2NlbmFyaW9Db3VudH1cbiAgICAgICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk9e2Ake3NjZW5hcmlvQ291bnR9ICR7dG90YWxTY2VuYXJpb0NvdW50IC0gc2NlbmFyaW9Db3VudH1gfVxuICAgICAgICAgICAgICAgIHN0cm9rZURhc2hvZmZzZXQ9e29mZnNldEFjY3VtdWxhdG9yfVxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgIGQ9XCJNNzUgNTBhMSAxIDkwIDEwLTUwIDBhMSAxIDkwIDEwIDUwIDBcIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApIDogKFxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5zZWdtZW50fVxuICAgICAgICAgICAgZGF0YS1zdGF0dXM9e1Rlc3RTdGVwUmVzdWx0U3RhdHVzLlVOS05PV059XG4gICAgICAgICAgICBwYXRoTGVuZ3RoPVwiMVwiXG4gICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk9XCIxIDBcIlxuICAgICAgICAgICAgc3Ryb2tlRGFzaG9mZnNldD1cIjFcIlxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MFwiXG4gICAgICAgICAgICBkPVwiTTc1IDUwYTEgMSA5MCAxMC01MCAwYTEgMSA5MCAxMCA1MCAwXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9nPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { stemmer } from '@orama/stemmers/english';
|
|
3
|
+
import { findAll } from 'highlight-words-core';
|
|
4
|
+
import ReactMarkdown from 'react-markdown';
|
|
5
|
+
import { useSearch } from '../../hooks/index.js';
|
|
6
|
+
import markdownComponents from './markdownComponents.js';
|
|
7
|
+
import rehypePlugins from './rehypePlugins.js';
|
|
8
|
+
import remarkPlugins from './remarkPlugins.js';
|
|
9
|
+
const allQueryWords = (queryWords) => {
|
|
10
|
+
return queryWords.reduce((allWords, word) => {
|
|
11
|
+
const stem = stemmer(word);
|
|
12
|
+
allWords.push(word);
|
|
13
|
+
if (stem !== word) {
|
|
14
|
+
allWords.push(stem);
|
|
15
|
+
}
|
|
16
|
+
return allWords;
|
|
17
|
+
}, []);
|
|
18
|
+
};
|
|
19
|
+
export const HighLight = ({ text, markdown = false, className = '' }) => {
|
|
20
|
+
const searchQueryContext = useSearch();
|
|
21
|
+
const searchWords = allQueryWords(searchQueryContext.query ? searchQueryContext.query.split(' ') : []);
|
|
22
|
+
const appliedClassName = className ? `highlight ${className}` : 'highlight';
|
|
23
|
+
const chunks = findAll({ textToHighlight: text, searchWords });
|
|
24
|
+
if (markdown) {
|
|
25
|
+
const highlightedText = chunks
|
|
26
|
+
.map(({ start, end, highlight }) => {
|
|
27
|
+
const chunkText = text.substring(start, end);
|
|
28
|
+
return highlight ? `<mark>${chunkText}</mark>` : chunkText;
|
|
29
|
+
})
|
|
30
|
+
.join('');
|
|
31
|
+
return (_jsx("div", { className: appliedClassName, children: _jsx(ReactMarkdown, { remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, components: markdownComponents, children: highlightedText }) }));
|
|
32
|
+
}
|
|
33
|
+
return (_jsx("span", { className: appliedClassName, children: chunks.map(({ start, end, highlight }) => {
|
|
34
|
+
const chunkText = text.substring(start, end);
|
|
35
|
+
return highlight ? _jsx("mark", { children: chunkText }, start) : chunkText;
|
|
36
|
+
}) }));
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGlnaExpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0hpZ2hMaWdodC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFHOUMsT0FBTyxhQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0seUJBQXlCLENBQUE7QUFDeEQsT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUE7QUFDOUMsT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUE7QUFROUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFvQixFQUFZLEVBQUU7SUFDdkQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRW5CLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckIsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO0lBQ2xGLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxFQUFFLENBQUE7SUFDdEMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUMvQixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEUsQ0FBQTtJQUNELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7SUFFM0UsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBRTlELElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixNQUFNLGVBQWUsR0FBRyxNQUFNO2FBQzNCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQzVDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLFNBQVMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDNUQsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRVgsT0FBTyxDQUNMLGNBQUssU0FBUyxFQUFFLGdCQUFnQixZQUM5QixLQUFDLGFBQWEsSUFDWixhQUFhLEVBQUUsYUFBYSxFQUM1QixhQUFhLEVBQUUsYUFBYSxFQUM1QixVQUFVLEVBQUUsa0JBQWtCLFlBRTdCLGVBQWUsR0FDRixHQUNaLENBQ1AsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLENBQ0wsZUFBTSxTQUFTLEVBQUUsZ0JBQWdCLFlBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtZQUN4QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM1QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMseUJBQW1CLFNBQVMsSUFBakIsS0FBSyxDQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDckUsQ0FBQyxDQUFDLEdBQ0csQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RlbW1lciB9IGZyb20gJ0BvcmFtYS9zdGVtbWVycy9lbmdsaXNoJ1xuaW1wb3J0IHsgZmluZEFsbCB9IGZyb20gJ2hpZ2hsaWdodC13b3Jkcy1jb3JlJ1xuaW1wb3J0IHR5cGUgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bidcblxuaW1wb3J0IHsgdXNlU2VhcmNoIH0gZnJvbSAnLi4vLi4vaG9va3MvaW5kZXguanMnXG5pbXBvcnQgbWFya2Rvd25Db21wb25lbnRzIGZyb20gJy4vbWFya2Rvd25Db21wb25lbnRzLmpzJ1xuaW1wb3J0IHJlaHlwZVBsdWdpbnMgZnJvbSAnLi9yZWh5cGVQbHVnaW5zLmpzJ1xuaW1wb3J0IHJlbWFya1BsdWdpbnMgZnJvbSAnLi9yZW1hcmtQbHVnaW5zLmpzJ1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgdGV4dDogc3RyaW5nXG4gIG1hcmtkb3duPzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuY29uc3QgYWxsUXVlcnlXb3JkcyA9IChxdWVyeVdvcmRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgcmV0dXJuIHF1ZXJ5V29yZHMucmVkdWNlKChhbGxXb3Jkcywgd29yZCkgPT4ge1xuICAgIGNvbnN0IHN0ZW0gPSBzdGVtbWVyKHdvcmQpXG4gICAgYWxsV29yZHMucHVzaCh3b3JkKVxuXG4gICAgaWYgKHN0ZW0gIT09IHdvcmQpIHtcbiAgICAgIGFsbFdvcmRzLnB1c2goc3RlbSlcbiAgICB9XG4gICAgcmV0dXJuIGFsbFdvcmRzXG4gIH0sIFtdIGFzIHN0cmluZ1tdKVxufVxuXG5leHBvcnQgY29uc3QgSGlnaExpZ2h0OiBGQzxJUHJvcHM+ID0gKHsgdGV4dCwgbWFya2Rvd24gPSBmYWxzZSwgY2xhc3NOYW1lID0gJycgfSkgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeUNvbnRleHQgPSB1c2VTZWFyY2goKVxuICBjb25zdCBzZWFyY2hXb3JkcyA9IGFsbFF1ZXJ5V29yZHMoXG4gICAgc2VhcmNoUXVlcnlDb250ZXh0LnF1ZXJ5ID8gc2VhcmNoUXVlcnlDb250ZXh0LnF1ZXJ5LnNwbGl0KCcgJykgOiBbXVxuICApXG4gIGNvbnN0IGFwcGxpZWRDbGFzc05hbWUgPSBjbGFzc05hbWUgPyBgaGlnaGxpZ2h0ICR7Y2xhc3NOYW1lfWAgOiAnaGlnaGxpZ2h0J1xuXG4gIGNvbnN0IGNodW5rcyA9IGZpbmRBbGwoeyB0ZXh0VG9IaWdobGlnaHQ6IHRleHQsIHNlYXJjaFdvcmRzIH0pXG5cbiAgaWYgKG1hcmtkb3duKSB7XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRUZXh0ID0gY2h1bmtzXG4gICAgICAubWFwKCh7IHN0YXJ0LCBlbmQsIGhpZ2hsaWdodCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGNodW5rVGV4dCA9IHRleHQuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpXG4gICAgICAgIHJldHVybiBoaWdobGlnaHQgPyBgPG1hcms+JHtjaHVua1RleHR9PC9tYXJrPmAgOiBjaHVua1RleHRcbiAgICAgIH0pXG4gICAgICAuam9pbignJylcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YXBwbGllZENsYXNzTmFtZX0+XG4gICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgcmVtYXJrUGx1Z2lucz17cmVtYXJrUGx1Z2luc31cbiAgICAgICAgICByZWh5cGVQbHVnaW5zPXtyZWh5cGVQbHVnaW5zfVxuICAgICAgICAgIGNvbXBvbmVudHM9e21hcmtkb3duQ29tcG9uZW50c31cbiAgICAgICAgPlxuICAgICAgICAgIHtoaWdobGlnaHRlZFRleHR9XG4gICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPXthcHBsaWVkQ2xhc3NOYW1lfT5cbiAgICAgIHtjaHVua3MubWFwKCh7IHN0YXJ0LCBlbmQsIGhpZ2hsaWdodCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGNodW5rVGV4dCA9IHRleHQuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpXG4gICAgICAgIHJldHVybiBoaWdobGlnaHQgPyA8bWFyayBrZXk9e3N0YXJ0fT57Y2h1bmtUZXh0fTwvbWFyaz4gOiBjaHVua1RleHRcbiAgICAgIH0pfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CucumberLogo } from './icons/CucumberLogo.js';
|
|
3
|
+
export const ImplementationIcon = ({ implementation }) => {
|
|
4
|
+
const { name } = implementation;
|
|
5
|
+
if (name.toLowerCase().includes('cucumber')) {
|
|
6
|
+
return _jsx(CucumberLogo, {});
|
|
7
|
+
}
|
|
8
|
+
return null;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1wbGVtZW50YXRpb25JY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXBwL0ltcGxlbWVudGF0aW9uSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUV0RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBb0MsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7SUFDeEYsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLGNBQWMsQ0FBQTtJQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEtBQUMsWUFBWSxLQUFHLENBQUE7SUFDekIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9kdWN0IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDdWN1bWJlckxvZ28gfSBmcm9tICcuL2ljb25zL0N1Y3VtYmVyTG9nby5qcydcblxuZXhwb3J0IGNvbnN0IEltcGxlbWVudGF0aW9uSWNvbjogRkM8eyBpbXBsZW1lbnRhdGlvbjogUHJvZHVjdCB9PiA9ICh7IGltcGxlbWVudGF0aW9uIH0pID0+IHtcbiAgY29uc3QgeyBuYW1lIH0gPSBpbXBsZW1lbnRhdGlvblxuICBpZiAobmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdjdWN1bWJlcicpKSB7XG4gICAgcmV0dXJuIDxDdWN1bWJlckxvZ28gLz5cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { ControlledSearchProvider } from './ControlledSearchProvider.js';
|
|
4
|
+
export const InMemorySearchProvider = ({ defaultQuery = '', defaultHideStatuses = [], children, }) => {
|
|
5
|
+
const [value, setValue] = useState({
|
|
6
|
+
query: defaultQuery,
|
|
7
|
+
hideStatuses: defaultHideStatuses,
|
|
8
|
+
});
|
|
9
|
+
return (_jsx(ControlledSearchProvider, { value: value, onChange: setValue, children: children }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5NZW1vcnlTZWFyY2hQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC9Jbk1lbW9yeVNlYXJjaFByb3ZpZGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQyxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFHakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFPeEUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWlDLENBQUMsRUFDbkUsWUFBWSxHQUFHLEVBQUUsRUFDakIsbUJBQW1CLEdBQUcsRUFBRSxFQUN4QixRQUFRLEdBQ1QsRUFBRSxFQUFFO0lBQ0gsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQWM7UUFDOUMsS0FBSyxFQUFFLFlBQVk7UUFDbkIsWUFBWSxFQUFFLG1CQUFtQjtLQUNsQyxDQUFDLENBQUE7SUFDRixPQUFPLENBQ0wsS0FBQyx3QkFBd0IsSUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLFlBQ3ZELFFBQVEsR0FDZ0IsQ0FDNUIsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdFN0ZXBSZXN1bHRTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyB0eXBlIEZDLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IFNlYXJjaFN0YXRlIH0gZnJvbSAnLi4vLi4vU2VhcmNoQ29udGV4dC5qcydcbmltcG9ydCB7IENvbnRyb2xsZWRTZWFyY2hQcm92aWRlciB9IGZyb20gJy4vQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyLmpzJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBkZWZhdWx0UXVlcnk/OiBzdHJpbmdcbiAgZGVmYXVsdEhpZGVTdGF0dXNlcz86IHJlYWRvbmx5IFRlc3RTdGVwUmVzdWx0U3RhdHVzW11cbn1cblxuZXhwb3J0IGNvbnN0IEluTWVtb3J5U2VhcmNoUHJvdmlkZXI6IEZDPFByb3BzV2l0aENoaWxkcmVuPFByb3BzPj4gPSAoe1xuICBkZWZhdWx0UXVlcnkgPSAnJyxcbiAgZGVmYXVsdEhpZGVTdGF0dXNlcyA9IFtdLFxuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZTxTZWFyY2hTdGF0ZT4oe1xuICAgIHF1ZXJ5OiBkZWZhdWx0UXVlcnksXG4gICAgaGlkZVN0YXR1c2VzOiBkZWZhdWx0SGlkZVN0YXR1c2VzLFxuICB9KVxuICByZXR1cm4gKFxuICAgIDxDb250cm9sbGVkU2VhcmNoUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfSBvbkNoYW5nZT17c2V0VmFsdWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udHJvbGxlZFNlYXJjaFByb3ZpZGVyPlxuICApXG59XG4iXX0=
|