From 841f31bc7129feb941c73a419870efa2e61384aa Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Thu, 10 Oct 2024 10:07:40 +0200 Subject: [PATCH] configure all tests --- .storybook/vitest.setup.ts | 9 + package.json | 40 +- ps-setup.ts | 17 + public/mockServiceWorker.js | 2 +- .../RestaurantCard/RestaurantCard.test.tsx | 2 +- src/hooks/useBodyScrollLock.test.ts | 49 ++ src/hooks/useKeyboard.test.ts | 66 ++ .../RestaurantDetailPage.test.tsx | 8 + storybook.setup.ts | 11 - vitest.config.ts | 48 +- vitest.workspace.ts | 37 + yarn.lock | 820 +++++++++++------- 12 files changed, 726 insertions(+), 383 deletions(-) create mode 100644 .storybook/vitest.setup.ts create mode 100644 ps-setup.ts create mode 100644 src/hooks/useBodyScrollLock.test.ts create mode 100644 src/hooks/useKeyboard.test.ts delete mode 100644 storybook.setup.ts create mode 100644 vitest.workspace.ts diff --git a/.storybook/vitest.setup.ts b/.storybook/vitest.setup.ts new file mode 100644 index 00000000..36599990 --- /dev/null +++ b/.storybook/vitest.setup.ts @@ -0,0 +1,9 @@ +import { beforeAll } from 'vitest'; +import { setProjectAnnotations } from '@storybook/react'; +import * as projectAnnotations from './preview'; + +// This is an important step to apply the right configuration when testing your stories. +// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations +const project = setProjectAnnotations([projectAnnotations]); + +beforeAll(project.beforeAll); diff --git a/package.json b/package.json index fb0533a9..626cbf06 100644 --- a/package.json +++ b/package.json @@ -57,25 +57,25 @@ }, "devDependencies": { "@babel/core": "^7.14.6", - "@chromatic-com/storybook": "1.6.2--canary.df0b83c.0", - "@ladle/react": "^4.0.3", - "@storybook/addon-a11y": "^8.3.0-alpha.9", + "@chromatic-com/storybook": "^2.0.2", + "@ladle/react": "^4.1.2", + "@storybook/addon-a11y": "^8.3.0", "@storybook/addon-coverage": "^1.0.4", "@storybook/addon-designs": "^8.0.3", - "@storybook/addon-essentials": "^8.3.0-alpha.9", - "@storybook/addon-interactions": "^8.3.0-alpha.9", - "@storybook/addon-themes": "^8.3.0-alpha.9", - "@storybook/blocks": "^8.3.0-alpha.9", - "@storybook/experimental-addon-vitest": "^8.3.0-alpha.9", - "@storybook/experimental-vitest-plugin": "^0.0.4", - "@storybook/manager-api": "^8.3.0-alpha.9", - "@storybook/react": "^8.3.0-alpha.9", - "@storybook/react-vite": "^8.3.0-alpha.9", - "@storybook/test": "^8.3.0-alpha.9", - "@storybook/test-runner": "^0.19.0", - "@storybook/theming": "^8.3.0-alpha.9", + "@storybook/addon-essentials": "^8.3.0", + "@storybook/addon-interactions": "^8.3.0", + "@storybook/addon-themes": "^8.3.0", + "@storybook/blocks": "^8.3.0", + "@storybook/experimental-addon-test": "^8.3.0", + "@storybook/manager-api": "^8.3.0", + "@storybook/react": "^8.3.0", + "@storybook/react-vite": "^8.3.0", + "@storybook/test": "^8.3.0", + "@storybook/test-runner": "^0.19.1", + "@storybook/theming": "^8.3.0", "@testing-library/jest-dom": "^6.4.6", "@testing-library/react": "^16.0.0", + "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^14.5.2", "@types/node": "^20.12.7", "@types/react": "^18.3.1", @@ -88,13 +88,13 @@ "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "@vitejs/plugin-react": "^4.2.1", - "@vitest/browser": "^2.0.5", - "@vitest/coverage-istanbul": "^2.0.5", + "@vitest/browser": "^2.1.2", + "@vitest/coverage-v8": "^2.1.2", "babel-loader": "8.1.0", "babel-plugin-istanbul": "^6.1.1", "babel-plugin-open-source": "^1.3.3", "c8": "^7.12.0", - "chromatic": "^11.3.0", + "chromatic": "^11.12.5", "concurrently": "^8.2.2", "eslint": "^8.27.0", "eslint-config-airbnb-typescript": "^18.0.0", @@ -116,11 +116,11 @@ "prettier": "^3.2.5", "react-is": "^18.3.1", "react-test-renderer": "^18.3.1", - "storybook": "^8.3.0-alpha.9", + "storybook": "^8.3.0", "vite": "^4.0.0", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^4.3.2", - "vitest": "^2.0.5", + "vitest": "^2.1.2", "vitest-axe": "^0.1.0", "vitest-canvas-mock": "^0.3.3", "wait-on": "^7.2.0" diff --git a/ps-setup.ts b/ps-setup.ts new file mode 100644 index 00000000..01657ce6 --- /dev/null +++ b/ps-setup.ts @@ -0,0 +1,17 @@ +if(!globalThis.__vitest_browser__) { + await import('vitest-canvas-mock') + const { getComputedStyle } = window + window.getComputedStyle = (elt) => getComputedStyle(elt) + window.scrollTo = () => {} +} + +import { beforeAll, expect } from 'vitest' +import { setProjectAnnotations } from '@storybook/react' +import { render as testingLibraryRender } from '@testing-library/react' +import storybookAnnotations from './.storybook/preview' +import '@testing-library/jest-dom/vitest' +import * as matchers from 'vitest-axe/matchers' +expect.extend(matchers); + +const annotations = setProjectAnnotations([storybookAnnotations, {testingLibraryRender}]) +beforeAll(annotations.beforeAll) diff --git a/public/mockServiceWorker.js b/public/mockServiceWorker.js index cbd28e53..a8262f09 100644 --- a/public/mockServiceWorker.js +++ b/public/mockServiceWorker.js @@ -8,7 +8,7 @@ * - Please do NOT serve this file on production. */ -const PACKAGE_VERSION = '2.3.4' +const PACKAGE_VERSION = '2.4.9' const INTEGRITY_CHECKSUM = '26357c79639bfa20d64c0efca2a87423' const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') const activeClientIds = new Set() diff --git a/src/components/RestaurantCard/RestaurantCard.test.tsx b/src/components/RestaurantCard/RestaurantCard.test.tsx index 6497dc77..857badfc 100644 --- a/src/components/RestaurantCard/RestaurantCard.test.tsx +++ b/src/components/RestaurantCard/RestaurantCard.test.tsx @@ -1,4 +1,4 @@ -import { vi, expect } from 'vitest' +import { vi, expect, describe, test } from 'vitest' import { screen } from '@testing-library/react' import { composeStories } from '@storybook/react' import { axe } from 'vitest-axe' diff --git a/src/hooks/useBodyScrollLock.test.ts b/src/hooks/useBodyScrollLock.test.ts new file mode 100644 index 00000000..575c8dd4 --- /dev/null +++ b/src/hooks/useBodyScrollLock.test.ts @@ -0,0 +1,49 @@ +import { describe, it, expect, afterEach } from 'vitest' +import { renderHook } from '@testing-library/react-hooks' +import { useLockBodyScroll } from './useBodyScrollLock' + +describe('useLockBodyScroll hook', () => { + afterEach(() => { + document.body.style.overflow = '' + document.body.style.height = '' + }) + + it('should not lock the body scroll when shouldLock is false', () => { + renderHook(() => useLockBodyScroll(false)) + + expect(document.body.style.overflow).toBe('auto') + expect(document.body.style.height).toBe('') + }) + + it('should lock the body scroll when shouldLock is true', () => { + renderHook(() => useLockBodyScroll(true)) + + expect(document.body.style.overflow).toBe('hidden') + if (/Mobi/i.test(window.navigator.userAgent)) { + expect(document.body.style.height).toBe('100vh') + } else { + expect(document.body.style.height).toBe('') + } + }) + + it('should unlock the body scroll when the component unmounts', () => { + const { unmount } = renderHook(() => useLockBodyScroll(true)) + + unmount() + + expect(document.body.style.overflow).toBe('auto') + expect(document.body.style.height).toBe('') + }) + + it('should update the body scroll lock state when shouldLock changes', () => { + const { rerender } = renderHook(({ shouldLock }) => useLockBodyScroll(shouldLock), { + initialProps: { shouldLock: false }, + }) + + rerender({ shouldLock: true }) + expect(document.body.style.overflow).toBe('hidden') + + rerender({ shouldLock: false }) + expect(document.body.style.overflow).toBe('auto') + }) +}) diff --git a/src/hooks/useKeyboard.test.ts b/src/hooks/useKeyboard.test.ts new file mode 100644 index 00000000..268f16b0 --- /dev/null +++ b/src/hooks/useKeyboard.test.ts @@ -0,0 +1,66 @@ +import { describe, it, vi, expect } from 'vitest' +import { renderHook, act } from '@testing-library/react-hooks' +import { useKey } from './useKeyboard' + +describe('useKey hook', () => { + it('should return false initially', () => { + const { result } = renderHook(() => useKey('a')) + expect(result.current).toBe(false) + }) + + it('should call keyDownCb when the specified key is pressed', () => { + const keyDownCb = vi.fn() + const { result } = renderHook(() => useKey('a', keyDownCb)) + + act(() => { + window.dispatchEvent(new KeyboardEvent('keydown', { key: 'a' })) + }) + + expect(result.current).toBe(true) + expect(keyDownCb).toHaveBeenCalled() + }) + + it('should call keyUpCb when the specified key is released', () => { + const keyUpCb = vi.fn() + const { result } = renderHook(() => useKey('a', undefined, keyUpCb)) + + act(() => { + window.dispatchEvent(new KeyboardEvent('keydown', { key: 'a' })) + window.dispatchEvent(new KeyboardEvent('keyup', { key: 'a' })) + }) + + expect(result.current).toBe(false) + expect(keyUpCb).toHaveBeenCalled() + }) + + it('should not change state for non-matching key events', () => { + const { result } = renderHook(() => useKey('a')) + + act(() => { + window.dispatchEvent(new KeyboardEvent('keydown', { key: 'b' })) + window.dispatchEvent(new KeyboardEvent('keyup', { key: 'b' })) + }) + + expect(result.current).toBe(false) + }) + + it('should handle case-insensitive key events', () => { + const keyDownCb = vi.fn() + const keyUpCb = vi.fn() + const { result } = renderHook(() => useKey('a', keyDownCb, keyUpCb)) + + act(() => { + window.dispatchEvent(new KeyboardEvent('keydown', { key: 'A' })) + }) + + expect(result.current).toBe(true) + expect(keyDownCb).toHaveBeenCalled() + + act(() => { + window.dispatchEvent(new KeyboardEvent('keyup', { key: 'A' })) + }) + + expect(result.current).toBe(false) + expect(keyUpCb).toHaveBeenCalled() + }) +}) diff --git a/src/pages/RestaurantDetailPage/RestaurantDetailPage.test.tsx b/src/pages/RestaurantDetailPage/RestaurantDetailPage.test.tsx index 1010b9dd..5924d11a 100644 --- a/src/pages/RestaurantDetailPage/RestaurantDetailPage.test.tsx +++ b/src/pages/RestaurantDetailPage/RestaurantDetailPage.test.tsx @@ -1,3 +1,4 @@ +import { describe, test, expect } from 'vitest' import { render, screen, waitFor } from '@testing-library/react' import { userEvent } from '@testing-library/user-event' import { composeStories } from '@storybook/react' @@ -34,6 +35,13 @@ describe('RestaurantDetailPage', () => { test('Should execute story tests', async () => { await WithModalOpen.run() }) + + test('Should add an item to cart (using render - LEGACY)', async () => { + await WithModalOpen.load() + const canvas = render() + + await WithModalOpen.play?.({ canvas, userEvent } as any) + }) }) // If we were to not use @storyboook/testing-react: diff --git a/storybook.setup.ts b/storybook.setup.ts deleted file mode 100644 index 5f35d37a..00000000 --- a/storybook.setup.ts +++ /dev/null @@ -1,11 +0,0 @@ -if(!globalThis.__vitest_browser__) { - await import('vitest-canvas-mock') - const { getComputedStyle } = window - window.getComputedStyle = (elt) => getComputedStyle(elt) - window.scrollTo = () => {} -} - -import { setProjectAnnotations } from '@storybook/react' -import storybookAnnotations from './.storybook/preview' - -setProjectAnnotations([storybookAnnotations]) diff --git a/vitest.config.ts b/vitest.config.ts index 584d0971..00c9d9c5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,41 +1,15 @@ -/// -import { defineConfig, coverageConfigDefaults } from 'vitest/config' -import { mergeConfig } from 'vite' -import { storybookTest } from '@storybook/experimental-addon-vitest/plugin' +import { mergeConfig, coverageConfigDefaults } from 'vitest/config' import viteConfig from './vite.config' -// https://vitejs.dev/config/ -export default mergeConfig( - viteConfig, - defineConfig({ - plugins: [ - storybookTest({ - storybookScript: 'yarn storybook --ci' - }), - ], - publicDir: './public', - test: { - environment: 'happy-dom', - setupFiles: './storybook.setup.ts', - include: ['src/**/*.stories.*'], - server: { - deps: { - inline: ['vitest-canvas-mock'], - }, - }, - browser: { - enabled: true, - provider: 'playwright', - name: 'chromium', - headless: true, - screenshotFailures: false, - }, - coverage: { - provider: 'istanbul', - reporter: ['text', 'html'], - exclude: [...coverageConfigDefaults.exclude, 'storybook.setup.ts', 'src/**/*.stories.*', '.storybook'], - }, +export default mergeConfig(viteConfig,{ + test: { + environment: 'happy-dom', + include: ['**/*.test.ts'], + coverage: { + provider: 'v8', + reporter: ['text', 'html'], + exclude: [...coverageConfigDefaults.exclude, 'storybook.setup.ts', 'src/**/*.stories.*', '.storybook'], }, - }) -) + }, +}) diff --git a/vitest.workspace.ts b/vitest.workspace.ts new file mode 100644 index 00000000..65d85028 --- /dev/null +++ b/vitest.workspace.ts @@ -0,0 +1,37 @@ +import { defineWorkspace } from 'vitest/config'; +import { storybookTest } from '@storybook/experimental-addon-test/vitest-plugin'; + + +// More info at: https://storybook.js.org/docs/writing-tests/vitest-plugin +export default defineWorkspace([ + 'vitest.config.ts', + { + extends: 'vite.config.ts', + plugins: [ + // See options at: https://storybook.js.org/docs/writing-tests/vitest-plugin#storybooktest + storybookTest(), + ], + test: { + name: 'storybook', + browser: { + enabled: true, + headless: true, + name: 'chromium', + provider: 'playwright', + }, + // Make sure to adjust this pattern to match your stories files. + include: ['**/*.stories.?(m)[jt]s?(x)'], + setupFiles: ['./.storybook/vitest.setup.ts'], + }, + }, + // This is just to test legacy code, ignore this. + { + extends: 'vite.config.ts', + test: { + name: 'portable-stories', + environment: 'happy-dom', + include: ['**/*.test.tsx'], + setupFiles: ['./ps-setup.ts'], + }, + }, +]); diff --git a/yarn.lock b/yarn.lock index 3e27c1ce..d9297d4e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -523,16 +523,16 @@ __metadata: languageName: node linkType: hard -"@chromatic-com/storybook@npm:1.6.2--canary.df0b83c.0": - version: 1.6.2--canary.df0b83c.0 - resolution: "@chromatic-com/storybook@npm:1.6.2--canary.df0b83c.0" +"@chromatic-com/storybook@npm:^2.0.2": + version: 2.0.2 + resolution: "@chromatic-com/storybook@npm:2.0.2" dependencies: chromatic: "npm:^11.4.0" filesize: "npm:^10.0.12" jsonfile: "npm:^6.1.0" react-confetti: "npm:^6.1.0" strip-ansi: "npm:^7.1.0" - checksum: 10c0/d597f5d1373d2d38628e973f4a9c3a84560439fb098fedfc1ec4dc147e4972104ca74bfbe3edb000063c66e46fad31048255e26e80d091054ca71d7d3742590d + checksum: 10c0/a997e8247168d9c30030966877836839951b6acd65899a4bb683d78d37e549a3285ca14a721893d75bef5b89e075d7090d084023c142680efaef60c9db64e7fa languageName: node linkType: hard @@ -1473,9 +1473,9 @@ __metadata: languageName: node linkType: hard -"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.1": - version: 0.3.1 - resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.1" +"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0": + version: 0.3.0 + resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0" dependencies: glob: "npm:^7.2.0" glob-promise: "npm:^4.2.0" @@ -1487,7 +1487,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/a9c7a03d7d1daf5bd64949255516ba64c88d5600366c8c74dcdb6f37c2a6099daaec02860b7587d2220e61afa47a0b2de17ef70d723c2db02f24e0890edfd9f3 + checksum: 10c0/31098ad8fcc2440437534599c111d9f2951dd74821e8ba46c521b969bae4c918d830b7bb0484efbad29a51711bb62d3bc623d5a1ed5b1695b5b5594ea9dd4ca0 languageName: node linkType: hard @@ -1516,7 +1516,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 @@ -1556,9 +1556,9 @@ __metadata: languageName: node linkType: hard -"@ladle/react@npm:^4.0.3": - version: 4.1.0 - resolution: "@ladle/react@npm:4.1.0" +"@ladle/react@npm:^4.1.2": + version: 4.1.2 + resolution: "@ladle/react@npm:4.1.2" dependencies: "@babel/code-frame": "npm:^7.24.6" "@babel/core": "npm:^7.24.6" @@ -1604,7 +1604,7 @@ __metadata: react-dom: ">=18.0.0" bin: ladle: lib/cli/cli.js - checksum: 10c0/95f1bf5b212c5d1516cd9823bfb501e84b7583df74a7dc458d0997235915d9bffb2230680d0506410170fd862de5cf18d615152bfcee20f6dfa5900da7b2c429 + checksum: 10c0/0f588d38ef9404cc4d2316831777bc22374ea3c9e59810f103af9481f0c5ac885bf5c081c86faf795218ef416ccfe55ff1e0d8db1bba82fc6da6f6dd0837a97a languageName: node linkType: hard @@ -1695,6 +1695,20 @@ __metadata: languageName: node linkType: hard +"@mswjs/interceptors@npm:^0.35.8": + version: 0.35.9 + resolution: "@mswjs/interceptors@npm:0.35.9" + dependencies: + "@open-draft/deferred-promise": "npm:^2.2.0" + "@open-draft/logger": "npm:^0.3.0" + "@open-draft/until": "npm:^2.0.0" + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.3" + strict-event-emitter: "npm:^0.5.1" + checksum: 10c0/8deade6625275f844442d7760bb687c796edb0a280f424a38545c0cb6e5f9f0a267f026e90c281e2134d482c88c03395ce74784797046e1f47284fb53e98976c + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1999,21 +2013,21 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-a11y@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-a11y@npm:8.3.0-alpha.9" +"@storybook/addon-a11y@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/addon-a11y@npm:8.3.5" dependencies: - "@storybook/addon-highlight": "npm:8.3.0-alpha.9" + "@storybook/addon-highlight": "npm:8.3.5" axe-core: "npm:^4.2.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/59f7fbb8754745d3b1028f2f1199ec2bbaea04cb0405e3b86966f395527629a36beabae12a06dd82ef466bf9f1eb0421ea9543cfd9986f40e50ebad89a930507 + storybook: ^8.3.5 + checksum: 10c0/ecc99c83b69e72ea38db5ce844c77d8ef01b06c52770429ba933490f5625291d373a269fc8e2371430e73f06afdbd083ca6a110ac2177f5df2cd2cf311c96d87 languageName: node linkType: hard -"@storybook/addon-actions@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-actions@npm:8.3.0-alpha.9" +"@storybook/addon-actions@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-actions@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" "@types/uuid": "npm:^9.0.1" @@ -2021,35 +2035,35 @@ __metadata: polished: "npm:^4.2.2" uuid: "npm:^9.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/b3a128fbcc5ba47d04484b5c17938bd99446acca58d7d734788b6286f095f8db217896f8c927d2492b72e38151e7786f6ad384ccc78e030913a89e7e289939a5 + storybook: ^8.3.5 + checksum: 10c0/c9872d9d41b33ae26be36dfb25ccb10e7c832d4677cffe4f3e8a42f2748d8c54e681810662b88e10d1e72223096ad1861e389ee7134974e9f3e2869958300e08 languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-backgrounds@npm:8.3.0-alpha.9" +"@storybook/addon-backgrounds@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-backgrounds@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" memoizerific: "npm:^1.11.3" ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/643a04485f1e996a6a80df908c09db3e2b3b5a9b5442ee23eb68f69d72f13adad195989197d801f80f2cb6bba6ac4077ea7e49707b1a497133cfc849c5b4d33a + storybook: ^8.3.5 + checksum: 10c0/6a2ce804bd96827a0601b53ea1f15bec382e1099cf957a0ac3c9452da1a58702fb5cea4b76c564a78a3a4f66431eaf3d826ad400d3bd579fec94ec266f06e211 languageName: node linkType: hard -"@storybook/addon-controls@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-controls@npm:8.3.0-alpha.9" +"@storybook/addon-controls@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-controls@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" dequal: "npm:^2.0.2" lodash: "npm:^4.17.21" ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/adc9be975149efc63298119c58d09e63c8b5b725885d4d56bd1034e7724435a01fd39e4e560f24b3755f214a0268d02da25254766f4bca090a3ae4e08fa78862 + storybook: ^8.3.5 + checksum: 10c0/f0bf85a8f401649734ae63ece9b64fe77b10a290cd1e83f54d83da4ae58f5a3a9e3876497f8cb3e9ac12dd1814fe7d16cee88bd6985877422823965b20607385 languageName: node linkType: hard @@ -2095,15 +2109,15 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-docs@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-docs@npm:8.3.0-alpha.9" +"@storybook/addon-docs@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-docs@npm:8.3.5" dependencies: "@mdx-js/react": "npm:^3.0.0" - "@storybook/blocks": "npm:8.3.0-alpha.9" - "@storybook/csf-plugin": "npm:8.3.0-alpha.9" + "@storybook/blocks": "npm:8.3.5" + "@storybook/csf-plugin": "npm:8.3.5" "@storybook/global": "npm:^5.0.0" - "@storybook/react-dom-shim": "npm:8.3.0-alpha.9" + "@storybook/react-dom-shim": "npm:8.3.5" "@types/react": "npm:^16.8.0 || ^17.0.0 || ^18.0.0" fs-extra: "npm:^11.1.0" react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" @@ -2112,115 +2126,115 @@ __metadata: rehype-slug: "npm:^6.0.0" ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/16ba928013c1b309dc69541864e8e4a5a77161a62c8dd0155cf84a31dd43790b3102b79640927e8964d7553365264e49b133b7bc38034638f477889d7d310ef6 + storybook: ^8.3.5 + checksum: 10c0/51f277079397ecc0e5fef721307a618e3aa4727069dba2b331cb4de2e6e318f4de338132e1ea886c0e9ee0824a10cbc9a0887e0f09f341221a31a09111ce4836 languageName: node linkType: hard -"@storybook/addon-essentials@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-essentials@npm:8.3.0-alpha.9" +"@storybook/addon-essentials@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/addon-essentials@npm:8.3.5" dependencies: - "@storybook/addon-actions": "npm:8.3.0-alpha.9" - "@storybook/addon-backgrounds": "npm:8.3.0-alpha.9" - "@storybook/addon-controls": "npm:8.3.0-alpha.9" - "@storybook/addon-docs": "npm:8.3.0-alpha.9" - "@storybook/addon-highlight": "npm:8.3.0-alpha.9" - "@storybook/addon-measure": "npm:8.3.0-alpha.9" - "@storybook/addon-outline": "npm:8.3.0-alpha.9" - "@storybook/addon-toolbars": "npm:8.3.0-alpha.9" - "@storybook/addon-viewport": "npm:8.3.0-alpha.9" + "@storybook/addon-actions": "npm:8.3.5" + "@storybook/addon-backgrounds": "npm:8.3.5" + "@storybook/addon-controls": "npm:8.3.5" + "@storybook/addon-docs": "npm:8.3.5" + "@storybook/addon-highlight": "npm:8.3.5" + "@storybook/addon-measure": "npm:8.3.5" + "@storybook/addon-outline": "npm:8.3.5" + "@storybook/addon-toolbars": "npm:8.3.5" + "@storybook/addon-viewport": "npm:8.3.5" ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/4256dcacd49674a27ea84c5ea20ea36e48ca811e72301c3fbc0a8f3ce3db83d32931a294f572d9942a20aaacbdde61ef3fb85fb5612b6ffb7461e8977f22450b + storybook: ^8.3.5 + checksum: 10c0/dad5ec31342abafe93eefa10178278f2f3cb8f849824050cf9248ff976188fda9bdc167750a57c57f0f821a56dd46daef92e70816a62b3cba435484f263fb703 languageName: node linkType: hard -"@storybook/addon-highlight@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-highlight@npm:8.3.0-alpha.9" +"@storybook/addon-highlight@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-highlight@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/1ca389c6dc11fba44e3a6f435d55a4e10724a81f9e3a3b2348d3b532372a3b841106969400294a631b16d57cac52453d49bb72cc1ac70e38c00ca0a6e56e5be9 + storybook: ^8.3.5 + checksum: 10c0/9bd4d29d10d612aa6baf2a3c470fd571f32edd4d456e3c4eb0dfe416be7891b075f06a7f46da35274c58261db8be5e97d974edec3c11b477f1cc397b357a42ca languageName: node linkType: hard -"@storybook/addon-interactions@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-interactions@npm:8.3.0-alpha.9" +"@storybook/addon-interactions@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/addon-interactions@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" - "@storybook/instrumenter": "npm:8.3.0-alpha.9" - "@storybook/test": "npm:8.3.0-alpha.9" + "@storybook/instrumenter": "npm:8.3.5" + "@storybook/test": "npm:8.3.5" polished: "npm:^4.2.2" ts-dedent: "npm:^2.2.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/6de762adda6c6a160aac95a4c0395000766cb8a40032b9850719d56fdcb5e165fe5946e9d361798cd242d603c8124d1b7335864772620ee1b15741d3e2563eb4 + storybook: ^8.3.5 + checksum: 10c0/66aef03bdaee184911db0ddd212ef5c87f30d985d363b65085a88d19aa0304feb2753f342338f7b675463405ddfd0f6c7938ec62acdad5bbcd43af3173738932 languageName: node linkType: hard -"@storybook/addon-measure@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-measure@npm:8.3.0-alpha.9" +"@storybook/addon-measure@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-measure@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" tiny-invariant: "npm:^1.3.1" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/38d5c94a4a919a16001ee5c0ab8110620596f6b83775f3e4c8a0a358f2b3b0ecc838a824a5edb540f6b3be206bf321cf0bf9ae4bf7635e9344035a6dcbbb51e8 + storybook: ^8.3.5 + checksum: 10c0/49a8f2fac76a65fc2b4fdf6c90a4996e58cccf4a3db56a7f32a17eff2a34ebeccf7ad8042a3bd3b1e8deba1d9ba95ce95f8ee57f11a98de51ce6fc29b2a127b4 languageName: node linkType: hard -"@storybook/addon-outline@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-outline@npm:8.3.0-alpha.9" +"@storybook/addon-outline@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-outline@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/26ac7ba40906c08312e75b87fa8628248bb618a184b6d2c0ae1f8fdfe2888d6ac91307c362d5cdfbd82e5a2abd6a0bbcf8f10f98efca5aa23dbd469315f9c008 + storybook: ^8.3.5 + checksum: 10c0/d1d4d734e1770aa4af8fba2d789ad5c570ae0eb66301d8c5444a92a07428f66cde4a32e48fc1ea8627801c7d5c99ae40563554eef7f1a5ad14e4144ee74f9726 languageName: node linkType: hard -"@storybook/addon-themes@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-themes@npm:8.3.0-alpha.9" +"@storybook/addon-themes@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/addon-themes@npm:8.3.5" dependencies: ts-dedent: "npm:^2.0.0" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/5c35bc1616612124e0e4f40d8756a8a4a5936e7d6ee7bd3136f7bab4ae636700b61c9d73d8bc9dc359753bde402cb3b1e0bc79299a3f9937391b4a4785494b88 + storybook: ^8.3.5 + checksum: 10c0/f64ebbe0d6bbb2b60826a9f24aca223aef8a9c61f3b65b8ade10af6a32145838ee47987f8e467a75f31fe3690d217e83782fe2da1e1586d6e6c8436c66465038 languageName: node linkType: hard -"@storybook/addon-toolbars@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-toolbars@npm:8.3.0-alpha.9" +"@storybook/addon-toolbars@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-toolbars@npm:8.3.5" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/a92ce4213ca26732f8798322b0158cd64afdbc0e9998029f39016942b7d1e61d15f1ca268b2ad702404003caf8a47bfe5b144540fa71f732a10f1ff0813761eb + storybook: ^8.3.5 + checksum: 10c0/1e198ab1c87204f3ed69493484e94e6ad6bd4ed3c5a164ceeb0719cf2ddf96159d0fc481584c413d0bf3ff3943196ca123888ac67b0dbf967195d024387de84e languageName: node linkType: hard -"@storybook/addon-viewport@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/addon-viewport@npm:8.3.0-alpha.9" +"@storybook/addon-viewport@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/addon-viewport@npm:8.3.5" dependencies: memoizerific: "npm:^1.11.3" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/71edf04dd4b02fb9e7a8e606f5eff1aacd310c7e39c426c4054e71f73e8c3fd0cb05c1a1c5d9ae04dc16a8f3866754f39594a6c9338d1d153055ef1c23aa4ad6 + storybook: ^8.3.5 + checksum: 10c0/26e02754694d3422c19383ca330eb541394e54151e6c3d86865cbedcf49a323820b649e837e47ef94ea310c80ca47b9baa56fadee3a02db31bce5eaae6f43674 languageName: node linkType: hard -"@storybook/blocks@npm:8.3.0-alpha.9, @storybook/blocks@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/blocks@npm:8.3.0-alpha.9" +"@storybook/blocks@npm:8.3.5, @storybook/blocks@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/blocks@npm:8.3.5" dependencies: "@storybook/csf": "npm:^0.1.11" "@storybook/global": "npm:^5.0.0" @@ -2239,21 +2253,21 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.0-alpha.9 + storybook: ^8.3.5 peerDependenciesMeta: react: optional: true react-dom: optional: true - checksum: 10c0/cb106724183fc2671618bc1d2d00f37c0824b604373b738e9e33b98cb5cb90c1c3d203edb62f7ed6f2ee9c7d144572ec3ee320a49fb69e2cce19b38561af7b35 + checksum: 10c0/8b4d4b7761ff32de02c231231ef49457f96438916c9f5e2af6eebd90842a7de1f26781a768f5f2b080abd26c8da66c1fca60d304a87f530216eb01d6434e7ff9 languageName: node linkType: hard -"@storybook/builder-vite@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/builder-vite@npm:8.3.0-alpha.9" +"@storybook/builder-vite@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/builder-vite@npm:8.3.5" dependencies: - "@storybook/csf-plugin": "npm:8.3.0-alpha.9" + "@storybook/csf-plugin": "npm:8.3.5" "@types/find-cache-dir": "npm:^3.2.1" browser-assert: "npm:^1.2.1" es-module-lexer: "npm:^1.5.0" @@ -2264,7 +2278,7 @@ __metadata: ts-dedent: "npm:^2.0.0" peerDependencies: "@preact/preset-vite": "*" - storybook: ^8.3.0-alpha.9 + storybook: ^8.3.5 typescript: ">= 4.3.x" vite: ^4.0.0 || ^5.0.0 vite-plugin-glimmerx: "*" @@ -2275,16 +2289,16 @@ __metadata: optional: true vite-plugin-glimmerx: optional: true - checksum: 10c0/5d00102ad555716f75f155a60f2b869571ab0cff41a0c7e1604ef9e9123cfc289d13bbc0e67025d695f67229531c0f770ac7c78b23f49c3fbcfaa02064c22cb7 + checksum: 10c0/7f597c1f0ae252e408863b34011f9210dc4247f96c4790836efb004081d426131ff9bfa23d4b69da7479a4ec8cb81f430b9538ce62b87621747ffd389741c296 languageName: node linkType: hard -"@storybook/components@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/components@npm:8.3.0-alpha.9" +"@storybook/components@npm:^8.3.5": + version: 8.3.5 + resolution: "@storybook/components@npm:8.3.5" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/ffacc46a75c07ccf28b876cb831d0f24d7c0c9299c279f4412025f5d8ae1f8400ff4044cb8c21932356c0d23f5ca529377d14fdd76851c09fe5ac608afe98095 + storybook: ^8.3.5 + checksum: 10c0/20b3217f1a0a48ab5a40c08960d966be1fc6842dd40fc9951328d9bdc76411e3d3820865fd93895eeccec718ef8c8512f19d1fcad9bdd2cb6a792f92ca4d73ce languageName: node linkType: hard @@ -2297,32 +2311,35 @@ __metadata: languageName: node linkType: hard -"@storybook/core@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/core@npm:8.3.0-alpha.9" +"@storybook/core@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/core@npm:8.3.5" dependencies: "@storybook/csf": "npm:^0.1.11" "@types/express": "npm:^4.17.21" + better-opn: "npm:^3.0.2" browser-assert: "npm:^1.2.1" esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0" esbuild-register: "npm:^3.5.0" express: "npm:^4.19.2" + jsdoc-type-pratt-parser: "npm:^4.0.0" process: "npm:^0.11.10" recast: "npm:^0.23.5" semver: "npm:^7.6.2" + util: "npm:^0.12.5" ws: "npm:^8.2.3" - checksum: 10c0/957eb6d7f80d00891107a33ee78da3dc0bb9eb0873e2b6bd6a01bb5f51710bde16a0a4874e4e97e346e6d400ed87af48a31185ff9c09c5523b90d896a089e226 + checksum: 10c0/f01d13c2309af518f1d029d27a3dd1ce80ea7423c9d4927d1096634a84887051c3581404971499ab81e5b28acca517bf1b31a3281fe7fdb0b418f0c45767f16f languageName: node linkType: hard -"@storybook/csf-plugin@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/csf-plugin@npm:8.3.0-alpha.9" +"@storybook/csf-plugin@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/csf-plugin@npm:8.3.5" dependencies: unplugin: "npm:^1.3.1" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/92992fb58db2025229197678157a70fe7744b1b4118ac620bc87b1ef93106f72793500fca7841ab94dc36267fa91bac0bee12eb495d0226bbf47158a757ed70a + storybook: ^8.3.5 + checksum: 10c0/528af7509500afe1baf446fb8d52978c71d18df0abafd27a81ab821977cfb211bb02190f5a7d09005c4c10dac5e91ef978e35c74ee477ed7d6e45583ebc8412d languageName: node linkType: hard @@ -2344,7 +2361,7 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:^0.1.11, @storybook/csf@npm:^0.1.2": +"@storybook/csf@npm:^0.1.11": version: 0.1.11 resolution: "@storybook/csf@npm:0.1.11" dependencies: @@ -2353,28 +2370,16 @@ __metadata: languageName: node linkType: hard -"@storybook/experimental-addon-vitest@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/experimental-addon-vitest@npm:8.3.0-alpha.9" +"@storybook/experimental-addon-test@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/experimental-addon-test@npm:8.3.5" dependencies: "@storybook/csf": "npm:^0.1.11" peerDependencies: "@vitest/browser": ^2.0.0 - storybook: ^8.3.0-alpha.9 - vitest: ^2.0.0 - checksum: 10c0/44e11aefe3175a00f3d6772a6d7d03894f65adc5c801e03c120299a6b6265c4b3918c28276ec0a9c9b7ad7673a94854408b9cce8ad607060597a5fd7e8c5ba42 - languageName: node - linkType: hard - -"@storybook/experimental-vitest-plugin@npm:^0.0.4": - version: 0.0.4 - resolution: "@storybook/experimental-vitest-plugin@npm:0.0.4" - dependencies: - magic-string: "npm:^0.30.10" - typescript: "npm:^5.0.0" - peerDependencies: + storybook: ^8.3.5 vitest: ^2.0.0 - checksum: 10c0/e66b06ac0f476fa7a936a0ab03976b911639b5a15965415fd8e737c2e0cf13516045351303ac89b591a152182c121dd9ca99cf2a29d9046a412be2e7d4520011 + checksum: 10c0/c8f893d25b938eecee39427477bc8c34e1ec964c92d9148a8840151d1b7092fba8c87ff3ccfdde9de20e61f0f4f878df2a8e742c2f84e27f4e4f4955cfce1874 languageName: node linkType: hard @@ -2395,25 +2400,25 @@ __metadata: languageName: node linkType: hard -"@storybook/instrumenter@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/instrumenter@npm:8.3.0-alpha.9" +"@storybook/instrumenter@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/instrumenter@npm:8.3.5" dependencies: "@storybook/global": "npm:^5.0.0" "@vitest/utils": "npm:^2.0.5" util: "npm:^0.12.4" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/e88af9155ae48a17ad00c7678fcb95a91a6d5701b7d83634722105ed4932ff72180e872aec831adc8d712d7e3b21aff7126b72dd0431237e20e117e55afa703e + storybook: ^8.3.5 + checksum: 10c0/9dd4e9080591200aa410ae9f7c132b466173a4fc882ad78e06fdbe8d795b04cee3afc5b1385ecb3ff5b9fb314abc3da2ac1494a8bf815e1113c3e8a241c5b7b7 languageName: node linkType: hard -"@storybook/manager-api@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/manager-api@npm:8.3.0-alpha.9" +"@storybook/manager-api@npm:^8.3.0, @storybook/manager-api@npm:^8.3.5": + version: 8.3.5 + resolution: "@storybook/manager-api@npm:8.3.5" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/324eaae9f2920feb387f083abb8e8e99c1ebf3538ae226914f1f1a062838925b4cef0fdd08fdf6b04b4c403d08658fa6c849916e2257c6a2268a7a11e0463da7 + storybook: ^8.3.5 + checksum: 10c0/4983af0e3a05abec0114acfa8bfe9d5df816b91f76614eb3c37dd654a0d4fdf5379d4d0cffc1676c6681d6142acd44e81abcb7c4f6de6108c8d26158cca9820d languageName: node linkType: hard @@ -2426,34 +2431,34 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/preview-api@npm:8.3.0-alpha.9" +"@storybook/preview-api@npm:^8.3.5": + version: 8.3.5 + resolution: "@storybook/preview-api@npm:8.3.5" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/e5c803a6129fffe5f589c5e80d05e2f4208e0ee3ed5dd6f4f01b13470196a9cf4f23235361efa08c741878f56a5fb6d35b313caefa1303fb0a7903936bb99beb + storybook: ^8.3.5 + checksum: 10c0/12d81d57c0931983428b8621311de79a3846ec0f1c51ab94c5a9e7795a1e4bade74aa62de3693c488001630403c98a5372caca4be613f6f806e7265afb22e3d7 languageName: node linkType: hard -"@storybook/react-dom-shim@npm:8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/react-dom-shim@npm:8.3.0-alpha.9" +"@storybook/react-dom-shim@npm:8.3.5": + version: 8.3.5 + resolution: "@storybook/react-dom-shim@npm:8.3.5" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.0-alpha.9 - checksum: 10c0/04104124109334b9fd8595c23e7ba65693fa89a512ba0202458101edeaa9b0882fc3184f6cf0a66653681ad97ea823688fe097869b1860cf84f4128204c129b4 + storybook: ^8.3.5 + checksum: 10c0/a765dc358ae2b1775197aa540024ff8f999c4d1673e76f632b74edd62bb609c8405f4ddfd392923ee6190bf0a1506a473cf41202323d8bda77b20681dc5a1594 languageName: node linkType: hard -"@storybook/react-vite@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/react-vite@npm:8.3.0-alpha.9" +"@storybook/react-vite@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/react-vite@npm:8.3.5" dependencies: - "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.1" + "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0" "@rollup/pluginutils": "npm:^5.0.2" - "@storybook/builder-vite": "npm:8.3.0-alpha.9" - "@storybook/react": "npm:8.3.0-alpha.9" + "@storybook/builder-vite": "npm:8.3.5" + "@storybook/react": "npm:8.3.5" find-up: "npm:^5.0.0" magic-string: "npm:^0.30.0" react-docgen: "npm:^7.0.0" @@ -2462,22 +2467,22 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.0-alpha.9 + storybook: ^8.3.5 vite: ^4.0.0 || ^5.0.0 - checksum: 10c0/5278b4703e08a2cf69b7d28e59d156232e099a414133163c2fca4d9192f98d8444aa34750d10e16c5e23316628464f0541081cf86d0168a2f9edaeadd431b1ae + checksum: 10c0/a1e8969013cc74ffd353914880a533d5d64c2b912fa7b8e9528e06e2870625f7e9523647a8dfb03013e449a3eabcdefa5aa2155916dc6bb3063b66c3aa579be3 languageName: node linkType: hard -"@storybook/react@npm:8.3.0-alpha.9, @storybook/react@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/react@npm:8.3.0-alpha.9" +"@storybook/react@npm:8.3.5, @storybook/react@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/react@npm:8.3.5" dependencies: - "@storybook/components": "npm:^8.3.0-alpha.9" + "@storybook/components": "npm:^8.3.5" "@storybook/global": "npm:^5.0.0" - "@storybook/manager-api": "npm:^8.3.0-alpha.9" - "@storybook/preview-api": "npm:^8.3.0-alpha.9" - "@storybook/react-dom-shim": "npm:8.3.0-alpha.9" - "@storybook/theming": "npm:^8.3.0-alpha.9" + "@storybook/manager-api": "npm:^8.3.5" + "@storybook/preview-api": "npm:^8.3.5" + "@storybook/react-dom-shim": "npm:8.3.5" + "@storybook/theming": "npm:^8.3.5" "@types/escodegen": "npm:^0.0.6" "@types/estree": "npm:^0.0.51" "@types/node": "npm:^22.0.0" @@ -2493,20 +2498,23 @@ __metadata: type-fest: "npm:~2.19" util-deprecate: "npm:^1.0.2" peerDependencies: + "@storybook/test": 8.3.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.0-alpha.9 + storybook: ^8.3.5 typescript: ">= 4.2.x" peerDependenciesMeta: + "@storybook/test": + optional: true typescript: optional: true - checksum: 10c0/2bd2ffe6603625b81d74f37f850ccfde609fc196e35cfb52d0f72785d3743b72b4972f86fbdd107cef22207b602d98e9b3314e8b0eadbf6e2001c8692164601e + checksum: 10c0/2db9aa673be975018c9a44cc4c0c662439a85298a4d931afe63bf4e1ca6f7ab6889eddf6d64a555483af84ccc65b3d81b712c2231096124063cf5afa77fcbb6d languageName: node linkType: hard -"@storybook/test-runner@npm:^0.19.0": - version: 0.19.0 - resolution: "@storybook/test-runner@npm:0.19.0" +"@storybook/test-runner@npm:^0.19.1": + version: 0.19.1 + resolution: "@storybook/test-runner@npm:0.19.1" dependencies: "@babel/core": "npm:^7.22.5" "@babel/generator": "npm:^7.22.5" @@ -2514,7 +2522,7 @@ __metadata: "@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": "npm:^0.1.11" "@storybook/csf-tools": "npm:^8.0.0" "@storybook/preview-api": "npm:^8.0.0" "@swc/core": "npm:^1.5.22" @@ -2532,35 +2540,35 @@ __metadata: playwright: "npm:^1.14.0" bin: test-storybook: dist/test-storybook.js - checksum: 10c0/f51dd3baf7b6153fcfe8d6db7cb54409138d1496561c7833ebfe25a1b38db6bbc6e134f7a5ff540eae9bee987d9011054677ffee00c6097f720a2075d29555ca + checksum: 10c0/728a23cb7952e52433b21addc4b916fc0a6e0fb7c74ff560489e35f5fc831d73a25dcbc2812f62dfe3d3adb067d1cb16dd0a4141428b71bd080b6da46e63abfd languageName: node linkType: hard -"@storybook/test@npm:8.3.0-alpha.9, @storybook/test@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/test@npm:8.3.0-alpha.9" +"@storybook/test@npm:8.3.5, @storybook/test@npm:^8.3.0": + version: 8.3.5 + resolution: "@storybook/test@npm:8.3.5" dependencies: "@storybook/csf": "npm:^0.1.11" "@storybook/global": "npm:^5.0.0" - "@storybook/instrumenter": "npm:8.3.0-alpha.9" + "@storybook/instrumenter": "npm:8.3.5" "@testing-library/dom": "npm:10.4.0" - "@testing-library/jest-dom": "npm:6.4.8" + "@testing-library/jest-dom": "npm:6.5.0" "@testing-library/user-event": "npm:14.5.2" "@vitest/expect": "npm:2.0.5" "@vitest/spy": "npm:2.0.5" util: "npm:^0.12.4" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/bca47a91b26823b741c09984522e6bb35c74b5849dc6a7d03b0347e76512660819c33ff50faf519146132a543b82242e1bc35dad575a3778564ea2057408284d + storybook: ^8.3.5 + checksum: 10c0/1890aeab0b10d08f6b6bbaf68defaa2a0794e17e8f43ac3d92c3873d34771e198d088a2f4c0b135a299fe586407c4315cd443e270afa65d84914fcc5d63ea099 languageName: node linkType: hard -"@storybook/theming@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "@storybook/theming@npm:8.3.0-alpha.9" +"@storybook/theming@npm:^8.3.0, @storybook/theming@npm:^8.3.5": + version: 8.3.5 + resolution: "@storybook/theming@npm:8.3.5" peerDependencies: - storybook: ^8.3.0-alpha.9 - checksum: 10c0/31c4c3865047856b36c8f99025611efef9e67a0aee37e9f8f70cd44f1f241840f332d85048fb01266689c9088d641d63ef95f39b87636406c64ca40668541155 + storybook: ^8.3.5 + checksum: 10c0/25455033b2b3bdb86083f759df77df42bfff71405c6abd301963dd7596003b462a0960a86c5cec3503dc9e1eba565eeb82a897002c6823f9ee361155b9ddfd23 languageName: node linkType: hard @@ -2885,19 +2893,40 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:6.4.8": - version: 6.4.8 - resolution: "@testing-library/jest-dom@npm:6.4.8" +"@testing-library/jest-dom@npm:6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" dependencies: "@adobe/css-tools": "npm:^4.4.0" - "@babel/runtime": "npm:^7.9.2" aria-query: "npm:^5.0.0" chalk: "npm:^3.0.0" css.escape: "npm:^1.5.1" dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10c0/8eececcac1ec7728c038b9d9eabfc8b8dcf4dc1e997c959450bff16d946e3344275862b84bfe0e1d1beb3817368e782464816aca47ab5c94f0ebf66db71df55d + checksum: 10c0/fd5936a547f04608d8de15a7de3ae26516f21023f8f45169b10c8c8847015fd20ec259b7309f08aa1031bcbc37c6e5e6f532d1bb85ef8f91bad654193ec66a4c + languageName: node + linkType: hard + +"@testing-library/react-hooks@npm:^8.0.1": + version: 8.0.1 + resolution: "@testing-library/react-hooks@npm:8.0.1" + dependencies: + "@babel/runtime": "npm:^7.12.5" + react-error-boundary: "npm:^3.1.0" + peerDependencies: + "@types/react": ^16.9.0 || ^17.0.0 + react: ^16.9.0 || ^17.0.0 + react-dom: ^16.9.0 || ^17.0.0 + react-test-renderer: ^16.9.0 || ^17.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + react-dom: + optional: true + react-test-renderer: + optional: true + checksum: 10c0/83bef2d4c437b84143213b5275ef00ef14e5bcd344f9ded12b162d253dc3c799138ead4428026b9c725e5a38dbebf611f2898aa43f3e43432bcaccbd7bf413e5 languageName: node linkType: hard @@ -3697,20 +3726,22 @@ __metadata: languageName: node linkType: hard -"@vitest/browser@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/browser@npm:2.0.5" +"@vitest/browser@npm:^2.1.2": + version: 2.1.2 + resolution: "@vitest/browser@npm:2.1.2" dependencies: "@testing-library/dom": "npm:^10.4.0" "@testing-library/user-event": "npm:^14.5.2" - "@vitest/utils": "npm:2.0.5" - magic-string: "npm:^0.30.10" - msw: "npm:^2.3.2" + "@vitest/mocker": "npm:2.1.2" + "@vitest/utils": "npm:2.1.2" + magic-string: "npm:^0.30.11" + msw: "npm:^2.3.5" sirv: "npm:^2.0.4" + tinyrainbow: "npm:^1.2.0" ws: "npm:^8.18.0" peerDependencies: playwright: "*" - vitest: 2.0.5 + vitest: 2.1.2 webdriverio: "*" peerDependenciesMeta: playwright: @@ -3719,27 +3750,33 @@ __metadata: optional: true webdriverio: optional: true - checksum: 10c0/a2b0e6ddb16f679c72c79c8093164a27683f7658a9a05882f0d00f90923071f16e1176211d1851539d49d5011199da5f926410c251e4b4f06828355d2ca30c92 + checksum: 10c0/008604ad1520715da8fa8f6c83abe16bd4a73961ed5a84fb4b7ec6f060fa398eae2f87fcf5e9a0176097d2713277f5161a5f946da665d2698bd04cb25a78ae31 languageName: node linkType: hard -"@vitest/coverage-istanbul@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/coverage-istanbul@npm:2.0.5" +"@vitest/coverage-v8@npm:^2.1.2": + version: 2.1.2 + resolution: "@vitest/coverage-v8@npm:2.1.2" dependencies: - "@istanbuljs/schema": "npm:^0.1.3" - debug: "npm:^4.3.5" + "@ampproject/remapping": "npm:^2.3.0" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.6" istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-instrument: "npm:^6.0.3" istanbul-lib-report: "npm:^3.0.1" istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.1.7" + magic-string: "npm:^0.30.11" magicast: "npm:^0.3.4" + std-env: "npm:^3.7.0" test-exclude: "npm:^7.0.1" tinyrainbow: "npm:^1.2.0" peerDependencies: - vitest: 2.0.5 - checksum: 10c0/f19744e848f06f2ce3a6364caa3ffe701d571ff89c8de31ad753c2d48d46e24eab8d8670548997839c77ec41ebe69011b92df74ef196c070964fde9eaef1b1eb + "@vitest/browser": 2.1.2 + vitest: 2.1.2 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10c0/46fbe7f9f9c6b40a6477286d0296733578a3801c8ffe972cb16878eefd5fb13a5b87b66597c280e3f5d50084649b27d8a1024b97b56dbdfcc73770dc2758bdef languageName: node linkType: hard @@ -3755,7 +3792,39 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.5": +"@vitest/expect@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/expect@npm:2.1.2" + dependencies: + "@vitest/spy": "npm:2.1.2" + "@vitest/utils": "npm:2.1.2" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/57233a60685f81ff5cb615156ac164608488c584cb62d7cc63d7ac28674e4c954133d4bb0948e88241c0f07d31803c0d1efd88562c4cac8e1bc5a2b24367ec0f + languageName: node + linkType: hard + +"@vitest/mocker@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/mocker@npm:2.1.2" + dependencies: + "@vitest/spy": "npm:^2.1.0-beta.1" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.2 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/24824666d3045bdbbff77481b033d58fd07db6247846c6090cae44b75080e691f743f850300f27f9b0a790c9e3c918848a400cf7c024c9633084c1ad6311d201 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.0.5": version: 2.0.5 resolution: "@vitest/pretty-format@npm:2.0.5" dependencies: @@ -3764,24 +3833,33 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" +"@vitest/pretty-format@npm:2.1.2, @vitest/pretty-format@npm:^2.1.2": + version: 2.1.2 + resolution: "@vitest/pretty-format@npm:2.1.2" dependencies: - "@vitest/utils": "npm:2.0.5" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/e2c35dc424450f46794ff420b050e2ce77b3f3d2bdf2509c1adf51d327eeb5cc4ea42fc44919d63b3afdbfcc6da7d7e82962193d0a543c81e0f35ccdfc808835 + languageName: node + linkType: hard + +"@vitest/runner@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/runner@npm:2.1.2" + dependencies: + "@vitest/utils": "npm:2.1.2" pathe: "npm:^1.1.2" - checksum: 10c0/d0ed3302a7e015bf44b7c0df9d8f7da163659e082d86f9406944b5a31a61ab9ddc1de530e06176d1f4ef0bde994b44bff4c7dab62aacdc235c8fc04b98e4a72a + checksum: 10c0/c6008703ef7b9033b219690a84003c9c078e9de7ace63cefe7c9cd455667d5081c328645e3a538e23fcc221170901d1d1bb0430c4402391d74f8ffab8db62f81 languageName: node linkType: hard -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" +"@vitest/snapshot@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/snapshot@npm:2.1.2" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" + "@vitest/pretty-format": "npm:2.1.2" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" - checksum: 10c0/7bf38474248f5ae0aac6afad511785d2b7a023ac5158803c2868fd172b5b9c1a569fb1dd64a09a49e43fd342cab71ea485ada89b7f08d37b1622a5a0ac00271d + checksum: 10c0/a05805e9eb9d460830d9f30fbdd488fee4e8bb87dc55e71f5c3541fcd4ef4d333f5c020fd26e8554771157e4e8037d164a63ab5ac0046f7640aca0b8b3fbc837 languageName: node linkType: hard @@ -3794,6 +3872,15 @@ __metadata: languageName: node linkType: hard +"@vitest/spy@npm:2.1.2, @vitest/spy@npm:^2.1.0-beta.1": + version: 2.1.2 + resolution: "@vitest/spy@npm:2.1.2" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10c0/28781abb8c33274bfcf7ab85d4ce47f1583b0a11575fecbdce7b88dac5df5de62c5e11b0b55043e610c0712258b66aee2a8ff2f55068352c61b4a5d2aa9d50ca + languageName: node + linkType: hard + "@vitest/utils@npm:2.0.5, @vitest/utils@npm:^2.0.5": version: 2.0.5 resolution: "@vitest/utils@npm:2.0.5" @@ -3806,6 +3893,17 @@ __metadata: languageName: node linkType: hard +"@vitest/utils@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/utils@npm:2.1.2" + dependencies: + "@vitest/pretty-format": "npm:2.1.2" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/ab1fac69f34c32eb229c4e5f14bec37f16211a77ba16b0e178678d5a67fd74a209c365df0cf7d27bfd6fd2572d563a6b28269d13f958dc083175a6ae2c269085 + languageName: node + linkType: hard + "abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -4403,6 +4501,15 @@ __metadata: languageName: node linkType: hard +"better-opn@npm:^3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" + dependencies: + open: "npm:^8.0.4" + checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -4800,7 +4907,26 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.3.0, chromatic@npm:^11.4.0": +"chromatic@npm:^11.12.5": + version: 11.12.5 + resolution: "chromatic@npm:11.12.5" + peerDependencies: + "@chromatic-com/cypress": ^0.*.* || ^1.0.0 + "@chromatic-com/playwright": ^0.*.* || ^1.0.0 + peerDependenciesMeta: + "@chromatic-com/cypress": + optional: true + "@chromatic-com/playwright": + optional: true + bin: + chroma: dist/bin.js + chromatic: dist/bin.js + chromatic-cli: dist/bin.js + checksum: 10c0/4a083e4b12ebd0e1f04f944fef66c8345d0895e4c42e253cc4726328b13207553d860fbd5955804fbea806ae06a58d88f8ef845e6c90ce8ce2bc62f5660a3c8e + languageName: node + linkType: hard + +"chromatic@npm:^11.4.0": version: 11.5.5 resolution: "chromatic@npm:11.5.5" peerDependencies: @@ -5148,26 +5274,26 @@ __metadata: resolution: "course-app@workspace:." dependencies: "@babel/core": "npm:^7.14.6" - "@chromatic-com/storybook": "npm:1.6.2--canary.df0b83c.0" - "@ladle/react": "npm:^4.0.3" + "@chromatic-com/storybook": "npm:^2.0.2" + "@ladle/react": "npm:^4.1.2" "@reduxjs/toolkit": "npm:^2.2.3" - "@storybook/addon-a11y": "npm:^8.3.0-alpha.9" + "@storybook/addon-a11y": "npm:^8.3.0" "@storybook/addon-coverage": "npm:^1.0.4" "@storybook/addon-designs": "npm:^8.0.3" - "@storybook/addon-essentials": "npm:^8.3.0-alpha.9" - "@storybook/addon-interactions": "npm:^8.3.0-alpha.9" - "@storybook/addon-themes": "npm:^8.3.0-alpha.9" - "@storybook/blocks": "npm:^8.3.0-alpha.9" - "@storybook/experimental-addon-vitest": "npm:^8.3.0-alpha.9" - "@storybook/experimental-vitest-plugin": "npm:^0.0.4" - "@storybook/manager-api": "npm:^8.3.0-alpha.9" - "@storybook/react": "npm:^8.3.0-alpha.9" - "@storybook/react-vite": "npm:^8.3.0-alpha.9" - "@storybook/test": "npm:^8.3.0-alpha.9" - "@storybook/test-runner": "npm:^0.19.0" - "@storybook/theming": "npm:^8.3.0-alpha.9" + "@storybook/addon-essentials": "npm:^8.3.0" + "@storybook/addon-interactions": "npm:^8.3.0" + "@storybook/addon-themes": "npm:^8.3.0" + "@storybook/blocks": "npm:^8.3.0" + "@storybook/experimental-addon-test": "npm:^8.3.0" + "@storybook/manager-api": "npm:^8.3.0" + "@storybook/react": "npm:^8.3.0" + "@storybook/react-vite": "npm:^8.3.0" + "@storybook/test": "npm:^8.3.0" + "@storybook/test-runner": "npm:^0.19.1" + "@storybook/theming": "npm:^8.3.0" "@testing-library/jest-dom": "npm:^6.4.6" "@testing-library/react": "npm:^16.0.0" + "@testing-library/react-hooks": "npm:^8.0.1" "@testing-library/user-event": "npm:^14.5.2" "@types/node": "npm:^20.12.7" "@types/react": "npm:^18.3.1" @@ -5180,14 +5306,14 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.8.0" "@typescript-eslint/parser": "npm:^7.8.0" "@vitejs/plugin-react": "npm:^4.2.1" - "@vitest/browser": "npm:^2.0.5" - "@vitest/coverage-istanbul": "npm:^2.0.5" + "@vitest/browser": "npm:^2.1.2" + "@vitest/coverage-v8": "npm:^2.1.2" axios: "npm:^1.6.8" babel-loader: "npm:8.1.0" babel-plugin-istanbul: "npm:^6.1.1" babel-plugin-open-source: "npm:^1.3.3" c8: "npm:^7.12.0" - chromatic: "npm:^11.3.0" + chromatic: "npm:^11.12.5" concurrently: "npm:^8.2.2" eslint: "npm:^8.27.0" eslint-config-airbnb-typescript: "npm:^18.0.0" @@ -5218,14 +5344,14 @@ __metadata: react-router-dom: "npm:^6.23.0" react-test-renderer: "npm:^18.3.1" react-transition-group: "npm:^4.4.5" - storybook: "npm:^8.3.0-alpha.9" + storybook: "npm:^8.3.0" styled-components: "npm:^5.3.3" typescript: "npm:^5.4.5" use-dark-mode: "npm:^2.3.1" vite: "npm:^4.0.0" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^4.3.2" - vitest: "npm:^2.0.5" + vitest: "npm:^2.1.2" vitest-axe: "npm:^0.1.0" vitest-canvas-mock: "npm:^0.3.3" wait-on: "npm:^7.2.0" @@ -5374,7 +5500,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:~4.3.4": version: 4.3.5 resolution: "debug@npm:4.3.5" dependencies: @@ -5395,6 +5521,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -5521,6 +5659,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + "define-lazy-prop@npm:^3.0.0": version: 3.0.0 resolution: "define-lazy-prop@npm:3.0.0" @@ -6776,7 +6921,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1, execa@npm:~8.0.1": +"execa@npm:~8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" dependencies: @@ -8290,6 +8435,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + "is-docker@npm:^3.0.0": version: 3.0.0 resolution: "is-docker@npm:3.0.0" @@ -8569,6 +8723,15 @@ __metadata: languageName: node linkType: hard +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + "is-wsl@npm:^3.1.0": version: 3.1.0 resolution: "is-wsl@npm:3.1.0" @@ -8640,7 +8803,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^6.0.0, istanbul-lib-instrument@npm:^6.0.1, istanbul-lib-instrument@npm:^6.0.3": +"istanbul-lib-instrument@npm:^6.0.0, istanbul-lib-instrument@npm:^6.0.1": version: 6.0.3 resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: @@ -9334,6 +9497,13 @@ __metadata: languageName: node linkType: hard +"jsdoc-type-pratt-parser@npm:^4.0.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: 10c0/7700372d2e733a32f7ea0a1df9cec6752321a5345c11a91b2ab478a031a426e934f16d5c1f15c8566c7b2c10af9f27892a29c2c789039f595470e929a4aa60ea + languageName: node + linkType: hard + "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -9793,7 +9963,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.0, magic-string@npm:^0.30.10": +"magic-string@npm:^0.30.0": version: 0.30.10 resolution: "magic-string@npm:0.30.10" dependencies: @@ -9802,6 +9972,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.11": + version: 0.30.11 + resolution: "magic-string@npm:0.30.11" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/b9eb370773d0bd90ca11a848753409d8e5309b1ad56d2a1aa49d6649da710a6d2fe7237ad1a643c5a5d3800de2b9946ed9690acdfc00e6cc1aeafff3ab1752c4 + languageName: node + linkType: hard + "magicast@npm:^0.3.4": version: 0.3.4 resolution: "magicast@npm:0.3.4" @@ -10828,7 +11007,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -10878,15 +11057,15 @@ __metadata: languageName: node linkType: hard -"msw@npm:^2.3.2": - version: 2.3.4 - resolution: "msw@npm:2.3.4" +"msw@npm:^2.3.5": + version: 2.4.9 + resolution: "msw@npm:2.4.9" dependencies: "@bundled-es-modules/cookie": "npm:^2.0.0" "@bundled-es-modules/statuses": "npm:^1.0.1" "@bundled-es-modules/tough-cookie": "npm:^0.1.6" "@inquirer/confirm": "npm:^3.0.0" - "@mswjs/interceptors": "npm:^0.29.0" + "@mswjs/interceptors": "npm:^0.35.8" "@open-draft/until": "npm:^2.1.0" "@types/cookie": "npm:^0.6.0" "@types/statuses": "npm:^2.0.4" @@ -10895,18 +11074,18 @@ __metadata: headers-polyfill: "npm:^4.0.2" is-node-process: "npm:^1.2.0" outvariant: "npm:^1.4.2" - path-to-regexp: "npm:^6.2.0" + path-to-regexp: "npm:^6.3.0" strict-event-emitter: "npm:^0.5.1" type-fest: "npm:^4.9.0" yargs: "npm:^17.7.2" peerDependencies: - typescript: ">= 4.7.x" + typescript: ">= 4.8.x" peerDependenciesMeta: typescript: optional: true bin: msw: cli/index.js - checksum: 10c0/e9a5a1de80f1688c1dd5c4de86c0192891568912d0f98500b552ecfe233d80559941d2bd563b3f7a792919a8a5fd380e222461f4b2a331ab1ab65fcb5fe30a97 + checksum: 10c0/2ba476d49807161514b1551ef2e121b9540941d3cff7be6ef83183df4f4509a27ae6db7258d2fc75c4b171c5963ecb489a8f49e57f062d2a4cb57b98d636c759 languageName: node linkType: hard @@ -11254,6 +11433,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.0.4": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + "optionator@npm:^0.8.1": version: 0.8.3 resolution: "optionator@npm:0.8.3" @@ -11289,7 +11479,7 @@ __metadata: languageName: node linkType: hard -"outvariant@npm:^1.2.1, outvariant@npm:^1.4.0, outvariant@npm:^1.4.2": +"outvariant@npm:^1.2.1, outvariant@npm:^1.4.0, outvariant@npm:^1.4.2, outvariant@npm:^1.4.3": version: 1.4.3 resolution: "outvariant@npm:1.4.3" checksum: 10c0/5976ca7740349cb8c71bd3382e2a762b1aeca6f33dc984d9d896acdf3c61f78c3afcf1bfe9cc633a7b3c4b295ec94d292048f83ea2b2594fae4496656eba992c @@ -11511,6 +11701,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^6.3.0": + version: 6.3.0 + resolution: "path-to-regexp@npm:6.3.0" + checksum: 10c0/73b67f4638b41cde56254e6354e46ae3a2ebc08279583f6af3d96fe4664fc75788f74ed0d18ca44fa4a98491b69434f9eee73b97bb5314bd1b5adb700f5c18d6 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -11997,6 +12194,17 @@ __metadata: languageName: node linkType: hard +"react-error-boundary@npm:^3.1.0": + version: 3.1.4 + resolution: "react-error-boundary@npm:3.1.4" + dependencies: + "@babel/runtime": "npm:^7.12.5" + peerDependencies: + react: ">=16.13.1" + checksum: 10c0/f977ca61823e43de2381d53dd7aa8b4d79ff6a984c9afdc88dc44f9973b99de7fd382d2f0f91f2688e24bb987c0185bf45d0b004f22afaaab0f990a830253bfb + languageName: node + linkType: hard + "react-hooks-helper@npm:^1.6.0": version: 1.6.0 resolution: "react-hooks-helper@npm:1.6.0" @@ -13162,16 +13370,16 @@ __metadata: languageName: node linkType: hard -"storybook@npm:^8.3.0-alpha.9": - version: 8.3.0-alpha.9 - resolution: "storybook@npm:8.3.0-alpha.9" +"storybook@npm:^8.3.0": + version: 8.3.5 + resolution: "storybook@npm:8.3.5" dependencies: - "@storybook/core": "npm:8.3.0-alpha.9" + "@storybook/core": "npm:8.3.5" bin: getstorybook: ./bin/index.cjs sb: ./bin/index.cjs storybook: ./bin/index.cjs - checksum: 10c0/49380c2e37086c593042ca122ad03a9a6323642c149ded2081636114c933b13289c6717f6585d2e4f6551129fa01f16b93247dd4d6e2af561c8ebd0df0b54540 + checksum: 10c0/8f8ffe54c5dad8bad9d8701f63f4670cf3f388acd0e21e5bedeb86ebd2af5adf905024b6b9a2c46cf1199a0c1c86a97fddfa1fc70546149e18263b3b47c80585 languageName: node linkType: hard @@ -13555,10 +13763,17 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.8.0": - version: 2.8.0 - resolution: "tinybench@npm:2.8.0" - checksum: 10c0/5a9a642351fa3e4955e0cbf38f5674be5f3ba6730fd872fd23a5c953ad6c914234d5aba6ea41ef88820180a81829ceece5bd8d3967c490c5171bca1141c2f24d +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.0": + version: 0.3.0 + resolution: "tinyexec@npm:0.3.0" + checksum: 10c0/138a4f4241aea6b6312559508468ab275a31955e66e2f57ed206e0aaabecee622624f208c5740345f0a66e33478fd065e359ed1eb1269eb6fd4fa25d44d0ba3b languageName: node linkType: hard @@ -13878,16 +14093,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.0.0": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c - languageName: node - linkType: hard - "typescript@npm:^5.4.5": version: 5.5.3 resolution: "typescript@npm:5.5.3" @@ -13898,16 +14103,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.0.0#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=b45daf" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/10dd9881baba22763de859e8050d6cb6e2db854197495c6f1929b08d1eb2b2b00d0b5d9b0bcee8472f1c3f4a7ef6a5d7ebe0cfd703f853aa5ae465b8404bc1ba - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A^5.4.5#optional!builtin": version: 5.5.3 resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin::version=5.5.3&hash=b45daf" @@ -14165,7 +14360,7 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.4": +"util@npm:^0.12.4, util@npm:^0.12.5": version: 0.12.5 resolution: "util@npm:0.12.5" dependencies: @@ -14252,18 +14447,17 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" +"vite-node@npm:2.1.2": + version: 2.1.2 + resolution: "vite-node@npm:2.1.2" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10c0/affcc58ae8d45bce3e8bc3b5767acd57c24441634e2cd967cf97f4e5ed2bcead1714b60150cdf7ee153ebad47659c5cd419883207e1a95b69790331e3243749f + checksum: 10c0/7bef84ee757373cc3d171aba51299389e31cb39265df7beef3bb4b70edf1f99425577cd70b9048d357653a0247e8c20f2aa62579d57b2cfc8d74cd6945828b7f languageName: node linkType: hard @@ -14415,34 +14609,34 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^2.0.5": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" +"vitest@npm:^2.1.2": + version: 2.1.2 + resolution: "vitest@npm:2.1.2" + dependencies: + "@vitest/expect": "npm:2.1.2" + "@vitest/mocker": "npm:2.1.2" + "@vitest/pretty-format": "npm:^2.1.2" + "@vitest/runner": "npm:2.1.2" + "@vitest/snapshot": "npm:2.1.2" + "@vitest/spy": "npm:2.1.2" + "@vitest/utils": "npm:2.1.2" chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" + vite-node: "npm:2.1.2" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 + "@vitest/browser": 2.1.2 + "@vitest/ui": 2.1.2 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -14460,7 +14654,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10c0/b4e6cca00816bf967a8589111ded72faa12f92f94ccdd0dcd0698ffcfdfc52ec662753f66b387549c600ac699b993fd952efbd99dc57fcf4d1c69a2f1022b259 + checksum: 10c0/79301678bb0207f4bfb16e155e1744ed0b9866c4e1913bb43a3821c01fcda033b7263dac8da87946f90dff6f8f1578a4f94f860409edf0332c3dbfa3a8202803 languageName: node linkType: hard