From ecbf4e0d02024dc32f91cc5f00edf539d36a4f6a Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Tue, 25 Jun 2024 12:01:22 +0100 Subject: [PATCH 1/8] Add storybook interaction test for timeline expand - collapse --- .storybook/main.js | 1 + package.json | 3 +- .../molecules/timeline/timeline.stories.tsx | 33 +++++++++++++++++++ yarn.lock | 7 ++-- 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/.storybook/main.js b/.storybook/main.js index 903fc530f..8632078cc 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -11,6 +11,7 @@ module.exports = { "@storybook/addon-interactions", "@storybook/addon-a11y", "storybook-dark-mode", + "@storybook/addon-interactions" ], "framework": { name: "@storybook/nextjs", diff --git a/package.json b/package.json index e4547f7d6..eea794022 100644 --- a/package.json +++ b/package.json @@ -63,13 +63,14 @@ "@storybook/addon-a11y": "^8.0.0", "@storybook/addon-actions": "^8.0.0", "@storybook/addon-essentials": "^8.0.0", - "@storybook/addon-interactions": "^8.0.0", + "@storybook/addon-interactions": "^8.1.10", "@storybook/addon-links": "^8.0.0", "@storybook/addon-viewport": "^8.1.2", "@storybook/cli": "^8.0.0", "@storybook/nextjs": "^8.0.0", "@storybook/node-logger": "^8.0.0", "@storybook/react": "^8.0.0", + "@storybook/test": "^8.1.10", "@storybook/testing-library": "^0.2.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^15.0.0", diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 35b1637ce..28ecc7388 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -1,4 +1,5 @@ import { StoryFn, Meta } from '@storybook/react'; +import { expect, userEvent, within } from '@storybook/test'; import { Timeline } from './timeline'; export default { @@ -51,6 +52,17 @@ EventTimelineRevisedWithPrevious.args = { ], }; +EventTimelineRevisedWithPrevious.play = async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show previous version'); + + await expect(canvas.getByText('Show previous version')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show previous version')); + + await expect(canvas.getByText('Hide previous version')).toBeInTheDocument(); +}; + export const EventTimelineRevisedWithSubsequent = Template.bind({}); EventTimelineRevisedWithSubsequent.args = { current: 2, @@ -75,6 +87,16 @@ EventTimelineRevisedWithSubsequent.args = { }, ], }; +EventTimelineRevisedWithSubsequent.play = async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show all versions'); + + await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show all versions')); + + await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); +}; export const EventTimelineWithMultipleVOR = Template.bind({}); EventTimelineWithMultipleVOR.args = { @@ -106,3 +128,14 @@ EventTimelineWithMultipleVOR.args = { }, ], }; + +EventTimelineWithMultipleVOR.play = async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show all versions'); + + await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show all versions')); + + await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); +}; diff --git a/yarn.lock b/yarn.lock index c73aac7d6..b83450795 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4383,7 +4383,7 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-interactions@npm:^8.0.0": +"@storybook/addon-interactions@npm:^8.1.10": version: 8.1.10 resolution: "@storybook/addon-interactions@npm:8.1.10" dependencies: @@ -5233,7 +5233,7 @@ __metadata: languageName: node linkType: hard -"@storybook/test@npm:8.1.10": +"@storybook/test@npm:8.1.10, @storybook/test@npm:^8.1.10": version: 8.1.10 resolution: "@storybook/test@npm:8.1.10" dependencies: @@ -9284,13 +9284,14 @@ __metadata: "@storybook/addon-a11y": "npm:^8.0.0" "@storybook/addon-actions": "npm:^8.0.0" "@storybook/addon-essentials": "npm:^8.0.0" - "@storybook/addon-interactions": "npm:^8.0.0" + "@storybook/addon-interactions": "npm:^8.1.10" "@storybook/addon-links": "npm:^8.0.0" "@storybook/addon-viewport": "npm:^8.1.2" "@storybook/cli": "npm:^8.0.0" "@storybook/nextjs": "npm:^8.0.0" "@storybook/node-logger": "npm:^8.0.0" "@storybook/react": "npm:^8.0.0" + "@storybook/test": "npm:^8.1.10" "@storybook/testing-library": "npm:^0.2.0" "@testing-library/jest-dom": "npm:^6.0.0" "@testing-library/react": "npm:^15.0.0" From e56c2a0c6f40f9f51c317f3e8159d76612b14963 Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Tue, 25 Jun 2024 14:42:35 +0100 Subject: [PATCH 2/8] update timeline test and add storybook test-runner --- .storybook/main.js | 3 +- package.json | 4 +- .../molecules/timeline/timeline.stories.tsx | 254 ++-- yarn.lock | 1307 ++++++++++++++++- 4 files changed, 1416 insertions(+), 152 deletions(-) diff --git a/.storybook/main.js b/.storybook/main.js index 8632078cc..d7004535c 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -10,8 +10,7 @@ module.exports = { "@storybook/addon-essentials", "@storybook/addon-interactions", "@storybook/addon-a11y", - "storybook-dark-mode", - "@storybook/addon-interactions" + "storybook-dark-mode" ], "framework": { name: "@storybook/nextjs", diff --git a/package.json b/package.json index eea794022..1deaaf20f 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "lint-sass:fix": "stylelint --fix **/*.scss", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", - "test:browser": "playwright test" + "test:browser": "playwright test", + "test-storybook": "test-storybook" }, "eslintConfig": { "extends": [ @@ -71,6 +72,7 @@ "@storybook/node-logger": "^8.0.0", "@storybook/react": "^8.0.0", "@storybook/test": "^8.1.10", + "@storybook/test-runner": "^0.19.0", "@storybook/testing-library": "^0.2.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^15.0.0", diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 28ecc7388..a70ed4786 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -1,141 +1,145 @@ -import { StoryFn, Meta } from '@storybook/react'; +import { Meta, StoryObj } from '@storybook/react'; import { expect, userEvent, within } from '@storybook/test'; import { Timeline } from './timeline'; -export default { +const meta: Meta = { title: 'Molecules/Timeline', component: Timeline, -} as Meta; - -const Template: StoryFn = (args) => ; - -export const EventTimeline = Template.bind({}); -EventTimeline.args = { - events: [ - { - date: new Date('2023-03-18'), - version: 1, - versionIndicator: 'v1', - url: '#', - }, - ], }; -export const EventTimelineRevised = Template.bind({}); -EventTimelineRevised.args = { - events: [ - { - date: new Date('2023-03-19'), - version: 2, - versionIndicator: 'v2', - url: '#', - }, - ], +export default meta; +type Story = StoryObj; + +export const EventTimeline: Story = { + args: { + events: [ + { + date: new Date('2023-03-18'), + version: 1, + versionIndicator: 'v1', + url: '#', + }, + ], + }, }; -export const EventTimelineRevisedWithPrevious = Template.bind({}); -EventTimelineRevisedWithPrevious.args = { - current: 2, - events: [ - { - url: '#', - date: new Date('2023-03-19'), - version: 2, - versionIndicator: 'v2', - }, - { - url: '#', - date: new Date('2023-03-18'), - version: 1, - versionIndicator: 'v1', - }, - ], +export const EventTimelineRevised:Story = { + args: { + events: [ + { + date: new Date('2023-03-19'), + version: 2, + versionIndicator: 'v2', + url: '#', + }, + ], + }, }; -EventTimelineRevisedWithPrevious.play = async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show previous version'); - - await expect(canvas.getByText('Show previous version')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show previous version')); - - await expect(canvas.getByText('Hide previous version')).toBeInTheDocument(); -}; - -export const EventTimelineRevisedWithSubsequent = Template.bind({}); -EventTimelineRevisedWithSubsequent.args = { - current: 2, - events: [ - { - name: 'Version of Record', - url: '#', - date: new Date('2023-03-20'), - version: 3, - }, - { - url: '#', - date: new Date('2023-03-19'), - version: 2, - versionIndicator: 'v2', - }, - { - url: '#', - date: new Date('2023-03-18'), - version: 1, - versionIndicator: 'v1', - }, - ], -}; -EventTimelineRevisedWithSubsequent.play = async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show all versions'); - - await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show all versions')); - - await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); +export const EventTimelineRevisedWithPrevious: Story = { + args: { + current: 2, + events: [ + { + url: '#', + date: new Date('2023-03-19'), + version: 2, + versionIndicator: 'v2', + }, + { + url: '#', + date: new Date('2023-03-18'), + version: 1, + versionIndicator: 'v1', + }, + ], + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show previous version'); + + await expect(canvas.getByText('Show previous version')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show previous version')); + + await expect(canvas.getByText('Hide previous version')).toBeInTheDocument(); + }, }; -export const EventTimelineWithMultipleVOR = Template.bind({}); -EventTimelineWithMultipleVOR.args = { - current: 2, - events: [ - { - name: 'Version of Record', - url: '#', - date: new Date('2023-03-21'), - version: 4, - }, - { - name: 'Version of Record', - url: '#', - date: new Date('2023-03-20'), - version: 3, - }, - { - url: '#', - date: new Date('2023-03-19'), - version: 2, - versionIndicator: 'v2', - }, - { - url: '#', - date: new Date('2023-03-18'), - version: 1, - versionIndicator: 'v1', - }, - ], +export const EventTimelineRevisedWithSubsequent: Story = { + args: { + current: 2, + events: [ + { + name: 'Version of Record', + url: '#', + date: new Date('2023-03-20'), + version: 3, + }, + { + url: '#', + date: new Date('2023-03-19'), + version: 2, + versionIndicator: 'v2', + }, + { + url: '#', + date: new Date('2023-03-18'), + version: 1, + versionIndicator: 'v1', + }, + ], + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show all versions'); + + await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show all versions')); + + await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); + }, }; -EventTimelineWithMultipleVOR.play = async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show all versions'); - - await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show all versions')); - - await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); +export const EventTimelineWithMultipleVOR: Story = { + args: { + current: 2, + events: [ + { + name: 'Version of Record', + url: '#', + date: new Date('2023-03-21'), + version: 4, + }, + { + name: 'Version of Record', + url: '#', + date: new Date('2023-03-20'), + version: 3, + }, + { + url: '#', + date: new Date('2023-03-19'), + version: 2, + versionIndicator: 'v2', + }, + { + url: '#', + date: new Date('2023-03-18'), + version: 1, + versionIndicator: 'v1', + }, + ], + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Show all versions'); + + await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); + + await userEvent.click(canvas.getByText('Show all versions')); + + await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); + }, }; diff --git a/yarn.lock b/yarn.lock index b83450795..ff4094fab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -117,6 +117,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.19.1": version: 7.19.1 resolution: "@babel/compat-data@npm:7.19.1" @@ -159,6 +169,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/compat-data@npm:7.24.7" + checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f + languageName: node + linkType: hard + "@babel/core@npm:^7.0.0": version: 7.19.1 resolution: "@babel/core@npm:7.19.1" @@ -228,6 +245,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.22.5, @babel/core@npm:^7.7.5": + version: 7.24.7 + resolution: "@babel/core@npm:7.24.7" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-compilation-targets": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.24.7" + "@babel/helpers": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/template": "npm:^7.24.7" + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d + languageName: node + linkType: hard + "@babel/core@npm:^7.24.4": version: 7.24.5 resolution: "@babel/core@npm:7.24.5" @@ -322,6 +362,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/generator@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10c0/06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35 + languageName: node + linkType: hard + "@babel/generator@npm:^7.7.2": version: 7.22.9 resolution: "@babel/generator@npm:7.22.9" @@ -429,6 +481,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-compilation-targets@npm:7.24.7" + dependencies: + "@babel/compat-data": "npm:^7.24.7" + "@babel/helper-validator-option": "npm:^7.24.7" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.22.15": version: 7.22.15 resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" @@ -567,6 +632,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-environment-visitor@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d + languageName: node + linkType: hard + "@babel/helper-function-name@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-function-name@npm:7.22.5" @@ -597,6 +671,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-function-name@npm:7.24.7" + dependencies: + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-hoist-variables@npm:7.22.5" @@ -606,6 +690,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-hoist-variables@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-hoist-variables@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.22.15": version: 7.23.0 resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" @@ -678,6 +771,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-imports@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.19.0": version: 7.19.0 resolution: "@babel/helper-module-transforms@npm:7.19.0" @@ -755,6 +858,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-transforms@npm:7.24.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" @@ -896,6 +1014,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-simple-access@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" @@ -941,6 +1069,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-split-export-declaration@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.19.4": version: 7.21.5 resolution: "@babel/helper-string-parser@npm:7.21.5" @@ -976,6 +1113,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-string-parser@npm:7.24.7" + checksum: 10c0/47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-identifier@npm:7.22.5" @@ -1004,6 +1148,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.18.6": version: 7.21.0 resolution: "@babel/helper-validator-option@npm:7.21.0" @@ -1039,6 +1190,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-option@npm:7.24.7" + checksum: 10c0/21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436 + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-wrap-function@npm:7.22.20" @@ -1094,6 +1252,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helpers@npm:7.24.7" + dependencies: + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.18.6, @babel/highlight@npm:^7.22.5": version: 7.22.5 resolution: "@babel/highlight@npm:7.22.5" @@ -1151,6 +1319,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.5": version: 7.22.7 resolution: "@babel/parser@npm:7.22.7" @@ -1223,6 +1403,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/parser@npm:7.24.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.5": version: 7.24.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.5" @@ -2625,6 +2814,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/template@npm:7.24.7" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 + languageName: node + linkType: hard + "@babel/template@npm:^7.3.3": version: 7.18.10 resolution: "@babel/template@npm:7.18.10" @@ -2708,6 +2908,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/traverse@npm:7.24.7" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-hoist-variables": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.22.5 resolution: "@babel/types@npm:7.22.5" @@ -2796,6 +3014,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/types@npm:7.24.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 + languageName: node + linkType: hard + "@base2/pretty-print-object@npm:1.0.1": version: 1.0.1 resolution: "@base2/pretty-print-object@npm:1.0.1" @@ -3110,6 +3339,22 @@ __metadata: languageName: node linkType: hard +"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.1.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.11.14": version: 0.11.14 resolution: "@humanwhocodes/config-array@npm:0.11.14" @@ -3399,6 +3644,15 @@ __metadata: languageName: node linkType: hard +"@jest/create-cache-key-function@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/create-cache-key-function@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + checksum: 10c0/5c47ef62205264adf77b1ff26b969ce9fe84920b8275c3c5e83f4236859d6ae5e4e7027af99eef04a8e334c4e424d44af3e167972083406070aca733ac2a2795 + languageName: node + linkType: hard + "@jest/environment@npm:^29.7.0": version: 29.7.0 resolution: "@jest/environment@npm:29.7.0" @@ -4245,6 +4499,29 @@ __metadata: languageName: node linkType: hard +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.27.8": version: 0.27.8 resolution: "@sinclair/typebox@npm:0.27.8" @@ -4711,7 +4988,7 @@ __metadata: languageName: node linkType: hard -"@storybook/core-common@npm:8.1.10": +"@storybook/core-common@npm:8.1.10, @storybook/core-common@npm:^8.0.0": version: 8.1.10 resolution: "@storybook/core-common@npm:8.1.10" dependencies: @@ -4848,7 +5125,7 @@ __metadata: languageName: node linkType: hard -"@storybook/csf-tools@npm:8.1.10": +"@storybook/csf-tools@npm:8.1.10, @storybook/csf-tools@npm:^8.0.0": version: 8.1.10 resolution: "@storybook/csf-tools@npm:8.1.10" dependencies: @@ -5102,7 +5379,7 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:8.1.10": +"@storybook/preview-api@npm:8.1.10, @storybook/preview-api@npm:^8.0.0": version: 8.1.10 resolution: "@storybook/preview-api@npm:8.1.10" dependencies: @@ -5233,6 +5510,38 @@ __metadata: languageName: node linkType: hard +"@storybook/test-runner@npm:^0.19.0": + version: 0.19.0 + resolution: "@storybook/test-runner@npm:0.19.0" + dependencies: + "@babel/core": "npm:^7.22.5" + "@babel/generator": "npm:^7.22.5" + "@babel/template": "npm:^7.22.5" + "@babel/types": "npm:^7.22.5" + "@jest/types": "npm:^29.6.3" + "@storybook/core-common": "npm:^8.0.0" + "@storybook/csf": "npm:^0.1.2" + "@storybook/csf-tools": "npm:^8.0.0" + "@storybook/preview-api": "npm:^8.0.0" + "@swc/core": "npm:^1.5.22" + "@swc/jest": "npm:^0.2.23" + expect-playwright: "npm:^0.8.0" + jest: "npm:^29.6.4" + jest-circus: "npm:^29.6.4" + jest-environment-node: "npm:^29.6.4" + jest-junit: "npm:^16.0.0" + jest-playwright-preset: "npm:^4.0.0" + jest-runner: "npm:^29.6.4" + jest-serializer-html: "npm:^7.1.0" + jest-watch-typeahead: "npm:^2.0.0" + nyc: "npm:^15.1.0" + playwright: "npm:^1.14.0" + bin: + test-storybook: dist/test-storybook.js + checksum: 10c0/f51dd3baf7b6153fcfe8d6db7cb54409138d1496561c7833ebfe25a1b38db6bbc6e134f7a5ff540eae9bee987d9011054677ffee00c6097f720a2075d29555ca + languageName: node + linkType: hard + "@storybook/test@npm:8.1.10, @storybook/test@npm:^8.1.10": version: 8.1.10 resolution: "@storybook/test@npm:8.1.10" @@ -5324,6 +5633,129 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-arm64@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-darwin-arm64@npm:1.6.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-darwin-x64@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-darwin-x64@npm:1.6.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@swc/core-linux-arm-gnueabihf@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.6.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@swc/core-linux-arm64-gnu@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-linux-arm64-gnu@npm:1.6.5" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-arm64-musl@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-linux-arm64-musl@npm:1.6.5" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-linux-x64-gnu@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-linux-x64-gnu@npm:1.6.5" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-x64-musl@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-linux-x64-musl@npm:1.6.5" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-win32-arm64-msvc@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-win32-arm64-msvc@npm:1.6.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-win32-ia32-msvc@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-win32-ia32-msvc@npm:1.6.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.6.5": + version: 1.6.5 + resolution: "@swc/core-win32-x64-msvc@npm:1.6.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@swc/core@npm:^1.5.22": + version: 1.6.5 + resolution: "@swc/core@npm:1.6.5" + dependencies: + "@swc/core-darwin-arm64": "npm:1.6.5" + "@swc/core-darwin-x64": "npm:1.6.5" + "@swc/core-linux-arm-gnueabihf": "npm:1.6.5" + "@swc/core-linux-arm64-gnu": "npm:1.6.5" + "@swc/core-linux-arm64-musl": "npm:1.6.5" + "@swc/core-linux-x64-gnu": "npm:1.6.5" + "@swc/core-linux-x64-musl": "npm:1.6.5" + "@swc/core-win32-arm64-msvc": "npm:1.6.5" + "@swc/core-win32-ia32-msvc": "npm:1.6.5" + "@swc/core-win32-x64-msvc": "npm:1.6.5" + "@swc/counter": "npm:^0.1.3" + "@swc/types": "npm:^0.1.9" + peerDependencies: + "@swc/helpers": "*" + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10c0/4fba746667d71641ea8db256561cb47e996f03c091ad62aff6856487f14dffa333eee086d514564ee7c79f657ffc6360a37b06ea136dad08a2aaa8d538681197 + languageName: node + linkType: hard + +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: 10c0/8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 + languageName: node + linkType: hard + "@swc/helpers@npm:0.5.2": version: 0.5.2 resolution: "@swc/helpers@npm:0.5.2" @@ -5333,6 +5765,28 @@ __metadata: languageName: node linkType: hard +"@swc/jest@npm:^0.2.23": + version: 0.2.36 + resolution: "@swc/jest@npm:0.2.36" + dependencies: + "@jest/create-cache-key-function": "npm:^29.7.0" + "@swc/counter": "npm:^0.1.3" + jsonc-parser: "npm:^3.2.0" + peerDependencies: + "@swc/core": "*" + checksum: 10c0/7f1993f9201420bb499c92ab28797352bcbf9e3a6c7b5a1806fdc34c9c3b46ea9e5b2f070c0e13fcf7f3c3fadbbc38777840baabb178f589bf1f67543763adb6 + languageName: node + linkType: hard + +"@swc/types@npm:^0.1.9": + version: 0.1.9 + resolution: "@swc/types@npm:0.1.9" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: 10c0/e47db2a06189f100696837ac3d56feaf67e8e68541b236c2de497e066689230f5cbb538fc0ca77c04739ae7653c20a2d79c7ab57ecf7506e2d008cb5e523f724 + languageName: node + linkType: hard + "@testing-library/dom@npm:^10.0.0": version: 10.0.0 resolution: "@testing-library/dom@npm:10.0.0" @@ -5987,6 +6441,15 @@ __metadata: languageName: node linkType: hard +"@types/wait-on@npm:^5.2.0": + version: 5.3.4 + resolution: "@types/wait-on@npm:5.3.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/e366fbfa78fbed4a033aa03072291ba869328dc1a1b715109540af3a328f8f023ec868219f6d2148d5a2ea21f1ce0f12d29e42411f3255ba155da2af978319ee + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -6787,6 +7250,13 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^6.0.0": + version: 6.2.1 + resolution: "ansi-escapes@npm:6.2.1" + checksum: 10c0/a2c6f58b044be5f69662ee17073229b492daa2425a7fd99a665db6c22eab6e4ab42752807def7281c1c7acfed48f87f2362dda892f08c2c437f1b39c6b033103 + languageName: node + linkType: hard + "ansi-html-community@npm:0.0.8, ansi-html-community@npm:^0.0.8": version: 0.0.8 resolution: "ansi-html-community@npm:0.0.8" @@ -6859,6 +7329,15 @@ __metadata: languageName: node linkType: hard +"append-transform@npm:^2.0.0": + version: 2.0.0 + resolution: "append-transform@npm:2.0.0" + dependencies: + default-require-extensions: "npm:^3.0.0" + checksum: 10c0/f1505e4f4597f4eb7b3df8da898e431fc25d6cdc6c78d01c700a4fab38d835e7cbac693eade8df7b0a0944dc52a35f92b1771e440af59f1b1f8a1dadaba7d17b + languageName: node + linkType: hard + "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -6866,6 +7345,13 @@ __metadata: languageName: node linkType: hard +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -7260,6 +7746,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:^1.6.1": + version: 1.7.2 + resolution: "axios@npm:1.7.2" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/cbd47ce380fe045313364e740bb03b936420b8b5558c7ea36a4563db1258c658f05e40feb5ddd41f6633fdd96d37ac2a76f884dad599c5b0224b4c451b3fa7ae + languageName: node + linkType: hard + "axobject-query@npm:^3.2.1": version: 3.2.1 resolution: "axobject-query@npm:3.2.1" @@ -7790,6 +8287,18 @@ __metadata: languageName: node linkType: hard +"caching-transform@npm:^4.0.0": + version: 4.0.0 + resolution: "caching-transform@npm:4.0.0" + dependencies: + hasha: "npm:^5.0.0" + make-dir: "npm:^3.0.0" + package-hash: "npm:^4.0.0" + write-file-atomic: "npm:^3.0.0" + checksum: 10c0/7b33669dadfad292636578087a1aa7bcf9fbd60d6cbc67e8f288e3667397193c00bdac35bb84d34bd44fa9209405791fd3ab101c2126109e6eaaef1b899da759 + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -7841,7 +8350,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.3.1": +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 @@ -7929,6 +8438,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.2.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -7936,6 +8452,13 @@ __metadata: languageName: node linkType: hard +"char-regex@npm:^2.0.0": + version: 2.0.1 + resolution: "char-regex@npm:2.0.1" + checksum: 10c0/ec592229ac3ef18f2ea1f5676ae9a829c37150db55fd7f709edce1bcdc9f506de22ae19388d853704806e51af71fe9239bcb7e7be583296951bfbf2a9a9763a2 + languageName: node + linkType: hard + "check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" @@ -8061,6 +8584,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^6.2.0" + checksum: 10c0/35229b1bb48647e882104cac374c9a18e34bbf0bace0e2cf03000326b6ca3050d6b59545d91e17bfe3705f4a0e2988787aa5cde6331bf5cbbf0164732cef6492 + languageName: node + linkType: hard + "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -8195,8 +8729,22 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.2.1": - version: 6.2.1 +"commander@npm:^3.0.2": + version: 3.0.2 + resolution: "commander@npm:3.0.2" + checksum: 10c0/8a279b4bacde68f03664086260ccb623122d2bdae6f380a41c9e06b646e830372c30a4b88261238550e0ad69d53f7af8883cb705d8237fdd22947e84913b149c + languageName: node + linkType: hard + +"commander@npm:^5.1.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d + languageName: node + linkType: hard + +"commander@npm:^6.2.1": + version: 6.2.1 resolution: "commander@npm:6.2.1" checksum: 10c0/85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea languageName: node @@ -8605,6 +9153,16 @@ __metadata: languageName: node linkType: hard +"cwd@npm:^0.10.0": + version: 0.10.0 + resolution: "cwd@npm:0.10.0" + dependencies: + find-pkg: "npm:^0.1.2" + fs-exists-sync: "npm:^0.1.0" + checksum: 10c0/d900a87e31016d4b0c98b33fdc22c89a7534223bfcf2834c27e2a31e9a0d72ed390ff696a03eaca5a5b4b3ffcbf2ade9dfe1ba12ec86e375848a94a1a2a5396a + languageName: node + linkType: hard + "damerau-levenshtein@npm:^1.0.8": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -8686,6 +9244,13 @@ __metadata: languageName: node linkType: hard +"decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + "decimal.js@npm:^10.4.2": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" @@ -8771,6 +9336,15 @@ __metadata: languageName: node linkType: hard +"default-require-extensions@npm:^3.0.0": + version: 3.0.1 + resolution: "default-require-extensions@npm:3.0.1" + dependencies: + strip-bom: "npm:^4.0.0" + checksum: 10c0/5ca376cb527d9474336ad76dd302d06367a7163379dda26558258de26f85861e696d0b7bb19ee3c6b8456bb7c95cdc0e4e4d45c2aa487e61b2d3b60d80c10648 + languageName: node + linkType: hard + "defaults@npm:^1.0.3": version: 1.0.4 resolution: "defaults@npm:1.0.4" @@ -8967,6 +9541,15 @@ __metadata: languageName: node linkType: hard +"diffable-html@npm:^4.1.0": + version: 4.1.0 + resolution: "diffable-html@npm:4.1.0" + dependencies: + htmlparser2: "npm:^3.9.2" + checksum: 10c0/4224133455312e03dd5b84cec0a7d7390552ae30fc5ceb24256c4973e7b51ab2ba69f8b8dbeaaa3feb2b92d3fdd57476dcb7afeada793130ab340720c6a553c7 + languageName: node + linkType: hard + "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -9028,6 +9611,16 @@ __metadata: languageName: node linkType: hard +"dom-serializer@npm:0": + version: 0.2.2 + resolution: "dom-serializer@npm:0.2.2" + dependencies: + domelementtype: "npm:^2.0.1" + entities: "npm:^2.0.0" + checksum: 10c0/5cb595fb77e1a23eca56742f47631e6f4af66ce1982c7ed28b3d0ef21f1f50304c067adc29d3eaf824c572be022cee88627d0ac9b929408f24e923f3c7bed37b + languageName: node + linkType: hard + "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -9057,6 +9650,13 @@ __metadata: languageName: node linkType: hard +"domelementtype@npm:1, domelementtype@npm:^1.3.1": + version: 1.3.1 + resolution: "domelementtype@npm:1.3.1" + checksum: 10c0/6d4f5761060a21eaf3c96545501e9d188745c7e1c31b8d141bf15d8748feeadba868f4ea32877751b8678b286fb1afbe6ae905ca3fb8f0214d8322e482cdbec0 + languageName: node + linkType: hard + "domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" @@ -9082,6 +9682,15 @@ __metadata: languageName: node linkType: hard +"domhandler@npm:^2.3.0": + version: 2.4.2 + resolution: "domhandler@npm:2.4.2" + dependencies: + domelementtype: "npm:1" + checksum: 10c0/6670cab73e97e3c6771dcf22b537db3f6a0be0ad6b370f03bb5f1b585d3b563d326787fdabe1190b7ca9d81c804e9b3f8a1431159c27c44f6c05f94afa92be2d + languageName: node + linkType: hard + "domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -9091,6 +9700,16 @@ __metadata: languageName: node linkType: hard +"domutils@npm:^1.5.1": + version: 1.7.0 + resolution: "domutils@npm:1.7.0" + dependencies: + dom-serializer: "npm:0" + domelementtype: "npm:1" + checksum: 10c0/437fcd2d6d6be03f488152e73c6f953e289c58496baa22be9626b2b46f9cfd40486ae77d144487ff6b102929a3231cdb9a8bf8ef485fb7b7c30c985daedc77eb + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -9292,6 +9911,7 @@ __metadata: "@storybook/node-logger": "npm:^8.0.0" "@storybook/react": "npm:^8.0.0" "@storybook/test": "npm:^8.1.10" + "@storybook/test-runner": "npm:^0.19.0" "@storybook/testing-library": "npm:^0.2.0" "@testing-library/jest-dom": "npm:^6.0.0" "@testing-library/react": "npm:^15.0.0" @@ -9369,6 +9989,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^1.1.1": + version: 1.1.2 + resolution: "entities@npm:1.1.2" + checksum: 10c0/5b12fa8c4fb942f88af6f8791bbe7be0a59ebd91c8933cee091d94455efd1eeb200418c7b1bc8dd0f74cdd4db8cf4538eb043db14cfd1919130c25d8c6095215 + languageName: node + linkType: hard + "entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -9772,6 +10399,13 @@ __metadata: languageName: node linkType: hard +"es6-error@npm:^4.0.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + "es6-object-assign@npm:^1.1.0": version: 1.1.0 resolution: "es6-object-assign@npm:1.1.0" @@ -10399,6 +11033,22 @@ __metadata: languageName: node linkType: hard +"expand-tilde@npm:^1.2.2": + version: 1.2.2 + resolution: "expand-tilde@npm:1.2.2" + dependencies: + os-homedir: "npm:^1.0.1" + checksum: 10c0/2342695a9d50bd5497454a0fad471b9394579f27c88c05334ef868ba85fbecf88fe2aeac6789ffc2a887b5fe120c0db295e34e65e308885cff0bd949a70f8aac + languageName: node + linkType: hard + +"expect-playwright@npm:^0.8.0": + version: 0.8.0 + resolution: "expect-playwright@npm:0.8.0" + checksum: 10c0/89235929d99df0d7c8b6fcf0bca7f85bb1b1c23cf09cf2317f8d86644fa2aecc76ec49f8dabd5a517c9826c991ee495d2bdd61a0c5c3da05010d3977eae6aec4 + languageName: node + linkType: hard + "expect@npm:^29.0.0": version: 29.6.1 resolution: "expect@npm:29.6.1" @@ -10689,7 +11339,7 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.3.1": +"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.2.0, find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -10710,6 +11360,38 @@ __metadata: languageName: node linkType: hard +"find-file-up@npm:^0.1.2": + version: 0.1.3 + resolution: "find-file-up@npm:0.1.3" + dependencies: + fs-exists-sync: "npm:^0.1.0" + resolve-dir: "npm:^0.1.0" + checksum: 10c0/5ad62a983ef1371084074911daaec93dae7f0a0e73478024341884d923a56598a4c1bd2e5c949919e47e86141e4e5576ad073f612cb56739f6b3f5dbe2e7e7c1 + languageName: node + linkType: hard + +"find-pkg@npm:^0.1.2": + version: 0.1.2 + resolution: "find-pkg@npm:0.1.2" + dependencies: + find-file-up: "npm:^0.1.2" + checksum: 10c0/794899048f204c08dc5cb340cf6e5cbadc2394c43b2a1a23e91f023de46cb81501dadd540eb9a6d022db2cf6541bbb5e194f514f6a3dcb1183035ef8606d857e + languageName: node + linkType: hard + +"find-process@npm:^1.4.4": + version: 1.4.7 + resolution: "find-process@npm:1.4.7" + dependencies: + chalk: "npm:^4.0.0" + commander: "npm:^5.1.0" + debug: "npm:^4.1.1" + bin: + find-process: bin/find-process.js + checksum: 10c0/cea8cd43f41e0a9d26dfb70db73fdbc5d14d3ed0f8975e1688492babfa3a2a5f97f52dd986679ee8ddc0e6ff5e8f0a6013821f15eb9970e8031d44ad3c0b2deb + languageName: node + linkType: hard + "find-up@npm:^3.0.0": version: 3.0.0 resolution: "find-up@npm:3.0.0" @@ -10790,6 +11472,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.15.6": + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/9ff767f0d7be6aa6870c82ac79cf0368cd73e01bbc00e9eb1c2a16fbb198ec105e3c9b6628bb98e9f3ac66fe29a957b9645bcb9a490bb7aa0d35f908b6b85071 + languageName: node + linkType: hard + "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -10799,6 +11491,16 @@ __metadata: languageName: node linkType: hard +"foreground-child@npm:^2.0.0": + version: 2.0.0 + resolution: "foreground-child@npm:2.0.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/6719982783a448162f9a01500757fb2053bc5dcd4d67c7cd30739b38ccc01b39f84e408c30989d1d8774519c021c0498e2450ab127690fb09d7f2568fd94ffcc + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -10857,6 +11559,13 @@ __metadata: languageName: node linkType: hard +"fromentries@npm:^1.2.0": + version: 1.3.2 + resolution: "fromentries@npm:1.3.2" + checksum: 10c0/63938819a86e39f490b0caa1f6b38b8ad04f41ccd2a1c144eb48a21f76e4dbc074bc62e97abb053c7c1f541ecc70cf0b8aaa98eed3fe02206db9b6f9bb9a6a47 + languageName: node + linkType: hard + "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -10864,6 +11573,13 @@ __metadata: languageName: node linkType: hard +"fs-exists-sync@npm:^0.1.0": + version: 0.1.0 + resolution: "fs-exists-sync@npm:0.1.0" + checksum: 10c0/3067957c9394aabfce5f7351b6a70fcc423483131c7c0fa9ba8e48cbe00ecd866fb98e43e3c534b60e03354a520cfc27e9dc488bd057317c66b97714ad9bf673 + languageName: node + linkType: hard + "fs-extra@npm:11.1.1, fs-extra@npm:^11.1.0": version: 11.1.1 resolution: "fs-extra@npm:11.1.1" @@ -11005,7 +11721,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde @@ -11193,7 +11909,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -11207,6 +11923,16 @@ __metadata: languageName: node linkType: hard +"global-modules@npm:^0.2.3": + version: 0.2.3 + resolution: "global-modules@npm:0.2.3" + dependencies: + global-prefix: "npm:^0.1.4" + is-windows: "npm:^0.2.0" + checksum: 10c0/45f1c89dc0625a88fd1a9f8c2584f2a55662594f1771c301677c38a48cd7d850b91ee60ca0d3b931593d462576f2107f8ab03d50efcd5d95e8c343b68af2827e + languageName: node + linkType: hard + "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -11216,6 +11942,18 @@ __metadata: languageName: node linkType: hard +"global-prefix@npm:^0.1.4": + version: 0.1.5 + resolution: "global-prefix@npm:0.1.5" + dependencies: + homedir-polyfill: "npm:^1.0.0" + ini: "npm:^1.3.4" + is-windows: "npm:^0.2.0" + which: "npm:^1.2.12" + checksum: 10c0/ad3bbc8e6b7d3e7e5f60c55dd0dbe74f5364ac232c827219d0dd6be58a493f2b119d6672bc26d9774d204d5edf857dc4df24d020bba25e0e36d1b7c8712a8439 + languageName: node + linkType: hard + "global-prefix@npm:^3.0.0": version: 3.0.0 resolution: "global-prefix@npm:3.0.0" @@ -11296,7 +12034,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -11459,6 +12197,16 @@ __metadata: languageName: node linkType: hard +"hasha@npm:^5.0.0": + version: 5.2.2 + resolution: "hasha@npm:5.2.2" + dependencies: + is-stream: "npm:^2.0.0" + type-fest: "npm:^0.8.0" + checksum: 10c0/9d10d4e665a37beea6e18ba3a0c0399a05b26e505c5ff2fe9115b64fedb3ca95f68c89cf15b08ee4d09fd3064b5e1bfc8e8247353c7aa6b7388471d0f86dca74 + languageName: node + linkType: hard + "hasown@npm:^2.0.0": version: 2.0.0 resolution: "hasown@npm:2.0.0" @@ -11533,6 +12281,15 @@ __metadata: languageName: node linkType: hard +"homedir-polyfill@npm:^1.0.0": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: "npm:^1.0.0" + checksum: 10c0/3c099844f94b8b438f124bd5698bdcfef32b2d455115fb8050d7148e7f7b95fc89ba9922586c491f0e1cdebf437b1053c84ecddb8d596e109e9ac69c5b4a9e27 + languageName: node + linkType: hard + "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -11651,6 +12408,20 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^3.9.2": + version: 3.10.1 + resolution: "htmlparser2@npm:3.10.1" + dependencies: + domelementtype: "npm:^1.3.1" + domhandler: "npm:^2.3.0" + domutils: "npm:^1.5.1" + entities: "npm:^1.1.1" + inherits: "npm:^2.0.1" + readable-stream: "npm:^3.1.1" + checksum: 10c0/b1424536ff062088501efa06a2afd478545d3134a5ad2e28bbe02dc2d092784982286b90f1c87fa3d86692958dbfb8936352dfd71d1cb2ff7cb61208c00fcdb1 + languageName: node + linkType: hard + "htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" @@ -11864,7 +12635,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.5": +"ini@npm:^1.3.4, ini@npm:^1.3.5": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a @@ -12332,6 +13103,13 @@ __metadata: languageName: node linkType: hard +"is-typedarray@npm:^1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -12365,6 +13143,20 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^0.2.0": + version: 0.2.0 + resolution: "is-windows@npm:0.2.0" + checksum: 10c0/513a1e70bf78a5af1792e7bc58ade5fb51129d5e9d6494b29daff7dc6c55f4767cd4047d3e0a50f5439a3cd1628be74d2d518232491a4288321d40fe1c223df4 + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 + languageName: node + linkType: hard + "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -12409,6 +13201,27 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-hook@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-hook@npm:3.0.0" + dependencies: + append-transform: "npm:^2.0.0" + checksum: 10c0/0029bdbc4ae82c2a5a0b48a2f4ba074de72601a5d27505493c9be83d4c7952039ad787d2f6d1321710b75a05059c4335a0eb7c8857ca82e7e6d19f8d88d03b46 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.0": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": "npm:^7.7.5" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.0.0" + semver: "npm:^6.3.0" + checksum: 10c0/7f1005566a912e33e847576b2c1072d48a7c556810a54d912f3e2f0bd966171e68b30c40b0c1ce6ee9b8864de422d0c10e2d0dfd2d25b48723950cc78cd437c2 + languageName: node + linkType: hard + "istanbul-lib-instrument@npm:^5.0.4": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" @@ -12435,6 +13248,20 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-processinfo@npm:^2.0.2": + version: 2.0.3 + resolution: "istanbul-lib-processinfo@npm:2.0.3" + dependencies: + archy: "npm:^1.0.0" + cross-spawn: "npm:^7.0.3" + istanbul-lib-coverage: "npm:^3.2.0" + p-map: "npm:^3.0.0" + rimraf: "npm:^3.0.0" + uuid: "npm:^8.3.2" + checksum: 10c0/ffd0f9b1c8e266e980580f83e65397caeace3958e4b4326b4479dcb0e41a450698387b96b4d4823e63b7c4a403f72e6e30d9e788ddcf153edb422a9d6f64a998 + languageName: node + linkType: hard + "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -12457,6 +13284,16 @@ __metadata: languageName: node linkType: hard +"istanbul-reports@npm:^3.0.2": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 + languageName: node + linkType: hard + "istanbul-reports@npm:^3.1.3": version: 3.1.5 resolution: "istanbul-reports@npm:3.1.5" @@ -12531,7 +13368,7 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^29.7.0": +"jest-circus@npm:^29.6.4, jest-circus@npm:^29.7.0": version: 29.7.0 resolution: "jest-circus@npm:29.7.0" dependencies: @@ -12690,7 +13527,7 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^29.7.0": +"jest-environment-node@npm:^29.6.4, jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" dependencies: @@ -12741,6 +13578,18 @@ __metadata: languageName: node linkType: hard +"jest-junit@npm:^16.0.0": + version: 16.0.0 + resolution: "jest-junit@npm:16.0.0" + dependencies: + mkdirp: "npm:^1.0.4" + strip-ansi: "npm:^6.0.1" + uuid: "npm:^8.3.2" + xml: "npm:^1.0.1" + checksum: 10c0/d813d4d142341c2b51b634db7ad6ceb9849514cb58f96ec5e7e4cf4031a557133490452710c2d9dec9b1dd546334d9ca663e042d3070c3e8f102ce6217bd8e2e + languageName: node + linkType: hard + "jest-leak-detector@npm:^29.7.0": version: 29.7.0 resolution: "jest-leak-detector@npm:29.7.0" @@ -12820,6 +13669,25 @@ __metadata: languageName: node linkType: hard +"jest-playwright-preset@npm:^4.0.0": + version: 4.0.0 + resolution: "jest-playwright-preset@npm:4.0.0" + dependencies: + expect-playwright: "npm:^0.8.0" + jest-process-manager: "npm:^0.4.0" + nyc: "npm:^15.1.0" + playwright-core: "npm:>=1.2.0" + rimraf: "npm:^3.0.2" + uuid: "npm:^8.3.2" + peerDependencies: + jest: ^29.3.1 + jest-circus: ^29.3.1 + jest-environment-node: ^29.3.1 + jest-runner: ^29.3.1 + checksum: 10c0/c51b00dde02ab6a102589f97ca6c9679886c806da82f73ff0d4822cc06e988333eb8c62c2b2f8381d5e7fa2edfa5cc33e624a36107903d6b98ddd26dd0035a05 + languageName: node + linkType: hard + "jest-pnp-resolver@npm:^1.2.2": version: 1.2.3 resolution: "jest-pnp-resolver@npm:1.2.3" @@ -12832,7 +13700,25 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^29.6.3": +"jest-process-manager@npm:^0.4.0": + version: 0.4.0 + resolution: "jest-process-manager@npm:0.4.0" + dependencies: + "@types/wait-on": "npm:^5.2.0" + chalk: "npm:^4.1.0" + cwd: "npm:^0.10.0" + exit: "npm:^0.1.2" + find-process: "npm:^1.4.4" + prompts: "npm:^2.4.1" + signal-exit: "npm:^3.0.3" + spawnd: "npm:^5.0.0" + tree-kill: "npm:^1.2.2" + wait-on: "npm:^7.0.0" + checksum: 10c0/0e990510f2c31592eb21a9b7c7597d55b2b841f704fe6b4a73eb1eed98423e23ce5ac074a42233130b1bb4f0dd38232dbde58de352cdeff80f6b0d3d62c5db54 + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.6.3": version: 29.6.3 resolution: "jest-regex-util@npm:29.6.3" checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b @@ -12866,7 +13752,7 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:^29.7.0": +"jest-runner@npm:^29.6.4, jest-runner@npm:^29.7.0": version: 29.7.0 resolution: "jest-runner@npm:29.7.0" dependencies: @@ -12925,6 +13811,15 @@ __metadata: languageName: node linkType: hard +"jest-serializer-html@npm:^7.1.0": + version: 7.1.0 + resolution: "jest-serializer-html@npm:7.1.0" + dependencies: + diffable-html: "npm:^4.1.0" + checksum: 10c0/e8383431fbacd5ebb9a7c053c849a0d1e0a183e625aba1ede726260186931b229468dc6456b9b821a137123a88ea3b4325884a5c01c5d78b39c106c3d5c18fcc + languageName: node + linkType: hard + "jest-snapshot@npm:^29.7.0": version: 29.7.0 resolution: "jest-snapshot@npm:29.7.0" @@ -12995,7 +13890,24 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^29.7.0": +"jest-watch-typeahead@npm:^2.0.0": + version: 2.2.2 + resolution: "jest-watch-typeahead@npm:2.2.2" + dependencies: + ansi-escapes: "npm:^6.0.0" + chalk: "npm:^5.2.0" + jest-regex-util: "npm:^29.0.0" + jest-watcher: "npm:^29.0.0" + slash: "npm:^5.0.0" + string-length: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + peerDependencies: + jest: ^27.0.0 || ^28.0.0 || ^29.0.0 + checksum: 10c0/5a55a571d616958cd6c6b52c4bf57cfaa97132cd9681af8ebfa8ebde9fa1d829426ff36f4ef2eaa867142ee97577fdad1735c58c3db62cbb33a39ad97125ee00 + languageName: node + linkType: hard + +"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.7.0": version: 29.7.0 resolution: "jest-watcher@npm:29.7.0" dependencies: @@ -13034,7 +13946,7 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.6.1": +"jest@npm:^29.6.1, jest@npm:^29.6.4": version: 29.7.0 resolution: "jest@npm:29.7.0" dependencies: @@ -13062,6 +13974,19 @@ __metadata: languageName: node linkType: hard +"joi@npm:^17.11.0": + version: 17.13.3 + resolution: "joi@npm:17.13.3" + dependencies: + "@hapi/hoek": "npm:^9.3.0" + "@hapi/topo": "npm:^5.1.0" + "@sideway/address": "npm:^4.1.5" + "@sideway/formula": "npm:^3.0.1" + "@sideway/pinpoint": "npm:^2.0.0" + checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -13246,6 +14171,13 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:^3.2.0": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 + languageName: node + linkType: hard + "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -13447,6 +14379,13 @@ __metadata: languageName: node linkType: hard +"lodash.flattendeep@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flattendeep@npm:4.4.0" + checksum: 10c0/83cb80754b921fb4ed2c222b91a82b2524f3bdc60c3ae91e00688bd4bf1bcc28b8a2cc250e11fdc1b6da3a2de09e57008e13f15a209cafdd4f9163d047f97544 + languageName: node + linkType: hard + "lodash.isequal@npm:^4.5.0": version: 4.5.0 resolution: "lodash.isequal@npm:4.5.0" @@ -13858,7 +14797,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -13956,7 +14895,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3": +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -14224,6 +15163,15 @@ __metadata: languageName: node linkType: hard +"node-preload@npm:^0.2.1": + version: 0.2.1 + resolution: "node-preload@npm:0.2.1" + dependencies: + process-on-spawn: "npm:^1.0.0" + checksum: 10c0/7ae3def896626701e2a27b0c8119e0234089db4317b8c16bb8c44bee9abb82c0e38d57e6317d480970f5a2510e44185af81d3ea85be1a78311701f66f912e9e4 + languageName: node + linkType: hard + "node-releases@npm:^2.0.12": version: 2.0.13 resolution: "node-releases@npm:2.0.13" @@ -14305,6 +15253,43 @@ __metadata: languageName: node linkType: hard +"nyc@npm:^15.1.0": + version: 15.1.0 + resolution: "nyc@npm:15.1.0" + dependencies: + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + caching-transform: "npm:^4.0.0" + convert-source-map: "npm:^1.7.0" + decamelize: "npm:^1.2.0" + find-cache-dir: "npm:^3.2.0" + find-up: "npm:^4.1.0" + foreground-child: "npm:^2.0.0" + get-package-type: "npm:^0.1.0" + glob: "npm:^7.1.6" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-hook: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^4.0.0" + istanbul-lib-processinfo: "npm:^2.0.2" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.0.2" + make-dir: "npm:^3.0.0" + node-preload: "npm:^0.2.1" + p-map: "npm:^3.0.0" + process-on-spawn: "npm:^1.0.0" + resolve-from: "npm:^5.0.0" + rimraf: "npm:^3.0.0" + signal-exit: "npm:^3.0.2" + spawn-wrap: "npm:^2.0.0" + test-exclude: "npm:^6.0.0" + yargs: "npm:^15.0.2" + bin: + nyc: bin/nyc.js + checksum: 10c0/ad0da0627b465f9e88f45105416774a04a033096115bcce8de8952fae25b6e3f3b6441ce81a484b7cd1b79c792aee271f68f57cefe9bb6d062720e61f2feed2c + languageName: node + linkType: hard + "object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -14569,6 +15554,13 @@ __metadata: languageName: node linkType: hard +"os-homedir@npm:^1.0.1": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 10c0/6be4aa67317ee247b8d46142e243fb4ef1d2d65d3067f54bfc5079257a2f4d4d76b2da78cba7af3cb3f56dbb2e4202e0c47f26171d11ca1ed4008d842c90363f + languageName: node + linkType: hard + "p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -14632,6 +15624,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/297930737e52412ad9f5787c52774ad6496fad9a8be5f047e75fd0a3dc61930d8f7a9b2bbe1c4d1404e54324228a4f69721da2538208dadaa4ef4c81773c9f20 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -14648,6 +15649,18 @@ __metadata: languageName: node linkType: hard +"package-hash@npm:^4.0.0": + version: 4.0.0 + resolution: "package-hash@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.15" + hasha: "npm:^5.0.0" + lodash.flattendeep: "npm:^4.4.0" + release-zalgo: "npm:^1.0.0" + checksum: 10c0/2108b685fd5b2a32323aeed5caf2afef8c5fcf680527b09c7e2eaa05cf04b09a7c586860319097fc589ad028a3d94b2da68e8ab1935249aa95e8162ffd622729 + languageName: node + linkType: hard + "pako@npm:~0.2.0": version: 0.2.9 resolution: "pako@npm:0.2.9" @@ -14706,6 +15719,13 @@ __metadata: languageName: node linkType: hard +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 10c0/1c05c05f95f184ab9ca604841d78e4fe3294d46b8e3641d305dcc28e930da0e14e602dbda9f3811cd48df5b0e2e27dbef7357bf0d7c40e41b18c11c3a8b8d17b + languageName: node + linkType: hard + "parse5@npm:^7.0.0, parse5@npm:^7.1.1": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -14944,6 +15964,15 @@ __metadata: languageName: node linkType: hard +"playwright-core@npm:1.45.0, playwright-core@npm:>=1.2.0": + version: 1.45.0 + resolution: "playwright-core@npm:1.45.0" + bin: + playwright-core: cli.js + checksum: 10c0/5c3c205ad6d52c674fb3a91981a2068b17e7d02350c868cb3bc51e0c236df1b5da7c123ebdb6c22c66c8182965d2bba0831fa272a8a388c4e545eac5b3efa501 + languageName: node + linkType: hard + "playwright@npm:1.44.1": version: 1.44.1 resolution: "playwright@npm:1.44.1" @@ -14959,6 +15988,21 @@ __metadata: languageName: node linkType: hard +"playwright@npm:^1.14.0": + version: 1.45.0 + resolution: "playwright@npm:1.45.0" + dependencies: + fsevents: "npm:2.3.2" + playwright-core: "npm:1.45.0" + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 10c0/dbb1c3fe127650bd4b96a84b5271fbb56eea298bc87fa43a16b5054a4f011e00edd9a1a5e769efe4776a7c60d2a87c280543930a19cd12846d3d1e266198d4df + languageName: node + linkType: hard + "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -15269,6 +16313,15 @@ __metadata: languageName: node linkType: hard +"process-on-spawn@npm:^1.0.0": + version: 1.0.0 + resolution: "process-on-spawn@npm:1.0.0" + dependencies: + fromentries: "npm:^1.2.0" + checksum: 10c0/8abd43199b17e61740faec4523fbebb2b2ec990ae096d3051096788128364beb09472decef78dbad70a267e207345aa3a4b595364fefd89e954a509177bdc02b + languageName: node + linkType: hard + "process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" @@ -15295,7 +16348,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.0": +"prompts@npm:^2.0.1, prompts@npm:^2.4.0, prompts@npm:^2.4.1": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -15326,6 +16379,13 @@ __metadata: languageName: node linkType: hard +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + "psl@npm:^1.1.33": version: 1.9.0 resolution: "psl@npm:1.9.0" @@ -15966,6 +17026,15 @@ __metadata: languageName: node linkType: hard +"release-zalgo@npm:^1.0.0": + version: 1.0.0 + resolution: "release-zalgo@npm:1.0.0" + dependencies: + es6-error: "npm:^4.0.1" + checksum: 10c0/9e161feb073f9e3aa714bb077d67592c34ee578f5b9cff8e2d492423fe2002d5b1e6d11ffcd5c564b9a0ee9435f25569567b658a82b9af931e7ac1313925628a + languageName: node + linkType: hard + "renderkid@npm:^3.0.0": version: 3.0.0 resolution: "renderkid@npm:3.0.0" @@ -15993,6 +17062,13 @@ __metadata: languageName: node linkType: hard +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 + languageName: node + linkType: hard + "requireindex@npm:^1.2.0": version: 1.2.0 resolution: "requireindex@npm:1.2.0" @@ -16016,6 +17092,16 @@ __metadata: languageName: node linkType: hard +"resolve-dir@npm:^0.1.0": + version: 0.1.1 + resolution: "resolve-dir@npm:0.1.1" + dependencies: + expand-tilde: "npm:^1.2.2" + global-modules: "npm:^0.2.3" + checksum: 10c0/1eb263821986d9abba8e221b92ae5447e2ceb9e2f4a598bd1dd1e48d2b96dc2c36ed9491d4863a57db3e51067058c93d410fd8b65a94b54ea044d9fba5668adc + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -16159,7 +17245,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -16200,6 +17286,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.8.1": + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 + languageName: node + linkType: hard + "safe-array-concat@npm:^1.0.0": version: 1.0.0 resolution: "safe-array-concat@npm:1.0.0" @@ -16688,7 +17783,7 @@ __metadata: languageName: node linkType: hard -"slash@npm:^5.1.0": +"slash@npm:^5.0.0, slash@npm:^5.1.0": version: 5.1.0 resolution: "slash@npm:5.1.0" checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 @@ -16789,6 +17884,32 @@ __metadata: languageName: node linkType: hard +"spawn-wrap@npm:^2.0.0": + version: 2.0.0 + resolution: "spawn-wrap@npm:2.0.0" + dependencies: + foreground-child: "npm:^2.0.0" + is-windows: "npm:^1.0.2" + make-dir: "npm:^3.0.0" + rimraf: "npm:^3.0.0" + signal-exit: "npm:^3.0.2" + which: "npm:^2.0.1" + checksum: 10c0/0d30001391eedbd588722be74506d3e60582557e754fe3deb3f84f2c84ddca0d72d8132f16502cf312bacb8952cc7abe833d6f45b4e80c8baea3fa56c5554d3d + languageName: node + linkType: hard + +"spawnd@npm:^5.0.0": + version: 5.0.0 + resolution: "spawnd@npm:5.0.0" + dependencies: + exit: "npm:^0.1.2" + signal-exit: "npm:^3.0.3" + tree-kill: "npm:^1.2.2" + wait-port: "npm:^0.2.9" + checksum: 10c0/3becf055b4d0c001475b28b1f6cc78301e5965a09c2dd8eb0030ebc7f134577b49bb76f8bc11b4dbaaac533d19c908c3e68eae21a874ebc2d2ce3731dbb48751 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -16952,6 +18073,16 @@ __metadata: languageName: node linkType: hard +"string-length@npm:^5.0.1": + version: 5.0.1 + resolution: "string-length@npm:5.0.1" + dependencies: + char-regex: "npm:^2.0.0" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/311fa5758d397bd616be17150dfefaab4755ed292a3112237924d10ba5122f606064ad4880a293387401c1d7aa20d79f7936728bac2abed17a5e48f5b317cbc8 + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -17741,6 +18872,15 @@ __metadata: languageName: node linkType: hard +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + "ts-api-utils@npm:^1.0.1": version: 1.0.1 resolution: "ts-api-utils@npm:1.0.1" @@ -17931,7 +19071,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.1": +"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 @@ -18075,6 +19215,15 @@ __metadata: languageName: node linkType: hard +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: "npm:^1.0.0" + checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 + languageName: node + linkType: hard + "typescript@npm:^5.0.0": version: 5.5.2 resolution: "typescript@npm:5.5.2" @@ -18380,6 +19529,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + "uuid@npm:^9.0.0": version: 9.0.0 resolution: "uuid@npm:9.0.0" @@ -18488,6 +19646,34 @@ __metadata: languageName: node linkType: hard +"wait-on@npm:^7.0.0": + version: 7.2.0 + resolution: "wait-on@npm:7.2.0" + dependencies: + axios: "npm:^1.6.1" + joi: "npm:^17.11.0" + lodash: "npm:^4.17.21" + minimist: "npm:^1.2.8" + rxjs: "npm:^7.8.1" + bin: + wait-on: bin/wait-on + checksum: 10c0/1eff2189b3e4b0975889f3e480c75ca2a0d4275072779a6329e7cae8b729620594aa044509ddd89967de6ab2162169501b67b8d9562c16cac517837ffce17337 + languageName: node + linkType: hard + +"wait-port@npm:^0.2.9": + version: 0.2.14 + resolution: "wait-port@npm:0.2.14" + dependencies: + chalk: "npm:^2.4.2" + commander: "npm:^3.0.2" + debug: "npm:^4.1.1" + bin: + wait-port: bin/wait-port.js + checksum: 10c0/fd2709651c27070233f1b1ab32042f1f015cecbbc93fafc94c2def7d37ded0c562ee69a4235436e70990ce526cbd274203b4a998374ec5e19648281af829f89c + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -18726,6 +19912,13 @@ __metadata: languageName: node linkType: hard +"which-module@npm:^2.0.0": + version: 2.0.1 + resolution: "which-module@npm:2.0.1" + checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": version: 1.1.11 resolution: "which-typed-array@npm:1.1.11" @@ -18778,7 +19971,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.3.1": +"which@npm:^1.2.12, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -18827,6 +20020,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c + languageName: node + linkType: hard + "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -18856,6 +20060,18 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: "npm:^0.1.4" + is-typedarray: "npm:^1.0.0" + signal-exit: "npm:^3.0.2" + typedarray-to-buffer: "npm:^3.1.5" + checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e + languageName: node + linkType: hard + "write-file-atomic@npm:^4.0.2": version: 4.0.2 resolution: "write-file-atomic@npm:4.0.2" @@ -18898,6 +20114,13 @@ __metadata: languageName: node linkType: hard +"xml@npm:^1.0.1": + version: 1.0.1 + resolution: "xml@npm:1.0.1" + checksum: 10c0/04bcc9b8b5e7b49392072fbd9c6b0f0958bd8e8f8606fee460318e43991349a68cbc5384038d179ff15aef7d222285f69ca0f067f53d071084eb14c7fdb30411 + languageName: node + linkType: hard + "xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" @@ -18912,6 +20135,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -18940,6 +20170,16 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^18.1.2": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: "npm:^5.0.0" + decamelize: "npm:^1.2.0" + checksum: 10c0/25df918833592a83f52e7e4f91ba7d7bfaa2b891ebf7fe901923c2ee797534f23a176913ff6ff7ebbc1cc1725a044cc6a6539fed8bfd4e13b5b16376875f9499 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -18947,6 +20187,25 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^15.0.2": + version: 15.4.1 + resolution: "yargs@npm:15.4.1" + dependencies: + cliui: "npm:^6.0.0" + decamelize: "npm:^1.2.0" + find-up: "npm:^4.1.0" + get-caller-file: "npm:^2.0.1" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^2.0.0" + set-blocking: "npm:^2.0.0" + string-width: "npm:^4.2.0" + which-module: "npm:^2.0.0" + y18n: "npm:^4.0.0" + yargs-parser: "npm:^18.1.2" + checksum: 10c0/f1ca680c974333a5822732825cca7e95306c5a1e7750eb7b973ce6dc4f97a6b0a8837203c8b194f461969bfe1fb1176d1d423036635285f6010b392fa498ab2d + languageName: node + linkType: hard + "yargs@npm:^17.3.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" From 3d1b1f53424ce3a9d2e631e9089d792e684cd353 Mon Sep 17 00:00:00 2001 From: Scott Aubrey Date: Tue, 25 Jun 2024 15:33:40 +0100 Subject: [PATCH 3/8] fix incorrect versions of dependencies --- yarn.lock | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index ff4094fab..09314ee8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5151,21 +5151,12 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:^0.1.2": - version: 0.1.2 - resolution: "@storybook/csf@npm:0.1.2" - dependencies: - type-fest: "npm:^2.19.0" - checksum: 10c0/b51a55292e5d2af8b1d135a28ecaa94f8860ddfedcb393adfa2cca1ee23853156066f737d8be1cb5412f572781aa525dc0b2f6e4a6f6ce805489f0149efe837c - languageName: node - linkType: hard - -"@storybook/csf@npm:^0.1.7": - version: 0.1.7 - resolution: "@storybook/csf@npm:0.1.7" +"@storybook/csf@npm:^0.1.2, @storybook/csf@npm:^0.1.7": + version: 0.1.9 + resolution: "@storybook/csf@npm:0.1.9" dependencies: type-fest: "npm:^2.19.0" - checksum: 10c0/aaebc9fa5f850cebef1fd9d786d7b5844e2d88e5c8078904ea4571c053f858fab064392960274b854037b9f8693d12c7c45c3c4c9142ec88a08fb498f3f056a5 + checksum: 10c0/f94765d671d80fabbf6b372c82ab80cc2960027bfab0dc2f47001fe49d78caab90f32abab372aa27ab7b67b4a8f39d3dc0c5c43b7c83ce9f60d238e9fb1f0499 languageName: node linkType: hard From 308f36ec642fce64325bcbdb14f910a256aeae15 Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Thu, 27 Jun 2024 19:48:21 +0100 Subject: [PATCH 4/8] add tests for browser interactions --- .../atoms/authors/authors.stories.tsx | 29 +++-- .../institutions/institutions.stories.tsx | 42 ++++--- .../molecules/modal/modal.stories.tsx | 112 ++++++++++++------ .../molecules/timeline/timeline.stories.tsx | 44 ++++--- 4 files changed, 147 insertions(+), 80 deletions(-) diff --git a/src/components/atoms/authors/authors.stories.tsx b/src/components/atoms/authors/authors.stories.tsx index b951f9a57..a22258eda 100644 --- a/src/components/atoms/authors/authors.stories.tsx +++ b/src/components/atoms/authors/authors.stories.tsx @@ -1,16 +1,31 @@ -import { StoryFn, Meta } from '@storybook/react'; +import { Meta, StoryObj } from '@storybook/react'; +import { expect, userEvent, within } from '@storybook/test'; import { Authors } from './authors'; import { authors } from '../../../utils/mocks'; -export default { +const meta: Meta = { title: 'Atoms/Authors', component: Authors, -} as Meta; +}; + +export default meta; +type Story = StoryObj; + +export const AuthorList: Story = { + args: { + authors, + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('show', { exact: false }); + + const collapsedAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); + expect(collapsedAuthors).toHaveLength(10); -const Template: StoryFn = (args) => ; + await userEvent.click(canvas.getByText('show', { exact: false })); -export const AuthorList = Template.bind({}); -AuthorList.args = { - authors, + const expandedAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); + expect(expandedAuthors).toHaveLength(15); + }, }; diff --git a/src/components/atoms/institutions/institutions.stories.tsx b/src/components/atoms/institutions/institutions.stories.tsx index d554efc82..618df9c23 100644 --- a/src/components/atoms/institutions/institutions.stories.tsx +++ b/src/components/atoms/institutions/institutions.stories.tsx @@ -1,21 +1,35 @@ -import { StoryFn, Meta } from '@storybook/react'; - +import { Meta, StoryObj } from '@storybook/react'; +import { expect, userEvent, within } from '@storybook/test'; import { Institutions } from './institutions'; -export default { +const meta: Meta = { title: 'Atoms/Institutions', component: Institutions, -} as Meta; +}; + +export default meta; +type Story = StoryObj; + +export const InstitutionList: Story = { + args: { + institutions: [ + { name: 'Charles Xavier\'s School for Gifted Youngsters', address: { addressCountry: 'West Chester' } }, + { name: 'Star Labs', address: { addressCountry: 'Star City' } }, + { name: 'Avengers Tower', address: { addressCountry: 'New York' } }, + { name: 'Bat Cave', address: { addressCountry: 'Gotham' } }, + { name: 'Arrow Cave', address: { addressCountry: 'Central City' } }, + ], + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('show', { exact: false }); + + const collapsedInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); + expect(collapsedInstitutions).toHaveLength(3); -const Template: StoryFn = (args) => ; + await userEvent.click(canvas.getByText('show', { exact: false })); -export const InstitutionList = Template.bind({}); -InstitutionList.args = { - institutions: [ - { name: 'Charles Xavier\'s School for Gifted Youngsters', address: { addressCountry: 'West Chester' } }, - { name: 'Star Labs', address: { addressCountry: 'Star City' } }, - { name: 'Avengers Tower', address: { addressCountry: 'New York' } }, - { name: 'Bat Cave', address: { addressCountry: 'Gotham' } }, - { name: 'Arrow Cave', address: { addressCountry: 'Central City' } }, - ], + const expandedInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); + expect(expandedInstitutions).toHaveLength(5); + }, }; diff --git a/src/components/molecules/modal/modal.stories.tsx b/src/components/molecules/modal/modal.stories.tsx index d05f704be..58dd1e679 100644 --- a/src/components/molecules/modal/modal.stories.tsx +++ b/src/components/molecules/modal/modal.stories.tsx @@ -1,7 +1,8 @@ import { useState, } from 'react'; -import { StoryFn, Meta } from '@storybook/react'; +import { Meta, StoryObj } from '@storybook/react'; +import { expect, userEvent, within } from '@storybook/test'; import { Modal } from './modal'; import { Socials } from '../../atoms/socials/socials'; import { Clipboard } from '../../atoms/clipboard/clipboard'; @@ -9,39 +10,67 @@ import { citation, references } from '../../../utils/mocks'; import { Reference as ReferenceData } from '../../../types'; import { Citation } from '../../atoms/citation/citation'; -export default { +const meta: Meta = { title: 'Molecules/Modal', component: Modal, -} as Meta; + render: (args) => { + const [showModal, setShowModal] = useState(false); -const Template: StoryFn = (args) => { - const [showModal, setShowModal] = useState(false); - - return ( - <> - - { setShowModal(false); }} /> - - ); + return ( + <> + + { setShowModal(false); }} /> + + ); + }, }; -export const ModalContainer = Template.bind({}); -ModalContainer.args = { - modalTitle: 'This is a title', - children: (<>This is content), +export default meta; +type Story = StoryObj; + +export const ModalContainer: Story = { + args: { + modalTitle: 'This is a title', + children: (<>This is content), + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Modal Link'); + + expect(await canvas.findByText('This is a title')).not.toBeVisible(); + + await userEvent.click(canvas.getByText('Modal Link')); + expect(canvas.getByText('This is a title')).toBeVisible(); + + await userEvent.click(canvas.getByText('Close')); + expect(await canvas.findByText('This is a title')).not.toBeVisible(); + }, }; -export const ModalShare = Template.bind({}); -ModalShare.args = { - modalTitle: 'Share this article', - modalLayout: 'share', - children: (<> -
- -
- - - ), +export const ModalShare: Story = { + args: { + modalTitle: 'Share this article', + modalLayout: 'share', + children: (<> +
+ +
+ + + ), + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Modal Link'); + + expect(await canvas.findByText('Share this article')).not.toBeVisible(); + + await userEvent.click(canvas.getByText('Modal Link')); + expect(canvas.getByText('Share this article')).toBeVisible(); + + await userEvent.click(canvas.getByText('Close')); + expect(await canvas.findByText('Share this article')).not.toBeVisible(); + }, }; const formatReference = (reference: ReferenceData): string => { @@ -53,12 +82,25 @@ const formatReference = (reference: ReferenceData): string => { return `${authors} (${year}) ${reference.title}${journal ? ` ${journal}` : ''}${doiIdentifier ? `\n\nhttps://doi.org/${doiIdentifier.value}` : ''}`; }; -export const ModalCite = Template.bind({}); -ModalCite.args = { - modalTitle: 'Cite this article', - modalLayout: 'cite', - children: (<> - - - ), +export const ModalCite: Story = { + args: { + modalTitle: 'Cite this article', + modalLayout: 'cite', + children: (<> + + + ), + }, + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + await canvas.findByText('Modal Link'); + + expect(await canvas.findByText('Cite this article')).not.toBeVisible(); + + await userEvent.click(canvas.getByText('Modal Link')); + expect(canvas.getByText('Cite this article')).toBeVisible(); + + await userEvent.click(canvas.getByText('Close')); + expect(await canvas.findByText('Cite this article')).not.toBeVisible(); + }, }; diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index a70ed4786..2f60bf6d6 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -10,6 +10,23 @@ const meta: Meta = { export default meta; type Story = StoryObj; +const timeLineTest = async (canvasElement: HTMLElement, expandText: string, collapseText: string, numberExpected: number) => { + const canvas = within(canvasElement); + await canvas.findByText(expandText); + + const collapsedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); + expect(collapsedDts).toHaveLength(1); + + await expect(canvas.getByText(expandText)).toBeInTheDocument(); + + await userEvent.click(canvas.getByText(expandText)); + + await expect(canvas.getByText(collapseText)).toBeInTheDocument(); + + const expandedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); + expect(expandedDts).toHaveLength(numberExpected); +}; + export const EventTimeline: Story = { args: { events: [ @@ -55,14 +72,7 @@ export const EventTimelineRevisedWithPrevious: Story = { ], }, play: async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show previous version'); - - await expect(canvas.getByText('Show previous version')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show previous version')); - - await expect(canvas.getByText('Hide previous version')).toBeInTheDocument(); + await timeLineTest(canvasElement, 'Show previous version', 'Hide previous version', 2); }, }; @@ -91,14 +101,7 @@ export const EventTimelineRevisedWithSubsequent: Story = { ], }, play: async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show all versions'); - - await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show all versions')); - - await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); + await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 3); }, }; @@ -133,13 +136,6 @@ export const EventTimelineWithMultipleVOR: Story = { ], }, play: async ({ canvasElement }) => { - const canvas = within(canvasElement); - await canvas.findByText('Show all versions'); - - await expect(canvas.getByText('Show all versions')).toBeInTheDocument(); - - await userEvent.click(canvas.getByText('Show all versions')); - - await expect(canvas.getByText('Hide all versions')).toBeInTheDocument(); + await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 4); }, }; From 2808ebb2b49ccd814713255ced1bb254e4838a6c Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Mon, 1 Jul 2024 10:42:59 +0100 Subject: [PATCH 5/8] break timeline test to see what happens --- src/components/molecules/timeline/timeline.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 2f60bf6d6..67dd3b748 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -136,6 +136,6 @@ export const EventTimelineWithMultipleVOR: Story = { ], }, play: async ({ canvasElement }) => { - await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 4); + await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 5); }, }; From 0185b0c5c0d2fe2cd70dcf5fd6e78acb7b6ded94 Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Mon, 1 Jul 2024 10:46:54 +0100 Subject: [PATCH 6/8] fix broken timeline test --- src/components/molecules/timeline/timeline.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 67dd3b748..2f60bf6d6 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -136,6 +136,6 @@ export const EventTimelineWithMultipleVOR: Story = { ], }, play: async ({ canvasElement }) => { - await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 5); + await timeLineTest(canvasElement, 'Show all versions', 'Hide all versions', 4); }, }; From 8b721cd33d733f935d2a47d6c99384da20330be1 Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Mon, 1 Jul 2024 10:58:11 +0100 Subject: [PATCH 7/8] reset state as final part of interaction tests --- src/components/atoms/authors/authors.stories.tsx | 9 +++++++-- .../atoms/institutions/institutions.stories.tsx | 9 +++++++-- src/components/molecules/timeline/timeline.stories.tsx | 10 ++++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/components/atoms/authors/authors.stories.tsx b/src/components/atoms/authors/authors.stories.tsx index a22258eda..981772cfe 100644 --- a/src/components/atoms/authors/authors.stories.tsx +++ b/src/components/atoms/authors/authors.stories.tsx @@ -20,12 +20,17 @@ export const AuthorList: Story = { const canvas = within(canvasElement); await canvas.findByText('show', { exact: false }); - const collapsedAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); - expect(collapsedAuthors).toHaveLength(10); + const initialAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); + expect(initialAuthors).toHaveLength(10); await userEvent.click(canvas.getByText('show', { exact: false })); const expandedAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); expect(expandedAuthors).toHaveLength(15); + + await userEvent.click(canvas.getByText('show', { exact: false })); + + const collapsedAuthors = Array.from(document.querySelectorAll('.authors-list li')).filter((node) => node.checkVisibility()); + expect(collapsedAuthors).toHaveLength(10); }, }; diff --git a/src/components/atoms/institutions/institutions.stories.tsx b/src/components/atoms/institutions/institutions.stories.tsx index 618df9c23..34d84e266 100644 --- a/src/components/atoms/institutions/institutions.stories.tsx +++ b/src/components/atoms/institutions/institutions.stories.tsx @@ -24,12 +24,17 @@ export const InstitutionList: Story = { const canvas = within(canvasElement); await canvas.findByText('show', { exact: false }); - const collapsedInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); - expect(collapsedInstitutions).toHaveLength(3); + const initialInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); + expect(initialInstitutions).toHaveLength(3); await userEvent.click(canvas.getByText('show', { exact: false })); const expandedInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); expect(expandedInstitutions).toHaveLength(5); + + await userEvent.click(canvas.getByText('show', { exact: false })); + + const collapsedInstitutions = Array.from(document.querySelectorAll('.institutions-list li')).filter((node) => node.checkVisibility()); + expect(collapsedInstitutions).toHaveLength(3); }, }; diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 2f60bf6d6..656679f16 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -14,8 +14,8 @@ const timeLineTest = async (canvasElement: HTMLElement, expandText: string, coll const canvas = within(canvasElement); await canvas.findByText(expandText); - const collapsedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); - expect(collapsedDts).toHaveLength(1); + const initialDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); + expect(initialDts).toHaveLength(1); await expect(canvas.getByText(expandText)).toBeInTheDocument(); @@ -25,6 +25,12 @@ const timeLineTest = async (canvasElement: HTMLElement, expandText: string, coll const expandedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); expect(expandedDts).toHaveLength(numberExpected); + + await userEvent.click(canvas.getByText(collapseText)); + await expect(canvas.getByText(expandText)).toBeInTheDocument(); + + const collapsedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); + expect(collapsedDts).toHaveLength(1); }; export const EventTimeline: Story = { From c2550cbbeb3d331b1e6a30932bb27f82f83948e0 Mon Sep 17 00:00:00 2001 From: Will Byrne Date: Mon, 1 Jul 2024 11:11:23 +0100 Subject: [PATCH 8/8] click off the collapse text in timeline for visual-regression --- src/components/molecules/timeline/timeline.stories.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/molecules/timeline/timeline.stories.tsx b/src/components/molecules/timeline/timeline.stories.tsx index 656679f16..953819860 100644 --- a/src/components/molecules/timeline/timeline.stories.tsx +++ b/src/components/molecules/timeline/timeline.stories.tsx @@ -31,6 +31,8 @@ const timeLineTest = async (canvasElement: HTMLElement, expandText: string, coll const collapsedDts = Array.from(document.querySelectorAll('.review-timeline dt')).filter((node) => node.checkVisibility()); expect(collapsedDts).toHaveLength(1); + + await userEvent.click(canvas.getByText('v2')); // unfocus the element to prevent issues with visual-regression }; export const EventTimeline: Story = {