@cucumber/react-components 24.3.0 → 24.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +45 -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 +31 -28
- 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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { HighLight } from '../app/HighLight.js';
|
|
3
|
+
import { useCustomRendering, } from '../customise/index.js';
|
|
4
|
+
import defaultStyles from './Tags.module.scss';
|
|
5
|
+
const DefaultRenderer = ({ tags, styles }) => {
|
|
6
|
+
if (!tags.length) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return (_jsx("ul", { "aria-label": "Tags", className: styles.tags, children: tags.map((tag, index) => (_jsx("li", { className: styles.tag, children: _jsx(HighLight, { text: tag.name }) }, index))) }));
|
|
10
|
+
};
|
|
11
|
+
export const Tags = (props) => {
|
|
12
|
+
const ResolvedRenderer = useCustomRendering('Tags', defaultStyles, DefaultRenderer);
|
|
13
|
+
return _jsx(ResolvedRenderer, { ...props });
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vVGFncy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMvQyxPQUFPLEVBSUwsa0JBQWtCLEdBQ25CLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxhQUFhLE1BQU0sb0JBQW9CLENBQUE7QUFFOUMsTUFBTSxlQUFlLEdBQTZDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtJQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELE9BQU8sQ0FDTCwyQkFBZSxNQUFNLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUN4QixhQUFJLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxZQUN2QixLQUFDLFNBQVMsSUFBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBSSxJQURDLEtBQUssQ0FFaEMsQ0FDTixDQUFDLEdBQ0MsQ0FDTixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFrQixDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQ3pDLE1BQU0sRUFDTixhQUFhLEVBQ2IsZUFBZSxDQUNoQixDQUFBO0lBQ0QsT0FBTyxLQUFDLGdCQUFnQixPQUFLLEtBQUssR0FBSSxDQUFBO0FBQ3hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgSGlnaExpZ2h0IH0gZnJvbSAnLi4vYXBwL0hpZ2hMaWdodC5qcydcbmltcG9ydCB7XG4gIHR5cGUgRGVmYXVsdENvbXBvbmVudCxcbiAgdHlwZSBUYWdzQ2xhc3NlcyxcbiAgdHlwZSBUYWdzUHJvcHMsXG4gIHVzZUN1c3RvbVJlbmRlcmluZyxcbn0gZnJvbSAnLi4vY3VzdG9taXNlL2luZGV4LmpzJ1xuaW1wb3J0IGRlZmF1bHRTdHlsZXMgZnJvbSAnLi9UYWdzLm1vZHVsZS5zY3NzJ1xuXG5jb25zdCBEZWZhdWx0UmVuZGVyZXI6IERlZmF1bHRDb21wb25lbnQ8VGFnc1Byb3BzLCBUYWdzQ2xhc3Nlcz4gPSAoeyB0YWdzLCBzdHlsZXMgfSkgPT4ge1xuICBpZiAoIXRhZ3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gKFxuICAgIDx1bCBhcmlhLWxhYmVsPVwiVGFnc1wiIGNsYXNzTmFtZT17c3R5bGVzLnRhZ3N9PlxuICAgICAge3RhZ3MubWFwKCh0YWcsIGluZGV4KSA9PiAoXG4gICAgICAgIDxsaSBjbGFzc05hbWU9e3N0eWxlcy50YWd9IGtleT17aW5kZXh9PlxuICAgICAgICAgIDxIaWdoTGlnaHQgdGV4dD17dGFnLm5hbWV9IC8+XG4gICAgICAgIDwvbGk+XG4gICAgICApKX1cbiAgICA8L3VsPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBUYWdzOiBGQzxUYWdzUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlc29sdmVkUmVuZGVyZXIgPSB1c2VDdXN0b21SZW5kZXJpbmc8VGFnc1Byb3BzLCBUYWdzQ2xhc3Nlcz4oXG4gICAgJ1RhZ3MnLFxuICAgIGRlZmF1bHRTdHlsZXMsXG4gICAgRGVmYXVsdFJlbmRlcmVyXG4gIClcbiAgcmV0dXJuIDxSZXNvbHZlZFJlbmRlcmVyIHsuLi5wcm9wc30gLz5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCustomRendering, } from '../customise/index.js';
|
|
3
|
+
import { Anchor } from './Anchor.js';
|
|
4
|
+
import defaultStyles from './Title.module.scss';
|
|
5
|
+
const DefaultRenderer = ({ header: Header, id, children, styles, }) => {
|
|
6
|
+
return (_jsx(Anchor, { id: id, children: _jsx(Header, { id: id, className: styles.title, children: children }) }));
|
|
7
|
+
};
|
|
8
|
+
export const Title = (props) => {
|
|
9
|
+
const ResolvedRenderer = useCustomRendering('Title', defaultStyles, DefaultRenderer);
|
|
10
|
+
return _jsx(ResolvedRenderer, { ...props });
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL1RpdGxlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUlMLGtCQUFrQixHQUNuQixNQUFNLHVCQUF1QixDQUFBO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUE7QUFFL0MsTUFBTSxlQUFlLEdBQStDLENBQUMsRUFDbkUsTUFBTSxFQUFFLE1BQU0sRUFDZCxFQUFFLEVBQ0YsUUFBUSxFQUNSLE1BQU0sR0FDUCxFQUFFLEVBQUU7SUFDSCxPQUFPLENBQ0wsS0FBQyxNQUFNLElBQUMsRUFBRSxFQUFFLEVBQUUsWUFDWixLQUFDLE1BQU0sSUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxZQUNwQyxRQUFRLEdBQ0YsR0FDRixDQUNWLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FDekMsT0FBTyxFQUNQLGFBQWEsRUFDYixlQUFlLENBQ2hCLENBQUE7SUFDRCxPQUFPLEtBQUMsZ0JBQWdCLE9BQUssS0FBSyxHQUFJLENBQUE7QUFDeEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQge1xuICB0eXBlIERlZmF1bHRDb21wb25lbnQsXG4gIHR5cGUgVGl0bGVDbGFzc2VzLFxuICB0eXBlIFRpdGxlUHJvcHMsXG4gIHVzZUN1c3RvbVJlbmRlcmluZyxcbn0gZnJvbSAnLi4vY3VzdG9taXNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgQW5jaG9yIH0gZnJvbSAnLi9BbmNob3IuanMnXG5pbXBvcnQgZGVmYXVsdFN0eWxlcyBmcm9tICcuL1RpdGxlLm1vZHVsZS5zY3NzJ1xuXG5jb25zdCBEZWZhdWx0UmVuZGVyZXI6IERlZmF1bHRDb21wb25lbnQ8VGl0bGVQcm9wcywgVGl0bGVDbGFzc2VzPiA9ICh7XG4gIGhlYWRlcjogSGVhZGVyLFxuICBpZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlcyxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QW5jaG9yIGlkPXtpZH0+XG4gICAgICA8SGVhZGVyIGlkPXtpZH0gY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0hlYWRlcj5cbiAgICA8L0FuY2hvcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgVGl0bGU6IEZDPFRpdGxlUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlc29sdmVkUmVuZGVyZXIgPSB1c2VDdXN0b21SZW5kZXJpbmc8VGl0bGVQcm9wcywgVGl0bGVDbGFzc2VzPihcbiAgICAnVGl0bGUnLFxuICAgIGRlZmF1bHRTdHlsZXMsXG4gICAgRGVmYXVsdFJlbmRlcmVyXG4gIClcbiAgcmV0dXJuIDxSZXNvbHZlZFJlbmRlcmVyIHsuLi5wcm9wc30gLz5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ErrorBoundary } from 'react-error-boundary';
|
|
3
|
+
import { useCustomRendering, } from '../../customise/index.js';
|
|
4
|
+
import { ErrorMessage } from '../ErrorMessage.js';
|
|
5
|
+
import defaultStyles from './Attachment.module.scss';
|
|
6
|
+
import { Image } from './Image.js';
|
|
7
|
+
import { Links } from './Links.js';
|
|
8
|
+
import { Log } from './Log.js';
|
|
9
|
+
import { Text } from './Text.js';
|
|
10
|
+
import { Unknown } from './Unknown.js';
|
|
11
|
+
import { Video } from './Video.js';
|
|
12
|
+
const DefaultRenderer = ({ attachment, styles, }) => {
|
|
13
|
+
if (attachment.mediaType.match(/^image\//)) {
|
|
14
|
+
return _jsx(Image, { attachment: attachment, classes: styles });
|
|
15
|
+
}
|
|
16
|
+
if (attachment.mediaType.match(/^video\//)) {
|
|
17
|
+
return _jsx(Video, { attachment: attachment });
|
|
18
|
+
}
|
|
19
|
+
if (attachment.mediaType === 'text/x.cucumber.log+plain') {
|
|
20
|
+
return _jsx(Log, { attachment: attachment, classes: styles });
|
|
21
|
+
}
|
|
22
|
+
if (attachment.mediaType === 'text/uri-list') {
|
|
23
|
+
return _jsx(Links, { attachment: attachment, classes: styles });
|
|
24
|
+
}
|
|
25
|
+
if (attachment.mediaType.match(/^text\//)) {
|
|
26
|
+
return _jsx(Text, { attachment: attachment, classes: styles });
|
|
27
|
+
}
|
|
28
|
+
if (attachment.mediaType.match(/^application\/json/)) {
|
|
29
|
+
return _jsx(Text, { attachment: attachment, prettify: prettyJSON, classes: styles });
|
|
30
|
+
}
|
|
31
|
+
return _jsx(Unknown, { attachment: attachment });
|
|
32
|
+
};
|
|
33
|
+
export const Attachment = (props) => {
|
|
34
|
+
const ResolvedRenderer = useCustomRendering('Attachment', defaultStyles, DefaultRenderer);
|
|
35
|
+
return (_jsx(ErrorBoundary, { fallback: _jsx(ErrorMessage, { message: `Attachment couldn't be rendered` }), children: _jsx(ResolvedRenderer, { ...props }) }));
|
|
36
|
+
};
|
|
37
|
+
function prettyJSON(s) {
|
|
38
|
+
try {
|
|
39
|
+
return JSON.stringify(JSON.parse(s), null, 2);
|
|
40
|
+
}
|
|
41
|
+
catch (_) {
|
|
42
|
+
return s;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vYXR0YWNobWVudC9BdHRhY2htZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE9BQU8sRUFJTCxrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDakQsT0FBTyxhQUFhLE1BQU0sMEJBQTBCLENBQUE7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxlQUFlLEdBQXlELENBQUMsRUFDN0UsVUFBVSxFQUNWLE1BQU0sR0FDUCxFQUFFLEVBQUU7SUFDSCxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDM0MsT0FBTyxLQUFDLEtBQUssSUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUksQ0FBQTtJQUMzRCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sS0FBQyxLQUFLLElBQUMsVUFBVSxFQUFFLFVBQVUsR0FBSSxDQUFBO0lBQzFDLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssMkJBQTJCLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEtBQUMsR0FBRyxJQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBSSxDQUFBO0lBQ3pELENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDN0MsT0FBTyxLQUFDLEtBQUssSUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUksQ0FBQTtJQUMzRCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sS0FBQyxJQUFJLElBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxHQUFJLENBQUE7SUFDMUQsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sS0FBQyxJQUFJLElBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUksQ0FBQTtJQUNoRixDQUFDO0lBQ0QsT0FBTyxLQUFDLE9BQU8sSUFBQyxVQUFVLEVBQUUsVUFBVSxHQUFJLENBQUE7QUFDNUMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUF3QixDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQ3pDLFlBQVksRUFDWixhQUFhLEVBQ2IsZUFBZSxDQUNoQixDQUFBO0lBQ0QsT0FBTyxDQUNMLEtBQUMsYUFBYSxJQUFDLFFBQVEsRUFBRSxLQUFDLFlBQVksSUFBQyxPQUFPLEVBQUUsaUNBQWlDLEdBQUksWUFDbkYsS0FBQyxnQkFBZ0IsT0FBSyxLQUFLLEdBQUksR0FDakIsQ0FDakIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELFNBQVMsVUFBVSxDQUFDLENBQVM7SUFDM0IsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEVycm9yQm91bmRhcnkgfSBmcm9tICdyZWFjdC1lcnJvci1ib3VuZGFyeSdcblxuaW1wb3J0IHtcbiAgdHlwZSBBdHRhY2htZW50Q2xhc3NlcyxcbiAgdHlwZSBBdHRhY2htZW50UHJvcHMsXG4gIHR5cGUgRGVmYXVsdENvbXBvbmVudCxcbiAgdXNlQ3VzdG9tUmVuZGVyaW5nLFxufSBmcm9tICcuLi8uLi9jdXN0b21pc2UvaW5kZXguanMnXG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9FcnJvck1lc3NhZ2UuanMnXG5pbXBvcnQgZGVmYXVsdFN0eWxlcyBmcm9tICcuL0F0dGFjaG1lbnQubW9kdWxlLnNjc3MnXG5pbXBvcnQgeyBJbWFnZSB9IGZyb20gJy4vSW1hZ2UuanMnXG5pbXBvcnQgeyBMaW5rcyB9IGZyb20gJy4vTGlua3MuanMnXG5pbXBvcnQgeyBMb2cgfSBmcm9tICcuL0xvZy5qcydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuL1RleHQuanMnXG5pbXBvcnQgeyBVbmtub3duIH0gZnJvbSAnLi9Vbmtub3duLmpzJ1xuaW1wb3J0IHsgVmlkZW8gfSBmcm9tICcuL1ZpZGVvLmpzJ1xuXG5jb25zdCBEZWZhdWx0UmVuZGVyZXI6IERlZmF1bHRDb21wb25lbnQ8QXR0YWNobWVudFByb3BzLCBBdHRhY2htZW50Q2xhc3Nlcz4gPSAoe1xuICBhdHRhY2htZW50LFxuICBzdHlsZXMsXG59KSA9PiB7XG4gIGlmIChhdHRhY2htZW50Lm1lZGlhVHlwZS5tYXRjaCgvXmltYWdlXFwvLykpIHtcbiAgICByZXR1cm4gPEltYWdlIGF0dGFjaG1lbnQ9e2F0dGFjaG1lbnR9IGNsYXNzZXM9e3N0eWxlc30gLz5cbiAgfVxuICBpZiAoYXR0YWNobWVudC5tZWRpYVR5cGUubWF0Y2goL152aWRlb1xcLy8pKSB7XG4gICAgcmV0dXJuIDxWaWRlbyBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxuICB9XG4gIGlmIChhdHRhY2htZW50Lm1lZGlhVHlwZSA9PT0gJ3RleHQveC5jdWN1bWJlci5sb2crcGxhaW4nKSB7XG4gICAgcmV0dXJuIDxMb2cgYXR0YWNobWVudD17YXR0YWNobWVudH0gY2xhc3Nlcz17c3R5bGVzfSAvPlxuICB9XG4gIGlmIChhdHRhY2htZW50Lm1lZGlhVHlwZSA9PT0gJ3RleHQvdXJpLWxpc3QnKSB7XG4gICAgcmV0dXJuIDxMaW5rcyBhdHRhY2htZW50PXthdHRhY2htZW50fSBjbGFzc2VzPXtzdHlsZXN9IC8+XG4gIH1cbiAgaWYgKGF0dGFjaG1lbnQubWVkaWFUeXBlLm1hdGNoKC9edGV4dFxcLy8pKSB7XG4gICAgcmV0dXJuIDxUZXh0IGF0dGFjaG1lbnQ9e2F0dGFjaG1lbnR9IGNsYXNzZXM9e3N0eWxlc30gLz5cbiAgfVxuICBpZiAoYXR0YWNobWVudC5tZWRpYVR5cGUubWF0Y2goL15hcHBsaWNhdGlvblxcL2pzb24vKSkge1xuICAgIHJldHVybiA8VGV4dCBhdHRhY2htZW50PXthdHRhY2htZW50fSBwcmV0dGlmeT17cHJldHR5SlNPTn0gY2xhc3Nlcz17c3R5bGVzfSAvPlxuICB9XG4gIHJldHVybiA8VW5rbm93biBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxufVxuXG5leHBvcnQgY29uc3QgQXR0YWNobWVudDogRkM8QXR0YWNobWVudFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBSZXNvbHZlZFJlbmRlcmVyID0gdXNlQ3VzdG9tUmVuZGVyaW5nPEF0dGFjaG1lbnRQcm9wcywgQXR0YWNobWVudENsYXNzZXM+KFxuICAgICdBdHRhY2htZW50JyxcbiAgICBkZWZhdWx0U3R5bGVzLFxuICAgIERlZmF1bHRSZW5kZXJlclxuICApXG4gIHJldHVybiAoXG4gICAgPEVycm9yQm91bmRhcnkgZmFsbGJhY2s9ezxFcnJvck1lc3NhZ2UgbWVzc2FnZT17YEF0dGFjaG1lbnQgY291bGRuJ3QgYmUgcmVuZGVyZWRgfSAvPn0+XG4gICAgICA8UmVzb2x2ZWRSZW5kZXJlciB7Li4ucHJvcHN9IC8+XG4gICAgPC9FcnJvckJvdW5kYXJ5PlxuICApXG59XG5cbmZ1bmN0aW9uIHByZXR0eUpTT04oczogc3RyaW5nKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocyksIG51bGwsIDIpXG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gc1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ErrorMessage } from '../ErrorMessage.js';
|
|
3
|
+
export const Image = ({ attachment, classes, }) => {
|
|
4
|
+
const title = attachment.fileName ?? `Attached Image (${attachment.mediaType})`;
|
|
5
|
+
if (attachment.url) {
|
|
6
|
+
return _jsx(ImageInternal, { src: attachment.url, title: title, className: classes.image });
|
|
7
|
+
}
|
|
8
|
+
if (attachment.contentEncoding === 'BASE64') {
|
|
9
|
+
return (_jsx(ImageInternal, { src: `data:${attachment.mediaType};base64,${attachment.body}`, title: title, className: classes.image }));
|
|
10
|
+
}
|
|
11
|
+
return (_jsx(ErrorMessage, { message: `Couldn't display ${attachment.mediaType} image because it wasn't base64 encoded or externalised` }));
|
|
12
|
+
};
|
|
13
|
+
const ImageInternal = ({ src, title, className }) => {
|
|
14
|
+
return (_jsxs("details", { children: [_jsx("summary", { children: title }), _jsx("img", { alt: "", src: src, className: className })] }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2F0dGFjaG1lbnQvSW1hZ2UudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUErRCxDQUFDLEVBQ2hGLFVBQVUsRUFDVixPQUFPLEdBQ1IsRUFBRSxFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsVUFBVSxDQUFDLFNBQVMsR0FBRyxDQUFBO0lBQy9FLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBQyxhQUFhLElBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssR0FBSSxDQUFBO0lBQ3ZGLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUNMLEtBQUMsYUFBYSxJQUNaLEdBQUcsRUFBRSxRQUFRLFVBQVUsQ0FBQyxTQUFTLFdBQVcsVUFBVSxDQUFDLElBQUksRUFBRSxFQUM3RCxLQUFLLEVBQUUsS0FBSyxFQUNaLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxHQUN4QixDQUNILENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUNMLEtBQUMsWUFBWSxJQUNYLE9BQU8sRUFBRSxvQkFBb0IsVUFBVSxDQUFDLFNBQVMseURBQXlELEdBQzFHLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUlkLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakMsT0FBTyxDQUNMLDhCQUNFLDRCQUFVLEtBQUssR0FBVyxFQUMxQixjQUFLLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFJLElBQ3RDLENBQ1gsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50Q2xhc3NlcyB9IGZyb20gJy4uLy4uL2N1c3RvbWlzZS9pbmRleC5qcydcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uL0Vycm9yTWVzc2FnZS5qcydcblxuZXhwb3J0IGNvbnN0IEltYWdlOiBGQzx7IGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQ7IGNsYXNzZXM6IEF0dGFjaG1lbnRDbGFzc2VzIH0+ID0gKHtcbiAgYXR0YWNobWVudCxcbiAgY2xhc3Nlcyxcbn0pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBhdHRhY2htZW50LmZpbGVOYW1lID8/IGBBdHRhY2hlZCBJbWFnZSAoJHthdHRhY2htZW50Lm1lZGlhVHlwZX0pYFxuICBpZiAoYXR0YWNobWVudC51cmwpIHtcbiAgICByZXR1cm4gPEltYWdlSW50ZXJuYWwgc3JjPXthdHRhY2htZW50LnVybH0gdGl0bGU9e3RpdGxlfSBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2V9IC8+XG4gIH1cbiAgaWYgKGF0dGFjaG1lbnQuY29udGVudEVuY29kaW5nID09PSAnQkFTRTY0Jykge1xuICAgIHJldHVybiAoXG4gICAgICA8SW1hZ2VJbnRlcm5hbFxuICAgICAgICBzcmM9e2BkYXRhOiR7YXR0YWNobWVudC5tZWRpYVR5cGV9O2Jhc2U2NCwke2F0dGFjaG1lbnQuYm9keX1gfVxuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbWFnZX1cbiAgICAgIC8+XG4gICAgKVxuICB9XG4gIHJldHVybiAoXG4gICAgPEVycm9yTWVzc2FnZVxuICAgICAgbWVzc2FnZT17YENvdWxkbid0IGRpc3BsYXkgJHthdHRhY2htZW50Lm1lZGlhVHlwZX0gaW1hZ2UgYmVjYXVzZSBpdCB3YXNuJ3QgYmFzZTY0IGVuY29kZWQgb3IgZXh0ZXJuYWxpc2VkYH1cbiAgICAvPlxuICApXG59XG5cbmNvbnN0IEltYWdlSW50ZXJuYWw6IEZDPHtcbiAgc3JjOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBjbGFzc05hbWU6IHN0cmluZ1xufT4gPSAoeyBzcmMsIHRpdGxlLCBjbGFzc05hbWUgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkZXRhaWxzPlxuICAgICAgPHN1bW1hcnk+e3RpdGxlfTwvc3VtbWFyeT5cbiAgICAgIDxpbWcgYWx0PVwiXCIgc3JjPXtzcmN9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSAvPlxuICAgIDwvZGV0YWlscz5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { faLink } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import { useText } from './useText.js';
|
|
5
|
+
export const Links = ({ attachment, classes }) => {
|
|
6
|
+
const { content } = useText(attachment);
|
|
7
|
+
return (_jsx("ul", { className: classes.links, children: content
|
|
8
|
+
.split('\n')
|
|
9
|
+
.filter((line) => !!line)
|
|
10
|
+
.map((line, index) => {
|
|
11
|
+
return (_jsx("li", { children: _jsxs("a", { href: line, target: "_blank", rel: "noopener nofollow noreferrer", children: [_jsx(FontAwesomeIcon, { icon: faLink }), line] }) }, index));
|
|
12
|
+
}) }));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2F0dGFjaG1lbnQvTGlua3MudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBSWhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUdiLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUMvQixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3ZDLE9BQU8sQ0FDTCxhQUFJLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxZQUN6QixPQUFPO2FBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUNMLHVCQUNFLGFBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsRUFBQyw4QkFBOEIsYUFDL0QsS0FBQyxlQUFlLElBQUMsSUFBSSxFQUFFLE1BQU0sR0FBSSxFQUNoQyxJQUFJLElBQ0gsSUFKRyxLQUFLLENBS1QsQ0FDTixDQUFBO1FBQ0gsQ0FBQyxDQUFDLEdBQ0QsQ0FDTixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZmFMaW5rIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJ1xuaW1wb3J0IHR5cGUgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnRDbGFzc2VzIH0gZnJvbSAnLi4vLi4vY3VzdG9taXNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlVGV4dCB9IGZyb20gJy4vdXNlVGV4dC5qcydcblxuZXhwb3J0IGNvbnN0IExpbmtzOiBGQzx7XG4gIGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnRcbiAgY2xhc3NlczogQXR0YWNobWVudENsYXNzZXNcbn0+ID0gKHsgYXR0YWNobWVudCwgY2xhc3NlcyB9KSA9PiB7XG4gIGNvbnN0IHsgY29udGVudCB9ID0gdXNlVGV4dChhdHRhY2htZW50KVxuICByZXR1cm4gKFxuICAgIDx1bCBjbGFzc05hbWU9e2NsYXNzZXMubGlua3N9PlxuICAgICAge2NvbnRlbnRcbiAgICAgICAgLnNwbGl0KCdcXG4nKVxuICAgICAgICAuZmlsdGVyKChsaW5lKSA9PiAhIWxpbmUpXG4gICAgICAgIC5tYXAoKGxpbmUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxsaSBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgPGEgaHJlZj17bGluZX0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9mb2xsb3cgbm9yZWZlcnJlclwiPlxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFMaW5rfSAvPlxuICAgICAgICAgICAgICAgIHtsaW5lfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAgPC91bD5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { AnsiUp } from 'ansi_up';
|
|
3
|
+
import { CopyButton } from '../../app/CopyButton.js';
|
|
4
|
+
import { useText } from './useText.js';
|
|
5
|
+
export const Log = ({ attachment, classes }) => {
|
|
6
|
+
const { content } = useText(attachment);
|
|
7
|
+
return (_jsxs("div", { className: `${classes.text} ${classes.log}`, children: [_jsx("pre", { children: _jsx("span", { dangerouslySetInnerHTML: { __html: prettyANSI(content) } }) }), _jsx(CopyButton, { className: classes.copyButton, text: content })] }));
|
|
8
|
+
};
|
|
9
|
+
function prettyANSI(s) {
|
|
10
|
+
return new AnsiUp().ansi_to_html(s);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZ2hlcmtpbi9hdHRhY2htZW50L0xvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFHaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXBELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUdYLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUMvQixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3ZDLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxhQUM5Qyx3QkFDRSxlQUFNLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFJLEdBQzlELEVBQ04sS0FBQyxVQUFVLElBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sR0FBSSxJQUN4RCxDQUNQLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUFTO0lBQzNCLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGJpb21lLWlnbm9yZS1hbGwgbGludC9zZWN1cml0eS9ub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sOiBwcmUtc2FuaXRpc2VkXG5cbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IEFuc2lVcCB9IGZyb20gJ2Fuc2lfdXAnXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IENvcHlCdXR0b24gfSBmcm9tICcuLi8uLi9hcHAvQ29weUJ1dHRvbi5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudENsYXNzZXMgfSBmcm9tICcuLi8uLi9jdXN0b21pc2UvaW5kZXguanMnXG5pbXBvcnQgeyB1c2VUZXh0IH0gZnJvbSAnLi91c2VUZXh0LmpzJ1xuXG5leHBvcnQgY29uc3QgTG9nOiBGQzx7XG4gIGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnRcbiAgY2xhc3NlczogQXR0YWNobWVudENsYXNzZXNcbn0+ID0gKHsgYXR0YWNobWVudCwgY2xhc3NlcyB9KSA9PiB7XG4gIGNvbnN0IHsgY29udGVudCB9ID0gdXNlVGV4dChhdHRhY2htZW50KVxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtjbGFzc2VzLnRleHR9ICR7Y2xhc3Nlcy5sb2d9YH0+XG4gICAgICA8cHJlPlxuICAgICAgICA8c3BhbiBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHByZXR0eUFOU0koY29udGVudCkgfX0gLz5cbiAgICAgIDwvcHJlPlxuICAgICAgPENvcHlCdXR0b24gY2xhc3NOYW1lPXtjbGFzc2VzLmNvcHlCdXR0b259IHRleHQ9e2NvbnRlbnR9IC8+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gcHJldHR5QU5TSShzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBBbnNpVXAoKS5hbnNpX3RvX2h0bWwocylcbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CopyButton } from '../../app/CopyButton.js';
|
|
3
|
+
import { ErrorMessage } from '../ErrorMessage.js';
|
|
4
|
+
import { useText } from './useText.js';
|
|
5
|
+
const identity = (s) => s;
|
|
6
|
+
export const Text = ({ attachment, prettify = identity, classes }) => {
|
|
7
|
+
const { title, loading, content, error } = useText(attachment);
|
|
8
|
+
if (loading) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (error) {
|
|
12
|
+
return (_jsx(ErrorMessage, { children: "There was an error when trying to fetch the content for this attachment. Check your browser console for more information on what went wrong." }));
|
|
13
|
+
}
|
|
14
|
+
return (_jsxs("details", { children: [_jsx("summary", { children: title }), _jsxs("div", { className: classes.text, children: [_jsx("pre", { children: _jsx("span", { children: prettify(content) }) }), _jsx(CopyButton, { className: classes.copyButton, text: content })] })] }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vYXR0YWNobWVudC9UZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFakMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUlaLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3BELE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLENBQ0wsS0FBQyxZQUFZLCtKQUdFLENBQ2hCLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxDQUNMLDhCQUNFLDRCQUFVLEtBQUssR0FBVyxFQUMxQixlQUFLLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxhQUMxQix3QkFDRSx5QkFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQVEsR0FDNUIsRUFDTixLQUFDLFVBQVUsSUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxHQUFJLElBQ3hELElBQ0UsQ0FDWCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBGQyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDb3B5QnV0dG9uIH0gZnJvbSAnLi4vLi4vYXBwL0NvcHlCdXR0b24uanMnXG5pbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnRDbGFzc2VzIH0gZnJvbSAnLi4vLi4vY3VzdG9taXNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vRXJyb3JNZXNzYWdlLmpzJ1xuaW1wb3J0IHsgdXNlVGV4dCB9IGZyb20gJy4vdXNlVGV4dC5qcydcblxuY29uc3QgaWRlbnRpdHkgPSAoczogc3RyaW5nKSA9PiBzXG5cbmV4cG9ydCBjb25zdCBUZXh0OiBGQzx7XG4gIGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnRcbiAgcHJldHRpZnk/OiAoYm9keTogc3RyaW5nKSA9PiBzdHJpbmdcbiAgY2xhc3NlczogQXR0YWNobWVudENsYXNzZXNcbn0+ID0gKHsgYXR0YWNobWVudCwgcHJldHRpZnkgPSBpZGVudGl0eSwgY2xhc3NlcyB9KSA9PiB7XG4gIGNvbnN0IHsgdGl0bGUsIGxvYWRpbmcsIGNvbnRlbnQsIGVycm9yIH0gPSB1c2VUZXh0KGF0dGFjaG1lbnQpXG4gIGlmIChsb2FkaW5nKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBpZiAoZXJyb3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEVycm9yTWVzc2FnZT5cbiAgICAgICAgVGhlcmUgd2FzIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvIGZldGNoIHRoZSBjb250ZW50IGZvciB0aGlzIGF0dGFjaG1lbnQuIENoZWNrIHlvdXIgYnJvd3NlclxuICAgICAgICBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHdoYXQgd2VudCB3cm9uZy5cbiAgICAgIDwvRXJyb3JNZXNzYWdlPlxuICAgIClcbiAgfVxuICByZXR1cm4gKFxuICAgIDxkZXRhaWxzPlxuICAgICAgPHN1bW1hcnk+e3RpdGxlfTwvc3VtbWFyeT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnRleHR9PlxuICAgICAgICA8cHJlPlxuICAgICAgICAgIDxzcGFuPntwcmV0dGlmeShjb250ZW50KX08L3NwYW4+XG4gICAgICAgIDwvcHJlPlxuICAgICAgICA8Q29weUJ1dHRvbiBjbGFzc05hbWU9e2NsYXNzZXMuY29weUJ1dHRvbn0gdGV4dD17Y29udGVudH0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGV0YWlscz5cbiAgKVxufVxuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { AttachmentContentEncoding } from '@cucumber/messages';
|
|
3
|
+
import { faPaperclip } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
6
|
+
import { NavigationButton } from '../../app/NavigationButton.js';
|
|
7
|
+
import { attachmentFilename } from './attachmentFilename.js';
|
|
8
|
+
import { base64DecodeBytes } from './base64Decode.js';
|
|
9
|
+
export const Unknown = ({ attachment }) => {
|
|
10
|
+
if (attachment.url) {
|
|
11
|
+
return _jsx(UnknownExternalised, { attachment: attachment });
|
|
12
|
+
}
|
|
13
|
+
return _jsx(UnknownEmbedded, { attachment: attachment });
|
|
14
|
+
};
|
|
15
|
+
const UnknownExternalised = ({ attachment }) => {
|
|
16
|
+
const filename = attachmentFilename(attachment);
|
|
17
|
+
const onClick = () => {
|
|
18
|
+
const anchor = document.createElement('a');
|
|
19
|
+
anchor.href = attachment.url;
|
|
20
|
+
anchor.download = filename;
|
|
21
|
+
anchor.click();
|
|
22
|
+
};
|
|
23
|
+
return (_jsxs(NavigationButton, { onClick: onClick, children: [_jsx(FontAwesomeIcon, { icon: faPaperclip }), "Download ", filename] }));
|
|
24
|
+
};
|
|
25
|
+
const UnknownEmbedded = ({ attachment }) => {
|
|
26
|
+
const [downloadUrl, setDownloadUrl] = useState();
|
|
27
|
+
useEffect(() => () => cleanupDownloadUrl(downloadUrl), [downloadUrl]);
|
|
28
|
+
const filename = attachmentFilename(attachment);
|
|
29
|
+
const onClick = useCallback(() => {
|
|
30
|
+
let href;
|
|
31
|
+
if (downloadUrl) {
|
|
32
|
+
href = downloadUrl;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const createdUrl = createDownloadUrl(attachment);
|
|
36
|
+
setDownloadUrl(createdUrl);
|
|
37
|
+
href = createdUrl;
|
|
38
|
+
}
|
|
39
|
+
const anchor = document.createElement('a');
|
|
40
|
+
anchor.href = href;
|
|
41
|
+
anchor.download = filename;
|
|
42
|
+
anchor.click();
|
|
43
|
+
}, [attachment, filename, downloadUrl]);
|
|
44
|
+
return (_jsxs(NavigationButton, { onClick: onClick, children: [_jsx(FontAwesomeIcon, { icon: faPaperclip }), "Download ", filename] }));
|
|
45
|
+
};
|
|
46
|
+
function createDownloadUrl(attachment) {
|
|
47
|
+
const body = attachment.contentEncoding === AttachmentContentEncoding.BASE64
|
|
48
|
+
? base64DecodeBytes(attachment.body)
|
|
49
|
+
: attachment.body;
|
|
50
|
+
const file = new File([body], 'attachment', {
|
|
51
|
+
type: attachment.mediaType,
|
|
52
|
+
});
|
|
53
|
+
return URL.createObjectURL(file);
|
|
54
|
+
}
|
|
55
|
+
function cleanupDownloadUrl(url) {
|
|
56
|
+
if (url) {
|
|
57
|
+
console.debug('Revoking download url');
|
|
58
|
+
URL.revokeObjectURL(url);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5rbm93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vYXR0YWNobWVudC9Vbmtub3duLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFtQix5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDaEUsT0FBTyxFQUFXLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRWpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRWhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBd0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDN0QsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFDLG1CQUFtQixJQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUksQ0FBQTtJQUN4RCxDQUFDO0lBQ0QsT0FBTyxLQUFDLGVBQWUsSUFBQyxVQUFVLEVBQUUsVUFBVSxHQUFJLENBQUE7QUFDcEQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxtQkFBbUIsR0FBd0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDbEUsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDL0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ25CLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsR0FBYSxDQUFBO1FBQ3RDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNoQixDQUFDLENBQUE7SUFDRCxPQUFPLENBQ0wsTUFBQyxnQkFBZ0IsSUFBQyxPQUFPLEVBQUUsT0FBTyxhQUNoQyxLQUFDLGVBQWUsSUFBQyxJQUFJLEVBQUUsV0FBVyxHQUFJLGVBQzVCLFFBQVEsSUFDRCxDQUNwQixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxlQUFlLEdBQXdCLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzlELE1BQU0sQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLEdBQUcsUUFBUSxFQUFVLENBQUE7SUFDeEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQy9CLElBQUksSUFBWSxDQUFBO1FBQ2hCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxHQUFHLFdBQVcsQ0FBQTtRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2hELGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUMxQixJQUFJLEdBQUcsVUFBVSxDQUFBO1FBQ25CLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2xCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNoQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7SUFDdkMsT0FBTyxDQUNMLE1BQUMsZ0JBQWdCLElBQUMsT0FBTyxFQUFFLE9BQU8sYUFDaEMsS0FBQyxlQUFlLElBQUMsSUFBSSxFQUFFLFdBQVcsR0FBSSxlQUM1QixRQUFRLElBQ0QsQ0FDcEIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELFNBQVMsaUJBQWlCLENBQUMsVUFBc0I7SUFDL0MsTUFBTSxJQUFJLEdBQ1IsVUFBVSxDQUFDLGVBQWUsS0FBSyx5QkFBeUIsQ0FBQyxNQUFNO1FBQzdELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFBO0lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFO1FBQzFDLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUztLQUMzQixDQUFDLENBQUE7SUFDRixPQUFPLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBWTtJQUN0QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ3RDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDMUIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEF0dGFjaG1lbnQsIEF0dGFjaG1lbnRDb250ZW50RW5jb2RpbmcgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBmYVBhcGVyY2xpcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucydcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSdcbmltcG9ydCB7IHR5cGUgRkMsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IE5hdmlnYXRpb25CdXR0b24gfSBmcm9tICcuLi8uLi9hcHAvTmF2aWdhdGlvbkJ1dHRvbi5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudFByb3BzIH0gZnJvbSAnLi4vLi4vY3VzdG9taXNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgYXR0YWNobWVudEZpbGVuYW1lIH0gZnJvbSAnLi9hdHRhY2htZW50RmlsZW5hbWUuanMnXG5pbXBvcnQgeyBiYXNlNjREZWNvZGVCeXRlcyB9IGZyb20gJy4vYmFzZTY0RGVjb2RlLmpzJ1xuXG5leHBvcnQgY29uc3QgVW5rbm93bjogRkM8QXR0YWNobWVudFByb3BzPiA9ICh7IGF0dGFjaG1lbnQgfSkgPT4ge1xuICBpZiAoYXR0YWNobWVudC51cmwpIHtcbiAgICByZXR1cm4gPFVua25vd25FeHRlcm5hbGlzZWQgYXR0YWNobWVudD17YXR0YWNobWVudH0gLz5cbiAgfVxuICByZXR1cm4gPFVua25vd25FbWJlZGRlZCBhdHRhY2htZW50PXthdHRhY2htZW50fSAvPlxufVxuXG5jb25zdCBVbmtub3duRXh0ZXJuYWxpc2VkOiBGQzxBdHRhY2htZW50UHJvcHM+ID0gKHsgYXR0YWNobWVudCB9KSA9PiB7XG4gIGNvbnN0IGZpbGVuYW1lID0gYXR0YWNobWVudEZpbGVuYW1lKGF0dGFjaG1lbnQpXG4gIGNvbnN0IG9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgY29uc3QgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgYW5jaG9yLmhyZWYgPSBhdHRhY2htZW50LnVybCBhcyBzdHJpbmdcbiAgICBhbmNob3IuZG93bmxvYWQgPSBmaWxlbmFtZVxuICAgIGFuY2hvci5jbGljaygpXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8TmF2aWdhdGlvbkJ1dHRvbiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFQYXBlcmNsaXB9IC8+XG4gICAgICBEb3dubG9hZCB7ZmlsZW5hbWV9XG4gICAgPC9OYXZpZ2F0aW9uQnV0dG9uPlxuICApXG59XG5cbmNvbnN0IFVua25vd25FbWJlZGRlZDogRkM8QXR0YWNobWVudFByb3BzPiA9ICh7IGF0dGFjaG1lbnQgfSkgPT4ge1xuICBjb25zdCBbZG93bmxvYWRVcmwsIHNldERvd25sb2FkVXJsXSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4gY2xlYW51cERvd25sb2FkVXJsKGRvd25sb2FkVXJsKSwgW2Rvd25sb2FkVXJsXSlcbiAgY29uc3QgZmlsZW5hbWUgPSBhdHRhY2htZW50RmlsZW5hbWUoYXR0YWNobWVudClcbiAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsZXQgaHJlZjogc3RyaW5nXG4gICAgaWYgKGRvd25sb2FkVXJsKSB7XG4gICAgICBocmVmID0gZG93bmxvYWRVcmxcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY3JlYXRlZFVybCA9IGNyZWF0ZURvd25sb2FkVXJsKGF0dGFjaG1lbnQpXG4gICAgICBzZXREb3dubG9hZFVybChjcmVhdGVkVXJsKVxuICAgICAgaHJlZiA9IGNyZWF0ZWRVcmxcbiAgICB9XG5cbiAgICBjb25zdCBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICBhbmNob3IuaHJlZiA9IGhyZWZcbiAgICBhbmNob3IuZG93bmxvYWQgPSBmaWxlbmFtZVxuICAgIGFuY2hvci5jbGljaygpXG4gIH0sIFthdHRhY2htZW50LCBmaWxlbmFtZSwgZG93bmxvYWRVcmxdKVxuICByZXR1cm4gKFxuICAgIDxOYXZpZ2F0aW9uQnV0dG9uIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVBhcGVyY2xpcH0gLz5cbiAgICAgIERvd25sb2FkIHtmaWxlbmFtZX1cbiAgICA8L05hdmlnYXRpb25CdXR0b24+XG4gIClcbn1cblxuZnVuY3Rpb24gY3JlYXRlRG93bmxvYWRVcmwoYXR0YWNobWVudDogQXR0YWNobWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IGJvZHkgPVxuICAgIGF0dGFjaG1lbnQuY29udGVudEVuY29kaW5nID09PSBBdHRhY2htZW50Q29udGVudEVuY29kaW5nLkJBU0U2NFxuICAgICAgPyBiYXNlNjREZWNvZGVCeXRlcyhhdHRhY2htZW50LmJvZHkpXG4gICAgICA6IGF0dGFjaG1lbnQuYm9keVxuICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2JvZHldLCAnYXR0YWNobWVudCcsIHtcbiAgICB0eXBlOiBhdHRhY2htZW50Lm1lZGlhVHlwZSxcbiAgfSlcbiAgcmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcbn1cblxuZnVuY3Rpb24gY2xlYW51cERvd25sb2FkVXJsKHVybD86IHN0cmluZykge1xuICBpZiAodXJsKSB7XG4gICAgY29uc29sZS5kZWJ1ZygnUmV2b2tpbmcgZG93bmxvYWQgdXJsJylcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ErrorMessage } from '../ErrorMessage.js';
|
|
3
|
+
export const Video = ({ attachment }) => {
|
|
4
|
+
const title = attachment.fileName ?? `Attached Video (${attachment.mediaType})`;
|
|
5
|
+
if (attachment.url) {
|
|
6
|
+
return _jsx(VideoInternal, { src: attachment.url, title: title });
|
|
7
|
+
}
|
|
8
|
+
if (attachment.contentEncoding === 'BASE64') {
|
|
9
|
+
return (_jsx(VideoInternal, { src: `data:${attachment.mediaType};base64,${attachment.body}`, title: title }));
|
|
10
|
+
}
|
|
11
|
+
return (_jsx(ErrorMessage, { message: `Couldn't display ${attachment.mediaType} video because it wasn't base64 encoded or externalised` }));
|
|
12
|
+
};
|
|
13
|
+
const VideoInternal = ({ src, title }) => {
|
|
14
|
+
return (_jsxs("details", { children: [_jsx("summary", { children: title }), _jsxs("video", { controls: true, children: [_jsx("source", { src: src }), "Your browser is unable to display video"] })] }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2F0dGFjaG1lbnQvVmlkZW8udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFtQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUN0RSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLG1CQUFtQixVQUFVLENBQUMsU0FBUyxHQUFHLENBQUE7SUFDL0UsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFDLGFBQWEsSUFBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFJLENBQUE7SUFDN0QsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQ0wsS0FBQyxhQUFhLElBQUMsR0FBRyxFQUFFLFFBQVEsVUFBVSxDQUFDLFNBQVMsV0FBVyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBSSxDQUMvRixDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FDTCxLQUFDLFlBQVksSUFDWCxPQUFPLEVBQUUsb0JBQW9CLFVBQVUsQ0FBQyxTQUFTLHlEQUF5RCxHQUMxRyxDQUNILENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGFBQWEsR0FBdUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQzNFLE9BQU8sQ0FDTCw4QkFDRSw0QkFBVSxLQUFLLEdBQVcsRUFDMUIsaUJBQU8sUUFBUSxtQkFDYixpQkFBUSxHQUFHLEVBQUUsR0FBRyxHQUFJLCtDQUVkLElBQ0EsQ0FDWCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYmlvbWUtaWdub3JlLWFsbCBsaW50L2ExMXkvdXNlTWVkaWFDYXB0aW9uOiB1c2VyLWdlbmVyYXRlZCBjb250ZW50XG5cbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgRkMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vRXJyb3JNZXNzYWdlLmpzJ1xuXG5leHBvcnQgY29uc3QgVmlkZW86IEZDPHsgYXR0YWNobWVudDogQXR0YWNobWVudCB9PiA9ICh7IGF0dGFjaG1lbnQgfSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IGF0dGFjaG1lbnQuZmlsZU5hbWUgPz8gYEF0dGFjaGVkIFZpZGVvICgke2F0dGFjaG1lbnQubWVkaWFUeXBlfSlgXG4gIGlmIChhdHRhY2htZW50LnVybCkge1xuICAgIHJldHVybiA8VmlkZW9JbnRlcm5hbCBzcmM9e2F0dGFjaG1lbnQudXJsfSB0aXRsZT17dGl0bGV9IC8+XG4gIH1cbiAgaWYgKGF0dGFjaG1lbnQuY29udGVudEVuY29kaW5nID09PSAnQkFTRTY0Jykge1xuICAgIHJldHVybiAoXG4gICAgICA8VmlkZW9JbnRlcm5hbCBzcmM9e2BkYXRhOiR7YXR0YWNobWVudC5tZWRpYVR5cGV9O2Jhc2U2NCwke2F0dGFjaG1lbnQuYm9keX1gfSB0aXRsZT17dGl0bGV9IC8+XG4gICAgKVxuICB9XG4gIHJldHVybiAoXG4gICAgPEVycm9yTWVzc2FnZVxuICAgICAgbWVzc2FnZT17YENvdWxkbid0IGRpc3BsYXkgJHthdHRhY2htZW50Lm1lZGlhVHlwZX0gdmlkZW8gYmVjYXVzZSBpdCB3YXNuJ3QgYmFzZTY0IGVuY29kZWQgb3IgZXh0ZXJuYWxpc2VkYH1cbiAgICAvPlxuICApXG59XG5cbmNvbnN0IFZpZGVvSW50ZXJuYWw6IEZDPHsgc3JjOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfT4gPSAoeyBzcmMsIHRpdGxlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGV0YWlscz5cbiAgICAgIDxzdW1tYXJ5Pnt0aXRsZX08L3N1bW1hcnk+XG4gICAgICA8dmlkZW8gY29udHJvbHM+XG4gICAgICAgIDxzb3VyY2Ugc3JjPXtzcmN9IC8+XG4gICAgICAgIFlvdXIgYnJvd3NlciBpcyB1bmFibGUgdG8gZGlzcGxheSB2aWRlb1xuICAgICAgPC92aWRlbz5cbiAgICA8L2RldGFpbHM+XG4gIClcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import mimeTypes from 'mime';
|
|
2
|
+
export function attachmentFilename(attachment) {
|
|
3
|
+
if (attachment.fileName) {
|
|
4
|
+
return attachment.fileName;
|
|
5
|
+
}
|
|
6
|
+
const extension = mimeTypes.getExtension(attachment.mediaType);
|
|
7
|
+
if (extension) {
|
|
8
|
+
return `attachment.${extension}`;
|
|
9
|
+
}
|
|
10
|
+
return 'attachment';
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudEZpbGVuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZ2hlcmtpbi9hdHRhY2htZW50L2F0dGFjaG1lbnRGaWxlbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFNBQVMsTUFBTSxNQUFNLENBQUE7QUFFNUIsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFVBQXNCO0lBQ3ZELElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQTtJQUM1QixDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDOUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE9BQU8sY0FBYyxTQUFTLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCBtaW1lVHlwZXMgZnJvbSAnbWltZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaG1lbnRGaWxlbmFtZShhdHRhY2htZW50OiBBdHRhY2htZW50KTogc3RyaW5nIHtcbiAgaWYgKGF0dGFjaG1lbnQuZmlsZU5hbWUpIHtcbiAgICByZXR1cm4gYXR0YWNobWVudC5maWxlTmFtZVxuICB9XG4gIGNvbnN0IGV4dGVuc2lvbiA9IG1pbWVUeXBlcy5nZXRFeHRlbnNpb24oYXR0YWNobWVudC5tZWRpYVR5cGUpXG4gIGlmIChleHRlbnNpb24pIHtcbiAgICByZXR1cm4gYGF0dGFjaG1lbnQuJHtleHRlbnNpb259YFxuICB9XG4gIHJldHVybiAnYXR0YWNobWVudCdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decode base64 to UTF-8 string.
|
|
3
|
+
*/
|
|
4
|
+
export function base64DecodeText(body) {
|
|
5
|
+
return new TextDecoder('utf-8').decode(Uint8Array.from(atob(body), (c) => c.charCodeAt(0)));
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Decode base64 to raw bytes without any text encoding conversion,
|
|
9
|
+
* preserving byte-for-byte accuracy needed for binary content.
|
|
10
|
+
*/
|
|
11
|
+
export function base64DecodeBytes(body) {
|
|
12
|
+
const binary = atob(body);
|
|
13
|
+
const bytes = new Uint8Array(binary.length);
|
|
14
|
+
for (let i = 0; i < binary.length; i++) {
|
|
15
|
+
bytes[i] = binary.charCodeAt(i);
|
|
16
|
+
}
|
|
17
|
+
return bytes;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0RGVjb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZ2hlcmtpbi9hdHRhY2htZW50L2Jhc2U2NERlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZO0lBQzNDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM3RixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlY29kZSBiYXNlNjQgdG8gVVRGLTggc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFzZTY0RGVjb2RlVGV4dChib2R5OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKCd1dGYtOCcpLmRlY29kZShVaW50OEFycmF5LmZyb20oYXRvYihib2R5KSwgKGMpID0+IGMuY2hhckNvZGVBdCgwKSkpXG59XG5cbi8qKlxuICogRGVjb2RlIGJhc2U2NCB0byByYXcgYnl0ZXMgd2l0aG91dCBhbnkgdGV4dCBlbmNvZGluZyBjb252ZXJzaW9uLFxuICogcHJlc2VydmluZyBieXRlLWZvci1ieXRlIGFjY3VyYWN5IG5lZWRlZCBmb3IgYmluYXJ5IGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYXNlNjREZWNvZGVCeXRlcyhib2R5OiBzdHJpbmcpOiBVaW50OEFycmF5PEFycmF5QnVmZmVyPiB7XG4gIGNvbnN0IGJpbmFyeSA9IGF0b2IoYm9keSlcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShiaW5hcnkubGVuZ3RoKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykge1xuICAgIGJ5dGVzW2ldID0gYmluYXJ5LmNoYXJDb2RlQXQoaSlcbiAgfVxuICByZXR1cm4gYnl0ZXNcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './Attachment.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2F0dGFjaG1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQXR0YWNobWVudC5qcydcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { base64DecodeText } from './base64Decode.js';
|
|
3
|
+
export function useText(attachment) {
|
|
4
|
+
const [loading, setLoading] = useState(false);
|
|
5
|
+
const [content, setContent] = useState(attachment.contentEncoding === 'BASE64' ? base64DecodeText(attachment.body) : attachment.body);
|
|
6
|
+
const [error, setError] = useState();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (attachment.url) {
|
|
9
|
+
setLoading(true);
|
|
10
|
+
fetch(attachment.url)
|
|
11
|
+
.then((response) => {
|
|
12
|
+
if (response.status !== 200) {
|
|
13
|
+
throw new Error('HTTP error when fetching attachment content');
|
|
14
|
+
}
|
|
15
|
+
return response.text().then((text) => setContent(text));
|
|
16
|
+
})
|
|
17
|
+
.catch((e) => setError(e))
|
|
18
|
+
.finally(() => setLoading(false));
|
|
19
|
+
}
|
|
20
|
+
}, [attachment]);
|
|
21
|
+
return {
|
|
22
|
+
title: attachment.fileName ?? `Attached Text (${attachment.mediaType})`,
|
|
23
|
+
loading,
|
|
24
|
+
content,
|
|
25
|
+
error,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vYXR0YWNobWVudC91c2VUZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXBELE1BQU0sVUFBVSxPQUFPLENBQUMsVUFBc0I7SUFDNUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0MsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQ3BDLFVBQVUsQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzlGLENBQUE7SUFDRCxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsRUFBa0IsQ0FBQTtJQUNwRCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2hCLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2lCQUNsQixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7Z0JBQ2hFLENBQUM7Z0JBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUN6RCxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUNoQixPQUFPO1FBQ0wsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLElBQUksa0JBQWtCLFVBQVUsQ0FBQyxTQUFTLEdBQUc7UUFDdkUsT0FBTztRQUNQLE9BQU87UUFDUCxLQUFLO0tBQ04sQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnQgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IGJhc2U2NERlY29kZVRleHQgfSBmcm9tICcuL2Jhc2U2NERlY29kZS5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRleHQoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2NvbnRlbnQsIHNldENvbnRlbnRdID0gdXNlU3RhdGUoXG4gICAgYXR0YWNobWVudC5jb250ZW50RW5jb2RpbmcgPT09ICdCQVNFNjQnID8gYmFzZTY0RGVjb2RlVGV4dChhdHRhY2htZW50LmJvZHkpIDogYXR0YWNobWVudC5ib2R5XG4gIClcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IHN0cmluZz4oKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhdHRhY2htZW50LnVybCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgZmV0Y2goYXR0YWNobWVudC51cmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIVFRQIGVycm9yIHdoZW4gZmV0Y2hpbmcgYXR0YWNobWVudCBjb250ZW50JylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKCh0ZXh0KSA9PiBzZXRDb250ZW50KHRleHQpKVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHNldEVycm9yKGUpKVxuICAgICAgICAuZmluYWxseSgoKSA9PiBzZXRMb2FkaW5nKGZhbHNlKSlcbiAgICB9XG4gIH0sIFthdHRhY2htZW50XSlcbiAgcmV0dXJuIHtcbiAgICB0aXRsZTogYXR0YWNobWVudC5maWxlTmFtZSA/PyBgQXR0YWNoZWQgVGV4dCAoJHthdHRhY2htZW50Lm1lZGlhVHlwZX0pYCxcbiAgICBsb2FkaW5nLFxuICAgIGNvbnRlbnQsXG4gICAgZXJyb3IsXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HookType } from '@cucumber/messages';
|
|
2
|
+
const labels = {
|
|
3
|
+
[HookType.BEFORE_TEST_RUN]: 'BeforeAll',
|
|
4
|
+
[HookType.BEFORE_TEST_CASE]: 'Before',
|
|
5
|
+
[HookType.BEFORE_TEST_STEP]: 'BeforeStep',
|
|
6
|
+
[HookType.AFTER_TEST_STEP]: 'AfterStep',
|
|
7
|
+
[HookType.AFTER_TEST_CASE]: 'After',
|
|
8
|
+
[HookType.AFTER_TEST_RUN]: 'AfterAll',
|
|
9
|
+
};
|
|
10
|
+
export function composeHookStepTitle(hook) {
|
|
11
|
+
let result = '';
|
|
12
|
+
if (hook?.type) {
|
|
13
|
+
result = labels[hook.type];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
result += 'Hook';
|
|
17
|
+
}
|
|
18
|
+
if (hook?.name) {
|
|
19
|
+
result += `: ${hook.name}`;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZUhvb2tTdGVwVGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2NvbXBvc2VIb29rU3RlcFRpdGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4RCxNQUFNLE1BQU0sR0FBNkI7SUFDdkMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsV0FBVztJQUN2QyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVE7SUFDckMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxZQUFZO0lBQ3pDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVc7SUFDdkMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTztJQUNuQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVO0NBQ3RDLENBQUE7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBVztJQUM5QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFFZixJQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNmLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLE1BQU0sQ0FBQTtJQUNsQixDQUFDO0lBRUQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgSG9vaywgSG9va1R5cGUgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5cbmNvbnN0IGxhYmVsczogUmVjb3JkPEhvb2tUeXBlLCBzdHJpbmc+ID0ge1xuICBbSG9va1R5cGUuQkVGT1JFX1RFU1RfUlVOXTogJ0JlZm9yZUFsbCcsXG4gIFtIb29rVHlwZS5CRUZPUkVfVEVTVF9DQVNFXTogJ0JlZm9yZScsXG4gIFtIb29rVHlwZS5CRUZPUkVfVEVTVF9TVEVQXTogJ0JlZm9yZVN0ZXAnLFxuICBbSG9va1R5cGUuQUZURVJfVEVTVF9TVEVQXTogJ0FmdGVyU3RlcCcsXG4gIFtIb29rVHlwZS5BRlRFUl9URVNUX0NBU0VdOiAnQWZ0ZXInLFxuICBbSG9va1R5cGUuQUZURVJfVEVTVF9SVU5dOiAnQWZ0ZXJBbGwnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcG9zZUhvb2tTdGVwVGl0bGUoaG9vaz86IEhvb2spOiBzdHJpbmcge1xuICBsZXQgcmVzdWx0ID0gJydcblxuICBpZiAoaG9vaz8udHlwZSkge1xuICAgIHJlc3VsdCA9IGxhYmVsc1tob29rLnR5cGVdXG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ICs9ICdIb29rJ1xuICB9XG5cbiAgaWYgKGhvb2s/Lm5hbWUpIHtcbiAgICByZXN1bHQgKz0gYDogJHtob29rLm5hbWV9YFxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function composePickleStepTitle(text, stepMatchArgumentsLists) {
|
|
2
|
+
if (stepMatchArgumentsLists?.length === 1) {
|
|
3
|
+
const stepMatchArguments = stepMatchArgumentsLists[0].stepMatchArguments;
|
|
4
|
+
let offset = 0;
|
|
5
|
+
let plain;
|
|
6
|
+
const fragments = [];
|
|
7
|
+
for (const argument of stepMatchArguments) {
|
|
8
|
+
plain = text.slice(offset, argument.group.start);
|
|
9
|
+
if (plain.length > 0) {
|
|
10
|
+
fragments.push({ value: plain });
|
|
11
|
+
}
|
|
12
|
+
const arg = argument.group.value;
|
|
13
|
+
if (arg) {
|
|
14
|
+
if (arg.length > 0) {
|
|
15
|
+
fragments.push({
|
|
16
|
+
value: arg,
|
|
17
|
+
parameterTypeName: argument.parameterTypeName || 'anonymous',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
offset += plain.length + arg.length;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
plain = text.slice(offset);
|
|
24
|
+
if (plain.length > 0) {
|
|
25
|
+
fragments.push({ value: plain });
|
|
26
|
+
}
|
|
27
|
+
return fragments;
|
|
28
|
+
}
|
|
29
|
+
// no argument matching, just a single text value
|
|
30
|
+
return [
|
|
31
|
+
{
|
|
32
|
+
value: text,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZVBpY2tsZVN0ZXBUaXRsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vY29tcG9zZVBpY2tsZVN0ZXBUaXRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQVksRUFDWix1QkFBK0Q7SUFFL0QsSUFBSSx1QkFBdUIsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxrQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN4RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLEtBQWEsQ0FBQTtRQUNqQixNQUFNLFNBQVMsR0FBb0IsRUFBRSxDQUFBO1FBQ3JDLEtBQUssTUFBTSxRQUFRLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUMxQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUNsQyxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUE7WUFDaEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ25CLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2IsS0FBSyxFQUFFLEdBQUc7d0JBQ1YsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixJQUFJLFdBQVc7cUJBQzdELENBQUMsQ0FBQTtnQkFDSixDQUFDO2dCQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7WUFDckMsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBQ0QsaURBQWlEO0lBQ2pELE9BQU87UUFDTDtZQUNFLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RlcE1hdGNoQXJndW1lbnRzTGlzdCB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcblxuaW50ZXJmYWNlIFRpdGxlRnJhZ21lbnQge1xuICB2YWx1ZTogc3RyaW5nXG4gIHBhcmFtZXRlclR5cGVOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb3NlUGlja2xlU3RlcFRpdGxlKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHN0ZXBNYXRjaEFyZ3VtZW50c0xpc3RzPzogUmVhZG9ubHlBcnJheTxTdGVwTWF0Y2hBcmd1bWVudHNMaXN0PlxuKTogUmVhZG9ubHlBcnJheTxUaXRsZUZyYWdtZW50PiB7XG4gIGlmIChzdGVwTWF0Y2hBcmd1bWVudHNMaXN0cz8ubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3Qgc3RlcE1hdGNoQXJndW1lbnRzID0gc3RlcE1hdGNoQXJndW1lbnRzTGlzdHNbMF0uc3RlcE1hdGNoQXJndW1lbnRzXG4gICAgbGV0IG9mZnNldCA9IDBcbiAgICBsZXQgcGxhaW46IHN0cmluZ1xuICAgIGNvbnN0IGZyYWdtZW50czogVGl0bGVGcmFnbWVudFtdID0gW11cbiAgICBmb3IgKGNvbnN0IGFyZ3VtZW50IG9mIHN0ZXBNYXRjaEFyZ3VtZW50cykge1xuICAgICAgcGxhaW4gPSB0ZXh0LnNsaWNlKG9mZnNldCwgYXJndW1lbnQuZ3JvdXAuc3RhcnQpXG4gICAgICBpZiAocGxhaW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBmcmFnbWVudHMucHVzaCh7IHZhbHVlOiBwbGFpbiB9KVxuICAgICAgfVxuICAgICAgY29uc3QgYXJnID0gYXJndW1lbnQuZ3JvdXAudmFsdWVcbiAgICAgIGlmIChhcmcpIHtcbiAgICAgICAgaWYgKGFyZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZnJhZ21lbnRzLnB1c2goe1xuICAgICAgICAgICAgdmFsdWU6IGFyZyxcbiAgICAgICAgICAgIHBhcmFtZXRlclR5cGVOYW1lOiBhcmd1bWVudC5wYXJhbWV0ZXJUeXBlTmFtZSB8fCAnYW5vbnltb3VzJyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIG9mZnNldCArPSBwbGFpbi5sZW5ndGggKyBhcmcubGVuZ3RoXG4gICAgICB9XG4gICAgfVxuICAgIHBsYWluID0gdGV4dC5zbGljZShvZmZzZXQpXG4gICAgaWYgKHBsYWluLmxlbmd0aCA+IDApIHtcbiAgICAgIGZyYWdtZW50cy5wdXNoKHsgdmFsdWU6IHBsYWluIH0pXG4gICAgfVxuICAgIHJldHVybiBmcmFnbWVudHNcbiAgfVxuICAvLyBubyBhcmd1bWVudCBtYXRjaGluZywganVzdCBhIHNpbmdsZSB0ZXh0IHZhbHVlXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgdmFsdWU6IHRleHQsXG4gICAgfSxcbiAgXVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from './Anchor.js';
|
|
2
|
+
export * from './attachment/Attachment.js';
|
|
3
|
+
export * from './Background.js';
|
|
4
|
+
export * from './Children.js';
|
|
5
|
+
export * from './DataTable.js';
|
|
6
|
+
export * from './Description.js';
|
|
7
|
+
export * from './DocString.js';
|
|
8
|
+
export * from './ErrorMessage.js';
|
|
9
|
+
export * from './Examples.js';
|
|
10
|
+
export * from './Feature.js';
|
|
11
|
+
export * from './GherkinDocument.js';
|
|
12
|
+
export * from './Keyword.js';
|
|
13
|
+
export * from './Parameter.js';
|
|
14
|
+
export * from './Rule.js';
|
|
15
|
+
export * from './Scenario.js';
|
|
16
|
+
export * from './StatusIcon.js';
|
|
17
|
+
export * from './Tags.js';
|
|
18
|
+
export * from './Title.js';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9BbmNob3IuanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQvQXR0YWNobWVudC5qcydcbmV4cG9ydCAqIGZyb20gJy4vQmFja2dyb3VuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vQ2hpbGRyZW4uanMnXG5leHBvcnQgKiBmcm9tICcuL0RhdGFUYWJsZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vRGVzY3JpcHRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL0RvY1N0cmluZy5qcydcbmV4cG9ydCAqIGZyb20gJy4vRXJyb3JNZXNzYWdlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9FeGFtcGxlcy5qcydcbmV4cG9ydCAqIGZyb20gJy4vRmVhdHVyZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vR2hlcmtpbkRvY3VtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9LZXl3b3JkLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9QYXJhbWV0ZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL1J1bGUuanMnXG5leHBvcnQgKiBmcm9tICcuL1NjZW5hcmlvLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9TdGF0dXNJY29uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9UYWdzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9UaXRsZS5qcydcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Lifted from cucumber-expressions/javascript/src/ParameterTypeRegistry#FLOAT_REGEXP
|
|
2
|
+
// Modified to allow spaces, commas and periods as decimal- and/or as thousand-separators
|
|
3
|
+
const numberPattern = /^(?=.*\d.*)[-+]?\d*(?:[., ](?=\d.*)\d*)*(?:\d+E[+-]?\d+)?$/;
|
|
4
|
+
export default function isNumber(s) {
|
|
5
|
+
return !!s.match(numberPattern);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNOdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naGVya2luL2lzTnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFGQUFxRjtBQUNyRix5RkFBeUY7QUFDekYsTUFBTSxhQUFhLEdBQUcsNERBQTRELENBQUE7QUFFbEYsTUFBTSxDQUFDLE9BQU8sVUFBVSxRQUFRLENBQUMsQ0FBUztJQUN4QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWZ0ZWQgZnJvbSBjdWN1bWJlci1leHByZXNzaW9ucy9qYXZhc2NyaXB0L3NyYy9QYXJhbWV0ZXJUeXBlUmVnaXN0cnkjRkxPQVRfUkVHRVhQXG4vLyBNb2RpZmllZCB0byBhbGxvdyBzcGFjZXMsIGNvbW1hcyBhbmQgcGVyaW9kcyBhcyBkZWNpbWFsLSBhbmQvb3IgYXMgdGhvdXNhbmQtc2VwYXJhdG9yc1xuY29uc3QgbnVtYmVyUGF0dGVybiA9IC9eKD89LipcXGQuKilbLStdP1xcZCooPzpbLiwgXSg/PVxcZC4qKVxcZCopKig/OlxcZCtFWystXT9cXGQrKT8kL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc051bWJlcihzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhcy5tYXRjaChudW1iZXJQYXR0ZXJuKVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export default (status) => {
|
|
2
|
+
return status.toLowerCase();
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzTmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2doZXJraW4vc3RhdHVzTmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxlQUFlLENBQUMsTUFBNEIsRUFBVSxFQUFFO0lBQ3RELE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO0FBQzdCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdFN0ZXBSZXN1bHRTdGF0dXMgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5cbmV4cG9ydCBkZWZhdWx0IChzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHN0YXR1cy50b0xvd2VyQ2FzZSgpXG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './app/index.js';
|
|
2
|
+
export * from './customise/index.js';
|
|
3
|
+
export * from './gherkin/index.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwL2luZGV4LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b21pc2UvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL2doZXJraW4vaW5kZXguanMnXG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useQueries } from '../../hooks/index.js';
|
|
3
|
+
import styles from './AmbiguousResult.module.scss';
|
|
4
|
+
import { ResultNote } from './ResultNote.js';
|
|
5
|
+
import { SourceReference } from './SourceReference.js';
|
|
6
|
+
export const AmbiguousResult = ({ testStep }) => {
|
|
7
|
+
const { cucumberQuery } = useQueries();
|
|
8
|
+
const stepDefinitions = cucumberQuery.findStepDefinitionsBy(testStep);
|
|
9
|
+
return (_jsxs(_Fragment, { children: [_jsx(ResultNote, { children: "Multiple matching step definitions found:" }), _jsx("ul", { className: styles.definitions, children: stepDefinitions.map((stepDefinition) => (_jsxs("li", { className: styles.definition, children: [_jsx("code", { className: styles.pattern, children: stepDefinition.pattern.source }), _jsx(SourceReference, { sourceReference: stepDefinition.sourceReference })] }, stepDefinition.id))) })] }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW1iaWd1b3VzUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVzdWx0cy9BbWJpZ3VvdXNSZXN1bHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxNQUFNLE1BQU0sK0JBQStCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU10RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7SUFDekQsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFBO0lBQ3RDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyRSxPQUFPLENBQ0wsOEJBQ0UsS0FBQyxVQUFVLDREQUF1RCxFQUNsRSxhQUFJLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxZQUM5QixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUN2QyxjQUE0QixTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsYUFDdEQsZUFBTSxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sWUFBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBUSxFQUN2RSxLQUFDLGVBQWUsSUFBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsR0FBSSxLQUY3RCxjQUFjLENBQUMsRUFBRSxDQUdyQixDQUNOLENBQUMsR0FDQyxJQUNKLENBQ0osQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVzdFN0ZXAgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZVF1ZXJpZXMgfSBmcm9tICcuLi8uLi9ob29rcy9pbmRleC5qcydcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9BbWJpZ3VvdXNSZXN1bHQubW9kdWxlLnNjc3MnXG5pbXBvcnQgeyBSZXN1bHROb3RlIH0gZnJvbSAnLi9SZXN1bHROb3RlLmpzJ1xuaW1wb3J0IHsgU291cmNlUmVmZXJlbmNlIH0gZnJvbSAnLi9Tb3VyY2VSZWZlcmVuY2UuanMnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHRlc3RTdGVwOiBUZXN0U3RlcFxufVxuXG5leHBvcnQgY29uc3QgQW1iaWd1b3VzUmVzdWx0OiBGQzxQcm9wcz4gPSAoeyB0ZXN0U3RlcCB9KSA9PiB7XG4gIGNvbnN0IHsgY3VjdW1iZXJRdWVyeSB9ID0gdXNlUXVlcmllcygpXG4gIGNvbnN0IHN0ZXBEZWZpbml0aW9ucyA9IGN1Y3VtYmVyUXVlcnkuZmluZFN0ZXBEZWZpbml0aW9uc0J5KHRlc3RTdGVwKVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8UmVzdWx0Tm90ZT5NdWx0aXBsZSBtYXRjaGluZyBzdGVwIGRlZmluaXRpb25zIGZvdW5kOjwvUmVzdWx0Tm90ZT5cbiAgICAgIDx1bCBjbGFzc05hbWU9e3N0eWxlcy5kZWZpbml0aW9uc30+XG4gICAgICAgIHtzdGVwRGVmaW5pdGlvbnMubWFwKChzdGVwRGVmaW5pdGlvbikgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e3N0ZXBEZWZpbml0aW9uLmlkfSBjbGFzc05hbWU9e3N0eWxlcy5kZWZpbml0aW9ufT5cbiAgICAgICAgICAgIDxjb2RlIGNsYXNzTmFtZT17c3R5bGVzLnBhdHRlcm59PntzdGVwRGVmaW5pdGlvbi5wYXR0ZXJuLnNvdXJjZX08L2NvZGU+XG4gICAgICAgICAgICA8U291cmNlUmVmZXJlbmNlIHNvdXJjZVJlZmVyZW5jZT17c3RlcERlZmluaXRpb24uc291cmNlUmVmZXJlbmNlfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC91bD5cbiAgICA8Lz5cbiAgKVxufVxuIl19
|