From abf4a176a4b97b4dafd07fc60c50526c7348437f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 04:02:18 +0000 Subject: [PATCH 1/3] Update dependency @biomejs/biome to v2.6.3 --- package-lock.json | 106 +++++++++++++++++++++++++++++++--------------- 1 file changed, 71 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdf7c3aa..d6012cc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -422,9 +422,9 @@ } }, "node_modules/@biomejs/biome": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.15.tgz", - "integrity": "sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.3.tgz", + "integrity": "sha512-va/0xPku7wnfzv+D8Zpdm5uKiGJWiV8neqoEPnRjvNQQwhl4tVXS4fETs4H0CCB2rGeqJ4cu9y4iOZOnOYKAUA==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -438,20 +438,56 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.5.15", - "@biomejs/cli-darwin-x64": "2.5.15", - "@biomejs/cli-linux-arm64": "2.5.15", - "@biomejs/cli-linux-arm64-musl": "2.5.15", - "@biomejs/cli-linux-x64": "2.5.15", - "@biomejs/cli-linux-x64-musl": "2.5.15", - "@biomejs/cli-win32-arm64": "2.5.15", - "@biomejs/cli-win32-x64": "2.5.15" + "@biomejs/cli-android-arm64": "2.6.3", + "@biomejs/cli-android-x64": "2.6.3", + "@biomejs/cli-darwin-arm64": "2.6.3", + "@biomejs/cli-darwin-x64": "2.6.3", + "@biomejs/cli-linux-arm64": "2.6.3", + "@biomejs/cli-linux-arm64-musl": "2.6.3", + "@biomejs/cli-linux-x64": "2.6.3", + "@biomejs/cli-linux-x64-musl": "2.6.3", + "@biomejs/cli-win32-arm64": "2.6.3", + "@biomejs/cli-win32-x64": "2.6.3" + } + }, + "node_modules/@biomejs/cli-android-arm64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.3.tgz", + "integrity": "sha512-5JD7QQDEHxdeEb4sftEHG+lsuUyu8Cob/hVLqRELbgGlFl68Rldv/PPi2k4dRjERZ/EItJ3O6Xmv8lqsEtUBiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-android-x64": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.3.tgz", + "integrity": "sha512-70WOGKCgpT+Uqg6LFdTLqefV54/DypdZg+LnBQDO6AWvkgXO+9xhVClajQyDsIHYjnXMtI1pRO5sP+zMXlS/bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.21.3" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.15.tgz", - "integrity": "sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.3.tgz", + "integrity": "sha512-ezf+XEKeyJ2yYlBhrzyEEHLvfRYrhtNKc6maLzR/WcAcBccb4RVDeFxsymjBve2LO0bpIMRUAiS90D4bUBRT0A==", "cpu": [ "arm64" ], @@ -466,9 +502,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.15.tgz", - "integrity": "sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.3.tgz", + "integrity": "sha512-Lg2tFdg4elJo+7i707PpLMs6N1hATVt4kqDo6MD/q/VnPs8rsKReKXsz1TA5GNdfRVAQNJ5GRiyK2EwNptK+MA==", "cpu": [ "x64" ], @@ -483,9 +519,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.15.tgz", - "integrity": "sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.3.tgz", + "integrity": "sha512-8Stcvq98n1gs9VyLKuaWrnsd8kbXE2nKDAHtuLHGSYdGyNWN5JIIm5a28xdnmgdKzKHmiDgYyATetkEv7+zGow==", "cpu": [ "arm64" ], @@ -503,9 +539,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.15.tgz", - "integrity": "sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.3.tgz", + "integrity": "sha512-dYU70A89OFHzakQPE9VOPbE60JNcQt4mtxvUGQl+EgTkGtqCFxLD2RUn1SbiMu8Mu5xFscS1bfYDpoasaUrqNA==", "cpu": [ "arm64" ], @@ -523,9 +559,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.15.tgz", - "integrity": "sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.3.tgz", + "integrity": "sha512-CShmx0bO6BngywT3minv8K1xsQX1ig1vsBqYTLnmDY3mBiDYHlaLRIsdHoM1pEU9dV3BN5a0uiH0IGDtYh9TWA==", "cpu": [ "x64" ], @@ -543,9 +579,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.15.tgz", - "integrity": "sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.3.tgz", + "integrity": "sha512-j6eFjUcWSphmgVTbrobEMA0wdbfNHKrGi8hRsFkc17jeS1n7nHwFACxp6jWqe9sxQqyFAeyOgt2/1bOGVcbATA==", "cpu": [ "x64" ], @@ -563,9 +599,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.15.tgz", - "integrity": "sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.3.tgz", + "integrity": "sha512-00SthDxBPwNiT7IL/mOneif6fiEU1PXK875zhr+InpeZjovY1mF5tCuDhXo1Hh0GYyiKHKzLbItzn58SAyLhJQ==", "cpu": [ "arm64" ], @@ -580,9 +616,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.5.15", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.15.tgz", - "integrity": "sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.3.tgz", + "integrity": "sha512-GhtOPphBWlnCepqpNk/w5eGN5oGRCzL20EbAkL1XCIpyboeVC9R642noyT43l8LSenGS4qz9IL8sKPfwY37V/Q==", "cpu": [ "x64" ], From c77da88be37455fddc04b165001f3b2dc4f75037 Mon Sep 17 00:00:00 2001 From: David Goss Date: Thu, 29 Oct 2026 15:26:39 +0000 Subject: [PATCH 2/3] Move spec components to module level for Biome 2.6 --- .../customise/CustomRendering.spec.tsx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/customise/CustomRendering.spec.tsx b/src/components/customise/CustomRendering.spec.tsx index 745af12d..c3151dbd 100644 --- a/src/components/customise/CustomRendering.spec.tsx +++ b/src/components/customise/CustomRendering.spec.tsx @@ -5,6 +5,14 @@ import { expect } from 'chai' import { Tags } from '../gherkin/index.js' import { type Customised, CustomRendering, type TagsClasses, type TagsProps } from './index.js' +const TotallyCustomTags = () => { + return

Totally custom!

+} + +const DeferringTags: Customised = (props) => { + return +} + describe('custom rendering and theming', () => { it('uses the generated class names from built-in styles by default', () => { const tags: Tag[] = [ @@ -94,14 +102,10 @@ describe('custom rendering and theming', () => { }, ] - const CustomComponent = () => { - return

Totally custom!

- } - const { container } = render( @@ -123,14 +127,10 @@ describe('custom rendering and theming', () => { }, ] - const CustomComponent: Customised = (props) => { - return - } - const { getByRole } = render( From c1f6799e0d01c893e598e91b87a6d5ed057a5667 Mon Sep 17 00:00:00 2001 From: David Goss Date: Thu, 29 Oct 2026 15:26:40 +0000 Subject: [PATCH 3/3] Apply Biome 2.6 formatting and lint suppressions to styles --- .github/workflows/codeql-javascript.yaml | 6 +- .github/workflows/release-github.yaml | 2 +- .github/workflows/release-npm.yaml | 6 +- .github/workflows/test.yaml | 4 +- .github/workflows/zizmor-analysis.yaml | 6 +- .ladle/components.module.scss | 47 ++-- CHANGELOG.md | 259 +++++++++++++++--- CONTRIBUTING.md | 2 +- README.md | 34 ++- src/components/app/CopyButton.module.scss | 2 +- .../app/DocumentAccordion.module.scss | 4 +- .../app/ExecutionSummary.module.scss | 2 +- src/components/app/Header.module.scss | 2 +- src/components/app/HealthChart.module.scss | 4 +- .../app/NavigationButton.module.scss | 2 +- src/components/app/SearchBar.module.scss | 8 +- .../app/StatusesSummary.module.scss | 4 +- src/components/gherkin/Anchor.module.scss | 2 +- src/components/gherkin/Children.module.scss | 2 +- src/components/gherkin/DataTable.module.scss | 2 +- .../gherkin/Description.module.scss | 2 +- src/components/gherkin/DocString.module.scss | 2 +- .../gherkin/ErrorMessage.module.scss | 2 +- src/components/gherkin/Examples.module.scss | 2 +- src/components/gherkin/Keyword.module.scss | 2 +- src/components/gherkin/Parameter.module.scss | 2 +- src/components/gherkin/StatusIcon.module.scss | 6 +- src/components/gherkin/Tags.module.scss | 2 +- .../gherkin/attachment/Attachment.module.scss | 4 +- .../results/AmbiguousResult.module.scss | 2 +- .../results/SourceReference.module.scss | 2 +- .../results/TestCaseOutcome.module.scss | 4 +- .../results/TestRunHookOutcome.module.scss | 1 + .../results/TestStepAttachments.module.scss | 1 + .../results/TestStepDuration.module.scss | 2 +- .../results/TestStepOutcome.module.scss | 1 + .../results/UndefinedResult.module.scss | 2 +- src/styles/statuses.scss | 14 +- src/styles/tables.scss | 2 +- src/styles/theming.scss | 5 +- 40 files changed, 328 insertions(+), 132 deletions(-) diff --git a/.github/workflows/codeql-javascript.yaml b/.github/workflows/codeql-javascript.yaml index 43e43640..92ad1394 100644 --- a/.github/workflows/codeql-javascript.yaml +++ b/.github/workflows/codeql-javascript.yaml @@ -1,6 +1,6 @@ name: codeql-javascript -permissions: { } +permissions: {} on: push: @@ -10,7 +10,7 @@ on: branches: - main schedule: - - cron: '2 5 * * 1' + - cron: "2 5 * * 1" concurrency: # Cancels in-progress runs only for pull requests @@ -20,7 +20,7 @@ concurrency: jobs: analyze: name: Analyze JavaScript - runs-on: 'ubuntu-latest' + runs-on: "ubuntu-latest" permissions: security-events: write steps: diff --git a/.github/workflows/release-github.yaml b/.github/workflows/release-github.yaml index d62d15fe..e673496e 100644 --- a/.github/workflows/release-github.yaml +++ b/.github/workflows/release-github.yaml @@ -4,7 +4,7 @@ permissions: {} on: push: - branches: [release/*] + branches: [ release/* ] jobs: create-github-release: diff --git a/.github/workflows/release-npm.yaml b/.github/workflows/release-npm.yaml index 19e20096..f19d77b2 100644 --- a/.github/workflows/release-npm.yaml +++ b/.github/workflows/release-npm.yaml @@ -4,7 +4,7 @@ permissions: {} on: push: - branches: [release/*] + branches: [ release/* ] jobs: publish-npm: @@ -20,8 +20,8 @@ jobs: persist-credentials: false - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: - node-version: '24.x' - registry-url: 'https://registry.npmjs.org' + node-version: "24.x" + registry-url: "https://registry.npmjs.org" package-manager-cache: false - run: npm install-ci-test - run: npm publish diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 317e70ad..d84b3bf6 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -20,8 +20,8 @@ jobs: persist-credentials: false - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: - node-version: '24.x' - cache: 'npm' + node-version: "24.x" + cache: "npm" cache-dependency-path: package-lock.json - run: npm ci - run: npm test diff --git a/.github/workflows/zizmor-analysis.yaml b/.github/workflows/zizmor-analysis.yaml index 11d136a8..798cca5a 100644 --- a/.github/workflows/zizmor-analysis.yaml +++ b/.github/workflows/zizmor-analysis.yaml @@ -4,12 +4,12 @@ on: push: branches: - main - - 'releases/**' + - "releases/**" paths: - - '.github/**' + - ".github/**" pull_request: paths: - - '.github/**' + - ".github/**" permissions: {} diff --git a/.ladle/components.module.scss b/.ladle/components.module.scss index edd6d3b4..6c5b3e40 100644 --- a/.ladle/components.module.scss +++ b/.ladle/components.module.scss @@ -1,26 +1,37 @@ -$defaultSansFamily: 'Inter var', -ui-sans-serif, -system-ui, --apple-system, -BlinkMacSystemFont, -'Segoe UI', -Roboto, -'Helvetica Neue', -Arial, -'Noto Sans', -sans-serif, -'Apple Color Emoji', -'Segoe UI Emoji', -'Segoe UI Symbol', -'Noto Color Emoji'; -$defaultMonoFamily: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; +/* biome-ignore-all lint/correctness/noUnknownUnit: false positive on hex colours in custom properties */ +$defaultSansFamily: + "Inter var", + ui-sans-serif, + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + "Helvetica Neue", + Arial, + "Noto Sans", + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; +$defaultMonoFamily: + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + "Liberation Mono", + "Courier New", + monospace; .wrapper { font-family: $defaultSansFamily; background-color: white; color: #222; - pre, code { + pre, + code { font-family: $defaultMonoFamily; } @@ -40,4 +51,4 @@ $defaultMonoFamily: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Libe --cucumber-panel-accent-color: #313442; --cucumber-panel-text-color: #f8f8f2; } -} \ No newline at end of file +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 740a33ed..833cd05c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,63 +8,86 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ## [24.5.0] - 2026-09-28 + ### Added + - Render both data table and doc string in source order ([#570](https://github.com/cucumber/react-components/pull/570)) ## [24.4.0] - 2026-09-02 + ### Changed + - Add directory hierarchy awareness to document sorting ([#517](https://github.com/cucumber/react-components/pull/517)) by [@MuhammadTalha57](https://github.com/MuhammadTalha57) - Replace ANSI handling library ([#562](https://github.com/cucumber/react-components/pull/562)) ## [24.3.0] - 2026-04-13 + ### Added + - Add appropriate rel values for links ([#483](https://github.com/cucumber/react-components/pull/483)) - Add copy button to attachments and errors ([#487](https://github.com/cucumber/react-components/pull/487)) - Declare support for React 19 ([#469](https://github.com/cucumber/react-components/pull/469)) ### Changed + - Rework handling of non-pass results ([#426](https://github.com/cucumber/react-components/pull/426)) ### Fixed + - Stop errors and attachments getting too wide ([#427](https://github.com/cucumber/react-components/pull/427)) - Handle base64-encoded attachments with unicode characters ([#486](https://github.com/cucumber/react-components/pull/486)) - Apply search and filters correctly for scenario outlines ([#490](https://github.com/cucumber/react-components/pull/490)) ## [24.2.0] - 2026-01-31 + ### Changed + - Overhaul status colours ([#424](https://github.com/cucumber/react-components/pull/424), [#425](https://github.com/cucumber/react-components/pull/425)) ## [24.1.2] - 2025-11-29 + ### Fixed + - Handle missing step gracefully ([#419](https://github.com/cucumber/react-components/pull/419)) ## [24.1.1] - 2025-11-24 + ### Changed + - Inline sources in source maps ([#418](https://github.com/cucumber/react-components/pull/418)) ## [24.1.0] - 2025-11-22 + ### Changed + - Hide successful hooks by default ([#415](https://github.com/cucumber/react-components/pull/415)) ## [24.0.1] - 2025-11-16 + ### Fixed + - Add margin to paragraphs etc in descriptions ([#413](https://github.com/cucumber/react-components/pull/413)) by [@ibanFR](https://github.com/ibanFR) ## [24.0.0] - 2025-11-11 + ### Added + - Include duration for each test step ([#396](https://github.com/cucumber/react-components/pull/396)) - Include pass rate in execution summary ([#397](https://github.com/cucumber/react-components/pull/397)) - Add new `` component ([#410](https://github.com/cucumber/react-components/pull/410)) ([#411](https://github.com/cucumber/react-components/pull/411)) - Add new `` component and include in report ([#408](https://github.com/cucumber/react-components/pull/408)) ### Changed + - Render a more test case-centric report ([#396](https://github.com/cucumber/react-components/pull/396)) ### Fixed + - Use uuid library instead of web crypto API ([#402](https://github.com/cucumber/react-components/pull/402)) - Text with numbers is no longer right aligned ([#405](https://github.com/cucumber/react-components/pull/405)) ### Removed + - BREAKING CHANGE: Remove defunct scenario/step components ``, ``, ``, ``, ``, `` and their corresponding `CustomRenderingSupport` properties ([#396](https://github.com/cucumber/react-components/pull/396)) - BREAKING CHANGE: Remove defunct `` component ([#411](https://github.com/cucumber/react-components/pull/411)) - BREAKING CHANGE: Remove defunct `` component and underlying context ([#396](https://github.com/cucumber/react-components/pull/396)) @@ -72,25 +95,34 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - BREAKING CHANGE: Remove public export of `filterByStatus` ([#412](https://github.com/cucumber/react-components/pull/412)) ## [23.2.0] - 2025-08-07 + ### Changed + - Applied URI-based sorting for the displayed Gherkin documents ([#394](https://github.com/cucumber/react-components/pull/394)) ## [23.1.1] - 2025-06-24 + ### Added + - Add [data-testid] to items in the execution summary ([#391](https://github.com/cucumber/react-components/pull/391)) ## [23.1.0] - 2025-06-15 + ### Changed + - Update colors for consistency with other Cucumber web stuff ([#390](https://github.com/cucumber/react-components/pull/390)) ## [23.0.0] - 2025-05-25 + ### Added + - Add `` to override presentation ([#382](https://github.com/cucumber/react-components/pull/382)) - Add ``, `` and `` to provide search state ([#384](https://github.com/cucumber/react-components/pull/384)) - Add ``, to provide document URI state ([#386](https://github.com/cucumber/react-components/pull/386)) - Add ``, to provide (optionally filtered) documents with no props ([#388](https://github.com/cucumber/react-components/pull/388)) ### Changed + - Inherit font-size instead of setting at 14px ([#377](https://github.com/cucumber/react-components/pull/377)) - Redesigned report header block ([#381](https://github.com/cucumber/react-components/pull/381)) - BREAKING CHANGE: Remove props from ``, `` and `` components, use contexts for state ([#374](https://github.com/cucumber/react-components/pull/374)) @@ -98,12 +130,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - BREAKING CHANGE: `` and `` renamed to `` and `` for clarity ([#385](https://github.com/cucumber/react-components/pull/385)) ### Fixed + - Make keyword spacing look right ([#376](https://github.com/cucumber/react-components/pull/376)) - Fix issue with hook steps not being rendered ([#379](https://github.com/cucumber/react-components/pull/379)) - Rounding down of percent passed and adding one decimal place ([#380](https://github.com/cucumber/react-components/pull/380)) - Avoid UUID errors from accordion when document URI contains spaces ([#386](https://github.com/cucumber/react-components/pull/386)) ### Removed + - BREAKING CHANGE: Remove `EnvelopesQuery` and its React context ([#374](https://github.com/cucumber/react-components/pull/374)) - BREAKING CHANGE: Remove defunct `` component ([#382](https://github.com/cucumber/react-components/pull/382)) - BREAKING CHANGE: Remove `SearchQueryContext`, `` and related defunct symbols ([#384](https://github.com/cucumber/react-components/pull/384)) @@ -111,240 +145,328 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - BREAKING CHANGE: Remove `` component in favour of composition ([#388](https://github.com/cucumber/react-components/pull/388)) ## [22.4.1] - 2025-03-30 + ### Fixed + - Remove duplications in steps due to empty parameters ([#373](https://github.com/cucumber/react-components/pull/373)) ## [22.4.0] - 2025-03-26 + ### Added + - Add CSS custom properties for overriding fonts ([#372](https://github.com/cucumber/react-components/pull/372)) ### Fixed + - Avoid NaN percentage passed when nothing ran ([#363](https://github.com/cucumber/react-components/pull/363)) - Don't render hook steps with no content ([#361](https://github.com/cucumber/react-components/pull/361)) ## [22.3.0] - 2024-08-02 + ### Added + - Support text/uri-list attachments ([#355](https://github.com/cucumber/react-components/pull/355)) ## [22.2.0] - 2024-06-21 + ### Added + - Support for externalised attachments ([#353](https://github.com/cucumber/react-components/pull/353)) ## [22.1.0] - 2024-03-15 + ### Added + - Support `TestStepResult.exception` in results ([#345](https://github.com/cucumber/react-components/pull/345)) ## [22.0.0] - 2023-12-09 + ### Changed + - BREAKING CHANGE: Switch to ESM ([#338](https://github.com/cucumber/react-components/pull/338)) - Switch search implementation to Orama ([#337](https://github.com/cucumber/react-components/pull/337)) - Apply search query on change ([#337](https://github.com/cucumber/react-components/pull/337)) ## [21.1.1] - 2023-07-13 + ### Fixed + - Switch out `mime-types` for `mime` ([#334](https://github.com/cucumber/react-components/pull/334)) ## [21.1.0] - 2023-07-13 + ### Added + - Add ability to download unsupported attachments ([#333](https://github.com/cucumber/react-components/pull/333)) ## [21.0.1] - 2022-11-26 + ### Fixed + - Fix missing stylesheets in npm package ## [21.0.0] - 2022-11-25 + ### Changed + - BREAKING CHANGE: React 18+ is now required ([#279](https://github.com/cucumber/react-components/pull/279)) ### Fixed + - Omit filtered-out pickles from rendered documents ([#321](https://github.com/cucumber/react-components/pull/321)) ## [20.2.0] - 2022-09-13 + ### Changed + - Single line breaks in descriptions are rendered less surprisingly ([#227](https://github.com/cucumber/react-components/pull/227)) ### Fixed + - Omit filtered-out pickles from counts, filters ([#273](https://github.com/cucumber/react-components/pull/273)) ## [20.1.0] - 2022-05-27 + ### Changed + - Allow showing detail of every example, simplify examples table ([#159](https://github.com/cucumber/react-components/pull/159)) ## [20.0.2] - 2022-04-14 + ### Fixed + - Downgrade `@fortawesome` packages which seemed to cause issues with html-formatter ## [20.0.1] - 2022-04-14 + ### Fixed + - Downgrade `@fortawesome` packages which seemed to cause issues with html-formatter ## [20.0.0] - 2022-04-12 + ### Added + - Render hook names if present ([#137](https://github.com/cucumber/cucumber-react/pull/137)) ### Changed + - Scenario outline styling - Examples changed to H3 and aligned with steps - Package name is now `@cucumber/react-components` for clarity ## [19.2.0] - 2022-03-25 + ### Added + - Attachment names are now displayed as the title of attachment sections in the report - Where an attachment name is not provided then the media type is included in the default name of the attachment ### Changed + - Text attachments in the html report are now displayed as collapsible sections ## [19.1.1] - 2022-03-22 + ### Fixed + - Fix build issue where styles were not included in package. ## [19.1.0] - 2022-03-22 + ### Changed + - Most content is now rendered with a sans serif font. ## [19.0.0] - 2022-01-24 + ### Added + - Add `` component to succinctly populate query contexts from an array of messages. - Add 'auto' theme, honouring platform light/dark preference. - Add `useQueries` and `useSearch` hooks to avoid accessing many contexts directly. ### Changed + - New `` component is used as root component in consuming projects, replacing. ``. - New visual designs for report-related components. - Move search-related props from `` to new `` component. ### Fixed + - Import correct stylesheet in the Children component. This also allows to override it using `CustomRendering`. - Display step list items correctly (i.e. without bullets) in Backgrounds and in MDX documents. ### Removed + - Remove global stylesheet, all styles are now encapsulated in appropriate components. ## [18.1.2] - 2021-09-08 + ### Fixed + - The 8.1.1 release was accidentally released without compiling the TypeScript code ## [18.1.1] - 2021-09-08 + ### Fixed + - The 8.1.0 release was accidentally released without compiling the TypeScript code ## [18.1.0] - 2021-09-08 + ### Added + - Make `` customiseable. ## 18.0.0 - 2021-09-02 + ### Changed + - The React components are exported via the `components` property. -([#1660](https://github.com/cucumber/common/pull/1660) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#1660](https://github.com/cucumber/common/pull/1660) + [aslakhellesoy](https://github.com/aslakhellesoy)) - Upgrade to `@cucumber/gherkin-utils` `^7.0.0` - Upgrade to `@cucumber/messages` `^17.1.0` - Upgrade to `@cucumber/query` `^11.0.0` - Upgrade to `@cucumber/tag-expressions` `4.0.0` ## [17.0.0] - 2021-07-08 + ### Changed + - Upgrade dependencies including `@cucumber/messages` to 17.0.0, `@cucumber/query` to 11.0.0 and `@cucumber/gherkin-utils` to 6.O.0 ### Fixed + - Render attachments in Examples Tables. -([#1173](https://github.com/cucumber/common/issues/1173) -[#1619](https://github.com/cucumber/common/pull/1619) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#1173](https://github.com/cucumber/common/issues/1173) + [#1619](https://github.com/cucumber/common/pull/1619) + [aslakhellesoy](https://github.com/aslakhellesoy)) - Handle missing hook message when rendering hook failure - Stop the anchor link for the step from overlapping the status icon ## [16.2.0] - 2021-06-02 + ### Added + - Export the `` React component. ## [16.1.0] - 2021-05-27 + ### Added + - Add `preExpand` property to ``, controlling whether or not -non-PASSED feature files are expanded or not. + non-PASSED feature files are expanded or not. ### Fixed ## [16.0.2] - 2021-05-27 + ### Fixed + - Don't use `GherkinDocument#uri` as the `uuid` property in `` since it cannot -be assumed to be a valid `uuid`. Rely on the autogenerated UUID instead. + be assumed to be a valid `uuid`. Rely on the autogenerated UUID instead. - Remove a `console.log` debug statement in the code. ## [16.0.1] - 2021-05-27 + ### Fixed + - Fixed a bug in `Step.tsx` that threw an error when a `Group#value` had value `undefined` ## [16.0.0] - 2021-05-26 + ### Added + - New `` component for rendering [Markdown with Gherkin](../gherkin/MARKDOWN_WITH_GHERKIN.md) documents. - Experimental support for theming and custom rendering ([1391](https://github.com/cucumber/common/pull/1391)) ### Changed + - Various look and feel changes ([1391](https://github.com/cucumber/common/pull/1391)) ## [14.0.0] - 2021-05-17 + ### Added + - [JavaScript] Export `StatusIcon` component. -([#1478](https://github.com/cucumber/cucumber/pull/1478) -[@vincent-psarga]) + ([#1478](https://github.com/cucumber/cucumber/pull/1478) + [@vincent-psarga]) ### Changed + - Upgrade to messages 16.0.0 ## 13.0.0 - 2021-04-06 + ### Changed + - Upgrade dependencies including `@cucumber/gherkin` ^18.0.0, -`@cucumber/messages` ^15.0.0 and `@cucumber/query` ^9.0.2 + `@cucumber/messages` ^15.0.0 and `@cucumber/query` ^9.0.2 ## [12.0.0] - 2021-02-07 + ### Changed + - Upgrade to gherkin 17.0.0 - Upgrade to messages 14.0.0 - Upgrade to query 8.0.0 ### Fixed + - [JavaScript] removed circular dependencies. -([#1292](https://github.com/cucumber/cucumber/pull/1292) -[davidjgoss](https://github.com/aslakhellesoy)) + ([#1292](https://github.com/cucumber/cucumber/pull/1292) + [davidjgoss](https://github.com/aslakhellesoy)) - Fixed search button -([#1298](https://github.com/cucumber/cucumber/issues/1298) -[#1299](https://github.com/cucumber/cucumber/issues/1299) -[hWorblehat](https://github.com/hWorblehat)) + ([#1298](https://github.com/cucumber/cucumber/issues/1298) + [#1299](https://github.com/cucumber/cucumber/issues/1299) + [hWorblehat](https://github.com/hWorblehat)) - Fixed inability to scroll horizontally in long text attachments ## [11.0.2] - 2020-12-17 + ### Fixed + - Upgraded `@cucumber/query` (only change is the dropped dependency on `@cucumber/gherkin`) ## [11.0.1] - 2020-12-17 + ### Fixed + - Fixed `react` and `react-dom` peerDependencies version range from `^16 | ^17` (incorrect) to `~16 || ~17` ## [11.0.0] - 2020-12-17 + ### Fixed + - Make image and video attachments collapsible; show collapsed by default. - Prevent images from growing wider than their container. -([#1220](https://github.com/cucumber/cucumber/issues/1220) -[#1205](https://github.com/cucumber/cucumber/issues/1205) -[#1260](https://github.com/cucumber/cucumber/pull/1260) -[davidjgoss](https://github.com/davidjgoss)) + ([#1220](https://github.com/cucumber/cucumber/issues/1220) + [#1205](https://github.com/cucumber/cucumber/issues/1205) + [#1260](https://github.com/cucumber/cucumber/pull/1260) + [davidjgoss](https://github.com/davidjgoss)) - Markdown rendering of `description` fields are now done with `react-markdown` instead of `marked`. -This is a more secure [protection agains XSS](https://medium.com/javascript-security/avoiding-xss-via-markdown-in-react-91665479900) -([#1275](https://github.com/cucumber/cucumber/issues/1275) -[#1276](https://github.com/cucumber/cucumber/pull/1276) -[aslakhellesoy](https://github.com/aslakhellesoy)) + This is a more secure [protection agains XSS](https://medium.com/javascript-security/avoiding-xss-via-markdown-in-react-91665479900) + ([#1275](https://github.com/cucumber/cucumber/issues/1275) + [#1276](https://github.com/cucumber/cucumber/pull/1276) + [aslakhellesoy](https://github.com/aslakhellesoy)) ## [10.1.2] - 2020-12-13 + ### Fixed + - Allow `react` and `react-dom` peer dependencies to be `^16 | ^17`. ## [10.1.1] - 2020-11-06 + ### Fixed + - Replaced `git-url-parse` with our own simpler implementation that doesn't need a browser polyfill. ## [10.1.0] - 2020-11-04 + ### Added + - Upgrade to React 17 - Upgrade to `@cucumber/gherkin-utils 2.1.0` - Upgrade to `@cucumber/messages 13.1.0` @@ -352,47 +474,62 @@ This is a more secure [protection agains XSS](https://medium.com/javascript-secu - Upgrade to Storybook 6.0.0 ### Fixed + - Fixed typos in some CSS class names ## [10.0.1] - 2020-09-02 + ### Fixed + - Fix rendering of failed hooks from Cucumber-JVM -([#1166](https://github.com/cucumber/cucumber/issues/1166) -[#1167](https://github.com/cucumber/cucumber/pull/1167) -[@aslakhellesoy] -[@sebrose] -[@cbliard]) + ([#1166](https://github.com/cucumber/cucumber/issues/1166) + [#1167](https://github.com/cucumber/cucumber/pull/1167) + [@aslakhellesoy] + [@sebrose] + [@cbliard]) - Fix react warnings about rendering `
  • ` inside `
  • ` - Updated some class names ## [10.0.0] - 2020-08-08 + ### Added + - Export all the `*Context` classes ### Changed + - Update `messages` to 13.0.1 ### Fixed + - Added missing CSS class on BackgroundTitle anchor link. ## [9.0.0] - 2020-08-07 + ### Added + - semantic CSS classes on elements. - expose `filterByStatus` method ### Changed + - fix `filterByStatus` signature ## 8.2.0 - 2020-07-31 + ### Changed + - Updated `messages` to v12.4.0 ## [8.1.0] - 2020-07-30 + ### Added + - Display visible anchors for headers ([#983](https://github.com/cucumber/cucumber/issues/983)) - Make Duration human readable. ### Fixed + - better styling - enhanced responsivness - filtering is now alongside search @@ -400,26 +537,35 @@ This is a more secure [protection agains XSS](https://medium.com/javascript-secu - Various fixes ([#1111](https://github.com/cucumber/cucumber/pull/1111)) ## 8.0.2 - 2020-06-29 + ### Added + - Expose `` in exports so we don't need to reach into `dist` ## [8.0.1] - 2020-06-29 + ### Fixed + - Make `ansi-to-html` a runtime dependency ## [8.0.0] - 2020-06-29 + ### Added + - Display execution summary ([#1067](https://github.com/cucumber/cucumber/pull/1067)) - Display failed Hooks and attachments added in Hooks ([#975](https://github.com/cucumber/cucumber/pull/975)) - Use ANSI color to render logs ([#1057](https://github.com/cucumber/cucumber/issues/1057)) - Add search ([#895](https://github.com/cucumber/cucumber/pull/895)) ### Changed + - Do not rely on line number to obtain Step or Row status. - Upgrade internal dependencies ## [7.0.0] - 2020-04-14 + ### Added + - `image/*` - Only base64 content encoding supported - `video/*` @@ -429,104 +575,137 @@ This is a more secure [protection agains XSS](https://medium.com/javascript-secu - `application/json` - Both base64 and identity content encoding supported - JSON is prettified with 2 space indent -([#964](https://github.com/cucumber/cucumber/pull/964) -[#945](https://github.com/cucumber/cucumber/issues/945) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#964](https://github.com/cucumber/cucumber/pull/964) + [#945](https://github.com/cucumber/cucumber/issues/945) + [aslakhellesoy](https://github.com/aslakhellesoy)) - The `` component can now display the following media types: ### Changed + - Upgrade to messages 12.0.0 - Upgrade to gherkin 13.0.0 ## [6.0.0] - 2020-04-01 + ### Changed + - Upgrade to messages 11.x - Image attachment data processing is possibly faster since no `btoa` conversion is needed anymore ### Removed + - Removed `btoa` prop from `` - Removed `` ## [5.1.0] - 2020-03-04 + ### Added + - Add `` which allows incrementally updating queries without having -to rebuild them every time the envelope list is updated. Use this instead of `` + to rebuild them every time the envelope list is updated. Use this instead of `` ### Deprecated + - The `` component is deprecated in favour of ``. ### Fixed + - Fix a bug in rendering of steps before test cases have been received ## [5.0.0] - 2020-03-02 + ### Added + - Render Markdown in descriptions -([#909](https://github.com/cucumber/cucumber/pull/909) -[#codemrkay]) + ([#909](https://github.com/cucumber/cucumber/pull/909) + [#codemrkay]) ### Changed + - Upgrade messages and query ## [4.1.1] - 2020-02-28 + ### Fixed + - Fix broken 4.1.0 release ## 4.1.0 - 2020-02-28 + ### Added + - Add compiled stylesheets to package ## [4.0.0] - 2020-02-14 + ### Added + - Display attachments (`image/*` and `text/*` media types) ### Changed + - Upgraded messages and query ## [3.3.0] - 2020-01-22 + ### Fixed + - Accordion now displays the aggregated status colour - Render Examples rows properly -([#778](https://github.com/cucumber/cucumber/issues/778) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#778](https://github.com/cucumber/cucumber/issues/778) + [aslakhellesoy](https://github.com/aslakhellesoy)) - Do not highlight placeholders -([#826](https://github.com/cucumber/cucumber/issues/826) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#826](https://github.com/cucumber/cucumber/issues/826) + [aslakhellesoy](https://github.com/aslakhellesoy)) ## 3.2.0 - 2020-01-10 + ### Changed + - [JavaScript] changed module name to `@cucumber/react` - Replace styled-components with external CSS -([#839](https://github.com/cucumber/cucumber/pull/839) -[aslakhellesoy](https://github.com/aslakhellesoy)) + ([#839](https://github.com/cucumber/cucumber/pull/839) + [aslakhellesoy](https://github.com/aslakhellesoy)) ## 3.1.0 - 2019-12-10 + ### Changed + - Render errors in `
    `
     - Upgrade to cucumber-messages 8.0.0
     
     ## 3.0.0 - 2019-11-15
    +
     ### Changed
    +
     - Only display accordion
     - Upgrade to cucumber-messages 7.0.0
     - Extract lookup logic to cucumber-query 1.0.0
     
     ### Removed
    +
     - Removed the side nav
     
     ## 2.0.1 - 2019-10-18
    +
     ### Changed
    +
     - Upgrade to cucumber-messages 6.0.2
     
     ## 2.0.0 - 2019-10-10
     
     ## 1.1.0 - 2019-08-29
    +
     ### Fixed
    +
     - Better layout and styling
     - Better results aggregation
     - Better support for empty/malformed Gherkin documents
     
     ## 1.0.0 - 2019-08-23
    +
     ### Added
    +
     - First release
     
     [Unreleased]: https://github.com/cucumber/cucumber-react/compare/v24.5.0...HEAD
    diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
    index d3216ed8..840835f5 100644
    --- a/CONTRIBUTING.md
    +++ b/CONTRIBUTING.md
    @@ -36,4 +36,4 @@ If you need a sample for a use case that isn't covered by the CCK, you can add a
     3. Add the `.ndjson` file to the `samples` directory in this repo
     4. Run `npm run prepare` to regenerate the TypeScript files
     
    -(Please ensure your sample doesn't contain any secrets, proprietary or sensitive information before you commit it!)
    \ No newline at end of file
    +(Please ensure your sample doesn't contain any secrets, proprietary or sensitive information before you commit it!)
    diff --git a/README.md b/README.md
    index 85c13684..4a1d95d3 100644
    --- a/README.md
    +++ b/README.md
    @@ -17,7 +17,7 @@ The source code for the screenshot above is:
     ```jsx
     import { EnvelopesProvider, FilteredDocuments } from '@cucumber/react-components'
     
    -
    +;
       
     
     ```
    @@ -44,7 +44,7 @@ The standard styling comes without any extra providers or configuration. There a
     You can provide your own theme with a small amount of CSS. Target the element above your highest-level usage of the components:
     
     ```jsx
    -
    +;
    @@ -92,11 +92,13 @@ Let's say you want to do something totally different with the typography of doc Then, you can provide an `overrides` prop to the `CustomRendering` component, in the form of an object that declares which class names you're going to override and what with: ```jsx - +; @@ -112,14 +114,16 @@ To change the rendering of some components entirely, you can selectively provide Staying with the doc string example, you can use the same `overrides` prop, but this time instead of an object with class names, you provide a React functional component, giving you full control over the rendering: ```jsx - ( - <> -

    I am going to render this doc string in a textarea:

    - - - ) -}}> +; ( + <> +

    I am going to render this doc string in a textarea:

    + + + ), + }} +> diff --git a/src/components/app/CopyButton.module.scss b/src/components/app/CopyButton.module.scss index 1011bc64..65476571 100644 --- a/src/components/app/CopyButton.module.scss +++ b/src/components/app/CopyButton.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .button { background-color: transparent; diff --git a/src/components/app/DocumentAccordion.module.scss b/src/components/app/DocumentAccordion.module.scss index 87c956d8..d3b6cf25 100644 --- a/src/components/app/DocumentAccordion.module.scss +++ b/src/components/app/DocumentAccordion.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .icon { padding-top: 0.35em; @@ -43,7 +43,7 @@ transform-origin: center center; transition: transform 0.2s linear; - .button[aria-expanded='true'] & { + .button[aria-expanded="true"] & { transform: rotate(90deg); } } diff --git a/src/components/app/ExecutionSummary.module.scss b/src/components/app/ExecutionSummary.module.scss index 61b35654..35b4f106 100644 --- a/src/components/app/ExecutionSummary.module.scss +++ b/src/components/app/ExecutionSummary.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .conjunction { color: theming.$codeTextColor; diff --git a/src/components/app/Header.module.scss b/src/components/app/Header.module.scss index a5a8112a..ac8a572b 100644 --- a/src/components/app/Header.module.scss +++ b/src/components/app/Header.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .section { display: flex; diff --git a/src/components/app/HealthChart.module.scss b/src/components/app/HealthChart.module.scss index 02e5faa1..ed3e1ebe 100644 --- a/src/components/app/HealthChart.module.scss +++ b/src/components/app/HealthChart.module.scss @@ -1,8 +1,8 @@ -@use '../../styles/statuses'; +@use "../../styles/statuses"; .segment { @each $name, $color in statuses.$statusColors { - &[data-status='#{$name}'] { + &[data-status="#{$name}"] { stroke: $color; } } diff --git a/src/components/app/NavigationButton.module.scss b/src/components/app/NavigationButton.module.scss index 7ffab7b7..db345c87 100644 --- a/src/components/app/NavigationButton.module.scss +++ b/src/components/app/NavigationButton.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .navigationButton { display: flex; diff --git a/src/components/app/SearchBar.module.scss b/src/components/app/SearchBar.module.scss index ac46c79a..9f1f9025 100644 --- a/src/components/app/SearchBar.module.scss +++ b/src/components/app/SearchBar.module.scss @@ -1,6 +1,6 @@ -@use 'sass:color'; -@use '../../styles/theming'; -@use '../../styles/statuses'; +@use "sass:color"; +@use "../../styles/theming"; +@use "../../styles/statuses"; .field { box-sizing: border-box; @@ -51,7 +51,7 @@ cursor: pointer; @each $name, $color in statuses.$statusColors { - &[data-status='#{$name}'] { + &[data-status="#{$name}"] { background-color: color.adjust($color, $alpha: -0.666); svg { diff --git a/src/components/app/StatusesSummary.module.scss b/src/components/app/StatusesSummary.module.scss index 020c7ad7..da28d50e 100644 --- a/src/components/app/StatusesSummary.module.scss +++ b/src/components/app/StatusesSummary.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/statuses'; +@use "../../styles/statuses"; .statusesList { list-style: none; @@ -20,7 +20,7 @@ text-transform: uppercase; @each $name, $color in statuses.$statusColors { - &[data-status='#{$name}'] { + &[data-status="#{$name}"] { background-color: $color; } } diff --git a/src/components/gherkin/Anchor.module.scss b/src/components/gherkin/Anchor.module.scss index 0beb2710..bbb707c5 100644 --- a/src/components/gherkin/Anchor.module.scss +++ b/src/components/gherkin/Anchor.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .wrapper { position: relative; diff --git a/src/components/gherkin/Children.module.scss b/src/components/gherkin/Children.module.scss index ff580f68..3c603bf9 100644 --- a/src/components/gherkin/Children.module.scss +++ b/src/components/gherkin/Children.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .children { padding: 0; diff --git a/src/components/gherkin/DataTable.module.scss b/src/components/gherkin/DataTable.module.scss index 4da98b0d..40f61bb5 100644 --- a/src/components/gherkin/DataTable.module.scss +++ b/src/components/gherkin/DataTable.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/tables'; +@use "../../styles/tables"; .table { @include tables.cucumber-table-style; diff --git a/src/components/gherkin/Description.module.scss b/src/components/gherkin/Description.module.scss index 7b9c888f..3f4a9dec 100644 --- a/src/components/gherkin/Description.module.scss +++ b/src/components/gherkin/Description.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .content { padding: 0; diff --git a/src/components/gherkin/DocString.module.scss b/src/components/gherkin/DocString.module.scss index ed857e7b..8fdc5ac7 100644 --- a/src/components/gherkin/DocString.module.scss +++ b/src/components/gherkin/DocString.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .docString { color: theming.$docstringColor; diff --git a/src/components/gherkin/ErrorMessage.module.scss b/src/components/gherkin/ErrorMessage.module.scss index 3d39d330..7ea35ef2 100644 --- a/src/components/gherkin/ErrorMessage.module.scss +++ b/src/components/gherkin/ErrorMessage.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .copyButton { position: absolute; diff --git a/src/components/gherkin/Examples.module.scss b/src/components/gherkin/Examples.module.scss index ba0971bb..0b2742be 100644 --- a/src/components/gherkin/Examples.module.scss +++ b/src/components/gherkin/Examples.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .example { margin-left: 1em; diff --git a/src/components/gherkin/Keyword.module.scss b/src/components/gherkin/Keyword.module.scss index c6a1005b..1226bedf 100644 --- a/src/components/gherkin/Keyword.module.scss +++ b/src/components/gherkin/Keyword.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .keyword { font-weight: bold; diff --git a/src/components/gherkin/Parameter.module.scss b/src/components/gherkin/Parameter.module.scss index dabbb684..7e24b811 100644 --- a/src/components/gherkin/Parameter.module.scss +++ b/src/components/gherkin/Parameter.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .parameter { font-weight: normal; // TODO should we need this if parent can always be normal? diff --git a/src/components/gherkin/StatusIcon.module.scss b/src/components/gherkin/StatusIcon.module.scss index e75953cd..a4cf730d 100644 --- a/src/components/gherkin/StatusIcon.module.scss +++ b/src/components/gherkin/StatusIcon.module.scss @@ -1,8 +1,8 @@ -@use 'sass:color'; -@use '../../styles/statuses'; +@use "sass:color"; +@use "../../styles/statuses"; .icon { @each $name, $color in statuses.$statusColors { - &[data-status='#{$name}'] { + &[data-status="#{$name}"] { color: color.adjust($color, $alpha: -0.25); } } diff --git a/src/components/gherkin/Tags.module.scss b/src/components/gherkin/Tags.module.scss index 196d5ce4..57a086f9 100644 --- a/src/components/gherkin/Tags.module.scss +++ b/src/components/gherkin/Tags.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .tags { padding: 0; diff --git a/src/components/gherkin/attachment/Attachment.module.scss b/src/components/gherkin/attachment/Attachment.module.scss index f5820a28..94765b73 100644 --- a/src/components/gherkin/attachment/Attachment.module.scss +++ b/src/components/gherkin/attachment/Attachment.module.scss @@ -1,4 +1,4 @@ -@use '../../../styles/theming'; +@use "../../../styles/theming"; .copyButton { position: absolute; @@ -26,7 +26,7 @@ padding-left: 3.25em; &::before { - content: 'Log'; + content: "Log"; position: absolute; top: 0.666em; left: 0.75em; diff --git a/src/components/results/AmbiguousResult.module.scss b/src/components/results/AmbiguousResult.module.scss index a91bc5e9..5257e37b 100644 --- a/src/components/results/AmbiguousResult.module.scss +++ b/src/components/results/AmbiguousResult.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .definitions { padding: 0; diff --git a/src/components/results/SourceReference.module.scss b/src/components/results/SourceReference.module.scss index 7357e120..8401d160 100644 --- a/src/components/results/SourceReference.module.scss +++ b/src/components/results/SourceReference.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .sourceReference { background-color: theming.$codeBackgroundColor; diff --git a/src/components/results/TestCaseOutcome.module.scss b/src/components/results/TestCaseOutcome.module.scss index 47ee5b75..272b8c82 100644 --- a/src/components/results/TestCaseOutcome.module.scss +++ b/src/components/results/TestCaseOutcome.module.scss @@ -1,7 +1,8 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .container { > * + * { + // biome-ignore lint/complexity/noImportantStyles: needed to override child margins margin-top: 0.25rem !important; } } @@ -12,6 +13,7 @@ margin: 0; > * + * { + // biome-ignore lint/complexity/noImportantStyles: needed to override child margins margin-top: 0.25rem !important; } } diff --git a/src/components/results/TestRunHookOutcome.module.scss b/src/components/results/TestRunHookOutcome.module.scss index be318e50..4ec4960c 100644 --- a/src/components/results/TestRunHookOutcome.module.scss +++ b/src/components/results/TestRunHookOutcome.module.scss @@ -31,6 +31,7 @@ // bits of detail (doc string, data table, error, attachments) get consistent spacing between them > * { + // biome-ignore lint/complexity/noImportantStyles: needed to override child margins margin-top: 0.25rem !important; } } diff --git a/src/components/results/TestStepAttachments.module.scss b/src/components/results/TestStepAttachments.module.scss index 802008c9..57256fa6 100644 --- a/src/components/results/TestStepAttachments.module.scss +++ b/src/components/results/TestStepAttachments.module.scss @@ -4,6 +4,7 @@ margin: 0; > * + * { + // biome-ignore lint/complexity/noImportantStyles: needed to override child margins margin-top: 0.25rem !important; } } diff --git a/src/components/results/TestStepDuration.module.scss b/src/components/results/TestStepDuration.module.scss index 8080dac0..ec1e25f1 100644 --- a/src/components/results/TestStepDuration.module.scss +++ b/src/components/results/TestStepDuration.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .duration { display: inline-block; diff --git a/src/components/results/TestStepOutcome.module.scss b/src/components/results/TestStepOutcome.module.scss index 3a5de098..aca77c83 100644 --- a/src/components/results/TestStepOutcome.module.scss +++ b/src/components/results/TestStepOutcome.module.scss @@ -31,6 +31,7 @@ // bits of detail (doc string, data table, error, attachments) get consistent spacing between them > * { + // biome-ignore lint/complexity/noImportantStyles: needed to override child margins margin-top: 0.25rem !important; } } diff --git a/src/components/results/UndefinedResult.module.scss b/src/components/results/UndefinedResult.module.scss index 45889854..f3c21245 100644 --- a/src/components/results/UndefinedResult.module.scss +++ b/src/components/results/UndefinedResult.module.scss @@ -1,4 +1,4 @@ -@use '../../styles/theming'; +@use "../../styles/theming"; .snippets { position: relative; diff --git a/src/styles/statuses.scss b/src/styles/statuses.scss index eef397a2..c761ebb5 100644 --- a/src/styles/statuses.scss +++ b/src/styles/statuses.scss @@ -1,8 +1,8 @@ $statusColors: - 'PASSED' oklch(72.3% 0.219 149.579) /* green-500 */, - 'SKIPPED' oklch(79.5% 0.184 86.047) /* yellow-500 */, - 'PENDING' oklch(71.5% 0.143 215.221) /* cyan-500 */, - 'UNDEFINED' oklch(62.3% 0.214 259.815) /* blue-500 */, - 'AMBIGUOUS' oklch(66.7% 0.295 322.15) /* fuchsia-500 */, - 'FAILED' oklch(63.7% 0.237 25.331) /* red-500 */, - 'UNKNOWN' oklch(55.4% 0.046 257.417) /* slate-500 */; + "PASSED" oklch(72.3% 0.219 149.579) /* green-500 */, + "SKIPPED" oklch(79.5% 0.184 86.047) /* yellow-500 */, + "PENDING" oklch(71.5% 0.143 215.221) /* cyan-500 */, + "UNDEFINED" oklch(62.3% 0.214 259.815) /* blue-500 */, + "AMBIGUOUS" oklch(66.7% 0.295 322.15) /* fuchsia-500 */, + "FAILED" oklch(63.7% 0.237 25.331) /* red-500 */, + "UNKNOWN" oklch(55.4% 0.046 257.417) /* slate-500 */; diff --git a/src/styles/tables.scss b/src/styles/tables.scss index 1ab89fc5..5330102f 100644 --- a/src/styles/tables.scss +++ b/src/styles/tables.scss @@ -1,4 +1,4 @@ -@use 'theming'; +@use "theming"; @mixin cucumber-table-style { border-collapse: collapse; diff --git a/src/styles/theming.scss b/src/styles/theming.scss index 8cce490a..c110473b 100644 --- a/src/styles/theming.scss +++ b/src/styles/theming.scss @@ -8,9 +8,6 @@ $errorBackgroundColor: var(--cucumber-error-background-color, oklch(97.1% 0.013 $errorTextColor: var(--cucumber-error-text-color, oklch(44.4% 0.177 26.899)); // red-800 $codeBackgroundColor: var(--cucumber-code-background-color, oklch(98.4% 0.003 247.858)); // slate-50 $codeTextColor: var(--cucumber-code-text-color, oklch(27.9% 0.041 260.031)); // slate-800 -$panelBackgroundColor: var( - --cucumber-panel-background-color, - oklch(96.8% 0.007 247.896) -); // slate-100 +$panelBackgroundColor: var(--cucumber-panel-background-color, oklch(96.8% 0.007 247.896)); // slate-100 $panelAccentColor: var(--cucumber-panel-accent-color, oklch(92.9% 0.013 255.508)); // slate-200 $panelTextColor: var(--cucumber-panel-text-color, oklch(27.9% 0.041 260.031)); // slate-800