From 4f0f69cc179e463c4ae866c050a21ce6e2b1b123 Mon Sep 17 00:00:00 2001 From: Alec Chernicki Date: Wed, 28 Feb 2024 13:33:25 -0500 Subject: [PATCH] Update graph with @xyflow/react (#332) --- .changeset/fuzzy-cups-fail.md | 28 + .vscode/settings.json | 3 +- apps/commonality/package.json | 38 +- apps/commonality/src/cli/commands/studio.ts | 4 +- apps/studio/e2e/smoke.spec.ts | 10 +- apps/studio/next.config.js | 63 +- apps/studio/package.json | 76 +- apps/studio/sentry.client.config.ts | 2 + apps/studio/sentry.edge.config.ts | 2 + apps/studio/sentry.server.config.ts | 2 + apps/studio/src/actions/editor.ts | 10 +- apps/studio/src/actions/graph-actions.ts | 15 + .../studio/src/app/(graph)/@chart/loading.tsx | 7 - apps/studio/src/app/(graph)/@chart/page.tsx | 25 - .../src/app/(graph)/@chart/studio-chart.tsx | 42 - apps/studio/src/app/(graph)/@chart/worker.ts | 3 - .../src/app/(graph)/@sidebar/loading.tsx | 7 - apps/studio/src/app/(graph)/@sidebar/page.tsx | 43 - .../app/(graph)/@sidebar/studio-sidebar.tsx | 17 - apps/studio/src/app/(graph)/layout.tsx | 30 - apps/studio/src/app/(graph)/page.tsx | 17 - .../src/app/(graph)/studio-graph-header.tsx | 13 - apps/studio/src/app/[...catchall]/page.ts | 2 +- apps/studio/src/app/global-error.tsx | 24 - apps/studio/src/app/globals.css | 18 + apps/studio/src/app/graph/graph-hooks.ts | 69 + apps/studio/src/app/graph/layout.tsx | 13 + apps/studio/src/app/graph/page.tsx | 238 + apps/studio/src/app/graph/providers.tsx | 12 + apps/studio/src/app/graph/studio-chart.tsx | 179 + .../src/app/graph/studio-control-bar.tsx | 38 + .../src/app/graph/studio-graph-empty.tsx | 23 + .../src/app/graph/studio-graph-header.tsx | 11 + .../studio-graph-overlays.tsx | 10 - .../src/app/graph/studio-package-toolbar.tsx | 50 + apps/studio/src/app/graph/studio-sidebar.tsx | 118 + apps/studio/src/app/last-update-time.tsx | 2 +- apps/studio/src/app/layout.tsx | 1 + .../get-table-data.test.ts | 0 .../checks => packages}/get-table-data.ts | 0 .../{(packages)/checks => packages}/page.tsx | 3 +- .../studio-package-table-filters.tsx | 0 .../studio-packages-table-paginator.tsx | 0 .../studio-packages-table.test.tsx | 2 +- .../studio-packages-table.tsx | 1 - apps/studio/src/app/studio-navigation.tsx | 12 +- apps/studio/src/atoms/graph.ts | 10 + apps/studio/src/data/codeowners.ts | 1 - apps/studio/src/data/conformance.ts | 3 +- apps/studio/src/data/dependencies.ts | 1 - apps/studio/src/data/packages.ts | 1 - apps/studio/src/data/project.ts | 1 - apps/studio/src/data/tags.ts | 1 - apps/studio/tailwind.config.cjs | 5 +- apps/workshop/package.json | 48 +- .../constraints-dialog.stories.tsx | 77 + .../dependency-constraints-dialog.stories.tsx | 107 - .../feature-graph-toolbar.stories.tsx | 107 - .../constraints/feature-graph-worker.ts | 3 - .../tooltip-dependency.stories.tsx | 88 - .../constraints/tooltip-package.stories.tsx | 59 - .../graph.stories.tsx} | 110 +- apps/workshop/tailwind.config.js | 3 +- package.json | 12 +- .../package.json | 10 +- packages/data-codeowners/package.json | 10 +- packages/data-constraints/package.json | 2 +- packages/data-packages/package.json | 16 +- packages/data-packages/src/get-package.ts | 5 +- packages/data-project/package.json | 10 +- packages/data-tags/package.json | 8 +- packages/types/package.json | 2 +- packages/ui-conformance/package.json | 12 +- .../ui-conformance/src/conformance-header.tsx | 2 +- packages/ui-constraints/package.json | 16 +- .../ui-constraints/src/constraints-dialog.tsx | 175 + .../src/constraints-onboarding-card.tsx | 8 +- .../dependency-constraints-dialog.test.tsx | 74 - .../src/dependency-constraints-dialog.tsx | 119 - .../feature-dependency-constraints-dialog.tsx | 39 - .../src/feature-graph-chart.tsx | 127 - .../src/feature-graph-header.tsx | 34 - .../src/feature-graph-package-tooltip.tsx | 72 - .../src/feature-graph-sidebar.tsx | 143 - .../src/feature-graph-toolbar.tsx | 17 - packages/ui-constraints/src/graph-header.tsx | 15 +- packages/ui-constraints/src/graph-layout.tsx | 15 +- packages/ui-constraints/src/graph-tooltip.tsx | 139 - packages/ui-constraints/src/index.ts | 12 +- packages/ui-constraints/src/sidebar.tsx | 82 +- .../ui-constraints/src/tooltip-dependency.tsx | 89 - .../ui-constraints/src/tooltip-package.tsx | 156 - packages/ui-constraints/tailwind.config.js | 7 + packages/ui-core/package.json | 8 +- packages/ui-design-system/package.json | 27 +- packages/ui-design-system/src/index.ts | 1 + .../ui-design-system/src/toggle-group.tsx | 61 + packages/ui-design-system/src/tooltip.tsx | 2 +- packages/ui-graph/commonality.json | 2 +- packages/ui-graph/package.json | 37 +- packages/ui-graph/src/actions.test.ts | 382 -- packages/ui-graph/src/actions.ts | 208 - .../ui-graph/src/bind-render-graph-events.ts | 103 - packages/ui-graph/src/create-render-graph.ts | 44 - .../ui-graph/src/create-traversal-graph.ts | 13 - packages/ui-graph/src/create-worker.ts | 33 - packages/ui-graph/src/dependency-dialog.tsx | 90 + ...element-definitions-with-updated-layout.ts | 28 - .../ui-graph/src/get-element-definitions.ts | 92 - .../ui-graph/src/get-elements-with-layout.ts | 58 + packages/ui-graph/src/graph-control-bar.tsx | 258 + packages/ui-graph/src/graph-empty.tsx | 24 + packages/ui-graph/src/graph-loading.tsx | 14 + packages/ui-graph/src/graph-machine.ts | 570 -- .../ui-graph/src/graph-machine.typegen.ts | 124 - packages/ui-graph/src/graph-provider.tsx | 24 - packages/ui-graph/src/graph.tsx | 209 + packages/ui-graph/src/index.ts | 33 +- packages/ui-graph/src/layout-options.ts | 10 - packages/ui-graph/src/package-node.tsx | 70 + .../ui-graph/src/package/dependency-edge.tsx | 112 + packages/ui-graph/src/package/get-edges.ts | 55 + packages/ui-graph/src/package/get-nodes.ts | 50 + .../ui-graph/src/package/package-toolbar.tsx | 97 + packages/ui-graph/src/package/zero-state.tsx | 18 + packages/ui-graph/src/styles/edge.ts | 97 - packages/ui-graph/src/styles/node.ts | 79 - packages/ui-graph/src/types.ts | 6 + .../ui-graph/src/update-graph-elements.ts | 81 - packages/ui-graph/src/use-interactions.ts | 72 + packages/ui-graph/src/utils.ts | 40 + packages/ui-package/package.json | 16 +- packages/utils-conformance/package.json | 12 +- packages/utils-core/package.json | 8 +- packages/utils-file/package.json | 10 +- packages/utils-onboarding/package.json | 12 +- packages/utils-package/package.json | 4 +- pnpm-lock.yaml | 5975 +++++++++-------- tooling/config-eslint/package.json | 6 +- tooling/config-tailwind/globals.css | 2 +- tooling/config-tailwind/package.json | 4 +- tooling/config-tsconfig/package.json | 2 +- 142 files changed, 5884 insertions(+), 6735 deletions(-) create mode 100644 .changeset/fuzzy-cups-fail.md create mode 100644 apps/studio/src/actions/graph-actions.ts delete mode 100644 apps/studio/src/app/(graph)/@chart/loading.tsx delete mode 100644 apps/studio/src/app/(graph)/@chart/page.tsx delete mode 100644 apps/studio/src/app/(graph)/@chart/studio-chart.tsx delete mode 100644 apps/studio/src/app/(graph)/@chart/worker.ts delete mode 100644 apps/studio/src/app/(graph)/@sidebar/loading.tsx delete mode 100644 apps/studio/src/app/(graph)/@sidebar/page.tsx delete mode 100644 apps/studio/src/app/(graph)/@sidebar/studio-sidebar.tsx delete mode 100644 apps/studio/src/app/(graph)/layout.tsx delete mode 100644 apps/studio/src/app/(graph)/page.tsx delete mode 100644 apps/studio/src/app/(graph)/studio-graph-header.tsx delete mode 100644 apps/studio/src/app/global-error.tsx create mode 100644 apps/studio/src/app/graph/graph-hooks.ts create mode 100644 apps/studio/src/app/graph/layout.tsx create mode 100644 apps/studio/src/app/graph/page.tsx create mode 100644 apps/studio/src/app/graph/providers.tsx create mode 100644 apps/studio/src/app/graph/studio-chart.tsx create mode 100644 apps/studio/src/app/graph/studio-control-bar.tsx create mode 100644 apps/studio/src/app/graph/studio-graph-empty.tsx create mode 100644 apps/studio/src/app/graph/studio-graph-header.tsx rename apps/studio/src/app/{(graph) => graph}/studio-graph-overlays.tsx (75%) create mode 100644 apps/studio/src/app/graph/studio-package-toolbar.tsx create mode 100644 apps/studio/src/app/graph/studio-sidebar.tsx rename apps/studio/src/app/{(packages)/checks => packages}/get-table-data.test.ts (100%) rename apps/studio/src/app/{(packages)/checks => packages}/get-table-data.ts (100%) rename apps/studio/src/app/{(packages)/checks => packages}/page.tsx (98%) rename apps/studio/src/app/{(packages)/checks => packages}/studio-package-table-filters.tsx (100%) rename apps/studio/src/app/{(packages)/checks => packages}/studio-packages-table-paginator.tsx (100%) rename apps/studio/src/app/{(packages)/checks => packages}/studio-packages-table.test.tsx (98%) rename apps/studio/src/app/{(packages)/checks => packages}/studio-packages-table.tsx (99%) create mode 100644 apps/studio/src/atoms/graph.ts create mode 100644 apps/workshop/src/stories/constraints/constraints-dialog.stories.tsx delete mode 100644 apps/workshop/src/stories/constraints/dependency-constraints-dialog.stories.tsx delete mode 100644 apps/workshop/src/stories/constraints/feature-graph-toolbar.stories.tsx delete mode 100644 apps/workshop/src/stories/constraints/feature-graph-worker.ts delete mode 100644 apps/workshop/src/stories/constraints/tooltip-dependency.stories.tsx delete mode 100644 apps/workshop/src/stories/constraints/tooltip-package.stories.tsx rename apps/workshop/src/stories/{constraints/feature-graph.stories.tsx => graph/graph.stories.tsx} (51%) create mode 100644 packages/ui-constraints/src/constraints-dialog.tsx delete mode 100644 packages/ui-constraints/src/dependency-constraints-dialog.test.tsx delete mode 100644 packages/ui-constraints/src/dependency-constraints-dialog.tsx delete mode 100644 packages/ui-constraints/src/feature-dependency-constraints-dialog.tsx delete mode 100644 packages/ui-constraints/src/feature-graph-chart.tsx delete mode 100644 packages/ui-constraints/src/feature-graph-header.tsx delete mode 100644 packages/ui-constraints/src/feature-graph-package-tooltip.tsx delete mode 100644 packages/ui-constraints/src/feature-graph-sidebar.tsx delete mode 100644 packages/ui-constraints/src/feature-graph-toolbar.tsx delete mode 100644 packages/ui-constraints/src/graph-tooltip.tsx delete mode 100644 packages/ui-constraints/src/tooltip-dependency.tsx delete mode 100644 packages/ui-constraints/src/tooltip-package.tsx create mode 100644 packages/ui-constraints/tailwind.config.js create mode 100644 packages/ui-design-system/src/toggle-group.tsx delete mode 100644 packages/ui-graph/src/actions.test.ts delete mode 100644 packages/ui-graph/src/actions.ts delete mode 100644 packages/ui-graph/src/bind-render-graph-events.ts delete mode 100644 packages/ui-graph/src/create-render-graph.ts delete mode 100644 packages/ui-graph/src/create-traversal-graph.ts delete mode 100644 packages/ui-graph/src/create-worker.ts create mode 100644 packages/ui-graph/src/dependency-dialog.tsx delete mode 100644 packages/ui-graph/src/get-element-definitions-with-updated-layout.ts delete mode 100644 packages/ui-graph/src/get-element-definitions.ts create mode 100644 packages/ui-graph/src/get-elements-with-layout.ts create mode 100644 packages/ui-graph/src/graph-control-bar.tsx create mode 100644 packages/ui-graph/src/graph-empty.tsx create mode 100644 packages/ui-graph/src/graph-loading.tsx delete mode 100644 packages/ui-graph/src/graph-machine.ts delete mode 100644 packages/ui-graph/src/graph-machine.typegen.ts delete mode 100644 packages/ui-graph/src/graph-provider.tsx create mode 100644 packages/ui-graph/src/graph.tsx delete mode 100644 packages/ui-graph/src/layout-options.ts create mode 100644 packages/ui-graph/src/package-node.tsx create mode 100644 packages/ui-graph/src/package/dependency-edge.tsx create mode 100644 packages/ui-graph/src/package/get-edges.ts create mode 100644 packages/ui-graph/src/package/get-nodes.ts create mode 100644 packages/ui-graph/src/package/package-toolbar.tsx create mode 100644 packages/ui-graph/src/package/zero-state.tsx delete mode 100644 packages/ui-graph/src/styles/edge.ts delete mode 100644 packages/ui-graph/src/styles/node.ts create mode 100644 packages/ui-graph/src/types.ts delete mode 100644 packages/ui-graph/src/update-graph-elements.ts create mode 100644 packages/ui-graph/src/use-interactions.ts create mode 100644 packages/ui-graph/src/utils.ts diff --git a/.changeset/fuzzy-cups-fail.md b/.changeset/fuzzy-cups-fail.md new file mode 100644 index 00000000..ac9fe04f --- /dev/null +++ b/.changeset/fuzzy-cups-fail.md @@ -0,0 +1,28 @@ +--- +"commonality-checks-recommended": patch +"@commonalityco/utils-conformance": patch +"@commonalityco/data-constraints": patch +"@commonalityco/ui-design-system": patch +"@commonalityco/utils-onboarding": patch +"@commonalityco/data-codeowners": patch +"@commonalityco/ui-conformance": patch +"@commonalityco/ui-constraints": patch +"@commonalityco/config-tailwind": patch +"@commonalityco/config-tsconfig": patch +"@commonalityco/data-packages": patch +"@commonalityco/utils-package": patch +"@commonalityco/data-project": patch +"eslint-config-commonality": patch +"@commonalityco/ui-package": patch +"@commonalityco/utils-core": patch +"@commonalityco/utils-file": patch +"@commonalityco/data-tags": patch +"@commonalityco/ui-graph": patch +"commonality": patch +"@commonalityco/ui-core": patch +"@commonalityco/types": patch +"workshop": patch +"@commonalityco/studio": patch +--- + +Update dependency graph to use @xyflow/react diff --git a/.vscode/settings.json b/.vscode/settings.json index 25fa6215..dc395d72 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "testing.automaticallyOpenPeekView": "never" } diff --git a/apps/commonality/package.json b/apps/commonality/package.json index 2df2638c..69171742 100644 --- a/apps/commonality/package.json +++ b/apps/commonality/package.json @@ -49,37 +49,37 @@ }, "dependencies": { "@antfu/install-pkg": "^0.3.1", - "@commonalityco/studio": "0.2.49", - "@sentry/node": "^7.100.1", + "@commonalityco/studio": "workspace:*", + "@sentry/node": "^7.102.1", "@sindresorhus/slugify": "^2.2.1", "boxen": "^7.1.1", "chalk": "^5.3.0", - "commander": "^11.0.0", + "commander": "^11.1.0", "conf": "^12.0.0", "configstore": "^6.0.0", "detect-indent": "^7.0.1", "find-up": "^6.3.0", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "get-port": "^7.0.0", "globby": "^13.2.2", "import-meta-resolve": "^4.0.0", - "ip": "^1.1.8", + "ip": "^1.1.9", "jest-diff": "^29.7.0", "jiti": "^1.21.0", "local-pkg": "^0.5.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.5", - "nanoid": "^5.0.5", + "nanoid": "^5.0.6", "ora": "^7.0.1", - "pathe": "^1.1.1", - "pino": "^8.17.1", - "pino-pretty": "^10.3.0", + "pathe": "^1.1.2", + "pino": "^8.19.0", + "pino-pretty": "^10.3.1", "prompts": "^2.4.2", - "std-env": "^3.6.0", + "std-env": "^3.7.0", "strip-ansi": "^7.1.0", "update-notifier": "^7.0.0", "wait-on": "^7.2.0", - "yaml": "^2.3.2", + "yaml": "^2.3.4", "zod": "^3.22.4" }, "devDependencies": { @@ -94,21 +94,21 @@ "@commonalityco/utils-core": "workspace:*", "@commonalityco/utils-file": "workspace:*", "@commonalityco/utils-onboarding": "workspace:*", - "@swc/core": "^1.3.101", - "@types/fs-extra": "^11.0.2", + "@swc/core": "^1.4.2", + "@types/fs-extra": "^11.0.4", "@types/ip": "^1.1.3", - "@types/lodash-es": "^4.14.198", + "@types/lodash-es": "^4.17.12", "@types/mock-fs": "^4.13.4", - "@types/node": "^20.10.0", - "@types/prompts": "^2.4.4", - "@types/wait-on": "^5.3.1", + "@types/node": "^20.11.20", + "@types/prompts": "^2.4.9", + "@types/wait-on": "^5.3.4", "eslint-config-commonality": "workspace:*", "execa": "^8.0.1", "mock-fs": "^5.2.0", "npm-run-all": "^4.1.5", "rimraf": "^5.0.5", - "tsup": "^8.0.1", - "typescript": "^5.2.2", + "tsup": "^8.0.2", + "typescript": "^5.3.3", "vitest": "^0.34.6" } } diff --git a/apps/commonality/src/cli/commands/studio.ts b/apps/commonality/src/cli/commands/studio.ts index 8fd5dc75..8ccc35dc 100644 --- a/apps/commonality/src/cli/commands/studio.ts +++ b/apps/commonality/src/cli/commands/studio.ts @@ -84,8 +84,8 @@ export const studio = command process.on('SIGINT', handleExit); process.on('SIGTERM', handleExit); - const localUrl = `http://localhost:${port}`; - const networkUrl = `http://${ip.address()}:${port}`; + const localUrl = `http://localhost:${port}/graph`; + const networkUrl = `http://${ip.address()}:${port}/graph`; await waitOn({ resources: [localUrl], timeout: 10_000 }); diff --git a/apps/studio/e2e/smoke.spec.ts b/apps/studio/e2e/smoke.spec.ts index 0b934c25..8271e9f0 100644 --- a/apps/studio/e2e/smoke.spec.ts +++ b/apps/studio/e2e/smoke.spec.ts @@ -1,15 +1,13 @@ import { test, expect } from '@playwright/test'; test('smoke - constraints', async ({ page }) => { - await page.goto('/'); + await page.goto('/graph'); - await expect( - page.getByRole('heading', { name: 'Constraints' }), - ).toBeVisible(); + await expect(page.getByTestId('dependency-graph')).toBeVisible(); }); test('smoke - checks', async ({ page }) => { - await page.goto('/checks'); + await page.goto('/packages'); - await expect(page.getByRole('heading', { name: 'Checks' })).toBeVisible(); + await expect(page.getByRole('heading', { name: 'Packages' })).toBeVisible(); }); diff --git a/apps/studio/next.config.js b/apps/studio/next.config.js index 9ac8bac1..7606d257 100644 --- a/apps/studio/next.config.js +++ b/apps/studio/next.config.js @@ -1,53 +1,12 @@ -const { withSentryConfig } = require('@sentry/nextjs'); - -module.exports = withSentryConfig( - { - reactStrictMode: true, - transpilePackages: [ - '@commonalityco/data-codeowners', - '@commonalityco/data-graph', - '@commonalityco/data-graph-worker', - '@commonalityco/data-packages', - '@commonalityco/data-project', - '@commonalityco/data-tags', - '@commonalityco/ui-conformance', - '@commonalityco/utils-conformance', - '@commonalityco/feature-graph', - '@commonalityco/ui-core', - '@commonalityco/ui-design-system', - '@commonalityco/ui-graph', - '@commonalityco/ui-package', - '@commonalityco/utils-core', - '@commonalityco/utils-graph', - '@commonalityco/utils-package', - ], +module.exports = { + reactStrictMode: true, + async redirects() { + return [ + { + source: '/((?!graph|packages).*)', + destination: '/graph', + permanent: true, + }, + ]; }, - { - // For all available options, see: - // https://github.com/getsentry/sentry-webpack-plugin#options - - // Suppresses source map uploading logs during build - silent: true, - org: 'alec-ortega', - project: 'studio', - }, - { - // For all available options, see: - // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ - - // Upload a larger set of source maps for prettier stack traces (increases build time) - widenClientFileUpload: true, - - // Transpiles SDK to be compatible with IE11 (increases bundle size) - transpileClientSDK: true, - - // Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load) - tunnelRoute: '/monitoring', - - // Hides source maps from generated client bundles - hideSourceMaps: true, - - // Automatically tree-shake Sentry logger statements to reduce bundle size - disableLogger: true, - }, -); +}; diff --git a/apps/studio/package.json b/apps/studio/package.json index 222d2627..1ee7a1e9 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -9,7 +9,7 @@ "node": ">=18.17.0" }, "scripts": { - "dev": "COMMONALITY_ROOT_DIRECTORY='../../' NODE_ENV=development node server.js", + "dev": "COMMONALITY_ROOT_DIRECTORY='../../' NODE_ENV=development node server.js --turbo", "build": "next build && pnpm run clean-cache", "clean-cache": "rimraf .next/cache", "analyze": "ANALYZE=true next build", @@ -30,18 +30,26 @@ "dist/" ], "dependencies": { - "@sentry/nextjs": "^7.100.1", - "@sentry/utils": "^7.100.1", - "chokidar": "^3.5.3", + "@sentry/nextjs": "^7.102.1", + "@sentry/utils": "^7.102.1", + "@xyflow/react": "12.0.0-next.9", + "@xyflow/system": "^0.0.17", + "chokidar": "^3.6.0", "execa": "^8.0.1", + "framer-motion": "^11.0.5", + "jotai": "^2.6.5", + "lz-string": "^1.5.0", "next": "14.0.4", - "socket.io": "^4.7.2", - "socket.io-client": "^4.7.2", + "nuqs": "^1.17.0", + "query-string": "^8.2.0", + "socket.io": "^4.7.4", + "socket.io-client": "^4.7.4", + "superjson": "^2.2.1", "wait-on": "^7.2.0" }, "devDependencies": { - "@babel/core": "^7.23.6", - "@babel/preset-env": "^7.23.6", + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", "@commonalityco/config-tailwind": "workspace:*", "@commonalityco/data-codeowners": "workspace:*", "@commonalityco/data-constraints": "workspace:*", @@ -60,32 +68,32 @@ "@commonalityco/utils-package": "workspace:*", "@hookform/resolvers": "^3.3.4", "@next/bundle-analyzer": "^13.5.6", - "@playwright/test": "^1.40.1", + "@playwright/test": "^1.41.2", "@tanstack/react-query": "^4.36.1", - "@tanstack/react-query-devtools": "^5.14.6", - "@tanstack/react-table": "^8.10.1", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", + "@tanstack/react-query-devtools": "^5.24.0", + "@tanstack/react-table": "^8.12.0", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", "@total-typescript/ts-reset": "^0.5.1", - "@types/fs-extra": "^11.0.2", - "@types/lodash-es": "^4.14.198", - "@types/node": "^20.10.0", - "@types/react": "^18.2.22", - "@types/react-dom": "^18.2.18", + "@types/fs-extra": "^11.0.4", + "@types/lodash-es": "^4.17.12", + "@types/node": "^20.11.20", + "@types/react": "^18.2.57", + "@types/react-dom": "^18.2.19", "@types/resolve": "^1.20.6", - "@vitejs/plugin-react-swc": "^3.3.2", + "@vitejs/plugin-react-swc": "^3.6.0", "@xstate/react": "^3.2.2", - "autoprefixer": "^10.4.16", + "autoprefixer": "^10.4.17", "bufferutil": "^4.0.8", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", - "cookies-next": "^4.1.0", - "cypress": "^13.6.4", - "cytoscape": "^3.26.0", + "cookies-next": "^4.1.1", + "cypress": "^13.6.5", + "cytoscape": "^3.28.1", "date-fns": "^2.30.0", - "eslint-config-next": "^14.0.1", - "fs-extra": "^11.1.1", + "eslint-config-next": "^14.1.0", + "fs-extra": "^11.2.0", "get-port": "^7.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -94,10 +102,10 @@ "next-themes": "^0.2.1", "open-editor": "^4.1.1", "path-browserify": "^1.0.1", - "pino": "^8.17.1", - "pino-pretty": "^10.3.0", - "postcss": "^8.4.33", - "prettier": "^3.1.1", + "pino": "^8.19.0", + "pino-pretty": "^10.3.1", + "postcss": "^8.4.35", + "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -106,13 +114,13 @@ "server-only": "^0.0.1", "start-server-and-test": "^2.0.3", "strip-ansi": "^7.1.0", - "tailwindcss": "^3.3.3", - "ts-node": "^10.9.1", - "typescript": "^5.2.2", + "tailwindcss": "^3.4.1", + "ts-node": "^10.9.2", + "typescript": "^5.3.3", "utf-8-validate": "^6.0.3", - "vite-tsconfig-paths": "^4.2.2", + "vite-tsconfig-paths": "^4.3.1", "which-collection": "^1.0.1", - "xstate": "^4.38.2", + "xstate": "^4.38.3", "zod": "^3.22.4" }, "repository": { diff --git a/apps/studio/sentry.client.config.ts b/apps/studio/sentry.client.config.ts index b1757881..db356f4f 100644 --- a/apps/studio/sentry.client.config.ts +++ b/apps/studio/sentry.client.config.ts @@ -18,4 +18,6 @@ Sentry.init({ // Setting this option to true will print useful information to the console while you're setting up Sentry. debug: false, + + enabled: false, }); diff --git a/apps/studio/sentry.edge.config.ts b/apps/studio/sentry.edge.config.ts index 4f29f2f1..41957098 100644 --- a/apps/studio/sentry.edge.config.ts +++ b/apps/studio/sentry.edge.config.ts @@ -18,4 +18,6 @@ Sentry.init({ // Setting this option to true will print useful information to the console while you're setting up Sentry. debug: false, + + enabled: false, }); diff --git a/apps/studio/sentry.server.config.ts b/apps/studio/sentry.server.config.ts index 4f29f2f1..41957098 100644 --- a/apps/studio/sentry.server.config.ts +++ b/apps/studio/sentry.server.config.ts @@ -18,4 +18,6 @@ Sentry.init({ // Setting this option to true will print useful information to the console while you're setting up Sentry. debug: false, + + enabled: false, }); diff --git a/apps/studio/src/actions/editor.ts b/apps/studio/src/actions/editor.ts index d50d91d2..e9a61226 100644 --- a/apps/studio/src/actions/editor.ts +++ b/apps/studio/src/actions/editor.ts @@ -1,19 +1,21 @@ 'use server'; -import 'server-only'; import openEditor from 'open-editor'; import path from 'node:path'; import { getProjectData } from '@/data/project'; import fs from 'fs-extra'; export async function openEditorAction(filePath: string) { - const fullPath = path.join(process.env.COMMONALITY_ROOT_DIRECTORY, filePath); + const fullPath = path.join( + process.env.COMMONALITY_ROOT_DIRECTORY ?? './', + filePath, + ); await openEditor([{ file: fullPath }]); } export async function openPackageJson(packageDirectory: string) { const fullPath = path.join( - process.env.COMMONALITY_ROOT_DIRECTORY, + process.env.COMMONALITY_ROOT_DIRECTORY ?? './', packageDirectory, 'package.json', ); @@ -23,7 +25,7 @@ export async function openPackageJson(packageDirectory: string) { export async function openPackageConfig(packageDirectory: string) { const fullPath = path.join( - process.env.COMMONALITY_ROOT_DIRECTORY, + process.env.COMMONALITY_ROOT_DIRECTORY ?? './', packageDirectory, 'commonality.json', ); diff --git a/apps/studio/src/actions/graph-actions.ts b/apps/studio/src/actions/graph-actions.ts new file mode 100644 index 00000000..7c7a5b5f --- /dev/null +++ b/apps/studio/src/actions/graph-actions.ts @@ -0,0 +1,15 @@ +'use server'; +import { GraphDirection, getElementsWithLayout } from '@commonalityco/ui-graph'; +import { Edge, Node } from '@xyflow/react'; + +export const getElements = async ({ + nodes, + edges, + direction, +}: { + nodes: Node[]; + edges: Edge[]; + direction?: GraphDirection; +}): Promise<{ nodes: Node[]; edges: Edge[] }> => { + return getElementsWithLayout({ nodes, edges, direction }); +}; diff --git a/apps/studio/src/app/(graph)/@chart/loading.tsx b/apps/studio/src/app/(graph)/@chart/loading.tsx deleted file mode 100644 index 8ea6b5d2..00000000 --- a/apps/studio/src/app/(graph)/@chart/loading.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { ChartLoading } from '@commonalityco/ui-constraints/chart-loading'; - -function Loading() { - return ; -} - -export default Loading; diff --git a/apps/studio/src/app/(graph)/@chart/page.tsx b/apps/studio/src/app/(graph)/@chart/page.tsx deleted file mode 100644 index 81dfd737..00000000 --- a/apps/studio/src/app/(graph)/@chart/page.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { getDependenciesData } from '@/data/dependencies'; -import { getPackagesData } from '@/data/packages'; -import StudioChart from './studio-chart'; -import { getProjectData } from '@/data/project'; -import { getConstraintsData } from '@/data/constraints'; - -async function ChartPage() { - const [packages, dependencies, results, project] = await Promise.all([ - getPackagesData(), - getDependenciesData(), - getConstraintsData(), - getProjectData(), - ]); - - return ( - - ); -} - -export default ChartPage; diff --git a/apps/studio/src/app/(graph)/@chart/studio-chart.tsx b/apps/studio/src/app/(graph)/@chart/studio-chart.tsx deleted file mode 100644 index 0d8b5e23..00000000 --- a/apps/studio/src/app/(graph)/@chart/studio-chart.tsx +++ /dev/null @@ -1,42 +0,0 @@ -'use client'; -import { ComponentProps, useEffect, useState } from 'react'; -import { useTheme } from 'next-themes'; -import { useQueryParams } from '@/hooks/use-query-params'; -import { slugifyPackageName } from '@commonalityco/utils-core'; -import { FeatureGraphChart, ChartLoading } from '@commonalityco/ui-constraints'; - -function StudioChart( - props: Omit< - ComponentProps, - 'onPackageClick' | 'worker' - >, -) { - const { resolvedTheme } = useTheme(); - const { setQuery } = useQueryParams(); - const [worker, setWorker] = useState(null); - - useEffect(() => { - const newWorker = new Worker(new URL('./worker.ts', import.meta.url)); - - setWorker(newWorker); - - return () => newWorker.terminate(); - }, []); - - if (!worker) { - return ; - } - - return ( - - setQuery('package', slugifyPackageName(packageName)) - } - /> - ); -} - -export default StudioChart; diff --git a/apps/studio/src/app/(graph)/@chart/worker.ts b/apps/studio/src/app/(graph)/@chart/worker.ts deleted file mode 100644 index d6344051..00000000 --- a/apps/studio/src/app/(graph)/@chart/worker.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { createWorker } from '@commonalityco/ui-graph/create-worker'; - -createWorker(); diff --git a/apps/studio/src/app/(graph)/@sidebar/loading.tsx b/apps/studio/src/app/(graph)/@sidebar/loading.tsx deleted file mode 100644 index 3191d78e..00000000 --- a/apps/studio/src/app/(graph)/@sidebar/loading.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; - -function Loading() { - return
Loading
; -} - -export default Loading; diff --git a/apps/studio/src/app/(graph)/@sidebar/page.tsx b/apps/studio/src/app/(graph)/@sidebar/page.tsx deleted file mode 100644 index 271246b2..00000000 --- a/apps/studio/src/app/(graph)/@sidebar/page.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { getPackagesData } from '@/data/packages'; -import { getTagsData } from '@/data/tags'; -import { getCodeownersData } from '@/data/codeowners'; -import StudioSidebar from './studio-sidebar'; -import { cookies } from 'next/headers'; -import * as z from 'zod'; - -async function GraphSidebarPage() { - const [tagsData, codeownersData, packages] = await Promise.all([ - getTagsData(), - getCodeownersData(), - getPackagesData(), - ]); - const defaultLayoutCookie = cookies().get('commonality:sidebar-layout'); - - const getDefaultLayout = () => { - try { - if (defaultLayoutCookie) { - const parsedLayout = JSON.parse(defaultLayoutCookie.value); - const layoutSchema = z.union([ - z.tuple([z.number(), z.number(), z.number()]), - z.undefined(), - ]); - return layoutSchema.parse(parsedLayout); - } - } catch (err) { - return undefined; - } - }; - - const defaultLayout = getDefaultLayout(); - - return ( - - ); -} - -export default GraphSidebarPage; diff --git a/apps/studio/src/app/(graph)/@sidebar/studio-sidebar.tsx b/apps/studio/src/app/(graph)/@sidebar/studio-sidebar.tsx deleted file mode 100644 index 6d4f1bae..00000000 --- a/apps/studio/src/app/(graph)/@sidebar/studio-sidebar.tsx +++ /dev/null @@ -1,17 +0,0 @@ -'use client'; -import { FeatureGraphSidebar } from '@commonalityco/ui-constraints'; -import { setCookie } from 'cookies-next'; -import { ComponentProps } from 'react'; - -function StudioSidebar(props: ComponentProps) { - return ( - { - setCookie('commonality:sidebar-layout', sizes); - }} - /> - ); -} - -export default StudioSidebar; diff --git a/apps/studio/src/app/(graph)/layout.tsx b/apps/studio/src/app/(graph)/layout.tsx deleted file mode 100644 index ae5710d4..00000000 --- a/apps/studio/src/app/(graph)/layout.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { - GraphLayoutAside, - GraphLayoutMain, - GraphLayoutRoot, -} from '@commonalityco/ui-constraints'; -import { GraphProvider } from '@commonalityco/ui-graph'; -import StudioGraphHeader from './studio-graph-header'; - -export default async function RootLayout({ - children, - sidebar, - chart, -}: { - children: React.ReactNode; - sidebar: React.ReactNode; - chart: React.ReactNode; -}) { - return ( -
- - - - {sidebar} - {chart} - - {children} - -
- ); -} diff --git a/apps/studio/src/app/(graph)/page.tsx b/apps/studio/src/app/(graph)/page.tsx deleted file mode 100644 index 5aa931e2..00000000 --- a/apps/studio/src/app/(graph)/page.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import StudioGraphOverlays from './studio-graph-overlays'; -import { preload as preloadPackages } from '@/data/packages'; -import { preload as preloadProject } from '@/data/project'; -import { preload as preloadDependencies } from '@/data/dependencies'; -import { getTagsData } from '@/data/tags'; - -async function GraphPage() { - preloadPackages(); - preloadProject(); - preloadDependencies(); - - const tagsData = await getTagsData(); - - return ; -} - -export default GraphPage; diff --git a/apps/studio/src/app/(graph)/studio-graph-header.tsx b/apps/studio/src/app/(graph)/studio-graph-header.tsx deleted file mode 100644 index 06d0d20a..00000000 --- a/apps/studio/src/app/(graph)/studio-graph-header.tsx +++ /dev/null @@ -1,13 +0,0 @@ -'use server'; -import { EditConfigButton } from '@/components/edit-config-button'; -import { getConstraintsData } from '@/data/constraints'; -import { FeatureGraphHeader } from '@commonalityco/ui-constraints'; -import React from 'react'; - -async function StudioGraphHeader() { - const results = await getConstraintsData(); - - return ; -} - -export default StudioGraphHeader; diff --git a/apps/studio/src/app/[...catchall]/page.ts b/apps/studio/src/app/[...catchall]/page.ts index d7dab2f5..3358d16a 100644 --- a/apps/studio/src/app/[...catchall]/page.ts +++ b/apps/studio/src/app/[...catchall]/page.ts @@ -1,7 +1,7 @@ import { redirect } from 'next/navigation'; function CatchAllPage() { - redirect('/'); + redirect('/graph'); } export default CatchAllPage; diff --git a/apps/studio/src/app/global-error.tsx b/apps/studio/src/app/global-error.tsx deleted file mode 100644 index fb5ac0ce..00000000 --- a/apps/studio/src/app/global-error.tsx +++ /dev/null @@ -1,24 +0,0 @@ -'use client'; - -import * as Sentry from '@sentry/nextjs'; -import Error from 'next/error'; -import { useEffect } from 'react'; - -export default function GlobalError({ - error, -}: { - error: Error & { digest?: string }; - reset: () => void; -}) { - useEffect(() => { - Sentry.captureException(error); - }, [error]); - - return ( - - - - - - ); -} diff --git a/apps/studio/src/app/globals.css b/apps/studio/src/app/globals.css index 4229010f..b7088f06 100644 --- a/apps/studio/src/app/globals.css +++ b/apps/studio/src/app/globals.css @@ -13,3 +13,21 @@ @apply border-border; } } + +@layer components { + .react-flow__minimap { + @apply bg-interactive rounded-md border border-muted-foreground/25 overflow-hidden shadow; + } + + .react-flow__minimap-mask { + @apply fill-muted-foreground opacity-[0.09]; + } + + .react-flow__minimap-node { + @apply fill-muted-foreground; + } + + .react-flow__nodesselection-rect { + @apply bg-muted-foreground/10 border border-muted-foreground; + } +} diff --git a/apps/studio/src/app/graph/graph-hooks.ts b/apps/studio/src/app/graph/graph-hooks.ts new file mode 100644 index 00000000..08f619c8 --- /dev/null +++ b/apps/studio/src/app/graph/graph-hooks.ts @@ -0,0 +1,69 @@ +'use client'; +import { isGraphLoadingAtom } from '@/atoms/graph'; +import { GraphDirection } from '@commonalityco/ui-graph'; +import { DependencyType } from '@commonalityco/utils-core'; +import { useSetAtom } from 'jotai'; +import { compressToEncodedURIComponent } from 'lz-string'; +import { + parseAsArrayOf, + parseAsString, + parseAsStringEnum, + useQueryState, +} from 'nuqs'; +import { useEffect, useTransition } from 'react'; + +export const usePackagesQuery = () => { + const [isLoading, startTransition] = useTransition(); + const setLoading = useSetAtom(isGraphLoadingAtom); + const [packagesQuery, setPackagesQueryRaw] = useQueryState( + 'packages', + parseAsString.withOptions({ startTransition }), + ); + + useEffect(() => { + setLoading(isLoading); + }, [isLoading, setLoading]); + + const setPackagesQuery = (packageNames: string[]) => { + const compressed = compressToEncodedURIComponent( + JSON.stringify(packageNames), + ); + + setPackagesQueryRaw(compressed); + }; + + return { + setPackagesQuery, + packagesQuery, + }; +}; + +export const useDirectionQuery = () => { + const [isLoading, startTransition] = useTransition(); + const setLoading = useSetAtom(isGraphLoadingAtom); + const [directionQuery, setDirectionQuery] = useQueryState( + 'direction', + parseAsStringEnum(Object.values(GraphDirection)) + .withDefault(GraphDirection.TopToBottom) + .withOptions({ startTransition }), + ); + + useEffect(() => { + setLoading(isLoading); + }, [isLoading, setLoading]); + + return { setDirectionQuery, directionQuery }; +}; + +export const highlightParser = parseAsArrayOf( + parseAsStringEnum(Object.values(DependencyType)), +); + +export const useHighlightQuery = () => { + const [highlightQuery, setHighlightQuery] = useQueryState( + 'highlight', + highlightParser, + ); + + return { setHighlightQuery, highlightQuery }; +}; diff --git a/apps/studio/src/app/graph/layout.tsx b/apps/studio/src/app/graph/layout.tsx new file mode 100644 index 00000000..cb8a3641 --- /dev/null +++ b/apps/studio/src/app/graph/layout.tsx @@ -0,0 +1,13 @@ +import { GraphProviders } from './providers'; + +export default function GraphLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( +
+ {children} +
+ ); +} diff --git a/apps/studio/src/app/graph/page.tsx b/apps/studio/src/app/graph/page.tsx new file mode 100644 index 00000000..437fb85f --- /dev/null +++ b/apps/studio/src/app/graph/page.tsx @@ -0,0 +1,238 @@ +import { + GraphLayoutAside, + GraphLayoutMain, + GraphLayoutRoot, +} from '@commonalityco/ui-constraints'; +import React, { Suspense } from 'react'; + +import StudioSidebar from './studio-sidebar'; +import { getTagsData } from '@/data/tags'; +import { getPackagesData } from '@/data/packages'; +import { getDependenciesData } from '@/data/dependencies'; +import { getCodeownersData } from '@/data/codeowners'; +import { getConstraintsData } from '@/data/constraints'; +import { cookies } from 'next/headers'; +import { + GraphDirection, + GraphLoading, + getEdges, + getNodes, +} from '@commonalityco/ui-graph'; +import { getElements } from '@/actions/graph-actions'; +import { getConnectedEdges } from '@xyflow/system'; +import * as z from 'zod'; +import { decompressFromEncodedURIComponent } from 'lz-string'; +import { + CodeownersData, + ConstraintResult, + Dependency, + Package, + TagsData, +} from '@commonalityco/types'; +import { StudioGraphEmpty } from './studio-graph-empty'; +import lazyLoad from 'next/dynamic'; +import { StudioPackageToolbar } from './studio-package-toolbar'; +import { StudioControlBar } from './studio-control-bar'; +import { highlightParser } from './graph-hooks'; +import { DependencyType } from '@commonalityco/utils-core'; +import { parseAsArrayOf, parseAsStringEnum } from 'nuqs'; + +const StudioChart = lazyLoad(() => import('./studio-chart'), { + ssr: false, + loading: () => , +}); + +async function Sidebar({ + results, + packages, + tagsData, + dependencies, + codeownersData, +}: { + packages: Package[]; + dependencies: Dependency[]; + tagsData: TagsData[]; + results: ConstraintResult[]; + codeownersData: CodeownersData[]; +}) { + const cookieStore = cookies(); + const defaultLayoutCookie = cookieStore.get('commonality:sidebar-layout'); + + const getDefaultLayout = () => { + try { + if (defaultLayoutCookie) { + const parsedLayout = JSON.parse(defaultLayoutCookie.value); + const layoutSchema = z.union([ + z.tuple([z.number(), z.number(), z.number()]), + z.undefined(), + ]); + return layoutSchema.parse(parsedLayout); + } + } catch (err) { + return undefined; + } + }; + + const defaultLayout = getDefaultLayout(); + + return ( + + ); +} + +async function Graph({ + packages, + dependencies, + tagsData, + filteredPackageNames, + direction, + results, + activeDependencyTypes, +}: { + packages: Package[]; + dependencies: Dependency[]; + tagsData: TagsData[]; + filteredPackageNames?: string[]; + direction: GraphDirection; + results: ConstraintResult[]; + activeDependencyTypes: DependencyType[]; +}) { + const cookieStore = cookies(); + const defaultTheme = cookieStore.get('commonality:theme')?.value; + + const nodes = getNodes({ + packages, + dependencies, + tagsData, + }); + + const edges = getEdges({ + results, + dependencies, + theme: 'light', + activeDependencyTypes, + }); + + const getShownElements = async () => { + const filteredNodes = + filteredPackageNames !== undefined + ? nodes.filter((node) => + filteredPackageNames?.some((pkgName) => pkgName === node.id), + ) + : nodes; + + const connectedEdges = getConnectedEdges(filteredNodes, edges); + + const elements = await getElements({ + nodes: filteredNodes, + edges: connectedEdges, + direction: direction, + }); + + return elements; + }; + + const shownElements = await getShownElements(); + + if (shownElements.nodes.length === 0) { + return ; + } + + return ( +
+ + + + + + + +
+ ); +} + +async function GraphPage({ + searchParams, +}: { + searchParams?: { + packages?: string; + direction: GraphDirection; + highlight: DependencyType[]; + }; +}) { + const [tagsData, packages, dependencies, results, codeownersData] = + await Promise.all([ + getTagsData(), + getPackagesData(), + getDependenciesData(), + getConstraintsData(), + getCodeownersData(), + ]); + + const getDecodedPackages = (): string[] | undefined => { + if (!searchParams?.packages) return; + + try { + return JSON.parse( + decompressFromEncodedURIComponent(searchParams?.packages), + ); + } catch (err) { + return; + } + }; + + const activeDependencyTypes = parseAsArrayOf( + parseAsStringEnum(Object.values(DependencyType)), + ).parseServerSide(searchParams?.highlight); + + return ( + + + + + + + + + ); +} + +export default GraphPage; diff --git a/apps/studio/src/app/graph/providers.tsx b/apps/studio/src/app/graph/providers.tsx new file mode 100644 index 00000000..f1683be9 --- /dev/null +++ b/apps/studio/src/app/graph/providers.tsx @@ -0,0 +1,12 @@ +'use client'; +import React from 'react'; +import { Provider as JotaiProvider } from 'jotai'; +import { ReactFlowProvider } from '@xyflow/react'; + +export function GraphProviders({ children }: { children: React.ReactNode }) { + return ( + + {children} + + ); +} diff --git a/apps/studio/src/app/graph/studio-chart.tsx b/apps/studio/src/app/graph/studio-chart.tsx new file mode 100644 index 00000000..069d5d47 --- /dev/null +++ b/apps/studio/src/app/graph/studio-chart.tsx @@ -0,0 +1,179 @@ +'use client'; +import { Graph } from '@commonalityco/ui-graph/graph'; +import { PackageNodeData } from '@commonalityco/ui-graph/package/get-nodes'; +import { DependencyEdgeData } from '@commonalityco/ui-graph/package/get-edges'; +import { + EditTagsDialog, + EditTagsDialogContent, +} from '@/components/edit-tags-dialog'; +import { useAtom, useAtomValue, useSetAtom } from 'jotai'; +import { + activeDependencyAtom, + editingPackageAtom, + isGraphLoadingAtom, + selectedPackagesAtom, +} from '@/atoms/graph'; +import { + ConstraintResult, + Dependency, + Package, + TagsData, +} from '@commonalityco/types'; +import { Edge, Node, OnSelectionChangeParams, useStore } from '@xyflow/react'; +import { useCallback } from 'react'; +import { DependencyDialog, GraphLoading } from '@commonalityco/ui-graph'; +import { ConstraintsDialog } from '@commonalityco/ui-constraints'; +import { AnimatePresence, motion } from 'framer-motion'; + +function PackageEditTagsDialog({ tagsData }: { tagsData: TagsData[] }) { + const [editingPackage, setEditingPackage] = useAtom(editingPackageAtom); + + const uniqueTags = Array.from( + new Set(tagsData.flatMap((pkg) => pkg.tags)), + ).sort(); + const tagsForPackage = + tagsData.find((data) => data.packageName === editingPackage?.name)?.tags ?? + []; + + return ( + { + if (!open) { + setEditingPackage(null); + } + }} + > + {editingPackage ? ( + setEditingPackage(null)} + /> + ) : null} + + ); +} + +function ActiveDependencyDialog({ results }: { results: ConstraintResult[] }) { + const resetSelectedElements = useStore( + (state) => state.resetSelectedElements, + ); + const [activeDependency, setActiveDependency] = useAtom(activeDependencyAtom); + + const resultForDependency = results.find((result) => + result.dependencyPath.some( + (depPath) => + depPath.source === activeDependency?.source && + depPath.target === activeDependency?.target, + ), + ); + if (resultForDependency) { + return ( + { + if (!open) { + resetSelectedElements(); + setActiveDependency(null); + } + }} + result={resultForDependency} + /> + ); + } + + return ( + { + if (!open) { + resetSelectedElements(); + setActiveDependency(null); + } + }} + /> + ); +} + +function StudioChart({ + shownEdges, + shownNodes, + tagsData, + theme, + packages, + dependencies, + results, +}: { + shownNodes: Node[]; + shownEdges: Edge[]; + packages: Package[]; + dependencies: Dependency[]; + results: ConstraintResult[]; + tagsData: TagsData[]; + theme: 'light' | 'dark'; +}) { + const setSelectedPackages = useSetAtom(selectedPackagesAtom); + const setActiveDependency = useSetAtom(activeDependencyAtom); + const isLoading = useAtomValue(isGraphLoadingAtom); + + const onSelectionChange = useCallback( + ({ nodes }: OnSelectionChangeParams) => { + const selectedPackages = nodes + .map((node) => packages.find((pkg) => pkg.name === node.id)) + .filter(Boolean) as Package[]; + + setSelectedPackages(selectedPackages); + }, + [setSelectedPackages, packages], + ); + + return ( + + {isLoading ? ( + + + + ) : ( + + + + { + const depdendency = dependencies.find( + (dep) => + dep.source === edge.source && dep.target === edge.target, + ); + + if (!depdendency) return; + + setActiveDependency(depdendency); + }} + totalCount={0} + nodes={shownNodes} + edges={shownEdges} + theme={theme} + onSelectionChange={onSelectionChange} + /> + + )} + + ); +} + +export default StudioChart; diff --git a/apps/studio/src/app/graph/studio-control-bar.tsx b/apps/studio/src/app/graph/studio-control-bar.tsx new file mode 100644 index 00000000..8de251e8 --- /dev/null +++ b/apps/studio/src/app/graph/studio-control-bar.tsx @@ -0,0 +1,38 @@ +'use client'; +import { ControlBar, GraphDirection } from '@commonalityco/ui-graph'; +import { useDirectionQuery, useHighlightQuery } from './graph-hooks'; +import { useCallback } from 'react'; +import { isGraphLoadingAtom } from '@/atoms/graph'; +import { useAtomValue } from 'jotai'; + +export function StudioControlBar({ + shownCount, + totalCount, +}: { + shownCount: number; + totalCount: number; +}) { + const { directionQuery, setDirectionQuery } = useDirectionQuery(); + const { highlightQuery, setHighlightQuery } = useHighlightQuery(); + const isLoading = useAtomValue(isGraphLoadingAtom); + + const onDirectionChange = useCallback( + (direction: GraphDirection) => { + setDirectionQuery(direction); + }, + [setDirectionQuery], + ); + + if (isLoading) return null; + + return ( + + ); +} diff --git a/apps/studio/src/app/graph/studio-graph-empty.tsx b/apps/studio/src/app/graph/studio-graph-empty.tsx new file mode 100644 index 00000000..58d56aaf --- /dev/null +++ b/apps/studio/src/app/graph/studio-graph-empty.tsx @@ -0,0 +1,23 @@ +'use client'; + +import { GraphEmpty, useInteractions } from '@commonalityco/ui-graph'; +import { Edge, Node } from '@xyflow/react'; +import React from 'react'; +import { usePackagesQuery } from './graph-hooks'; + +export function StudioGraphEmpty({ + nodes, + edges, +}: { + nodes: Node[]; + edges: Edge[]; +}) { + const { setPackagesQuery } = usePackagesQuery(); + const interactions = useInteractions({ + nodes, + edges, + onChange: ({ nodes }) => setPackagesQuery(nodes.map((node) => node.id)), + }); + + return ; +} diff --git a/apps/studio/src/app/graph/studio-graph-header.tsx b/apps/studio/src/app/graph/studio-graph-header.tsx new file mode 100644 index 00000000..bd442d74 --- /dev/null +++ b/apps/studio/src/app/graph/studio-graph-header.tsx @@ -0,0 +1,11 @@ +import { getConstraintsData } from '@/data/constraints'; +import { GraphHeader } from '@commonalityco/ui-constraints'; +import React from 'react'; + +async function StudioGraphHeader() { + const results = await getConstraintsData(); + + return ; +} + +export default StudioGraphHeader; diff --git a/apps/studio/src/app/(graph)/studio-graph-overlays.tsx b/apps/studio/src/app/graph/studio-graph-overlays.tsx similarity index 75% rename from apps/studio/src/app/(graph)/studio-graph-overlays.tsx rename to apps/studio/src/app/graph/studio-graph-overlays.tsx index 59240296..5b2a2519 100644 --- a/apps/studio/src/app/(graph)/studio-graph-overlays.tsx +++ b/apps/studio/src/app/graph/studio-graph-overlays.tsx @@ -1,13 +1,8 @@ 'use client'; -import { openPackageJson } from '@/actions/editor'; import { EditTagsDialog, EditTagsDialogContent, } from '@/components/edit-tags-dialog'; -import { - FeatureGraphPackageTooltip, - FeatureDependencyConstraintsDialog, -} from '@commonalityco/ui-constraints'; import { Package, TagsData } from '@commonalityco/types'; import { useState } from 'react'; @@ -39,11 +34,6 @@ function StudioGraphOverlays({ tagsData }: { tagsData: TagsData[] }) { /> ) : null} - - setPackageToEdit(pkg)} - onOpenPackageJson={(pkg) => openPackageJson(pkg.path)} - /> ); } diff --git a/apps/studio/src/app/graph/studio-package-toolbar.tsx b/apps/studio/src/app/graph/studio-package-toolbar.tsx new file mode 100644 index 00000000..5de28fe2 --- /dev/null +++ b/apps/studio/src/app/graph/studio-package-toolbar.tsx @@ -0,0 +1,50 @@ +'use client'; + +import { Package } from '@commonalityco/types'; +import { + DependencyEdgeData, + PackageNodeData, + PackageToolbar, +} from '@commonalityco/ui-graph'; +import { Node, Edge } from '@xyflow/react'; +import { useAtom, useSetAtom } from 'jotai'; +import { usePackagesQuery } from './graph-hooks'; +import { useCallback } from 'react'; +import { editingPackageAtom, selectedPackagesAtom } from '@/atoms/graph'; + +export function StudioPackageToolbar({ + packages, + allNodes, + allEdges, +}: { + packages: Package[]; + allNodes: Node[]; + allEdges: Edge[]; +}) { + const [selectedPackages] = useAtom(selectedPackagesAtom); + const setEditingPackage = useSetAtom(editingPackageAtom); + const { setPackagesQuery } = usePackagesQuery(); + + const onNodesChange = useCallback( + ({ nodes }: { nodes: Node[] }) => { + setPackagesQuery(nodes.map((node) => node.id)); + }, + [setPackagesQuery], + ); + + return ( + pkg.name)} + onEditTags={(packageName) => { + const selectedPkg = packages.find((pkg) => pkg.name === packageName); + + if (!selectedPkg) return; + + setEditingPackage(selectedPkg); + }} + /> + ); +} diff --git a/apps/studio/src/app/graph/studio-sidebar.tsx b/apps/studio/src/app/graph/studio-sidebar.tsx new file mode 100644 index 00000000..ca6166db --- /dev/null +++ b/apps/studio/src/app/graph/studio-sidebar.tsx @@ -0,0 +1,118 @@ +'use client'; +import { Sidebar } from '@commonalityco/ui-constraints'; +import { + PackageNodeData, + getNodes, +} from '@commonalityco/ui-graph/package/get-nodes'; +import { getEdges, useInteractions } from '@commonalityco/ui-graph'; +import { setCookie } from 'cookies-next'; +import { ComponentProps } from 'react'; +import { + CodeownersData, + ConstraintResult, + Dependency, + Package, + TagsData, +} from '@commonalityco/types'; +import { useTheme } from 'next-themes'; +import { useHighlightQuery, usePackagesQuery } from './graph-hooks'; +import { decompressFromEncodedURIComponent } from 'lz-string'; + +function StudioSidebar(props: { + tagsData: TagsData[]; + codeownersData: CodeownersData[]; + packages: Package[]; + dependencies: Dependency[]; + onLayout?: ComponentProps['onLayout']; + defaultLayout?: ComponentProps['defaultLayout']; + results: ConstraintResult[]; +}) { + const { resolvedTheme } = useTheme(); + const { packagesQuery, setPackagesQuery } = usePackagesQuery(); + const { highlightQuery } = useHighlightQuery(); + + const interactions = useInteractions({ + nodes: getNodes({ + packages: props.packages, + tagsData: props.tagsData, + dependencies: props.dependencies, + }), + edges: getEdges({ + dependencies: props.dependencies, + theme: resolvedTheme as 'light' | 'dark', + results: props.results, + activeDependencyTypes: highlightQuery ?? [], + }), + onChange: ({ nodes }) => setPackagesQuery(nodes.map((node) => node.id)), + }); + + const queryPackages: string[] = packagesQuery + ? JSON.parse(decompressFromEncodedURIComponent(packagesQuery)) + : []; + + const visiblePackages = props.packages.filter((pkg) => + queryPackages.some((queryName) => queryName === pkg.name), + ); + + return ( + { + setCookie('commonality:sidebar-layout', sizes); + }} + defaultLayout={props.defaultLayout} + tagsData={props.tagsData ?? []} + packages={props.packages} + visiblePackages={visiblePackages ?? []} + onHideAll={interactions.hideAll} + onShowAll={() => interactions.showAll()} + onPackageFocus={(packageName) => interactions.focus([packageName])} + onPackageHide={(packageName) => interactions.hide([packageName])} + onPackageShow={(packageName) => interactions.show([packageName])} + onTagFocus={(tag) => { + const packageNames = props.tagsData + .filter((data) => data.tags.includes(tag)) + .map((data) => data.packageName); + + interactions.focus(packageNames); + }} + onTagHide={(tag) => { + const packageNames = props.tagsData + .filter((data) => data.tags.includes(tag)) + .map((data) => data.packageName); + + interactions.hide(packageNames); + }} + onTagShow={(tag) => { + const packageNames = props.tagsData + .filter((data) => data.tags.includes(tag)) + .map((data) => data.packageName); + + interactions.show(packageNames); + }} + onTeamFocus={(codeowner) => { + const packageNames = props.codeownersData + .filter((data) => data.codeowners.includes(codeowner)) + .map((pkg) => pkg.packageName); + + interactions.focus(packageNames); + }} + onTeamHide={(codeowner) => { + const packageNames = props.codeownersData + .filter((data) => data.codeowners.includes(codeowner)) + .map((pkg) => pkg.packageName); + + interactions.hide(packageNames); + }} + onTeamShow={(codeowner) => { + const packageNames = props.codeownersData + .filter((data) => data.codeowners.includes(codeowner)) + .map((pkg) => pkg.packageName); + + interactions.show(packageNames); + }} + /> + ); +} + +export default StudioSidebar; diff --git a/apps/studio/src/app/last-update-time.tsx b/apps/studio/src/app/last-update-time.tsx index a15bb7a9..469c9768 100644 --- a/apps/studio/src/app/last-update-time.tsx +++ b/apps/studio/src/app/last-update-time.tsx @@ -20,7 +20,7 @@ function LastUpdateTime() { socket.on( 'project-updated', debounce((data) => { - console.log(data); + debugger; router.refresh(); setLastUpdated(new Date()); diff --git a/apps/studio/src/app/layout.tsx b/apps/studio/src/app/layout.tsx index efce1728..f4cee4bf 100644 --- a/apps/studio/src/app/layout.tsx +++ b/apps/studio/src/app/layout.tsx @@ -1,3 +1,4 @@ +import '@xyflow/react/dist/style.css'; import './globals.css'; import { clsx } from 'clsx'; import { firaCode, inter } from '@/constants/fonts'; diff --git a/apps/studio/src/app/(packages)/checks/get-table-data.test.ts b/apps/studio/src/app/packages/get-table-data.test.ts similarity index 100% rename from apps/studio/src/app/(packages)/checks/get-table-data.test.ts rename to apps/studio/src/app/packages/get-table-data.test.ts diff --git a/apps/studio/src/app/(packages)/checks/get-table-data.ts b/apps/studio/src/app/packages/get-table-data.ts similarity index 100% rename from apps/studio/src/app/(packages)/checks/get-table-data.ts rename to apps/studio/src/app/packages/get-table-data.ts diff --git a/apps/studio/src/app/(packages)/checks/page.tsx b/apps/studio/src/app/packages/page.tsx similarity index 98% rename from apps/studio/src/app/(packages)/checks/page.tsx rename to apps/studio/src/app/packages/page.tsx index e5e353cc..6262b4b1 100644 --- a/apps/studio/src/app/(packages)/checks/page.tsx +++ b/apps/studio/src/app/packages/page.tsx @@ -1,4 +1,3 @@ -'use server'; import { getCodeownersData } from '@/data/codeowners'; import { getPackagesData } from '@/data/packages'; import { getTagsData } from '@/data/tags'; @@ -14,6 +13,8 @@ import omit from 'lodash-es/omit'; import stripAnsi from 'strip-ansi'; import { ConformanceHeader } from '@commonalityco/ui-conformance'; +export const dynamic = 'force-dynamic'; + async function PackagesPage({ searchParams = {} }: { searchParams: unknown }) { const [packages, tagsData, codeownersData, results] = await Promise.all([ getPackagesData(), diff --git a/apps/studio/src/app/(packages)/checks/studio-package-table-filters.tsx b/apps/studio/src/app/packages/studio-package-table-filters.tsx similarity index 100% rename from apps/studio/src/app/(packages)/checks/studio-package-table-filters.tsx rename to apps/studio/src/app/packages/studio-package-table-filters.tsx diff --git a/apps/studio/src/app/(packages)/checks/studio-packages-table-paginator.tsx b/apps/studio/src/app/packages/studio-packages-table-paginator.tsx similarity index 100% rename from apps/studio/src/app/(packages)/checks/studio-packages-table-paginator.tsx rename to apps/studio/src/app/packages/studio-packages-table-paginator.tsx diff --git a/apps/studio/src/app/(packages)/checks/studio-packages-table.test.tsx b/apps/studio/src/app/packages/studio-packages-table.test.tsx similarity index 98% rename from apps/studio/src/app/(packages)/checks/studio-packages-table.test.tsx rename to apps/studio/src/app/packages/studio-packages-table.test.tsx index 0be5dc99..43bb2d0c 100644 --- a/apps/studio/src/app/(packages)/checks/studio-packages-table.test.tsx +++ b/apps/studio/src/app/packages/studio-packages-table.test.tsx @@ -13,7 +13,7 @@ const mocks = vi.hoisted(() => { }; }); -vi.mock('../../../actions/editor.ts', () => { +vi.mock('@/actions/editor.ts', () => { return { openPackageJson: mocks.openPackageJson, }; diff --git a/apps/studio/src/app/(packages)/checks/studio-packages-table.tsx b/apps/studio/src/app/packages/studio-packages-table.tsx similarity index 99% rename from apps/studio/src/app/(packages)/checks/studio-packages-table.tsx rename to apps/studio/src/app/packages/studio-packages-table.tsx index 3cc74ffe..c843e5c3 100644 --- a/apps/studio/src/app/(packages)/checks/studio-packages-table.tsx +++ b/apps/studio/src/app/packages/studio-packages-table.tsx @@ -15,7 +15,6 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, - DropdownMenuSeparator, DropdownMenuTrigger, } from '@commonalityco/ui-design-system/dropdown-menu'; import { Button, DialogTrigger } from '@commonalityco/ui-design-system'; diff --git a/apps/studio/src/app/studio-navigation.tsx b/apps/studio/src/app/studio-navigation.tsx index c81efc19..6a16a06d 100644 --- a/apps/studio/src/app/studio-navigation.tsx +++ b/apps/studio/src/app/studio-navigation.tsx @@ -99,19 +99,19 @@ function StudioNavigation({
- Constraints + Graph - Checks + Packages
diff --git a/apps/studio/src/atoms/graph.ts b/apps/studio/src/atoms/graph.ts new file mode 100644 index 00000000..2c9d02c8 --- /dev/null +++ b/apps/studio/src/atoms/graph.ts @@ -0,0 +1,10 @@ +import { Dependency, Package } from '@commonalityco/types'; +import { atom } from 'jotai'; + +export const editingPackageAtom = atom(null); + +export const activeDependencyAtom = atom(null); + +export const selectedPackagesAtom = atom([]); + +export const isGraphLoadingAtom = atom(false); diff --git a/apps/studio/src/data/codeowners.ts b/apps/studio/src/data/codeowners.ts index 645e2dc1..5cceab79 100644 --- a/apps/studio/src/data/codeowners.ts +++ b/apps/studio/src/data/codeowners.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { cache } from 'react'; import { getCodeownersData as getCodeownersDatas } from '@commonalityco/data-codeowners'; import { getPackages } from '@commonalityco/data-packages'; diff --git a/apps/studio/src/data/conformance.ts b/apps/studio/src/data/conformance.ts index 0d681b78..ab00c302 100644 --- a/apps/studio/src/data/conformance.ts +++ b/apps/studio/src/data/conformance.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { getProjectConfig } from '@commonalityco/data-project'; import { getPackagesData } from './packages'; import { getTagsData } from '@commonalityco/data-tags'; @@ -36,5 +35,5 @@ export const getConformanceResultsData = async () => { codeownersData, }); - return results + return results; }; diff --git a/apps/studio/src/data/dependencies.ts b/apps/studio/src/data/dependencies.ts index fe4907e6..60752aaf 100644 --- a/apps/studio/src/data/dependencies.ts +++ b/apps/studio/src/data/dependencies.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { getDependencies } from '@commonalityco/data-packages'; export const preload = () => { diff --git a/apps/studio/src/data/packages.ts b/apps/studio/src/data/packages.ts index 4bd3c584..4100163b 100644 --- a/apps/studio/src/data/packages.ts +++ b/apps/studio/src/data/packages.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { getPackages } from '@commonalityco/data-packages'; export const preload = () => { diff --git a/apps/studio/src/data/project.ts b/apps/studio/src/data/project.ts index c6f5350f..3a31ee41 100644 --- a/apps/studio/src/data/project.ts +++ b/apps/studio/src/data/project.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { getPackageManager } from '@commonalityco/data-project/get-package-manager'; import { getRootPackageName } from '@commonalityco/data-packages'; import { getProjectConfig } from '@commonalityco/data-project'; diff --git a/apps/studio/src/data/tags.ts b/apps/studio/src/data/tags.ts index f1550323..af4ba0fb 100644 --- a/apps/studio/src/data/tags.ts +++ b/apps/studio/src/data/tags.ts @@ -1,5 +1,4 @@ 'use server'; -import 'server-only'; import { cache } from 'react'; import { getTagsData as getTagsDatas } from '@commonalityco/data-tags'; import { getPackages } from '@commonalityco/data-packages'; diff --git a/apps/studio/tailwind.config.cjs b/apps/studio/tailwind.config.cjs index e74a1d3d..863913f8 100644 --- a/apps/studio/tailwind.config.cjs +++ b/apps/studio/tailwind.config.cjs @@ -14,13 +14,14 @@ const getPkgPattern = (pkgName) => { module.exports = { ...baseConfig, content: [ - './app/**/*.{js,ts,jsx,tsx}', + './app/**/*.{js,ts,jsx,tsx,css}', './pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}', - './src/**/*.{js,ts,jsx,tsx}', + './src/**/*.{js,ts,jsx,tsx,css}', getPkgPattern('@commonalityco/ui-design-system'), getPkgPattern('@commonalityco/ui-package'), getPkgPattern('@commonalityco/ui-core'), + getPkgPattern('@commonalityco/ui-graph'), getPkgPattern('@commonalityco/ui-conformance'), getPkgPattern('@commonalityco/ui-constraints'), ], diff --git a/apps/workshop/package.json b/apps/workshop/package.json index 9dd977d2..15aa2cee 100644 --- a/apps/workshop/package.json +++ b/apps/workshop/package.json @@ -10,7 +10,6 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@commonalityco/types": "workspace:*", "@commonalityco/ui-conformance": "workspace:*", "@commonalityco/ui-constraints": "workspace:*", "@commonalityco/ui-core": "workspace:*", @@ -25,39 +24,40 @@ "storybook-addon-variants": "^0.2.0" }, "devDependencies": { + "@commonalityco/types": "workspace:*", "@commonalityco/config-tailwind": "workspace:*", "@commonalityco/config-tsconfig": "workspace:*", - "@storybook/addon-a11y": "^7.6.7", - "@storybook/addon-docs": "^7.4.3", - "@storybook/addon-essentials": "^7.4.3", - "@storybook/addon-interactions": "^7.4.3", - "@storybook/addon-links": "^7.4.3", + "@storybook/addon-a11y": "^7.6.17", + "@storybook/addon-docs": "^7.6.17", + "@storybook/addon-essentials": "^7.6.17", + "@storybook/addon-interactions": "^7.6.17", + "@storybook/addon-links": "^7.6.17", "@storybook/addon-styling": "^1.3.7", - "@storybook/addons": "^7.4.3", - "@storybook/blocks": "^7.4.3", - "@storybook/cli": "^7.4.3", - "@storybook/react": "^7.4.3", - "@storybook/react-vite": "^7.4.3", + "@storybook/addons": "^7.6.17", + "@storybook/blocks": "^7.6.17", + "@storybook/cli": "^7.6.17", + "@storybook/react": "^7.6.17", + "@storybook/react-vite": "^7.6.17", "@storybook/testing-library": "0.2.0", - "@types/react": "^18.2.22", - "@types/react-dom": "^18.2.18", - "@vitejs/plugin-react": "^4.0.4", - "@vitejs/plugin-react-swc": "^3.3.2", - "autoprefixer": "^10.4.16", + "@types/react": "^18.2.57", + "@types/react-dom": "^18.2.19", + "@vitejs/plugin-react": "^4.2.1", + "@vitejs/plugin-react-swc": "^3.6.0", + "autoprefixer": "^10.4.17", "eslint-config-commonality": "workspace:*", - "postcss": "^8.4.33", - "postcss-loader": "^7.3.3", + "postcss": "^8.4.35", + "postcss-loader": "^7.3.4", "prop-types": "^15.8.1", - "storybook": "^7.6.6", - "storybook-dark-mode": "^3.0.1", - "tailwindcss": "^3.3.3", - "typescript": "^5.2.2", + "storybook": "^7.6.17", + "storybook-dark-mode": "^3.0.3", + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3", "vite": "^4.5.2", - "webpack": "^5.88.2" + "webpack": "^5.90.3" }, "repository": { "type": "git", "url": "https://github.com/commonalityco/commonality", "directory": "apps/workshop" } -} \ No newline at end of file +} diff --git a/apps/workshop/src/stories/constraints/constraints-dialog.stories.tsx b/apps/workshop/src/stories/constraints/constraints-dialog.stories.tsx new file mode 100644 index 00000000..4718380b --- /dev/null +++ b/apps/workshop/src/stories/constraints/constraints-dialog.stories.tsx @@ -0,0 +1,77 @@ +import { Meta, StoryObj } from '@storybook/react'; +import { ConstraintsDialog } from '@commonalityco/ui-constraints'; +import { DependencyType } from '@commonalityco/utils-core'; + +// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction +const meta = { + title: 'Constraints/ConstraintsDialog', + component: ConstraintsDialog, + tags: ['autodocs'], + argTypes: {}, + parameters: { + backgrounds: { + default: 'light/secondary', + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { + open: true, + result: { + isValid: true, + constraint: { + allow: ['tag-one'], + disallow: ['tag-two'], + }, + dependencyPath: [ + { + source: 'pkg-a', + target: 'pkg-b', + type: DependencyType.DEVELOPMENT, + version: '1.0.0', + }, + ], + filter: 'tag-one', + foundTags: ['tag-one'], + }, + }, +}; + +export const WithLongPath: Story = { + args: { + open: true, + result: { + isValid: false, + constraint: { + allow: ['tag-one'], + disallow: ['tag-two'], + }, + dependencyPath: [ + { + source: 'pkg-a', + target: 'pkg-b', + type: DependencyType.DEVELOPMENT, + version: '1.0.0', + }, + { + source: 'pkg-b', + target: 'pkg-c', + type: DependencyType.DEVELOPMENT, + version: '1.0.0', + }, + { + source: 'pkg-c', + target: 'pkg-d', + type: DependencyType.PRODUCTION, + version: '1.0.0', + }, + ], + filter: 'tag-one', + foundTags: ['tag-two'], + }, + }, +}; diff --git a/apps/workshop/src/stories/constraints/dependency-constraints-dialog.stories.tsx b/apps/workshop/src/stories/constraints/dependency-constraints-dialog.stories.tsx deleted file mode 100644 index bfdceb81..00000000 --- a/apps/workshop/src/stories/constraints/dependency-constraints-dialog.stories.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { DependencyConstraintsDialog } from '@commonalityco/ui-constraints'; -import { DependencyType } from '@commonalityco/utils-core'; - -// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction -const meta = { - title: 'Constraints/DependencyConstraintsDialog', - component: DependencyConstraintsDialog, - tags: ['autodocs'], - argTypes: {}, - parameters: { - backgrounds: { - default: 'light/secondary', - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const WithConstraints: Story = { - args: { - open: true, - dependencies: [ - { - source: 'pkg-a', - target: 'pkg-b', - version: '1.0.0', - type: DependencyType.DEVELOPMENT, - }, - { - source: 'pkg-a', - target: 'pkg-b', - version: '1.0.0', - type: DependencyType.PEER, - }, - ], - results: [ - { - isValid: true, - constraint: { - allow: ['tag-one'], - disallow: ['tag-two'], - }, - dependencyPath: [ - { - source: 'pkg-a', - target: 'pkg-b', - type: DependencyType.DEVELOPMENT, - version: '1.0.0', - }, - ], - filter: 'tag-one', - foundTags: ['tag-one'], - }, - { - isValid: false, - constraint: { - allow: ['tag-two'], - disallow: '*', - }, - dependencyPath: [ - { - source: 'pkg-a', - target: 'pkg-b', - type: DependencyType.PEER, - version: '1.0.0', - }, - ], - filter: 'tag-two', - foundTags: ['tag-two'], - }, - ], - }, -}; - -export const Stress: Story = { - args: { - open: true, - dependencies: [ - { - source: - 'pkg-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnngg', - target: - 'pkg-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnggg', - version: '1.0.0', - type: DependencyType.DEVELOPMENT, - }, - ], - results: [], - }, -}; - -export const NoConstraints: Story = { - args: { - open: true, - dependencies: [ - { - source: 'pkg-a', - target: 'pkg-b', - version: '1.0.0', - type: DependencyType.DEVELOPMENT, - }, - ], - results: [], - }, -}; diff --git a/apps/workshop/src/stories/constraints/feature-graph-toolbar.stories.tsx b/apps/workshop/src/stories/constraints/feature-graph-toolbar.stories.tsx deleted file mode 100644 index 34e655a8..00000000 --- a/apps/workshop/src/stories/constraints/feature-graph-toolbar.stories.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { FeatureGraphToolbar } from '@commonalityco/ui-constraints'; -import { GraphProvider } from '@commonalityco/ui-graph'; -import { Violation } from '@commonalityco/types'; - -// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction -const meta = { - title: 'Constraints/FeatureGraphToolbar', - component: FeatureGraphToolbar, - tags: ['autodocs'], - argTypes: {}, - parameters: { - backgrounds: { - default: 'light/secondary', - }, - }, - decorators: [ - (Story, props) => { - return ( - - - - ); - }, - ], -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const KitchenSink: Story = { - args: { - packages: [], - constraints: { - 'tag-one-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg': - { - allow: [ - 'tag-two-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - 'tag-three-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - 'one', - 'two', - 'three', - ], - disallow: [ - 'bar-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - ], - }, - 'tag-two': { allow: ['tag-two', 'tag-three'], disallow: ['tag-four'] }, - 'tag-three': { disallow: ['tag-four'] }, - 'tag-four': { allow: '*', disallow: ['tag-four'] }, - }, - violations: [ - { - sourcePackageName: - 'pkg-a-looooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnngggggggggggggggggggggggg', - targetPackageName: - 'pkg-b-looooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnngggggggggggggggggggggggg', - appliedTo: - 'tag-one-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - allowed: [ - 'tag-two-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - 'tag-three-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - ], - disallowed: [], - found: [ - 'bar-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - 'foo-loooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnggggggggggggg', - 'one', - 'two', - 'three', - ], - }, - { - sourcePackageName: 'pkg-b', - targetPackageName: 'pkg-c', - appliedTo: 'tag-two', - allowed: ['tag-two', 'tag-three'], - disallowed: [], - found: ['tag-bar'], - }, - { - sourcePackageName: 'pkg-b', - targetPackageName: 'pkg-d', - appliedTo: 'tag-two', - allowed: ['tag-two', 'tag-three'], - disallowed: [], - found: [], - }, - { - sourcePackageName: 'pkg-c', - targetPackageName: 'pkg-d', - appliedTo: 'tag-one', - allowed: ['tag-two', 'tag-three'], - disallowed: [], - found: [], - }, - ] satisfies Violation[], - }, -}; - -export const NoConstraints: Story = { - args: { - packages: [], - constraints: {}, - violations: [], - }, -}; diff --git a/apps/workshop/src/stories/constraints/feature-graph-worker.ts b/apps/workshop/src/stories/constraints/feature-graph-worker.ts deleted file mode 100644 index d6344051..00000000 --- a/apps/workshop/src/stories/constraints/feature-graph-worker.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { createWorker } from '@commonalityco/ui-graph/create-worker'; - -createWorker(); diff --git a/apps/workshop/src/stories/constraints/tooltip-dependency.stories.tsx b/apps/workshop/src/stories/constraints/tooltip-dependency.stories.tsx deleted file mode 100644 index 3bd4f885..00000000 --- a/apps/workshop/src/stories/constraints/tooltip-dependency.stories.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { TooltipDependency } from '@commonalityco/ui-constraints'; -import { DependencyType } from '@commonalityco/utils-core'; - -// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction -const meta = { - title: 'Constraints/TooltipDependency', - component: TooltipDependency, - tags: ['autodocs'], - argTypes: {}, - parameters: { - backgrounds: { - default: 'light/secondary', - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Simple: Story = { - args: { - results: [ - { - isValid: false, - constraint: { - allow: ['tag-one'], - disallow: '*', - }, - dependencyPath: [ - { - source: 'pkg-one', - target: 'pkg-two', - type: DependencyType.PRODUCTION, - version: '1.0.0', - }, - ], - foundTags: ['tag-one'], - filter: '*', - }, - { - isValid: true, - constraint: { - allow: ['tag-one'], - disallow: ['tag-two'], - }, - dependencyPath: [ - { - source: 'pkg-one', - target: 'pkg-two', - type: DependencyType.DEVELOPMENT, - version: '1.0.0', - }, - ], - foundTags: ['tag-one'], - filter: 'tag-one', - }, - ], - dependencies: [ - { - type: DependencyType.PRODUCTION, - version: '1.0.0', - target: 'pkg-two', - source: 'pkg-one', - }, - { - type: DependencyType.DEVELOPMENT, - version: '>=0', - target: 'pkg-two', - source: 'pkg-one', - }, - ], - }, -}; - -export const Empty: Story = { - args: { - results: [], - dependencies: [ - { - type: DependencyType.PRODUCTION, - version: '1.0.0', - target: '@scope/target', - source: '@scope/source', - }, - ], - }, -}; diff --git a/apps/workshop/src/stories/constraints/tooltip-package.stories.tsx b/apps/workshop/src/stories/constraints/tooltip-package.stories.tsx deleted file mode 100644 index 0352a3c8..00000000 --- a/apps/workshop/src/stories/constraints/tooltip-package.stories.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { TooltipPackage } from '@commonalityco/ui-constraints'; -import { PackageType } from '@commonalityco/utils-core'; - -// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction -const meta = { - title: 'Constraints/TooltipPackage', - component: TooltipPackage, - tags: ['autodocs'], - argTypes: {}, - args: { - dependenciesCount: 10, - dependentsCount: 20, - }, - parameters: { - backgrounds: { - default: 'light/secondary', - }, - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Simple: Story = { - args: { - pkg: { - name: '@scope/test', - version: '1.0.0', - description: 'This is a loooooooonnnnnnnnggggggg description.', - path: './scope/test', - type: PackageType.NODE, - }, - }, -}; - -export const NoAdditionalInfo: Story = { - args: { - pkg: { - name: '@scope/test', - version: '1.0.0', - path: './scope/test', - type: PackageType.NODE, - }, - }, -}; - -export const ExcessiveInfo: Story = { - args: { - pkg: { - name: '@scope/looooooooooooooooooooooooooonnnnnnngggggggggggg', - version: '1.0.0', - description: - 'The picturesque landscape, adorned with verdant forests, meandering rivers, and towering mountains, captivated the hearts of travelers, who cherished the serenity and beauty of this idyllic haven', - path: './scope/test', - type: PackageType.NODE, - }, - }, -}; diff --git a/apps/workshop/src/stories/constraints/feature-graph.stories.tsx b/apps/workshop/src/stories/graph/graph.stories.tsx similarity index 51% rename from apps/workshop/src/stories/constraints/feature-graph.stories.tsx rename to apps/workshop/src/stories/graph/graph.stories.tsx index 8f27050d..72db6d41 100644 --- a/apps/workshop/src/stories/constraints/feature-graph.stories.tsx +++ b/apps/workshop/src/stories/graph/graph.stories.tsx @@ -1,41 +1,26 @@ import { Meta, StoryObj } from '@storybook/react'; -import { FeatureGraphChart } from '@commonalityco/ui-constraints'; -import { GraphProvider } from '@commonalityco/ui-graph'; +import { Graph } from '@commonalityco/ui-graph'; import { DependencyType, PackageType } from '@commonalityco/utils-core'; -import { ConstraintResult, Dependency, Package } from '@commonalityco/types'; -import { GraphLayoutMain } from '@commonalityco/ui-constraints'; -import GraphWorker from './feature-graph-worker.ts?worker'; -// const newWorker = new Worker( -// new URL('./feature-graph-worker.ts', import.meta.url), -// ); +import { Dependency, Package } from '@commonalityco/types'; +import { getEdges } from '@commonalityco/ui-graph/package/get-edges'; +import { getNodes } from '@commonalityco/ui-graph/package/get-nodes'; -const newWorker = new GraphWorker(); - -const meta = { - title: 'Constraints/FeatureGraphChart', - component: FeatureGraphChart, +const meta: Meta = { + title: 'Graph/Graph', + component: Graph, tags: ['autodocs'], parameters: { layout: 'fullscreen', }, - args: { - theme: 'light', - worker: newWorker, - }, + args: {}, decorators: [ - (Story, props) => { - return ( -
- - - - - -
- ); - }, + (Story) => ( +
+ +
+ ), ], -} satisfies Meta; +}; export default meta; type Story = StoryObj; @@ -101,6 +86,12 @@ const dependencies = [ source: '@scope/pkg-a', target: '@scope/pkg-c', }, + { + type: DependencyType.DEVELOPMENT, + version: '1.0.0', + source: '@scope/pkg-d', + target: '@scope/pkg-', + }, { type: DependencyType.PEER, version: '1.0.0', @@ -115,53 +106,18 @@ const dependencies = [ }, ] satisfies Dependency[]; -export const Default: Story = { - args: { - packages, - dependencies, - results: [], - constraints: {}, - }, -}; - -const results = [ - { - constraint: { - allow: ['bar'], - }, - dependencyPath: [ - { - source: '@scope/pkg-a', - target: '@scope/pkg-b', - type: DependencyType.PRODUCTION, - version: '1.0.0', - }, - ], - filter: 'foo', - isValid: true, - foundTags: ['foo', 'bar'], - }, -] satisfies ConstraintResult[]; - -export const ConstraintsAndViolations: Story = { +export const Default = { args: { - packages, - dependencies, - constraints: { - foo: { - allow: ['bar'], - disallow: ['baz'], - }, - }, - results, + nodes: getNodes({ + packages, + dependencies, + tagsData: [{ packageName: '@scope/pkg-a', tags: ['tag-a', 'tag-b'] }], + }), + edges: getEdges({ + dependencies, + theme: 'light', + activeDependencyTypes: [], + results: [], + }), }, -}; - -export const Zero: Story = { - args: { - packages: [], - dependencies: [], - constraints: {}, - results: [], - }, -}; +} satisfies Story; diff --git a/apps/workshop/tailwind.config.js b/apps/workshop/tailwind.config.js index c7e88776..9671d2bf 100644 --- a/apps/workshop/tailwind.config.js +++ b/apps/workshop/tailwind.config.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('node:path'); const baseConfig = require('@commonalityco/config-tailwind'); const getPkgPattern = (pkgName) => { @@ -17,5 +17,6 @@ module.exports = { getPkgPattern('@commonalityco/ui-design-system'), getPkgPattern('@commonalityco/ui-package'), getPkgPattern('@commonalityco/ui-core'), + getPkgPattern('@commonalityco/ui-graph'), ], }; diff --git a/package.json b/package.json index 67d7c9c8..ce1711f0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@commonalityco/monorepo", "version": "0.0.1", - "packageManager": "pnpm@8.11.0", + "packageManager": "pnpm@8.15.3", "description": "", "repository": "https://github.com/commonalityco/commonality", "contributors": [ @@ -30,21 +30,21 @@ "dependencies": { "@changesets/cli": "^2.27.1", "@commonalityco/config-tsconfig": "workspace:*", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitest/coverage-v8": "^0.34.6", "commonality": "workspace:*", "commonality-checks-recommended": "workspace:*", "eslint": "^8.56.0", "eslint-config-commonality": "workspace:*", - "eslint-plugin-unused-imports": "^3.0.0", + "eslint-plugin-unused-imports": "^3.1.0", "execa": "^8.0.1", "husky": "^8.0.3", "npm-run-all": "^4.1.5", - "prettier": "^3.1.1", + "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "ts-node": "^10.9.2", - "turbo": "^1.11.2", + "turbo": "^1.12.4", "typescript": "^5.3.3", "vitest": "^0.34.6" }, diff --git a/packages/commonality-checks-recommended/package.json b/packages/commonality-checks-recommended/package.json index 9e8e20e4..cc0bfc71 100644 --- a/packages/commonality-checks-recommended/package.json +++ b/packages/commonality-checks-recommended/package.json @@ -32,19 +32,19 @@ }, "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", - "@types/lodash-es": "^4.14.198", + "@types/lodash-es": "^4.17.12", "@types/mock-fs": "^4.13.4", - "@types/semver": "^7.5.6", + "@types/semver": "^7.5.7", "@types/validate-npm-package-name": "^4.0.2", "commonality": "workspace:*", "eslint-config-commonality": "workspace:*", "mock-fs": "^5.2.0", - "tsup": "^8.0.1", - "typescript": "^5.2.2" + "tsup": "^8.0.2", + "typescript": "^5.3.3" }, "dependencies": { "lodash-es": "^4.17.21", - "semver": "^7.5.4", + "semver": "^7.6.0", "validate-npm-package-name": "^5.0.0" }, "repository": { diff --git a/packages/data-codeowners/package.json b/packages/data-codeowners/package.json index e3d0da59..c61ae2f9 100644 --- a/packages/data-codeowners/package.json +++ b/packages/data-codeowners/package.json @@ -26,18 +26,18 @@ "dev": "tsc --watch" }, "dependencies": { - "fast-glob": "^3.3.1", - "fs-extra": "^11.1.1", + "fast-glob": "^3.3.2", + "fs-extra": "^11.2.0", "micromatch": "^4.0.5" }, "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", - "@types/fs-extra": "^11.0.2", + "@types/fs-extra": "^11.0.4", "@types/micromatch": "^4.0.6", - "@types/node": "^20.10.0", + "@types/node": "^20.11.20", "eslint-config-commonality": "workspace:*", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "repository": { "type": "git", diff --git a/packages/data-constraints/package.json b/packages/data-constraints/package.json index 8d161104..dda21c7b 100644 --- a/packages/data-constraints/package.json +++ b/packages/data-constraints/package.json @@ -24,7 +24,7 @@ "@commonalityco/types": "workspace:*", "@commonalityco/utils-core": "workspace:*", "eslint-config-commonality": "workspace:*", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "repository": { "type": "git", diff --git a/packages/data-packages/package.json b/packages/data-packages/package.json index ecf9bf73..c18c0365 100644 --- a/packages/data-packages/package.json +++ b/packages/data-packages/package.json @@ -26,21 +26,25 @@ "dev": "tsc --watch" }, "dependencies": { + "fs-extra": "^11.2.0" + }, + "peerDependencies": { "@commonalityco/data-project": "workspace:*", - "@commonalityco/utils-core": "workspace:*", - "fs-extra": "^11.1.1" + "@commonalityco/utils-core": "workspace:*" }, "devDependencies": { + "@commonalityco/data-project": "workspace:*", + "@commonalityco/utils-core": "workspace:*", "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", - "@types/fs-extra": "^11.0.2", - "@types/node": "^20.10.0", + "@types/fs-extra": "^11.0.4", + "@types/node": "^20.11.20", "eslint-config-commonality": "workspace:*", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "repository": { "type": "git", "url": "https://github.com/commonalityco/commonality", "directory": "packages/data-packages" } -} \ No newline at end of file +} diff --git a/packages/data-packages/src/get-package.ts b/packages/data-packages/src/get-package.ts index 78cc95d9..0a7f4ffa 100644 --- a/packages/data-packages/src/get-package.ts +++ b/packages/data-packages/src/get-package.ts @@ -61,7 +61,10 @@ export const getPackage = async ({ name: packageJson.name, description: packageJson.description, path: directory, - type: getType(packageJson.dependencies), + type: getType({ + ...packageJson.dependencies, + ...packageJson.devDependencies, + }), version: packageJson.version ?? '', } satisfies Package; }; diff --git a/packages/data-project/package.json b/packages/data-project/package.json index f729c418..47820df0 100644 --- a/packages/data-project/package.json +++ b/packages/data-project/package.json @@ -29,19 +29,19 @@ "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", - "@types/fs-extra": "^11.0.2", + "@types/fs-extra": "^11.0.4", "@types/mock-fs": "^4.13.4", - "@types/node": "^20.10.0", + "@types/node": "^20.11.20", "eslint-config-commonality": "workspace:*", "mock-fs": "^5.2.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "dependencies": { "@commonalityco/utils-core": "workspace:*", "find-up": "^6.3.0", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "globby": "^13.2.2", - "yaml": "^2.3.2", + "yaml": "^2.3.4", "zod": "^3.22.4" }, "repository": { diff --git a/packages/data-tags/package.json b/packages/data-tags/package.json index d4c883e7..fc922842 100644 --- a/packages/data-tags/package.json +++ b/packages/data-tags/package.json @@ -27,15 +27,15 @@ "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", - "@types/fs-extra": "^11.0.2", - "@types/node": "^20.10.0", + "@types/fs-extra": "^11.0.4", + "@types/node": "^20.11.20", "eslint-config-commonality": "workspace:*", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "dependencies": { "@commonalityco/data-project": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "fs-extra": "^11.1.1" + "fs-extra": "^11.2.0" }, "repository": { "type": "git", diff --git a/packages/types/package.json b/packages/types/package.json index 4fc39f4a..2d161861 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -28,7 +28,7 @@ "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/utils-core": "workspace:*", "eslint-config-commonality": "workspace:*", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "exports": { ".": "./src/index.ts" diff --git a/packages/ui-conformance/package.json b/packages/ui-conformance/package.json index 5bc32133..f2886be1 100644 --- a/packages/ui-conformance/package.json +++ b/packages/ui-conformance/package.json @@ -29,16 +29,16 @@ "@commonalityco/ui-design-system": "workspace:*", "@commonalityco/utils-conformance": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "@floating-ui/react": "^0.26.3", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", + "@floating-ui/react": "^0.26.9", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", - "@types/react": "^18.2.22", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", "resize-observer-polyfill": "^1.5.1", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vitest": "^0.34.6" }, "peerDependencies": { @@ -49,7 +49,7 @@ "react-dom": ">=18" }, "dependencies": { - "@tanstack/react-table": "^8.10.1", + "@tanstack/react-table": "^8.12.0", "lucide-react": "^0.317.0" }, "repository": { diff --git a/packages/ui-conformance/src/conformance-header.tsx b/packages/ui-conformance/src/conformance-header.tsx index 5eaa68f2..c6b589c4 100644 --- a/packages/ui-conformance/src/conformance-header.tsx +++ b/packages/ui-conformance/src/conformance-header.tsx @@ -30,7 +30,7 @@ export function ConformanceHeader({ return (
-

Checks

+

Packages

{`${shownCount} of ${totalCount} packages`}

diff --git a/packages/ui-constraints/package.json b/packages/ui-constraints/package.json index ee29a9e8..7ffecda2 100644 --- a/packages/ui-constraints/package.json +++ b/packages/ui-constraints/package.json @@ -22,22 +22,23 @@ }, "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", + "@commonalityco/config-tailwind": "workspace:*", "@commonalityco/types": "workspace:*", "@commonalityco/ui-core": "workspace:*", "@commonalityco/ui-design-system": "workspace:*", "@commonalityco/ui-graph": "workspace:*", "@commonalityco/utils-core": "workspace:*", "@commonalityco/utils-package": "workspace:*", - "@floating-ui/react": "^0.26.3", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", + "@floating-ui/react": "^0.26.9", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", - "@types/lodash-es": "^4.14.198", - "@types/react": "^18.2.22", + "@types/lodash-es": "^4.17.12", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vitest": "^0.34.6" }, "peerDependencies": { @@ -52,6 +53,7 @@ "@xstate/react": "^3.2.2", "lodash-es": "^4.17.21", "lucide-react": "^0.317.0", + "react-minimal-pie-chart": "^8.4.0", "react-resizable-panels": "^0.0.54" }, "repository": { @@ -59,4 +61,4 @@ "url": "https://github.com/commonalityco/commonality", "directory": "packages/ui-constraints" } -} \ No newline at end of file +} diff --git a/packages/ui-constraints/src/constraints-dialog.tsx b/packages/ui-constraints/src/constraints-dialog.tsx new file mode 100644 index 00000000..32b0a0ad --- /dev/null +++ b/packages/ui-constraints/src/constraints-dialog.tsx @@ -0,0 +1,175 @@ +'use client'; +import { ConstraintResult } from '@commonalityco/types'; +import { + Badge, + Button, + Dialog, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, + ScrollArea, + cn, +} from '@commonalityco/ui-design-system'; +import { ComponentProps } from 'react'; +import { Package, Dot, ShieldX } from 'lucide-react'; +import { formatTagName } from '@commonalityco/utils-core'; + +function TagsContainer({ + children, + ...rest +}: { children: React.ReactNode } & ComponentProps<'dd'>) { + return ( +
+ {children} +
+ ); +} + +function ConstraintsTagsContainer({ + tags, + + labelId, + allPackagesText, +}: { + tags: string[] | '*'; + labelId: string; + allPackagesText: string; +}) { + return ( +
+ + {tags === '*' ? ( + {allPackagesText} + ) : ( + tags.map((tag) => { + return ( + + {formatTagName(tag)} + + ); + }) + )} + +
+ ); +} + +export function ConstraintsDialog({ + result, + ...props +}: ComponentProps & { + result: ConstraintResult; +}) { + return ( + + + + +
+
+ +
+ Invalid constraint +
+
+
+ +
+
+
+ {result.dependencyPath.map((path, index) => ( +
+

+ {path.source} +

+ {index === 0 ? ( +
+ {'allow' in result.constraint ? ( + <> +
+ Allowed: +
+ + + ) : undefined} + {'disallow' in result.constraint ? ( + <> +
+ Disallowed: +
+ + + ) : undefined} +
+ ) : ( +
+ )} + + {index + 1 === result.dependencyPath.length ? ( +
+

+ + {path.target} +

+
+
+ Found: +
+
+ +
+
+ +
+ ) : undefined} +
+ ))} +
+
+
+ + + + + +
+ ); +} diff --git a/packages/ui-constraints/src/constraints-onboarding-card.tsx b/packages/ui-constraints/src/constraints-onboarding-card.tsx index 27683e7b..3fe43c26 100644 --- a/packages/ui-constraints/src/constraints-onboarding-card.tsx +++ b/packages/ui-constraints/src/constraints-onboarding-card.tsx @@ -10,11 +10,13 @@ import { ExternalLink, Network } from 'lucide-react'; export function ConstraintsOnboardingCard({ title = 'Organize your dependency graph', + className, }: { title?: string; + className?: string; }) { return ( - +
@@ -29,9 +31,9 @@ export function ConstraintsOnboardingCard({ - - - - - ); -} diff --git a/packages/ui-constraints/src/feature-dependency-constraints-dialog.tsx b/packages/ui-constraints/src/feature-dependency-constraints-dialog.tsx deleted file mode 100644 index 2ff343b6..00000000 --- a/packages/ui-constraints/src/feature-dependency-constraints-dialog.tsx +++ /dev/null @@ -1,39 +0,0 @@ -'use client'; -import { GraphContext } from '@commonalityco/ui-graph'; -import { Dependency } from '@commonalityco/types'; -import { DependencyConstraintsDialog } from './dependency-constraints-dialog'; - -export function FeatureDependencyConstraintsDialog() { - const { send } = GraphContext.useActorRef(); - const selectedEdge = GraphContext.useSelector( - (state) => state.context.selectedEdge, - ); - const data: { id: string; dependencies: Dependency[] } | undefined = - selectedEdge?.data(); - - const results = GraphContext.useSelector((state) => state.context.results); - - const resultsForEdge = results.filter((result) => { - return result.dependencyPath.some((depPath) => { - return ( - depPath.source === data?.dependencies[0]?.source && - depPath.target === data?.dependencies[0]?.target - ); - }); - }); - - return ( - { - if (!open) { - send({ type: 'UNSELECT' }); - } - }} - /> - ); -} - -export default FeatureDependencyConstraintsDialog; diff --git a/packages/ui-constraints/src/feature-graph-chart.tsx b/packages/ui-constraints/src/feature-graph-chart.tsx deleted file mode 100644 index a1cb1502..00000000 --- a/packages/ui-constraints/src/feature-graph-chart.tsx +++ /dev/null @@ -1,127 +0,0 @@ -'use client'; -import { ConstraintResult, Dependency, Package } from '@commonalityco/types'; -import { Package as PackageIcon } from 'lucide-react'; -import { GraphChart } from './graph-chart'; -import { useEffect, useRef } from 'react'; -import { GraphContext } from '@commonalityco/ui-graph'; -import FeatureGraphToolbar from './feature-graph-toolbar'; -import { cn } from '@commonalityco/ui-design-system/cn'; -import debounce from 'lodash-es/debounce'; -import { getElementDefinitions } from '@commonalityco/ui-graph'; -import { ProjectConfig } from '@commonalityco/utils-core'; - -interface GraphProperties { - packages: Package[]; - results: ConstraintResult[]; - constraints: ProjectConfig['constraints']; - dependencies: Dependency[]; - theme?: string; - onPackageClick: (packageName: string) => void; - worker: Worker; -} - -export function FeatureGraphChart({ - packages, - results, - dependencies, - theme, - worker, -}: GraphProperties) { - const containerReference = useRef(null); - - const actor = GraphContext.useActorRef(); - const isLoading = GraphContext.useSelector((state) => { - return ( - state.matches('updating') || - state.matches('rendering') || - state.matches('uninitialized') - ); - }); - - const isEmpty = GraphContext.useSelector((state) => { - return state.matches('success') && state.context.elements.length === 0; - }); - const isHovering = GraphContext.useSelector( - (state) => state.context.isHovering, - ); - const renderGraph = GraphContext.useSelector( - (state) => state.context.renderGraph, - ); - - useEffect(() => { - const listener = debounce(() => { - renderGraph?.resize(); - actor.send('FIT'); - }, 50); - - window.addEventListener('resize', listener); - - return () => window.removeEventListener('resize', listener); - }, [renderGraph]); - - useEffect(() => { - if (!results || !packages) { - return; - } - - if (containerReference.current && packages && dependencies && worker) { - actor.send({ - type: 'INITIALIZE', - containerId: containerReference.current.id, - elements: getElementDefinitions({ packages, dependencies }), - theme: theme ?? 'light', - results, - worker, - }); - } - - return () => { - actor.send({ type: 'DESTROY' }); - }; - }, [results, packages, worker]); - - useEffect(() => { - if (!theme) return; - - actor.send({ type: 'SET_THEME', theme }); - }, [theme, actor.send]); - - const isZero = !packages?.length; - - if (isZero) { - return ( -
-
- -

- Build your first package -

-

- You'll see your dependency graph here after you've created your - first package. -

-
-
- ); - } - - return ( - <> - - { - actor.send({ type: 'SHOW_ALL' }); - }} - className={cn({ - 'cursor-pointer': isHovering, - 'cursor-grab active:cursor-grabbing': !isHovering, - })} - /> - - ); -} - -export default FeatureGraphChart; diff --git a/packages/ui-constraints/src/feature-graph-header.tsx b/packages/ui-constraints/src/feature-graph-header.tsx deleted file mode 100644 index 352c1db1..00000000 --- a/packages/ui-constraints/src/feature-graph-header.tsx +++ /dev/null @@ -1,34 +0,0 @@ -'use client'; -import { ConstraintResult } from '@commonalityco/types'; -import { GraphContext } from '@commonalityco/ui-graph'; -import GraphHeader from './graph-header'; - -export function FeatureGraphHeader({ - results, - children, -}: { - results: ConstraintResult[]; - children?: React.ReactNode; -}) { - const totalCount = GraphContext.useSelector((state) => { - return state.context.traversalGraph - ? state.context.traversalGraph.nodes().length - : 0; - }); - - const shownCount = GraphContext.useSelector((state) => - state.context.renderGraph - ? state.context.renderGraph.nodes().length - : totalCount, - ); - - return ( - - {children} - - ); -} diff --git a/packages/ui-constraints/src/feature-graph-package-tooltip.tsx b/packages/ui-constraints/src/feature-graph-package-tooltip.tsx deleted file mode 100644 index e3357be4..00000000 --- a/packages/ui-constraints/src/feature-graph-package-tooltip.tsx +++ /dev/null @@ -1,72 +0,0 @@ -'use client'; -import { TooltipPackage } from './tooltip-package'; -import { GraphContext } from '@commonalityco/ui-graph'; -import { GraphTooltip } from './graph-tooltip'; -import { Package } from '@commonalityco/types'; - -export function FeatureGraphPackageTooltip({ - onEditTags, - onOpenPackageJson, -}: { - onOpenPackageJson: (pkg: Package) => void; - onEditTags: (pkg: Package) => void; -}) { - const actor = GraphContext.useActorRef(); - const selectedRenderNode = GraphContext.useSelector( - (state) => state.context.selectedRenderNode, - ); - const selectedTraversalNode = GraphContext.useSelector( - (state) => state.context.selectedTraversalNode, - ); - const pkg: Package = selectedRenderNode?.data(); - const dependentsCount = selectedTraversalNode?.incomers().nodes().length; - const dependenciesCount = selectedTraversalNode?.outgoers().nodes().length; - - return ( - <> - {selectedRenderNode && selectedTraversalNode && ( - - actor.send({ - type: 'FOCUS', - selector: `node[id="${package_.name}"]`, - }) - } - onHide={(package_) => { - actor.send({ - type: 'HIDE', - selector: `node[id="${package_.name}"]`, - }); - }} - onDependenciesHide={(package_) => { - actor.send({ type: 'HIDE_DEPENDENCIES', pkg: package_ }); - }} - onDependenciesShow={(package_) => { - actor.send({ type: 'SHOW_DEPENDENCIES', pkg: package_ }); - }} - onDependentsHide={(package_) => { - actor.send({ type: 'HIDE_DEPENDANTS', pkg: package_ }); - }} - onDependentsShow={(package_) => { - actor.send({ type: 'SHOW_DEPENDANTS', pkg: package_ }); - }} - /> - } - /> - )} - - ); -} - -export default FeatureGraphPackageTooltip; diff --git a/packages/ui-constraints/src/feature-graph-sidebar.tsx b/packages/ui-constraints/src/feature-graph-sidebar.tsx deleted file mode 100644 index 4b45199c..00000000 --- a/packages/ui-constraints/src/feature-graph-sidebar.tsx +++ /dev/null @@ -1,143 +0,0 @@ -'use client'; -import { GraphContext } from '@commonalityco/ui-graph'; -import { CodeownersData, Package, TagsData } from '@commonalityco/types'; -import { Sidebar } from './sidebar'; -import { ComponentProps } from 'react'; - -interface FeatureGraphSidebarProperties { - codeownersData: CodeownersData[]; - tagsData: TagsData[]; - packages: Package[]; - onLayout?: ComponentProps['onLayout']; - defaultLayout?: ComponentProps['defaultLayout']; -} - -export function FeatureGraphSidebar({ - codeownersData, - tagsData, - packages, - onLayout, - defaultLayout, -}: FeatureGraphSidebarProperties) { - const { send } = GraphContext.useActorRef(); - const visiblePackages = GraphContext.useSelector((state) => { - if (!state.context.renderGraph) return []; - - return state.context.renderGraph - .nodes() - .map((node) => node.data()) as Package[]; - }); - - return ( - send({ type: 'HIDE_ALL' })} - onShowAll={() => send({ type: 'SHOW_ALL' })} - onPackageHide={(package_) => - send({ - type: 'HIDE', - selector: `node[name="${package_}"]`, - }) - } - onPackageShow={(package_) => - send({ type: 'SHOW', selector: `node[name="${package_}"]` }) - } - onPackageFocus={(package_) => - send({ type: 'FOCUS', selector: `node[name="${package_}"]` }) - } - onTagHide={(tag) => - send({ - type: 'HIDE', - selector: (element) => { - const package_: Package = element.data(); - const tagDataForPackage = tagsData?.find( - (data) => data.packageName === package_.name, - ); - - return tagDataForPackage?.tags.includes(tag) ?? false; - }, - }) - } - onTagShow={(tag) => - send({ - type: 'SHOW', - selector: (element) => { - const package_: Package = element.data(); - const tagDataForPackage = tagsData?.find( - (data) => data.packageName === package_.name, - ); - - return tagDataForPackage?.tags.includes(tag) ?? false; - }, - }) - } - onTagFocus={(tag) => - send({ - type: 'ISOLATE', - selector: (element) => { - if (element.isEdge()) { - return false; - } - - const package_: Package = element.data(); - const tagDataForPackage = tagsData?.find( - (data) => data.packageName === package_.name, - ); - - return tagDataForPackage?.tags.includes(tag) ?? false; - }, - }) - } - onTeamHide={(team) => { - send({ - type: 'HIDE', - selector: (element) => { - const package_: Package = element.data(); - const ownerDataForPackage = codeownersData?.find( - (data) => data.packageName === package_.name, - ); - - return ownerDataForPackage?.codeowners.includes(team) ?? false; - }, - }); - }} - onTeamShow={(team) => { - send({ - type: 'SHOW', - selector: (element) => { - const package_: Package = element.data(); - const ownerDataForPackage = codeownersData?.find( - (data) => data.packageName === package_.name, - ); - - return ownerDataForPackage?.codeowners.includes(team) ?? false; - }, - }); - }} - onTeamFocus={(team) => - send({ - type: 'ISOLATE', - selector: (element) => { - if (element.isEdge()) { - return false; - } - - const package_: Package = element.data(); - const ownerDataForPackage = codeownersData?.find( - (data) => data.packageName === package_.name, - ); - - return ownerDataForPackage?.codeowners.includes(team) ?? false; - }, - }) - } - codeownersData={codeownersData} - tagsData={tagsData ?? []} - packages={packages} - visiblePackages={visiblePackages ?? []} - /> - ); -} - -export default FeatureGraphSidebar; diff --git a/packages/ui-constraints/src/feature-graph-toolbar.tsx b/packages/ui-constraints/src/feature-graph-toolbar.tsx deleted file mode 100644 index aa21ff3b..00000000 --- a/packages/ui-constraints/src/feature-graph-toolbar.tsx +++ /dev/null @@ -1,17 +0,0 @@ -'use client'; -import { GraphContext } from '@commonalityco/ui-graph'; -import { GraphToolbar } from './graph-toolbar'; - -export function FeatureGraphToolbar() { - const { send } = GraphContext.useActorRef(); - - return ( - send({ type: 'FIT', selector: 'node, edge' })} - onZoomIn={() => send({ type: 'ZOOM_IN' })} - onZoomOut={() => send({ type: 'ZOOM_OUT' })} - /> - ); -} - -export default FeatureGraphToolbar; diff --git a/packages/ui-constraints/src/graph-header.tsx b/packages/ui-constraints/src/graph-header.tsx index b39fbf67..ee3bc21e 100644 --- a/packages/ui-constraints/src/graph-header.tsx +++ b/packages/ui-constraints/src/graph-header.tsx @@ -1,17 +1,13 @@ +'use client'; import { ConstraintResult } from '@commonalityco/types'; import { cn } from '@commonalityco/ui-design-system'; -import { Check, X } from 'lucide-react'; import { useState } from 'react'; import { AllConstraintsDialog } from './all-constraints-dialog'; -function GraphHeader({ - totalCount, - shownCount, +export function GraphHeader({ results, children, }: { - totalCount: number; - shownCount: number; results: ConstraintResult[]; children?: React.ReactNode; }) { @@ -22,10 +18,7 @@ function GraphHeader({ return (
-

Constraints

- {totalCount > 0 ? ( -

{`${shownCount} of ${totalCount} packages`}

- ) : undefined} +

Graph

@@ -66,5 +59,3 @@ function GraphHeader({
); } - -export default GraphHeader; diff --git a/packages/ui-constraints/src/graph-layout.tsx b/packages/ui-constraints/src/graph-layout.tsx index c673de20..7f42d482 100644 --- a/packages/ui-constraints/src/graph-layout.tsx +++ b/packages/ui-constraints/src/graph-layout.tsx @@ -10,7 +10,7 @@ export function GraphLayoutRoot({ return (
@@ -27,8 +27,13 @@ export function GraphLayoutAside({ className?: string; }) { return ( -
-
{children}
+
+
{children}
); } @@ -41,10 +46,10 @@ export function GraphLayoutMain({ className?: string; }) { return ( -
+
{ - const [isOpen, setIsOpen] = useState(open); - const arrowRef = useRef(null); - - const { - x, - y, - strategy: usedStrategy, - refs, - placement: finalPlacement, - middlewareData: { arrow: { x: arrowX, y: arrowY } = {} }, - context, - } = useFloating({ - placement, - whileElementsMounted: strategy === 'fixed' ? autoUpdate : undefined, - open: isOpen, - onOpenChange: setIsOpen, - strategy, - middleware: [ - offset(6), - flip(), - shift({ padding: 6 }), - arrow({ element: arrowRef }), - ], - }); - - const staticSide: string = - { - top: 'bottom', - right: 'left', - bottom: 'top', - left: 'right', - }[finalPlacement.split('-')[0]] || 'bottom'; - - useLayoutEffect(() => { - if (externalReference) { - refs.setReference(externalReference); - } - }, [refs, externalReference]); - - const click = useClick(context); - const dismiss = useDismiss(context, { - enabled: true, - referencePress: false, - outsidePress: true, - outsidePressEvent: 'mousedown', - }); - - const role = useRole(context, { role: 'tooltip' }); - - const { getReferenceProps, getFloatingProps } = useInteractions([ - click, - dismiss, - role, - ]); - - const cloneProps: RefAttributes = { - ref: refs.setReference, - ...getReferenceProps(), - }; - - return ( - <> - {!externalReference && !!children - ? cloneElement(children, cloneProps) - : children} - {isOpen ? ( -
-
-
- {content} -
-
- ) : undefined} - - ); -}; diff --git a/packages/ui-constraints/src/index.ts b/packages/ui-constraints/src/index.ts index b1d59f70..656a8db6 100644 --- a/packages/ui-constraints/src/index.ts +++ b/packages/ui-constraints/src/index.ts @@ -1,10 +1,5 @@ -export { FeatureGraphChart } from './feature-graph-chart'; -export { FeatureGraphSidebar } from './feature-graph-sidebar'; -export { FeatureGraphPackageTooltip } from './feature-graph-package-tooltip'; -export { FeatureGraphToolbar } from './feature-graph-toolbar'; -export { FeatureGraphHeader } from './feature-graph-header'; +export { GraphHeader } from './graph-header'; export { ConstraintResults } from './constraint-results'; -export { TooltipDependency } from './tooltip-dependency'; export { Sidebar } from './sidebar'; export { GraphChart } from './graph-chart'; export { @@ -12,10 +7,7 @@ export { GraphLayoutAside, GraphLayoutMain, } from './graph-layout'; -export { TooltipPackage } from './tooltip-package'; export { GraphToolbar } from './graph-toolbar'; -export { GraphTooltip } from './graph-tooltip'; export { ChartLoading } from './chart-loading'; -export { DependencyConstraintsDialog } from './dependency-constraints-dialog'; +export { ConstraintsDialog } from './constraints-dialog'; export { AllConstraintsDialog } from './all-constraints-dialog'; -export { FeatureDependencyConstraintsDialog } from './feature-dependency-constraints-dialog'; diff --git a/packages/ui-constraints/src/sidebar.tsx b/packages/ui-constraints/src/sidebar.tsx index 11915b51..fc182732 100644 --- a/packages/ui-constraints/src/sidebar.tsx +++ b/packages/ui-constraints/src/sidebar.tsx @@ -1,36 +1,34 @@ 'use client'; -import { ComponentProps, useMemo, useState } from 'react'; import { CodeownersData, Package, TagsData } from '@commonalityco/types'; +import { GradientFade, getIconForPackage } from '@commonalityco/ui-core'; import { - Button, - Input, Badge, + Button, + Card, + CardDescription, + CardFooter, + CardHeader, + CardTitle, Heading, - Text, + Input, ScrollArea, - TooltipProvider, + Text, Tooltip, TooltipContent, + TooltipProvider, TooltipTrigger, - Card, - CardHeader, - CardTitle, - CardDescription, - CardFooter, - cn, } from '@commonalityco/ui-design-system'; -import { formatPackageName } from '@commonalityco/utils-package'; import { Box, ExternalLink, Eye, EyeOff, - Users, Focus, Tags, + Users, } from 'lucide-react'; +import { ComponentProps, useMemo, useState } from 'react'; import { Panel, PanelGroup, PanelResizeHandle } from 'react-resizable-panels'; -import { GradientFade, getIconForPackage } from '@commonalityco/ui-core'; function ShowHideButton({ visible, @@ -42,14 +40,7 @@ function ShowHideButton({ onShow: ComponentProps['onClick']; }) { return ( -
+
@@ -62,11 +53,10 @@ function ShowHideButton({ > {visible ? ( <> - - + ) : ( - + )} @@ -106,7 +96,7 @@ function FocusButton({ function PackagesFilterSection({ packages, - stripScopeFromPackageNames, + visiblePackages, onHide, onShow, @@ -115,7 +105,7 @@ function PackagesFilterSection({ }: { visiblePackages: Package[]; packages: Package[]; - stripScopeFromPackageNames?: boolean; + onHide: (packageName: string) => void; onShow: (packageName: string) => void; onFocus: (packageName: string) => void; @@ -175,19 +165,16 @@ function PackagesFilterSection({ ); const IconForPackage = getIconForPackage(package_.type); - const formattedPackageName = formatPackageName(package_.name, { - stripScope: stripScopeFromPackageNames ?? true, - }); return (

- {formattedPackageName} + {package_.name}

@@ -476,7 +463,7 @@ export function Sidebar({ visiblePackages, tagsData, codeownersData, - stripScopeFromPackageNames, + onHideAll = () => {}, onShowAll = () => {}, onTagHide = () => {}, @@ -496,18 +483,18 @@ export function Sidebar({ packages: Package[]; codeownersData: CodeownersData[]; tagsData: TagsData[]; - stripScopeFromPackageNames?: boolean; - onShowAll: () => void; - onHideAll: () => void; - onTagHide: (tag: string) => void; - onTagShow: (tag: string) => void; - onTagFocus: (tag: string) => void; - onTeamHide: (team: string) => void; - onTeamShow: (team: string) => void; - onTeamFocus: (team: string) => void; - onPackageHide: (packageName: string) => void; - onPackageShow: (packageName: string) => void; - onPackageFocus: (packageName: string) => void; + + onShowAll?: () => void; + onHideAll?: () => void; + onTagHide?: (tag: string) => void; + onTagShow?: (tag: string) => void; + onTagFocus?: (tag: string) => void; + onTeamHide?: (team: string) => void; + onTeamShow?: (team: string) => void; + onTeamFocus?: (team: string) => void; + onPackageHide?: (packageName: string) => void; + onPackageShow?: (packageName: string) => void; + onPackageFocus?: (packageName: string) => void; onLayout?: ComponentProps['onLayout']; defaultLayout?: [number, number, number]; initialSearch?: string; @@ -534,8 +521,8 @@ export function Sidebar({ filteredPackages.length === 0; return ( -
-
+
+
- ); -} - -export const TooltipPackage = ({ - onHide = () => {}, - onFocus = () => {}, - onOpenPackageJson = () => {}, - onEditTags = () => {}, - onDependenciesShow = () => {}, - onDependenciesHide = () => {}, - onDependentsShow = () => {}, - onDependentsHide = () => {}, - dependenciesCount, - dependentsCount, - pkg, -}: TooltipPackageProperties) => { - return ( - <> -
-
-
-
- Package -
- onOpenPackageJson(pkg)}> - - Edit package.json - - onEditTags(pkg)}> - - Edit tags - - onFocus(pkg)}> - - Focus - - onHide(pkg)}> - - Hide - -
- -
-
-
- Dependents -
-
- - {dependentsCount} - - -
-
- - onDependentsShow(pkg)} - > - - Show all - - onDependentsHide(pkg)} - > - - Hide all - -
- -
-
-
- Dependencies -
-
- - {dependenciesCount} - - -
-
- - onDependenciesShow(pkg)} - > - - Show all - - onDependenciesHide(pkg)} - > - - Hide all - -
-
-
- - ); -}; diff --git a/packages/ui-constraints/tailwind.config.js b/packages/ui-constraints/tailwind.config.js new file mode 100644 index 00000000..9a5527c7 --- /dev/null +++ b/packages/ui-constraints/tailwind.config.js @@ -0,0 +1,7 @@ +import baseConfig from '@commonalityco/config-tailwind'; + +/** @type {import('tailwindcss').Config} */ +export default { + ...baseConfig, + content: ['./src/**/*.{js,ts,jsx,tsx}'], +}; diff --git a/packages/ui-core/package.json b/packages/ui-core/package.json index ea821abd..b7d472e7 100644 --- a/packages/ui-core/package.json +++ b/packages/ui-core/package.json @@ -22,15 +22,15 @@ "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/ui-design-system": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "@types/react": "^18.2.22", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "lucide-react": "^0.317.0", "next": "14.0.4", "next-themes": "^0.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "tailwindcss": "^3.3.3", - "typescript": "^5.2.2" + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3" }, "license": "MIT", "peerDependencies": { @@ -58,4 +58,4 @@ "url": "https://github.com/commonalityco/commonality", "directory": "packages/ui-core" } -} \ No newline at end of file +} diff --git a/packages/ui-design-system/package.json b/packages/ui-design-system/package.json index 31214745..f306a488 100644 --- a/packages/ui-design-system/package.json +++ b/packages/ui-design-system/package.json @@ -23,38 +23,39 @@ "dependencies": { "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-dialog": "^1.0.4", - "@radix-ui/react-dropdown-menu": "^2.0.5", - "@radix-ui/react-hover-card": "^1.0.6", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-popover": "^1.0.6", + "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-scroll-area": "^1.0.4", + "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toast": "^1.1.4", + "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-toggle": "^1.0.3", - "@radix-ui/react-tooltip": "^1.0.6", + "@radix-ui/react-toggle-group": "^1.0.4", + "@radix-ui/react-tooltip": "^1.0.7", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", - "cmdk": "^0.2.0", + "cmdk": "^0.2.1", "react-hook-form": "^7.50.1", - "react-select": "^5.7.5", - "sonner": "^1.3.1", + "react-select": "^5.8.0", + "sonner": "^1.4.0", "tailwind-merge": "^1.14.0" }, "devDependencies": { "@commonalityco/config-tailwind": "workspace:*", "@commonalityco/config-tsconfig": "workspace:*", - "@types/react": "^18.2.22", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "lucide-react": "^0.317.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "tailwindcss": "^3.3.3", - "typescript": "^5.2.2" + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3" }, "license": "MIT", "peerDependencies": { diff --git a/packages/ui-design-system/src/index.ts b/packages/ui-design-system/src/index.ts index d5abbcf7..1746a6e4 100644 --- a/packages/ui-design-system/src/index.ts +++ b/packages/ui-design-system/src/index.ts @@ -97,6 +97,7 @@ export { } from './table'; export { Text } from './text'; export { Toggle, toggleVariants } from './toggle'; +export { ToggleGroup, ToggleGroupItem } from './toggle-group'; export { Tooltip, TooltipTrigger, diff --git a/packages/ui-design-system/src/toggle-group.tsx b/packages/ui-design-system/src/toggle-group.tsx new file mode 100644 index 00000000..b910e7c6 --- /dev/null +++ b/packages/ui-design-system/src/toggle-group.tsx @@ -0,0 +1,61 @@ +'use client'; + +import * as React from 'react'; +import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'; +import { VariantProps } from 'class-variance-authority'; +import { cn } from './utils'; +import { toggleVariants } from './toggle'; + +const ToggleGroupContext = React.createContext< + VariantProps +>({ + size: 'default', + variant: 'default', +}); + +const ToggleGroup = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & + VariantProps +>(({ className, variant, size, children, ...props }, ref) => ( + + + {children} + + +)); + +ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName; + +const ToggleGroupItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & + VariantProps +>(({ className, children, variant, size, ...props }, ref) => { + const context = React.useContext(ToggleGroupContext); + + return ( + + {children} + + ); +}); + +ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName; + +export { ToggleGroup, ToggleGroupItem }; diff --git a/packages/ui-design-system/src/tooltip.tsx b/packages/ui-design-system/src/tooltip.tsx index e1ba10ab..33943202 100644 --- a/packages/ui-design-system/src/tooltip.tsx +++ b/packages/ui-design-system/src/tooltip.tsx @@ -18,7 +18,7 @@ const TooltipContent = React.forwardRef< ref={reference} sideOffset={sideOffset} className={cn( - 'bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md px-3 py-1.5 text-xs', + 'font-medium bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md px-3 py-1.5 text-xs', className, )} {...properties} diff --git a/packages/ui-graph/commonality.json b/packages/ui-graph/commonality.json index 0d10bfcb..7123cb85 100644 --- a/packages/ui-graph/commonality.json +++ b/packages/ui-graph/commonality.json @@ -1 +1 @@ -{ "tags": ["ui"] } +{"tags":[]} diff --git a/packages/ui-graph/package.json b/packages/ui-graph/package.json index a1ae6613..7db87e22 100644 --- a/packages/ui-graph/package.json +++ b/packages/ui-graph/package.json @@ -9,7 +9,14 @@ "types": "./dist/index.d.ts", "exports": { ".": "./dist/index.js", - "./create-worker": "./dist/create-worker.js" + "./graph": "./dist/graph.js", + "./graph-loading": "./dist/graph-loading.js", + "./get-elements-with-layout": "./dist/get-elements-with-layout.js", + "./graph-provider": "./dist/graph-provider.js", + "./package/package-toolbar": "./dist/package/package-toolbar.js", + "./package/zero-state": "./dist/package/zero-state.js", + "./package/get-edges": "./dist/package/get-edges.js", + "./package/get-nodes": "./dist/package/get-nodes.js" }, "license": "MIT", "scripts": { @@ -23,41 +30,53 @@ "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", + "@commonalityco/ui-core": "workspace:*", + "@commonalityco/ui-design-system": "workspace:*", "@commonalityco/utils-core": "workspace:*", "@commonalityco/utils-package": "workspace:*", - "@floating-ui/react": "^0.26.3", + "@floating-ui/react": "^0.26.9", "@types/crypto-js": "^4.2.2", "@types/cytoscape": "^3.19.16", "@types/cytoscape-dagre": "^2.3.3", "@types/cytoscape-popper": "^2.0.4", - "@types/lodash-es": "^4.14.198", - "@types/react": "^18.2.22", - "@types/react-dom": "^18.2.18", - "cytoscape": "^3.26.0", + "@types/d3-timer": "^3.0.2", + "@types/dagre": "^0.7.52", + "@types/lodash-es": "^4.17.12", + "@types/react": "^18.2.57", + "@types/react-dom": "^18.2.19", + "@xyflow/react": "12.0.0-next.9", + "@xyflow/system": "^0.0.17", + "cytoscape": "^3.28.1", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vitest": "^0.34.6" }, "peerDependencies": { "@commonalityco/utils-core": "workspace:*", "@commonalityco/utils-package": "*", + "@xyflow/react": "12.0.0-next.9", "react": ">=18", "react-dom": ">=18" }, "dependencies": { + "@dagrejs/dagre": "^1.0.4", "@xstate/react": "^3.2.2", "crypto-js": "^4.2.0", "cytoscape-dagre": "^2.5.0", "cytoscape-popper": "^2.0.0", + "d3-force": "^3.0.0", + "d3-timer": "^3.0.1", + "dagre": "^0.8.5", "localforage": "^1.10.0", "lodash-es": "^4.17.21", - "xstate": "^4.38.2" + "lucide-react": "^0.317.0", + "xstate": "^4.38.3" }, "repository": { "type": "git", "url": "https://github.com/commonalityco/commonality", "directory": "packages/ui-graph" } -} \ No newline at end of file +} diff --git a/packages/ui-graph/src/actions.test.ts b/packages/ui-graph/src/actions.test.ts deleted file mode 100644 index 05ffe4b0..00000000 --- a/packages/ui-graph/src/actions.test.ts +++ /dev/null @@ -1,382 +0,0 @@ -import { - show, - showDependencies, - showDependants, - hideDependents, - hideDependencies, -} from './actions.js'; -import cytoscape, { - EdgeDefinition, - ElementDefinition, - NodeDefinition, -} from 'cytoscape'; -import { describe, it, expect, test } from 'vitest'; - -const nodeOne = { - group: 'nodes', - data: { - id: 'one', - }, -} satisfies NodeDefinition; -const nodeTwo = { - group: 'nodes', - data: { - id: 'two', - }, -} satisfies NodeDefinition; -const nodeThree = { - group: 'nodes', - data: { - id: 'three', - }, -} satisfies NodeDefinition; -const nodeFour = { - group: 'nodes', - data: { - id: 'four', - }, -} satisfies NodeDefinition; - -const edgeOneToTwo = { - group: 'edges', - data: { - id: 'one->two', - source: 'one', - target: 'two', - }, -} satisfies EdgeDefinition; -const edgeTwoToThree = { - group: 'edges', - data: { - id: 'two->three', - source: 'two', - target: 'three', - }, -} satisfies EdgeDefinition; -const edgeOneToFour = { - group: 'edges', - data: { - id: 'one->four', - source: 'one', - target: 'four', - }, -} satisfies EdgeDefinition; - -const elements = [ - nodeOne, - nodeTwo, - nodeThree, - nodeFour, - edgeOneToTwo, - edgeTwoToThree, - edgeOneToFour, -] satisfies ElementDefinition[]; - -describe('show', () => { - describe('when all nodes are shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - describe('when filtering by string', () => { - it('returns the correct elements', () => { - const elements = show({ - renderGraph, - traversalGraph, - selector: `node[id="one"]`, - }); - - expect(elements).toEqual([ - expect.objectContaining(nodeOne), - expect.objectContaining(nodeTwo), - expect.objectContaining(nodeThree), - expect.objectContaining(nodeFour), - expect.objectContaining(edgeOneToTwo), - expect.objectContaining(edgeOneToFour), - expect.objectContaining(edgeTwoToThree), - ]); - }); - }); - - describe('when filtering by function', () => { - it('returns the correct elements', () => { - const elements = show({ - renderGraph, - traversalGraph, - selector: (element) => { - return element.id() === 'one'; - }, - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.objectContaining(nodeTwo), - expect.objectContaining(nodeThree), - expect.objectContaining(nodeFour), - expect.objectContaining(edgeOneToTwo), - expect.objectContaining(edgeTwoToThree), - expect.objectContaining(edgeOneToFour), - ]), - ); - }); - }); - }); - - describe('when no nodes are shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements: [], headless: true }); - - describe('when filtering by string', () => { - it('returns the correct elements', () => { - const elements = show({ - renderGraph, - traversalGraph, - selector: `node[id="one"]`, - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.not.objectContaining(nodeTwo), - expect.not.objectContaining(nodeThree), - expect.not.objectContaining(nodeFour), - expect.not.objectContaining(edgeOneToTwo), - expect.not.objectContaining(edgeTwoToThree), - expect.not.objectContaining(edgeOneToFour), - ]), - ); - }); - }); - - describe('when filtering by function', () => { - it('returns the correct elements', () => { - const elements = show({ - renderGraph, - traversalGraph, - selector: (element) => { - return element.id() === 'one'; - }, - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.not.objectContaining(nodeTwo), - expect.not.objectContaining(nodeThree), - expect.not.objectContaining(nodeFour), - expect.not.objectContaining(edgeOneToTwo), - expect.not.objectContaining(edgeTwoToThree), - expect.not.objectContaining(edgeOneToFour), - ]), - ); - }); - }); - }); -}); - -describe('showDependencies', () => { - describe('when all nodes are shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - it('returns the correct elements', () => { - const elements = showDependencies({ - renderGraph, - traversalGraph, - id: 'one', - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.objectContaining(nodeTwo), - expect.objectContaining(nodeThree), - expect.objectContaining(nodeFour), - expect.objectContaining(edgeOneToTwo), - expect.objectContaining(edgeTwoToThree), - expect.objectContaining(edgeOneToFour), - ]), - ); - }); - }); - - describe('when only the root is shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements: [nodeOne], headless: true }); - - it('returns the correct elements', () => { - const elements = showDependencies({ - renderGraph, - traversalGraph, - id: 'one', - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.objectContaining(nodeTwo), - expect.not.objectContaining(nodeThree), - expect.objectContaining(nodeFour), - expect.objectContaining(edgeOneToTwo), - expect.not.objectContaining(edgeTwoToThree), - expect.objectContaining(edgeOneToFour), - ]), - ); - }); - }); - - describe('when the root and its dependencies are shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ - elements: [nodeOne, edgeOneToTwo, edgeOneToFour, nodeTwo, nodeFour], - headless: true, - }); - - it('returns the correct elements', () => { - const elements = showDependencies({ - renderGraph, - traversalGraph, - id: 'two', - }); - - expect(elements).toEqual( - expect.arrayContaining([ - expect.objectContaining(nodeOne), - expect.objectContaining(nodeTwo), - expect.objectContaining(nodeThree), - expect.objectContaining(nodeFour), - expect.objectContaining(edgeOneToTwo), - expect.objectContaining(edgeTwoToThree), - expect.objectContaining(edgeOneToFour), - ]), - ); - }); - }); -}); - -describe('showDependants', () => { - describe('when all nodes are shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - it('returns the correct elements', () => { - const elements = showDependants({ - renderGraph, - traversalGraph, - id: 'two', - }); - - expect(elements).toMatchObject([ - nodeOne, - nodeTwo, - nodeThree, - nodeFour, - edgeOneToTwo, - edgeTwoToThree, - edgeOneToFour, - ]); - }); - }); - - describe('when only the root node is shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements: [nodeOne], headless: true }); - - it('returns the correct elements', () => { - const elements = showDependants({ - renderGraph, - traversalGraph, - id: 'one', - }); - - expect(elements).toMatchObject([nodeOne]); - expect(elements).not.toMatchObject([ - nodeTwo, - nodeThree, - nodeFour, - edgeOneToFour, - edgeOneToTwo, - edgeTwoToThree, - ]); - }); - }); - - describe('when only a leaf node is shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements: [nodeThree], headless: true }); - - it('returns the correct elements', () => { - const elements = showDependants({ - renderGraph, - traversalGraph, - id: 'three', - }); - - expect(elements).toMatchObject([nodeThree, nodeTwo, edgeTwoToThree]); - expect(elements).not.toMatchObject([ - nodeOne, - nodeFour, - edgeOneToFour, - edgeOneToTwo, - edgeTwoToThree, - ]); - }); - }); -}); - -describe('hideDependents', () => { - describe('when all nodes are shown', () => { - describe('when hiding dependents for the root node', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - it('returns the correct elements', () => { - const elements = hideDependents({ - renderGraph, - traversalGraph, - id: 'one', - }); - - expect(elements).toMatchObject([ - nodeOne, - nodeTwo, - nodeThree, - nodeFour, - edgeOneToTwo, - edgeTwoToThree, - edgeOneToFour, - ]); - }); - }); - - describe('when hiding dependents for a node with dependents and dependencies', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - it('returns the correct elements', () => { - const elements = hideDependents({ - renderGraph, - traversalGraph, - id: 'two', - }); - - expect(elements).toMatchObject([nodeTwo, edgeTwoToThree, nodeThree]); - }); - }); - }); -}); - -describe('hideDependencies', () => { - test('when hiding dependencies for the root node only the root node is shown', () => { - const traversalGraph = cytoscape({ elements, headless: true }); - const renderGraph = cytoscape({ elements, headless: true }); - - const shownElements = hideDependencies({ - renderGraph, - traversalGraph, - id: 'one', - }); - - expect(shownElements).toMatchObject([nodeOne]); - }); -}); diff --git a/packages/ui-graph/src/actions.ts b/packages/ui-graph/src/actions.ts deleted file mode 100644 index a398f8d4..00000000 --- a/packages/ui-graph/src/actions.ts +++ /dev/null @@ -1,208 +0,0 @@ -import { - CollectionArgument, - Core, - Selector, - NodeSingular, - ElementDefinition, -} from 'cytoscape'; - -type Filter = - | Selector - | ((ele: NodeSingular, index: number, eles: CollectionArgument) => boolean); - -type GraphActionFunction = ( - arguments_: Arguments, -) => CollectionArgument; -function withSerialization( - function_: GraphActionFunction, -) { - return (arguments_: Arguments): ElementDefinition[] => { - const result = function_(arguments_); - - return result.jsons() as unknown as ElementDefinition[]; - }; -} - -export const show = withSerialization( - ({ - traversalGraph, - renderGraph, - selector, - }: { - traversalGraph: Core; - renderGraph: Core; - selector: Filter; - }) => { - // eslint-disable-next-line unicorn/no-array-callback-reference - const matchingNodes = traversalGraph.nodes().filter(selector); - - const existingNodes = renderGraph.nodes(); - const nodesToRender = existingNodes.union(matchingNodes); - const edgesToRender = nodesToRender.nodes().edgesTo(nodesToRender.nodes()); - const elementsToRender = nodesToRender.union(edgesToRender); - - return elementsToRender; - }, -); - -export const showDependencies = withSerialization( - ({ - traversalGraph, - renderGraph, - id, - }: { - traversalGraph: Core; - renderGraph: Core; - id: string; - }) => { - const node = traversalGraph.$id(id); - const nodeAndDependants = node.union(node.outgoers()); - const elementsToRender = renderGraph.elements().union(nodeAndDependants); - - return elementsToRender; - }, -); - -export const showDependants = withSerialization( - ({ - traversalGraph, - renderGraph, - id, - }: { - traversalGraph: Core; - renderGraph: Core; - id: string; - }) => { - const node = traversalGraph.$id(id); - const nodeAndDependants = node.union(node.incomers()); - - const nodesToRender = nodeAndDependants.nodes(); - const edgesToRender = nodesToRender.edgesTo(nodesToRender); - - const elementsToRender = renderGraph - .elements() - .union(nodesToRender) - .union(edgesToRender); - - return elementsToRender; - }, -); - -export const setInitialElements = withSerialization( - ({ renderGraph }: { renderGraph: Core }) => { - return renderGraph.elements(); - }, -); - -export const focus = withSerialization( - ({ - traversalGraph, - selector, - }: { - traversalGraph: Core; - selector: Filter; - }) => { - // eslint-disable-next-line unicorn/no-array-callback-reference - const matchingNodes = traversalGraph.nodes().filter(selector); - const edgesToRender = matchingNodes.add(matchingNodes.neighborhood()); - - return traversalGraph - .collection() - .union(matchingNodes) - .union(edgesToRender); - }, -); - -export const isolate = withSerialization( - ({ - traversalGraph, - selector, - }: { - traversalGraph: Core; - selector: Filter; - }) => { - // eslint-disable-next-line unicorn/no-array-callback-reference - const matchingNodes = traversalGraph.nodes().filter(selector); - const edgesToRender = matchingNodes.edgesTo(matchingNodes); - - return traversalGraph - .collection() - .union(matchingNodes) - .union(edgesToRender); - }, -); - -export const showAll = withSerialization( - ({ traversalGraph }: { traversalGraph: Core }) => { - return traversalGraph.elements(); - }, -); - -export const hideAll = withSerialization( - ({ traversalGraph }: { traversalGraph: Core }) => { - return traversalGraph.collection(); - }, -); - -export const hideDependents = withSerialization( - ({ - traversalGraph, - renderGraph, - id, - }: { - traversalGraph: Core; - renderGraph: Core; - id: string; - }) => { - const successorsOfNode = renderGraph.$id(id).successors(); - const successorsOfDirectDependents = traversalGraph - .$id(id) - .incomers() - .successors(); - - return successorsOfDirectDependents.length > 0 - ? traversalGraph - .collection() - .union(traversalGraph.$id(id)) - .union(successorsOfNode) - .intersection(successorsOfDirectDependents) - : renderGraph.elements(); - }, -); - -export const hideDependencies = withSerialization( - ({ - traversalGraph, - renderGraph, - id, - }: { - traversalGraph: Core; - renderGraph: Core; - id: string; - }) => { - const elementsToHide = traversalGraph.$id(id).successors(); - - return renderGraph.elements().difference(elementsToHide); - }, -); - -export const hide = withSerialization( - ({ - traversalGraph, - renderGraph, - selector, - }: { - traversalGraph: Core; - renderGraph: Core; - selector: Filter; - }) => { - const elementsToHide = traversalGraph.collection(); - // eslint-disable-next-line unicorn/no-array-callback-reference - const matchingNodes = traversalGraph.nodes().filter(selector); - const edgesForElements = matchingNodes.connectedEdges(); - - elementsToHide.merge(matchingNodes).merge(edgesForElements); - - return renderGraph.elements().difference(elementsToHide); - }, -); diff --git a/packages/ui-graph/src/bind-render-graph-events.ts b/packages/ui-graph/src/bind-render-graph-events.ts deleted file mode 100644 index dfe4c2ca..00000000 --- a/packages/ui-graph/src/bind-render-graph-events.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { ConstraintResult } from '@commonalityco/types'; -import { Core, EdgeSingular, EventObject, NodeSingular } from 'cytoscape'; - -interface EventHandlerArguments { - renderGraph: Core; - traversalGraph: Core; - theme: string; - results: ConstraintResult[]; - onNodeClick: cytoscape.EventHandler; - onEdgeClick: cytoscape.EventHandler; - onMove: cytoscape.EventHandler; -} - -/********************************** - * NODES * - **********************************/ -export const handleNodeMouseover = ({ - target, - renderGraph, -}: EventHandlerArguments & { target: NodeSingular }) => { - const neighborhood = target.closedNeighborhood(); - - renderGraph.elements().addClass('dim'); - - neighborhood.removeClass('dim'); - target.removeClass('dim'); - neighborhood.addClass('focus'); - target.addClass('focus'); - - target.addClass('hover'); -}; - -export const handleNodeMouseout = ({ - target, - renderGraph, -}: EventHandlerArguments & { target: NodeSingular }) => { - const neighborhood = target.neighborhood(); - const focusedElements = renderGraph.collection([neighborhood, target]); - - renderGraph.elements().removeClass(['dim', 'focus', 'hover']); - focusedElements.removeClass('focus'); - target.removeClass('hover'); -}; - -/********************************** - * EDGES * - **********************************/ -export const handleEdgeMouseover = ({ - target, -}: EventHandlerArguments & { target: EdgeSingular }) => { - target.addClass('hover'); -}; - -export const handleEdgeMouseout = ({ - target, -}: EventHandlerArguments & { target: EventObject['target'] }) => { - target.removeClass('hover'); -}; - -/********************************** - * GENERAL * - **********************************/ - -export const bindRenderGraphEvents = (arguments_: EventHandlerArguments) => { - const { renderGraph, onNodeClick, onEdgeClick, onMove } = arguments_; - - renderGraph.nodes().removeListener('tap'); - renderGraph.nodes().addListener('tap', onNodeClick); - - renderGraph.nodes().removeListener('mouseover'); - renderGraph - .nodes() - .on('mouseover', (event) => - handleNodeMouseover({ ...arguments_, target: event.target }), - ); - - renderGraph.nodes().removeListener('mouseout'); - renderGraph - .nodes() - .on('mouseout', (event) => - handleNodeMouseout({ ...arguments_, target: event.target }), - ); - - renderGraph.edges().removeListener('tap'); - renderGraph.edges().addListener('tap', onEdgeClick); - - renderGraph.edges().removeListener('mouseover'); - renderGraph - .edges() - .on('mouseover', (event) => - handleEdgeMouseover({ ...arguments_, target: event.target }), - ); - - renderGraph.edges().removeListener('mouseout'); - renderGraph - .edges() - .on('mouseout', (event) => - handleEdgeMouseout({ ...arguments_, target: event.target }), - ); - - renderGraph.removeListener('pan zoom'); - renderGraph.addListener('pan zoom', onMove); -}; diff --git a/packages/ui-graph/src/create-render-graph.ts b/packages/ui-graph/src/create-render-graph.ts deleted file mode 100644 index f2da463c..00000000 --- a/packages/ui-graph/src/create-render-graph.ts +++ /dev/null @@ -1,44 +0,0 @@ -import cytoscape, { ElementDefinition } from 'cytoscape'; -import dagre from 'cytoscape-dagre'; -import { nodeStyles } from './styles/node'; -import { edgeStyles } from './styles/edge'; -import popper from 'cytoscape-popper'; - -cytoscape.use(dagre); -cytoscape.use(popper); - -interface CreateRenderGraphOptions { - container: HTMLElement; - elements: ElementDefinition[]; -} - -/** - * Calculates the minZoom value based on the length of the elements array. - */ -const calculateMinZoom = (elementsLength: number) => { - const minZoomBase = 0.1; // Change this value to set the minimum zoom level when the array is empty - const minZoomFactor = 0.000_115; // Change this value to control the rate at which minZoom decreases as the array length increases - - return minZoomBase - elementsLength * minZoomFactor; -}; - -/** - * Creates and renders a graph. - */ -export const createRenderGraph = ({ - container, - elements, -}: CreateRenderGraphOptions) => { - const renderGraph = cytoscape({ - container, - style: [...nodeStyles, ...edgeStyles], - autoungrabify: true, - maxZoom: 2, - minZoom: calculateMinZoom(elements.length), - elements, - }); - - return renderGraph; -}; - -export default createRenderGraph; diff --git a/packages/ui-graph/src/create-traversal-graph.ts b/packages/ui-graph/src/create-traversal-graph.ts deleted file mode 100644 index 9b069cbb..00000000 --- a/packages/ui-graph/src/create-traversal-graph.ts +++ /dev/null @@ -1,13 +0,0 @@ -import cytoscape, { Core, ElementDefinition } from 'cytoscape'; - -export const createTraversalGraph = ({ - elements, -}: { - elements: ElementDefinition[]; -}): Core => - cytoscape({ - headless: true, - elements, - }); - -export default createTraversalGraph; diff --git a/packages/ui-graph/src/create-worker.ts b/packages/ui-graph/src/create-worker.ts deleted file mode 100644 index 2b711afb..00000000 --- a/packages/ui-graph/src/create-worker.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { getElementDefinitionsWithUpdatedLayout } from './get-element-definitions-with-updated-layout'; -import { ElementDefinition } from 'cytoscape'; -import MD5 from 'crypto-js/md5'; -import localforage from 'localforage'; - -export const createWorker = () => { - localforage.clear(); - - addEventListener( - 'message', - async (event: MessageEvent) => { - const cacheKey = MD5(JSON.stringify(event.data)).toString(); - const cachedResult = await localforage.getItem(cacheKey); - - if (cachedResult) { - postMessage(cachedResult); - return; - } - - const updatedElelementDefinitions = - await getElementDefinitionsWithUpdatedLayout({ - elements: event.data, - }); - - try { - postMessage(updatedElelementDefinitions); - localforage.setItem(cacheKey, updatedElelementDefinitions); - } catch (error) { - console.error(error); - } - }, - ); -}; diff --git a/packages/ui-graph/src/dependency-dialog.tsx b/packages/ui-graph/src/dependency-dialog.tsx new file mode 100644 index 00000000..38995c53 --- /dev/null +++ b/packages/ui-graph/src/dependency-dialog.tsx @@ -0,0 +1,90 @@ +'use client'; +import { Dependency } from '@commonalityco/types'; +import { + Button, + Dialog, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, + Label, + ScrollArea, + cn, +} from '@commonalityco/ui-design-system'; +import { DependencyType } from '@commonalityco/utils-core'; +import { CornerDownRight } from 'lucide-react'; +import { ComponentProps } from 'react'; + +const TextByType = { + [DependencyType.PRODUCTION]: 'production', + [DependencyType.DEVELOPMENT]: 'development', + [DependencyType.PEER]: 'peer', +}; + +export function DependencyDialog({ + dependencies, + ...props +}: ComponentProps & { + dependencies: Dependency[]; +}) { + return ( + + + + +
+

{dependencies[0]?.source}

+
+ +

+ {dependencies[0]?.target} +

+
+
+
+
+ +
+ {dependencies.map((dependency) => { + const key = `${dependency.source}-${dependency.target}-${dependency.type}`; + + return ( +
+
+ + +

+ + {TextByType[dependency.type]} +

+
+
+ +

{dependency.version}

+
+
+ ); + })} +
+
+ + + +
+
+ ); +} diff --git a/packages/ui-graph/src/get-element-definitions-with-updated-layout.ts b/packages/ui-graph/src/get-element-definitions-with-updated-layout.ts deleted file mode 100644 index 1232ce62..00000000 --- a/packages/ui-graph/src/get-element-definitions-with-updated-layout.ts +++ /dev/null @@ -1,28 +0,0 @@ -import cytoscape, { ElementDefinition } from 'cytoscape'; -import { layoutOptions } from './layout-options'; -import dagre from 'cytoscape-dagre'; -import { nodeStyles } from './styles/node'; -import { edgeStyles } from './styles/edge'; - -cytoscape.use(dagre); - -export type OffloadRenderFunction = ({ - elements, -}: { - elements: ElementDefinition[]; -}) => Promise; - -export const getElementDefinitionsWithUpdatedLayout: OffloadRenderFunction = - async ({ elements }) => { - const graph = cytoscape({ - styleEnabled: true, - style: [...nodeStyles, ...edgeStyles], - elements, - }); - - graph.layout(layoutOptions).run(); - - return graph.elements().jsons() as unknown as ElementDefinition[]; - }; - -export default getElementDefinitionsWithUpdatedLayout; diff --git a/packages/ui-graph/src/get-element-definitions.ts b/packages/ui-graph/src/get-element-definitions.ts deleted file mode 100644 index 3c2300a3..00000000 --- a/packages/ui-graph/src/get-element-definitions.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Dependency, Package } from '@commonalityco/types'; -import { PackageType } from '@commonalityco/utils-core'; -import { ElementDefinition, NodeDefinition } from 'cytoscape'; -import { fontFamily, fontSize, fontWeight } from './styles/node'; - -const nodeImage = - 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnPgo8c3ZnIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2IiBmaWxsPSJub25lIgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxtYXNrIGlkPSJtYXNrMF8wXzMiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIyIiB5PSIwIiB3aWR0aD0iMzMiIGhlaWdodD0iMzYiPgogICAgICAgIDxwYXRoIGQ9Ik0xNy4xNTUxIDAuMjI3NzMzTDIuODYzNjYgOC4zNzE2MUMyLjMyODM2IDguNjc2MzcgMiA5LjIzOTAyIDIgOS44NDcyVjI2LjE0NjNDMiAyNi43NTQ5IDIuMzI4MzYgMjcuMzE3MiAyLjg2MzY2IDI3LjYyMTlMMTcuMTU2MSAzNS43NzIyQzE3LjY5MDQgMzYuMDc1OSAxOC4zNDkyIDM2LjA3NTkgMTguODgyOCAzNS43NzIyTDMzLjE3MjkgMjcuNjIxOUMzMy43MDU1IDI3LjMxNzIgMzQuMDM0NSAyNi43NTQ1IDM0LjAzNDUgMjYuMTQ2M1Y5Ljg0NzJDMzQuMDM0NSA5LjIzOTAyIDMzLjcwNTUgOC42NzYzNyAzMy4xNjk1IDguMzcxNjFMMTguODgxNCAwLjIyNzczM0MxOC42MTM0IDAuMDc2MDIwOSAxOC4zMTQ5IDAgMTguMDE2NCAwQzE3LjcxNzkgMCAxNy40MTk0IDAuMDc2MDIwOSAxNy4xNTE0IDAuMjI3NzMzIiBmaWxsPSJ3aGl0ZSIvPgogICAgPC9tYXNrPgogICAgPGcgbWFzaz0idXJsKCNtYXNrMF8wXzMpIj4KICAgICAgICA8cGF0aCBkPSJNNDguNDc2NyA2Ljk4ODc4TDguMjA1ODQgLTEyLjQ5OTNMLTEyLjQ0MjcgMjkuMDg3MUwyNy44MjcyIDQ4LjU3NjNMNDguNDc2NyA2Ljk4ODc4WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzBfMykiLz4KICAgIDwvZz4KICAgIDxtYXNrIGlkPSJtYXNrMV8wXzMiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIyIiB5PSIwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzYiPgogICAgICAgIDxwYXRoIGQ9Ik0yLjM1NDI1IDI3LjE4MTJDMi40OTA5NSAyNy4zNTY0IDIuNjYxOTIgMjcuNTA4MSAyLjg2MzA4IDI3LjYyMkwxNS4xMjI2IDM0LjYxMzFMMTcuMTY0NyAzNS43NzE5QzE3LjQ3IDM1Ljk0NiAxNy44MTgxIDM2LjAxOTcgMTguMTYgMzUuOTk0NkMxOC4yNzQgMzUuOTg1NSAxOC4zODggMzUuOTY0NCAxOC40OTkyIDM1LjkzMzNMMzMuNTcyMyA4LjY4NTQzQzMzLjQ1NjkgOC41NjE1MSAzMy4zMjE5IDguNDU3NyAzMy4xNzA2IDguMzcwNjJMMjMuODEyOCAzLjAzNTU4TDE4Ljg2NjMgMC4yMjU3MzJDMTguNzI1OCAwLjE0NTM1NSAxOC41NzM1IDAuMDg4NDIxNiAxOC40MTg1IDAuMDQ4MjMzTDIuMzU0MjUgMjcuMTgxMloiIGZpbGw9IndoaXRlIi8+CiAgICA8L21hc2s+CiAgICA8ZyBtYXNrPSJ1cmwoI21hc2sxXzBfMykiPgogICAgICAgIDxwYXRoIGQ9Ik0tMTUuMDU3NCAxMi43NTI5TDEzLjM3OCA1MC43NDg4TDUwLjk4NDIgMjMuMzE4MUwyMi41NDcyIC0xNC42NzY4TC0xNS4wNTc0IDEyLjc1MjlaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXJfMF8zKSIvPgogICAgPC9nPgogICAgPG1hc2sgaWQ9Im1hc2syXzBfMyIgc3R5bGU9Im1hc2stdHlwZTpsdW1pbmFuY2UiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjIiIHk9IjAiIHdpZHRoPSIzMyIgaGVpZ2h0PSIzNiI+CiAgICAgICAgPHBhdGggZD0iTTE3Ljg0NTggMC4wMDkzNTI5N0MxNy42MDYgMC4wMzI3OTYzIDE3LjM3MTYgMC4xMDY0NzMgMTcuMTU1NSAwLjIyNzcwOEwyLjkwNDc1IDguMzQ4MTVMMTguMjcxNiAzNS45ODExQzE4LjQ4NTMgMzUuOTUxIDE4LjY5NTYgMzUuODgwNyAxOC44ODU1IDM1Ljc3MjJMMzMuMTc3IDI3LjYyMTlDMzMuNjE4IDI3LjM2OTQgMzMuOTE5OSAyNi45NDIxIDM0LjAxMTUgMjYuNDU3OEwxOC4zNDYyIDAuMDM3MTQ3NkMxOC4yMzA4IDAuMDE0NzA5IDE4LjExNTUgMC4wMDI5OTA3MiAxNy45OTY4IDAuMDAyOTkwNzJDMTcuOTQ5MyAwLjAwMjk5MDcyIDE3LjkwMTggMC4wMDUzMzEzOCAxNy44NTQzIDAuMDA5Njg1MTQiIGZpbGw9IndoaXRlIi8+CiAgICA8L21hc2s+CiAgICA8ZyBtYXNrPSJ1cmwoI21hc2syXzBfMykiPgogICAgICAgIDxwYXRoIGQ9Ik0yLjkwNDUxIDAuMDAyOTkwNzJWMzUuOTgxOEgzNC4wMDU1VjAuMDAyOTkwNzJIMi45MDQ1MVoiIGZpbGw9InVybCgjcGFpbnQyX2xpbmVhcl8wXzMpIi8+CiAgICA8L2c+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMF8zIiB4MT0iMjguMzI5MiIgeTE9Ii0yLjc4NTkyIiB4Mj0iOC4xMDUyOCIgeTI9IjM5LjAwMjYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjMiIHN0b3AtY29sb3I9IiMzRTg2M0QiLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiM1NTkzNEYiLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjgiIHN0b3AtY29sb3I9IiM1QUFENDUiLz4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8wXzMiIHgxPSItMC42NjkzMTkiIHkxPSIzMS45Njg2IiB4Mj0iMzYuNTk2OCIgeTI9IjQuMDc4MzQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjU3IiBzdG9wLWNvbG9yPSIjM0U4NjNEIi8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMC43MiIgc3RvcC1jb2xvcj0iIzYxOTg1NyIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NkFDNjQiLz4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQyX2xpbmVhcl8wXzMiIHgxPSIyLjkxNSIgeTE9IjE3Ljk5MzQiIHgyPSIzNC4wMTE0IiB5Mj0iMTcuOTkzNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuMTYiIHN0b3AtY29sb3I9IiM2QkJGNDciLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwLjM4IiBzdG9wLWNvbG9yPSIjNzlCNDYxIi8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMC40NyIgc3RvcC1jb2xvcj0iIzc1QUM2NCIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuNyIgc3RvcC1jb2xvcj0iIzY1OUU1QSIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuOSIgc3RvcC1jb2xvcj0iIzNFODYzRCIvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+Cjwvc3ZnPgo='; -const reactLogo = - 'PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzBfMykiPgo8cGF0aCBkPSJNMTggMjEuMTA1NUMxOS43NzIxIDIxLjEwNTUgMjEuMjA4NyAxOS43MTUxIDIxLjIwODcgMThDMjEuMjA4NyAxNi4yODQ5IDE5Ljc3MjEgMTQuODk0NSAxOCAxNC44OTQ1QzE2LjIyNzkgMTQuODk0NSAxNC43OTEzIDE2LjI4NDkgMTQuNzkxMyAxOEMxNC43OTEzIDE5LjcxNTEgMTYuMjI3OSAyMS4xMDU1IDE4IDIxLjEwNTVaIiBmaWxsPSIjNjFEQUZCIi8+CjxwYXRoIGQ9Ik0xOCAyNC4zNjI2QzI3LjUwODkgMjQuMzYyNiAzNS4yMTc0IDIxLjUxMzkgMzUuMjE3NCAxOEMzNS4yMTc0IDE0LjQ4NjEgMjcuNTA4OSAxMS42Mzc1IDE4IDExLjYzNzVDOC40OTExMSAxMS42Mzc1IDAuNzgyNjIzIDE0LjQ4NjEgMC43ODI2MjMgMThDMC43ODI2MjMgMjEuNTEzOSA4LjQ5MTExIDI0LjM2MjYgMTggMjQuMzYyNloiIHN0cm9rZT0iIzYxREFGQiIvPgo8cGF0aCBkPSJNMTIuMzA2OCAyMS4xODEzQzE3LjA2MTMgMjkuMTUxNSAyMy40NjQ1IDM0LjE4ODMgMjYuNjA4NyAzMi40MzEzQzI5Ljc1MyAzMC42NzQzIDI4LjQ0NzcgMjIuNzg4OSAyMy42OTMyIDE0LjgxODdDMTguOTM4NyA2Ljg0ODUzIDEyLjUzNTYgMS44MTE3MyA5LjM5MTMzIDMuNTY4N0M2LjI0NzA3IDUuMzI1NjcgNy41NTI0IDEzLjIxMTEgMTIuMzA2OCAyMS4xODEzWiIgc3Ryb2tlPSIjNjFEQUZCIi8+CjxwYXRoIGQ9Ik0xMi4zMDY4IDE0LjgxODdDNy41NTIzOCAyMi43ODg5IDYuMjQ3MDYgMzAuNjc0MyA5LjM5MTMxIDMyLjQzMTNDMTIuNTM1NiAzNC4xODgzIDE4LjkzODcgMjkuMTUxNSAyMy42OTMyIDIxLjE4MTNDMjguNDQ3NiAxMy4yMTExIDI5Ljc1MyA1LjMyNTY2IDI2LjYwODcgMy41Njg2OUMyMy40NjQ0IDEuODExNzIgMTcuMDYxMyA2Ljg0ODUzIDEyLjMwNjggMTQuODE4N1oiIHN0cm9rZT0iIzYxREFGQiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzBfMyI+CjxyZWN0IHdpZHRoPSIzNiIgaGVpZ2h0PSIzMSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMi41KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo='; -const nextLogo = - 'PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzBfMykiPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDFfMF8zKSI+CjxtYXNrIGlkPSJtYXNrMF8wXzMiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiI+CjxwYXRoIGQ9Ik0xOCAzNkMyNy45NDExIDM2IDM2IDI3Ljk0MTEgMzYgMThDMzYgOC4wNTg4OCAyNy45NDExIDAgMTggMEM4LjA1ODg4IDAgMCA4LjA1ODg4IDAgMThDMCAyNy45NDExIDguMDU4ODggMzYgMTggMzZaIiBmaWxsPSJibGFjayIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMF8zKSI+CjxwYXRoIGQ9Ik0xOCAzNS40QzI3LjYwOTggMzUuNCAzNS40IDI3LjYwOTggMzUuNCAxOEMzNS40IDguMzkwMjUgMjcuNjA5OCAwLjYwMDAwNiAxOCAwLjYwMDAwNkM4LjM5MDI1IDAuNjAwMDA2IDAuNjAwMDA2IDguMzkwMjUgMC42MDAwMDYgMThDMC42MDAwMDYgMjcuNjA5OCA4LjM5MDI1IDM1LjQgMTggMzUuNFoiIGZpbGw9ImJsYWNrIiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yOS45MDE2IDMxLjUwNEwxMy44Mjg0IDEwLjhIMTAuOFYyNS4xOTRIMTMuMjIyN1YxMy44NzY3TDI3Ljk5OTggMzIuOTY5QzI4LjY2NjYgMzIuNTIyOCAyOS4zMDE4IDMyLjAzMyAyOS45MDE2IDMxLjUwNFoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8wXzMpIi8+CjxwYXRoIGQ9Ik0yNS40IDEwLjhIMjNWMjUuMkgyNS40VjEwLjhaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXJfMF8zKSIvPgo8L2c+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzBfMyIgeDE9IjIxLjgiIHkxPSIyMy4zIiB4Mj0iMjguOSIgeTI9IjMyLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8wXzMiIHgxPSIyNC4yIiB5MT0iMTAuOCIgeDI9IjI0LjE1OTgiIHkyPSIyMS4zNzUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJ3aGl0ZSIgc3RvcC1vcGFjaXR5PSIwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMF8zIj4KPHJlY3Qgd2lkdGg9IjM2IiBoZWlnaHQ9IjM2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8Y2xpcFBhdGggaWQ9ImNsaXAxXzBfMyI+CjxyZWN0IHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K'; - -const ImageByPrimaryDependency: Record = { - [PackageType.REACT]: reactLogo, - [PackageType.NODE]: nodeImage, - [PackageType.NEXT]: nextLogo, -}; - -const getNodeSize = ({ - context, - name, -}: { - context: CanvasRenderingContext2D | null; - name: string; -}) => { - if (!context) return; - - context.font = `normal ${fontWeight} ${fontSize}px ${fontFamily}`; - - const paddingY = 24; - const paddingX = 24; - const iconWidth = 50; - const labelWidth = context.measureText(name).width; - - const paddedLabelWidth = labelWidth + paddingX * 2 + iconWidth; - const paddedLabelHeight = fontSize + paddingY * 2; - - return { - width: Math.ceil(paddedLabelWidth), - height: Math.ceil(paddedLabelHeight), - }; -}; - -export const getElementDefinitions = ({ - dependencies, - packages, -}: { - dependencies: Dependency[]; - packages: Package[]; -}): ElementDefinition[] => { - if (typeof document === 'undefined') return []; - - try { - const canvas = document.createElement('canvas'); - const context = canvas.getContext('2d'); - - const nodes: NodeDefinition[] = packages.map((package_) => { - const dimensions = getNodeSize({ context, name: package_.name }); - const image = ImageByPrimaryDependency[package_.type] ?? nodeImage; - const imageData = 'data:image/svg+xml;base64,' + image; - - return { - data: { - ...package_, - id: package_.name, - image: imageData, - ...dimensions, - }, - }; - }); - - const edges = dependencies.map((dep) => { - return { - data: { - ...dep, - dependencies: dependencies.filter( - (allDep) => - allDep.source === dep.source && allDep.target === dep.target, - ), - id: `${dep.source}->${dep.target}`, - }, - }; - }) satisfies ElementDefinition[]; - - return [...nodes, ...edges]; - } catch (error) { - console.error(error); - return []; - } -}; - -export default getElementDefinitions; diff --git a/packages/ui-graph/src/get-elements-with-layout.ts b/packages/ui-graph/src/get-elements-with-layout.ts new file mode 100644 index 00000000..0d25333a --- /dev/null +++ b/packages/ui-graph/src/get-elements-with-layout.ts @@ -0,0 +1,58 @@ +import dagre from 'dagre'; +import { Edge, Node } from '@xyflow/react'; +import { Position } from '@xyflow/system'; +import { GraphDirection } from './types'; + +export const getElementsWithLayout = ({ + nodes, + edges, + direction = GraphDirection.TopToBottom, +}: { + nodes: Node[]; + edges: Edge[]; + direction?: GraphDirection; + height?: number; + width?: number; +}): { nodes: Node[]; edges: Edge[] } => { + const dagreGraph = new dagre.graphlib.Graph(); + dagreGraph.setDefaultEdgeLabel(() => ({})); + + const isHorizontal = direction === GraphDirection.LeftToRight; + + dagreGraph.setGraph({ + rankdir: direction, + nodesep: 50, + ranksep: 200, + }); + + for (const node of nodes) { + dagreGraph.setNode(node.id, { width: node.width, height: node.height }); + } + + for (const edge of edges) { + dagreGraph.setEdge(edge.source, edge.target); + } + + dagre.layout(dagreGraph); + + for (const node of nodes) { + const nodeWithPosition = dagreGraph.node(node.id); + node.targetPosition = isHorizontal ? Position.Left : Position.Top; + node.sourcePosition = isHorizontal ? Position.Right : Position.Bottom; + + // We are shifting the dagre node position (anchor=center center) to the top left + // so it matches the React Flow node anchor point (top left). + node.position = { + x: nodeWithPosition.x - (node.width ?? 250) / 2, + y: nodeWithPosition.y - (node.height ?? 100) / 2, + }; + + node; + continue; + } + + return { + nodes, + edges, + }; +}; diff --git a/packages/ui-graph/src/graph-control-bar.tsx b/packages/ui-graph/src/graph-control-bar.tsx new file mode 100644 index 00000000..60116f6c --- /dev/null +++ b/packages/ui-graph/src/graph-control-bar.tsx @@ -0,0 +1,258 @@ +'use client'; +import { useReactFlow } from '@xyflow/react'; +import { GraphDirection } from './types'; +import { + Button, + DropdownMenu, + DropdownMenuCheckboxItem, + DropdownMenuContent, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuTrigger, + Separator, + ToggleGroup, + ToggleGroupItem, + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, + cn, +} from '@commonalityco/ui-design-system'; +import { + ArrowDownFromLine, + ArrowRightFromLine, + ChevronDown, + Maximize, + Minus, + Plus, +} from 'lucide-react'; +import { useState } from 'react'; +import { DependencyType } from '@commonalityco/utils-core'; + +function ButtonTooltip({ + children, + text, +}: { + children: React.ReactNode; + text: string; +}) { + return ( + + + + {children} + + + {text} + + + ); +} + +function ColorDot({ className }: { className?: string }) { + return ( +
+ ); +} +function ColorDropdown({ + defaultDependencyTypes = [], + onHighlightChange, +}: { + defaultDependencyTypes?: DependencyType[]; + onHighlightChange: (dependencyTypes: DependencyType[]) => void; +}) { + const [isOpen, setIsOpen] = useState(false); + const [checkedDependencyTypes, setCheckedDependencyTypes] = useState< + DependencyType[] + >(defaultDependencyTypes); + + const reactFlow = useReactFlow(); + + const onColorChange = (depedencyType: DependencyType, checked: boolean) => { + const newDependencyTypes = checked + ? [...checkedDependencyTypes, depedencyType] + : checkedDependencyTypes.filter((type) => type !== depedencyType); + + setCheckedDependencyTypes(newDependencyTypes); + + reactFlow.setEdges((currentEdges) => + currentEdges.map((currentEdge) => { + return { + ...currentEdge, + data: { + ...currentEdge.data, + activeDependencyTypes: newDependencyTypes, + }, + }; + }), + ); + + onHighlightChange(newDependencyTypes); + }; + + const dependencyTypeToText = { + [DependencyType.PRODUCTION]: 'Production', + [DependencyType.DEVELOPMENT]: 'Development', + [DependencyType.PEER]: 'Peer', + }; + + return ( + + + + + setIsOpen(false)} + onEscapeKeyDown={() => setIsOpen(false)} + > + Dependency Type + + {[ + { type: DependencyType.PRODUCTION, color: 'bg-emerald-600' }, + { type: DependencyType.DEVELOPMENT, color: 'bg-sky-600' }, + { type: DependencyType.PEER, color: 'bg-purple-600' }, + ].map(({ type, color }) => ( + onColorChange(type, checked)} + > + {dependencyTypeToText[type]} + +
+ + + ))} + + + ); +} + +export function ControlBar({ + defaultDependencyTypes, + direction, + onDirectionChange, + onHighlightChange, + shownCount, + totalCount, +}: { + defaultDependencyTypes?: DependencyType[]; + direction: GraphDirection; + onHighlightChange: (dependencyTypes: DependencyType[]) => void; + onDirectionChange: (direction: GraphDirection) => void; + shownCount: number; + totalCount: number; +}) { + const reactFlow = useReactFlow(); + + return ( +
+
+
+ {`${shownCount} of ${totalCount}`} +
+
+
+ + + + + onDirectionChange(direction) + } + > + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ ); +} diff --git a/packages/ui-graph/src/graph-empty.tsx b/packages/ui-graph/src/graph-empty.tsx new file mode 100644 index 00000000..fd01f409 --- /dev/null +++ b/packages/ui-graph/src/graph-empty.tsx @@ -0,0 +1,24 @@ +'use client'; +import { Button, cn } from '@commonalityco/ui-design-system'; +import { useNodes } from '@xyflow/react'; +import { PackageSearch } from 'lucide-react'; + +export function GraphEmpty({ onShow }: { onShow: () => void }) { + const nodes = useNodes(); + + return ( +
+
+ +

No packages match your filters

+ +
+
+ ); +} diff --git a/packages/ui-graph/src/graph-loading.tsx b/packages/ui-graph/src/graph-loading.tsx new file mode 100644 index 00000000..49ecd603 --- /dev/null +++ b/packages/ui-graph/src/graph-loading.tsx @@ -0,0 +1,14 @@ +import { cn } from '@commonalityco/ui-design-system'; +import { Loader2 } from 'lucide-react'; + +export function GraphLoading() { + return ( +
+ +
+ ); +} diff --git a/packages/ui-graph/src/graph-machine.ts b/packages/ui-graph/src/graph-machine.ts deleted file mode 100644 index cef0547c..00000000 --- a/packages/ui-graph/src/graph-machine.ts +++ /dev/null @@ -1,570 +0,0 @@ -import type { VirtualElement } from '@floating-ui/react'; -import { ConstraintResult, Package } from '@commonalityco/types'; -import { assign, createMachine } from 'xstate'; -import { - CollectionArgument, - Core, - EdgeSingular, - ElementDefinition, - NodeSingular, - Selector, -} from 'cytoscape'; -import debounce from 'lodash-es/debounce'; -import { - focus, - hide, - hideAll, - hideDependents, - hideDependencies, - setInitialElements, - show, - showAll, - isolate, - showDependants, - showDependencies, - createRenderGraph, - createTraversalGraph, - updateGraphElements, -} from '@commonalityco/ui-graph'; - -type Filter = - | Selector - | ((ele: NodeSingular, index: number, eles: CollectionArgument) => boolean); - -export interface Context { - worker?: Worker; - isHovering: boolean; - renderGraph?: Core; - traversalGraph?: Core; - elements: ElementDefinition[]; - selectedRenderNode?: NodeSingular & { data: () => Package }; - selectedTraversalNode?: NodeSingular & { data: () => Package }; - selectedEdge?: EdgeSingular; - popoverRef?: VirtualElement; - theme: string; - results: ConstraintResult[]; -} - -type Event = - // Setup + teardown hooks - | { type: 'DESTROY' } - | { - type: 'INITIALIZE'; - containerId: string; - elements: ElementDefinition[]; - theme: string; - results: ConstraintResult[]; - worker: Worker; - } - - // Interactions - | { type: 'HIDE_ALL' } - | { type: 'HIDE'; selector: Filter } - | { type: 'SHOW_ALL' } - | { type: 'SHOW'; selector: Filter } - | { type: 'SHOW_DEPENDANTS'; pkg: Package } - | { type: 'HIDE_DEPENDANTS'; pkg: Package } - | { type: 'SHOW_DEPENDENCIES'; pkg: Package } - | { type: 'HIDE_DEPENDENCIES'; pkg: Package } - | { type: 'FOCUS'; selector: Filter } - | { type: 'ISOLATE'; selector: Filter } - | { type: 'ZOOM_IN' } - | { type: 'ZOOM_OUT' } - | { type: 'FIT'; selector: Filter } - | { type: 'SET_THEME'; theme: string } - | { type: 'NODE_MOUSEOVER'; node: NodeSingular } - | { type: 'NODE_MOUSEOUT'; node: NodeSingular } - | { type: 'NODE_CLICK'; node: NodeSingular } - | { type: 'EDGE_CLICK'; edge: EdgeSingular } - | { type: 'SET_HOVERING'; isHovering: boolean } - | { type: 'UNSELECT' }; - -const ZOOM_FACTOR = 0.5 as const; - -export const graphMachine = createMachine( - { - /** @xstate-layout N4IgpgJg5mDOIC5RQE4EMAOALAdAVwDsBLYgFyLQBsiAvSAYgEkA5RgFUYEEAZRgLQCiAbQAMAXUSgMAe1hFy0gpJAAPRAFYAnAA4cAJm0B2TZoOH1IgIwAWAMwAaEAE9Ep6zkO2renbYBs2qYAvkGOqJi4sHgAxtFwsEysHDz8wuLKMnIKSkiqiAC0BpY4luqGeiKa6qXattaWji4Imn6GONYBmtYV1sbWHSFh6Ng4UbHx9AAiAgDKbABKAPIAmqISuZnyRIrKagj5XsW2PiJ95YaeDs6IlqbF3dYWNp7a3YMg4SNjcbAJABKMaZrDKyLY7XJ7Qq1dqBPTVbRadR6PS2QyNRDaES2fRePx+dT4wyWWyad6fSIxH7-QECAD60wACgJmNNmABhRizYEbUHZXYFOrudR2TQiALaSx6fp6dEIcp6HDabTI-GSywIgJk4YU8a-egA6b0gRMlmcZhsGbcqS87Y5UCQrTY2yWKz9TTE7StBrXBDqartWx+nxlPy+bRaiKjSkTA10njcK0gTZ8iEFP1+HCB52WYyGawiJ6yw4lWpdIx6SwBYzqCNfaN6mZ-RYAdUTydt-P2Bk0OHUxwqwqxtlRZVlxLafbd5b8ImVktrOqp9EbLaNJtZHK56R5WQ7qf2gZEvc9gT8krKF00aJ9B2xXr8HXMrzz1nDoQ+2qjuoSK+ba+ZkxmhabY2uC9oCnYODuoEhwiAWr5XE0+SWKUPbdCOXj9MqEoLl+S6-rS8YgbuYF5AeYpQWUV4zhKrQ6LKyE+MUtyzhYrRIkYti4d8EwAGKLGyACqlrbtaJF2mRhSmDgcGvuURiXlY6gMTYkEiHYsKVn4qKlNx9Y-gIbC0mwfwCAAsmk6xiWCEmQhc+inNp4qYleo4+ih+YlP4pTmNUopVHp370Lx7DETZnaFMYiozsOfgGNYVRnrKFSBO02kJdUcE+NpgVLnwiyLGZtIsGFKbgeRR6HJ4FzdEihgFslUrYlU9TyY8JgIrlEz5YVtKLIJbClXu5UHLOOAPsKVRPBWkp+Ml+YZrOtiBJ4opwQF77knhEzMIshpmf1MwCP1g2iUmoG2QKdS9k1mheIEyrLcl6hKr2vTVDO+YuleXUNoZtJNgAagI8wsAA4kNpGQv2vbpfiPheJUMo+noFxHnYKEve1JJ2L9CS7YabK8GyADSkOXQekpQaG9XqRWCLCnN7kvIqqMEmedizvUeP0AIkxg3SROMKT5MRdmio5t5frqXU6nJe62K5i6PhXnooZ+DzgnMEd3ACGyp1Wed4liwW434t4pxdF03pND5PYuiSZ42Nlhga5tn54BgEBoOQBBQPQECKGAOAkAAbtIADWwee97pBgPklBoE40h4KQov7ue6j6Eq1RlMcBbabKwq6MOKH1Vo7ryrhMc+yQ-tgCgKDSCgOAYInpAAGbNwAtvgXs+-HifJ6n6fle6WcukGLTGHUyJFp6+jIh1qr1FibtDJGKBgAQEAN3XAdByHBDh1HOBbzvDf5OSo9kf0Ga1KppiVLJhfuQhb0EvmPhwl4ei4efu8UD7wbk3FubcfZdxQL3ABl9r5nXbFDG4SJ3DDnUs+BCdQbaIGWhmZEKtPTVFXv4EI74CDSF3vAXI5IQTG33PkB8RwXSPw9F6FSfYjzCkdp0OEop14fkjIQEgWwqC0EgDQ8K+5UQZhJOUOCzo-TLVeGOOCxQzxMTVq7OKrs8biLKmRD0JQiRGGqEYuWb9lQyUeK0KwgZSzWFwiA5uujhr6K0e0XOc4zzq0asULoeJHgVgUa5au-dfZQGcYghAmJ3Cc0tvDRGTMmiM0zKccoSJWgJUCP-begC64RIpqUCo+gjGvClKYeqyMkkdBSRcOEGjMmkhIUAA */ - predictableActionArguments: true, - id: 'graph', - initial: 'uninitialized', - tsTypes: {} as import('./graph-machine.typegen').Typegen0, - context: { - isHovering: false, - elements: [], - theme: 'light', - results: [], - }, - schema: { - events: {} as Event, - context: {} as Context, - }, - states: { - uninitialized: { - on: { - INITIALIZE: { - target: 'updating', - actions: [ - 'setWorker', - 'createTraversalGraph', - 'createRenderGraph', - 'setTheme', - 'setInitialElements', - 'log', - ], - }, - }, - }, - success: { - on: { - INITIALIZE: { - target: 'updating', - actions: [ - 'createTraversalGraph', - 'createRenderGraph', - 'setTheme', - 'setInitialElements', - 'log', - ], - }, - DESTROY: { - cond: 'hasInitialized', - actions: ['destroy'], - }, - // Graph interactions - HIDE: { - target: 'updating', - cond: 'hasInitialized', - actions: ['hide', 'unselect'], - }, - HIDE_DEPENDENCIES: { - target: 'updating', - cond: 'hasInitialized', - actions: ['hideDependencies', 'unselect'], - }, - HIDE_DEPENDANTS: { - target: 'updating', - cond: 'hasInitialized', - actions: ['hideDependents', 'unselect'], - }, - HIDE_ALL: { - target: 'updating', - cond: 'hasInitialized', - actions: ['hideAll', 'unselect'], - }, - SHOW: { - target: 'updating', - cond: 'hasInitialized', - actions: ['show', 'unselect'], - }, - SHOW_DEPENDENCIES: { - target: 'updating', - cond: 'hasInitialized', - actions: ['showDependencies', 'unselect'], - }, - SHOW_DEPENDANTS: { - target: 'updating', - cond: 'hasInitialized', - actions: ['showDependants', 'unselect'], - }, - SHOW_ALL: { - target: 'updating', - cond: 'hasInitialized', - actions: ['showAll', 'unselect'], - }, - FOCUS: { - target: 'updating', - cond: 'hasInitialized', - actions: ['focus', 'unselect'], - }, - ISOLATE: { - target: 'updating', - cond: 'hasInitialized', - actions: ['isolate', 'unselect'], - }, - SET_THEME: { - target: 'updating', - cond: 'hasInitialized', - actions: ['setTheme'], - }, - // Graph toolbar events triggered by the user - FIT: { - cond: 'hasInitialized', - actions: ['fit'], - }, - ZOOM_IN: { - cond: 'hasInitialized', - actions: ['zoomIn'], - }, - ZOOM_OUT: { - cond: 'hasInitialized', - actions: ['zoomOut'], - }, - // Events triggered by the graph - NODE_MOUSEOUT: { - cond: 'hasInitialized', - actions: ['unselect'], - }, - SET_HOVERING: { - cond: 'hasInitialized', - actions: ['setHovering'], - }, - NODE_CLICK: { - cond: 'hasInitialized', - actions: ['nodeClick', 'log'], - }, - EDGE_CLICK: { - cond: 'hasInitialized', - actions: ['edgeClick'], - }, - UNSELECT: { - cond: 'hasInitialized', - actions: ['unselect', 'log'], - }, - }, - }, - error: {}, - updating: { - invoke: { - id: 'update-layout', - src: 'updateLayout', - onDone: { - target: 'rendering', - actions: assign({ - elements: (_context, event) => event.data, - }), - }, - onError: { - target: 'error', - cond: 'hasInitialized', - }, - }, - }, - rendering: { - invoke: { - id: 'render-graph', - src: 'renderGraph', - onDone: { - target: 'success', - cond: 'hasInitialized', - }, - onError: { - target: 'error', - cond: 'hasInitialized', - }, - }, - }, - }, - }, - { - services: { - updateLayout: (context) => { - return new Promise((resolve) => { - if (!context.worker) { - // Throw to ERROR STATE - return resolve([]); - } - - context.worker.addEventListener( - 'message', - async (event: MessageEvent) => { - if (!context.renderGraph || !context.traversalGraph) { - return resolve([]); - } - - resolve(event.data); - }, - ); - - context.worker.postMessage(context.elements); - }); - }, - renderGraph: (context) => async (callback) => { - if (!context.renderGraph || !context.traversalGraph) return; - console.log('rendering'); - await updateGraphElements({ - renderGraph: context.renderGraph, - traversalGraph: context.traversalGraph, - elements: context.elements, - theme: context.theme, - results: context.results, - onEdgeClick: (event) => { - if (!context.renderGraph) return; - - callback({ type: 'EDGE_CLICK', edge: event.target }); - }, - onNodeClick: (event) => { - if (!context.renderGraph) return; - - callback({ type: 'NODE_CLICK', node: event.target }); - }, - onMove: debounce( - () => { - if (!context.renderGraph) return; - callback({ type: 'UNSELECT' }); - }, - 1000, - { leading: true, trailing: false }, - ), - }); - }, - }, - - actions: { - destroy: (context) => { - if (!context.renderGraph || !context.traversalGraph) return; - - context.renderGraph?.elements().removeAllListeners(); - context.renderGraph?.destroy(); - context.traversalGraph?.destroy(); - }, - setWorker: assign({ - worker: (_context, event) => { - return event.worker; - }, - }), - setInitialElements: assign({ - elements: (context) => { - if (!context.renderGraph) return []; - - return setInitialElements({ renderGraph: context.renderGraph }); - }, - results: (_context, event) => { - return event.results; - }, - }), - setTheme: assign({ - theme: (_context, event) => { - return event.theme; - }, - }), - createRenderGraph: assign({ - renderGraph: (_context, event) => { - const container = document.querySelector( - '#graph-container', - ) as HTMLElement; - - if (!container) throw new Error('Could not find graph container'); - - return createRenderGraph({ - container, - elements: event.elements, - }); - }, - }), - createTraversalGraph: assign({ - traversalGraph: (_context, event) => - createTraversalGraph({ - elements: event.elements, - }), - }), - hide: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return hide({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - selector: event.selector, - }); - }, - }), - hideDependencies: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return hideDependencies({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - id: event.pkg.name, - }); - }, - }), - hideDependents: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return hideDependents({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - id: event.pkg.name, - }); - }, - }), - hideAll: assign({ - elements: (context) => { - if (!context.traversalGraph) return []; - - return hideAll({ traversalGraph: context.traversalGraph }); - }, - }), - show: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return show({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - selector: event.selector, - }); - }, - }), - showDependencies: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return showDependencies({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - id: event.pkg.name, - }); - }, - }), - - showDependants: assign({ - elements: (context, event) => { - if (!context.renderGraph || !context.traversalGraph) return []; - - return showDependants({ - traversalGraph: context.traversalGraph, - renderGraph: context.renderGraph, - id: event.pkg.name, - }); - }, - }), - showAll: assign({ - elements: (context) => { - if (!context.traversalGraph) return []; - - return showAll({ traversalGraph: context.traversalGraph }); - }, - }), - focus: assign({ - elements: (context, event) => { - if (!context.traversalGraph) return []; - - return focus({ - traversalGraph: context.traversalGraph, - selector: event.selector, - }); - }, - }), - isolate: assign({ - elements: (context, event) => { - if (!context.traversalGraph) return []; - - return isolate({ - traversalGraph: context.traversalGraph, - selector: event.selector, - }); - }, - }), - fit: (context, event) => { - if (!context.renderGraph) return; - - if (event.selector) { - const elements = - typeof event.selector === 'function' - ? context.renderGraph?.nodes().filter((node, index, eles) => { - if (typeof event.selector === 'function') { - return event.selector(node, index, eles); - } - - return false; - }) - : context.renderGraph?.filter(event.selector); - - context.renderGraph.fit(elements, 24); - } else { - context.renderGraph.fit(undefined, 24); - } - }, - zoomIn: (context) => { - if (!context.renderGraph) return; - - const currentZoom = context.renderGraph.zoom(); - - const extent = context.renderGraph.extent(); - const centerX = extent.x1 + (extent.x2 - extent.x1) / 2; - const centerY = extent.y1 + (extent.y2 - extent.y1) / 2; - - context.renderGraph.animate({ - duration: 100, - zoom: { - level: currentZoom + currentZoom * ZOOM_FACTOR, - position: { - x: centerX, - y: centerY, - }, - }, - }); - }, - zoomOut: (context) => { - if (!context.renderGraph) return; - - const currentZoom = context.renderGraph.zoom(); - - const extent = context.renderGraph.extent(); - const centerX = extent.x1 + (extent.x2 - extent.x1) / 2; - const centerY = extent.y1 + (extent.y2 - extent.y1) / 2; - - context.renderGraph.animate({ - duration: 100, - zoom: { - level: currentZoom - currentZoom * ZOOM_FACTOR, - position: { - x: centerX, - y: centerY, - }, - }, - }); - }, - nodeClick: assign({ - selectedEdge: undefined, - selectedRenderNode: (context, event) => { - if (context.selectedRenderNode?.id() === event.node.id()) { - return; - } - - return event.node; - }, - selectedTraversalNode: (context, event) => { - if (!context.traversalGraph) return; - - if (context.selectedRenderNode?.id() === event.node.id()) { - return; - } - - return context.traversalGraph.$id(event.node.id()); - }, - }), - edgeClick: assign({ - selectedRenderNode: undefined, - selectedTraversalNode: undefined, - selectedEdge: (context, event) => { - if (context.selectedEdge?.id() === event.edge.id()) { - return; - } - - return event.edge; - }, - }), - setHovering: assign({ - isHovering: (context, event) => event.isHovering, - }), - unselect: assign({ - selectedRenderNode: undefined, - selectedTraversalNode: undefined, - selectedEdge: undefined, - }), - log: (context, event) => { - console.log(event.type, { context, event }); - }, - }, - guards: { - hasInitialized: (context) => - context.renderGraph !== undefined || - context.traversalGraph !== undefined || - context.worker !== undefined, - }, - }, -); diff --git a/packages/ui-graph/src/graph-machine.typegen.ts b/packages/ui-graph/src/graph-machine.typegen.ts deleted file mode 100644 index e5bb0500..00000000 --- a/packages/ui-graph/src/graph-machine.typegen.ts +++ /dev/null @@ -1,124 +0,0 @@ -// This file was automatically generated. Edits will be overwritten - -export interface Typegen0 { - '@@xstate/typegen': true; - internalEvents: { - 'done.invoke.render-graph': { - type: 'done.invoke.render-graph'; - data: unknown; - __tip: 'See the XState TS docs to learn how to strongly type this.'; - }; - 'done.invoke.update-layout': { - type: 'done.invoke.update-layout'; - data: unknown; - __tip: 'See the XState TS docs to learn how to strongly type this.'; - }; - 'error.platform.render-graph': { - type: 'error.platform.render-graph'; - data: unknown; - }; - 'error.platform.update-layout': { - type: 'error.platform.update-layout'; - data: unknown; - }; - 'xstate.init': { type: 'xstate.init' }; - }; - invokeSrcNameMap: { - renderGraph: 'done.invoke.render-graph'; - updateLayout: 'done.invoke.update-layout'; - }; - missingImplementations: { - actions: never; - delays: never; - guards: never; - services: never; - }; - eventsCausingActions: { - createRenderGraph: 'INITIALIZE'; - createTraversalGraph: 'INITIALIZE'; - destroy: 'DESTROY'; - edgeClick: 'EDGE_CLICK'; - fit: 'FIT'; - focus: 'FOCUS'; - hide: 'HIDE'; - hideAll: 'HIDE_ALL'; - hideDependencies: 'HIDE_DEPENDENCIES'; - hideDependents: 'HIDE_DEPENDANTS'; - isolate: 'ISOLATE'; - log: 'INITIALIZE' | 'NODE_CLICK' | 'UNSELECT'; - nodeClick: 'NODE_CLICK'; - setHovering: 'SET_HOVERING'; - setInitialElements: 'INITIALIZE'; - setTheme: 'INITIALIZE' | 'SET_THEME'; - setWorker: 'INITIALIZE'; - show: 'SHOW'; - showAll: 'SHOW_ALL'; - showDependants: 'SHOW_DEPENDANTS'; - showDependencies: 'SHOW_DEPENDENCIES'; - unselect: - | 'FOCUS' - | 'HIDE' - | 'HIDE_ALL' - | 'HIDE_DEPENDANTS' - | 'HIDE_DEPENDENCIES' - | 'ISOLATE' - | 'NODE_MOUSEOUT' - | 'SHOW' - | 'SHOW_ALL' - | 'SHOW_DEPENDANTS' - | 'SHOW_DEPENDENCIES' - | 'UNSELECT'; - zoomIn: 'ZOOM_IN'; - zoomOut: 'ZOOM_OUT'; - }; - eventsCausingDelays: {}; - eventsCausingGuards: { - hasInitialized: - | 'DESTROY' - | 'EDGE_CLICK' - | 'FIT' - | 'FOCUS' - | 'HIDE' - | 'HIDE_ALL' - | 'HIDE_DEPENDANTS' - | 'HIDE_DEPENDENCIES' - | 'ISOLATE' - | 'NODE_CLICK' - | 'NODE_MOUSEOUT' - | 'SET_HOVERING' - | 'SET_THEME' - | 'SHOW' - | 'SHOW_ALL' - | 'SHOW_DEPENDANTS' - | 'SHOW_DEPENDENCIES' - | 'UNSELECT' - | 'ZOOM_IN' - | 'ZOOM_OUT' - | 'done.invoke.render-graph' - | 'error.platform.render-graph' - | 'error.platform.update-layout'; - }; - eventsCausingServices: { - renderGraph: 'done.invoke.update-layout'; - updateLayout: - | 'FOCUS' - | 'HIDE' - | 'HIDE_ALL' - | 'HIDE_DEPENDANTS' - | 'HIDE_DEPENDENCIES' - | 'INITIALIZE' - | 'ISOLATE' - | 'SET_THEME' - | 'SHOW' - | 'SHOW_ALL' - | 'SHOW_DEPENDANTS' - | 'SHOW_DEPENDENCIES'; - }; - matchesStates: - | 'error' - | 'rendering' - | 'success' - | 'uninitialized' - | 'updating'; - tags: never; -} diff --git a/packages/ui-graph/src/graph-provider.tsx b/packages/ui-graph/src/graph-provider.tsx deleted file mode 100644 index da852296..00000000 --- a/packages/ui-graph/src/graph-provider.tsx +++ /dev/null @@ -1,24 +0,0 @@ -'use client'; -import { createActorContext } from '@xstate/react'; -import { graphMachine } from './graph-machine'; - -export const GraphContext: ReturnType< - typeof createActorContext -> = createActorContext(graphMachine); - -export const GraphProvider = ({ children }: { children?: React.ReactNode }) => { - return ( - - {children} - - ); -}; - -export default GraphProvider; diff --git a/packages/ui-graph/src/graph.tsx b/packages/ui-graph/src/graph.tsx new file mode 100644 index 00000000..d4f06c91 --- /dev/null +++ b/packages/ui-graph/src/graph.tsx @@ -0,0 +1,209 @@ +'use client'; +import { GradientFade } from '@commonalityco/ui-core'; +import { + Background, + BackgroundVariant, + ConnectionLineType, + Edge, + MiniMap, + Node, + ReactFlow, + getConnectedEdges, + getIncomers, + getOutgoers, + useEdgesState, + useNodesState, +} from '@xyflow/react'; +import React, { ComponentProps, useCallback } from 'react'; +import { PackageNode } from './package-node'; +import { DependencyEdge } from './package/dependency-edge'; +import { DependencyEdgeData } from './package/get-edges'; +import { PackageNodeData } from './package/get-nodes'; + +const nodeTypes = { + package: PackageNode, +}; + +const edgeTypes = { + dependency: DependencyEdge, +}; + +export const Graph = ( + props: { + totalCount: number; + nodes: Node[]; + edges: Edge[]; + theme: 'light' | 'dark'; + children?: React.ReactNode; + } & Pick< + ComponentProps, + 'onSelectionChange' | 'onEdgeClick' + >, +) => { + const [nodes, setNodes, onNodesChange] = useNodesState(props.nodes); + const [edges, setEdges, onEdgesChange] = useEdgesState(props.edges); + + const onNodeMouseLeave = useCallback( + (_event: React.MouseEvent, _node: Node) => { + setNodes((currentNodes: Node[]) => { + return currentNodes.map((currentNode) => { + return { + ...currentNode, + muted: false, + }; + }); + }); + + setEdges((currentEdges: Edge[]) => + currentEdges.map((currentEdge) => { + if (!currentEdge.data) return currentEdge; + + return { + ...currentEdge, + data: { + ...currentEdge.data, + active: false, + muted: false, + }, + }; + }), + ); + }, + [edges, setNodes, setEdges], + ); + + const onNodeMouseEnter = useCallback( + (_event: React.MouseEvent, node: Node) => { + const connectedEdges = getConnectedEdges([node], edges); + const outgoers = getOutgoers(node, nodes, edges); + const incomers = getIncomers(node, nodes, edges); + const neighbors = [node, ...outgoers, ...incomers]; + + setNodes((currentNodes: Node[]) => { + return currentNodes.map((currentNode) => { + return currentNode.id === node.id + ? { + ...currentNode, + muted: !neighbors.some((neighbor) => neighbor.id === node.id), + } + : currentNode; + }); + }); + + setEdges((currentEdges: Edge[]) => + currentEdges.map((currentEdge) => { + if (!currentEdge.data) return currentEdge; + + const isActive = connectedEdges.some( + (edge) => edge.id === currentEdge.id, + ); + + return { + ...currentEdge, + data: { + ...currentEdge.data, + active: isActive, + muted: !isActive, + }, + }; + }), + ); + }, + [edges, nodes], + ); + + const onEdgeMouseLeave = useCallback( + (_event: React.MouseEvent, edge: Edge) => { + setEdges((currentEdges) => + currentEdges.map((currentEdge: Edge) => { + if (!currentEdge.data) { + return currentEdge; + } else if (currentEdge.id === edge.id) { + return { + ...currentEdge, + data: { + ...currentEdge.data, + active: false, + }, + }; + } else { + return currentEdge; + } + }), + ); + }, + [], + ); + + const onEdgeMouseEnter = useCallback( + (_event: React.MouseEvent, edge: Edge) => { + setEdges((currentEdges) => + currentEdges.map((currentEdge: Edge) => { + if (!currentEdge.data) return currentEdge; + + return currentEdge.id === edge.id + ? { + ...currentEdge, + data: { + ...currentEdge.data, + active: true, + }, + } + : currentEdge; + }), + ); + }, + [], + ); + + return ( +
+
+ + {props.children} + + + + + + + + +
+
+ ); +}; diff --git a/packages/ui-graph/src/index.ts b/packages/ui-graph/src/index.ts index 5fd6ba5c..c6758e3e 100644 --- a/packages/ui-graph/src/index.ts +++ b/packages/ui-graph/src/index.ts @@ -1,21 +1,12 @@ -export * from './create-render-graph'; -export * from './get-element-definitions'; -export * from './get-element-definitions-with-updated-layout'; -export * from './update-graph-elements'; -export * from './create-traversal-graph'; -export { - show, - showDependants, - showDependencies, - setInitialElements, - focus, - showAll, - hideAll, - hideDependents, - hideDependencies, - hide, - isolate, -} from './actions'; -export * from './create-worker'; -export * from './graph-machine'; -export { GraphContext, GraphProvider } from './graph-provider'; +export * from './graph'; +export * from './package/get-edges'; +export * from './package/get-nodes'; +export * from './package/package-toolbar'; +export * from './package/zero-state'; +export * from './use-interactions'; +export * from './get-elements-with-layout'; +export * from './graph-empty'; +export * from './graph-loading'; +export * from './types'; +export * from './graph-control-bar'; +export * from './dependency-dialog'; diff --git a/packages/ui-graph/src/layout-options.ts b/packages/ui-graph/src/layout-options.ts deleted file mode 100644 index 38858ad4..00000000 --- a/packages/ui-graph/src/layout-options.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { BaseLayoutOptions } from 'cytoscape'; -import { DagreLayoutOptions } from 'cytoscape-dagre'; - -export const layoutOptions: DagreLayoutOptions & BaseLayoutOptions = { - name: 'dagre', - animate: false, - rankSep: 240, - nodeSep: 140, - nodeDimensionsIncludeLabels: true, -}; diff --git a/packages/ui-graph/src/package-node.tsx b/packages/ui-graph/src/package-node.tsx new file mode 100644 index 00000000..55fd7b98 --- /dev/null +++ b/packages/ui-graph/src/package-node.tsx @@ -0,0 +1,70 @@ +import { Handle, type NodeProps } from '@xyflow/react'; +import { Position } from '@xyflow/system'; +import { PackageNodeData } from './package/get-nodes'; +import { getIconForPackage } from '@commonalityco/ui-core'; +import { cn } from '@commonalityco/ui-design-system'; +import { DependencyType } from '@commonalityco/utils-core'; + +export function PackageNode({ + isConnectable, + data, + width, + height, + ...rest +}: NodeProps) { + const Icon = getIconForPackage(data.package.type); + + return ( +
+
+ {data.input ? ( + + ) : undefined} + +
+

+ {data.package.name} +

+ +
+ + {data.output ? ( + <> + + + + + ) : undefined} +
+
+ ); +} diff --git a/packages/ui-graph/src/package/dependency-edge.tsx b/packages/ui-graph/src/package/dependency-edge.tsx new file mode 100644 index 00000000..aaec3d25 --- /dev/null +++ b/packages/ui-graph/src/package/dependency-edge.tsx @@ -0,0 +1,112 @@ +import { DependencyType } from '@commonalityco/utils-core'; +import { + BaseEdge, + EdgeLabelRenderer, + EdgeProps, + getBezierPath, +} from '@xyflow/react'; +import { DependencyEdgeData } from './get-edges'; +import { cn } from '@commonalityco/ui-design-system'; +import { ShieldX } from 'lucide-react'; + +const TEXT_BY_TYPE = { + [DependencyType.DEVELOPMENT]: 'dev', + [DependencyType.PEER]: 'peer', + [DependencyType.PRODUCTION]: 'prod', +}; + +export function DependencyEdge({ + id, + sourceX, + sourceY, + targetX, + targetY, + data, + targetPosition, + sourcePosition, + selected, +}: EdgeProps) { + const [edgePath, labelX, labelY] = getBezierPath({ + targetPosition, + sourcePosition, + sourceX, + sourceY, + targetX, + targetY, + }); + + const highlighted = + data?.active || + data?.activeDependencyTypes.includes(data.dependency.type) || + selected; + + return ( + <> + + + + {data?.results.length ? ( + + + + + {data?.results.length} + + ) : ( + + {data?.dependency.type ? TEXT_BY_TYPE[data.dependency.type] : ''} + + )} + + + + ); +} diff --git a/packages/ui-graph/src/package/get-edges.ts b/packages/ui-graph/src/package/get-edges.ts new file mode 100644 index 00000000..72269658 --- /dev/null +++ b/packages/ui-graph/src/package/get-edges.ts @@ -0,0 +1,55 @@ +import { ConstraintResult, Dependency } from '@commonalityco/types'; +import { DependencyType } from '@commonalityco/utils-core'; +import { type Edge } from '@xyflow/react'; +import { MarkerType } from '@xyflow/system'; + +const edgeType = 'dependency'; + +export type DependencyEdgeData = { + dependency: Dependency; + results: ConstraintResult[]; + theme: 'light' | 'dark'; + active: boolean; + muted: boolean; + activeDependencyTypes: DependencyType[]; +}; + +export const getEdges = ({ + dependencies, + results = [], + theme, + activeDependencyTypes = [], +}: { + dependencies: Dependency[]; + results: ConstraintResult[]; + theme: 'light' | 'dark'; + activeDependencyTypes: DependencyType[]; +}): Edge[] => { + return dependencies.map((dependency) => { + return { + id: `${dependency.source}-${dependency.target}-${dependency.type}`, + source: dependency.source, + target: dependency.target, + sourceHandle: dependency.type, + data: { + results: results.filter((result) => + result.dependencyPath.some( + (depPath) => + depPath.source === dependency.source && + depPath.target === dependency.target && + depPath.type === dependency.type, + ), + ), + dependency, + theme, + active: false, + muted: false, + activeDependencyTypes, + }, + type: edgeType, + markerEnd: { + type: MarkerType.ArrowClosed, + }, + } satisfies Edge; + }); +}; diff --git a/packages/ui-graph/src/package/get-nodes.ts b/packages/ui-graph/src/package/get-nodes.ts new file mode 100644 index 00000000..80f50e40 --- /dev/null +++ b/packages/ui-graph/src/package/get-nodes.ts @@ -0,0 +1,50 @@ +import { Dependency, Package, TagsData } from '@commonalityco/types'; +import { Node } from '@xyflow/react'; + +const position = { x: 0, y: 0 }; + +export type PackageNodeData = { + label: string; + package: Package; + output?: Dependency; + input?: Dependency; + tags: string[]; + muted: boolean; +}; + +export const getNodes = ({ + packages, + dependencies, + tagsData, +}: { + packages: Package[]; + dependencies: Dependency[]; + tagsData: TagsData[]; +}): Node[] => { + return packages.map((pkg) => { + const input = dependencies.find((dep) => dep.target === pkg.name); + const output = dependencies.find((dep) => dep.source === pkg.name); + + const tags = tagsData + .filter((data) => data.packageName === pkg.name) + .flatMap((data) => data.tags); + + return { + id: pkg.name, + type: 'package', + width: 400, + height: 68, + draggable: false, + data: { + label: pkg.name, + package: pkg, + input, + output, + tags, + muted: false, + }, + connectable: false, + position, + }; + }); +}; diff --git a/packages/ui-graph/src/package/package-toolbar.tsx b/packages/ui-graph/src/package/package-toolbar.tsx new file mode 100644 index 00000000..bb943f36 --- /dev/null +++ b/packages/ui-graph/src/package/package-toolbar.tsx @@ -0,0 +1,97 @@ +'use client'; +import { + Button, + Separator, + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from '@commonalityco/ui-design-system'; +import { EyeOff, Focus, Tags } from 'lucide-react'; +import { NodeToolbar, Node, Edge, OnSelectionChangeFunc } from '@xyflow/react'; +import { Position } from '@xyflow/system'; +import { DependencyEdgeData, PackageNodeData, useInteractions } from '..'; +import { GraphDirection } from '../types'; + +function ToolbarButton({ + children, + text, + onClick, +}: { + children: React.ReactNode; + text: string; + onClick?: () => void; +}) { + return ( + + + + + + + {text} + + + + ); +} + +export function PackageToolbar(props: { + onEditTags: (packageName: string) => void; + selectedNodeIds: string[]; + nodes: Node[]; + edges: Edge[]; + direction?: GraphDirection; + isVisible?: boolean; + onChange: OnSelectionChangeFunc; +}) { + const interactions = useInteractions({ + nodes: props.nodes, + edges: props.edges, + onChange: props.onChange, + }); + + const isVisible = Number(props.selectedNodeIds?.length) > 0; + + return ( + + {Number(props.selectedNodeIds.length) === 1 ? ( + <> + props.onEditTags(props.selectedNodeIds[0])} + > + + + + + ) : undefined} + + interactions.focus(props.selectedNodeIds)} + > + + + + interactions.hide(props.selectedNodeIds)} + > + + + + ); +} diff --git a/packages/ui-graph/src/package/zero-state.tsx b/packages/ui-graph/src/package/zero-state.tsx new file mode 100644 index 00000000..0d30385a --- /dev/null +++ b/packages/ui-graph/src/package/zero-state.tsx @@ -0,0 +1,18 @@ +import { Package as PackageIcon } from 'lucide-react'; + +export function ZeroState() { + return ( +
+
+ +

+ No packages match your filters +

+

+ You'll see your dependency graph here after you've created your first + package. +

+
+
+ ); +} diff --git a/packages/ui-graph/src/styles/edge.ts b/packages/ui-graph/src/styles/edge.ts deleted file mode 100644 index 45d6df98..00000000 --- a/packages/ui-graph/src/styles/edge.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Stylesheet } from 'cytoscape'; - -const colors = { - light: { - // Neutral 300 - default: '#52525b', - fail: '#dc2626', - pass: '#16a34a', - }, - dark: { - default: '#71717a', - fail: '#ef4444', - pass: '#10b981', - }, -}; - -export const edgeStyles: Stylesheet[] = [ - { - selector: 'edge', - style: { - width: 3, - 'target-arrow-color': colors.light.default, - 'target-arrow-shape': 'triangle', - 'curve-style': 'unbundled-bezier', - 'source-endpoint': '0% 50%', - 'target-endpoint': '0% -50%', - 'arrow-scale': 1.5, - 'line-color': colors.light.default, - opacity: 0.3, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.pass', - style: { - 'line-color': colors.light.pass, - 'target-arrow-color': colors.light.pass, - 'underlay-color': colors.light.pass, - 'z-index': 10, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.fail', - style: { - 'line-color': colors.light.fail, - 'target-arrow-color': colors.light.fail, - 'underlay-color': colors.light.fail, - 'z-index': 10, - opacity: 1, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.dark', - style: { - 'line-color': colors.dark.default, - 'target-arrow-color': colors.dark.default, - 'underlay-color': colors.dark.default, - opacity: 0.2, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.pass.dark', - style: { - 'line-color': colors.dark.pass, - 'target-arrow-color': colors.dark.pass, - 'underlay-color': colors.dark.pass, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.fail.dark', - style: { - 'line-color': colors.dark.fail, - 'target-arrow-color': colors.dark.fail, - 'underlay-color': colors.dark.fail, - } as cytoscape.Css.Edge, - }, - { - selector: 'edge.dim', - style: { - opacity: 0.1, - }, - }, - { - selector: 'edge.focus', - style: { - opacity: 1, - }, - }, - { - selector: 'edge.hover', - style: { - opacity: 1, - 'z-index': 100, - 'underlay-padding': 10, - 'underlay-opacity': 0.35, - } as cytoscape.Css.Edge, - }, -]; diff --git a/packages/ui-graph/src/styles/node.ts b/packages/ui-graph/src/styles/node.ts deleted file mode 100644 index 2ebd6c10..00000000 --- a/packages/ui-graph/src/styles/node.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Stylesheet } from 'cytoscape'; - -export const fontSize = 24; -export const fontFamily = 'Fira Code, monospace'; -export const fontWeight = 600; - -export const nodeStyles: Stylesheet[] = [ - { - selector: 'node', - style: { - label: 'data(id)', - width: 'data(width)', - height: 'data(height)', - shape: 'roundrectangle', - 'text-margin-x': 20, - 'background-height': 42, - 'background-width': 42, - 'background-position-x': '26px', - 'background-position-y': '30px', - 'background-image': 'data(image)', - 'font-size': fontSize, - 'font-family': fontFamily, - 'font-weight': fontWeight, - 'background-color': '#fafafa', - 'padding-top': '0px', - 'padding-bottom': '0px', - 'padding-left': '16px', - 'padding-right': '16px', - color: '#27272a', - 'border-width': 2, - 'border-style': 'solid', - 'border-color': '#d4d4d8', - 'text-halign': 'center', - 'text-valign': 'center', - 'underlay-padding': 24, - 'underlay-opacity': 0, - 'overlay-padding': 24, - 'underlay-color': '#d4d4d8', - 'overlay-color': '#d4d4d8', - } as cytoscape.Css.Node, - }, - { - selector: 'node:active', - style: { - 'underlay-opacity': 1, - } as cytoscape.Css.Node, - }, - { - selector: 'node.dim', - style: { - opacity: 0.1, - }, - }, - { - selector: 'node.hover', - style: { - 'underlay-opacity': 0.75, - } as cytoscape.Css.Node, - }, - { - selector: 'node.dark', - style: { - 'background-color': '#18181b', - 'border-color': '#3f3f46', - color: '#fff', - 'overlay-color': '#27272a', - 'underlay-color': '#27272a', - } as cytoscape.Css.Node, - }, - { - selector: 'node.dark.hover', - style: { - // 'border-color': '#3f3f46', - // color: '#fff', - // 'overlay-color': '#09090b', - // 'underlay-color': '#09090b', - }, - }, -]; diff --git a/packages/ui-graph/src/types.ts b/packages/ui-graph/src/types.ts new file mode 100644 index 00000000..e96354b4 --- /dev/null +++ b/packages/ui-graph/src/types.ts @@ -0,0 +1,6 @@ +export type HandleDirection = 'TB' | 'LR' | 'RL' | 'BT'; + +export enum GraphDirection { + TopToBottom = 'TB', + LeftToRight = 'LR', +} diff --git a/packages/ui-graph/src/update-graph-elements.ts b/packages/ui-graph/src/update-graph-elements.ts deleted file mode 100644 index c6580805..00000000 --- a/packages/ui-graph/src/update-graph-elements.ts +++ /dev/null @@ -1,81 +0,0 @@ -'use client'; -import { Core, ElementDefinition } from 'cytoscape'; -import { bindRenderGraphEvents } from './bind-render-graph-events'; -import { ConstraintResult, Dependency } from '@commonalityco/types'; - -const updateStyles = ({ - graph, - theme, - results = [], -}: { - graph: Core; - theme: string; - results: ConstraintResult[]; -}) => { - graph - .elements() - .removeClass(['dark', 'light', 'dim', 'focus']) - .addClass(theme); - - for (const edge of graph.edges()) { - const edgeData = edge.data() as Dependency; - - const resultForEdge = results.find((result) => { - return result.dependencyPath.some((dep) => { - return ( - dep.source === edgeData.source && - dep.target === edgeData.target && - edgeData.type === dep.type - ); - }); - }); - - if (resultForEdge) { - if (resultForEdge.isValid) { - edge.addClass(['pass']); - } else { - edge.addClass('fail'); - } - } - } -}; - -export const updateGraphElements = async ({ - renderGraph, - traversalGraph, - theme, - results, - elements, - onEdgeClick, - onNodeClick, - onMove, -}: { - renderGraph: Core; - traversalGraph: Core; - theme: string; - results: ConstraintResult[]; - elements: ElementDefinition[]; - onNodeClick: cytoscape.EventHandler; - onEdgeClick: cytoscape.EventHandler; - onMove: cytoscape.EventHandler; -}) => { - // Clear the graph - renderGraph.json({ elements }); - - updateStyles({ graph: renderGraph, theme, results }); - - renderGraph.fit(undefined, 24); - - // Bind graph events, these events are all fired by the Cytoscape library - bindRenderGraphEvents({ - renderGraph, - theme, - traversalGraph, - results, - onEdgeClick, - onNodeClick, - onMove, - }); -}; - -export default updateGraphElements; diff --git a/packages/ui-graph/src/use-interactions.ts b/packages/ui-graph/src/use-interactions.ts new file mode 100644 index 00000000..b070bb9b --- /dev/null +++ b/packages/ui-graph/src/use-interactions.ts @@ -0,0 +1,72 @@ +'use client'; +import { + Edge, + Node, + OnSelectionChangeFunc, + getConnectedEdges, + getIncomers, + getOutgoers, + useReactFlow, +} from '@xyflow/react'; + +export function useInteractions({ + nodes, + edges, + onChange, +}: { + nodes: Node[]; + edges: Edge[]; + onChange: OnSelectionChangeFunc; +}) { + const { getNodes } = useReactFlow, Edge>(); + + return { + hideAll: () => { + onChange({ nodes: [], edges: [] }); + }, + showAll: () => { + onChange({ nodes, edges }); + }, + show: (packageNames: string[]) => { + const currentNodes = getNodes(); + + const newNodes = nodes.filter((node) => packageNames.includes(node.id)); + + const updatedNodes = [...currentNodes, ...newNodes]; + + onChange({ + nodes: updatedNodes, + edges: getConnectedEdges(updatedNodes, edges), + }); + }, + focus: (packageNames: string[]) => { + const selectedNodes = nodes.filter((node) => + packageNames.includes(node.id), + ); + + if (selectedNodes.length === 0) return; + + const incomers = selectedNodes.flatMap((selectedPkg) => + getIncomers(selectedPkg, nodes, edges), + ); + + const outgoers = selectedNodes.flatMap((selectedPkg) => + getOutgoers(selectedPkg, nodes, edges), + ); + + const neighbors = [...selectedNodes, ...incomers, ...outgoers]; + + const newEdges = getConnectedEdges(neighbors, edges); + + onChange({ nodes: neighbors, edges: newEdges }); + }, + hide: (nodeIds: string[]) => { + const newNodes = getNodes().filter((node) => !nodeIds.includes(node.id)); + + onChange({ + nodes: newNodes, + edges: getConnectedEdges(newNodes, edges), + }); + }, + }; +} diff --git a/packages/ui-graph/src/utils.ts b/packages/ui-graph/src/utils.ts new file mode 100644 index 00000000..5f9879be --- /dev/null +++ b/packages/ui-graph/src/utils.ts @@ -0,0 +1,40 @@ +import { Position } from '@xyflow/system'; +import { HandleDirection } from './types'; + +export function getSourceHandlePosition(direction: HandleDirection) { + switch (direction) { + case 'TB': { + return Position.Bottom; + } + case 'BT': { + return Position.Top; + } + case 'LR': { + return Position.Right; + } + case 'RL': { + return Position.Left; + } + } +} + +export function getTargetHandlePosition(direction: HandleDirection) { + switch (direction) { + case 'TB': { + return Position.Top; + } + case 'BT': { + return Position.Bottom; + } + case 'LR': { + return Position.Left; + } + case 'RL': { + return Position.Right; + } + } +} + +export function getId() { + return `${Date.now()}`; +} diff --git a/packages/ui-package/package.json b/packages/ui-package/package.json index 31365cd6..0dfb61cf 100644 --- a/packages/ui-package/package.json +++ b/packages/ui-package/package.json @@ -18,18 +18,18 @@ "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/ui-design-system": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "@tanstack/react-table": "^8.10.1", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", + "@tanstack/react-table": "^8.12.0", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", - "@types/react": "^18.2.22", - "@vitejs/plugin-react-swc": "^3.3.2", + "@types/react": "^18.2.57", + "@vitejs/plugin-react-swc": "^3.6.0", "eslint-config-commonality": "workspace:*", "lucide-react": "^0.317.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "tailwindcss": "^3.3.3", - "typescript": "^5.2.2" + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3" }, "peerDependencies": { "@tanstack/react-table": "8.x" @@ -54,4 +54,4 @@ "url": "https://github.com/commonalityco/commonality", "directory": "packages/ui-package" } -} \ No newline at end of file +} diff --git a/packages/utils-conformance/package.json b/packages/utils-conformance/package.json index fd8342d9..fe3b590f 100644 --- a/packages/utils-conformance/package.json +++ b/packages/utils-conformance/package.json @@ -31,14 +31,14 @@ "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "@types/fs-extra": "^11.0.2", - "@types/lodash-es": "^4.14.198", + "@types/fs-extra": "^11.0.4", + "@types/lodash-es": "^4.17.12", "@types/resolve": "^1.20.6", "eslint-config-commonality": "workspace:*", "execa": "^8.0.1", "import-meta-resolve": "^4.0.0", "jiti": "^1.21.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "peerDependencies": { "@commonalityco/utils-core": "*", @@ -48,12 +48,12 @@ "dependencies": { "chalk": "^5.3.0", "detect-indent": "^7.0.1", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "jest-diff": "^29.7.0", "lodash-es": "^4.17.21", "mock-fs": "^5.2.0", - "nanoid": "^5.0.5", - "pathe": "^1.1.1", + "nanoid": "^5.0.6", + "pathe": "^1.1.2", "resolve": "^1.22.8", "strip-ansi": "^7.1.0" }, diff --git a/packages/utils-core/package.json b/packages/utils-core/package.json index 5a9ade4d..085c2267 100644 --- a/packages/utils-core/package.json +++ b/packages/utils-core/package.json @@ -25,11 +25,11 @@ }, "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", - "@types/react": "^18.2.22", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "peerDependencies": { "react": ">=18", @@ -37,8 +37,8 @@ }, "dependencies": { "@sindresorhus/slugify": "^2.2.1", - "pino": "^8.17.1", - "pino-pretty": "^10.3.0", + "pino": "^8.19.0", + "pino-pretty": "^10.3.1", "zod": "^3.22.4" }, "repository": { diff --git a/packages/utils-file/package.json b/packages/utils-file/package.json index 4aebb907..4e83521c 100644 --- a/packages/utils-file/package.json +++ b/packages/utils-file/package.json @@ -29,13 +29,13 @@ "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/types": "workspace:*", "@commonalityco/utils-core": "workspace:*", - "@types/fs-extra": "^11.0.2", - "@types/lodash-es": "^4.14.198", + "@types/fs-extra": "^11.0.4", + "@types/lodash-es": "^4.17.12", "@types/mock-fs": "^4.13.4", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "peerDependencies": { "@commonalityco/utils-core": "*", @@ -45,11 +45,11 @@ "dependencies": { "chalk": "^5.3.0", "detect-indent": "^7.0.1", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "jest-diff": "^29.7.0", "lodash-es": "^4.17.21", "mock-fs": "^5.2.0", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "strip-ansi": "^7.1.0" }, "repository": { diff --git a/packages/utils-onboarding/package.json b/packages/utils-onboarding/package.json index 08848976..b307a1f6 100644 --- a/packages/utils-onboarding/package.json +++ b/packages/utils-onboarding/package.json @@ -21,15 +21,15 @@ "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", "@commonalityco/utils-file": "workspace:*", - "@types/fs-extra": "^11.0.2", + "@types/fs-extra": "^11.0.4", "@types/mock-fs": "^4.13.4", - "@types/prompts": "^2.4.4", - "@types/react": "^18.2.22", + "@types/prompts": "^2.4.9", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "mock-fs": "^5.2.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "peerDependencies": { "@commonalityco/utils-file": "workspace:*", @@ -52,9 +52,9 @@ }, "dependencies": { "@antfu/install-pkg": "^0.3.1", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "local-pkg": "^0.5.0", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "prompts": "^2.4.2" } } diff --git a/packages/utils-package/package.json b/packages/utils-package/package.json index 07b28fda..371cf1eb 100644 --- a/packages/utils-package/package.json +++ b/packages/utils-package/package.json @@ -19,11 +19,11 @@ "license": "MIT", "devDependencies": { "@commonalityco/config-tsconfig": "workspace:*", - "@types/react": "^18.2.22", + "@types/react": "^18.2.57", "eslint-config-commonality": "workspace:*", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "peerDependencies": { "react": ">=18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90fbfe84..b7240537 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,11 +15,11 @@ importers: specifier: workspace:* version: link:tooling/config-tsconfig '@typescript-eslint/eslint-plugin': - specifier: ^6.16.0 - version: 6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^6.16.0 - version: 6.16.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@vitest/coverage-v8': specifier: ^0.34.6 version: 0.34.6(vitest@0.34.6) @@ -36,8 +36,8 @@ importers: specifier: workspace:* version: link:tooling/config-eslint eslint-plugin-unused-imports: - specifier: ^3.0.0 - version: 3.0.0(@typescript-eslint/eslint-plugin@6.16.0)(eslint@8.56.0) + specifier: ^3.1.0 + version: 3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0) execa: specifier: ^8.0.1 version: 8.0.1 @@ -48,17 +48,17 @@ importers: specifier: ^4.1.5 version: 4.1.5 prettier: - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^3.2.5 + version: 3.2.5 prettier-plugin-tailwindcss: specifier: ^0.5.11 - version: 0.5.11(prettier@3.1.1) + version: 0.5.11(prettier@3.2.5) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.10.6)(typescript@5.3.3) + version: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) turbo: - specifier: ^1.11.2 - version: 1.11.2 + specifier: ^1.12.4 + version: 1.12.4 typescript: specifier: ^5.3.3 version: 5.3.3 @@ -76,11 +76,11 @@ importers: specifier: ^0.3.1 version: 0.3.1 '@commonalityco/studio': - specifier: 0.2.49 + specifier: workspace:* version: link:../studio '@sentry/node': - specifier: ^7.100.1 - version: 7.100.1 + specifier: ^7.102.1 + version: 7.102.1 '@sindresorhus/slugify': specifier: ^2.2.1 version: 2.2.1 @@ -91,7 +91,7 @@ importers: specifier: ^5.3.0 version: 5.3.0 commander: - specifier: ^11.0.0 + specifier: ^11.1.0 version: 11.1.0 conf: specifier: ^12.0.0 @@ -106,7 +106,7 @@ importers: specifier: ^6.3.0 version: 6.3.0 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 get-port: specifier: ^7.0.0 @@ -118,8 +118,8 @@ importers: specifier: ^4.0.0 version: 4.0.0 ip: - specifier: ^1.1.8 - version: 1.1.8 + specifier: ^1.1.9 + version: 1.1.9 jest-diff: specifier: ^29.7.0 version: 29.7.0 @@ -136,25 +136,25 @@ importers: specifier: ^4.0.5 version: 4.0.5 nanoid: - specifier: ^5.0.5 - version: 5.0.5 + specifier: ^5.0.6 + version: 5.0.6 ora: specifier: ^7.0.1 version: 7.0.1 pathe: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 pino: - specifier: ^8.17.1 - version: 8.17.1 + specifier: ^8.19.0 + version: 8.19.0 pino-pretty: - specifier: ^10.3.0 - version: 10.3.0 + specifier: ^10.3.1 + version: 10.3.1 prompts: specifier: ^2.4.2 version: 2.4.2 std-env: - specifier: ^3.6.0 + specifier: ^3.7.0 version: 3.7.0 strip-ansi: specifier: ^7.1.0 @@ -166,7 +166,7 @@ importers: specifier: ^7.2.0 version: 7.2.0(debug@4.3.4) yaml: - specifier: ^2.3.2 + specifier: ^2.3.4 version: 2.3.4 zod: specifier: ^3.22.4 @@ -206,28 +206,28 @@ importers: specifier: workspace:* version: link:../../packages/utils-onboarding '@swc/core': - specifier: ^1.3.101 - version: 1.3.102 + specifier: ^1.4.2 + version: 1.4.2 '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/ip': specifier: ^1.1.3 version: 1.1.3 '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/mock-fs': specifier: ^4.13.4 version: 4.13.4 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 '@types/prompts': - specifier: ^2.4.4 + specifier: ^2.4.9 version: 2.4.9 '@types/wait-on': - specifier: ^5.3.1 + specifier: ^5.3.4 version: 5.3.4 eslint-config-commonality: specifier: workspace:* @@ -245,10 +245,10 @@ importers: specifier: ^5.0.5 version: 5.0.5 tsup: - specifier: ^8.0.1 - version: 8.0.1(@swc/core@1.3.102)(ts-node@10.9.2)(typescript@5.3.3) + specifier: ^8.0.2 + version: 8.0.2(@swc/core@1.4.2)(ts-node@10.9.2)(typescript@5.3.3) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 vitest: specifier: ^0.34.6 @@ -257,36 +257,60 @@ importers: apps/studio: dependencies: '@sentry/nextjs': - specifier: ^7.100.1 - version: 7.100.1(next@14.0.4)(react@18.2.0) + specifier: ^7.102.1 + version: 7.102.1(next@14.0.4)(react@18.2.0) '@sentry/utils': - specifier: ^7.100.1 - version: 7.100.1 + specifier: ^7.102.1 + version: 7.102.1 + '@xyflow/react': + specifier: 12.0.0-next.9 + version: 12.0.0-next.9(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@xyflow/system': + specifier: ^0.0.17 + version: 0.0.17 chokidar: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.0 + version: 3.6.0 execa: specifier: ^8.0.1 version: 8.0.1 + framer-motion: + specifier: ^11.0.5 + version: 11.0.5(react-dom@18.2.0)(react@18.2.0) + jotai: + specifier: ^2.6.5 + version: 2.6.5(@types/react@18.2.57)(react@18.2.0) + lz-string: + specifier: ^1.5.0 + version: 1.5.0 next: specifier: 14.0.4 - version: 14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) + nuqs: + specifier: ^1.17.0 + version: 1.17.0(next@14.0.4) + query-string: + specifier: ^8.2.0 + version: 8.2.0 socket.io: - specifier: ^4.7.2 - version: 4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + specifier: ^4.7.4 + version: 4.7.4(bufferutil@4.0.8)(utf-8-validate@6.0.3) socket.io-client: - specifier: ^4.7.2 - version: 4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + specifier: ^4.7.4 + version: 4.7.4(bufferutil@4.0.8)(utf-8-validate@6.0.3) + superjson: + specifier: ^2.2.1 + version: 2.2.1 wait-on: specifier: ^7.2.0 version: 7.2.0(debug@4.3.4) devDependencies: '@babel/core': - specifier: ^7.23.6 - version: 7.23.7 + specifier: ^7.23.9 + version: 7.23.9 '@babel/preset-env': - specifier: ^7.23.6 - version: 7.23.6(@babel/core@7.23.7) + specifier: ^7.23.9 + version: 7.23.9(@babel/core@7.23.9) '@commonalityco/config-tailwind': specifier: workspace:* version: link:../../tooling/config-tailwind @@ -342,56 +366,56 @@ importers: specifier: ^13.5.6 version: 13.5.6(bufferutil@4.0.8)(utf-8-validate@6.0.3) '@playwright/test': - specifier: ^1.40.1 - version: 1.40.1 + specifier: ^1.41.2 + version: 1.41.2 '@tanstack/react-query': specifier: ^4.36.1 version: 4.36.1(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-devtools': - specifier: ^5.14.6 - version: 5.17.0(@tanstack/react-query@4.36.1)(react@18.2.0) + specifier: ^5.24.0 + version: 5.24.0(@tanstack/react-query@4.36.1)(react@18.2.0) '@tanstack/react-table': - specifier: ^8.10.1 - version: 8.11.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.12.0 + version: 8.12.0(react-dom@18.2.0)(react@18.2.0) '@testing-library/jest-dom': - specifier: ^6.1.3 - version: 6.1.5(jest@29.7.0)(vitest@0.34.6) + specifier: ^6.4.2 + version: 6.4.2(jest@29.7.0)(vitest@0.34.6) '@testing-library/react': - specifier: ^14.0.0 - version: 14.1.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.3) + version: 14.5.2(@testing-library/dom@9.3.4) '@total-typescript/ts-reset': specifier: ^0.5.1 version: 0.5.1 '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^18.2.19 + version: 18.2.19 '@types/resolve': specifier: ^1.20.6 version: 1.20.6 '@vitejs/plugin-react-swc': - specifier: ^3.3.2 - version: 3.5.0(vite@4.5.2) + specifier: ^3.6.0 + version: 3.6.0(vite@4.5.2) '@xstate/react': specifier: ^3.2.2 - version: 3.2.2(@types/react@18.2.45)(react@18.2.0)(xstate@4.38.3) + version: 3.2.2(@types/react@18.2.57)(react@18.2.0)(xstate@4.38.3) autoprefixer: - specifier: ^10.4.16 - version: 10.4.16(postcss@8.4.33) + specifier: ^10.4.17 + version: 10.4.17(postcss@8.4.35) bufferutil: specifier: ^4.0.8 version: 4.0.8 @@ -402,29 +426,29 @@ importers: specifier: ^2.1.0 version: 2.1.0 cookies-next: - specifier: ^4.1.0 - version: 4.1.0 + specifier: ^4.1.1 + version: 4.1.1 cypress: - specifier: ^13.6.4 - version: 13.6.4 + specifier: ^13.6.5 + version: 13.6.5 cytoscape: - specifier: ^3.26.0 - version: 3.28.0 + specifier: ^3.28.1 + version: 3.28.1 date-fns: specifier: ^2.30.0 version: 2.30.0 eslint-config-next: - specifier: ^14.0.1 - version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) + specifier: ^14.1.0 + version: 14.1.0(eslint@8.56.0)(typescript@5.3.3) fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 get-port: specifier: ^7.0.0 version: 7.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) @@ -444,20 +468,20 @@ importers: specifier: ^1.0.1 version: 1.0.1 pino: - specifier: ^8.17.1 - version: 8.17.1 + specifier: ^8.19.0 + version: 8.19.0 pino-pretty: - specifier: ^10.3.0 - version: 10.3.0 + specifier: ^10.3.1 + version: 10.3.1 postcss: - specifier: ^8.4.33 - version: 8.4.33 + specifier: ^8.4.35 + version: 8.4.35 prettier: - specifier: ^3.1.1 - version: 3.1.1 + specifier: ^3.2.5 + version: 3.2.5 prettier-plugin-tailwindcss: specifier: ^0.5.11 - version: 0.5.11(prettier@3.1.1) + version: 0.5.11(prettier@3.2.5) react: specifier: ^18.2.0 version: 18.2.0 @@ -480,25 +504,25 @@ importers: specifier: ^7.1.0 version: 7.1.0 tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) ts-node: - specifier: ^10.9.1 - version: 10.9.2(@types/node@20.10.6)(typescript@5.3.3) + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 utf-8-validate: specifier: ^6.0.3 version: 6.0.3 vite-tsconfig-paths: - specifier: ^4.2.2 - version: 4.2.2(typescript@5.3.3)(vite@4.5.2) + specifier: ^4.3.1 + version: 4.3.1(typescript@5.3.3)(vite@4.5.2) which-collection: specifier: ^1.0.1 version: 1.0.1 xstate: - specifier: ^4.38.2 + specifier: ^4.38.3 version: 4.38.3 zod: specifier: ^3.22.4 @@ -506,9 +530,6 @@ importers: apps/workshop: dependencies: - '@commonalityco/types': - specifier: workspace:* - version: link:../../packages/types '@commonalityco/ui-conformance': specifier: workspace:* version: link:../../packages/ui-conformance @@ -532,7 +553,7 @@ importers: version: link:../../packages/utils-core next: specifier: 14.0.4 - version: 14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next-themes: specifier: ^0.2.1 version: 0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) @@ -544,7 +565,7 @@ importers: version: 18.2.0(react@18.2.0) storybook-addon-variants: specifier: ^0.2.0 - version: 0.2.0(@storybook/addons@7.6.0)(@storybook/api@6.5.16)(@storybook/components@6.5.16)(@storybook/core-events@6.5.16)(@storybook/theming@6.5.16)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.0(@storybook/addons@7.6.17)(@storybook/api@6.5.16)(@storybook/components@6.5.16)(@storybook/core-events@6.5.16)(@storybook/theming@6.5.16)(react-dom@18.2.0)(react@18.2.0) devDependencies: '@commonalityco/config-tailwind': specifier: workspace:* @@ -552,87 +573,90 @@ importers: '@commonalityco/config-tsconfig': specifier: workspace:* version: link:../../tooling/config-tsconfig + '@commonalityco/types': + specifier: workspace:* + version: link:../../packages/types '@storybook/addon-a11y': - specifier: ^7.6.7 - version: 7.6.7 + specifier: ^7.6.17 + version: 7.6.17 '@storybook/addon-docs': - specifier: ^7.4.3 - version: 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.17 + version: 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-essentials': - specifier: ^7.4.3 - version: 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.17 + version: 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-interactions': - specifier: ^7.4.3 - version: 7.6.0 + specifier: ^7.6.17 + version: 7.6.17 '@storybook/addon-links': - specifier: ^7.4.3 - version: 7.6.0(react@18.2.0) + specifier: ^7.6.17 + version: 7.6.17(react@18.2.0) '@storybook/addon-styling': specifier: ^1.3.7 - version: 1.3.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(less@4.2.0)(postcss@8.4.33)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0) + version: 1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.57)(less@4.2.0)(postcss@8.4.35)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.90.3) '@storybook/addons': - specifier: ^7.4.3 - version: 7.6.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.17 + version: 7.6.17(react-dom@18.2.0)(react@18.2.0) '@storybook/blocks': - specifier: ^7.4.3 - version: 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^7.6.17 + version: 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@storybook/cli': - specifier: ^7.4.3 - version: 7.6.7 + specifier: ^7.6.17 + version: 7.6.17 '@storybook/react': - specifier: ^7.4.3 - version: 7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + specifier: ^7.6.17 + version: 7.6.17(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@storybook/react-vite': - specifier: ^7.4.3 - version: 7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vite@4.5.2) + specifier: ^7.6.17 + version: 7.6.17(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vite@4.5.2) '@storybook/testing-library': specifier: 0.2.0 version: 0.2.0 '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^18.2.19 + version: 18.2.19 '@vitejs/plugin-react': - specifier: ^4.0.4 - version: 4.2.0(vite@4.5.2) + specifier: ^4.2.1 + version: 4.2.1(vite@4.5.2) '@vitejs/plugin-react-swc': - specifier: ^3.3.2 - version: 3.5.0(vite@4.5.2) + specifier: ^3.6.0 + version: 3.6.0(vite@4.5.2) autoprefixer: - specifier: ^10.4.16 - version: 10.4.16(postcss@8.4.33) + specifier: ^10.4.17 + version: 10.4.17(postcss@8.4.35) eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint postcss: - specifier: ^8.4.33 - version: 8.4.33 + specifier: ^8.4.35 + version: 8.4.35 postcss-loader: - specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0) + specifier: ^7.3.4 + version: 7.3.4(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) prop-types: specifier: ^15.8.1 version: 15.8.1 storybook: - specifier: ^7.6.6 - version: 7.6.7 + specifier: ^7.6.17 + version: 7.6.17 storybook-dark-mode: - specifier: ^3.0.1 - version: 3.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^3.0.3 + version: 3.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 vite: specifier: ^4.5.2 - version: 4.5.2(@types/node@20.10.6)(less@4.2.0) + version: 4.5.2(@types/node@20.11.20)(less@4.2.0) webpack: - specifier: ^5.88.2 - version: 5.89.0(esbuild@0.18.20) + specifier: ^5.90.3 + version: 5.90.3(esbuild@0.18.20) packages/commonality-checks-recommended: dependencies: @@ -640,8 +664,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 semver: - specifier: ^7.5.4 - version: 7.5.4 + specifier: ^7.6.0 + version: 7.6.0 validate-npm-package-name: specifier: ^5.0.0 version: 5.0.0 @@ -650,14 +674,14 @@ importers: specifier: workspace:* version: link:../../tooling/config-tsconfig '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/mock-fs': specifier: ^4.13.4 version: 4.13.4 '@types/semver': - specifier: ^7.5.6 - version: 7.5.6 + specifier: ^7.5.7 + version: 7.5.7 '@types/validate-npm-package-name': specifier: ^4.0.2 version: 4.0.2 @@ -671,19 +695,19 @@ importers: specifier: ^5.2.0 version: 5.2.0 tsup: - specifier: ^8.0.1 - version: 8.0.1(@swc/core@1.3.102)(ts-node@10.9.2)(typescript@5.3.3) + specifier: ^8.0.2 + version: 8.0.2(@swc/core@1.4.2)(ts-node@10.9.2)(typescript@5.3.3) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/data-codeowners: dependencies: fast-glob: - specifier: ^3.3.1 + specifier: ^3.3.2 version: 3.3.2 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 micromatch: specifier: ^4.0.5 @@ -696,19 +720,19 @@ importers: specifier: workspace:* version: link:../types '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/micromatch': specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/data-constraints: @@ -726,38 +750,38 @@ importers: specifier: workspace:* version: link:../../tooling/config-eslint typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/data-packages: dependencies: - '@commonalityco/data-project': - specifier: workspace:* - version: link:../data-project - '@commonalityco/utils-core': - specifier: workspace:* - version: link:../utils-core fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 devDependencies: '@commonalityco/config-tsconfig': specifier: workspace:* version: link:../../tooling/config-tsconfig + '@commonalityco/data-project': + specifier: workspace:* + version: link:../data-project '@commonalityco/types': specifier: workspace:* version: link:../types + '@commonalityco/utils-core': + specifier: workspace:* + version: link:../utils-core '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/data-project: @@ -769,13 +793,13 @@ importers: specifier: ^6.3.0 version: 6.3.0 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 globby: specifier: ^13.2.2 version: 13.2.2 yaml: - specifier: ^2.3.2 + specifier: ^2.3.4 version: 2.3.4 zod: specifier: ^3.22.4 @@ -788,14 +812,14 @@ importers: specifier: workspace:* version: link:../types '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/mock-fs': specifier: ^4.13.4 version: 4.13.4 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -803,7 +827,7 @@ importers: specifier: ^5.2.0 version: 5.2.0 typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/data-tags: @@ -815,7 +839,7 @@ importers: specifier: workspace:* version: link:../utils-core fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 devDependencies: '@commonalityco/config-tsconfig': @@ -825,16 +849,16 @@ importers: specifier: workspace:* version: link:../types '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/node': - specifier: ^20.10.0 - version: 20.10.6 + specifier: ^20.11.20 + version: 20.11.20 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/types: @@ -849,14 +873,14 @@ importers: specifier: workspace:* version: link:../../tooling/config-eslint typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/ui-conformance: dependencies: '@tanstack/react-table': - specifier: ^8.10.1 - version: 8.11.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.12.0 + version: 8.12.0(react-dom@18.2.0)(react@18.2.0) lucide-react: specifier: ^0.317.0 version: 0.317.0(react@18.2.0) @@ -880,20 +904,20 @@ importers: specifier: workspace:* version: link:../utils-core '@floating-ui/react': - specifier: ^0.26.3 - version: 0.26.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.26.9 + version: 0.26.9(react-dom@18.2.0)(react@18.2.0) '@testing-library/jest-dom': - specifier: ^6.1.3 - version: 6.1.5(jest@29.7.0)(vitest@0.34.6) + specifier: ^6.4.2 + version: 6.4.2(jest@29.7.0)(vitest@0.34.6) '@testing-library/react': - specifier: ^14.0.0 - version: 14.1.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.3) + version: 14.5.2(@testing-library/dom@9.3.4) '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -907,7 +931,7 @@ importers: specifier: ^1.5.1 version: 1.5.1 typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 vitest: specifier: ^0.34.6 @@ -917,17 +941,23 @@ importers: dependencies: '@xstate/react': specifier: ^3.2.2 - version: 3.2.2(@types/react@18.2.45)(react@18.2.0)(xstate@4.38.3) + version: 3.2.2(@types/react@18.2.57)(react@18.2.0)(xstate@4.38.3) lodash-es: specifier: ^4.17.21 version: 4.17.21 lucide-react: specifier: ^0.317.0 version: 0.317.0(react@18.2.0) + react-minimal-pie-chart: + specifier: ^8.4.0 + version: 8.4.0(react-dom@18.2.0)(react@18.2.0) react-resizable-panels: specifier: ^0.0.54 version: 0.0.54(react-dom@18.2.0)(react@18.2.0) devDependencies: + '@commonalityco/config-tailwind': + specifier: workspace:* + version: link:../../tooling/config-tailwind '@commonalityco/config-tsconfig': specifier: workspace:* version: link:../../tooling/config-tsconfig @@ -950,23 +980,23 @@ importers: specifier: workspace:* version: link:../utils-package '@floating-ui/react': - specifier: ^0.26.3 - version: 0.26.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.26.9 + version: 0.26.9(react-dom@18.2.0)(react@18.2.0) '@testing-library/jest-dom': - specifier: ^6.1.3 - version: 6.1.5(jest@29.7.0)(vitest@0.34.6) + specifier: ^6.4.2 + version: 6.4.2(jest@29.7.0)(vitest@0.34.6) '@testing-library/react': - specifier: ^14.0.0 - version: 14.1.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.3) + version: 14.5.2(@testing-library/dom@9.3.4) '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -977,7 +1007,7 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 vitest: specifier: ^0.34.6 @@ -987,7 +1017,7 @@ importers: dependencies: '@radix-ui/react-slot': specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.45)(react@18.2.0) + version: 1.0.2(@types/react@18.2.57)(react@18.2.0) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -1008,8 +1038,8 @@ importers: specifier: workspace:* version: link:../utils-core '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1018,7 +1048,7 @@ importers: version: 0.317.0(react@18.2.0) next: specifier: 14.0.4 - version: 14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + version: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) next-themes: specifier: ^0.2.1 version: 0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) @@ -1029,62 +1059,65 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/ui-design-system: dependencies: '@radix-ui/react-accordion': specifier: ^1.1.2 - version: 1.1.2(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-checkbox': specifier: ^1.0.4 - version: 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': - specifier: ^1.0.4 - version: 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.0.5 + version: 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': - specifier: ^2.0.5 - version: 2.0.6(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^2.0.6 + version: 2.0.6(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-hover-card': - specifier: ^1.0.6 - version: 1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.0.7 + version: 1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-label': specifier: ^2.0.2 - version: 2.0.2(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.2(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': - specifier: ^1.0.6 - version: 1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.0.7 + version: 1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-radio-group': specifier: ^1.1.3 - version: 1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': - specifier: ^1.0.4 - version: 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.0.5 + version: 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.45)(react@18.2.0) + version: 1.0.2(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-switch': specifier: ^1.0.3 - version: 1.0.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tabs': specifier: ^1.0.4 - version: 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toast': - specifier: ^1.1.4 - version: 1.1.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.1.5 + version: 1.1.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toggle': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': + specifier: ^1.0.4 + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': - specifier: ^1.0.6 - version: 1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.0.7 + version: 1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -1092,17 +1125,17 @@ importers: specifier: ^2.1.0 version: 2.1.0 cmdk: - specifier: ^0.2.0 - version: 0.2.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.2.1 + version: 0.2.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) react-hook-form: specifier: ^7.50.1 version: 7.50.1(react@18.2.0) react-select: - specifier: ^5.7.5 - version: 5.8.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.8.0 + version: 5.8.0(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) sonner: - specifier: ^1.3.1 - version: 1.3.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.4.0 + version: 1.4.0(react-dom@18.2.0)(react@18.2.0) tailwind-merge: specifier: ^1.14.0 version: 1.14.0 @@ -1114,8 +1147,8 @@ importers: specifier: workspace:* version: link:../../tooling/config-tsconfig '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1129,34 +1162,49 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/ui-graph: dependencies: + '@dagrejs/dagre': + specifier: ^1.0.4 + version: 1.0.4 '@xstate/react': specifier: ^3.2.2 - version: 3.2.2(@types/react@18.2.45)(react@18.2.0)(xstate@4.38.3) + version: 3.2.2(@types/react@18.2.57)(react@18.2.0)(xstate@4.38.3) crypto-js: specifier: ^4.2.0 version: 4.2.0 cytoscape-dagre: specifier: ^2.5.0 - version: 2.5.0(cytoscape@3.28.0) + version: 2.5.0(cytoscape@3.28.1) cytoscape-popper: specifier: ^2.0.0 - version: 2.0.0(cytoscape@3.28.0) + version: 2.0.0(cytoscape@3.28.1) + d3-force: + specifier: ^3.0.0 + version: 3.0.0 + d3-timer: + specifier: ^3.0.1 + version: 3.0.1 + dagre: + specifier: ^0.8.5 + version: 0.8.5 localforage: specifier: ^1.10.0 version: 1.10.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 + lucide-react: + specifier: ^0.317.0 + version: 0.317.0(react@18.2.0) xstate: - specifier: ^4.38.2 + specifier: ^4.38.3 version: 4.38.3 devDependencies: '@commonalityco/config-tsconfig': @@ -1165,6 +1213,12 @@ importers: '@commonalityco/types': specifier: workspace:* version: link:../types + '@commonalityco/ui-core': + specifier: workspace:* + version: link:../ui-core + '@commonalityco/ui-design-system': + specifier: workspace:* + version: link:../ui-design-system '@commonalityco/utils-core': specifier: workspace:* version: link:../utils-core @@ -1172,8 +1226,8 @@ importers: specifier: workspace:* version: link:../utils-package '@floating-ui/react': - specifier: ^0.26.3 - version: 0.26.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.26.9 + version: 0.26.9(react-dom@18.2.0)(react@18.2.0) '@types/crypto-js': specifier: ^4.2.2 version: 4.2.2 @@ -1186,18 +1240,30 @@ importers: '@types/cytoscape-popper': specifier: ^2.0.4 version: 2.0.4 + '@types/d3-timer': + specifier: ^3.0.2 + version: 3.0.2 + '@types/dagre': + specifier: ^0.7.52 + version: 0.7.52 '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^18.2.19 + version: 18.2.19 + '@xyflow/react': + specifier: 12.0.0-next.9 + version: 12.0.0-next.9(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@xyflow/system': + specifier: ^0.0.17 + version: 0.0.17 cytoscape: - specifier: ^3.26.0 - version: 3.28.0 + specifier: ^3.28.1 + version: 3.28.1 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1208,7 +1274,7 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 vitest: specifier: ^0.34.6 @@ -1229,23 +1295,23 @@ importers: specifier: workspace:* version: link:../utils-core '@tanstack/react-table': - specifier: ^8.10.1 - version: 8.11.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.12.0 + version: 8.12.0(react-dom@18.2.0)(react@18.2.0) '@testing-library/jest-dom': - specifier: ^6.1.3 - version: 6.1.5(jest@29.7.0)(vitest@0.34.6) + specifier: ^6.4.2 + version: 6.4.2(jest@29.7.0)(vitest@0.34.6) '@testing-library/react': - specifier: ^14.0.0 - version: 14.1.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.3) + version: 14.5.2(@testing-library/dom@9.3.4) '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 '@vitejs/plugin-react-swc': - specifier: ^3.3.2 - version: 3.5.0(vite@4.5.2) + specifier: ^3.6.0 + version: 3.6.0(vite@4.5.2) eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1259,10 +1325,10 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/utils-conformance: @@ -1274,7 +1340,7 @@ importers: specifier: ^7.0.1 version: 7.0.1 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 jest-diff: specifier: ^29.7.0 @@ -1286,11 +1352,11 @@ importers: specifier: ^5.2.0 version: 5.2.0 nanoid: - specifier: ^5.0.5 - version: 5.0.5 + specifier: ^5.0.6 + version: 5.0.6 pathe: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 resolve: specifier: ^1.22.8 version: 1.22.8 @@ -1308,10 +1374,10 @@ importers: specifier: workspace:* version: link:../utils-core '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/resolve': specifier: ^1.20.6 @@ -1329,7 +1395,7 @@ importers: specifier: ^1.21.0 version: 1.21.0 typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/utils-core: @@ -1338,11 +1404,11 @@ importers: specifier: ^2.2.1 version: 2.2.1 pino: - specifier: ^8.17.1 - version: 8.17.1 + specifier: ^8.19.0 + version: 8.19.0 pino-pretty: - specifier: ^10.3.0 - version: 10.3.0 + specifier: ^10.3.1 + version: 10.3.1 zod: specifier: ^3.22.4 version: 3.22.4 @@ -1351,8 +1417,8 @@ importers: specifier: workspace:* version: link:../../tooling/config-tsconfig '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1363,7 +1429,7 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/utils-file: @@ -1375,7 +1441,7 @@ importers: specifier: ^7.0.1 version: 7.0.1 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 jest-diff: specifier: ^29.7.0 @@ -1387,8 +1453,8 @@ importers: specifier: ^5.2.0 version: 5.2.0 pathe: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 strip-ansi: specifier: ^7.1.0 version: 7.1.0 @@ -1403,10 +1469,10 @@ importers: specifier: workspace:* version: link:../utils-core '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/lodash-es': - specifier: ^4.14.198 + specifier: ^4.17.12 version: 4.17.12 '@types/mock-fs': specifier: ^4.13.4 @@ -1421,7 +1487,7 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/utils-onboarding: @@ -1430,14 +1496,14 @@ importers: specifier: ^0.3.1 version: 0.3.1 fs-extra: - specifier: ^11.1.1 + specifier: ^11.2.0 version: 11.2.0 local-pkg: specifier: ^0.5.0 version: 0.5.0 pathe: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -1449,17 +1515,17 @@ importers: specifier: workspace:* version: link:../utils-file '@types/fs-extra': - specifier: ^11.0.2 + specifier: ^11.0.4 version: 11.0.4 '@types/mock-fs': specifier: ^4.13.4 version: 4.13.4 '@types/prompts': - specifier: ^2.4.4 + specifier: ^2.4.9 version: 2.4.9 '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1473,7 +1539,7 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages/utils-package: @@ -1482,8 +1548,8 @@ importers: specifier: workspace:* version: link:../../tooling/config-tsconfig '@types/react': - specifier: ^18.2.22 - version: 18.2.45 + specifier: ^18.2.57 + version: 18.2.57 eslint-config-commonality: specifier: workspace:* version: link:../../tooling/config-eslint @@ -1494,14 +1560,14 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 tooling/config-eslint: dependencies: eslint-plugin-import: - specifier: ^2.28.1 - version: 2.29.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + specifier: ^2.29.1 + version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-n: specifier: ^16.6.2 version: 16.6.2(eslint@8.56.0) @@ -1509,32 +1575,32 @@ importers: specifier: ^50.0.1 version: 50.0.1(eslint@8.56.0) eslint-plugin-unused-imports: - specifier: ^3.0.0 - version: 3.0.0(@typescript-eslint/eslint-plugin@6.16.0)(eslint@8.56.0) + specifier: ^3.1.0 + version: 3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0) devDependencies: typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 tooling/config-tailwind: devDependencies: '@tailwindcss/typography': specifier: ^0.5.10 - version: 0.5.10(tailwindcss@3.4.0) + version: 0.5.10(tailwindcss@3.4.1) tailwindcss: - specifier: ^3.3.3 - version: 3.4.0(ts-node@10.9.2) + specifier: ^3.4.1 + version: 3.4.1(ts-node@10.9.2) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.0) + version: 1.0.7(tailwindcss@3.4.1) typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 tooling/config-tsconfig: devDependencies: typescript: - specifier: ^5.2.2 + specifier: ^5.3.3 version: 5.3.3 packages: @@ -1543,8 +1609,8 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@adobe/css-tools@4.3.1: - resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==} + /@adobe/css-tools@4.3.3: + resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} dev: true /@alloc/quick-lru@5.2.0: @@ -1557,7 +1623,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 /@antfu/install-pkg@0.3.1: resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==} @@ -1583,20 +1649,20 @@ packages: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.23.7: - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.7 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -1609,23 +1675,23 @@ packages: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-compilation-targets@7.23.6: @@ -1634,46 +1700,46 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.7): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.23.10(@babel/core@7.23.9): + resolution: {integrity: sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.7): - resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) @@ -1691,35 +1757,35 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -1730,7 +1796,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -1738,25 +1804,25 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1766,20 +1832,20 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} @@ -1798,17 +1864,17 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 dev: true - /@babel/helpers@7.23.7: - resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color @@ -1820,975 +1886,974 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.7): - resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.7): - resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): + resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 + '@babel/template': 7.23.9 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.7): - resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.23.6(@babel/core@7.23.7): - resolution: {integrity: sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==} + /@babel/preset-env@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.7) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7) - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.7) - core-js-compat: 3.35.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) + core-js-compat: 3.36.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-flow@7.23.3(@babel/core@7.23.7): + /@babel/preset-flow@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.23.7): + /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) dev: true - /@babel/register@7.22.15(@babel/core@7.23.7): - resolution: {integrity: sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==} + /@babel/register@7.23.7(@babel/core@7.23.9): + resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -2800,22 +2865,22 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.23.7: - resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==} + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 - /@babel/traverse@7.23.7: - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 @@ -2824,15 +2889,15 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -2849,7 +2914,7 @@ packages: /@changesets/apply-release-plan@7.0.0: resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -2861,18 +2926,18 @@ packages: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 dev: false /@changesets/assemble-release-plan@6.0.0: resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.5.4 + semver: 7.6.0 dev: false /@changesets/changelog-git@0.2.0: @@ -2885,7 +2950,7 @@ packages: resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/apply-release-plan': 7.0.0 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 @@ -2900,7 +2965,7 @@ packages: '@changesets/types': 6.0.0 '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.6 + '@types/semver': 7.5.7 ansi-colors: 4.1.3 chalk: 2.4.2 ci-info: 3.9.0 @@ -2911,9 +2976,9 @@ packages: meow: 6.1.1 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.2 + preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 spawndamnit: 2.0.0 term-size: 2.2.1 tty-table: 4.2.3 @@ -2944,13 +3009,13 @@ packages: '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.5.4 + semver: 7.6.0 dev: false /@changesets/get-release-plan@4.0.0: resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -2966,7 +3031,7 @@ packages: /@changesets/git@3.0.0: resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2991,7 +3056,7 @@ packages: /@changesets/pre@2.0.0: resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -3001,7 +3066,7 @@ packages: /@changesets/read@0.6.0: resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -3022,7 +3087,7 @@ packages: /@changesets/write@0.3.0: resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -3075,6 +3140,17 @@ packages: - supports-color dev: true + /@dagrejs/dagre@1.0.4: + resolution: {integrity: sha512-jrEore+HhW1yg1Rsd9H1PPMcoEOD4bVh0WCXc6GqzyzubnJj4GaWGg8ETOrskTd/3n/g5LOzumGM4CCgpNLJNw==} + dependencies: + '@dagrejs/graphlib': 2.1.13 + dev: false + + /@dagrejs/graphlib@2.1.13: + resolution: {integrity: sha512-calbMa7Gcyo+/t23XBaqQqon8LlgE9regey4UVoikoenKBXvUnCUL3s9RP6USCxttfr0XWVICtYUuKMdehKqMw==} + engines: {node: '>17.0.0'} + dev: false + /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -3084,10 +3160,10 @@ packages: resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: '@babel/helper-module-imports': 7.22.15 - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 - '@emotion/serialize': 1.1.2 + '@emotion/serialize': 1.1.3 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -3110,12 +3186,26 @@ packages: resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} dev: false + /@emotion/is-prop-valid@0.8.8: + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + requiresBuild: true + dependencies: + '@emotion/memoize': 0.7.4 + dev: false + optional: true + + /@emotion/memoize@0.7.4: + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + requiresBuild: true + dev: false + optional: true + /@emotion/memoize@0.8.1: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: false - /@emotion/react@11.11.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} + /@emotion/react@11.11.3(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -3123,26 +3213,26 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.2 + '@emotion/serialize': 1.1.3 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.45 + '@types/react': 18.2.57 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false - /@emotion/serialize@1.1.2: - resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + /@emotion/serialize@1.1.3: + resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/unitless': 0.8.1 '@emotion/utils': 1.2.1 - csstype: 3.1.2 + csstype: 3.1.3 dev: false /@emotion/sheet@1.2.2: @@ -3168,8 +3258,8 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false - /@esbuild/aix-ppc64@0.19.11: - resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -3185,8 +3275,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.19.11: - resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -3202,8 +3292,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.19.11: - resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -3219,8 +3309,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.19.11: - resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -3236,8 +3326,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.19.11: - resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -3253,8 +3343,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.19.11: - resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -3270,8 +3360,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.19.11: - resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -3287,8 +3377,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.19.11: - resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -3304,8 +3394,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.19.11: - resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -3321,8 +3411,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.19.11: - resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -3338,8 +3428,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.19.11: - resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -3355,8 +3445,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.19.11: - resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -3372,8 +3462,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.19.11: - resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -3389,8 +3479,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.19.11: - resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -3406,8 +3496,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.19.11: - resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -3423,8 +3513,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.19.11: - resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -3440,8 +3530,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.19.11: - resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -3457,8 +3547,8 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.19.11: - resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -3474,8 +3564,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.19.11: - resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -3491,8 +3581,8 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.19.11: - resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3508,8 +3598,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.19.11: - resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3525,8 +3615,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.19.11: - resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3542,8 +3632,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.19.11: - resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3572,7 +3662,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3588,42 +3678,42 @@ packages: resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} dev: true - /@floating-ui/core@1.5.0: - resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==} + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} dependencies: - '@floating-ui/utils': 0.1.6 + '@floating-ui/utils': 0.2.1 - /@floating-ui/dom@1.5.3: - resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} + /@floating-ui/dom@1.6.3: + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} dependencies: - '@floating-ui/core': 1.5.0 - '@floating-ui/utils': 0.1.6 + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 - /@floating-ui/react-dom@2.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==} + /@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.5.3 + '@floating-ui/dom': 1.6.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@floating-ui/react@0.26.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iKH8WRR0L/nLiM6qavFZxkyegIZRMxGnM9aKEc71M4wRlUNkgTamjPsOQXy11oZbDOH37MiTbk/nAPn9M2+shA==} + /@floating-ui/react@0.26.9(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-p86wynZJVEkEq2BBjY/8p2g3biQ6TlgT4o/3KgFKyTWoJLU1GZ8wpctwRqtkEl2tseYA+kw7dBAIDFcednfI5w==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@floating-ui/utils': 0.1.6 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/utils': 0.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tabbable: 6.2.0 dev: true - /@floating-ui/utils@0.1.6: - resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==} + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -3641,11 +3731,11 @@ packages: react-hook-form: 7.50.1(react@18.2.0) dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: @@ -3655,8 +3745,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -3690,7 +3780,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -3711,14 +3801,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3746,7 +3836,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-mock: 29.7.0 dev: true @@ -3773,7 +3863,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -3805,18 +3895,18 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.10.6 + '@jridgewell/trace-mapping': 0.3.22 + '@types/node': 20.11.20 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.1 + istanbul-lib-instrument: 6.0.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 + istanbul-reports: 3.1.7 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -3838,7 +3928,7 @@ packages: resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 callsites: 3.1.0 graceful-fs: 4.2.11 dev: true @@ -3867,9 +3957,9 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -3892,7 +3982,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.20 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: true @@ -3904,7 +3994,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.20 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -3923,7 +4013,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.3.3) typescript: 5.3.3 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) dev: true /@jridgewell/gen-mapping@0.3.3: @@ -3932,10 +4022,10 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.1.2: @@ -3946,22 +4036,22 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 /@juggle/resize-observer@3.4.0: @@ -3971,7 +4061,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -3980,7 +4070,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -3993,8 +4083,8 @@ packages: peerDependencies: react: '>=16' dependencies: - '@types/mdx': 2.0.10 - '@types/react': 18.2.45 + '@types/mdx': 2.0.11 + '@types/react': 18.2.57 react: 18.2.0 dev: true @@ -4018,10 +4108,10 @@ packages: /@next/env@14.0.4: resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} - /@next/eslint-plugin-next@14.0.4: - resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} + /@next/eslint-plugin-next@14.1.0: + resolution: {integrity: sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==} dependencies: - glob: 7.1.7 + glob: 10.3.10 dev: true /@next/swc-darwin-arm64@14.0.4: @@ -4112,7 +4202,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -4121,12 +4211,12 @@ packages: dev: true optional: true - /@playwright/test@1.40.1: - resolution: {integrity: sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==} + /@playwright/test@1.41.2: + resolution: {integrity: sha512-qQB9h7KbibJzrDpkXkYvsmiDJK14FULCCZgEcoe2AvFAS64oCirWTwzTlAYEbKaRxWs5TFesE1Na6izMv3HfGg==} engines: {node: '>=16'} hasBin: true dependencies: - playwright: 1.40.1 + playwright: 1.41.2 dev: true /@pnpm/config.env-replace@1.1.0: @@ -4150,8 +4240,8 @@ packages: config-chain: 1.1.13 dev: false - /@polka/url@1.0.0-next.23: - resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true /@popperjs/core@2.11.8: @@ -4160,20 +4250,20 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 /@radix-ui/primitive@1.0.0: resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dev: false /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 - /@radix-ui/react-accordion@1.1.2(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-accordion@1.1.2(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -4186,22 +4276,22 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collapsible': 1.0.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -4214,14 +4304,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-checkbox@1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-checkbox@1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} peerDependencies: '@types/react': '*' @@ -4234,21 +4324,21 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -4261,21 +4351,21 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -4288,13 +4378,13 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4303,11 +4393,11 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -4316,8 +4406,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-context@1.0.0(react@18.2.0): @@ -4325,11 +4415,11 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -4338,17 +4428,17 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-dialog@1.0.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.0(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) '@radix-ui/react-context': 1.0.0(react@18.2.0) @@ -4364,12 +4454,12 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.4(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.4(@types/react@18.2.57)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /@radix-ui/react-dialog@1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -4382,27 +4472,27 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.57)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -4411,8 +4501,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0)(react@18.2.0): @@ -4421,7 +4511,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) @@ -4431,7 +4521,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -4444,19 +4534,19 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -4469,18 +4559,18 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -4493,15 +4583,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4511,11 +4601,11 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -4524,8 +4614,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0)(react@18.2.0): @@ -4534,7 +4624,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) @@ -4542,7 +4632,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: '@types/react': '*' @@ -4555,17 +4645,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -4578,16 +4668,16 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-hover-card@1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-hover-card@1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==} peerDependencies: '@types/react': '*' @@ -4600,17 +4690,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4620,12 +4710,12 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) react: 18.2.0 dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -4634,12 +4724,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-label@2.0.2(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-label@2.0.2(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: '@types/react': '*' @@ -4652,14 +4742,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-menu@2.0.6(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -4672,31 +4762,31 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.57)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -4709,28 +4799,28 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.57)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -4743,24 +4833,24 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.23.9 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-popper@1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -4773,18 +4863,18 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.23.9 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4795,13 +4885,13 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -4814,15 +4904,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-portal@1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -4835,9 +4925,9 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4848,14 +4938,14 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -4868,10 +4958,10 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4882,13 +4972,13 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-slot': 1.0.0(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -4901,14 +4991,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-radio-group@1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-radio-group@1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==} peerDependencies: '@types/react': '*' @@ -4921,23 +5011,23 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -4950,22 +5040,22 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-scroll-area@1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-scroll-area@1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} peerDependencies: '@types/react': '*' @@ -4978,22 +5068,22 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} peerDependencies: '@types/react': '*' @@ -5006,35 +5096,35 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.57)(react@18.2.0) dev: true - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -5047,10 +5137,10 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5059,12 +5149,12 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -5073,12 +5163,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-switch@1.0.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-switch@1.0.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -5091,20 +5181,20 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tabs@1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tabs@1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} peerDependencies: '@types/react': '*' @@ -5117,21 +5207,21 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toast@1.1.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toast@1.1.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} peerDependencies: '@types/react': '*' @@ -5144,25 +5234,25 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -5175,21 +5265,20 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -5202,16 +5291,16 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: '@types/react': '*' @@ -5224,21 +5313,21 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -5251,20 +5340,20 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -5274,11 +5363,11 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -5287,8 +5376,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0): @@ -5296,12 +5385,12 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -5310,9 +5399,9 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0): @@ -5320,12 +5409,12 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -5334,9 +5423,9 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): @@ -5344,11 +5433,11 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -5357,11 +5446,11 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -5370,11 +5459,11 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -5383,12 +5472,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.45)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -5397,12 +5486,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 + '@babel/runtime': 7.23.9 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.57)(react@18.2.0) + '@types/react': 18.2.57 react: 18.2.0 - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -5415,17 +5504,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.57 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 /@rollup/plugin-commonjs@24.0.0(rollup@2.78.0): resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==} @@ -5459,153 +5548,153 @@ packages: picomatch: 2.3.1 rollup: 2.78.0 - /@rollup/rollup-android-arm-eabi@4.9.2: - resolution: {integrity: sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==} + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.9.2: - resolution: {integrity: sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==} + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.9.2: - resolution: {integrity: sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==} + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.9.2: - resolution: {integrity: sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==} + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.2: - resolution: {integrity: sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.2: - resolution: {integrity: sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==} + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.9.2: - resolution: {integrity: sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==} + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.2: - resolution: {integrity: sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==} + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.9.2: - resolution: {integrity: sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==} + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.9.2: - resolution: {integrity: sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==} + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.2: - resolution: {integrity: sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==} + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.2: - resolution: {integrity: sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==} + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.9.2: - resolution: {integrity: sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==} + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@rushstack/eslint-patch@1.6.0: - resolution: {integrity: sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==} + /@rushstack/eslint-patch@1.7.2: + resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: true - /@sentry-internal/feedback@7.100.1: - resolution: {integrity: sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw==} + /@sentry-internal/feedback@7.102.1: + resolution: {integrity: sha512-vY4hpLLMNLjICtWiizc7KeGbWOTUMGrF7C+9dPCztZww3CLgzWy9A7DvPj5hodRiYzpdRnAMl8yQnMFbYXh7bA==} engines: {node: '>=12'} dependencies: - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry-internal/replay-canvas@7.100.1: - resolution: {integrity: sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g==} + /@sentry-internal/replay-canvas@7.102.1: + resolution: {integrity: sha512-GUX4RWI10uRjdjeyvCLtAAhWRVqnAnG6+yNxWfqUQ3qMA7B7XxG43KT2UhSnulmErNzODQ6hA68rGPwwYeRIww==} engines: {node: '>=12'} dependencies: - '@sentry/core': 7.100.1 - '@sentry/replay': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/core': 7.102.1 + '@sentry/replay': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry-internal/tracing@7.100.1: - resolution: {integrity: sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg==} + /@sentry-internal/tracing@7.102.1: + resolution: {integrity: sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry/browser@7.100.1: - resolution: {integrity: sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA==} + /@sentry/browser@7.102.1: + resolution: {integrity: sha512-7BOfPBiM7Kp6q/iy0JIbsBTxIASV+zWXByqqjuEMWGj3X2u4oRIfm3gv4erPU/l+CORQUVQZLSPGoIoM1gbB/A==} engines: {node: '>=8'} dependencies: - '@sentry-internal/feedback': 7.100.1 - '@sentry-internal/replay-canvas': 7.100.1 - '@sentry-internal/tracing': 7.100.1 - '@sentry/core': 7.100.1 - '@sentry/replay': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry-internal/feedback': 7.102.1 + '@sentry-internal/replay-canvas': 7.102.1 + '@sentry-internal/tracing': 7.102.1 + '@sentry/core': 7.102.1 + '@sentry/replay': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false /@sentry/cli@1.77.3: @@ -5625,26 +5714,26 @@ packages: - supports-color dev: false - /@sentry/core@7.100.1: - resolution: {integrity: sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q==} + /@sentry/core@7.102.1: + resolution: {integrity: sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry/integrations@7.100.1: - resolution: {integrity: sha512-RUyZHcsN3Plc8G4hJN3BCMdbwS8ljUY3E3iLjzucA4HroBsGk5AMc6n7Pp/QqFIRgxrPjKEgA52Wgy5Nq6dSvw==} + /@sentry/integrations@7.102.1: + resolution: {integrity: sha512-Its3Ru6xCAqpaLE3cTxW/b91js2SIFoXa8LWtQDJ7tmTdwPAbT8Pij1F4bOhhaqLYbjLtCXGl/NR2cffsiRLww==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 localforage: 1.10.0 dev: false - /@sentry/nextjs@7.100.1(next@14.0.4)(react@18.2.0): - resolution: {integrity: sha512-JIDS8oQrr/xrU5llXNVoLnFJCFdS7+k6FVrtW7JnP9B+0NmILEVS3jqbabhh+af9Ch67DPZ2G4KWDRIDZE5HSQ==} + /@sentry/nextjs@7.102.1(next@14.0.4)(react@18.2.0): + resolution: {integrity: sha512-gOI/GD7DWhc3WucyYnepl8Nu5jmpa1YfR6jWDzTkPE2CV9zKK9zulTdqk+Aig9ch62SAmJOGkgejm5k9PE2XzQ==} engines: {node: '>=8'} peerDependencies: next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 || ^14.0 @@ -5655,16 +5744,16 @@ packages: optional: true dependencies: '@rollup/plugin-commonjs': 24.0.0(rollup@2.78.0) - '@sentry/core': 7.100.1 - '@sentry/integrations': 7.100.1 - '@sentry/node': 7.100.1 - '@sentry/react': 7.100.1(react@18.2.0) - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 - '@sentry/vercel-edge': 7.100.1 + '@sentry/core': 7.102.1 + '@sentry/integrations': 7.102.1 + '@sentry/node': 7.102.1 + '@sentry/react': 7.102.1(react@18.2.0) + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 + '@sentry/vercel-edge': 7.102.1 '@sentry/webpack-plugin': 1.21.0 chalk: 3.0.0 - next: 14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + next: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 resolve: 1.22.8 rollup: 2.78.0 @@ -5674,60 +5763,60 @@ packages: - supports-color dev: false - /@sentry/node@7.100.1: - resolution: {integrity: sha512-jB6tBLr7BpgdE2SlYZu343vvpa5jMFnqyFlprr+jdDu/ayNF4idB0qFwQe8p4C6LI6M/MNDRLVOgPBiCjjZSpw==} + /@sentry/node@7.102.1: + resolution: {integrity: sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.100.1 - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry-internal/tracing': 7.102.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry/react@7.100.1(react@18.2.0): - resolution: {integrity: sha512-EdrBtrXVLK2LSx4Rvz/nQP7HZUZQmr+t3GHV8436RAhF6vs5mntACVMBoQJRWiUvtZ1iRo3rIsIdah7DLiFPgQ==} + /@sentry/react@7.102.1(react@18.2.0): + resolution: {integrity: sha512-X4j2DgbktlEifnd21YJKCayAmff5hnaS+9MNz9OonEwD0ARi0ks7bo0wtWHMjPK20992MO+JwczVg/1BXJYDdQ==} engines: {node: '>=8'} peerDependencies: react: 15.x || 16.x || 17.x || 18.x dependencies: - '@sentry/browser': 7.100.1 - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry/browser': 7.102.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false - /@sentry/replay@7.100.1: - resolution: {integrity: sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w==} + /@sentry/replay@7.102.1: + resolution: {integrity: sha512-HR/j9dGIvbrId8fh8mQlODx7JrhRmawEd9e9P3laPtogWCg/5TI+XPb2VGSaXOX9VWtb/6Z2UjHsaGjgg6YcuA==} engines: {node: '>=12'} dependencies: - '@sentry-internal/tracing': 7.100.1 - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry-internal/tracing': 7.102.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false - /@sentry/types@7.100.1: - resolution: {integrity: sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw==} + /@sentry/types@7.102.1: + resolution: {integrity: sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.100.1: - resolution: {integrity: sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A==} + /@sentry/utils@7.102.1: + resolution: {integrity: sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.100.1 + '@sentry/types': 7.102.1 dev: false - /@sentry/vercel-edge@7.100.1: - resolution: {integrity: sha512-SEWX7KAQreAQREHv+AYm50f/yK8nkq0DQHBQhr+UNZFKbWtSvytbkSmt4HgvOO6nbx9jeAIcg6Z1IKPYNGLKfg==} + /@sentry/vercel-edge@7.102.1: + resolution: {integrity: sha512-iB6KCSxrvO172VjfQHGiYpyXPKNbx6Cz01GA1YDByRiUSgSpAq0qAFRY4lvd736w5KX4s9hen+XmZ7Gmqj8Pag==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.100.1 - '@sentry/core': 7.100.1 - '@sentry/types': 7.100.1 - '@sentry/utils': 7.100.1 + '@sentry-internal/tracing': 7.102.1 + '@sentry/core': 7.102.1 + '@sentry/types': 7.102.1 + '@sentry/utils': 7.102.1 dev: false /@sentry/webpack-plugin@1.21.0: @@ -5741,8 +5830,8 @@ packages: - supports-color dev: false - /@sideway/address@4.1.4: - resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} dependencies: '@hapi/hoek': 9.3.0 @@ -5775,8 +5864,8 @@ packages: escape-string-regexp: 5.0.0 dev: false - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 dev: true @@ -5784,43 +5873,43 @@ packages: /@sinonjs/fake-timers@10.3.0: resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 dev: true /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: false - /@storybook/addon-a11y@7.6.7: - resolution: {integrity: sha512-poT2oXIYDwLnhqn6g9ACTQ+7gi8QDHVlib4TQANdcozC/qYg+Bs6Pd99wT6rT4lrC/npVNTSKKwLw+3oXqlCxg==} + /@storybook/addon-a11y@7.6.17: + resolution: {integrity: sha512-UYHJAKQpJMCu4X4O/325UqozYrkhPn2VyQdwPgC+uiOKZvrtni4uRbpOspeyjC0wXH1tDbY8WZvxwvwQryYkpA==} dependencies: - '@storybook/addon-highlight': 7.6.7 - axe-core: 4.8.2 + '@storybook/addon-highlight': 7.6.17 + axe-core: 4.8.4 dev: true - /@storybook/addon-actions@7.6.0: - resolution: {integrity: sha512-yc4d/6j0XaTQPkEMkT0JxWPjRwZUg0oC929/vpouYhaC60Ch/b3PnzUFkSQ2BqgeUUH0c9wfzs/9np6USRXpBQ==} + /@storybook/addon-actions@7.6.17: + resolution: {integrity: sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==} dependencies: - '@storybook/core-events': 7.6.0 + '@storybook/core-events': 7.6.17 '@storybook/global': 5.0.0 - '@types/uuid': 9.0.7 + '@types/uuid': 9.0.8 dequal: 2.0.3 - polished: 4.2.2 + polished: 4.3.1 uuid: 9.0.1 dev: true - /@storybook/addon-backgrounds@7.6.0: - resolution: {integrity: sha512-8BMwVXiazDQlqYS8Snzowzn6MbcsigaUxhWzWoCkLUmyOvciywvOjQD9241wbEdLc/rdFZAPRGoQLZfn/1BV9g==} + /@storybook/addon-backgrounds@7.6.17: + resolution: {integrity: sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==} dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 dev: true - /@storybook/addon-controls@7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-x6OszUmbi+xO4TlFAmw7nFq3IEzM10yPtAMC+RZ8jfSnlfevtZvT/KYb6WySo0H3b7b6GIxLwzbHceZrkHYPHg==} + /@storybook/addon-controls@7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==} dependencies: - '@storybook/blocks': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -5832,27 +5921,27 @@ packages: - supports-color dev: true - /@storybook/addon-docs@7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gvBMqERBilXEQaDFbsmUZSVSRjBJUSmHaGRYLMb72PnK1pfoRSxvi0TrIqbOScTQLUukKN42OwA83xLS+2eubg==} + /@storybook/addon-docs@7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.0 - '@storybook/components': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.6.0 - '@storybook/csf-tools': 7.6.0 + '@storybook/blocks': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.6.17 + '@storybook/components': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-plugin': 7.6.17 + '@storybook/csf-tools': 7.6.17 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.6.0 - '@storybook/postinstall': 7.6.0 - '@storybook/preview-api': 7.6.0 - '@storybook/react-dom-shim': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.0 + '@storybook/node-logger': 7.6.17 + '@storybook/postinstall': 7.6.17 + '@storybook/preview-api': 7.6.17 + '@storybook/react-dom-shim': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5866,25 +5955,25 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-cLmLradZqGxh3xavAhPTmJYUdV66NZsEyAZKdc2Fjo9sVWbWstODe/IC1xhD1dRgxEMCTlBpmUENqeCbbnkpqA==} + /@storybook/addon-essentials@7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/addon-actions': 7.6.0 - '@storybook/addon-backgrounds': 7.6.0 - '@storybook/addon-controls': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-highlight': 7.6.0 - '@storybook/addon-measure': 7.6.0 - '@storybook/addon-outline': 7.6.0 - '@storybook/addon-toolbars': 7.6.0 - '@storybook/addon-viewport': 7.6.0 - '@storybook/core-common': 7.6.0 - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.6.0 - '@storybook/preview-api': 7.6.0 + '@storybook/addon-actions': 7.6.17 + '@storybook/addon-backgrounds': 7.6.17 + '@storybook/addon-controls': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-highlight': 7.6.17 + '@storybook/addon-measure': 7.6.17 + '@storybook/addon-outline': 7.6.17 + '@storybook/addon-toolbars': 7.6.17 + '@storybook/addon-viewport': 7.6.17 + '@storybook/core-common': 7.6.17 + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.6.17 + '@storybook/preview-api': 7.6.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -5895,30 +5984,24 @@ packages: - supports-color dev: true - /@storybook/addon-highlight@7.6.0: - resolution: {integrity: sha512-9Ho4L47k9e36kIgNa0RA9ZXzn7AWmq/sXBMRK7PcgrMiKvYdRQMU0AMHDvICg2vI8IkMVXTEaT/CQPefG3XT0Q==} + /@storybook/addon-highlight@7.6.17: + resolution: {integrity: sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==} dependencies: '@storybook/global': 5.0.0 dev: true - /@storybook/addon-highlight@7.6.7: - resolution: {integrity: sha512-2F/tJdn45d4zrvf/cmE1vsczl99wK8+I+kkj0G7jLsrJR0w1zTgbgjy6T9j86HBTBvWcnysNFNIRWPAOh5Wdbw==} + /@storybook/addon-interactions@7.6.17: + resolution: {integrity: sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==} dependencies: '@storybook/global': 5.0.0 - dev: true - - /@storybook/addon-interactions@7.6.0: - resolution: {integrity: sha512-+u1+FFn8asqJ96qe8AHWhpazYGu60vsl6QFkS1AWcvcNHaevjcSyBkPoVJEywnnixd5H3rpKo6EkXLsUvdr3JQ==} - dependencies: - '@storybook/global': 5.0.0 - '@storybook/types': 7.6.0 + '@storybook/types': 7.6.17 jest-mock: 27.5.1 - polished: 4.2.2 + polished: 4.3.1 ts-dedent: 2.2.0 dev: true - /@storybook/addon-links@7.6.0(react@18.2.0): - resolution: {integrity: sha512-Qfq6U7EuxlXUFSbWVH8XRzQWva+CNtNgqjwO2hGsbhCisX5cb8vjl1mQF9DH00Lc021UcUjDPXiCCEEhj6Mpvg==} + /@storybook/addon-links@7.6.17(react@18.2.0): + resolution: {integrity: sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: @@ -5931,21 +6014,21 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@7.6.0: - resolution: {integrity: sha512-CtGZ45LUvylvM7z53TbUdJ8qx5QRgWXAA1Lk/+yBlIYgXQhvMzSupxmhjRyZZdj1rMj8S5NYuIg43nsQYijnsQ==} + /@storybook/addon-measure@7.6.17: + resolution: {integrity: sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==} dependencies: '@storybook/global': 5.0.0 tiny-invariant: 1.3.1 dev: true - /@storybook/addon-outline@7.6.0: - resolution: {integrity: sha512-W5KcuxM2w9VugZmU8nCwRa1FZdLj+sMcLZG4R1JcplY4SkWXrVtqMRJE0TNvyUEPUJpqcUwZWvL31fOZHQaOwg==} + /@storybook/addon-outline@7.6.17: + resolution: {integrity: sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==} dependencies: '@storybook/global': 5.0.0 ts-dedent: 2.2.0 dev: true - /@storybook/addon-styling@1.3.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(less@4.2.0)(postcss@8.4.33)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.89.0): + /@storybook/addon-styling@1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.57)(less@4.2.0)(postcss@8.4.35)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-JSBZMOrSw/3rlq5YoEI7Qyq703KSNP0Jd+gxTWu3/tP6245mpjn2dXnR8FvqVxCi+FG4lt2kQyPzgsuwEw1SSA==} hasBin: true peerDependencies: @@ -5966,30 +6049,31 @@ packages: webpack: optional: true dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 - '@storybook/api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.6.7 - '@storybook/preview-api': 7.6.7 - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 - css-loader: 6.8.1(webpack@5.89.0) + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + '@storybook/api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.6.17 + '@storybook/core-events': 7.6.17 + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.6.17 + '@storybook/preview-api': 7.6.17 + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 + css-loader: 6.10.0(webpack@5.90.3) less: 4.2.0 - less-loader: 11.1.3(less@4.2.0)(webpack@5.89.0) - postcss: 8.4.33 - postcss-loader: 7.3.3(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0) + less-loader: 11.1.4(less@4.2.0)(webpack@5.90.3) + postcss: 8.4.35 + postcss-loader: 7.3.4(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3) prettier: 2.8.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) resolve-url-loader: 5.0.0 - sass-loader: 13.3.2(webpack@5.89.0) - style-loader: 3.3.3(webpack@5.89.0) - webpack: 5.89.0(esbuild@0.18.20) + sass-loader: 13.3.3(webpack@5.90.3) + style-loader: 3.3.4(webpack@5.90.3) + webpack: 5.90.3(esbuild@0.18.20) transitivePeerDependencies: + - '@rspack/core' - '@types/react' - '@types/react-dom' - encoding @@ -6001,22 +6085,22 @@ packages: - typescript dev: true - /@storybook/addon-toolbars@7.6.0: - resolution: {integrity: sha512-IZ6LGqu4QYsXSKof8KO0bL9+UR4KXho4z/+o0OYBwQRnO1KBQh73yRoeRxZPsJWE0Ms5zZnAMEA6iSZ+Zyvs5g==} + /@storybook/addon-toolbars@7.6.17: + resolution: {integrity: sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==} dev: true - /@storybook/addon-viewport@7.6.0: - resolution: {integrity: sha512-1NGgoEnDYLWw0HuRTTrIHCj8I0Xtc76PgPtArj92HQu+ENu4Hy0Y8MypZ+ZmAFddykaInwmZeQo2CD0GXU9qUQ==} + /@storybook/addon-viewport@7.6.17: + resolution: {integrity: sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==} dependencies: memoizerific: 1.11.3 dev: true - /@storybook/addons@7.6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-f1J9g/aROUx/fPPBGA2fn/Bw/r+D2J47KmKv5yZ5UyNnMZMoXKRZLh0pyY/hwPWlDPK7mdcJyjdqi4C8HND/Nw==} + /@storybook/addons@7.6.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Ok18Y698Ccyg++MoUNJNHY0cXUvo8ETFIRLJk1g9ElJ70j6kPgNnzW2pAtZkBNmswHtofZ7pT156cj96k/LgfA==} dependencies: - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.0 - '@storybook/types': 7.6.0 + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.6.17 + '@storybook/types': 7.6.17 transitivePeerDependencies: - react - react-dom @@ -6034,7 +6118,7 @@ packages: '@storybook/router': 6.5.16(react-dom@18.2.0)(react@18.2.0) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@18.2.0)(react@18.2.0) - core-js: 3.35.0 + core-js: 3.36.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -6042,51 +6126,51 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 - store2: 2.14.2 + store2: 2.14.3 telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/api@7.6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aMgBWVqLb+aELCR8NbJsO7voaj2Io+MbYHUSFakZFPg/Y7OgE/asO7NkyE0ZJLzv5Uc3AmHRW3AQOrSde7BCtA==} + /@storybook/api@7.6.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-l92PI+5XL4zB/o4IBWFCKQWTXvPg9hR45DCJqlPHrLZStiR6Xj1mbrtOjUlgIOH+nYb/SZFZqO53hhrs7X4Nvg==} dependencies: - '@storybook/client-logger': 7.6.0 - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.6.17 + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: - react - react-dom dev: true - /@storybook/blocks@7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-S5g0h9dJevngPXnsFAjxQryOU/rQuA4cet40hIH0qRKesFwaXDFrsYHMZfxg6uGKygpeGbIEBoXckL8DT3SofA==} + /@storybook/blocks@7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/channels': 7.6.0 - '@storybook/client-logger': 7.6.0 - '@storybook/components': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.6.0 + '@storybook/channels': 7.6.17 + '@storybook/client-logger': 7.6.17 + '@storybook/components': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.6.17 '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 7.6.0 + '@storybook/docs-tools': 7.6.17 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.0 - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.0 + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.6.17 + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 '@types/lodash': 4.14.202 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.3.2(react@18.2.0) + markdown-to-jsx: 7.4.1(react@18.2.0) memoizerific: 1.11.3 - polished: 4.2.2 + polished: 4.3.1 react: 18.2.0 react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) react-dom: 18.2.0(react@18.2.0) telejson: 7.2.0 - tocbot: 4.23.0 + tocbot: 4.25.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 transitivePeerDependencies: @@ -6096,13 +6180,13 @@ packages: - supports-color dev: true - /@storybook/builder-manager@7.6.7: - resolution: {integrity: sha512-6HYpj6+g/qbDMvImVz/G/aANbkhppyBa1ozfHxLK7tRD79YvozCWmj2Z9umRekPv9VIeMxnI5EEzJXOsoMX5DQ==} + /@storybook/builder-manager@7.6.17: + resolution: {integrity: sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 7.6.7 - '@storybook/manager': 7.6.7 - '@storybook/node-logger': 7.6.7 + '@storybook/core-common': 7.6.17 + '@storybook/manager': 7.6.17 + '@storybook/node-logger': 7.6.17 '@types/ejs': 3.1.5 '@types/find-cache-dir': 3.2.1 '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.18.20) @@ -6120,8 +6204,8 @@ packages: - supports-color dev: true - /@storybook/builder-vite@7.6.0(typescript@5.3.3)(vite@4.5.2): - resolution: {integrity: sha512-gYJbQxquk/REN0Gg3okC56gFsrWHvnNtvc5Dbs+WRN8Zm2hUr7Gyrp3BQGgqvbinLFy2oK4Hq+Z18UAptG4LGw==} + /@storybook/builder-vite@7.6.17(typescript@5.3.3)(vite@4.5.2): + resolution: {integrity: sha512-2Q32qalI401EsKKr9Hkk8TAOcHEerqwsjCpQgTNJnCu6GgCVKoVUcb99oRbR9Vyg0xh+jb19XiWqqQujFtLYlQ==} peerDependencies: '@preact/preset-vite': '*' typescript: '>= 4.3.x' @@ -6135,24 +6219,24 @@ packages: vite-plugin-glimmerx: optional: true dependencies: - '@storybook/channels': 7.6.0 - '@storybook/client-logger': 7.6.0 - '@storybook/core-common': 7.6.0 - '@storybook/csf-plugin': 7.6.0 - '@storybook/node-logger': 7.6.0 - '@storybook/preview': 7.6.0 - '@storybook/preview-api': 7.6.0 - '@storybook/types': 7.6.0 + '@storybook/channels': 7.6.17 + '@storybook/client-logger': 7.6.17 + '@storybook/core-common': 7.6.17 + '@storybook/csf-plugin': 7.6.17 + '@storybook/node-logger': 7.6.17 + '@storybook/preview': 7.6.17 + '@storybook/preview-api': 7.6.17 + '@storybook/types': 7.6.17 '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 es-module-lexer: 0.9.3 express: 4.18.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 3.29.4 typescript: 5.3.3 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - encoding - supports-color @@ -6161,73 +6245,61 @@ packages: /@storybook/channels@6.5.16: resolution: {integrity: sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==} dependencies: - core-js: 3.35.0 + core-js: 3.36.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/channels@7.6.0: - resolution: {integrity: sha512-Zobr57AkPIE+cdQMrIC9FdgQZDJt8XmpCR+QCxzhrhz6zJLVbIDjf866vKmy3EGSzGrlajfAg/G1PK4v7FdAcw==} + /@storybook/channels@7.6.17: + resolution: {integrity: sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==} dependencies: - '@storybook/client-logger': 7.6.0 - '@storybook/core-events': 7.6.0 + '@storybook/client-logger': 7.6.17 + '@storybook/core-events': 7.6.17 '@storybook/global': 5.0.0 qs: 6.11.2 telejson: 7.2.0 tiny-invariant: 1.3.1 - /@storybook/channels@7.6.7: - resolution: {integrity: sha512-u1hURhfQHHtZyRIDUENRCp+CRRm7IQfcjQaoWI06XCevQPuhVEtFUfXHjG+J74aA/JuuTLFUtqwNm1zGqbXTAQ==} - dependencies: - '@storybook/client-logger': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/global': 5.0.0 - qs: 6.11.2 - telejson: 7.2.0 - tiny-invariant: 1.3.1 - dev: true - - /@storybook/cli@7.6.7: - resolution: {integrity: sha512-DwDWzkifBH17ry+n+d+u52Sv69dZQ+04ETJdDDzghcyAcKnFzrRNukj4tJ21cm+ZAU/r0fKR9d4Qpbogca9fAg==} + /@storybook/cli@7.6.17: + resolution: {integrity: sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==} hasBin: true dependencies: - '@babel/core': 7.23.7 - '@babel/preset-env': 7.23.6(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/core': 7.23.9 + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/types': 7.23.9 '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 7.6.7 - '@storybook/core-common': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/core-server': 7.6.7 - '@storybook/csf-tools': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/telemetry': 7.6.7 - '@storybook/types': 7.6.7 - '@types/semver': 7.5.6 + '@storybook/codemod': 7.6.17 + '@storybook/core-common': 7.6.17 + '@storybook/core-events': 7.6.17 + '@storybook/core-server': 7.6.17 + '@storybook/csf-tools': 7.6.17 + '@storybook/node-logger': 7.6.17 + '@storybook/telemetry': 7.6.17 + '@storybook/types': 7.6.17 + '@types/semver': 7.5.7 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 chalk: 4.1.2 commander: 6.2.1 cross-spawn: 7.0.3 detect-indent: 6.1.0 - envinfo: 7.11.0 + envinfo: 7.11.1 execa: 5.1.1 express: 4.18.2 find-up: 5.0.0 fs-extra: 11.2.0 get-npm-tarball-url: 2.1.0 get-port: 5.1.1 - giget: 1.1.3 + giget: 1.2.1 globby: 11.1.0 - jscodeshift: 0.15.1(@babel/preset-env@7.23.6) + jscodeshift: 0.15.2(@babel/preset-env@7.23.9) leven: 3.1.0 ora: 5.4.1 prettier: 2.8.8 prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.5.4 - simple-update-notifier: 2.0.0 + semver: 7.6.0 strip-json-comments: 3.1.1 tempy: 1.0.1 ts-dedent: 2.2.0 @@ -6242,35 +6314,29 @@ packages: /@storybook/client-logger@6.5.16: resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==} dependencies: - core-js: 3.35.0 + core-js: 3.36.0 global: 4.4.0 dev: false - /@storybook/client-logger@7.6.0: - resolution: {integrity: sha512-18XPPEWYHmmUav7i+PjZGwtImshNtay0xO2vh2DmQtzoCh2Lx/NVldqv9Li1eHCI88+4y7fyutmC5OIi0YASbg==} + /@storybook/client-logger@7.6.17: + resolution: {integrity: sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==} dependencies: '@storybook/global': 5.0.0 - /@storybook/client-logger@7.6.7: - resolution: {integrity: sha512-A16zpWgsa0gSdXMR9P3bWVdC9u/1B1oG4H7Z1+JhNzgnL3CdyOYO0qFSiAtNBso4nOjIAJVb6/AoBzdRhmSVQg==} + /@storybook/codemod@7.6.17: + resolution: {integrity: sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==} dependencies: - '@storybook/global': 5.0.0 - dev: true - - /@storybook/codemod@7.6.7: - resolution: {integrity: sha512-an2pD5OHqO7CE8Wb7JxjrDnpQgeoxB22MyOs8PPJ9Rvclhpjg+Ku9RogoObYm//zR4g406l7Ec8mTltUkVCEOA==} - dependencies: - '@babel/core': 7.23.7 - '@babel/preset-env': 7.23.6(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/core': 7.23.9 + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/types': 7.23.9 '@storybook/csf': 0.1.2 - '@storybook/csf-tools': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/types': 7.6.7 + '@storybook/csf-tools': 7.6.17 + '@storybook/node-logger': 7.6.17 + '@storybook/types': 7.6.17 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 globby: 11.1.0 - jscodeshift: 0.15.1(@babel/preset-env@7.23.6) + jscodeshift: 0.15.2(@babel/preset-env@7.23.9) lodash: 4.17.21 prettier: 2.8.8 recast: 0.23.4 @@ -6287,7 +6353,7 @@ packages: '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.2.0)(react@18.2.0) - core-js: 3.35.0 + core-js: 3.36.0 memoizerific: 1.11.3 qs: 6.11.2 react: 18.2.0 @@ -6296,19 +6362,19 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/components@7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yV2krJOGYHldThfFShl5jC5EySUYVOWnhomwwT2b0J5e7odp04TCBycKmLxZhYmaFawnf5BNbDaIXvxcnY518A==} + /@storybook/components@7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.0 + '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.6.17 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.0 + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6319,53 +6385,22 @@ packages: - '@types/react-dom' dev: true - /@storybook/core-client@7.6.0: - resolution: {integrity: sha512-zc2v1WoyN64okcVWfZb1/fWasaZX3mdFVigqavUOIeXsxWFcywU5bcr0bWCCwwk19xKaNzJ2FvWVqXrkOUq22w==} + /@storybook/core-client@7.6.17: + resolution: {integrity: sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==} dependencies: - '@storybook/client-logger': 7.6.0 - '@storybook/preview-api': 7.6.0 + '@storybook/client-logger': 7.6.17 + '@storybook/preview-api': 7.6.17 dev: true - /@storybook/core-common@7.6.0: - resolution: {integrity: sha512-Le11+Pcbi2D+i63utkhjHEAUIVO65CNiZiDFa/ZJI5aSajy209ece2eX0Z12wPecfYu5TXlqhqaeXAVBABAUow==} + /@storybook/core-common@7.6.17: + resolution: {integrity: sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==} dependencies: - '@storybook/core-events': 7.6.0 - '@storybook/node-logger': 7.6.0 - '@storybook/types': 7.6.0 + '@storybook/core-events': 7.6.17 + '@storybook/node-logger': 7.6.17 + '@storybook/types': 7.6.17 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.4 - '@types/node-fetch': 2.6.9 - '@types/pretty-hrtime': 1.0.3 - chalk: 4.1.2 - esbuild: 0.18.20 - esbuild-register: 3.5.0(esbuild@0.18.20) - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.2.0 - glob: 10.3.10 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@storybook/core-common@7.6.7: - resolution: {integrity: sha512-F1fJnauVSPQtAlpicbN/O4XW38Ai8kf/IoU0Hgm9gEwurIk6MF5hiVLsaTI/5GUbrepMl9d9J+iIL4lHAT8IyA==} - dependencies: - '@storybook/core-events': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/types': 7.6.7 - '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.4 - '@types/node-fetch': 2.6.9 + '@types/node': 18.19.18 + '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 esbuild: 0.18.20 @@ -6391,42 +6426,36 @@ packages: /@storybook/core-events@6.5.16: resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==} dependencies: - core-js: 3.35.0 + core-js: 3.36.0 dev: false - /@storybook/core-events@7.6.0: - resolution: {integrity: sha512-13d4YOcXPu0j5PDjqE2iy+mG68w2TLit408cF/ZbJ8d6V4QwuUiz6mUt34vTuTc3yB93q5moYXYo6a/AhrsPnQ==} + /@storybook/core-events@7.6.17: + resolution: {integrity: sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==} dependencies: ts-dedent: 2.2.0 - /@storybook/core-events@7.6.7: - resolution: {integrity: sha512-KZ5d03c47pnr5/kY26pJtWq7WpmCPXLbgyjJZDSc+TTY153BdZksvlBXRHtqM1yj2UM6QsSyIuiJaADJNAbP2w==} - dependencies: - ts-dedent: 2.2.0 - dev: true - - /@storybook/core-server@7.6.7: - resolution: {integrity: sha512-elKRv/DNahNNkGcQY/FdOBrLPmZF0T0fwmAmbc4qqeAisjl+to9TO77zdo2ieaEHKyRwE3B3dOB4EXomdF4N/g==} + /@storybook/core-server@7.6.17: + resolution: {integrity: sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 7.6.7 - '@storybook/channels': 7.6.7 - '@storybook/core-common': 7.6.7 - '@storybook/core-events': 7.6.7 + '@storybook/builder-manager': 7.6.17 + '@storybook/channels': 7.6.17 + '@storybook/core-common': 7.6.17 + '@storybook/core-events': 7.6.17 '@storybook/csf': 0.1.2 - '@storybook/csf-tools': 7.6.7 + '@storybook/csf-tools': 7.6.17 '@storybook/docs-mdx': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/manager': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/preview-api': 7.6.7 - '@storybook/telemetry': 7.6.7 - '@storybook/types': 7.6.7 + '@storybook/manager': 7.6.17 + '@storybook/node-logger': 7.6.17 + '@storybook/preview-api': 7.6.17 + '@storybook/telemetry': 7.6.17 + '@storybook/types': 7.6.17 '@types/detect-port': 1.3.5 - '@types/node': 18.19.4 + '@types/node': 18.19.18 '@types/pretty-hrtime': 1.0.3 - '@types/semver': 7.5.6 + '@types/semver': 7.5.7 better-opn: 3.0.2 chalk: 4.1.2 cli-table3: 0.6.3 @@ -6435,20 +6464,20 @@ packages: express: 4.18.2 fs-extra: 11.2.0 globby: 11.1.0 - ip: 2.0.0 + ip: 2.0.1 lodash: 4.17.21 open: 8.4.2 pretty-hrtime: 1.0.3 prompts: 2.4.2 read-pkg-up: 7.0.1 - semver: 7.5.4 + semver: 7.6.0 telejson: 7.2.0 tiny-invariant: 1.3.1 ts-dedent: 2.2.0 util: 0.12.5 util-deprecate: 1.0.2 watchpack: 2.4.0 - ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) transitivePeerDependencies: - bufferutil - encoding @@ -6456,40 +6485,24 @@ packages: - utf-8-validate dev: true - /@storybook/csf-plugin@7.6.0: - resolution: {integrity: sha512-d/rcRcNad+tLGXV3GQiQdFJOBS4fj90fqa4joJIekgVh+LfRBS+KYuiPeukBxfnmz2AbhF9ezwXQMFIYYyHmzg==} - dependencies: - '@storybook/csf-tools': 7.6.0 - unplugin: 1.5.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@storybook/csf-tools@7.6.0: - resolution: {integrity: sha512-JhGJeLgnE96JfBBXM1DIPVR/JLQH2OTGH+yZ3ohiTPGWjf+aShB3jKUxTkBl7Fjq0xu57tnky7kNUO690vYypg==} + /@storybook/csf-plugin@7.6.17: + resolution: {integrity: sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==} dependencies: - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.6 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - '@storybook/csf': 0.1.2 - '@storybook/types': 7.6.0 - fs-extra: 11.2.0 - recast: 0.23.4 - ts-dedent: 2.2.0 + '@storybook/csf-tools': 7.6.17 + unplugin: 1.7.1 transitivePeerDependencies: - supports-color dev: true - /@storybook/csf-tools@7.6.7: - resolution: {integrity: sha512-hyRbUGa2Uxvz3U09BjcOfMNf/5IYgRum1L6XszqK2O8tK9DGte1r6hArCIAcqiEmFMC40d0kalPzqu6WMNn7sg==} + /@storybook/csf-tools@7.6.17: + resolution: {integrity: sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==} dependencies: '@babel/generator': 7.23.6 - '@babel/parser': 7.23.6 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 '@storybook/csf': 0.1.2 - '@storybook/types': 7.6.7 + '@storybook/types': 7.6.17 fs-extra: 11.2.0 recast: 0.23.4 ts-dedent: 2.2.0 @@ -6512,12 +6525,12 @@ packages: resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==} dev: true - /@storybook/docs-tools@7.6.0: - resolution: {integrity: sha512-06M/Vo3AwOdr4VP1LbvnSih8eWT5zO6Mkm3ZZikMQVn+eDr5YJ9PzUeI2/SAymgCs4jH9qRf4lmKTPMl4bjGsQ==} + /@storybook/docs-tools@7.6.17: + resolution: {integrity: sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==} dependencies: - '@storybook/core-common': 7.6.0 - '@storybook/preview-api': 7.6.0 - '@storybook/types': 7.6.0 + '@storybook/core-common': 7.6.17 + '@storybook/preview-api': 7.6.17 + '@storybook/types': 7.6.17 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 @@ -6530,58 +6543,53 @@ packages: /@storybook/global@5.0.0: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - /@storybook/manager-api@7.6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-P2ISRw8cmIDPrsMwDTOZvFOH6P9GN6O9wC2cSrfMWYE/aaXHWf/7f5gk5pX/zILHuLQeVnDBguS/zXmMDxJj7g==} + /@storybook/manager-api@7.6.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==} dependencies: - '@storybook/channels': 7.6.0 - '@storybook/client-logger': 7.6.0 - '@storybook/core-events': 7.6.0 + '@storybook/channels': 7.6.17 + '@storybook/client-logger': 7.6.17 + '@storybook/core-events': 7.6.17 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 - '@storybook/router': 7.6.0 - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.0 + '@storybook/router': 7.6.17 + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 - semver: 7.5.4 - store2: 2.14.2 + store2: 2.14.3 telejson: 7.2.0 ts-dedent: 2.2.0 transitivePeerDependencies: - react - react-dom - /@storybook/manager@7.6.7: - resolution: {integrity: sha512-ZCrkB2zEXogzdOcVzD242ZVm4tlHqrayotnI6iOn9uiun0Pgny0m2d7s9Zge6K2dTOO1vZiOHuA/Mr6nnIDjsA==} + /@storybook/manager@7.6.17: + resolution: {integrity: sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==} dev: true /@storybook/mdx2-csf@1.1.0: resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} dev: true - /@storybook/node-logger@7.6.0: - resolution: {integrity: sha512-Z+wVmjnTMhMG2ydL4T8F+gf/awvuAv3IAzH6T4D5UgjmdABqxVqWNAAF+Mgp48TUAGxiJCowzI6sGDg3iNJx2w==} - dev: true - - /@storybook/node-logger@7.6.7: - resolution: {integrity: sha512-XLih8MxylkpZG9+8tgp8sPGc2tldlWF+DpuAkUv6J3Mc81mPyc3cQKQWZ7Hb+m1LpRGqKV4wyOQj1rC+leVMoQ==} + /@storybook/node-logger@7.6.17: + resolution: {integrity: sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==} dev: true - /@storybook/postinstall@7.6.0: - resolution: {integrity: sha512-saxxLh6dXpNYA1WQ5KnOfMsJ1U+WtxBLSgYv8DWYujbFirmafgzPKslxgCjP6OlV3erQgnoO/xBUK4YVTfsuag==} + /@storybook/postinstall@7.6.17: + resolution: {integrity: sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==} dev: true - /@storybook/preview-api@7.6.0: - resolution: {integrity: sha512-//8mYKM8gkSDkIRcG3kSozGEvPUurVhfjBXDtaF8Y8cOZLzwe8/AZy+mUYHShh9HWFUXx5QAj5oU0U0PflfMeg==} + /@storybook/preview-api@7.6.17: + resolution: {integrity: sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==} dependencies: - '@storybook/channels': 7.6.0 - '@storybook/client-logger': 7.6.0 - '@storybook/core-events': 7.6.0 + '@storybook/channels': 7.6.17 + '@storybook/client-logger': 7.6.17 + '@storybook/core-events': 7.6.17 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 - '@storybook/types': 7.6.0 - '@types/qs': 6.9.10 + '@storybook/types': 7.6.17 + '@types/qs': 6.9.11 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 @@ -6590,31 +6598,12 @@ packages: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - /@storybook/preview-api@7.6.7: - resolution: {integrity: sha512-ja85ItrT6q2TeBQ6n0CNoRi1R6L8yF2kkis9hVeTQHpwLdZyHUTRqqR5WmhtLqqQXcofyasBPOeJV06wuOhgRQ==} - dependencies: - '@storybook/channels': 7.6.7 - '@storybook/client-logger': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/types': 7.6.7 - '@types/qs': 6.9.10 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.11.2 - synchronous-promise: 2.0.17 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 + /@storybook/preview@7.6.17: + resolution: {integrity: sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==} dev: true - /@storybook/preview@7.6.0: - resolution: {integrity: sha512-/zHTMl3aj1S3xxnffwaGzhMi1KySCKeln3xX15RBme014ZQ8cNYwnSDRAsiW/n3viDFFyZ6ybrtmw2HnpNBUhw==} - dev: true - - /@storybook/react-dom-shim@7.6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-DBsQ9OBwSjUEI2bvHcGqs+ucVy3UE8CjoWpD93kRcJZY913DCoNDrMSBWozhBHlcO65LhuBjrNm7oKdmwAKJsg==} + /@storybook/react-dom-shim@7.6.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6623,8 +6612,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vite@4.5.2): - resolution: {integrity: sha512-h2wGMpg6b41Jb+V9WIr2hbr8iqYeK5LOFSSGxgBjUAbOtNSI5FTS7e97KEQYpbeDYPLjc3hM0xpqdsUKamvMbA==} + /@storybook/react-vite@7.6.17(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(vite@4.5.2): + resolution: {integrity: sha512-4dIm3CuRl44X1TLzN3WoZh/bChzJF7Ud28li9atj9C8db0bb/y0zl8cahrsRFoR7/LyfqdOVLqaztrnA5SsWfg==} engines: {node: '>=16'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6633,14 +6622,14 @@ packages: dependencies: '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.3.3)(vite@4.5.2) '@rollup/pluginutils': 5.1.0(rollup@2.78.0) - '@storybook/builder-vite': 7.6.0(typescript@5.3.3)(vite@4.5.2) - '@storybook/react': 7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@storybook/builder-vite': 7.6.17(typescript@5.3.3)(vite@4.5.2) + '@storybook/react': 7.6.17(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@vitejs/plugin-react': 3.1.0(vite@4.5.2) - magic-string: 0.30.5 + magic-string: 0.30.7 react: 18.2.0 - react-docgen: 7.0.1 + react-docgen: 7.0.3 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -6650,8 +6639,8 @@ packages: - vite-plugin-glimmerx dev: true - /@storybook/react@7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-9ohJYqNAjGa1Lqxs8wKQNAifLjuQCSOFRx1yFb9azpJ7VS/G4CJ9v4p0Et79rqhP9EcHgACZx/8jFQsQgDD9ug==} + /@storybook/react@7.6.17(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6661,16 +6650,16 @@ packages: typescript: optional: true dependencies: - '@storybook/client-logger': 7.6.0 - '@storybook/core-client': 7.6.0 - '@storybook/docs-tools': 7.6.0 + '@storybook/client-logger': 7.6.17 + '@storybook/core-client': 7.6.17 + '@storybook/docs-tools': 7.6.17 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.6.0 - '@storybook/react-dom-shim': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.0 + '@storybook/preview-api': 7.6.17 + '@storybook/react-dom-shim': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.6.17 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.4 + '@types/node': 18.19.18 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -6697,7 +6686,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.35.0 + core-js: 3.36.0 memoizerific: 1.11.3 qs: 6.11.2 react: 18.2.0 @@ -6705,10 +6694,10 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@storybook/router@7.6.0: - resolution: {integrity: sha512-661mO2JtO/wdWJEtVqyaUjQ8tsy56LrsKqz4suzO0L32Z7NHCBu0IzbZbLON6MXje3PWXksw0vFbd8jwH/i//w==} + /@storybook/router@7.6.17: + resolution: {integrity: sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==} dependencies: - '@storybook/client-logger': 7.6.0 + '@storybook/client-logger': 7.6.17 memoizerific: 1.11.3 qs: 6.11.2 @@ -6717,16 +6706,16 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - core-js: 3.35.0 + core-js: 3.36.0 find-up: 4.1.0 dev: false - /@storybook/telemetry@7.6.7: - resolution: {integrity: sha512-NHGzC/LGLXpK4AFbVj8ln5ab86ZiiNFvORQMn3+LNGwUt3ZdsHBzExN+WPZdw7OPtfk4ubUY89FXH2GedhTALw==} + /@storybook/telemetry@7.6.17: + resolution: {integrity: sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==} dependencies: - '@storybook/client-logger': 7.6.7 - '@storybook/core-common': 7.6.7 - '@storybook/csf-tools': 7.6.7 + '@storybook/client-logger': 7.6.17 + '@storybook/core-common': 7.6.17 + '@storybook/csf-tools': 7.6.17 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 @@ -6740,8 +6729,8 @@ packages: /@storybook/testing-library@0.2.0: resolution: {integrity: sha512-Ff6jNnrsosmDshgCf0Eb5Cz7IA34p/1Ps5N3Kp3598kfXpBSccSkQQvVFUXC3kIHw/isIXWPqntZuKqnWUz7Gw==} dependencies: - '@testing-library/dom': 9.3.3 - '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.3) + '@testing-library/dom': 9.3.4 + '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) ts-dedent: 2.2.0 dev: true @@ -6752,45 +6741,36 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.35.0 + core-js: 3.36.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) regenerator-runtime: 0.13.11 dev: false - /@storybook/theming@7.6.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-F5PTGkaRQ0TWIWRrZgQ2dmVxVcjX77vDc6QfUYxvOfez9/zrduKRHP5lGqHoqJlugJc8i2zpRNEFbL99frdUKg==} + /@storybook/theming@7.6.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@storybook/client-logger': 7.6.0 + '@storybook/client-logger': 7.6.17 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@storybook/types@7.6.0: - resolution: {integrity: sha512-mrbL9qrRekaPCAV3d7jYpege5wOpsvBvNW6pmATG3UvNXpqz5BOWe6RWZJXbtkvjyt01b6HE9CbVUFJppplr6w==} - dependencies: - '@storybook/channels': 7.6.0 - '@types/babel__core': 7.20.5 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 - - /@storybook/types@7.6.7: - resolution: {integrity: sha512-VcGwrI4AkBENxkoAUJ+Z7SyMK73hpoY0TTtw2J7tc05/xdiXhkQTX15Qa12IBWIkoXCyNrtaU+q7KR8Tjzi+uw==} + /@storybook/types@7.6.17: + resolution: {integrity: sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==} dependencies: - '@storybook/channels': 7.6.7 + '@storybook/channels': 7.6.17 '@types/babel__core': 7.20.5 '@types/express': 4.17.21 file-system-cache: 2.3.0 - dev: true - /@swc/core-darwin-arm64@1.3.102: - resolution: {integrity: sha512-CJDxA5Wd2cUMULj3bjx4GEoiYyyiyL8oIOu4Nhrs9X+tlg8DnkCm4nI57RJGP8Mf6BaXPIJkHX8yjcefK2RlDA==} + /@swc/core-darwin-arm64@1.4.2: + resolution: {integrity: sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -6798,8 +6778,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.102: - resolution: {integrity: sha512-X5akDkHwk6oAer49oER0qZMjNMkLH3IOZaV1m98uXIasAGyjo5WH1MKPeMLY1sY6V6TrufzwiSwD4ds571ytcg==} + /@swc/core-darwin-x64@1.4.2: + resolution: {integrity: sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -6807,8 +6787,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.102: - resolution: {integrity: sha512-kJH3XtZP9YQdjq/wYVBeFuiVQl4HaC4WwRrIxAHwe2OyvrwUI43dpW3LpxSggBnxXcVCXYWf36sTnv8S75o2Gw==} + /@swc/core-linux-arm-gnueabihf@1.4.2: + resolution: {integrity: sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -6816,8 +6796,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.102: - resolution: {integrity: sha512-flQP2WDyCgO24WmKA1wjjTx+xfCmavUete2Kp6yrM+631IHLGnr17eu7rYJ/d4EnDBId/ytMyrnWbTVkaVrpbQ==} + /@swc/core-linux-arm64-gnu@1.4.2: + resolution: {integrity: sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -6825,8 +6805,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.102: - resolution: {integrity: sha512-bQEQSnC44DyoIGLw1+fNXKVGoCHi7eJOHr8BdH0y1ooy9ArskMjwobBFae3GX4T1AfnrTaejyr0FvLYIb0Zkog==} + /@swc/core-linux-arm64-musl@1.4.2: + resolution: {integrity: sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -6834,8 +6814,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.102: - resolution: {integrity: sha512-dFvnhpI478svQSxqISMt00MKTDS0e4YtIr+ioZDG/uJ/q+RpcNy3QI2KMm05Fsc8Y0d4krVtvCKWgfUMsJZXAg==} + /@swc/core-linux-x64-gnu@1.4.2: + resolution: {integrity: sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -6843,8 +6823,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.102: - resolution: {integrity: sha512-+a0M3CvjeIRNA/jTCzWEDh2V+mhKGvLreHOL7J97oULZy5yg4gf7h8lQX9J8t9QLbf6fsk+0F8bVH1Ie/PbXjA==} + /@swc/core-linux-x64-musl@1.4.2: + resolution: {integrity: sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -6852,8 +6832,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.102: - resolution: {integrity: sha512-w76JWLjkZNOfkB25nqdWUNCbt0zJ41CnWrJPZ+LxEai3zAnb2YtgB/cCIrwxDebRuMgE9EJXRj7gDDaTEAMOOQ==} + /@swc/core-win32-arm64-msvc@1.4.2: + resolution: {integrity: sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -6861,8 +6841,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.102: - resolution: {integrity: sha512-vlDb09HiGqKwz+2cxDS9T5/461ipUQBplvuhW+cCbzzGuPq8lll2xeyZU0N1E4Sz3MVdSPx1tJREuRvlQjrwNg==} + /@swc/core-win32-ia32-msvc@1.4.2: + resolution: {integrity: sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -6870,8 +6850,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.102: - resolution: {integrity: sha512-E/jfSD7sShllxBwwgDPeXp1UxvIqehj/ShSUqq1pjR/IDRXngcRSXKJK92mJkNFY7suH6BcCWwzrxZgkO7sWmw==} + /@swc/core-win32-x64-msvc@1.4.2: + resolution: {integrity: sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -6879,8 +6859,8 @@ packages: dev: true optional: true - /@swc/core@1.3.102: - resolution: {integrity: sha512-OAjNLY/f6QWKSDzaM3bk31A+OYHu6cPa9P/rFIx8X5d24tHXUpRiiq6/PYI6SQRjUPlB72GjsjoEU8F+ALadHg==} + /@swc/core@1.4.2: + resolution: {integrity: sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -6889,23 +6869,23 @@ packages: '@swc/helpers': optional: true dependencies: - '@swc/counter': 0.1.2 + '@swc/counter': 0.1.3 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.102 - '@swc/core-darwin-x64': 1.3.102 - '@swc/core-linux-arm-gnueabihf': 1.3.102 - '@swc/core-linux-arm64-gnu': 1.3.102 - '@swc/core-linux-arm64-musl': 1.3.102 - '@swc/core-linux-x64-gnu': 1.3.102 - '@swc/core-linux-x64-musl': 1.3.102 - '@swc/core-win32-arm64-msvc': 1.3.102 - '@swc/core-win32-ia32-msvc': 1.3.102 - '@swc/core-win32-x64-msvc': 1.3.102 + '@swc/core-darwin-arm64': 1.4.2 + '@swc/core-darwin-x64': 1.4.2 + '@swc/core-linux-arm-gnueabihf': 1.4.2 + '@swc/core-linux-arm64-gnu': 1.4.2 + '@swc/core-linux-arm64-musl': 1.4.2 + '@swc/core-linux-x64-gnu': 1.4.2 + '@swc/core-linux-x64-musl': 1.4.2 + '@swc/core-win32-arm64-msvc': 1.4.2 + '@swc/core-win32-ia32-msvc': 1.4.2 + '@swc/core-win32-x64-msvc': 1.4.2 dev: true - /@swc/counter@0.1.2: - resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} dev: true /@swc/helpers@0.5.2: @@ -6924,7 +6904,7 @@ packages: defer-to-connect: 2.0.1 dev: false - /@tailwindcss/typography@0.5.10(tailwindcss@3.4.0): + /@tailwindcss/typography@0.5.10(tailwindcss@3.4.1): resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' @@ -6933,24 +6913,24 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.0(ts-node@10.9.2) + tailwindcss: 3.4.1(ts-node@10.9.2) dev: true /@tanstack/query-core@4.36.1: resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} dev: true - /@tanstack/query-devtools@5.15.0: - resolution: {integrity: sha512-oz+xBIf+fanmAQ3CZrV4t+1VZiK2nyTcH3zY3G8ukzw+LwX2QGa04ZfF+OCOVF6tPZ2dn1cekMibUb4tevf/aw==} + /@tanstack/query-devtools@5.24.0: + resolution: {integrity: sha512-pThim455t69zrZaQKa7IRkEIK8UBTS+gHVAdNfhO72Xh4rWpMc63ovRje5/n6iw63+d6QiJzVadsJVdPoodSeQ==} dev: true - /@tanstack/react-query-devtools@5.17.0(@tanstack/react-query@4.36.1)(react@18.2.0): - resolution: {integrity: sha512-G8sDsK83Zzjr6Nqm4t+8ILi9VWDhg/XjkDD4UYDWqDZHnh/iv4bbQotPLB3PfX7eQtdzgXjGaV8omf1UniyK8w==} + /@tanstack/react-query-devtools@5.24.0(@tanstack/react-query@4.36.1)(react@18.2.0): + resolution: {integrity: sha512-ae3TSg9hKSicLP6TZMj4hglLsLBaS8O3ex/mgHZNQ8yKCDLnVoLO1a9EqYWPzw2k+uaK5uMCKBAVbLVBLx93oA==} peerDependencies: - '@tanstack/react-query': ^5.17.0 + '@tanstack/react-query': ^5.22.2 react: ^18.0.0 dependencies: - '@tanstack/query-devtools': 5.15.0 + '@tanstack/query-devtools': 5.24.0 '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: true @@ -6973,27 +6953,27 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: true - /@tanstack/react-table@8.11.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-47wdYFlsbJlR6qt4F38nTGo93E6wNkXlN8t1TUI5SpSGiewx+KzBayMjfud3LgqbPLYYcpHby/tGkIF3tR8Upg==} + /@tanstack/react-table@8.12.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LlEQ1Gpz4bfpiET+qmle4BhKDgKN3Y/sssc+O/wLqX8HRtjV+nhusYbllZlutZfMR8oeef83whKTj/VhaV8EeA==} engines: {node: '>=12'} peerDependencies: react: '>=16' react-dom: '>=16' dependencies: - '@tanstack/table-core': 8.11.0 + '@tanstack/table-core': 8.12.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@tanstack/table-core@8.11.0: - resolution: {integrity: sha512-7SC8/v6cXbUriOs2UISN8Jho3ttnA8cRZgusLn15b8meb28prHnWg4t4oNSHIR3rYn0g7iiIg+pax2CtBnyffg==} + /@tanstack/table-core@8.12.0: + resolution: {integrity: sha512-cq/ylWVrOwixmwNXQjgZaQw1Izf7+nPxjczum7paAnMtwPg1S2qRAJU+Jb8rEBUWm69voC/zcChmePlk2hc6ug==} engines: {node: '>=12'} - /@testing-library/dom@9.3.3: - resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + /@testing-library/dom@9.3.4: + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -7002,17 +6982,20 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom@6.1.5(jest@29.7.0)(vitest@0.34.6): - resolution: {integrity: sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==} + /@testing-library/jest-dom@6.4.2(jest@29.7.0)(vitest@0.34.6): + resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} peerDependencies: '@jest/globals': '>= 28' + '@types/bun': latest '@types/jest': '>= 28' jest: '>= 28' vitest: '>= 0.32' peerDependenciesMeta: '@jest/globals': optional: true + '@types/bun': + optional: true '@types/jest': optional: true jest: @@ -7020,39 +7003,39 @@ packages: vitest: optional: true dependencies: - '@adobe/css-tools': 4.3.1 - '@babel/runtime': 7.23.7 + '@adobe/css-tools': 4.3.3 + '@babel/runtime': 7.23.9 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 - dom-accessibility-api: 0.5.16 - jest: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + dom-accessibility-api: 0.6.3 + jest: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) lodash: 4.17.21 redent: 3.0.0 vitest: 0.34.6 dev: true - /@testing-library/react@14.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==} + /@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==} engines: {node: '>=14'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.23.7 - '@testing-library/dom': 9.3.3 - '@types/react-dom': 18.2.18 + '@babel/runtime': 7.23.9 + '@testing-library/dom': 9.3.4 + '@types/react-dom': 18.2.19 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.3): + /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 9.3.3 + '@testing-library/dom': 9.3.4 dev: true /@tootallnate/once@2.0.0: @@ -7083,33 +7066,33 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - '@types/babel__generator': 7.6.7 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.5 - /@types/babel__generator@7.6.7: - resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 - /@types/babel__traverse@7.20.4: - resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.10.6 + '@types/node': 20.11.20 /@types/braces@3.0.4: resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} @@ -7126,21 +7109,26 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + dev: false + + /@types/cookie@0.6.0: + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + dev: true /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: false /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/crypto-js@4.2.2: @@ -7164,6 +7152,158 @@ packages: resolution: {integrity: sha512-A3zkjaZ6cOGyqEvrVuC1YUgiRSJhDZOj8Qhd1ALH2/+YxH2za1BOmR4RWQsKYHsc+aMP/IWoqg1COuUbZ39t/g==} dev: true + /@types/d3-array@3.2.1: + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + + /@types/d3-axis@3.0.6: + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + dependencies: + '@types/d3-selection': 3.0.10 + + /@types/d3-brush@3.0.6: + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + dependencies: + '@types/d3-selection': 3.0.10 + + /@types/d3-chord@3.0.6: + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + /@types/d3-color@3.1.3: + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + /@types/d3-contour@3.0.6: + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + dependencies: + '@types/d3-array': 3.2.1 + '@types/geojson': 7946.0.14 + + /@types/d3-delaunay@6.0.4: + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + /@types/d3-dispatch@3.0.6: + resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} + + /@types/d3-drag@3.0.7: + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + dependencies: + '@types/d3-selection': 3.0.10 + + /@types/d3-dsv@3.0.7: + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + /@types/d3-ease@3.0.2: + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + /@types/d3-fetch@3.0.7: + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + dependencies: + '@types/d3-dsv': 3.0.7 + + /@types/d3-force@3.0.9: + resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==} + + /@types/d3-format@3.0.4: + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + /@types/d3-geo@3.1.0: + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + dependencies: + '@types/geojson': 7946.0.14 + + /@types/d3-hierarchy@3.1.6: + resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==} + + /@types/d3-interpolate@3.0.4: + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + dependencies: + '@types/d3-color': 3.1.3 + + /@types/d3-path@3.1.0: + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} + + /@types/d3-polygon@3.0.2: + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + /@types/d3-quadtree@3.0.6: + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + /@types/d3-random@3.0.3: + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + /@types/d3-scale-chromatic@3.0.3: + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + + /@types/d3-scale@4.0.8: + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + dependencies: + '@types/d3-time': 3.0.3 + + /@types/d3-selection@3.0.10: + resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} + + /@types/d3-shape@3.1.6: + resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} + dependencies: + '@types/d3-path': 3.1.0 + + /@types/d3-time-format@4.0.3: + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + /@types/d3-time@3.0.3: + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + + /@types/d3-timer@3.0.2: + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + /@types/d3-transition@3.0.8: + resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==} + dependencies: + '@types/d3-selection': 3.0.10 + + /@types/d3-zoom@3.0.8: + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.10 + + /@types/d3@7.4.3: + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + dependencies: + '@types/d3-array': 3.2.1 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.6 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.9 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.6 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.0 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + '@types/d3-selection': 3.0.10 + '@types/d3-shape': 3.1.6 + '@types/d3-time': 3.0.3 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.8 + '@types/d3-zoom': 3.0.8 + + /@types/dagre@0.7.52: + resolution: {integrity: sha512-XKJdy+OClLk3hketHi9Qg6gTfe1F3y+UFnHxKA2rn9Dw+oXa4Gb378Ztz9HlMgZKSxpPmn4BNVh9wgkpvrK1uw==} + dev: true + /@types/detect-port@1.3.5: resolution: {integrity: sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==} dev: true @@ -7191,12 +7331,12 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.44.7 + '@types/eslint': 8.56.2 '@types/estree': 1.0.5 dev: true - /@types/eslint@8.44.7: - resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} + /@types/eslint@8.56.2: + resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -7209,11 +7349,11 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.17.41: - resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + /@types/express-serve-static-core@4.17.43: + resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.10.6 - '@types/qs': 6.9.10 + '@types/node': 20.11.20 + '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -7221,8 +7361,8 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.41 - '@types/qs': 6.9.10 + '@types/express-serve-static-core': 4.17.43 + '@types/qs': 6.9.11 '@types/serve-static': 1.15.5 /@types/find-cache-dir@3.2.1: @@ -7233,20 +7373,23 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true + /@types/geojson@7946.0.14: + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/http-cache-semantics@4.0.4: @@ -7259,7 +7402,7 @@ packages: /@types/ip@1.1.3: resolution: {integrity: sha512-64waoJgkXFTYnCYDUWgSATJ/dXEBanVkaP5d4Sbk7P6U7cTTMhxVyROTckc6JKdwCrgnAjZMn0k3177aQxtDEA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/is-function@1.0.3: @@ -7284,7 +7427,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: true @@ -7298,7 +7441,7 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/lodash-es@4.17.12: @@ -7311,8 +7454,8 @@ packages: resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} dev: true - /@types/mdx@2.0.10: - resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + /@types/mdx@2.0.11: + resolution: {integrity: sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==} dev: true /@types/micromatch@4.0.6: @@ -7342,13 +7485,13 @@ packages: /@types/mock-fs@4.13.4: resolution: {integrity: sha512-mXmM0o6lULPI8z3XNnQCpL0BGxPwx1Ul1wXYEPBGl4efShyxW2Rln0JOPEWGyZaYZMM6OVXM/15zUuFMY52ljg==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true - /@types/node-fetch@2.6.9: - resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==} + /@types/node-fetch@2.6.11: + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 form-data: 4.0.0 dev: true @@ -7356,18 +7499,18 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: false - /@types/node@16.18.65: - resolution: {integrity: sha512-5E9WgTy95B7i90oISjui9U5Zu7iExUPfU4ygtv4yXEy6zJFE3oQYHCnh5H1jZRPkjphJt2Ml3oQW6M0qtK534A==} + /@types/node@16.18.83: + resolution: {integrity: sha512-TmBqzDY/GeCEmLob/31SunOQnqYE3ZiiuEh1U9o3HqE1E2cqKZQA5RQg4krEguCY3StnkXyDmCny75qyFLx/rA==} dev: true - /@types/node@18.19.4: - resolution: {integrity: sha512-xNzlUhzoHotIsnFoXmJB+yWmBvFZgKCI9TtPIEdYIMM1KWfwuY8zh7wvc1u1OAXlC7dlf6mZVx/s+Y5KfFz19A==} + /@types/node@18.19.18: + resolution: {integrity: sha512-80CP7B8y4PzZF0GWx15/gVWRrB5y/bIjNI84NK3cmQJu0WZwvmj2WMA5LcofQFVfLqqCSp545+U2LsrVzX36Zg==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.10.6: - resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} dependencies: undici-types: 5.26.5 @@ -7385,36 +7528,36 @@ packages: /@types/prompts@2.4.9: resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 kleur: 3.0.3 dev: true /@types/prop-types@15.7.11: resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/qs@6.9.10: - resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} + /@types/qs@6.9.11: + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - /@types/react-dom@18.2.18: - resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + /@types/react-dom@18.2.19: + resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 - /@types/react-transition-group@4.4.9: - resolution: {integrity: sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==} + /@types/react-transition-group@4.4.10: + resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 dev: false - /@types/react@18.2.45: - resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + /@types/react@18.2.57: + resolution: {integrity: sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 - csstype: 3.1.2 + csstype: 3.1.3 /@types/resolve@1.20.6: resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} @@ -7423,21 +7566,21 @@ packages: /@types/scheduler@0.16.8: resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + /@types/semver@7.5.7: + resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.10.6 + '@types/node': 20.11.20 /@types/serve-static@1.15.5: resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.20 /@types/sinonjs__fake-timers@8.1.1: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} @@ -7451,6 +7594,10 @@ packages: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true + /@types/svg-path-parser@1.1.6: + resolution: {integrity: sha512-3sw6pk91pEtW6W7hRrJ9ZkAgPiJSaNdh7iY8rVOy7buajpQuy2J9A0ZUaiOVcbFvl0p7J+Ne4012muCE/MB+hQ==} + dev: false + /@types/tough-cookie@4.0.5: resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} dev: true @@ -7459,8 +7606,8 @@ packages: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true - /@types/uuid@9.0.7: - resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} + /@types/uuid@9.0.8: + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} dev: true /@types/validate-npm-package-name@4.0.2: @@ -7470,7 +7617,7 @@ packages: /@types/wait-on@5.3.4: resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /@types/yargs-parser@21.0.3: @@ -7493,12 +7640,12 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true optional: true - /@typescript-eslint/eslint-plugin@6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -7509,25 +7656,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/type-utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.16.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser@6.16.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==} + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -7536,25 +7683,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.16.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager@6.16.0: - resolution: {integrity: sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/visitor-keys': 6.16.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 - /@typescript-eslint/type-utils@6.16.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -7563,22 +7710,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/types@6.16.0: - resolution: {integrity: sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/typescript-estree@6.16.0(typescript@5.3.3): - resolution: {integrity: sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -7586,54 +7733,54 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/visitor-keys': 6.16.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@6.16.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) + '@types/semver': 7.5.7 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/visitor-keys@6.16.0: - resolution: {integrity: sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.16.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@vitejs/plugin-react-swc@3.5.0(vite@4.5.2): - resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==} + /@vitejs/plugin-react-swc@3.6.0(vite@4.5.2): + resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==} peerDependencies: vite: ^4 || ^5 dependencies: - '@swc/core': 1.3.102 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + '@swc/core': 1.4.2 + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -7644,28 +7791,28 @@ packages: peerDependencies: vite: ^4.1.0-beta.0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-react@4.2.0(vite@4.5.2): - resolution: {integrity: sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==} + /@vitejs/plugin-react@4.2.1(vite@4.5.2): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - supports-color dev: true @@ -7680,8 +7827,8 @@ packages: istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - magic-string: 0.30.5 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 picocolors: 1.0.0 std-env: 3.7.0 test-exclude: 6.0.0 @@ -7696,26 +7843,26 @@ packages: dependencies: '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 - chai: 4.3.10 + chai: 4.4.1 /@vitest/runner@0.34.6: resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} dependencies: '@vitest/utils': 0.34.6 p-limit: 4.0.0 - pathe: 1.1.1 + pathe: 1.1.2 /@vitest/snapshot@0.34.6: resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} dependencies: - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.7 + pathe: 1.1.2 pretty-format: 29.7.0 /@vitest/spy@0.34.6: resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 /@vitest/utils@0.34.6: resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} @@ -7830,7 +7977,7 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@xstate/react@3.2.2(@types/react@18.2.45)(react@18.2.0)(xstate@4.38.3): + /@xstate/react@3.2.2(@types/react@18.2.57)(react@18.2.0)(xstate@4.38.3): resolution: {integrity: sha512-feghXWLedyq8JeL13yda3XnHPZKwYDN5HPBLykpLeuNpr9178tQd2/3d0NrH6gSd0sG5mLuLeuD+ck830fgzLQ==} peerDependencies: '@xstate/fsm': ^2.0.0 @@ -7843,7 +7990,7 @@ packages: optional: true dependencies: react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.57)(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) xstate: 4.38.3 transitivePeerDependencies: @@ -7857,6 +8004,32 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true + /@xyflow/react@12.0.0-next.9(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-WrW5H4HN/oHXORnUdy5tYs6tK96npLZAvcx8weza3tzkNiZO+gncjpwHxWq/wt5ABIAgSadCXRvfv8nAMTlrnQ==} + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@xyflow/system': 0.0.17 + classcat: 5.0.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + zustand: 4.5.1(@types/react@18.2.57)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - immer + + /@xyflow/system@0.0.17: + resolution: {integrity: sha512-3a7ulxW4xQvpFN9USjfbLi0whyltqDv6KxguIrOK2AOg6l1KMNimbV+WxiM0LdQAtJAW6ftthbhdSCPw66JPIw==} + dependencies: + '@types/d3': 7.4.3 + '@types/d3-drag': 3.0.7 + '@types/d3-selection': 3.0.10 + '@types/d3-zoom': 3.0.8 + d3-drag: 3.0.0 + d3-selection: 3.0.0 + d3-zoom: 3.0.0 + /@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.18.20): resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==} engines: {node: '>=14.15.0'} @@ -7905,7 +8078,7 @@ packages: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 dev: true /acorn-import-assertions@1.9.0(acorn@8.11.3): @@ -7936,8 +8109,8 @@ packages: engines: {node: '>=0.4.0'} dev: true - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} /acorn@7.4.1: @@ -7961,7 +8134,7 @@ packages: engines: {node: '>=8.9'} dependencies: loader-utils: 2.0.4 - regex-parser: 2.2.11 + regex-parser: 2.3.0 dev: true /agent-base@5.1.1: @@ -7977,15 +8150,6 @@ packages: transitivePeerDependencies: - supports-color - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -8127,11 +8291,12 @@ packages: dequal: 2.0.3 dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -8141,65 +8306,76 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 is-string: 1.0.7 /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.2 /array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.2 - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -8220,10 +8396,10 @@ packages: /assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 is-nan: 1.3.2 object-is: 1.1.5 - object.assign: 4.1.4 + object.assign: 4.1.5 util: 0.12.5 dev: true @@ -8279,25 +8455,27 @@ packages: when-exit: 2.1.2 dev: false - /autoprefixer@10.4.16(postcss@8.4.33): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.17(postcss@8.4.35): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001565 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001589 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} @@ -8312,15 +8490,15 @@ packages: engines: {node: '>=4'} dev: true - /axe-core@4.8.2: - resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==} + /axe-core@4.8.4: + resolution: {integrity: sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==} engines: {node: '>=4'} dev: true - /axios@1.6.2(debug@4.3.4): - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} + /axios@1.6.7(debug@4.3.4): + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: - follow-redirects: 1.15.3(debug@4.3.4) + follow-redirects: 1.15.5(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -8332,25 +8510,25 @@ packages: dequal: 2.0.3 dev: true - /babel-core@7.0.0-bridge.0(@babel/core@7.23.7): + /babel-core@7.0.0-bridge.0(@babel/core@7.23.9): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: true - /babel-jest@29.7.0(@babel/core@7.23.7): + /babel-jest@29.7.0(@babel/core@7.23.9): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.23.7) + babel-preset-jest: 29.6.3(@babel/core@7.23.9) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -8375,86 +8553,86 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.5 dev: true /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false - /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.7): - resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.7): - resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} + /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.7) - core-js-compat: 3.35.0 + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) + core-js-compat: 3.36.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.7): - resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) transitivePeerDependencies: - supports-color dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.9): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.23.7): + '@babel/core': 7.23.9 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.23.9): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.9) dev: true /balanced-match@1.0.2: @@ -8599,15 +8777,15 @@ packages: pako: 0.2.9 dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001565 - electron-to-chromium: 1.4.615 + caniuse-lite: 1.0.30001589 + electron-to-chromium: 1.4.680 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.13(browserslist@4.23.0) /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -8641,7 +8819,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.7.1 + node-gyp-build: 4.8.0 /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} @@ -8651,16 +8829,16 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: false - /bundle-require@4.0.2(esbuild@0.19.11): + /bundle-require@4.0.2(esbuild@0.19.12): resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' dependencies: - esbuild: 0.19.11 + esbuild: 0.19.12 load-tsconfig: 0.2.5 dev: true @@ -8707,12 +8885,15 @@ packages: engines: {node: '>=6'} dev: true - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -8746,8 +8927,8 @@ packages: engines: {node: '>=14.16'} dev: false - /caniuse-lite@1.0.30001565: - resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} + /caniuse-lite@1.0.30001589: + resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==} /cartesian@1.0.1: resolution: {integrity: sha512-tR3qKRYpRJ6FXEGuoBwpuCYcwydrk1N2rduy7eWg1Msepi3i5fCxheryw4VBlCqjCbk3Vhjh3eg+IGHtl5H74A==} @@ -8759,8 +8940,8 @@ packages: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 @@ -8817,8 +8998,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 @@ -8854,6 +9035,12 @@ packages: engines: {node: '>=8'} dev: false + /citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + dependencies: + consola: 3.2.3 + dev: true + /cjs-module-lexer@1.2.3: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true @@ -8863,6 +9050,9 @@ packages: dependencies: clsx: 2.0.0 + /classcat@5.0.4: + resolution: {integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==} + /clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} @@ -8955,14 +9145,13 @@ packages: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} - /cmdk@0.2.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} + /cmdk@0.2.1(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - command-score: 0.1.2 + '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -9004,10 +9193,6 @@ packages: dependencies: delayed-stream: 1.0.0 - /command-score@0.1.2: - resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} - dev: false - /commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -9086,7 +9271,7 @@ packages: dot-prop: 8.0.2 env-paths: 3.0.0 json-schema-typed: 8.0.1 - semver: 7.5.4 + semver: 7.6.0 uint8array-extras: 0.3.0 dev: false @@ -9108,6 +9293,11 @@ packages: xdg-basedir: 5.1.0 dev: false + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -9133,18 +9323,24 @@ packages: /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} + dev: false /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: true - /cookies-next@4.1.0: - resolution: {integrity: sha512-BREVc4TJT4NwXfyKjdjnYFXM6iRns+MYpCd34ClXuYqeisXnkPkbq7Ok9xaqi9mHmV6H2rwPE+p3EpMz4pF/kQ==} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: true + + /cookies-next@4.1.1: + resolution: {integrity: sha512-20QaN0iQSz87Os0BhNg9M71eM++gylT3N5szTlhq2rK6QvXn1FYGPB4eAgU4qFTunbQKhD35zfQ95ZWgzUy3Cg==} dependencies: - '@types/cookie': 0.4.1 - '@types/node': 16.18.65 - cookie: 0.4.2 + '@types/cookie': 0.6.0 + '@types/node': 16.18.83 + cookie: 0.6.0 dev: true /copy-anything@2.0.6: @@ -9152,13 +9348,20 @@ packages: dependencies: is-what: 3.14.1 - /core-js-compat@3.35.0: - resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} dependencies: - browserslist: 4.22.2 + is-what: 4.1.16 + dev: false + + /core-js-compat@3.36.0: + resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==} + dependencies: + browserslist: 4.23.0 - /core-js@3.35.0: - resolution: {integrity: sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==} + /core-js@3.36.0: + resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} requiresBuild: true dev: false @@ -9205,7 +9408,7 @@ packages: typescript: 5.3.3 dev: true - /create-jest@29.7.0(@types/node@20.10.6)(ts-node@10.9.2): + /create-jest@29.7.0(@types/node@20.11.20)(ts-node@10.9.2): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -9214,7 +9417,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -9269,21 +9472,27 @@ packages: type-fest: 1.4.0 dev: false - /css-loader@6.8.1(webpack@5.89.0): - resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + /css-loader@6.10.0(webpack@5.90.3): + resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} engines: {node: '>= 12.13.0'} peerDependencies: + '@rspack/core': 0.x || 1.x webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.33) - postcss-modules-scope: 3.0.0(postcss@8.4.33) - postcss-modules-values: 4.0.0(postcss@8.4.33) + icss-utils: 5.1.0(postcss@8.4.35) + postcss: 8.4.35 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) + postcss-modules-scope: 3.1.1(postcss@8.4.35) + postcss-modules-values: 4.0.0(postcss@8.4.35) postcss-value-parser: 4.2.0 - semver: 7.5.4 - webpack: 5.89.0(esbuild@0.18.20) + semver: 7.6.0 + webpack: 5.90.3(esbuild@0.18.20) dev: true /css.escape@1.5.1: @@ -9311,8 +9520,8 @@ packages: cssom: 0.3.8 dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -9336,8 +9545,8 @@ packages: stream-transform: 2.1.3 dev: false - /cypress@13.6.4: - resolution: {integrity: sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==} + /cypress@13.6.5: + resolution: {integrity: sha512-2NxSDcO2zHw5kTcosc6dzv2zppEqiXrFFhZw5cx/EWrSNZABTzpr/EyvYzGgrWm46o5173JUfuJfDQcaiZZPVQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true @@ -9379,38 +9588,108 @@ packages: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 yauzl: 2.10.0 dev: true - /cytoscape-dagre@2.5.0(cytoscape@3.28.0): + /cytoscape-dagre@2.5.0(cytoscape@3.28.1): resolution: {integrity: sha512-VG2Knemmshop4kh5fpLO27rYcyUaaDkRw+6PiX4bstpB+QFt0p2oauMrsjVbUamGWQ6YNavh7x2em2uZlzV44g==} peerDependencies: cytoscape: ^3.2.22 dependencies: - cytoscape: 3.28.0 + cytoscape: 3.28.1 dagre: 0.8.5 dev: false - /cytoscape-popper@2.0.0(cytoscape@3.28.0): + /cytoscape-popper@2.0.0(cytoscape@3.28.1): resolution: {integrity: sha512-b7WSOn8qXHWtdIXFNmrgc8qkaOs16tMY0EwtRXlxzvn8X+al6TAFrUwZoYATkYSlotfd/36ZMoeKMEoUck6feA==} peerDependencies: cytoscape: ^3.2.0 dependencies: '@popperjs/core': 2.11.8 - cytoscape: 3.28.0 + cytoscape: 3.28.1 dev: false - /cytoscape@3.28.0: - resolution: {integrity: sha512-x7+BHQXN90Audv5xXvdOECmiKuZdeKeoqOmDuYoht4zDKSdObC0Z9AdJXFkXEQvXU8UndI6WnTz47TRI7duReg==} + /cytoscape@3.28.1: + resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} engines: {node: '>=0.10'} dependencies: heap: 0.2.7 lodash: 4.17.21 + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + /d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + /d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + /d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + /d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + dev: false + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + + /d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + dev: false + + /d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + /d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + /d3-transition@3.0.1(d3-selection@3.0.0): + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + /d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + /dagre@0.8.5: resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} dependencies: @@ -9442,7 +9721,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dev: true /dateformat@4.6.3: @@ -9510,6 +9789,11 @@ packages: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true + /decode-uri-component@0.4.1: + resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} + engines: {node: '>=14.16'} + dev: false + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -9536,24 +9820,24 @@ packages: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /deep-extend@0.6.0: @@ -9587,13 +9871,13 @@ packages: engines: {node: '>=10'} dev: false - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.1 /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -9604,12 +9888,12 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 - /defu@6.1.3: - resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} dev: true /del@6.1.1: @@ -9716,11 +10000,15 @@ packages: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dev: true + /dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dev: true + /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.23.7 - csstype: 3.1.2 + '@babel/runtime': 7.23.9 + csstype: 3.1.3 dev: false /dom-walk@0.1.2: @@ -9754,8 +10042,8 @@ packages: engines: {node: '>=12'} dev: true - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} dev: true @@ -9769,7 +10057,7 @@ packages: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 - stream-shift: 1.0.1 + stream-shift: 1.0.3 dev: true /eastasianwidth@0.2.0: @@ -9794,8 +10082,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.615: - resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} + /electron-to-chromium@1.4.680: + resolution: {integrity: sha512-4nToZ5jlPO14W82NkF32wyjhYqQByVaDmLy4J2/tYcAbJfgO2TKJC780Az1V13gzq4l73CJ0yuyalpXvxXXD9A==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -9832,7 +10120,7 @@ packages: dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.2.1 + engine.io-parser: 5.2.2 ws: 8.11.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) xmlhttprequest-ssl: 2.0.0 transitivePeerDependencies: @@ -9841,8 +10129,8 @@ packages: - utf-8-validate dev: false - /engine.io-parser@5.2.1: - resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} + /engine.io-parser@5.2.2: + resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} engines: {node: '>=10.0.0'} dev: false @@ -9852,13 +10140,13 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.10.6 + '@types/node': 20.11.20 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.2.1 + engine.io-parser: 5.2.2 ws: 8.11.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) transitivePeerDependencies: - bufferutil @@ -9895,8 +10183,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /envinfo@7.11.0: - resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} + /envinfo@7.11.1: + resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==} engines: {node: '>=4'} hasBin: true dev: true @@ -9914,55 +10202,70 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.4: + resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.5 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 + + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -9972,23 +10275,25 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + /es-iterator-helpers@1.0.17: + resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} + engines: {node: '>= 0.4'} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 globalthis: 1.0.3 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.0 dev: true /es-module-lexer@0.9.3: @@ -9999,18 +10304,18 @@ packages: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -10064,39 +10369,39 @@ packages: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - /esbuild@0.19.11: - resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.19.11 - '@esbuild/android-arm': 0.19.11 - '@esbuild/android-arm64': 0.19.11 - '@esbuild/android-x64': 0.19.11 - '@esbuild/darwin-arm64': 0.19.11 - '@esbuild/darwin-x64': 0.19.11 - '@esbuild/freebsd-arm64': 0.19.11 - '@esbuild/freebsd-x64': 0.19.11 - '@esbuild/linux-arm': 0.19.11 - '@esbuild/linux-arm64': 0.19.11 - '@esbuild/linux-ia32': 0.19.11 - '@esbuild/linux-loong64': 0.19.11 - '@esbuild/linux-mips64el': 0.19.11 - '@esbuild/linux-ppc64': 0.19.11 - '@esbuild/linux-riscv64': 0.19.11 - '@esbuild/linux-s390x': 0.19.11 - '@esbuild/linux-x64': 0.19.11 - '@esbuild/netbsd-x64': 0.19.11 - '@esbuild/openbsd-x64': 0.19.11 - '@esbuild/sunos-x64': 0.19.11 - '@esbuild/win32-arm64': 0.19.11 - '@esbuild/win32-ia32': 0.19.11 - '@esbuild/win32-x64': 0.19.11 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} /escape-goat@4.0.0: @@ -10147,8 +10452,8 @@ packages: eslint: 8.56.0 dev: false - /eslint-config-next@14.0.4(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==} + /eslint-config-next@14.1.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -10156,13 +10461,13 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 14.0.4 - '@rushstack/eslint-patch': 1.6.0 - '@typescript-eslint/parser': 6.16.0(eslint@8.56.0)(typescript@5.3.3) + '@next/eslint-plugin-next': 14.1.0 + '@rushstack/eslint-patch': 1.7.2 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) eslint-plugin-react: 7.33.2(eslint@8.56.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) @@ -10181,7 +10486,7 @@ packages: transitivePeerDependencies: - supports-color - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10191,8 +10496,8 @@ packages: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -10203,7 +10508,7 @@ packages: - eslint-import-resolver-webpack - supports-color - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10224,11 +10529,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.16.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) transitivePeerDependencies: - supports-color @@ -10244,8 +10549,8 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.56.0) dev: false - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10254,25 +10559,25 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.16.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 - tsconfig-paths: 3.14.2 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -10284,7 +10589,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 aria-query: 5.3.0 array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -10293,9 +10598,9 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.17 eslint: 8.56.0 - hasown: 2.0.0 + hasown: 2.0.1 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 @@ -10315,12 +10620,12 @@ packages: eslint-plugin-es-x: 7.5.0(eslint@8.56.0) get-tsconfig: 4.7.2 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 is-builtin-module: 3.2.1 is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.8 - semver: 7.5.4 + semver: 7.6.0 dev: false /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): @@ -10340,9 +10645,9 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.17 eslint: 8.56.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -10368,7 +10673,7 @@ packages: '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 - core-js-compat: 3.35.0 + core-js-compat: 3.36.0 eslint: 8.56.0 esquery: 1.5.0 indent-string: 4.0.0 @@ -10378,23 +10683,23 @@ packages: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.16.0)(eslint@8.56.0): - resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0): + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.0.0 - eslint: ^8.0.0 + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 eslint-rule-composer: 0.3.0 dev: false @@ -10432,7 +10737,7 @@ packages: '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -10453,7 +10758,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -10722,8 +11027,8 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 @@ -10774,6 +11079,11 @@ packages: dependencies: to-regex-range: 5.0.1 + /filter-obj@5.1.0: + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} + dev: false + /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -10851,20 +11161,20 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /flow-parser@0.222.0: - resolution: {integrity: sha512-Fq5OkFlFRSMV2EOZW+4qUYMTE0uj8pcLsYJMxXYriSBDpHAF7Ofx3PibCTy3cs5P6vbsry7eYj7Z7xFD49GIOQ==} + /flow-parser@0.229.0: + resolution: {integrity: sha512-mOYmMuvJwAo/CvnMFEq4SHftq7E5188hYMTTxJyQOXk2nh+sgslRdYMw3wTthH+FMcFaZLtmBPuMu6IwztdoUQ==} engines: {node: '>=0.4.0'} dev: true - /follow-redirects@1.15.3(debug@4.3.4): - resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + /follow-redirects@1.15.5(debug@4.3.4): + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -10922,6 +11232,24 @@ packages: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true + /framer-motion@11.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Lb0EYbQcSK/pgyQUJm+KzsQrKrJRX9sFRyzl9hSr9gFG4Mk8yP7BjhuxvRXzblOM/+JxycrJdCDVmOQBsjpYlw==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.6.2 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 + dev: false + /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -11011,9 +11339,9 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 functions-have-names: 1.2.3 /functions-have-names@1.2.3: @@ -11030,13 +11358,15 @@ packages: /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.1 /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} @@ -11076,12 +11406,13 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} @@ -11100,19 +11431,18 @@ packages: assert-plus: 1.0.0 dev: true - /giget@1.1.3: - resolution: {integrity: sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==} + /giget@1.2.1: + resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true dependencies: - colorette: 2.0.20 - defu: 6.1.3 - https-proxy-agent: 7.0.2 - mri: 1.2.0 - node-fetch-native: 1.4.1 - pathe: 1.1.1 + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.2 + nypm: 0.3.6 + ohash: 1.1.3 + pathe: 1.1.2 tar: 6.2.0 - transitivePeerDependencies: - - supports-color dev: true /github-slugger@1.5.0: @@ -11156,28 +11486,6 @@ packages: path-scurry: 1.10.1 dev: true - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -11235,7 +11543,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -11245,7 +11553,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 dev: false @@ -11257,7 +11565,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 /got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -11344,27 +11652,27 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -11461,16 +11769,6 @@ packages: transitivePeerDependencies: - supports-color - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: false @@ -11507,20 +11805,20 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.33): + /icss-utils@5.1.0(postcss@8.4.35): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.35 dev: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} /image-size@0.5.5: @@ -11583,25 +11881,25 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.1 + side-channel: 1.0.5 /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 - /ip@1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} + /ip@1.1.9: + resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==} dev: false - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + /ip@2.0.1: + resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} dev: true /ipaddr.js@1.9.1: @@ -11618,16 +11916,16 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -11636,7 +11934,7 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: @@ -11654,8 +11952,8 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 /is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} @@ -11678,13 +11976,13 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-deflate@1.0.0: resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} @@ -11703,7 +12001,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: true /is-fullwidth-code-point@3.0.0: @@ -11723,7 +12021,7 @@ packages: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: @@ -11768,12 +12066,12 @@ packages: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} /is-npm@6.0.0: @@ -11785,7 +12083,7 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -11836,17 +12134,18 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} @@ -11861,7 +12160,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} @@ -11876,11 +12175,11 @@ packages: dependencies: has-symbols: 1.0.3 - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -11902,18 +12201,23 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: false + /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -11958,8 +12262,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -11967,15 +12271,15 @@ packages: - supports-color dev: true - /istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + /istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true @@ -11998,8 +12302,8 @@ packages: transitivePeerDependencies: - supports-color - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -12009,10 +12313,10 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 - set-function-name: 2.0.1 + reflect.getprototypeof: 1.0.5 + set-function-name: 2.0.2 dev: true /jackspeak@2.3.6: @@ -12052,7 +12356,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -12073,7 +12377,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.10.6)(ts-node@10.9.2): + /jest-cli@29.7.0(@types/node@20.11.20)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -12087,10 +12391,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -12101,7 +12405,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.10.6)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@20.11.20)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -12113,11 +12417,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 - babel-jest: 29.7.0(@babel/core@7.23.7) + '@types/node': 20.11.20 + babel-jest: 29.7.0(@babel/core@7.23.9) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -12136,7 +12440,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.10.6)(typescript@5.3.3) + ts-node: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -12182,7 +12486,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3(bufferutil@4.0.8)(utf-8-validate@6.0.3) @@ -12199,7 +12503,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -12214,7 +12518,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.10.6 + '@types/node': 20.11.20 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -12265,7 +12569,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.10.6 + '@types/node': 20.11.20 dev: true /jest-mock@29.7.0: @@ -12273,7 +12577,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-util: 29.7.0 dev: true @@ -12328,7 +12632,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -12359,7 +12663,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -12382,15 +12686,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/generator': 7.23.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/types': 7.23.9 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.9) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -12401,7 +12705,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true @@ -12411,7 +12715,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -12436,7 +12740,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.20 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -12448,7 +12752,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -12457,13 +12761,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.10.6)(ts-node@10.9.2): + /jest@29.7.0(@types/node@20.11.20)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -12476,7 +12780,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@20.11.20)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -12488,15 +12792,31 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true - /joi@17.11.0: - resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} + /joi@17.12.2: + resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.4 + '@sideway/address': 4.1.5 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 + /jotai@2.6.5(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-T+yvY42GXKomvJYqs+NeTH0da9Z1tQ3Qk3zppPHIWnvmOBKpN6Qd4j8h/oo9dwxs3w/Z5r6Kk0I8h6z5orQ/HQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + dependencies: + '@types/react': 18.2.57 + react: 18.2.0 + dev: false + /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -12521,8 +12841,8 @@ packages: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true - /jscodeshift@0.15.1(@babel/preset-env@7.23.6): - resolution: {integrity: sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==} + /jscodeshift@0.15.2(@babel/preset-env@7.23.9): + resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 @@ -12530,20 +12850,20 @@ packages: '@babel/preset-env': optional: true dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) - '@babel/preset-env': 7.23.6(@babel/core@7.23.7) - '@babel/preset-flow': 7.23.3(@babel/core@7.23.7) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/register': 7.22.15(@babel/core@7.23.7) - babel-core: 7.0.0-bridge.0(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) + '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/preset-flow': 7.23.3(@babel/core@7.23.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/register': 7.23.7(@babel/core@7.23.9) + babel-core: 7.0.0-bridge.0(@babel/core@7.23.9) chalk: 4.1.2 - flow-parser: 0.222.0 + flow-parser: 0.229.0 graceful-fs: 4.2.11 micromatch: 4.0.5 neo-async: 2.6.2 @@ -12588,7 +12908,7 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -12653,8 +12973,8 @@ packages: engines: {node: '>=6'} hasBin: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -12685,7 +13005,7 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 + object.assign: 4.1.5 object.values: 1.1.7 dev: true @@ -12735,19 +13055,19 @@ packages: engines: {node: '>=14.0.0'} dependencies: app-root-dir: 1.0.2 - dotenv: 16.3.1 + dotenv: 16.4.5 dotenv-expand: 10.0.0 dev: true - /less-loader@11.1.3(less@4.2.0)(webpack@5.89.0): - resolution: {integrity: sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw==} + /less-loader@11.1.4(less@4.2.0)(webpack@5.90.3): + resolution: {integrity: sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==} engines: {node: '>= 14.15.0'} peerDependencies: less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 dependencies: less: 4.2.0 - webpack: 5.89.0(esbuild@0.18.20) + webpack: 5.90.3(esbuild@0.18.20) dev: true /less@4.2.0: @@ -12790,8 +13110,8 @@ packages: engines: {node: '>=10'} dev: true - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} dev: true @@ -12819,7 +13139,7 @@ packages: enquirer: 2.4.1 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 + rfdc: 1.3.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -12871,7 +13191,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.4.2 + mlly: 1.6.0 pkg-types: 1.0.3 dev: false @@ -12983,8 +13303,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: true @@ -13016,7 +13336,6 @@ packages: /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - dev: true /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} @@ -13024,8 +13343,8 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -13048,7 +13367,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.0 /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -13076,8 +13395,8 @@ packages: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} dev: true - /markdown-to-jsx@7.3.2(react@18.2.0): - resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==} + /markdown-to-jsx@7.4.1(react@18.2.0): + resolution: {integrity: sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -13256,6 +13575,10 @@ packages: yallist: 4.0.0 dev: true + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: false + /mixme@0.5.10: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} @@ -13277,23 +13600,18 @@ packages: hasBin: true dev: true - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + /mlly@1.6.0: + resolution: {integrity: sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==} dependencies: acorn: 8.11.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 /mock-fs@5.2.0: resolution: {integrity: sha512-2dF2R6YMSZbpip1V1WHKGLNjr/k48uQClqMVb5H3MOvwc9qhYis3/IWbj02qIg/Y8MDXKFF4c5v0rxx2o6xTZw==} engines: {node: '>=12.0.0'} - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: true - /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} @@ -13322,8 +13640,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@5.0.5: - resolution: {integrity: sha512-/Veqm+QKsyMY3kqi4faWplnY1u+VuKO3dD2binyPIybP31DRO29bPF+1mszgLnrR2KqSLceFLBNw0zmvDzN1QQ==} + /nanoid@5.0.6: + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} engines: {node: ^18 || >=20} hasBin: true dev: false @@ -13356,11 +13674,11 @@ packages: react: '*' react-dom: '*' dependencies: - next: 14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + next: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /next@14.0.4(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0): + /next@14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} engines: {node: '>=18.17.0'} hasBin: true @@ -13378,12 +13696,12 @@ packages: '@next/env': 14.0.4 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001565 + caniuse-lite: 1.0.30001589 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.7)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0) watchpack: 2.4.0 optionalDependencies: '@next/swc-darwin-arm64': 14.0.4 @@ -13409,8 +13727,8 @@ packages: minimatch: 3.1.2 dev: true - /node-fetch-native@1.4.1: - resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} + /node-fetch-native@1.6.2: + resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} dev: true /node-fetch@2.7.0: @@ -13424,8 +13742,8 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-gyp-build@4.7.1: - resolution: {integrity: sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==} + /node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true /node-int64@0.4.0: @@ -13485,10 +13803,30 @@ packages: dependencies: path-key: 4.0.0 + /nuqs@1.17.0(next@14.0.4): + resolution: {integrity: sha512-Lp2qLETMb7AAYhDtRtx20oAZNkYYTPApZcaX7Q5nQz7bfy893TCIe92IYVIfl9ZUqQLTsl9855KGEsA57dylPQ==} + peerDependencies: + next: '>=13.4 <14.0.2 || ^14.0.3' + dependencies: + mitt: 3.0.1 + next: 14.0.4(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) + dev: false + /nwsapi@2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: true + /nypm@0.3.6: + resolution: {integrity: sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + dependencies: + citty: 0.1.6 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.4.0 + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -13505,7 +13843,7 @@ packages: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 dev: true @@ -13513,11 +13851,11 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -13526,41 +13864,46 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} dependencies: - call-bind: 1.0.5 + array.prototype.filter: 1.0.3 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 /object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + + /ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + dev: true /on-exit-leak-free@2.1.2: resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} @@ -13752,7 +14095,7 @@ packages: got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.5.4 + semver: 7.6.0 dev: false /pako@0.2.9: @@ -13837,7 +14180,7 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 minipass: 7.0.4 dev: true @@ -13855,8 +14198,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} @@ -13911,11 +14254,11 @@ packages: /pino-abstract-transport@1.1.0: resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} dependencies: - readable-stream: 4.4.2 + readable-stream: 4.5.2 split2: 4.2.0 - /pino-pretty@10.3.0: - resolution: {integrity: sha512-JthvQW289q3454mhM3/38wFYGWPiBMR28T3CpDNABzoTQOje9UKS7XCJQSnjWF9LQGQkGd8D7h0oq+qwiM3jFA==} + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} hasBin: true dependencies: colorette: 2.0.20 @@ -13928,16 +14271,16 @@ packages: on-exit-leak-free: 2.1.2 pino-abstract-transport: 1.1.0 pump: 3.0.0 - readable-stream: 4.4.2 + readable-stream: 4.5.2 secure-json-parse: 2.7.0 - sonic-boom: 3.7.0 + sonic-boom: 3.8.0 strip-json-comments: 3.1.1 /pino-std-serializers@6.2.2: resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - /pino@8.17.1: - resolution: {integrity: sha512-YoN7/NJgnsJ+fkADZqjhRt96iepWBndQHeClmSBH0sQWCb8zGD74t00SK4eOtKFi/f8TUmQnfmgglEhd2kI1RQ==} + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} hasBin: true dependencies: atomic-sleep: 1.0.0 @@ -13945,11 +14288,11 @@ packages: on-exit-leak-free: 2.1.2 pino-abstract-transport: 1.1.0 pino-std-serializers: 6.2.2 - process-warning: 2.3.1 + process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 - sonic-boom: 3.7.0 + sonic-boom: 3.8.0 thread-stream: 2.4.1 /pirates@4.0.6: @@ -13980,22 +14323,22 @@ packages: /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + jsonc-parser: 3.2.1 + mlly: 1.6.0 + pathe: 1.1.2 - /playwright-core@1.40.1: - resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==} + /playwright-core@1.41.2: + resolution: {integrity: sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==} engines: {node: '>=16'} hasBin: true dev: true - /playwright@1.40.1: - resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==} + /playwright@1.41.2: + resolution: {integrity: sha512-v0bOa6H2GJChDL8pAeLa/LZC4feoAMbSQm1/jF/ySsWWoaNItvrMP7GEkvEEFyCTUYKMxjQKaTSg5up7nR6/8A==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.40.1 + playwright-core: 1.41.2 optionalDependencies: fsevents: 2.3.2 dev: true @@ -14005,36 +14348,40 @@ packages: engines: {node: '>=4'} dev: false - /polished@4.2.2: - resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} + /polished@4.3.1: + resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dev: true - /postcss-import@15.1.0(postcss@8.4.33): + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: true - /postcss-js@4.0.1(postcss@8.4.33): + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.33 + postcss: 8.4.35 dev: true - /postcss-load-config@4.0.2(postcss@8.4.33)(ts-node@10.9.2): + /postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -14046,14 +14393,14 @@ packages: ts-node: optional: true dependencies: - lilconfig: 3.0.0 - postcss: 8.4.33 - ts-node: 10.9.2(@types/node@20.10.6)(typescript@5.3.3) + lilconfig: 3.1.1 + postcss: 8.4.35 + ts-node: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) yaml: 2.3.4 dev: true - /postcss-loader@7.3.3(postcss@8.4.33)(typescript@5.3.3)(webpack@5.89.0): - resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} + /postcss-loader@7.3.4(postcss@8.4.35)(typescript@5.3.3)(webpack@5.90.3): + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 @@ -14061,62 +14408,62 @@ packages: dependencies: cosmiconfig: 8.3.6(typescript@5.3.3) jiti: 1.21.0 - postcss: 8.4.33 - semver: 7.5.4 - webpack: 5.89.0(esbuild@0.18.20) + postcss: 8.4.35 + semver: 7.6.0 + webpack: 5.90.3(esbuild@0.18.20) transitivePeerDependencies: - typescript dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.35 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.33): - resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + /postcss-modules-local-by-default@4.0.4(postcss@8.4.35): + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-selector-parser: 6.0.13 + icss-utils: 5.1.0(postcss@8.4.35) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.33): - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + /postcss-modules-scope@3.1.1(postcss@8.4.35): + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.13 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.33): + /postcss-modules-values@4.0.0(postcss@8.4.35): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 + icss-utils: 5.1.0(postcss@8.4.35) + postcss: 8.4.35 dev: true - /postcss-nested@6.0.1(postcss@8.4.33): + /postcss-nested@6.0.1(postcss@8.4.35): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.13 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true /postcss-selector-parser@6.0.10: @@ -14127,8 +14474,8 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -14147,16 +14494,16 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + /preferred-pm@3.1.3: + resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 @@ -14169,7 +14516,7 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prettier-plugin-tailwindcss@0.5.11(prettier@3.1.1): + /prettier-plugin-tailwindcss@0.5.11(prettier@3.2.5): resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==} engines: {node: '>=14.21.3'} peerDependencies: @@ -14218,15 +14565,15 @@ packages: prettier-plugin-twig-melody: optional: true dependencies: - prettier: 3.1.1 + prettier: 3.2.5 /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true - /prettier@3.1.1: - resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true @@ -14261,8 +14608,8 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /process-warning@2.3.1: - resolution: {integrity: sha512-JjBvFEn7MwFbzUDa2SRtKJSsyO0LlER4V/FmwLMhBlXNbGgGxdyFCxIdMDLerWUycsVUyaoM9QFLvppFy4IWaQ==} + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} @@ -14386,21 +14733,30 @@ packages: resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /qs@6.11.2: resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.5 + + /query-string@8.2.0: + resolution: {integrity: sha512-tUZIw8J0CawM5wyGBiDOAp7ObdRQh4uBor/fUR9ZjmbZVvw95OD9If4w3MQxr99rg0DJZ/9CIORcpEqU5hQG7g==} + engines: {node: '>=14.16'} + dependencies: + decode-uri-component: 0.4.1 + filter-obj: 5.1.0 + split-on-first: 3.0.0 + dev: false /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -14474,15 +14830,15 @@ packages: typescript: 5.3.3 dev: true - /react-docgen@7.0.1: - resolution: {integrity: sha512-rCz0HBIT0LWbIM+///LfRrJoTKftIzzwsYDf0ns5KwaEjejMHQRtphcns+IXFHDNY9pnz6G8l/JbbI6pD4EAIA==} + /react-docgen@7.0.3: + resolution: {integrity: sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/core': 7.23.7 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/core': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.5 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 @@ -14536,13 +14892,24 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-minimal-pie-chart@8.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A0wG+6mRjboyMxMDrzQNWp+2+GSn2ai4ERzRFHLp/OCC45PwIR1DpDVjwedawO+5AtFpzBRQKSFm3ZUxrqIEzA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18 + react-dom: ^16.8.0 || ^17.0.0 || ^18 + dependencies: + '@types/svg-path-parser': 1.1.6 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + /react-remove-scroll-bar@2.3.5(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -14551,12 +14918,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.57)(react@18.2.0) tslib: 2.6.2 - /react-remove-scroll@2.5.4(@types/react@18.2.45)(react@18.2.0): + /react-remove-scroll@2.5.4(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} engines: {node: '>=10'} peerDependencies: @@ -14566,16 +14933,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.45)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(@types/react@18.2.57)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.57)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.45)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.57)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.57)(react@18.2.0) dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.45)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -14585,13 +14952,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.45)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(@types/react@18.2.57)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.57)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.45)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.57)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.57)(react@18.2.0) /react-resizable-panels@0.0.54(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-f8hHdQrqvXoiZGdRNuoOi/C2cdYT2nEpaOb1KIWVWorSTPZmnE+ZQiamGeu+AMx3iZ/tqBtlAkBOpKXzTnDCoA==} @@ -14603,28 +14970,28 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-select@5.8.0(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /react-select@5.8.0(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-TfjLDo58XrhP6VG5M/Mi56Us0Yt8X7xD6cDybC7yoRMUNm7BGO7qk8J0TLQOua/prb8vUOtsfnXZwfm30HGsAA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 '@emotion/cache': 11.11.0 - '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) - '@floating-ui/dom': 1.5.3 - '@types/react-transition-group': 4.4.9 + '@emotion/react': 11.11.3(@types/react@18.2.57)(react@18.2.0) + '@floating-ui/dom': 1.6.3 + '@types/react-transition-group': 4.4.10 memoize-one: 6.0.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.45)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.57)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /react-style-singleton@2.2.1(@types/react@18.2.45)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -14634,7 +15001,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -14646,7 +15013,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -14721,8 +15088,8 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 @@ -14759,14 +15126,15 @@ packages: indent-string: 4.0.0 strip-indent: 3.0.0 - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + /reflect.getprototypeof@1.0.5: + resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -14792,11 +15160,11 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.23.9 dev: true - /regex-parser@2.2.11: - resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} + /regex-parser@2.3.0: + resolution: {integrity: sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==} dev: true /regexp-tree@0.1.27: @@ -14804,13 +15172,14 @@ packages: hasBin: true dev: false - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} @@ -14926,7 +15295,7 @@ packages: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.4.33 + postcss: 8.4.35 source-map: 0.6.1 dev: true @@ -14979,8 +15348,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true /rimraf@2.6.3: @@ -15025,24 +15394,26 @@ packages: optionalDependencies: fsevents: 2.3.3 - /rollup@4.9.2: - resolution: {integrity: sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==} + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.2 - '@rollup/rollup-android-arm64': 4.9.2 - '@rollup/rollup-darwin-arm64': 4.9.2 - '@rollup/rollup-darwin-x64': 4.9.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.2 - '@rollup/rollup-linux-arm64-gnu': 4.9.2 - '@rollup/rollup-linux-arm64-musl': 4.9.2 - '@rollup/rollup-linux-riscv64-gnu': 4.9.2 - '@rollup/rollup-linux-x64-gnu': 4.9.2 - '@rollup/rollup-linux-x64-musl': 4.9.2 - '@rollup/rollup-win32-arm64-msvc': 4.9.2 - '@rollup/rollup-win32-ia32-msvc': 4.9.2 - '@rollup/rollup-win32-x64-msvc': 4.9.2 + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 fsevents: 2.3.3 dev: true @@ -15056,12 +15427,12 @@ packages: dependencies: tslib: 2.6.2 - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 @@ -15072,11 +15443,12 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 /safe-stable-stringify@2.4.3: @@ -15086,8 +15458,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@13.3.2(webpack@5.89.0): - resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} + /sass-loader@13.3.3(webpack@5.90.3): + resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} engines: {node: '>= 14.15.0'} peerDependencies: fibers: '>= 3.1.0' @@ -15106,7 +15478,7 @@ packages: optional: true dependencies: neo-async: 2.6.2 - webpack: 5.89.0(esbuild@0.18.20) + webpack: 5.90.3(esbuild@0.18.20) dev: true /sax@1.3.0: @@ -15142,7 +15514,7 @@ packages: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: false /semver@5.7.2: @@ -15153,8 +15525,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -15181,8 +15553,8 @@ packages: - supports-color dev: true - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -15207,22 +15579,25 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -15258,11 +15633,13 @@ packages: /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 object-inspect: 1.13.1 /siginfo@2.0.0: @@ -15275,18 +15652,11 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - /simple-update-notifier@2.0.0: - resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} - engines: {node: '>=10'} - dependencies: - semver: 7.5.4 - dev: true - /sirv@1.0.19: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.23 + '@polka/url': 1.0.0-next.24 mrmime: 1.0.1 totalist: 1.1.0 dev: true @@ -15334,17 +15704,19 @@ packages: yargs: 15.4.1 dev: false - /socket.io-adapter@2.5.2(bufferutil@4.0.8)(utf-8-validate@6.0.3): - resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} + /socket.io-adapter@2.5.4(bufferutil@4.0.8)(utf-8-validate@6.0.3): + resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==} dependencies: + debug: 4.3.4(supports-color@8.1.1) ws: 8.11.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) transitivePeerDependencies: - bufferutil + - supports-color - utf-8-validate dev: false - /socket.io-client@4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.3): - resolution: {integrity: sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==} + /socket.io-client@4.7.4(bufferutil@4.0.8)(utf-8-validate@6.0.3): + resolution: {integrity: sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -15367,8 +15739,8 @@ packages: - supports-color dev: false - /socket.io@4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.3): - resolution: {integrity: sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==} + /socket.io@4.7.4(bufferutil@4.0.8)(utf-8-validate@6.0.3): + resolution: {integrity: sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==} engines: {node: '>=10.2.0'} dependencies: accepts: 1.3.8 @@ -15376,7 +15748,7 @@ packages: cors: 2.8.5 debug: 4.3.4(supports-color@8.1.1) engine.io: 6.5.4(bufferutil@4.0.8)(utf-8-validate@6.0.3) - socket.io-adapter: 2.5.2(bufferutil@4.0.8)(utf-8-validate@6.0.3) + socket.io-adapter: 2.5.4(bufferutil@4.0.8)(utf-8-validate@6.0.3) socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -15384,13 +15756,13 @@ packages: - utf-8-validate dev: false - /sonic-boom@3.7.0: - resolution: {integrity: sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==} + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} dependencies: atomic-sleep: 1.0.0 - /sonner@1.3.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+rOAO56b2eI3q5BtgljERSn2umRk63KFIvgb2ohbZ5X+Eb5u+a/7/0ZgswYqgBMg8dyl7n6OXd9KasA8QF9ToA==} + /sonner@1.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nvkTsIuOmi9e5Wz5If8ldasJjZNVfwiXYijBi2dbijvTQnQppvMcXTFNxL/NUFWlI2yJ1JX7TREDsg+gYm9WyA==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -15448,19 +15820,24 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.17 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /split-on-first@3.0.0: + resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==} + engines: {node: '>=12'} + dev: false /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} @@ -15544,13 +15921,13 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.6 + internal-slot: 1.0.7 dev: true - /store2@2.14.2: - resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} + /store2@2.14.3: + resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} - /storybook-addon-variants@0.2.0(@storybook/addons@7.6.0)(@storybook/api@6.5.16)(@storybook/components@6.5.16)(@storybook/core-events@6.5.16)(@storybook/theming@6.5.16)(react-dom@18.2.0)(react@18.2.0): + /storybook-addon-variants@0.2.0(@storybook/addons@7.6.17)(@storybook/api@6.5.16)(@storybook/components@6.5.16)(@storybook/core-events@6.5.16)(@storybook/theming@6.5.16)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-4woVtd+XsHNHN7XDjFFNns1sVYotjYOh5/FP8AR+CzUK9Eb9WPvQ0re5z5rZztndND0NqhhJ5F65Iy4jrz6OzQ==} peerDependencies: '@storybook/addons': ^6.5.8 @@ -15566,7 +15943,7 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 7.6.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/addons': 7.6.17(react-dom@18.2.0)(react@18.2.0) '@storybook/api': 6.5.16(react-dom@18.2.0)(react@18.2.0) '@storybook/components': 6.5.16(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': 6.5.16 @@ -15576,7 +15953,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /storybook-dark-mode@3.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + /storybook-dark-mode@3.0.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ZLBLVpkuKTdtUv3DTuOjeP/bE7DHhOxVpDROKc0NtEYq9JHLUu6z05LLZinE3v6QPXQZ9TMQPm3Xe/0BcLEZlw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -15587,12 +15964,12 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 7.6.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.6.7 + '@storybook/addons': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.6.17(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.6.17 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.6.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.6.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.6.17(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.6.17(react-dom@18.2.0)(react@18.2.0) fast-deep-equal: 3.1.3 memoizerific: 1.11.3 react: 18.2.0 @@ -15602,11 +15979,11 @@ packages: - '@types/react-dom' dev: true - /storybook@7.6.7: - resolution: {integrity: sha512-1Cd895dqYIT5MOUOCDlD73OTWoJubLq/sWC7AMzkMrLu76yD4Cu6f+wv1HDrRAheRaCaeT3yhYEhsMB6qHIcaA==} + /storybook@7.6.17: + resolution: {integrity: sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==} hasBin: true dependencies: - '@storybook/cli': 7.6.7 + '@storybook/cli': 7.6.17 transitivePeerDependencies: - bufferutil - encoding @@ -15620,8 +15997,8 @@ packages: duplexer: 0.1.2 dev: true - /stream-shift@1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + /stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} dev: true /stream-transform@2.1.3: @@ -15670,46 +16047,46 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.5 dev: true /string.prototype.padend@3.1.5: resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 /string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -15783,16 +16160,16 @@ packages: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} dev: false - /style-loader@3.3.3(webpack@5.89.0): - resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} + /style-loader@3.3.4(webpack@5.90.3): + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.89.0(esbuild@0.18.20) + webpack: 5.90.3(esbuild@0.18.20) dev: true - /styled-jsx@5.1.1(@babel/core@7.23.7)(react@18.2.0): + /styled-jsx@5.1.1(@babel/core@7.23.9)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -15805,7 +16182,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 client-only: 0.0.1 react: 18.2.0 @@ -15813,20 +16190,27 @@ packages: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} dev: false - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: '@jridgewell/gen-mapping': 0.3.3 commander: 4.1.1 - glob: 7.1.6 + glob: 10.3.10 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 dev: true + /superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + dependencies: + copy-anything: 3.0.5 + dev: false + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -15864,22 +16248,22 @@ packages: resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} dev: false - /tailwindcss-animate@1.0.7(tailwindcss@3.4.0): + /tailwindcss-animate@1.0.7(tailwindcss@3.4.1): resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' dependencies: - tailwindcss: 3.4.0(ts-node@10.9.2) + tailwindcss: 3.4.1(ts-node@10.9.2) dev: true - /tailwindcss@3.4.0(ts-node@10.9.2): - resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + /tailwindcss@3.4.1(ts-node@10.9.2): + resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -15891,14 +16275,14 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.33 - postcss-import: 15.1.0(postcss@8.4.33) - postcss-js: 4.0.1(postcss@8.4.33) - postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.2) - postcss-nested: 6.0.1(postcss@8.4.33) - postcss-selector-parser: 6.0.13 + postcss: 8.4.35 + postcss-import: 15.1.0(postcss@8.4.35) + postcss-js: 4.0.1(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) + postcss-nested: 6.0.1(postcss@8.4.35) + postcss-selector-parser: 6.0.15 resolve: 1.22.8 - sucrase: 3.34.0 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node dev: true @@ -15985,8 +16369,8 @@ packages: engines: {node: '>=8'} dev: false - /terser-webpack-plugin@5.3.9(esbuild@0.18.20)(webpack@5.89.0): - resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + /terser-webpack-plugin@5.3.10(esbuild@0.18.20)(webpack@5.90.3): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -16001,17 +16385,17 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 esbuild: 0.18.20 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.1 - terser: 5.24.0 - webpack: 5.89.0(esbuild@0.18.20) + serialize-javascript: 6.0.2 + terser: 5.27.2 + webpack: 5.90.3(esbuild@0.18.20) dev: true - /terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + /terser@5.27.2: + resolution: {integrity: sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==} engines: {node: '>=10'} hasBin: true dependencies: @@ -16068,15 +16452,15 @@ packages: /tiny-invariant@1.3.1: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} /tinypool@0.7.0: resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} engines: {node: '>=14.0.0'} - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} /tmp@0.0.33: @@ -16107,8 +16491,8 @@ packages: dependencies: is-number: 7.0.0 - /tocbot@4.23.0: - resolution: {integrity: sha512-5DWuSZXsqG894mkGb8ZsQt9myyQyVxE50AiGRZ0obV0BVUTVkaZmc9jbgpknaAAPUm4FIrzGkEseD6FuQJYJDQ==} + /tocbot@4.25.0: + resolution: {integrity: sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==} dev: true /toidentifier@1.0.1: @@ -16157,9 +16541,9 @@ packages: engines: {node: '>=8'} dev: false - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -16173,7 +16557,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-node@10.9.2(@types/node@20.10.6)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@20.11.20)(typescript@5.3.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16192,9 +16576,9 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.20 acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -16203,12 +16587,12 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /tsconfck@2.1.2(typescript@5.3.3): - resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==} - engines: {node: ^14.13.1 || ^16 || >=18} + /tsconfck@3.0.2(typescript@5.3.3): + resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} + engines: {node: ^18 || >=20} hasBin: true peerDependencies: - typescript: ^4.3.5 || ^5.0.0 + typescript: ^5.0.0 peerDependenciesMeta: typescript: optional: true @@ -16216,8 +16600,8 @@ packages: typescript: 5.3.3 dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -16231,8 +16615,8 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsup@8.0.1(@swc/core@1.3.102)(ts-node@10.9.2)(typescript@5.3.3): - resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==} + /tsup@8.0.2(@swc/core@1.4.2)(ts-node@10.9.2)(typescript@5.3.3): + resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -16250,20 +16634,20 @@ packages: typescript: optional: true dependencies: - '@swc/core': 1.3.102 - bundle-require: 4.0.2(esbuild@0.19.11) + '@swc/core': 1.4.2 + bundle-require: 4.0.2(esbuild@0.19.12) cac: 6.7.14 - chokidar: 3.5.3 + chokidar: 3.6.0 debug: 4.3.4(supports-color@8.1.1) - esbuild: 0.19.11 + esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.2) + postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.9.2 + rollup: 4.12.0 source-map: 0.8.0-beta.0 - sucrase: 3.34.0 + sucrase: 3.35.0 tree-kill: 1.2.2 typescript: 5.3.3 transitivePeerDependencies: @@ -16291,64 +16675,64 @@ packages: safe-buffer: 5.2.1 dev: true - /turbo-darwin-64@1.11.2: - resolution: {integrity: sha512-toFmRG/adriZY3hOps7nYCfqHAS+Ci6xqgX3fbo82kkLpC6OBzcXnleSwuPqjHVAaRNhVoB83L5njcE9Qwi2og==} + /turbo-darwin-64@1.12.4: + resolution: {integrity: sha512-dBwFxhp9isTa9RS/fz2gDVk5wWhKQsPQMozYhjM7TT4jTrnYn0ZJMzr7V3B/M/T8QF65TbniW7w1gtgxQgX5Zg==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /turbo-darwin-arm64@1.11.2: - resolution: {integrity: sha512-FCsEDZ8BUSFYEOSC3rrARQrj7x2VOrmVcfrMUIhexTxproRh4QyMxLfr6LALk4ymx6jbDCxWa6Szal8ckldFbA==} + /turbo-darwin-arm64@1.12.4: + resolution: {integrity: sha512-1Uo5iI6xsJ1j9ObsqxYRsa3W26mEbUe6fnj4rQYV6kDaqYD54oAMJ6hM53q9rB8JvFxwdrUXGp3PwTw9A0qqkA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /turbo-linux-64@1.11.2: - resolution: {integrity: sha512-Vzda/o/QyEske5CxLf0wcu7UUS+7zB90GgHZV4tyN+WZtoouTvbwuvZ3V6b5Wgd3OJ/JwWR0CXDK7Sf4VEMr7A==} + /turbo-linux-64@1.12.4: + resolution: {integrity: sha512-ONg2aSqKP7LAQOg7ysmU5WpEQp4DGNxSlAiR7um+LKtbmC/UxogbR5+T+Uuq6zGuQ5kJyKjWJ4NhtvUswOqBsA==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /turbo-linux-arm64@1.11.2: - resolution: {integrity: sha512-bRLwovQRz0yxDZrM4tQEAYV0fBHEaTzUF0JZ8RG1UmZt/CqtpnUrJpYb1VK8hj1z46z9YehARpYCwQ2K0qU4yw==} + /turbo-linux-arm64@1.12.4: + resolution: {integrity: sha512-9FPufkwdgfIKg/9jj87Cdtftw8o36y27/S2vLN7FTR2pp9c0MQiTBOLVYadUr1FlShupddmaMbTkXEhyt9SdrA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /turbo-windows-64@1.11.2: - resolution: {integrity: sha512-LgTWqkHAKgyVuLYcEPxZVGPInTjjeCnN5KQMdJ4uQZ+xMDROvMFS2rM93iQl4ieDJgidwHCxxCxaU9u8c3d/Kg==} + /turbo-windows-64@1.12.4: + resolution: {integrity: sha512-2mOtxHW5Vjh/5rDVu/aFwsMzI+chs8XcEuJHlY1sYOpEymYTz+u6AXbnzRvwZFMrLKr7J7fQOGl+v96sLKbNdA==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /turbo-windows-arm64@1.11.2: - resolution: {integrity: sha512-829aVBU7IX0c/B4G7g1VI8KniAGutHhIupkYMgF6xPkYVev2G3MYe6DMS/vsLt9GGM9ulDtdWxWrH5P2ngK8IQ==} + /turbo-windows-arm64@1.12.4: + resolution: {integrity: sha512-nOY5wae9qnxPOpT1fRuYO0ks6dTwpKMPV6++VkDkamFDLFHUDVM/9kmD2UTeh1yyrKnrZksbb9zmShhmfj1wog==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /turbo@1.11.2: - resolution: {integrity: sha512-jPC7LVQJzebs5gWf8FmEvsvXGNyKbN+O9qpvv98xpNaM59aS0/Irhd0H0KbcqnXfsz7ETlzOC3R+xFWthC4Z8A==} + /turbo@1.12.4: + resolution: {integrity: sha512-yUJ7elEUSToiGwFZogXpYKJpQ0BvaMbkEuQECIWtkBLcmWzlMOt6bActsIm29oN83mRU0WbzGt4e8H1KHWedhg==} hasBin: true optionalDependencies: - turbo-darwin-64: 1.11.2 - turbo-darwin-arm64: 1.11.2 - turbo-linux-64: 1.11.2 - turbo-linux-arm64: 1.11.2 - turbo-windows-64: 1.11.2 - turbo-windows-arm64: 1.11.2 + turbo-darwin-64: 1.12.4 + turbo-darwin-arm64: 1.12.4 + turbo-linux-64: 1.12.4 + turbo-linux-arm64: 1.12.4 + turbo-windows-64: 1.12.4 + turbo-windows-arm64: 1.12.4 dev: false /tweetnacl@0.14.5: @@ -16419,39 +16803,45 @@ packages: mime-types: 2.1.35 dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length@1.0.5: + resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -16468,8 +16858,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} @@ -16487,7 +16877,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -16570,11 +16960,11 @@ packages: engines: {node: '>= 0.8'} dev: true - /unplugin@1.5.1: - resolution: {integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==} + /unplugin@1.7.1: + resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} dependencies: acorn: 8.11.3 - chokidar: 3.5.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 dev: true @@ -16584,14 +16974,14 @@ packages: engines: {node: '>=8'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): + /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 /update-notifier@7.0.0: @@ -16607,7 +16997,7 @@ packages: is-npm: 6.0.0 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.5.4 + semver: 7.6.0 semver-diff: 4.0.0 xdg-basedir: 5.1.0 dev: false @@ -16624,8 +17014,8 @@ packages: requires-port: 1.0.0 dev: true - /use-callback-ref@1.3.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + /use-callback-ref@1.3.1(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -16634,11 +17024,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 tslib: 2.6.2 - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.45)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -16647,7 +17037,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 react: 18.2.0 /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): @@ -16661,7 +17051,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /use-sidecar@1.1.2(@types/react@18.2.45)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.57)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -16671,7 +17061,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.45 + '@types/react': 18.2.57 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -16688,7 +17078,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.7.1 + node-gyp-build: 4.8.0 /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -16699,8 +17089,8 @@ packages: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 - is-typed-array: 1.1.12 - which-typed-array: 1.1.13 + is-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /utils-merge@1.0.1: @@ -16725,7 +17115,7 @@ packages: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 @@ -16755,17 +17145,17 @@ packages: extsprintf: 1.3.0 dev: true - /vite-node@0.34.6(@types/node@20.10.6): + /vite-node@0.34.6(@types/node@20.11.20): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.6.0 + pathe: 1.1.2 picocolors: 1.0.0 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - '@types/node' - less @@ -16776,8 +17166,8 @@ packages: - supports-color - terser - /vite-tsconfig-paths@4.2.2(typescript@5.3.3)(vite@4.5.2): - resolution: {integrity: sha512-dq0FjyxHHDnp0uS3P12WEOX2W7NeuLzX9AWP38D7Zw2CTbFErapwQVlCiT5DMJcVWKQ1MMdTe92PZl/rBQ7qcw==} + /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@4.5.2): + resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -16786,14 +17176,14 @@ packages: dependencies: debug: 4.3.4(supports-color@8.1.1) globrex: 0.1.2 - tsconfck: 2.1.2(typescript@5.3.3) - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) + tsconfck: 3.0.2(typescript@5.3.3) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.2(@types/node@20.10.6)(less@4.2.0): + /vite@4.5.2(@types/node@20.11.20)(less@4.2.0): resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -16821,10 +17211,10 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.20 esbuild: 0.18.20 less: 4.2.0 - postcss: 8.4.33 + postcss: 8.4.35 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 @@ -16862,27 +17252,27 @@ packages: dependencies: '@types/chai': 4.3.11 '@types/chai-subset': 1.3.5 - '@types/node': 20.10.6 + '@types/node': 20.11.20 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 cac: 6.7.14 - chai: 4.3.10 + chai: 4.4.1 debug: 4.3.4(supports-color@8.1.1) local-pkg: 0.4.3 - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.7 + pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 1.3.0 - tinybench: 2.5.1 + tinybench: 2.6.0 tinypool: 0.7.0 - vite: 4.5.2(@types/node@20.10.6)(less@4.2.0) - vite-node: 0.34.6(@types/node@20.10.6) + vite: 4.5.2(@types/node@20.11.20)(less@4.2.0) + vite-node: 0.34.6(@types/node@20.11.20) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -16905,8 +17295,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 1.6.2(debug@4.3.4) - joi: 17.11.0 + axios: 1.6.7(debug@4.3.4) + joi: 17.12.2 lodash: 4.17.21 minimist: 1.2.8 rxjs: 7.8.1 @@ -16949,7 +17339,7 @@ packages: hasBin: true dependencies: acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 chalk: 4.1.2 commander: 7.2.0 gzip-size: 6.0.0 @@ -16970,8 +17360,8 @@ packages: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} dev: true - /webpack@5.89.0(esbuild@0.18.20): - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + /webpack@5.90.3(esbuild@0.18.20): + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -16987,7 +17377,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 @@ -17001,7 +17391,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(esbuild@0.18.20)(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.90.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -17062,7 +17452,7 @@ packages: engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -17072,7 +17462,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /which-collection@1.0.1: @@ -17096,15 +17486,15 @@ packages: path-exists: 4.0.0 dev: false - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -17236,8 +17626,8 @@ packages: utf-8-validate: 6.0.3 dev: false - /ws@8.14.2(bufferutil@4.0.8)(utf-8-validate@6.0.3): - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + /ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.3): + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -17339,7 +17729,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -17367,3 +17757,22 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + /zustand@4.5.1(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-XlauQmH64xXSC1qGYNv00ODaQ3B+tNPoy22jv2diYiP4eoDKr9LA+Bh5Bc3gplTrFdb6JVI+N4kc1DZ/tbtfPg==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + dependencies: + '@types/react': 18.2.57 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) diff --git a/tooling/config-eslint/package.json b/tooling/config-eslint/package.json index 8e84e960..662ccd2e 100644 --- a/tooling/config-eslint/package.json +++ b/tooling/config-eslint/package.json @@ -15,13 +15,13 @@ "node": ">=14.6" }, "dependencies": { - "eslint-plugin-import": "^2.28.1", + "eslint-plugin-import": "^2.29.1", "eslint-plugin-n": "^16.6.2", "eslint-plugin-unicorn": "^50.0.1", - "eslint-plugin-unused-imports": "^3.0.0" + "eslint-plugin-unused-imports": "^3.1.0" }, "devDependencies": { - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "repository": { "type": "git", diff --git a/tooling/config-tailwind/globals.css b/tooling/config-tailwind/globals.css index 7041d80f..f968efa1 100644 --- a/tooling/config-tailwind/globals.css +++ b/tooling/config-tailwind/globals.css @@ -24,7 +24,7 @@ --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 3.7% 15.9%; - --interactive: 240 4.8% 95.9%; + --interactive: 0 0% 98%; --interactive-foreground: 240 3.7% 15.9%; --accent: 240 4.8% 95.9%; diff --git a/tooling/config-tailwind/package.json b/tooling/config-tailwind/package.json index 0e39aefc..a498a7f1 100644 --- a/tooling/config-tailwind/package.json +++ b/tooling/config-tailwind/package.json @@ -21,9 +21,9 @@ }, "devDependencies": { "@tailwindcss/typography": "^0.5.10", - "tailwindcss": "^3.3.3", + "tailwindcss": "^3.4.1", "tailwindcss-animate": "^1.0.7", - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "repository": { "type": "git", diff --git a/tooling/config-tsconfig/package.json b/tooling/config-tsconfig/package.json index d475c58a..952be30a 100644 --- a/tooling/config-tsconfig/package.json +++ b/tooling/config-tsconfig/package.json @@ -4,7 +4,7 @@ "version": "0.0.12", "private": true, "devDependencies": { - "typescript": "^5.2.2" + "typescript": "^5.3.3" }, "files": [ "base.json",