@cucumber/react-components 20.0.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/LICENSE +21 -0
- package/README.md +215 -0
- package/dist/src/CucumberQueryContext.d.ts +5 -0
- package/dist/src/CucumberQueryContext.d.ts.map +1 -0
- package/dist/src/CucumberQueryContext.js +9 -0
- package/dist/src/CucumberQueryContext.js.map +1 -0
- package/dist/src/EnvelopesQueryContext.d.ts +14 -0
- package/dist/src/EnvelopesQueryContext.d.ts.map +1 -0
- package/dist/src/EnvelopesQueryContext.js +36 -0
- package/dist/src/EnvelopesQueryContext.js.map +1 -0
- package/dist/src/GherkinQueryContext.d.ts +5 -0
- package/dist/src/GherkinQueryContext.d.ts.map +1 -0
- package/dist/src/GherkinQueryContext.js +9 -0
- package/dist/src/GherkinQueryContext.js.map +1 -0
- package/dist/src/SearchQueryContext.d.ts +34 -0
- package/dist/src/SearchQueryContext.d.ts.map +1 -0
- package/dist/src/SearchQueryContext.js +102 -0
- package/dist/src/SearchQueryContext.js.map +1 -0
- package/dist/src/UriContext.d.ts +4 -0
- package/dist/src/UriContext.d.ts.map +1 -0
- package/dist/src/UriContext.js +8 -0
- package/dist/src/UriContext.js.map +1 -0
- package/dist/src/ciCommitLink.d.ts +3 -0
- package/dist/src/ciCommitLink.d.ts.map +1 -0
- package/dist/src/ciCommitLink.js +18 -0
- package/dist/src/ciCommitLink.js.map +1 -0
- package/dist/src/components/CucumberReact.d.ts +10 -0
- package/dist/src/components/CucumberReact.d.ts.map +1 -0
- package/dist/src/components/CucumberReact.js +16 -0
- package/dist/src/components/CucumberReact.js.map +1 -0
- package/dist/src/components/CucumberReact.module.scss +35 -0
- package/dist/src/components/app/CICommitLink.d.ts +8 -0
- package/dist/src/components/app/CICommitLink.d.ts.map +1 -0
- package/dist/src/components/app/CICommitLink.js +25 -0
- package/dist/src/components/app/CICommitLink.js.map +1 -0
- package/dist/src/components/app/EnvelopesWrapper.d.ts +8 -0
- package/dist/src/components/app/EnvelopesWrapper.d.ts.map +1 -0
- package/dist/src/components/app/EnvelopesWrapper.js +47 -0
- package/dist/src/components/app/EnvelopesWrapper.js.map +1 -0
- package/dist/src/components/app/ExecutionSummary.d.ts +13 -0
- package/dist/src/components/app/ExecutionSummary.d.ts.map +1 -0
- package/dist/src/components/app/ExecutionSummary.js +82 -0
- package/dist/src/components/app/ExecutionSummary.js.map +1 -0
- package/dist/src/components/app/ExecutionSummary.module.scss +59 -0
- package/dist/src/components/app/FilteredResults.d.ts +7 -0
- package/dist/src/components/app/FilteredResults.d.ts.map +1 -0
- package/dist/src/components/app/FilteredResults.js +42 -0
- package/dist/src/components/app/FilteredResults.js.map +1 -0
- package/dist/src/components/app/FilteredResults.module.scss +7 -0
- package/dist/src/components/app/GherkinDocumentList.d.ts +9 -0
- package/dist/src/components/app/GherkinDocumentList.d.ts.map +1 -0
- package/dist/src/components/app/GherkinDocumentList.js +84 -0
- package/dist/src/components/app/GherkinDocumentList.js.map +1 -0
- package/dist/src/components/app/GherkinDocumentList.module.scss +45 -0
- package/dist/src/components/app/HighLight.d.ts +9 -0
- package/dist/src/components/app/HighLight.d.ts.map +1 -0
- package/dist/src/components/app/HighLight.js +38 -0
- package/dist/src/components/app/HighLight.js.map +1 -0
- package/dist/src/components/app/NoMatchResult.d.ts +7 -0
- package/dist/src/components/app/NoMatchResult.d.ts.map +1 -0
- package/dist/src/components/app/NoMatchResult.js +19 -0
- package/dist/src/components/app/NoMatchResult.js.map +1 -0
- package/dist/src/components/app/NoMatchResult.module.scss +13 -0
- package/dist/src/components/app/OSIcon.d.ts +5 -0
- package/dist/src/components/app/OSIcon.d.ts.map +1 -0
- package/dist/src/components/app/OSIcon.js +27 -0
- package/dist/src/components/app/OSIcon.js.map +1 -0
- package/dist/src/components/app/QueriesWrapper.d.ts +12 -0
- package/dist/src/components/app/QueriesWrapper.d.ts.map +1 -0
- package/dist/src/components/app/QueriesWrapper.js +15 -0
- package/dist/src/components/app/QueriesWrapper.js.map +1 -0
- package/dist/src/components/app/RuntimeIcon.d.ts +5 -0
- package/dist/src/components/app/RuntimeIcon.d.ts.map +1 -0
- package/dist/src/components/app/RuntimeIcon.js +27 -0
- package/dist/src/components/app/RuntimeIcon.js.map +1 -0
- package/dist/src/components/app/SearchBar.d.ts +12 -0
- package/dist/src/components/app/SearchBar.d.ts.map +1 -0
- package/dist/src/components/app/SearchBar.js +48 -0
- package/dist/src/components/app/SearchBar.js.map +1 -0
- package/dist/src/components/app/SearchBar.module.scss +74 -0
- package/dist/src/components/app/SearchWrapper.d.ts +4 -0
- package/dist/src/components/app/SearchWrapper.d.ts.map +1 -0
- package/dist/src/components/app/SearchWrapper.js +48 -0
- package/dist/src/components/app/SearchWrapper.js.map +1 -0
- package/dist/src/components/app/StatusesSummary.d.ts +8 -0
- package/dist/src/components/app/StatusesSummary.d.ts.map +1 -0
- package/dist/src/components/app/StatusesSummary.js +24 -0
- package/dist/src/components/app/StatusesSummary.js.map +1 -0
- package/dist/src/components/app/StatusesSummary.module.scss +34 -0
- package/dist/src/components/app/icons/CucumberLogo.d.ts +3 -0
- package/dist/src/components/app/icons/CucumberLogo.d.ts.map +1 -0
- package/dist/src/components/app/icons/CucumberLogo.js +16 -0
- package/dist/src/components/app/icons/CucumberLogo.js.map +1 -0
- package/dist/src/components/app/icons/Jvm.d.ts +3 -0
- package/dist/src/components/app/icons/Jvm.d.ts.map +1 -0
- package/dist/src/components/app/icons/Jvm.js +17 -0
- package/dist/src/components/app/icons/Jvm.js.map +1 -0
- package/dist/src/components/app/icons/Linux.d.ts +3 -0
- package/dist/src/components/app/icons/Linux.d.ts.map +1 -0
- package/dist/src/components/app/icons/Linux.js +27 -0
- package/dist/src/components/app/icons/Linux.js.map +1 -0
- package/dist/src/components/app/icons/MacOS.d.ts +3 -0
- package/dist/src/components/app/icons/MacOS.d.ts.map +1 -0
- package/dist/src/components/app/icons/MacOS.js +13 -0
- package/dist/src/components/app/icons/MacOS.js.map +1 -0
- package/dist/src/components/app/icons/NodeJs.d.ts +3 -0
- package/dist/src/components/app/icons/NodeJs.d.ts.map +1 -0
- package/dist/src/components/app/icons/NodeJs.js +43 -0
- package/dist/src/components/app/icons/NodeJs.js.map +1 -0
- package/dist/src/components/app/icons/Ruby.d.ts +3 -0
- package/dist/src/components/app/icons/Ruby.d.ts.map +1 -0
- package/dist/src/components/app/icons/Ruby.js +13 -0
- package/dist/src/components/app/icons/Ruby.js.map +1 -0
- package/dist/src/components/app/icons/Windows.d.ts +3 -0
- package/dist/src/components/app/icons/Windows.d.ts.map +1 -0
- package/dist/src/components/app/icons/Windows.js +13 -0
- package/dist/src/components/app/icons/Windows.js.map +1 -0
- package/dist/src/components/app/index.d.ts +12 -0
- package/dist/src/components/app/index.d.ts.map +1 -0
- package/dist/src/components/app/index.js +28 -0
- package/dist/src/components/app/index.js.map +1 -0
- package/dist/src/components/app/rehypePlugins.d.ts +4 -0
- package/dist/src/components/app/rehypePlugins.d.ts.map +1 -0
- package/dist/src/components/app/rehypePlugins.js +14 -0
- package/dist/src/components/app/rehypePlugins.js.map +1 -0
- package/dist/src/components/app/statuses.d.ts +4 -0
- package/dist/src/components/app/statuses.d.ts.map +1 -0
- package/dist/src/components/app/statuses.js +37 -0
- package/dist/src/components/app/statuses.js.map +1 -0
- package/dist/src/components/customise/customRendering.d.ts +122 -0
- package/dist/src/components/customise/customRendering.d.ts.map +1 -0
- package/dist/src/components/customise/customRendering.js +58 -0
- package/dist/src/components/customise/customRendering.js.map +1 -0
- package/dist/src/components/customise/index.d.ts +3 -0
- package/dist/src/components/customise/index.d.ts.map +1 -0
- package/dist/src/components/customise/index.js +19 -0
- package/dist/src/components/customise/index.js.map +1 -0
- package/dist/src/components/customise/theming.d.ts +2 -0
- package/dist/src/components/customise/theming.d.ts.map +1 -0
- package/dist/src/components/customise/theming.js +3 -0
- package/dist/src/components/customise/theming.js.map +1 -0
- package/dist/src/components/gherkin/Anchor.d.ts +4 -0
- package/dist/src/components/gherkin/Anchor.d.ts.map +1 -0
- package/dist/src/components/gherkin/Anchor.js +23 -0
- package/dist/src/components/gherkin/Anchor.js.map +1 -0
- package/dist/src/components/gherkin/Anchor.module.scss +20 -0
- package/dist/src/components/gherkin/Attachment.d.ts +5 -0
- package/dist/src/components/gherkin/Attachment.d.ts.map +1 -0
- package/dist/src/components/gherkin/Attachment.js +100 -0
- package/dist/src/components/gherkin/Attachment.js.map +1 -0
- package/dist/src/components/gherkin/Attachment.module.scss +23 -0
- package/dist/src/components/gherkin/Background.d.ts +4 -0
- package/dist/src/components/gherkin/Background.d.ts.map +1 -0
- package/dist/src/components/gherkin/Background.js +30 -0
- package/dist/src/components/gherkin/Background.js.map +1 -0
- package/dist/src/components/gherkin/Background.module.scss +12 -0
- package/dist/src/components/gherkin/Children.d.ts +4 -0
- package/dist/src/components/gherkin/Children.d.ts.map +1 -0
- package/dist/src/components/gherkin/Children.js +18 -0
- package/dist/src/components/gherkin/Children.js.map +1 -0
- package/dist/src/components/gherkin/Children.module.scss +6 -0
- package/dist/src/components/gherkin/DataTable.d.ts +4 -0
- package/dist/src/components/gherkin/DataTable.d.ts.map +1 -0
- package/dist/src/components/gherkin/DataTable.js +25 -0
- package/dist/src/components/gherkin/DataTable.js.map +1 -0
- package/dist/src/components/gherkin/DataTable.module.scss +41 -0
- package/dist/src/components/gherkin/Description.d.ts +4 -0
- package/dist/src/components/gherkin/Description.d.ts.map +1 -0
- package/dist/src/components/gherkin/Description.js +23 -0
- package/dist/src/components/gherkin/Description.js.map +1 -0
- package/dist/src/components/gherkin/Description.module.scss +10 -0
- package/dist/src/components/gherkin/DocString.d.ts +4 -0
- package/dist/src/components/gherkin/DocString.d.ts.map +1 -0
- package/dist/src/components/gherkin/DocString.js +20 -0
- package/dist/src/components/gherkin/DocString.js.map +1 -0
- package/dist/src/components/gherkin/DocString.module.scss +25 -0
- package/dist/src/components/gherkin/ErrorMessage.d.ts +4 -0
- package/dist/src/components/gherkin/ErrorMessage.d.ts.map +1 -0
- package/dist/src/components/gherkin/ErrorMessage.js +18 -0
- package/dist/src/components/gherkin/ErrorMessage.js.map +1 -0
- package/dist/src/components/gherkin/ErrorMessage.module.scss +13 -0
- package/dist/src/components/gherkin/Examples.d.ts +4 -0
- package/dist/src/components/gherkin/Examples.d.ts.map +1 -0
- package/dist/src/components/gherkin/Examples.js +33 -0
- package/dist/src/components/gherkin/Examples.js.map +1 -0
- package/dist/src/components/gherkin/Examples.module.scss +3 -0
- package/dist/src/components/gherkin/ExamplesTable.d.ts +4 -0
- package/dist/src/components/gherkin/ExamplesTable.d.ts.map +1 -0
- package/dist/src/components/gherkin/ExamplesTable.js +58 -0
- package/dist/src/components/gherkin/ExamplesTable.js.map +1 -0
- package/dist/src/components/gherkin/Feature.d.ts +4 -0
- package/dist/src/components/gherkin/Feature.d.ts.map +1 -0
- package/dist/src/components/gherkin/Feature.js +47 -0
- package/dist/src/components/gherkin/Feature.js.map +1 -0
- package/dist/src/components/gherkin/GherkinDocument.d.ts +4 -0
- package/dist/src/components/gherkin/GherkinDocument.d.ts.map +1 -0
- package/dist/src/components/gherkin/GherkinDocument.js +18 -0
- package/dist/src/components/gherkin/GherkinDocument.js.map +1 -0
- package/dist/src/components/gherkin/GherkinStep.d.ts +4 -0
- package/dist/src/components/gherkin/GherkinStep.d.ts.map +1 -0
- package/dist/src/components/gherkin/GherkinStep.js +89 -0
- package/dist/src/components/gherkin/GherkinStep.js.map +1 -0
- package/dist/src/components/gherkin/HookList.d.ts +8 -0
- package/dist/src/components/gherkin/HookList.d.ts.map +1 -0
- package/dist/src/components/gherkin/HookList.js +14 -0
- package/dist/src/components/gherkin/HookList.js.map +1 -0
- package/dist/src/components/gherkin/HookStep.d.ts +4 -0
- package/dist/src/components/gherkin/HookStep.d.ts.map +1 -0
- package/dist/src/components/gherkin/HookStep.js +72 -0
- package/dist/src/components/gherkin/HookStep.js.map +1 -0
- package/dist/src/components/gherkin/Keyword.d.ts +3 -0
- package/dist/src/components/gherkin/Keyword.d.ts.map +1 -0
- package/dist/src/components/gherkin/Keyword.js +18 -0
- package/dist/src/components/gherkin/Keyword.js.map +1 -0
- package/dist/src/components/gherkin/Keyword.module.scss +7 -0
- package/dist/src/components/gherkin/MDG.d.ts +8 -0
- package/dist/src/components/gherkin/MDG.d.ts.map +1 -0
- package/dist/src/components/gherkin/MDG.js +87 -0
- package/dist/src/components/gherkin/MDG.js.map +1 -0
- package/dist/src/components/gherkin/MDG.module.scss +12 -0
- package/dist/src/components/gherkin/Parameter.d.ts +4 -0
- package/dist/src/components/gherkin/Parameter.d.ts.map +1 -0
- package/dist/src/components/gherkin/Parameter.js +18 -0
- package/dist/src/components/gherkin/Parameter.js.map +1 -0
- package/dist/src/components/gherkin/Parameter.module.scss +6 -0
- package/dist/src/components/gherkin/Rule.d.ts +4 -0
- package/dist/src/components/gherkin/Rule.d.ts.map +1 -0
- package/dist/src/components/gherkin/Rule.js +43 -0
- package/dist/src/components/gherkin/Rule.js.map +1 -0
- package/dist/src/components/gherkin/Scenario.d.ts +4 -0
- package/dist/src/components/gherkin/Scenario.d.ts.map +1 -0
- package/dist/src/components/gherkin/Scenario.js +51 -0
- package/dist/src/components/gherkin/Scenario.js.map +1 -0
- package/dist/src/components/gherkin/Scenario.module.scss +12 -0
- package/dist/src/components/gherkin/StatusIcon.d.ts +4 -0
- package/dist/src/components/gherkin/StatusIcon.d.ts.map +1 -0
- package/dist/src/components/gherkin/StatusIcon.js +31 -0
- package/dist/src/components/gherkin/StatusIcon.js.map +1 -0
- package/dist/src/components/gherkin/StatusIcon.module.scss +16 -0
- package/dist/src/components/gherkin/StepItem.d.ts +7 -0
- package/dist/src/components/gherkin/StepItem.d.ts.map +1 -0
- package/dist/src/components/gherkin/StepItem.js +17 -0
- package/dist/src/components/gherkin/StepItem.js.map +1 -0
- package/dist/src/components/gherkin/StepItem.module.scss +22 -0
- package/dist/src/components/gherkin/StepList.d.ts +4 -0
- package/dist/src/components/gherkin/StepList.d.ts.map +1 -0
- package/dist/src/components/gherkin/StepList.js +19 -0
- package/dist/src/components/gherkin/StepList.js.map +1 -0
- package/dist/src/components/gherkin/Tags.d.ts +4 -0
- package/dist/src/components/gherkin/Tags.d.ts.map +1 -0
- package/dist/src/components/gherkin/Tags.js +23 -0
- package/dist/src/components/gherkin/Tags.js.map +1 -0
- package/dist/src/components/gherkin/Tags.module.scss +17 -0
- package/dist/src/components/gherkin/Title.d.ts +4 -0
- package/dist/src/components/gherkin/Title.d.ts.map +1 -0
- package/dist/src/components/gherkin/Title.js +20 -0
- package/dist/src/components/gherkin/Title.js.map +1 -0
- package/dist/src/components/gherkin/Title.module.scss +6 -0
- package/dist/src/components/gherkin/index.d.ts +26 -0
- package/dist/src/components/gherkin/index.d.ts.map +1 -0
- package/dist/src/components/gherkin/index.js +42 -0
- package/dist/src/components/gherkin/index.js.map +1 -0
- package/dist/src/components/gherkin/isNumber.d.ts +2 -0
- package/dist/src/components/gherkin/isNumber.d.ts.map +1 -0
- package/dist/src/components/gherkin/isNumber.js +9 -0
- package/dist/src/components/gherkin/isNumber.js.map +1 -0
- package/dist/src/components/gherkin/statusName.d.ts +4 -0
- package/dist/src/components/gherkin/statusName.d.ts.map +1 -0
- package/dist/src/components/gherkin/statusName.js +6 -0
- package/dist/src/components/gherkin/statusName.js.map +1 -0
- package/dist/src/components/index.d.ts +5 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/index.js +34 -0
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/countScenariosByStatuses.d.ts +10 -0
- package/dist/src/countScenariosByStatuses.d.ts.map +1 -0
- package/dist/src/countScenariosByStatuses.js +43 -0
- package/dist/src/countScenariosByStatuses.js.map +1 -0
- package/dist/src/filter/filterByStatus.d.ts +5 -0
- package/dist/src/filter/filterByStatus.d.ts.map +1 -0
- package/dist/src/filter/filterByStatus.js +20 -0
- package/dist/src/filter/filterByStatus.js.map +1 -0
- package/dist/src/hooks/index.d.ts +3 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +19 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/useQueries.d.ts +11 -0
- package/dist/src/hooks/useQueries.d.ts.map +1 -0
- package/dist/src/hooks/useQueries.js +18 -0
- package/dist/src/hooks/useQueries.js.map +1 -0
- package/dist/src/hooks/useSearch.d.ts +3 -0
- package/dist/src/hooks/useSearch.d.ts.map +1 -0
- package/dist/src/hooks/useSearch.js +13 -0
- package/dist/src/hooks/useSearch.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/isTagExpression.d.ts +2 -0
- package/dist/src/isTagExpression.d.ts.map +1 -0
- package/dist/src/isTagExpression.js +8 -0
- package/dist/src/isTagExpression.js.map +1 -0
- package/dist/src/search/FeatureSearch.d.ts +8 -0
- package/dist/src/search/FeatureSearch.d.ts.map +1 -0
- package/dist/src/search/FeatureSearch.js +45 -0
- package/dist/src/search/FeatureSearch.js.map +1 -0
- package/dist/src/search/RuleSearch.d.ts +9 -0
- package/dist/src/search/RuleSearch.d.ts.map +1 -0
- package/dist/src/search/RuleSearch.js +42 -0
- package/dist/src/search/RuleSearch.js.map +1 -0
- package/dist/src/search/ScenarioSearch.d.ts +9 -0
- package/dist/src/search/ScenarioSearch.d.ts.map +1 -0
- package/dist/src/search/ScenarioSearch.js +42 -0
- package/dist/src/search/ScenarioSearch.js.map +1 -0
- package/dist/src/search/Search.d.ts +11 -0
- package/dist/src/search/Search.d.ts.map +1 -0
- package/dist/src/search/Search.js +32 -0
- package/dist/src/search/Search.js.map +1 -0
- package/dist/src/search/StepSearch.d.ts +11 -0
- package/dist/src/search/StepSearch.d.ts.map +1 -0
- package/dist/src/search/StepSearch.js +55 -0
- package/dist/src/search/StepSearch.js.map +1 -0
- package/dist/src/search/TagSearch.d.ts +12 -0
- package/dist/src/search/TagSearch.d.ts.map +1 -0
- package/dist/src/search/TagSearch.js +58 -0
- package/dist/src/search/TagSearch.js.map +1 -0
- package/dist/src/search/TextSearch.d.ts +12 -0
- package/dist/src/search/TextSearch.d.ts.map +1 -0
- package/dist/src/search/TextSearch.js +52 -0
- package/dist/src/search/TextSearch.js.map +1 -0
- package/dist/src/stories/custom-classes.scss +8 -0
- package/dist/src/styles/theming.scss +16 -0
- package/dist/src/toRepositoryId.d.ts +2 -0
- package/dist/src/toRepositoryId.d.ts.map +1 -0
- package/dist/src/toRepositoryId.js +14 -0
- package/dist/src/toRepositoryId.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +118 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) Cucumber Ltd
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# @cucumber/react-components
|
|
2
|
+
|
|
3
|
+
> A set of React components for rendering Gherkin documents and Cucumber results.
|
|
4
|
+
|
|
5
|
+
## Screenshot
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
The source code for screenshots above is:
|
|
12
|
+
|
|
13
|
+
```jsx
|
|
14
|
+
<EnvelopesWrapper envelopes={envelopes}>
|
|
15
|
+
<GherkinDocumentList />
|
|
16
|
+
</EnvelopesWrapper>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The [`<GherkinDocumentList>`](src/components/app/GherkinDocumentList.tsx) React component,
|
|
20
|
+
is an accordion of [`<GherkinDocument>`](src/components/gherkin/GherkinDocument.tsx).
|
|
21
|
+
|
|
22
|
+
The `<GherkinDocument>` React component and any component nested within it (such as [`<Scenario>`](src/components/gherkin/Scenario.tsx)) can be rendered standalone.
|
|
23
|
+
|
|
24
|
+
## `<GherkinDocument>` features
|
|
25
|
+
|
|
26
|
+
The `<GherkinDocument>` React component is instantiated with a single `gherkinDocument` prop.
|
|
27
|
+
The value must be a [GherkinDocument](../../cucumber-messages/messages.md#io.cucumber.messages.GherkinDocument) object.
|
|
28
|
+
You can use the [Gherkin](../../gherkin) parser to generate a `GherkinDocument` object.
|
|
29
|
+
|
|
30
|
+
By default the `<GherkinDocument>` component will not display any coloured results, as the `GherkinDocument`
|
|
31
|
+
message object does not contain results, only the [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) of the document.
|
|
32
|
+
This is fine for simple use cases where results are not important.
|
|
33
|
+
|
|
34
|
+
To render a `<GherkinDocument>` with results and highlighted [Cucumber Expression parameters](https://cucumber.io/docs/cucumber/cucumber-expressions/) parameters it must be nested inside a
|
|
35
|
+
[`<Wrapper>`](src/components/app/Wrapper.tsx) component.
|
|
36
|
+
|
|
37
|
+
## Styling
|
|
38
|
+
|
|
39
|
+
The standard styling comes from wrapping your top-level usage with the `CucumberReact` component (sans-props). There are several ways you can apply different styling to the components.
|
|
40
|
+
|
|
41
|
+
### Built-in themes
|
|
42
|
+
|
|
43
|
+
These are the built-in themes:
|
|
44
|
+
|
|
45
|
+
- `light` (default)
|
|
46
|
+
- `dark`
|
|
47
|
+
- `auto` (honours your operating system preference for either light or dark)
|
|
48
|
+
|
|
49
|
+
You can activate one of these by passing the `theme` prop to the `CucumberReact` component:
|
|
50
|
+
|
|
51
|
+
```jsx
|
|
52
|
+
<CucumberReact theme="dark">
|
|
53
|
+
<GherkinDocument />
|
|
54
|
+
</CucumberReact>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Custom themes
|
|
58
|
+
|
|
59
|
+
You can also provide your own theme with a small amount of CSS. Pass the `CucumberReact` component a class name instead of a theme name:
|
|
60
|
+
|
|
61
|
+
```jsx
|
|
62
|
+
<CucumberReact className="acme-widgets">
|
|
63
|
+
<GherkinDocument />
|
|
64
|
+
</CucumberReact>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
In your CSS for the `acme-widgets` class, you can override the supported [custom property](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) values as desired. Here's the CSS that drives the built-in "dark" theme:
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
.darkTheme {
|
|
71
|
+
--cucumber-background-color: #1d1d26;
|
|
72
|
+
--cucumber-text-color: #c9c9d1;
|
|
73
|
+
--cucumber-anchor-color: #4caaee;
|
|
74
|
+
--cucumber-keyword-color: #d89077;
|
|
75
|
+
--cucumber-parameter-color: #4caaee;
|
|
76
|
+
--cucumber-tag-color: #85a658;
|
|
77
|
+
--cucumber-docstring-color: #66a565;
|
|
78
|
+
--cucumber-error-background-color: #cf6679;
|
|
79
|
+
--cucumber-error-text-color: #222;
|
|
80
|
+
--cucumber-code-background-color: #282a36;
|
|
81
|
+
--cucumber-code-text-color: #f8f8f2;
|
|
82
|
+
--cucumber-panel-background-color: #282a36;
|
|
83
|
+
--cucumber-panel-accent-color: #313442;
|
|
84
|
+
--cucumber-panel-text-color: #f8f8f2;
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Custom styles
|
|
89
|
+
|
|
90
|
+
For more control over the styling, you can override the CSS used by individual components.
|
|
91
|
+
|
|
92
|
+
Let's say you want to do something totally different with the typography of doc strings. In your own CSS, you might write something like:
|
|
93
|
+
|
|
94
|
+
```css
|
|
95
|
+
.acme-docstring {
|
|
96
|
+
font-weight: bold;
|
|
97
|
+
font-style: italic;
|
|
98
|
+
background-color: black;
|
|
99
|
+
color: hotpink;
|
|
100
|
+
text-shadow: 1px 1px 2px white;
|
|
101
|
+
padding: 10px;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Then, you can provide a `customRendering` prop to the `CucumberReact` component, in the form of an object that declares which class names you're going to override and what with:
|
|
106
|
+
|
|
107
|
+
```jsx
|
|
108
|
+
<CucumberReact customRendering={{
|
|
109
|
+
DocString: {
|
|
110
|
+
docString: 'acme-docstring'
|
|
111
|
+
}
|
|
112
|
+
}}>
|
|
113
|
+
<GherkinDocument />
|
|
114
|
+
</CucumberReact>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Some components have multiple styling hooks - e.g. the `<Tags>` component has the `tags` class name for the list, and the `tag` class name for each item. In these cases, you can provide custom class names for just the ones you want to change, and any you omit will pick up the built-in styling like normal.
|
|
118
|
+
|
|
119
|
+
### Custom rendering
|
|
120
|
+
|
|
121
|
+
To change the rendering of some components entirely, you can selectively provide your own component implementations to be used instead of the built-in ones.
|
|
122
|
+
|
|
123
|
+
Staying with the doc string example, you can use the same `customRendering` prop, but this time instead of an object with class names, you provide a React functional component, giving you full control over the rendering:
|
|
124
|
+
|
|
125
|
+
```jsx
|
|
126
|
+
<CucumberReact customRendering={{
|
|
127
|
+
DocString: (props) => (
|
|
128
|
+
<>
|
|
129
|
+
<p>I am going to render this doc string in a textarea:</p>
|
|
130
|
+
<textarea>{props.docString.content}</textarea>
|
|
131
|
+
</>
|
|
132
|
+
)
|
|
133
|
+
}}>
|
|
134
|
+
<GherkinDocument />
|
|
135
|
+
</CucumberReact>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
In each case where you provide your own component, it will receive the same props as the default component, plus two more:
|
|
139
|
+
|
|
140
|
+
- `styles` - class names for the default styling, so you can still apply these to your custom component if it makes sense
|
|
141
|
+
- `DefaultRenderer` - the default React component, useful if you only want to provide your own rendering for certain cases, and otherwise fall back to the default rendering (don't forget to pass it the props)
|
|
142
|
+
|
|
143
|
+
## Build / hack
|
|
144
|
+
|
|
145
|
+
Install dependencies
|
|
146
|
+
|
|
147
|
+
npm install
|
|
148
|
+
|
|
149
|
+
Run tests
|
|
150
|
+
|
|
151
|
+
npm test
|
|
152
|
+
|
|
153
|
+
Interactive development
|
|
154
|
+
|
|
155
|
+
npm run storybook
|
|
156
|
+
|
|
157
|
+
## Ideas
|
|
158
|
+
|
|
159
|
+
### `ScenarioList` component
|
|
160
|
+
|
|
161
|
+
A component that renders a list of scenarios (possibly from multiple files, filtered by e.g. tag).
|
|
162
|
+
|
|
163
|
+
This component could be used to render relevant scenarios in 3rd-party tools, such as
|
|
164
|
+
JIRA, Confluence and various issue trackers that support plugins.
|
|
165
|
+
|
|
166
|
+
### Link to JIRA
|
|
167
|
+
|
|
168
|
+
Configure with a regexp and url function, and tags will be rendered as JIRA issue links
|
|
169
|
+
|
|
170
|
+
### Search
|
|
171
|
+
|
|
172
|
+
Search by tag, but also by text. Could use http://elasticlunr.com/
|
|
173
|
+
or https://lunrjs.com/ - or it could simply perform filtering on an array of `GherkinDocument` messages.
|
|
174
|
+
|
|
175
|
+
### Search results
|
|
176
|
+
|
|
177
|
+
Each scenario displayed underneath each other, grouped by feature file. The feature description is "collapsed",
|
|
178
|
+
(unless it contains the search term) but can be opened.
|
|
179
|
+
|
|
180
|
+
### Filtering / sorting
|
|
181
|
+
|
|
182
|
+
* by tag
|
|
183
|
+
* by duration (find slow ones)
|
|
184
|
+
* by status
|
|
185
|
+
* by recency (update timestamp) - exclude old ones
|
|
186
|
+
* by flickeriness
|
|
187
|
+
|
|
188
|
+
### Tag search
|
|
189
|
+
|
|
190
|
+
* Render a tag cloud for all tags
|
|
191
|
+
* Size: count
|
|
192
|
+
* Color: pass/fail/undefined
|
|
193
|
+
|
|
194
|
+
### On-demand data
|
|
195
|
+
|
|
196
|
+
For large reports (especially with screenshots) it may be too heavy to store it all in the browser.
|
|
197
|
+
The GUI should request data for the current document on demand. The GUI should also be able to filter
|
|
198
|
+
what kind of events it wants. For example, to render the initial screen.
|
|
199
|
+
|
|
200
|
+
### Server / App
|
|
201
|
+
|
|
202
|
+
It should be easy to use. Just run the app (Electron). It will create a named pipe where
|
|
203
|
+
it will listen. What's written here gets written straight to the React app (no websocket,
|
|
204
|
+
it's in the same process). This app can be fairly small.
|
|
205
|
+
|
|
206
|
+
### Rerun tests
|
|
207
|
+
|
|
208
|
+
Add a message to represent a config+cwd+env for a run, so the GUI can rerun it.
|
|
209
|
+
The config is essentially command line options. They can be modified in the gui.
|
|
210
|
+
Rerun on file change can also be set up. This just makes the whole DX simple.
|
|
211
|
+
|
|
212
|
+
### Alerts
|
|
213
|
+
|
|
214
|
+
The app could use the OS to send screen messages (autotest like)
|
|
215
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CucumberQueryContext.d.ts","sourceRoot":"","sources":["../../src/CucumberQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;;AAEzB,wBAAuD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const query_1 = require("@cucumber/query");
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
exports.default = react_1.default.createContext(new query_1.Query());
|
|
9
|
+
//# sourceMappingURL=CucumberQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CucumberQueryContext.js","sourceRoot":"","sources":["../../src/CucumberQueryContext.ts"],"names":[],"mappings":";;;;;AAAA,2CAAwD;AACxD,kDAAyB;AAEzB,kBAAe,eAAK,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as messages from '@cucumber/messages';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare class EnvelopesQuery {
|
|
4
|
+
private envelopes;
|
|
5
|
+
update(envelope: messages.Envelope): void;
|
|
6
|
+
find(predicate: (envelope: messages.Envelope) => boolean): messages.Envelope | undefined;
|
|
7
|
+
filter(predicate: (envelope: messages.Envelope) => boolean): messages.Envelope[];
|
|
8
|
+
getMeta(): messages.Meta | undefined;
|
|
9
|
+
getTestRunStarted(): messages.TestRunStarted | undefined;
|
|
10
|
+
getTestRunFinished(): messages.TestRunFinished | undefined;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: React.Context<EnvelopesQuery>;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=EnvelopesQueryContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvelopesQueryContext.d.ts","sourceRoot":"","sources":["../../src/EnvelopesQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAA0B;IAEpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAIlC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS;IAIxF,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE;IAIhF,OAAO,IAAI,QAAQ,CAAC,IAAI,GAAG,SAAS;IAIpC,iBAAiB,IAAI,QAAQ,CAAC,cAAc,GAAG,SAAS;IAIxD,kBAAkB,IAAI,QAAQ,CAAC,eAAe,GAAG,SAAS;CAGlE;;AAED,wBAAwD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EnvelopesQuery = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
class EnvelopesQuery {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.envelopes = [];
|
|
11
|
+
}
|
|
12
|
+
update(envelope) {
|
|
13
|
+
this.envelopes.push(envelope);
|
|
14
|
+
}
|
|
15
|
+
find(predicate) {
|
|
16
|
+
return this.envelopes.find(predicate);
|
|
17
|
+
}
|
|
18
|
+
filter(predicate) {
|
|
19
|
+
return this.envelopes.filter(predicate);
|
|
20
|
+
}
|
|
21
|
+
getMeta() {
|
|
22
|
+
var _a;
|
|
23
|
+
return (_a = this.find((envelope) => !!envelope.meta)) === null || _a === void 0 ? void 0 : _a.meta;
|
|
24
|
+
}
|
|
25
|
+
getTestRunStarted() {
|
|
26
|
+
var _a;
|
|
27
|
+
return (_a = this.find((envelope) => !!envelope.testRunStarted)) === null || _a === void 0 ? void 0 : _a.testRunStarted;
|
|
28
|
+
}
|
|
29
|
+
getTestRunFinished() {
|
|
30
|
+
var _a;
|
|
31
|
+
return (_a = this.find((envelope) => !!envelope.testRunFinished)) === null || _a === void 0 ? void 0 : _a.testRunFinished;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.EnvelopesQuery = EnvelopesQuery;
|
|
35
|
+
exports.default = react_1.default.createContext(new EnvelopesQuery());
|
|
36
|
+
//# sourceMappingURL=EnvelopesQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvelopesQueryContext.js","sourceRoot":"","sources":["../../src/EnvelopesQueryContext.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AAEzB,MAAa,cAAc;IAA3B;QACU,cAAS,GAAwB,EAAE,CAAA;IAyB7C,CAAC;IAvBQ,MAAM,CAAC,QAA2B;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAEM,IAAI,CAAC,SAAmD;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,SAAmD;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC;IAEM,OAAO;;QACZ,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,0CAAE,IAAI,CAAA;IACvD,CAAC;IAEM,iBAAiB;;QACtB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,0CAAE,cAAc,CAAA;IAC3E,CAAC;IAEM,kBAAkB;;QACvB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,0CAAE,eAAe,CAAA;IAC7E,CAAC;CACF;AA1BD,wCA0BC;AAED,kBAAe,eAAK,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GherkinQueryContext.d.ts","sourceRoot":"","sources":["../../src/GherkinQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,MAAM,OAAO,CAAA;;AAEzB,wBAAsD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const gherkin_utils_1 = require("@cucumber/gherkin-utils");
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
exports.default = react_1.default.createContext(new gherkin_utils_1.Query());
|
|
9
|
+
//# sourceMappingURL=GherkinQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GherkinQueryContext.js","sourceRoot":"","sources":["../../src/GherkinQueryContext.ts"],"names":[],"mappings":";;;;;AAAA,2DAA+D;AAC/D,kDAAyB;AAEzB,kBAAe,eAAK,CAAC,aAAa,CAAC,IAAI,qBAAY,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TestStepResultStatus as Status } from '@cucumber/messages';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface SearchQueryUpdate {
|
|
4
|
+
readonly query?: string | null;
|
|
5
|
+
readonly hideStatuses?: readonly Status[];
|
|
6
|
+
}
|
|
7
|
+
export interface SearchQuery {
|
|
8
|
+
readonly query: string;
|
|
9
|
+
readonly hideStatuses: readonly Status[];
|
|
10
|
+
}
|
|
11
|
+
export declare type SearchQueryUpdateFn = (query: SearchQuery) => void;
|
|
12
|
+
export interface SearchQueryProps extends SearchQueryUpdate {
|
|
13
|
+
onSearchQueryUpdated?: SearchQueryUpdateFn;
|
|
14
|
+
}
|
|
15
|
+
export interface WindowUrlApi {
|
|
16
|
+
getURL: () => string;
|
|
17
|
+
setURL: (url: string) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function searchFromURLParams(opts?: {
|
|
20
|
+
querySearchParam?: string;
|
|
21
|
+
hideStatusesSearchParam?: string;
|
|
22
|
+
windowUrlApi?: WindowUrlApi;
|
|
23
|
+
}): SearchQueryProps;
|
|
24
|
+
export declare class SearchQueryCtx implements SearchQuery {
|
|
25
|
+
readonly query: string;
|
|
26
|
+
readonly hideStatuses: readonly Status[];
|
|
27
|
+
readonly update: (query: SearchQueryUpdate) => void;
|
|
28
|
+
constructor(value: SearchQuery, updateValue: SearchQueryUpdateFn);
|
|
29
|
+
static withDefaults: (value?: SearchQueryUpdate, onSearchQueryUpdated?: SearchQueryUpdateFn) => SearchQueryCtx;
|
|
30
|
+
}
|
|
31
|
+
export declare function useSearchQueryCtx(props: SearchQueryProps): SearchQueryCtx;
|
|
32
|
+
declare const _default: React.Context<SearchQueryCtx>;
|
|
33
|
+
export default _default;
|
|
34
|
+
//# sourceMappingURL=SearchQueryContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchQueryContext.d.ts","sourceRoot":"","sources":["../../src/SearchQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED,oBAAY,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AAE9D,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,oBAAoB,CAAC,EAAE,mBAAmB,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,gBAAgB,CA6BnB;AASD,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;gBAEvC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB;IAWhE,MAAM,CAAC,YAAY,WACV,iBAAiB,yBACF,mBAAmB,oBAK1C;CACF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAWzE;;AAED,wBAAmF"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.useSearchQueryCtx = exports.SearchQueryCtx = exports.searchFromURLParams = void 0;
|
|
27
|
+
const messages_1 = require("@cucumber/messages");
|
|
28
|
+
const react_1 = __importStar(require("react"));
|
|
29
|
+
const defaultQuerySearchParam = 'search';
|
|
30
|
+
const defaultHideStatusesSearchParam = 'hide';
|
|
31
|
+
const defaultQuery = '';
|
|
32
|
+
const defaultHideStatuses = [];
|
|
33
|
+
const defaultWindowUrlApi = {
|
|
34
|
+
getURL: () => window.location.toString(),
|
|
35
|
+
setURL: (url) => window.history.replaceState({}, '', url),
|
|
36
|
+
};
|
|
37
|
+
function searchFromURLParams(opts) {
|
|
38
|
+
var _a, _b, _c;
|
|
39
|
+
const querySearchParam = (_a = opts === null || opts === void 0 ? void 0 : opts.querySearchParam) !== null && _a !== void 0 ? _a : defaultQuerySearchParam;
|
|
40
|
+
const hideStatusesSearchParam = (_b = opts === null || opts === void 0 ? void 0 : opts.hideStatusesSearchParam) !== null && _b !== void 0 ? _b : defaultHideStatusesSearchParam;
|
|
41
|
+
const windowUrlApi = (_c = opts === null || opts === void 0 ? void 0 : opts.windowUrlApi) !== null && _c !== void 0 ? _c : defaultWindowUrlApi;
|
|
42
|
+
function onSearchQueryUpdated(query) {
|
|
43
|
+
const url = new URL(windowUrlApi.getURL());
|
|
44
|
+
if (query.query !== defaultQuery) {
|
|
45
|
+
url.searchParams.set(querySearchParam, query.query);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
url.searchParams.delete(querySearchParam);
|
|
49
|
+
}
|
|
50
|
+
url.searchParams.delete(hideStatusesSearchParam);
|
|
51
|
+
query.hideStatuses.forEach((s) => url.searchParams.append(hideStatusesSearchParam, s));
|
|
52
|
+
windowUrlApi.setURL(url.toString());
|
|
53
|
+
}
|
|
54
|
+
const url = new URL(windowUrlApi.getURL());
|
|
55
|
+
return {
|
|
56
|
+
query: url.searchParams.get(querySearchParam),
|
|
57
|
+
hideStatuses: url.searchParams
|
|
58
|
+
.getAll(hideStatusesSearchParam)
|
|
59
|
+
.filter((s) => Object.values(messages_1.TestStepResultStatus).includes(s))
|
|
60
|
+
.map((s) => messages_1.TestStepResultStatus[s]),
|
|
61
|
+
onSearchQueryUpdated,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
exports.searchFromURLParams = searchFromURLParams;
|
|
65
|
+
function toSearchQuery(iQuery) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
return {
|
|
68
|
+
query: (_a = iQuery === null || iQuery === void 0 ? void 0 : iQuery.query) !== null && _a !== void 0 ? _a : defaultQuery,
|
|
69
|
+
hideStatuses: (_b = iQuery === null || iQuery === void 0 ? void 0 : iQuery.hideStatuses) !== null && _b !== void 0 ? _b : defaultHideStatuses,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
class SearchQueryCtx {
|
|
73
|
+
constructor(value, updateValue) {
|
|
74
|
+
this.query = value.query;
|
|
75
|
+
this.hideStatuses = value.hideStatuses;
|
|
76
|
+
this.update = (values) => {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
updateValue({
|
|
79
|
+
query: (_a = values.query) !== null && _a !== void 0 ? _a : this.query,
|
|
80
|
+
hideStatuses: (_b = values.hideStatuses) !== null && _b !== void 0 ? _b : this.hideStatuses,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.SearchQueryCtx = SearchQueryCtx;
|
|
86
|
+
SearchQueryCtx.withDefaults = (value = {}, onSearchQueryUpdated = () => {
|
|
87
|
+
//Do nothing
|
|
88
|
+
}) => {
|
|
89
|
+
return new SearchQueryCtx(toSearchQuery(value), onSearchQueryUpdated);
|
|
90
|
+
};
|
|
91
|
+
function useSearchQueryCtx(props) {
|
|
92
|
+
const [searchQuery, setSearchQuery] = (0, react_1.useState)(toSearchQuery(props));
|
|
93
|
+
return new SearchQueryCtx(searchQuery, props.onSearchQueryUpdated
|
|
94
|
+
? (query) => {
|
|
95
|
+
props.onSearchQueryUpdated && props.onSearchQueryUpdated(query);
|
|
96
|
+
setSearchQuery(query);
|
|
97
|
+
}
|
|
98
|
+
: setSearchQuery);
|
|
99
|
+
}
|
|
100
|
+
exports.useSearchQueryCtx = useSearchQueryCtx;
|
|
101
|
+
exports.default = react_1.default.createContext(SearchQueryCtx.withDefaults({}));
|
|
102
|
+
//# sourceMappingURL=SearchQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchQueryContext.js","sourceRoot":"","sources":["../../src/SearchQueryContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UriContext.d.ts","sourceRoot":"","sources":["../../src/UriContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;;AAEzB,wBAAuD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
exports.default = react_1.default.createContext(null);
|
|
8
|
+
//# sourceMappingURL=UriContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UriContext.js","sourceRoot":"","sources":["../../src/UriContext.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,kBAAe,eAAK,CAAC,aAAa,CAAgB,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ciCommitLink.d.ts","sourceRoot":"","sources":["../../src/ciCommitLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAI9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CASnE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const toRepositoryId_1 = __importDefault(require("./toRepositoryId"));
|
|
7
|
+
function ciCommitLink(ci) {
|
|
8
|
+
if (ci.git && ci.git.remote) {
|
|
9
|
+
const repositoryId = (0, toRepositoryId_1.default)(ci.git.remote);
|
|
10
|
+
const github = repositoryId.startsWith('github.com') || ci.name === 'GitHub Actions';
|
|
11
|
+
if (ci.git.revision && github) {
|
|
12
|
+
return `https://${repositoryId}/commit/${ci.git.revision}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
exports.default = ciCommitLink;
|
|
18
|
+
//# sourceMappingURL=ciCommitLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ciCommitLink.js","sourceRoot":"","sources":["../../src/ciCommitLink.ts"],"names":[],"mappings":";;;;;AAEA,sEAA6C;AAE7C,SAAwB,YAAY,CAAC,EAAe;IAClD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,CAAA;QACpF,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE;YAC7B,OAAO,WAAW,YAAY,WAAW,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;SAC3D;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AATD,+BASC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react';
|
|
2
|
+
import { CustomRenderingSupport, IncludedTheme } from './customise';
|
|
3
|
+
interface IProps {
|
|
4
|
+
theme?: IncludedTheme;
|
|
5
|
+
customRendering?: CustomRenderingSupport;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const CucumberReact: FunctionComponent<IProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=CucumberReact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CucumberReact.d.ts","sourceRoot":"","sources":["../../../src/components/CucumberReact.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGhD,OAAO,EAA0B,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3F,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,iBAAiB,CAAC,MAAM,CAcnD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CucumberReact = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const CucumberReact_module_scss_1 = __importDefault(require("./CucumberReact.module.scss"));
|
|
9
|
+
const customise_1 = require("./customise");
|
|
10
|
+
const CucumberReact = ({ children, theme = 'light', customRendering = {}, className, }) => {
|
|
11
|
+
const classes = [CucumberReact_module_scss_1.default.cucumberReact, CucumberReact_module_scss_1.default[`${theme}Theme`], className];
|
|
12
|
+
return (react_1.default.createElement(customise_1.CustomRenderingContext.Provider, { value: customRendering },
|
|
13
|
+
react_1.default.createElement("div", { "data-testid": "cucumber-react", className: classes.filter((c) => !!c).join(' ') }, children)));
|
|
14
|
+
};
|
|
15
|
+
exports.CucumberReact = CucumberReact;
|
|
16
|
+
//# sourceMappingURL=CucumberReact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CucumberReact.js","sourceRoot":"","sources":["../../../src/components/CucumberReact.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAgD;AAEhD,4FAAgD;AAChD,2CAA2F;AAQpF,MAAM,aAAa,GAA8B,CAAC,EACvD,QAAQ,EACR,KAAK,GAAG,OAAO,EACf,eAAe,GAAG,EAAE,EACpB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,CAAC,mCAAM,CAAC,aAAa,EAAE,mCAAM,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1E,OAAO,CACL,8BAAC,kCAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe;QACrD,sDAAiB,gBAAgB,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAC9E,QAAQ,CACL,CAC0B,CACnC,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import '../styles/theming';
|
|
2
|
+
|
|
3
|
+
.cucumberReact {
|
|
4
|
+
font-size: 14px;
|
|
5
|
+
font-family: $sansFamily;
|
|
6
|
+
color: $textColor;
|
|
7
|
+
background: $backgroundColor;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@mixin dark-theme {
|
|
11
|
+
--cucumber-background-color: #1d1d26;
|
|
12
|
+
--cucumber-text-color: #c9c9d1;
|
|
13
|
+
--cucumber-anchor-color: #4caaee;
|
|
14
|
+
--cucumber-keyword-color: #d89077;
|
|
15
|
+
--cucumber-parameter-color: #4caaee;
|
|
16
|
+
--cucumber-tag-color: #85a658;
|
|
17
|
+
--cucumber-docstring-color: #66a565;
|
|
18
|
+
--cucumber-error-background-color: #cf6679;
|
|
19
|
+
--cucumber-error-text-color: #222;
|
|
20
|
+
--cucumber-code-background-color: #282a36;
|
|
21
|
+
--cucumber-code-text-color: #f8f8f2;
|
|
22
|
+
--cucumber-panel-background-color: #282a36;
|
|
23
|
+
--cucumber-panel-accent-color: #313442;
|
|
24
|
+
--cucumber-panel-text-color: #f8f8f2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.darkTheme {
|
|
28
|
+
@include dark-theme;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.autoTheme {
|
|
32
|
+
@media all and (prefers-color-scheme: dark) {
|
|
33
|
+
@include dark-theme;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CICommitLink.d.ts","sourceRoot":"","sources":["../../../../src/components/app/CICommitLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,UAAU,MAAM;IACd,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAA;CAChB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAgBxD,CAAA"}
|