diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4a4418c8924..5b00cd69850 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -30,7 +30,6 @@ commands:
type: boolean
default: false
description: 'Set to true if you intend to use any browser (for example with playwright).'
-
steps:
- when:
condition: << parameters.browsers >>
@@ -46,7 +45,6 @@ commands:
name: Install pnpm package manager
# See https://stackoverflow.com/a/73411601
command: corepack enable --install-directory ~/bin
-
- run:
name: View install environment
command: |
@@ -133,7 +131,6 @@ jobs:
test_unit:
<<: *default-job
-
steps:
- checkout
- install_js:
@@ -154,7 +151,6 @@ jobs:
- image: mcr.microsoft.com/playwright:v1.48.2-focal
environment:
NODE_ENV: test
-
steps:
- checkout
- install_js:
@@ -177,7 +173,6 @@ jobs:
environment:
NODE_ENV: test
TOOLPAD_TEST_RETRIES: 1
-
steps:
- checkout
- install_js:
@@ -199,6 +194,16 @@ jobs:
path: test/test-results
destination: playwright-test-results
+ test_bundle_size_monitor:
+ <<: *default-job
+ steps:
+ - checkout
+ - install_js
+ - run:
+ name: Run danger on PRs
+ command: pnpm danger ci --fail-on-errors
+ # TODO test bundle size, similar to https://github.com/mui/base-ui/issues/201
+
workflows:
pipeline:
jobs:
@@ -228,3 +233,7 @@ workflows:
<<: *default-context
requires:
- checkout
+ - test_bundle_size_monitor:
+ <<: *default-context
+ requires:
+ - checkout
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 145837f87af..eeae1b1239f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -568,7 +568,7 @@ First components in @toolpad/core: [DashboardLayout](https://github.com/mui/tool
- Lock file maintenance (#3622) @renovate[bot]
- Lock file maintenance Examples (#3624) @renovate[bot]
-- Add Next.js app router Toolpad Core playground (#3587) @apedroferreira
+- Add Next.js App Router Toolpad Core playground (#3587) @apedroferreira
- Isolate api-docs-builder deps @Janpot
- isolate react-docgen @Janpot
- Update renovate.json @Janpot
diff --git a/dangerfile.ts b/dangerfile.ts
new file mode 100644
index 00000000000..1e033193330
--- /dev/null
+++ b/dangerfile.ts
@@ -0,0 +1,21 @@
+// danger has to be the first thing required!
+import { danger, markdown } from 'danger';
+
+function addDeployPreviewUrls() {
+ const netlifyPreview = `https://deploy-preview-${danger.github.pr.number}--mui-toolpad-docs.netlify.app/`;
+
+ markdown(`
+## Netlify deploy preview
+
+${netlifyPreview}
+`);
+}
+
+async function run() {
+ addDeployPreviewUrls();
+}
+
+run().catch((error) => {
+ console.error(error);
+ process.exit(1);
+});
diff --git a/docs/data/toolpad/core/components/page-container/page-container.md b/docs/data/toolpad/core/components/page-container/page-container.md
index 70f3c2a2cf2..105bc9314d6 100644
--- a/docs/data/toolpad/core/components/page-container/page-container.md
+++ b/docs/data/toolpad/core/components/page-container/page-container.md
@@ -71,7 +71,7 @@ function useDynamicBreadcrumbs(id: string): Breadcrumb[] {
}
```
-For example, under the Next.js app router you would be able to obtain breadcrumbs for a dynamic route as follows:
+For example, under the Next.js App Router you would be able to obtain breadcrumbs for a dynamic route as follows:
```tsx
// ./src/app/example/[id]/page.tsx
diff --git a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md
index cddc44d4daf..2efbf13c51e 100644
--- a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md
+++ b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md
@@ -75,7 +75,7 @@ The `SignInPage` component can be set up to use [Passkeys](https://passkeys.dev)
The [Toolpad Core Passkey example app](https://github.com/mui/mui-toolpad/tree/master/examples/core/auth-nextjs-passkey/) comes with a working app using `next-auth/webauthn`, Prisma and PostgreSQL.
:::
-{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next-passkey.png", "srcDark": "/static/toolpad/docs/core/auth-next-passkey-dark.png", "alt": "Auth.js Passkeys & Next.js with Toolpad Core sign-in page", "caption": "Auth.js Passkeys & Next.js app router with Toolpad Core Sign-in page", "zoom": true, "aspectRatio": "1.428" }}
+{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next-passkey.png", "srcDark": "/static/toolpad/docs/core/auth-next-passkey-dark.png", "alt": "Auth.js Passkeys & Next.js with Toolpad Core sign-in page", "caption": "Auth.js Passkeys & Next.js App Router with Toolpad Core Sign-in page", "zoom": true, "aspectRatio": "1.428" }}
## Credentials
@@ -108,9 +108,9 @@ This renders an alert with the `error` string as the message.
#### Next.js App Directory and GitHub
-The component is composable with any authentication library you might want to use. The following is a `SignInPage` with [Auth.js](https://authjs.dev/) using GitHub, Next.js App router and server actions.
+The component is composable with any authentication library you might want to use. The following is a `SignInPage` with [Auth.js](https://authjs.dev/) using GitHub, Next.js App Router and server actions.
-{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next.png", "srcDark": "/static/toolpad/docs/core/auth-next-dark.png", "alt": "Auth.js & Next.js with Toolpad Core sign-in page", "caption": "Auth.js & Next.js app router with Toolpad Core Sign-in page", "zoom": true, "indent": 1, "aspectRatio": "1.428" }}
+{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next.png", "srcDark": "/static/toolpad/docs/core/auth-next-dark.png", "alt": "Auth.js & Next.js with Toolpad Core sign-in page", "caption": "Auth.js & Next.js App Router with Toolpad Core Sign-in page", "zoom": true, "indent": 1, "aspectRatio": "1.428" }}
#### Setting up
@@ -230,7 +230,7 @@ Through the `theme` prop in the [AppProvider](https://mui.com/toolpad/core/react
{{"demo": "ThemeSignInPage.js", "iframe": true, "height": 700 }}
:::info
-Find a full-fledged example using the Next.js App router, Auth.js and this theme [here](https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed).
+Find a full-fledged example using the Next.js App Router, Auth.js and this theme [here](https://codesandbox.io/p/sandbox/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed).
:::
### Slots
diff --git a/docs/data/toolpad/core/integrations/nextjs-approuter.md b/docs/data/toolpad/core/integrations/nextjs-approuter.md
index 46726d69424..8784c51e707 100644
--- a/docs/data/toolpad/core/integrations/nextjs-approuter.md
+++ b/docs/data/toolpad/core/integrations/nextjs-approuter.md
@@ -57,7 +57,7 @@ See the [MaterialĀ UI Next.js integration docs](https://mui.com/material-ui/inte
:::
:::warning
-If your app is statically rendered, you must wrap the `AppProvider` in a `Suspense` component when using the app router. See [https://github.com/mui/toolpad/issues/4524](https://github.com/mui/toolpad/issues/4524) for more information.
+If your app is statically rendered, you must wrap the `AppProvider` in a `Suspense` component when using the App Router. See [https://github.com/mui/toolpad/issues/4524](https://github.com/mui/toolpad/issues/4524) for more information.
:::
## Create a dashboard layout
diff --git a/docs/data/toolpad/core/introduction/examples.md b/docs/data/toolpad/core/introduction/examples.md
index 36dd4d14471..975af850692 100644
--- a/docs/data/toolpad/core/introduction/examples.md
+++ b/docs/data/toolpad/core/introduction/examples.md
@@ -7,12 +7,10 @@ title: Examples
Browse a collection of Toolpad Core examples to help you get started quickly.
-
+## Featured examples
-## Featured Examples
+{{"component": "modules/components/examples/CoreFeaturedExamples.tsx"}}
-{{"component": "modules/components/Examples/FeaturedExamples.tsx", "examplesFile": "core-examples.ts"}}
+## Other examples
-## Other Examples
-
-{{"component": "modules/components/Examples/ExamplesGrid.tsx", "examplesFile": "core-examples.ts", "reverse": true}}
+{{"component": "modules/components/examples/CoreOtherExamples.tsx"}}
diff --git a/docs/data/toolpad/studio/getting-started/examples-overview.md b/docs/data/toolpad/studio/getting-started/examples-overview.md
index 4f071102e2f..575ca15647c 100644
--- a/docs/data/toolpad/studio/getting-started/examples-overview.md
+++ b/docs/data/toolpad/studio/getting-started/examples-overview.md
@@ -5,12 +5,10 @@ title: Examples
# Overview
-Browse our collection of Toolpad Studio examples that help you familiarise with Toolpad Studio concepts.
-
-
+Browse a collection of Toolpad Studio examples that help you familiarise with Toolpad Studio concepts.
This collection includes apps that showcase connecting to APIs, adding custom components, adding secrets, adding authentication, working with ORMs and more.
If you're interested in how we, at MUI, use Toolpad Studio to build internal apps, check out the [blog post](https://mui.com/blog/toolpad-use-cases/).
-{{"component": "modules/components/Examples/ExamplesGrid.tsx", "examplesFile": "studio-examples.ts"}}
+{{"component": "modules/components/examples/StudioExamples.tsx"}}
diff --git a/docs/data/toolpad/studio/how-to-guides/railway-deploy.md b/docs/data/toolpad/studio/how-to-guides/railway-deploy.md
index 64d428730af..d13861161cd 100644
--- a/docs/data/toolpad/studio/how-to-guides/railway-deploy.md
+++ b/docs/data/toolpad/studio/how-to-guides/railway-deploy.md
@@ -6,7 +6,7 @@ This guide walks you through the deployment of a Toolpad Studio app from a GitHu
## Prerequisites
-- A [Railway](https://railway.app/) account
+- A [Railway](https://railway.com/) account
- A [GitHub](https://github.com) account
- A GitHub repository containing your Toolpad Studio app. Check out [pushing your Toolpad Studio app to GitHub](/toolpad/studio/how-to-guides/render-deploy/#pushing-your-toolpad-studio-app-to-github) for this step.
diff --git a/docs/package.json b/docs/package.json
index bb730a927d8..d5f41531ae6 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -5,7 +5,7 @@
"author": "MUI Toolpad",
"license": "MIT",
"scripts": {
- "build": "rimraf docs/export && cross-env NODE_ENV=production next build --profile && pnpm build-sw",
+ "build": "rimraf ./export && cross-env NODE_ENV=production next build --profile && pnpm build-sw",
"build:clean": "rimraf .next && pnpm build",
"build-sw": "node ./scripts/buildServiceWorker.js",
"dev": "next dev --port 3003",
@@ -67,7 +67,7 @@
"lodash": "4.17.21",
"lz-string": "1.5.0",
"markdown-to-jsx": "7.7.0",
- "next": "^14.2.20",
+ "next": "^14.2.21",
"nprogress": "0.2.0",
"postcss": "8.4.49",
"prismjs": "1.29.0",
diff --git a/docs/src/modules/components/Examples/core-examples.ts b/docs/src/modules/components/Examples/core-examples.ts
deleted file mode 100644
index 54667731313..00000000000
--- a/docs/src/modules/components/Examples/core-examples.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-export default function examples() {
- return [
- {
- title: 'Tutorial app',
- description:
- 'This app shows you to get started with Toolpad Core and use basic layout and navigation features.',
- src: '/static/toolpad/docs/core/tutorial-1.png',
- href: 'https://mui.com/toolpad/core/introduction/tutorial/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/tutorial/',
- codeSandbox: 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/tutorial',
- stackBlitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/tutorial',
- },
- {
- title: 'Auth.js with Next.js App router',
- description:
- 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App router',
- src: '/static/toolpad/docs/core/auth-next.png',
- srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs/',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs',
- stackblitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs',
- },
- {
- title: 'Auth.js with Next.js Pages router',
- description:
- 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router',
- src: '/static/toolpad/docs/core/auth-next.png',
- srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages/',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages',
- stackblitz:
- 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages',
- },
- {
- title: 'Auth.js Magic Link with Next.js App router',
- description:
- 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App router',
- src: '/static/toolpad/docs/core/auth-next.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-email',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-email',
- },
- {
- title: 'Vite with React Router',
- description:
- 'This app shows you to how to get started using Toolpad Core with Vite and React Router',
- src: '/static/toolpad/docs/core/vite-react-router.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/vite/',
- codeSandbox: 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/vite',
- stackblitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/vite',
- },
- {
- title: 'Auth.js v4 with Next.js Pages router',
- description:
- 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router',
- src: '/static/toolpad/docs/core/auth-next.png',
- srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
- source:
- 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4/',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4',
- stackblitz:
- 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4',
- },
- {
- title: 'Next.js App router with Auth.js Passkey',
- description:
- 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App router',
- src: '/static/toolpad/docs/core/auth-next-passkey.png',
- srcDark: '/static/toolpad/docs/core/auth-next-passkey-dark.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey/',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey',
- },
- {
- title: 'Vite with React Router and mock authentication',
- description:
- 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider',
- src: '/static/toolpad/docs/core/vite-react-router.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-vite',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-vite',
- },
- {
- title: 'Vite with React Router and Firebase Auth',
- description:
- 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase',
- src: '/static/toolpad/docs/core/firebase-vite-light.png',
- srcDark: '/static/toolpad/docs/core/firebase-vite-dark.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/firebase-vite',
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/firebase-vite',
- },
- {
- title: 'Functional Dashboard',
- description:
- 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js app router, Auth.js and Material UI components in a customized theme',
- src: '/static/toolpad/docs/core/functional-dashboard.png',
- href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard',
- srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png',
- source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-themed',
- featured: true,
- new: true,
- codeSandbox:
- 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed',
- },
- ];
-}
diff --git a/docs/src/modules/components/Examples/studio-examples.ts b/docs/src/modules/components/Examples/studio-examples.ts
deleted file mode 100644
index c889a4dbcd3..00000000000
--- a/docs/src/modules/components/Examples/studio-examples.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-export default function examples() {
- return [
- {
- title: 'npm stats',
- description:
- 'This analytics dashboard shows how to track a KPI from a third-party data source.',
- src: '/static/toolpad/docs/studio/examples/npm-stats.png',
- href: 'https://mui.com/toolpad/studio/examples/npm-stats/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/npm-stats/',
- },
- {
- title: 'Basic CRUD application',
- description: 'An admin application to showcase how CRUD operations work in Toolpad Studio.',
- src: '/static/toolpad/docs/studio/examples/basic-crud-app.png',
- href: 'https://mui.com/toolpad/studio/examples/basic-crud-app/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/basic-crud-app/',
- },
- {
- title: 'QR Code generator',
- description:
- 'A basic Toolpad Studio application that can be used to turn any text or URL into a QR code.',
- src: '/static/toolpad/docs/studio/examples/qr-generator.png',
- href: 'https://mui.com/toolpad/studio/examples/qr-generator/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/qr-generator/',
- },
- {
- title: 'With Prisma',
- description:
- 'A basic Toolpad Studio application that demonstrates how to integrate with Prisma.',
- src: '/static/toolpad/marketing/with-prisma-hero.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/',
- },
- {
- title: 'Google Sheet',
- description: 'Quickly fetch data from Google Sheets to build a Toolpad Studio app.',
- src: '/static/toolpad/marketing/google-sheet.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/',
- },
- {
- title: 'Dog app',
- description: 'An app that shows dog images based on selected breeds or sub-breeds.',
- src: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/',
- },
- {
- title: 'Customized data grid',
- description:
- 'A basic Toolpad Studio app that shows how to customize a data grid column using a custom code component.',
- src: '/static/toolpad/marketing/custom-datagrid-column.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column/',
- },
- {
- title: 'GraphQL app',
- description: 'An app that shows latest 100 stargazers info for any GitHub repository.',
- src: '/static/toolpad/marketing/graphql.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/',
- },
- {
- title: 'With WASM',
- description:
- 'A basic Toolpad Studio application that demonstrates integrating with WASM modules.',
- src: '/static/toolpad/marketing/with-wasm.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/',
- },
- {
- title: 'Data provider with prisma',
- description:
- 'A basic Toolpad Studio application that demonstrates how to use data providers with Prisma.',
- src: '/static/toolpad/marketing/with-prisma-data-provider.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/',
- source:
- 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/',
- },
- {
- title: 'With Supabase',
- description:
- 'A Toolpad Studio app that fetches data from Supabase and shows it in a list component.',
- src: '/static/toolpad/marketing/supabase.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/',
- },
- {
- title: 'Stripe invoice downloader',
- description: 'A Stripe app to fetch and download invoices.',
- src: '/static/toolpad/marketing/stripe-script.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/',
- },
- {
- title: 'Charts',
- description:
- 'A basic Toolpad Studio application that demonstrates how to use chart component.',
- src: '/static/toolpad/marketing/charts.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/',
- },
- {
- title: 'Google Authentication',
- description: 'An app that shows how to set up Google authentication in Toolpad Studio.',
- src: '/static/toolpad/marketing/auth-google.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/',
- },
- {
- title: 'Custom server',
- description: 'An app that shows how to use Toolpad Studio with a custom server.',
- src: '/static/toolpad/marketing/custom-server.png',
- href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/',
- source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/',
- },
- ];
-}
diff --git a/docs/src/modules/components/Examples/types.ts b/docs/src/modules/components/Examples/types.ts
deleted file mode 100644
index 96508d22704..00000000000
--- a/docs/src/modules/components/Examples/types.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export interface Example {
- title: string;
- description: string;
- src: string;
- srcDark?: string;
- href: string;
- source: string;
- codeSandbox?: string;
- stackBlitz?: string;
- new?: boolean;
- featured?: boolean;
-}
diff --git a/docs/src/modules/components/examples/CoreFeaturedExamples.tsx b/docs/src/modules/components/examples/CoreFeaturedExamples.tsx
new file mode 100644
index 00000000000..67af812cef3
--- /dev/null
+++ b/docs/src/modules/components/examples/CoreFeaturedExamples.tsx
@@ -0,0 +1,7 @@
+import * as React from 'react';
+import ExamplesFeatured from 'docs-toolpad/src/modules/components/examples/ExamplesFeatured';
+import coreExamples from 'docs-toolpad/src/modules/components/examples/coreExamples';
+
+export default function CoreFeaturedExamples() {
+ return ;
+}
diff --git a/docs/src/modules/components/examples/CoreOtherExamples.tsx b/docs/src/modules/components/examples/CoreOtherExamples.tsx
new file mode 100644
index 00000000000..14a65c35045
--- /dev/null
+++ b/docs/src/modules/components/examples/CoreOtherExamples.tsx
@@ -0,0 +1,7 @@
+import * as React from 'react';
+import ExamplesGrid from 'docs-toolpad/src/modules/components/examples/ExamplesGrid';
+import coreExamples from 'docs-toolpad/src/modules/components/examples/coreExamples';
+
+export default function CoreOtherExamples() {
+ return ;
+}
diff --git a/docs/src/modules/components/Examples/FeaturedExamples.tsx b/docs/src/modules/components/examples/ExamplesFeatured.tsx
similarity index 77%
rename from docs/src/modules/components/Examples/FeaturedExamples.tsx
rename to docs/src/modules/components/examples/ExamplesFeatured.tsx
index 26c2bd4ec19..9aa7e3ae46f 100644
--- a/docs/src/modules/components/Examples/FeaturedExamples.tsx
+++ b/docs/src/modules/components/examples/ExamplesFeatured.tsx
@@ -8,7 +8,6 @@ import Button from '@mui/material/Button';
import IconButton from '@mui/material/IconButton';
import Link from '@mui/material/Link';
import Tooltip from '@mui/material/Tooltip';
-import Skeleton from '@mui/material/Skeleton';
import Typography from '@mui/material/Typography';
import SvgIcon from '@mui/material/SvgIcon';
import Visibility from '@mui/icons-material/Visibility';
@@ -16,49 +15,17 @@ import CodeRoundedIcon from '@mui/icons-material/CodeRounded';
import OpenInNewRoundedIcon from '@mui/icons-material/OpenInNewRounded';
import { useTheme } from '@mui/material/styles';
import { sxChip } from 'docs/src/modules/components/AppNavDrawerItem';
-import type { Example } from './types';
+import { Example, versionGitHubLink } from './examplesUtils';
interface FeaturedExamplesProps {
- examplesFile: string;
+ examples: Example[];
}
-export default function FeaturedExamples(props: FeaturedExamplesProps) {
+export default function ExamplesFeatured(props: FeaturedExamplesProps) {
const t = useTranslate();
- const [examples, setExamples] = React.useState([]);
- const [loading, setLoading] = React.useState(true);
-
- React.useEffect(() => {
- const importExamples = async () => {
- setLoading(true);
- let exampleContent = await import(`./${props.examplesFile}`);
- exampleContent = exampleContent
- .default()
- .filter((example: Example) => example.featured === true);
- setExamples(exampleContent);
- setLoading(false);
- };
- importExamples();
- }, [props.examplesFile]);
+ const examples = props.examples.filter((example: Example) => example.featured === true);
const docsTheme = useTheme();
- if (loading) {
- return (
-
- {[1].map((key) => (
-
-
-
-
-
- ))}
-
- );
- }
return (
@@ -84,7 +51,7 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) {
}}
>
- {example.stackBlitz ? (
+ {example.stackBlitz === true ? (
{
- window.open(example.stackBlitz, '_blank', 'noopener,noreferrer');
- }}
>
@@ -162,17 +130,18 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) {
) : null}
- {example.codeSandbox ? (
+ {example.codeSandbox === true ? (
{
- window.open(example.codeSandbox, '_blank', 'noopener,noreferrer');
- }}
>
@@ -181,14 +150,19 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) {
) : null}
-
+
([]);
-
- React.useEffect(() => {
- const importExamples = async () => {
- let exampleContent = await import(`./${props.examplesFile}`);
-
- exampleContent = exampleContent
- .default()
- .filter((example: Example) => example.featured !== true);
- if (props.reverse) {
- setExamples(exampleContent.reverse());
- }
- setExamples(exampleContent);
- };
- importExamples();
- }, [props.examplesFile, props.reverse]);
+ const examples = props.examples.filter((example: Example) => example.featured !== true);
const docsTheme = useTheme();
return (
@@ -86,7 +70,7 @@ function ExamplesGrid(props: ExamplesGridProps) {
component="a"
image={computedSrc}
title={example.description}
- href={example.href || example.source}
+ href={versionGitHubLink(example.href || example.source)}
rel="nofollow"
sx={(theme) => ({
height: 0,
@@ -118,36 +102,41 @@ function ExamplesGrid(props: ExamplesGridProps) {
justifyContent: 'space-between',
}}
>
-
+
{t('source')}
- {example.codeSandbox && (
-
+ {example.stackBlitz === true ? (
+
-
+
- )}
- {example.stackBlitz && (
-
+ ) : null}
+ {example.codeSandbox === true ? (
+
-
+
- )}
+ ) : null}
@@ -157,5 +146,3 @@ function ExamplesGrid(props: ExamplesGridProps) {
);
}
-
-export default ExamplesGrid;
diff --git a/docs/src/modules/components/examples/StudioExamples.tsx b/docs/src/modules/components/examples/StudioExamples.tsx
new file mode 100644
index 00000000000..92adacac090
--- /dev/null
+++ b/docs/src/modules/components/examples/StudioExamples.tsx
@@ -0,0 +1,137 @@
+import * as React from 'react';
+import ExamplesGrid from 'docs-toolpad/src/modules/components/examples/ExamplesGrid';
+import type { Example } from './examplesUtils';
+
+const examples = [
+ {
+ title: 'npm stats',
+ description:
+ 'This analytics dashboard shows how to track a KPI from a third-party data source.',
+ src: '/static/toolpad/docs/studio/examples/npm-stats.png',
+ srcDark: '/static/toolpad/docs/studio/examples/npm-stats.png', // TODO fix
+ href: 'https://mui.com/toolpad/studio/examples/npm-stats/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/npm-stats/',
+ },
+ {
+ title: 'Basic CRUD application',
+ description: 'An admin application to showcase how CRUD operations work in Toolpad Studio.',
+ src: '/static/toolpad/docs/studio/examples/basic-crud-app.png',
+ srcDark: '/static/toolpad/docs/studio/examples/basic-crud-app.png', // TODO fix
+ href: 'https://mui.com/toolpad/studio/examples/basic-crud-app/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/basic-crud-app/',
+ },
+ {
+ title: 'QR Code generator',
+ description:
+ 'A basic Toolpad Studio application that can be used to turn any text or URL into a QR code.',
+ src: '/static/toolpad/docs/studio/examples/qr-generator.png',
+ srcDark: '/static/toolpad/docs/studio/examples/qr-generator.png', // TODO fix
+ href: 'https://mui.com/toolpad/studio/examples/qr-generator/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/qr-generator/',
+ },
+ {
+ title: 'With Prisma',
+ description:
+ 'A basic Toolpad Studio application that demonstrates how to integrate with Prisma.',
+ src: '/static/toolpad/marketing/with-prisma-hero.png',
+ srcDark: '/static/toolpad/marketing/with-prisma-hero.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/',
+ },
+ {
+ title: 'Google Sheet',
+ description: 'Quickly fetch data from Google Sheets to build a Toolpad Studio app.',
+ src: '/static/toolpad/marketing/google-sheet.png',
+ srcDark: '/static/toolpad/marketing/google-sheet.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/',
+ },
+ {
+ title: 'Dog app',
+ description: 'An app that shows dog images based on selected breeds or sub-breeds.',
+ src: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png',
+ srcDark: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/',
+ },
+ {
+ title: 'Customized data grid',
+ description:
+ 'A basic Toolpad Studio app that shows how to customize a data grid column using a custom code component.',
+ src: '/static/toolpad/marketing/custom-datagrid-column.png',
+ srcDark: '/static/toolpad/marketing/custom-datagrid-column.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column/',
+ },
+ {
+ title: 'GraphQL app',
+ description: 'An app that shows latest 100 stargazers info for any GitHub repository.',
+ src: '/static/toolpad/marketing/graphql.png',
+ srcDark: '/static/toolpad/marketing/graphql.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/',
+ },
+ {
+ title: 'With WASM',
+ description:
+ 'A basic Toolpad Studio application that demonstrates integrating with WASM modules.',
+ src: '/static/toolpad/marketing/with-wasm.png',
+ srcDark: '/static/toolpad/marketing/with-wasm.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/',
+ },
+ {
+ title: 'Data provider with prisma',
+ description:
+ 'A basic Toolpad Studio application that demonstrates how to use data providers with Prisma.',
+ src: '/static/toolpad/marketing/with-prisma-data-provider.png',
+ srcDark: '/static/toolpad/marketing/with-prisma-data-provider.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/',
+ },
+ {
+ title: 'With Supabase',
+ description:
+ 'A Toolpad Studio app that fetches data from Supabase and shows it in a list component.',
+ src: '/static/toolpad/marketing/supabase.png',
+ srcDark: '/static/toolpad/marketing/supabase.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/',
+ },
+ {
+ title: 'Stripe invoice downloader',
+ description: 'A Stripe app to fetch and download invoices.',
+ src: '/static/toolpad/marketing/stripe-script.png',
+ srcDark: '/static/toolpad/marketing/stripe-script.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/',
+ },
+ {
+ title: 'Charts',
+ description: 'A basic Toolpad Studio application that demonstrates how to use chart component.',
+ src: '/static/toolpad/marketing/charts.png',
+ srcDark: '/static/toolpad/marketing/charts.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/',
+ },
+ {
+ title: 'Google Authentication',
+ description: 'An app that shows how to set up Google authentication in Toolpad Studio.',
+ src: '/static/toolpad/marketing/auth-google.png',
+ srcDark: '/static/toolpad/marketing/auth-google.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/',
+ },
+ {
+ title: 'Custom server',
+ description: 'An app that shows how to use Toolpad Studio with a custom server.',
+ src: '/static/toolpad/marketing/custom-server.png',
+ srcDark: '/static/toolpad/marketing/custom-server.png', // TODO fix
+ href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/',
+ },
+] satisfies Example[];
+
+export default function StudioExamples() {
+ return ;
+}
diff --git a/docs/src/modules/components/examples/coreExamples.ts b/docs/src/modules/components/examples/coreExamples.ts
new file mode 100644
index 00000000000..71449535b2a
--- /dev/null
+++ b/docs/src/modules/components/examples/coreExamples.ts
@@ -0,0 +1,118 @@
+import type { Example } from './examplesUtils';
+
+const coreExamples = [
+ {
+ title: 'Functional dashboard',
+ description:
+ 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js App Router, Auth.js and Material UI components in a customized theme.',
+ src: '/static/toolpad/docs/core/functional-dashboard.png',
+ href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard/',
+ srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-themed',
+ featured: true,
+ new: true,
+ codeSandbox: true,
+ stackBlitz: true,
+ },
+ {
+ title: 'Vite with React Router and Firebase Auth',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase.',
+ src: '/static/toolpad/docs/core/firebase-vite-light.png',
+ srcDark: '/static/toolpad/docs/core/firebase-vite-dark.png',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/firebase-vite',
+ // Show nothing
+ codeSandbox: false,
+ stackBlitz: false,
+ },
+ {
+ title: 'Vite with React Router and mock authentication',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider.',
+ src: '/static/toolpad/docs/core/vite-react-router.png',
+ srcDark: '/static/toolpad/docs/core/vite-react-router.png', // TODO Fix
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-vite',
+ codeSandbox: true,
+ // Show nothing
+ stackBlitz: false,
+ },
+ {
+ title: 'Next.js App Router with Auth.js Passkey',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App Router.',
+ src: '/static/toolpad/docs/core/auth-next-passkey.png',
+ srcDark: '/static/toolpad/docs/core/auth-next-passkey-dark.png',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey/',
+ // Crash with Prisma
+ codeSandbox: false,
+ stackBlitz: false,
+ },
+ {
+ title: 'Auth.js v4 with Next.js Pages Router',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router.',
+ src: '/static/toolpad/docs/core/auth-next.png',
+ srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
+ source:
+ 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4/',
+ codeSandbox: true,
+ // Show nothing
+ stackBlitz: false,
+ },
+ {
+ title: 'Vite with React Router',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Vite and React Router.',
+ src: '/static/toolpad/docs/core/vite-react-router.png',
+ srcDark: '/static/toolpad/docs/core/vite-react-router.png', // TODO Fix
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/vite/',
+ codeSandbox: true,
+ // Show nothing
+ stackBlitz: false,
+ },
+ {
+ title: 'Auth.js Magic Link with Next.js App Router',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App Router.',
+ src: '/static/toolpad/docs/core/auth-next.png',
+ srcDark: '/static/toolpad/docs/core/auth-next.png', // TODO Fix
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-email',
+ // Crash with Prisma
+ codeSandbox: false,
+ stackBlitz: false,
+ },
+ {
+ title: 'Auth.js with Next.js Pages Router',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router.',
+ src: '/static/toolpad/docs/core/auth-next.png',
+ srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages/',
+ // infinite redirection
+ codeSandbox: false,
+ stackBlitz: false,
+ },
+ {
+ title: 'Auth.js with Next.js App Router',
+ description:
+ 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App Router.',
+ src: '/static/toolpad/docs/core/auth-next.png',
+ srcDark: '/static/toolpad/docs/core/auth-next-dark.png',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs/',
+ codeSandbox: true,
+ stackBlitz: true,
+ },
+ {
+ title: 'Tutorial app',
+ description:
+ 'This app shows you to get started with Toolpad Core and use basic layout and navigation features.',
+ src: '/static/toolpad/docs/core/tutorial-1.png',
+ srcDark: '/static/toolpad/docs/core/tutorial-1.png', // TODO Fix
+ href: 'https://mui.com/toolpad/core/introduction/tutorial/',
+ source: 'https://github.com/mui/toolpad/tree/master/examples/core/tutorial/',
+ codeSandbox: true,
+ stackBlitz: true,
+ },
+] satisfies Example[];
+
+export default coreExamples;
diff --git a/docs/src/modules/components/examples/examplesUtils.ts b/docs/src/modules/components/examples/examplesUtils.ts
new file mode 100644
index 00000000000..54404bbcf6a
--- /dev/null
+++ b/docs/src/modules/components/examples/examplesUtils.ts
@@ -0,0 +1,31 @@
+// TODO move to docs-infra as a shared helper
+/**
+ * This function allows to turn link from the docs to GitHub to be closer to permalink.
+ * Meaning, its purpose is so that we can version the docs while having it continue to work, or
+ * be able to introduce breaking changes on a next active branch without breaking the docs experience
+ * for stable version docs users.
+ */
+export function versionGitHubLink(href: string) {
+ // Bailed out, not a link that needs to be handled.
+ if (!href.startsWith(`${process.env.SOURCE_CODE_REPO}/tree/master`)) {
+ return href;
+ }
+
+ return href.replace(
+ `${process.env.SOURCE_CODE_REPO}/tree/master`,
+ `${process.env.SOURCE_CODE_REPO}/blob/v${process.env.LIB_VERSION}`,
+ );
+}
+
+export interface Example {
+ title: string;
+ description: string;
+ src: string;
+ srcDark: string;
+ href?: string;
+ source: string;
+ codeSandbox?: boolean;
+ stackBlitz?: boolean;
+ new?: boolean;
+ featured?: boolean;
+}
diff --git a/examples/core/auth-nextjs-email/README.md b/examples/core/auth-nextjs-email/README.md
index b31c41650a4..da6cc6f9471 100644
--- a/examples/core/auth-nextjs-email/README.md
+++ b/examples/core/auth-nextjs-email/README.md
@@ -1,4 +1,4 @@
-# Toolpad Core Next.js App Router app with email provider
+# Toolpad Core - Next.js App Router app with email provider
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
diff --git a/examples/core/auth-nextjs-passkey/README.md b/examples/core/auth-nextjs-passkey/README.md
index d55433ada12..7bf46b3ea61 100644
--- a/examples/core/auth-nextjs-passkey/README.md
+++ b/examples/core/auth-nextjs-passkey/README.md
@@ -1,4 +1,4 @@
-# Toolpad Core Playground - Next.js App Router with Passkey
+# Toolpad Core - Next.js App Router with Passkey
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
diff --git a/examples/core/auth-nextjs-themed/README.md b/examples/core/auth-nextjs-themed/README.md
index baa6adbed70..cb926fe14dc 100644
--- a/examples/core/auth-nextjs-themed/README.md
+++ b/examples/core/auth-nextjs-themed/README.md
@@ -1,4 +1,4 @@
-# Create Toolpad App
+# Toolpad Core - Create Toolpad App
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-toolpad-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
@@ -16,7 +16,7 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the
## Run on CodeSandbox
-Run this example on CodeSandbox [here](https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed).
+Run this example on CodeSandbox [here](https://codesandbox.io/p/sandbox/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed).
## Clone using `create-toolpad-app`
diff --git a/examples/core/auth-vite/README.md b/examples/core/auth-vite/README.md
index 77643b462dd..f84b2a951b3 100644
--- a/examples/core/auth-vite/README.md
+++ b/examples/core/auth-vite/README.md
@@ -1,4 +1,4 @@
-# React + TypeScript + Vite
+# Toolpad Core - Vite with React Router and mock authentication
This template provides a minimal setup to get React working in Vite with HMR.
diff --git a/examples/core/firebase-vite/README.md b/examples/core/firebase-vite/README.md
index 72355db4e34..49e6fa69d16 100644
--- a/examples/core/firebase-vite/README.md
+++ b/examples/core/firebase-vite/README.md
@@ -1,4 +1,4 @@
-# React + TypeScript + Vite
+# Toolpad Core - Vite with React Router and Firebase Auth
This template provides a minimal setup to get React working in Vite with HMR, and authentication with Firebase.
diff --git a/examples/core/vite/README.md b/examples/core/vite/README.md
index 5f2dc7485c8..1ef91e1e4f0 100644
--- a/examples/core/vite/README.md
+++ b/examples/core/vite/README.md
@@ -1,4 +1,4 @@
-# Toolpad Core - Vite & React Router
+# Toolpad Core - Vite with React Router
This example provides a minimal setup to get Toolpad Core working in Vite with HMR, as well as routing with React Router.
diff --git a/package.json b/package.json
index dcc79114c93..be2d38330c2 100644
--- a/package.json
+++ b/package.json
@@ -58,7 +58,7 @@
"@mui/internal-scripts": "1.0.30",
"@mui/monorepo": "github:mui/material-ui#3570a80975bbd83bfcd0927c34faaf5fe777b5ff",
"@mui/x-charts": "7.22.2",
- "@next/eslint-plugin-next": "14.2.20",
+ "@next/eslint-plugin-next": "14.2.21",
"@playwright/test": "1.47.2",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "16.0.1",
@@ -71,12 +71,13 @@
"@types/yargs": "17.0.33",
"@typescript-eslint/eslint-plugin": "7.18.0",
"@typescript-eslint/parser": "7.18.0",
- "@vitest/coverage-v8": "2.1.7",
+ "@vitest/coverage-v8": "2.1.8",
"babel-plugin-react-remove-properties": "0.3.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
"chalk": "5.3.0",
"concurrently": "9.1.0",
"css-mediaquery": "^0.1.2",
+ "danger": "^12.3.3",
"eslint": "8.57.1",
"eslint-config-airbnb": "19.0.4",
"eslint-config-airbnb-typescript": "18.0.0",
@@ -114,7 +115,7 @@
},
"dependencies": {
"@types/lodash": "4.17.13",
- "@vitest/browser": "2.1.7",
+ "@vitest/browser": "2.1.8",
"archiver": "7.0.1",
"cross-env": "7.0.3",
"dotenv-cli": "7.4.4",
@@ -125,7 +126,7 @@
"semver": "7.6.3",
"tsup": "8.3.5",
"tsx": "4.19.2",
- "vitest": "2.1.7",
+ "vitest": "2.1.8",
"yargs": "17.7.2",
"zod": "3.23.8",
"zod-to-json-schema": "3.23.5"
diff --git a/packages/create-toolpad-app/src/generateProject.ts b/packages/create-toolpad-app/src/generateProject.ts
index 2fa766bdd23..97b71b55b76 100644
--- a/packages/create-toolpad-app/src/generateProject.ts
+++ b/packages/create-toolpad-app/src/generateProject.ts
@@ -10,7 +10,7 @@ import ordersPage from './templates/ordersPage';
import packageJson from './templates/packageJson';
import indexPage from './templates/indexPage';
-// App router specific files
+// App Router specific files
import rootLayout from './templates/nextjs-app/rootLayout';
import dashboardLayout from './templates/nextjs-app/dashboardLayout';
@@ -27,11 +27,11 @@ import prisma from './templates/auth/prisma';
import env from './templates/auth/env';
import schemaPrisma from './templates/auth/schemaPrisma';
-// Auth files for app router
+// Auth files for App Router
import signInPage from './templates/auth/nextjs-app/signInPage';
import signInAction from './templates/auth/nextjs-app/actions';
-// Auth files for pages router
+// Auth files for Pages Router
import signInPagePagesRouter from './templates/auth/nextjs-pages/signIn';
import { GenerateProjectOptions } from './types';
@@ -72,7 +72,7 @@ export default function generateProject(
['auth.ts', { content: auth(options) }],
['.env.local', { content: envLocal(options) }],
['middleware.ts', { content: middleware }],
- // next-auth v5 does not provide an API route, so this file must be in the app router
+ // next-auth v5 does not provide an API route, so this file must be in the App Router
// even if the rest of the app is using pages router
// https://authjs.dev/getting-started/installation#configure
['app/api/auth/[...nextAuth]/route.ts', { content: routeHandler }],
diff --git a/packages/toolpad-core/package.json b/packages/toolpad-core/package.json
index b7a2b2123c4..572ece518dc 100644
--- a/packages/toolpad-core/package.json
+++ b/packages/toolpad-core/package.json
@@ -72,13 +72,13 @@
"@types/react": "18.3.18",
"@types/react-dom": "18.3.1",
"@types/sinon": "^17.0.3",
- "@vitest/browser": "2.1.7",
- "next": "^15.0.4",
+ "@vitest/browser": "2.1.8",
+ "next": "^15.1.2",
"next-router-mock": "^0.9.13",
"playwright": "^1.47.2",
"react-router-dom": "6.26.2",
"sinon": "^19.0.2",
- "vitest": "2.1.7"
+ "vitest": "2.1.8"
},
"peerDependencies": {
"@mui/icons-material": "5 - 6",
diff --git a/packages/toolpad-utils/package.json b/packages/toolpad-utils/package.json
index ece090915c8..d29fd9c8904 100644
--- a/packages/toolpad-utils/package.json
+++ b/packages/toolpad-utils/package.json
@@ -71,6 +71,6 @@
"@types/react": "18.3.18",
"@types/react-is": "18.3.0",
"@types/title": "3.4.3",
- "vitest": "2.1.7"
+ "vitest": "2.1.8"
}
}
diff --git a/playground/nextjs-pages/package.json b/playground/nextjs-pages/package.json
index 9dcedb29c27..f48669558d0 100644
--- a/playground/nextjs-pages/package.json
+++ b/playground/nextjs-pages/package.json
@@ -15,8 +15,8 @@
"@toolpad/core": "workspace:*",
"@types/react": "18.3.18",
"@types/react-dom": "18.3.1",
- "eslint-config-next": "15.0.4",
- "next": "15.0.4",
+ "eslint-config-next": "15.1.2",
+ "next": "15.1.2",
"next-auth": "5.0.0-beta.25",
"react": "18.3.1",
"react-dom": "18.3.1"
diff --git a/playground/nextjs/package.json b/playground/nextjs/package.json
index 02f1ae24cd1..1a43698a32f 100644
--- a/playground/nextjs/package.json
+++ b/playground/nextjs/package.json
@@ -16,8 +16,8 @@
"@types/node": "^20.17.6",
"@types/react": "18.3.18",
"@types/react-dom": "18.3.1",
- "eslint-config-next": "15.0.4",
- "next": "15.0.4",
+ "eslint-config-next": "15.1.2",
+ "next": "15.1.2",
"next-auth": "5.0.0-beta.25",
"react": "18.3.1",
"react-dom": "18.3.1"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c0cf277b1c5..4c072d4075b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,8 +16,8 @@ importers:
specifier: 4.17.13
version: 4.17.13
'@vitest/browser':
- specifier: 2.1.7
- version: 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)
+ specifier: 2.1.8
+ version: 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)
archiver:
specifier: 7.0.1
version: 7.0.1
@@ -49,8 +49,8 @@ importers:
specifier: 4.19.2
version: 4.19.2
vitest:
- specifier: 2.1.7
- version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ specifier: 2.1.8
+ version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
yargs:
specifier: 17.7.2
version: 17.7.2
@@ -107,8 +107,8 @@ importers:
specifier: 7.22.2
version: 7.22.2(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@mui/material@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mui/system@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@next/eslint-plugin-next':
- specifier: 14.2.20
- version: 14.2.20
+ specifier: 14.2.21
+ version: 14.2.21
'@playwright/test':
specifier: 1.47.2
version: 1.47.2
@@ -146,8 +146,8 @@ importers:
specifier: 7.18.0
version: 7.18.0(eslint@8.57.1)(typescript@5.7.2)
'@vitest/coverage-v8':
- specifier: 2.1.7
- version: 2.1.7(@vitest/browser@2.1.7)(vitest@2.1.7)
+ specifier: 2.1.8
+ version: 2.1.8(@vitest/browser@2.1.8)(vitest@2.1.8)
babel-plugin-react-remove-properties:
specifier: 0.3.0
version: 0.3.0
@@ -163,6 +163,9 @@ importers:
css-mediaquery:
specifier: ^0.1.2
version: 0.1.2
+ danger:
+ specifier: ^12.3.3
+ version: 12.3.3(encoding@0.1.13)
eslint:
specifier: 8.57.1
version: 8.57.1
@@ -198,7 +201,7 @@ importers:
version: 7.37.2(eslint@8.57.1)
eslint-plugin-react-compiler:
specifier: latest
- version: 19.0.0-beta-b2e8e9c-20241220(eslint@8.57.1)
+ version: 19.0.0-beta-63e3235-20250105(eslint@8.57.1)
eslint-plugin-react-hooks:
specifier: 5.0.0
version: 5.0.0(eslint@8.57.1)
@@ -261,10 +264,10 @@ importers:
version: 5.0.0
vitest-dom:
specifier: 0.1.1
- version: 0.1.1(vitest@2.1.7)
+ version: 0.1.1(vitest@2.1.8)
vitest-fail-on-console:
specifier: 0.7.1
- version: 0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)
+ version: 0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)
docs:
dependencies:
@@ -297,7 +300,7 @@ importers:
version: 5.0.0-beta.67(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/docs':
specifier: 6.2.1
- version: 6.2.1(x43f62rk27uyul4byumexdvu2u)
+ version: 6.2.1(wopobyujwuhvxg6p5iwz22urga)
'@mui/icons-material':
specifier: 6.2.1
version: 6.2.1(@mui/material@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
@@ -315,7 +318,7 @@ importers:
version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: 6.2.1
- version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@mui/styles':
specifier: 6.2.1
version: 6.2.1(@types/react@18.3.18)(react@18.3.1)
@@ -422,8 +425,8 @@ importers:
specifier: 7.7.0
version: 7.7.0(react@18.3.1)
next:
- specifier: ^14.2.20
- version: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^14.2.21
+ version: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
nprogress:
specifier: 0.2.0
version: 0.2.0
@@ -657,14 +660,14 @@ importers:
specifier: ^17.0.3
version: 17.0.3
'@vitest/browser':
- specifier: 2.1.7
- version: 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)
+ specifier: 2.1.8
+ version: 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)
next:
- specifier: ^15.0.4
- version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^15.1.2
+ version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-router-mock:
specifier: ^0.9.13
- version: 0.9.13(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 0.9.13(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
playwright:
specifier: ^1.47.2
version: 1.48.2
@@ -675,8 +678,8 @@ importers:
specifier: ^19.0.2
version: 19.0.2
vitest:
- specifier: 2.1.7
- version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ specifier: 2.1.8
+ version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
publishDirectory: build
packages/toolpad-studio:
@@ -1196,8 +1199,8 @@ importers:
specifier: 3.4.3
version: 3.4.3
vitest:
- specifier: 2.1.7
- version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ specifier: 2.1.8
+ version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
playground/nextjs:
devDependencies:
@@ -1215,7 +1218,7 @@ importers:
version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: 6.2.1
- version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@toolpad/core':
specifier: workspace:*
version: link:../../packages/toolpad-core/build
@@ -1229,14 +1232,14 @@ importers:
specifier: 18.3.1
version: 18.3.1
eslint-config-next:
- specifier: 15.0.4
- version: 15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2)
+ specifier: 15.1.2
+ version: 15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2)
next:
- specifier: 15.0.4
- version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 15.1.2
+ version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -1260,7 +1263,7 @@ importers:
version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mui/material-nextjs':
specifier: 6.2.1
- version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@toolpad/core':
specifier: workspace:*
version: link:../../packages/toolpad-core/build
@@ -1271,14 +1274,14 @@ importers:
specifier: 18.3.1
version: 18.3.1
eslint-config-next:
- specifier: 15.0.4
- version: 15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2)
+ specifier: 15.1.2
+ version: 15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2)
next:
- specifier: 15.0.4
- version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 15.1.2
+ version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -1356,7 +1359,7 @@ importers:
version: 18.3.1(react@18.3.1)
recharts:
specifier: alpha
- version: 2.13.0-alpha.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 3.0.0-alpha.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0)(react@18.3.1)(redux@5.0.1)
packages:
@@ -2693,6 +2696,18 @@ packages:
'@floating-ui/utils@0.2.8':
resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+ '@gitbeaker/core@38.12.1':
+ resolution: {integrity: sha512-8XMVcBIdVAAoxn7JtqmZ2Ee8f+AZLcCPmqEmPFOXY2jPS84y/DERISg/+sbhhb18iRy+ZsZhpWgQ/r3CkYNJOQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@gitbeaker/requester-utils@38.12.1':
+ resolution: {integrity: sha512-Rc/DgngS0YPN+AY1s9UnexKSy4Lh0bkQVAq9p7PRbRpXb33SlTeCg8eg/8+A/mrMcHgYmP0XhH8lkizyA5tBUQ==}
+ engines: {node: '>=18.0.0'}
+
+ '@gitbeaker/rest@38.12.1':
+ resolution: {integrity: sha512-9KMSDtJ/sIov+5pcH+CAfiJXSiuYgN0KLKQFg0HHWR2DwcjGYkcbmhoZcWsaOWOqq4kihN1l7wX91UoRxxKKTQ==}
+ engines: {node: '>=18.0.0'}
+
'@googleapis/drive@8.14.0':
resolution: {integrity: sha512-AOokfpP6pCdcJXWA8khaCEgbGpWYavWTdAAhL4idbbf2VCQcJ2f7vPalAYNu6a4Sfj0Ly4Ehnd1xw9J9TixB1A==}
engines: {node: '>=12.0.0'}
@@ -3494,116 +3509,116 @@ packages:
resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==}
engines: {node: '>=18.0.0'}
- '@next/env@14.2.20':
- resolution: {integrity: sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==}
+ '@next/env@14.2.21':
+ resolution: {integrity: sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==}
- '@next/env@15.0.4':
- resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==}
+ '@next/env@15.1.2':
+ resolution: {integrity: sha512-Hm3jIGsoUl6RLB1vzY+dZeqb+/kWPZ+h34yiWxW0dV87l8Im/eMOwpOA+a0L78U0HM04syEjXuRlCozqpwuojQ==}
- '@next/eslint-plugin-next@14.2.20':
- resolution: {integrity: sha512-T0JRi706KLbvR1Uc46t56VtawbhR/igdBagzOrA7G+vv4rvjwnlu/Y4/Iq6X9TDVj5UZjyot4lUdkNd3V2kLhw==}
+ '@next/eslint-plugin-next@14.2.21':
+ resolution: {integrity: sha512-bxfiExnMkpwo4bBhCqnDhdgFyxSp6Xt6xu4Ne7En6MpgqwiER95Or+q1WDUDX4e888taeIAdPIAVaY+Wv0kiwQ==}
- '@next/eslint-plugin-next@15.0.4':
- resolution: {integrity: sha512-rbsF17XGzHtR7SDWzWpavSfum3/UdnF8bAaisnKwP//si3KWPTedVUsflAdjyK1zW3rweBjbALfKcavFneLGvg==}
+ '@next/eslint-plugin-next@15.1.2':
+ resolution: {integrity: sha512-sgfw3+WdaYOGPKCvM1L+UucBmRfh8V2Ygefp7ELON0+0vY7uohQwXXnVWg3rY7mXDKharQR3o7uedpfvnU2hlQ==}
- '@next/swc-darwin-arm64@14.2.20':
- resolution: {integrity: sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==}
+ '@next/swc-darwin-arm64@14.2.21':
+ resolution: {integrity: sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-arm64@15.0.4':
- resolution: {integrity: sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==}
+ '@next/swc-darwin-arm64@15.1.2':
+ resolution: {integrity: sha512-b9TN7q+j5/7+rGLhFAVZiKJGIASuo8tWvInGfAd8wsULjB1uNGRCj1z1WZwwPWzVQbIKWFYqc+9L7W09qwt52w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@14.2.20':
- resolution: {integrity: sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==}
+ '@next/swc-darwin-x64@14.2.21':
+ resolution: {integrity: sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-darwin-x64@15.0.4':
- resolution: {integrity: sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==}
+ '@next/swc-darwin-x64@15.1.2':
+ resolution: {integrity: sha512-caR62jNDUCU+qobStO6YJ05p9E+LR0EoXh1EEmyU69cYydsAy7drMcOlUlRtQihM6K6QfvNwJuLhsHcCzNpqtA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@14.2.20':
- resolution: {integrity: sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==}
+ '@next/swc-linux-arm64-gnu@14.2.21':
+ resolution: {integrity: sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-gnu@15.0.4':
- resolution: {integrity: sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==}
+ '@next/swc-linux-arm64-gnu@15.1.2':
+ resolution: {integrity: sha512-fHHXBusURjBmN6VBUtu6/5s7cCeEkuGAb/ZZiGHBLVBXMBy4D5QpM8P33Or8JD1nlOjm/ZT9sEE5HouQ0F+hUA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@14.2.20':
- resolution: {integrity: sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==}
+ '@next/swc-linux-arm64-musl@14.2.21':
+ resolution: {integrity: sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.0.4':
- resolution: {integrity: sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==}
+ '@next/swc-linux-arm64-musl@15.1.2':
+ resolution: {integrity: sha512-9CF1Pnivij7+M3G74lxr+e9h6o2YNIe7QtExWq1KUK4hsOLTBv6FJikEwCaC3NeYTflzrm69E5UfwEAbV2U9/g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@14.2.20':
- resolution: {integrity: sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==}
+ '@next/swc-linux-x64-gnu@14.2.21':
+ resolution: {integrity: sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.0.4':
- resolution: {integrity: sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==}
+ '@next/swc-linux-x64-gnu@15.1.2':
+ resolution: {integrity: sha512-tINV7WmcTUf4oM/eN3Yuu/f8jQ5C6AkueZPKeALs/qfdfX57eNv4Ij7rt0SA6iZ8+fMobVfcFVv664Op0caCCg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@14.2.20':
- resolution: {integrity: sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==}
+ '@next/swc-linux-x64-musl@14.2.21':
+ resolution: {integrity: sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.0.4':
- resolution: {integrity: sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==}
+ '@next/swc-linux-x64-musl@15.1.2':
+ resolution: {integrity: sha512-jf2IseC4WRsGkzeUw/cK3wci9pxR53GlLAt30+y+B+2qAQxMw6WAC3QrANIKxkcoPU3JFh/10uFfmoMDF9JXKg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@14.2.20':
- resolution: {integrity: sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==}
+ '@next/swc-win32-arm64-msvc@14.2.21':
+ resolution: {integrity: sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-arm64-msvc@15.0.4':
- resolution: {integrity: sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==}
+ '@next/swc-win32-arm64-msvc@15.1.2':
+ resolution: {integrity: sha512-wvg7MlfnaociP7k8lxLX4s2iBJm4BrNiNFhVUY+Yur5yhAJHfkS8qPPeDEUH8rQiY0PX3u/P7Q/wcg6Mv6GSAA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-ia32-msvc@14.2.20':
- resolution: {integrity: sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==}
+ '@next/swc-win32-ia32-msvc@14.2.21':
+ resolution: {integrity: sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
- '@next/swc-win32-x64-msvc@14.2.20':
- resolution: {integrity: sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==}
+ '@next/swc-win32-x64-msvc@14.2.21':
+ resolution: {integrity: sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.0.4':
- resolution: {integrity: sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==}
+ '@next/swc-win32-x64-msvc@15.1.2':
+ resolution: {integrity: sha512-D3cNA8NoT3aWISWmo7HF5Eyko/0OdOO+VagkoJuiTk7pyX3P/b+n8XA/MYvyR+xSVcbKn68B1rY9fgqjNISqzQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -3757,28 +3772,48 @@ packages:
cpu: [x64]
os: [win32]
+ '@octokit/auth-token@2.5.0':
+ resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
+
'@octokit/auth-token@3.0.4':
resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==}
engines: {node: '>= 14'}
+ '@octokit/core@3.6.0':
+ resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==}
+
'@octokit/core@4.2.4':
resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==}
engines: {node: '>= 14'}
+ '@octokit/endpoint@6.0.12':
+ resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==}
+
'@octokit/endpoint@7.0.6':
resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==}
engines: {node: '>= 14'}
+ '@octokit/graphql@4.8.0':
+ resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==}
+
'@octokit/graphql@5.0.6':
resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==}
engines: {node: '>= 14'}
+ '@octokit/openapi-types@12.11.0':
+ resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==}
+
'@octokit/openapi-types@18.1.1':
resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==}
'@octokit/plugin-enterprise-rest@6.0.1':
resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==}
+ '@octokit/plugin-paginate-rest@2.21.3':
+ resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==}
+ peerDependencies:
+ '@octokit/core': '>=2'
+
'@octokit/plugin-paginate-rest@6.1.2':
resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==}
engines: {node: '>= 14'}
@@ -3790,20 +3825,34 @@ packages:
peerDependencies:
'@octokit/core': '>=3'
+ '@octokit/plugin-rest-endpoint-methods@5.16.2':
+ resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==}
+ peerDependencies:
+ '@octokit/core': '>=3'
+
'@octokit/plugin-rest-endpoint-methods@7.2.3':
resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==}
engines: {node: '>= 14'}
peerDependencies:
'@octokit/core': '>=3'
+ '@octokit/request-error@2.1.0':
+ resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
+
'@octokit/request-error@3.0.3':
resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==}
engines: {node: '>= 14'}
+ '@octokit/request@5.6.3':
+ resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==}
+
'@octokit/request@6.2.8':
resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==}
engines: {node: '>= 14'}
+ '@octokit/rest@18.12.0':
+ resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==}
+
'@octokit/rest@19.0.11':
resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==}
engines: {node: '>= 14'}
@@ -3814,6 +3863,9 @@ packages:
'@octokit/types@10.0.0':
resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==}
+ '@octokit/types@6.41.0':
+ resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==}
+
'@octokit/types@9.3.2':
resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==}
@@ -3883,6 +3935,17 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ '@reduxjs/toolkit@2.5.0':
+ resolution: {integrity: sha512-awNe2oTodsZ6LmRqmkFhtb/KH03hUhxOamEQy411m3Njj3BbFvoBovxo4Q1cBWnV1ErprVj9MlF0UPXkng0eyg==}
+ peerDependencies:
+ react: ^16.9.0 || ^17.0.0 || ^18 || ^19
+ react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-redux:
+ optional: true
+
'@remix-run/router@1.19.2':
resolution: {integrity: sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==}
engines: {node: '>=14.0.0'}
@@ -4060,8 +4123,8 @@ packages:
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
- '@swc/helpers@0.5.13':
- resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==}
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
@@ -4112,6 +4175,10 @@ packages:
peerDependencies:
'@testing-library/dom': '>=7.21.4'
+ '@tootallnate/once@2.0.0':
+ resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+ engines: {node: '>= 10'}
+
'@trendmicro/react-interpolate@0.5.5':
resolution: {integrity: sha512-PjkRT3XeK30kGjmSRn//4L106ekZfFkjqQ85G8K1hDdT7aYdng0Hz1MSLJjW9XNiljdTNB8D8Sm4tiBhdz5P3A==}
peerDependencies:
@@ -4415,6 +4482,9 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/use-sync-external-store@0.0.6':
+ resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
+
'@types/webidl-conversions@7.0.3':
resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==}
@@ -4542,12 +4612,12 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0
- '@vitest/browser@2.1.7':
- resolution: {integrity: sha512-jR5rNWDH8v50tzcwM7R1DGYu/3MNmXFW/BaNJkhkOee3GJ0MfT1KNWNAFWyjSExPUPnFqlijBPWobG3rTLdPeg==}
+ '@vitest/browser@2.1.8':
+ resolution: {integrity: sha512-OWVvEJThRgxlNMYNVLEK/9qVkpRcLvyuKLngIV3Hob01P56NjPHprVBYn+rx4xAJudbM9yrCrywPIEuA3Xyo8A==}
peerDependencies:
playwright: '*'
safaridriver: '*'
- vitest: 2.1.7
+ vitest: 2.1.8
webdriverio: '*'
peerDependenciesMeta:
playwright:
@@ -4557,20 +4627,20 @@ packages:
webdriverio:
optional: true
- '@vitest/coverage-v8@2.1.7':
- resolution: {integrity: sha512-deQ4J+yu6nEjmEfcBndbgrRM95IZoRpV1dDVRbZhjUcgYVZz/Wc4YaLiDDt9Sy5qcikrJUZMlrUxDy7dBojebg==}
+ '@vitest/coverage-v8@2.1.8':
+ resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==}
peerDependencies:
- '@vitest/browser': 2.1.7
- vitest: 2.1.7
+ '@vitest/browser': 2.1.8
+ vitest: 2.1.8
peerDependenciesMeta:
'@vitest/browser':
optional: true
- '@vitest/expect@2.1.7':
- resolution: {integrity: sha512-folWk4qQDEedgUyvaZw94LIJuNLoDtY+rhKhhNy0csdwifn/pQz8EWVRnyrW3j0wMpy+xwJT8WiwiYxk+i+s7w==}
+ '@vitest/expect@2.1.8':
+ resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==}
- '@vitest/mocker@2.1.7':
- resolution: {integrity: sha512-nKMTnuJrarFH+7llWxeLmYRldIwTY3OM1DzdytHj0f2+fah6Cyk4XbswhjOiTCnAvXsZAEoo1OaD6rneSSU+3Q==}
+ '@vitest/mocker@2.1.8':
+ resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==}
peerDependencies:
msw: ^2.4.9
vite: ^5.0.0
@@ -4580,20 +4650,20 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@2.1.7':
- resolution: {integrity: sha512-HoqRIyfQlXPrRDB43h0lC8eHPUDPwFweMaD6t+psOvwClCC+oZZim6wPMjuoMnRdiFxXqbybg/QbuewgTwK1vA==}
+ '@vitest/pretty-format@2.1.8':
+ resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==}
- '@vitest/runner@2.1.7':
- resolution: {integrity: sha512-MrDNpXUIXksR57qipYh068SOX4N1hVw6oVILlTlfeTyA1rp0asuljyp15IZwKqhjpWLObFj+tiNrOM4R8UnSqg==}
+ '@vitest/runner@2.1.8':
+ resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==}
- '@vitest/snapshot@2.1.7':
- resolution: {integrity: sha512-OioIxV/xS393DKdlkRNhmtY0K37qVdCv8w1M2SlLTBSX+fNK6zgcd01VlT1nXdbKVDaB8Zb6BOfQYYoGeGTEGg==}
+ '@vitest/snapshot@2.1.8':
+ resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==}
- '@vitest/spy@2.1.7':
- resolution: {integrity: sha512-e5pzIaIC0LBrb/j1FaF7HXlPJLGtltiAkwXTMqNEHALJc7USSLEwziJ+aIWTmjsWNg89zazg37h7oZITnublsQ==}
+ '@vitest/spy@2.1.8':
+ resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==}
- '@vitest/utils@2.1.7':
- resolution: {integrity: sha512-7gUdvIzCCuIrMZu0WHTvDJo8C1NsUtOqmwmcS3bRHUcfHemj29wmkzLVNuWQD7WHoBD/+I7WIgrnzt7kxR54ow==}
+ '@vitest/utils@2.1.8':
+ resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==}
'@webassemblyjs/ast@1.12.1':
resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
@@ -4701,6 +4771,10 @@ packages:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
agent-base@7.1.1:
resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
engines: {node: '>= 14'}
@@ -4744,6 +4818,10 @@ packages:
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
engines: {node: '>=12'}
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -4885,6 +4963,9 @@ packages:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
+ async-retry@1.2.3:
+ resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==}
+
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
@@ -5119,6 +5200,10 @@ packages:
chainsaw@0.1.0:
resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
chalk@3.0.0:
resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
engines: {node: '>=8'}
@@ -5238,10 +5323,16 @@ packages:
resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
@@ -5256,6 +5347,10 @@ packages:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
engines: {node: '>=12.5.0'}
+ colors@1.4.0:
+ resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==}
+ engines: {node: '>=0.1.90'}
+
columnify@1.6.0:
resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==}
engines: {node: '>=8.0.0'}
@@ -5564,6 +5659,11 @@ packages:
damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ danger@12.3.3:
+ resolution: {integrity: sha512-nZKzpgXN21rr4dwa6bFhM7G2JEa79dZRJiT3RVRSyi4yk1/hgZ2f8HDGoa7tMladTmu8WjJFyE3LpBIihh+aDw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
dargs@7.0.0:
resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
engines: {node: '>=8'}
@@ -5980,8 +6080,8 @@ packages:
eslint-plugin-react: ^7.28.0
eslint-plugin-react-hooks: ^4.3.0
- eslint-config-next@15.0.4:
- resolution: {integrity: sha512-97mLaAhbJKVQYXUBBrenRtEUAA6bNDPxWfaFEd6mEhKfpajP4wJrW4l7BUlHuYWxR8oQa9W014qBJpumpJQwWA==}
+ eslint-config-next@15.1.2:
+ resolution: {integrity: sha512-PrMm1/4zWSJ689wd/ypWIR5ZF1uvmp3EkgpgBV1Yu6PhEobBjXMGgT8bVNelwl17LXojO8D5ePFRiI4qXjsPRA==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
typescript: '>=3.3.1'
@@ -6072,8 +6172,8 @@ packages:
peerDependencies:
eslint: '>=7.0.0'
- eslint-plugin-react-compiler@19.0.0-beta-b2e8e9c-20241220:
- resolution: {integrity: sha512-STVaOQyivSBv0un6/ujYOPntKcCaD0qXIG8siBEs9QcWmQ7q3J3ozuAE86SlSc7ElIZgPoL9HoSN3EONS47nqQ==}
+ eslint-plugin-react-compiler@19.0.0-beta-63e3235-20250105:
+ resolution: {integrity: sha512-Smts5x+u+rRopr0926jCXFPkS8D8hFJexDvTW41V0Xu/xHgd4pnGWiJQRBsvTEARzOdJ6NdlmYs4n+O4Thn2iA==}
engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0}
peerDependencies:
eslint: '>=7'
@@ -6208,6 +6308,10 @@ packages:
resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==}
engines: {node: ^18.19.0 || >=20.5.0}
+ expand-tilde@2.0.2:
+ resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
+ engines: {node: '>=0.10.0'}
+
expect-type@1.1.0:
resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
engines: {node: '>=12.0.0'}
@@ -6223,6 +6327,10 @@ packages:
resolution: {integrity: sha512-ORF7g6qGnD+YtUG9yx4DFoqCShNMmUKiXuT5oWMHiOvt/4WFbHC6yCwQMTSBMno7AqntNCAzzcnnjowRkTL9eQ==}
engines: {node: '>= 18'}
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -6427,6 +6535,10 @@ packages:
fs-constants@1.0.0:
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+ fs-exists-sync@0.1.0:
+ resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==}
+ engines: {node: '>=0.10.0'}
+
fs-extra@11.2.0:
resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
engines: {node: '>=14.14'}
@@ -6513,6 +6625,10 @@ packages:
resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==}
engines: {node: '>=16'}
+ get-stdin@6.0.0:
+ resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==}
+ engines: {node: '>=4'}
+
get-stream@6.0.0:
resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==}
engines: {node: '>=10'}
@@ -6536,6 +6652,10 @@ packages:
get-tsconfig@4.8.1:
resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
+ git-config-path@1.0.1:
+ resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==}
+ engines: {node: '>=0.10.0'}
+
git-raw-commits@3.0.0:
resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==}
engines: {node: '>=14'}
@@ -6668,6 +6788,14 @@ packages:
has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ has-flag@2.0.0:
+ resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==}
+ engines: {node: '>=0.10.0'}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
@@ -6746,6 +6874,10 @@ packages:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
+ http-proxy-agent@5.0.0:
+ resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
+ engines: {node: '>= 6'}
+
http-proxy-agent@7.0.2:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
@@ -6762,6 +6894,10 @@ packages:
resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
engines: {node: '>=8.0.0'}
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
https-proxy-agent@7.0.5:
resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
engines: {node: '>= 14'}
@@ -6778,6 +6914,10 @@ packages:
resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==}
engines: {node: '>=18.18.0'}
+ hyperlinker@1.0.0:
+ resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==}
+ engines: {node: '>=4'}
+
hyphenate-style-name@1.1.0:
resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==}
@@ -6807,6 +6947,9 @@ packages:
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
+ immer@10.1.1:
+ resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==}
+
immer@9.0.21:
resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
@@ -6937,6 +7080,10 @@ packages:
is-electron@2.2.2:
resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==}
+ is-extendable@0.1.1:
+ resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -7272,6 +7419,10 @@ packages:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0}
+ jsonpointer@5.0.1:
+ resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
+ engines: {node: '>=0.10.0'}
+
jsonwebtoken@9.0.2:
resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
engines: {node: '>=12', npm: '>=6'}
@@ -7472,6 +7623,9 @@ packages:
lodash.escaperegexp@4.1.2:
resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==}
+ lodash.find@4.6.0:
+ resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==}
+
lodash.flatten@4.4.0:
resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
@@ -7505,6 +7659,9 @@ packages:
lodash.isnumber@3.0.3:
resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==}
+ lodash.isobject@3.0.2:
+ resolution: {integrity: sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==}
+
lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
@@ -7517,6 +7674,15 @@ packages:
lodash.kebabcase@4.1.1:
resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+ lodash.keys@4.2.0:
+ resolution: {integrity: sha512-J79MkJcp7Df5mizHiVNpjoHXLi4HLjh9VLS/M7lQSGoQ+0oQ+lWEigREkqKyizPB1IawvQLLKY8mzEcm1tkyxQ==}
+
+ lodash.mapvalues@4.6.0:
+ resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==}
+
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@@ -7676,6 +7842,9 @@ packages:
resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
engines: {node: '>= 0.8'}
+ memfs-or-file-map-to-github-branch@1.2.1:
+ resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==}
+
memfs@3.5.3:
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
engines: {node: '>= 4.0.0'}
@@ -8027,8 +8196,8 @@ packages:
next: '>=10.0.0'
react: '>=17.0.0'
- next@14.2.20:
- resolution: {integrity: sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==}
+ next@14.2.21:
+ resolution: {integrity: sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -8045,16 +8214,16 @@ packages:
sass:
optional: true
- next@15.0.4:
- resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==}
+ next@15.1.2:
+ resolution: {integrity: sha512-nLJDV7peNy+0oHlmY2JZjzMfJ8Aj0/dd3jCwSZS8ZiO5nkQfcZRqDrRN3U5rJtqVTQneIOGZzb6LCNrk7trMCQ==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.1.0
'@playwright/test': ^1.41.2
babel-plugin-react-compiler: '*'
- react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0
- react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
sass: ^1.3.0
peerDependenciesMeta:
'@opentelemetry/api':
@@ -8069,6 +8238,9 @@ packages:
nise@6.1.1:
resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==}
+ node-cleanup@2.1.2:
+ resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==}
+
node-dir@0.1.17:
resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
engines: {node: '>= 0.10.5'}
@@ -8306,6 +8478,9 @@ packages:
outvariant@1.4.3:
resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
+ override-require@1.1.1:
+ resolution: {integrity: sha512-eoJ9YWxFcXbrn2U8FKT6RV+/Kj7fiGAB1VvHzbYKt8xM5ZuKZgCGvnHzDxmreEjcBH28ejg5MiOH4iyY1mQnkg==}
+
p-event@5.0.1:
resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -8429,6 +8604,18 @@ packages:
resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ parse-diff@0.7.1:
+ resolution: {integrity: sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==}
+
+ parse-git-config@2.0.3:
+ resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==}
+ engines: {node: '>=6'}
+
+ parse-github-url@1.0.3:
+ resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==}
+ engines: {node: '>= 0.10'}
+ hasBin: true
+
parse-json@4.0.0:
resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
engines: {node: '>=4'}
@@ -8437,6 +8624,9 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
+ parse-link-header@2.0.0:
+ resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==}
+
parse-ms@4.0.0:
resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
engines: {node: '>=18'}
@@ -8601,6 +8791,9 @@ packages:
resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
engines: {node: '>=10'}
+ pinpoint@1.1.0:
+ resolution: {integrity: sha512-+04FTD9x7Cls2rihLlo57QDCcHoLBGn5Dk51SwtFBWkUWLxZaBXyNVpCw1S+atvE7GmnFjeaRZ0WLq3UYuqAdg==}
+
pirates@4.0.6:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
@@ -8775,6 +8968,10 @@ packages:
peerDependencies:
prettier: ^3.0.0
+ prettyjson@1.2.5:
+ resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==}
+ hasBin: true
+
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -8951,6 +9148,18 @@ packages:
react-is@19.0.0:
resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==}
+ react-redux@9.2.0:
+ resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==}
+ peerDependencies:
+ '@types/react': ^18.2.25 || ^19
+ react: ^18.0 || ^19
+ redux: ^5.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ redux:
+ optional: true
+
react-refresh@0.14.2:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
@@ -9076,19 +9285,21 @@ packages:
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
engines: {node: '>= 14.16.0'}
+ readline-sync@1.4.10:
+ resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==}
+ engines: {node: '>= 0.8.0'}
+
recast@0.23.9:
resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==}
engines: {node: '>= 4'}
- recharts-scale@0.4.5:
- resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
-
- recharts@2.13.0-alpha.5:
- resolution: {integrity: sha512-mm8ORfDusDhyWlrY/2NntUAsNeYukteplvRqKGkBEmqNPwqYq9GoEzaVsVDYj8bjGSKJynWGhjEO1NFcntl29g==}
- engines: {node: '>=14'}
+ recharts@3.0.0-alpha.0:
+ resolution: {integrity: sha512-phxJucbwKseB0fwvu2JDhFsXValIcTe5PdzJEOZH2e+mL6zAAWMMZjp4MN8yrHMsfSiK2T63xQLp5HL6HQC3pA==}
+ engines: {node: '>=18'}
peerDependencies:
- react: ^16.0.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-is: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
recursive-readdir@2.2.3:
resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==}
@@ -9102,6 +9313,14 @@ packages:
resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
engines: {node: '>=12'}
+ redux-thunk@3.1.0:
+ resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==}
+ peerDependencies:
+ redux: ^5.0.0
+
+ redux@5.0.1:
+ resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==}
+
reflect.getprototypeof@1.0.6:
resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
engines: {node: '>= 0.4'}
@@ -9116,6 +9335,9 @@ packages:
regenerator-runtime@0.12.1:
resolution: {integrity: sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==}
+ regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
@@ -9706,6 +9928,10 @@ packages:
resolution: {integrity: sha512-W3n+NJ7TFjaLle8ihIIvsr/bbuKpnxeatsyjmhy7iSkom+/cshaHziCQAWXrHGWJVQSQFDOuES6C3nSEvcbrQg==}
engines: {node: '>=16'}
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -9714,6 +9940,10 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
+ supports-hyperlinks@1.0.1:
+ resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==}
+ engines: {node: '>=4'}
+
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@@ -10164,6 +10394,11 @@ packages:
urlpattern-polyfill@8.0.2:
resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
+ use-sync-external-store@1.4.0:
+ resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -10212,12 +10447,12 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- victory-vendor@36.9.2:
- resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==}
+ victory-vendor@37.3.5:
+ resolution: {integrity: sha512-+K2VBMmB7peKG3Gjp79XjgsbfsYgD0eZRSmKz7p5a4V0NhYq43eM/b0gpSLq+Dhwag96QaWsU75/6bFVBjVE7A==}
- vite-node@2.1.7:
- resolution: {integrity: sha512-b/5MxSWd0ftWt1B1LHfzCw0ASzaxHztUwP0rcsBhkDSGy9ZDEDieSIjFG3I78nI9dUN0eSeD6LtuKPZGjwwpZQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ vite-node@2.1.8:
+ resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
vite@5.4.11:
@@ -10262,15 +10497,15 @@ packages:
vite: '>=4.5.2'
vitest: '>=0.26.2'
- vitest@2.1.7:
- resolution: {integrity: sha512-wzJ7Wri44ufkzTZbI1lHsdHfiGdFRmnJ9qIudDQ6tknjJeHhF5QgNSSjk7KRZUU535qEiEXFJ7tSHqyzyIv0jQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ vitest@2.1.8:
+ resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/node': ^20.17.6
- '@vitest/browser': 2.1.7
- '@vitest/ui': 2.1.7
+ '@vitest/browser': 2.1.8
+ '@vitest/ui': 2.1.8
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -10452,6 +10687,9 @@ packages:
utf-8-validate:
optional: true
+ xcase@2.0.1:
+ resolution: {integrity: sha512-UmFXIPU+9Eg3E9m/728Bii0lAIuoc+6nbrNUKaRPJOFp91ih44qqGlWtxMB6kXFrRD6po+86ksHM5XHCfk6iPw==}
+
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
@@ -11950,6 +12188,22 @@ snapshots:
'@floating-ui/utils@0.2.8': {}
+ '@gitbeaker/core@38.12.1':
+ dependencies:
+ '@gitbeaker/requester-utils': 38.12.1
+ qs: 6.13.0
+ xcase: 2.0.1
+
+ '@gitbeaker/requester-utils@38.12.1':
+ dependencies:
+ qs: 6.13.0
+ xcase: 2.0.1
+
+ '@gitbeaker/rest@38.12.1':
+ dependencies:
+ '@gitbeaker/core': 38.12.1
+ '@gitbeaker/requester-utils': 38.12.1
+
'@googleapis/drive@8.14.0(encoding@0.1.13)':
dependencies:
googleapis-common: 7.2.0(encoding@0.1.13)
@@ -12340,7 +12594,7 @@ snapshots:
'@mui/core-downloads-tracker@6.2.1': {}
- '@mui/docs@6.2.1(x43f62rk27uyul4byumexdvu2u)':
+ '@mui/docs@6.2.1(wopobyujwuhvxg6p5iwz22urga)':
dependencies:
'@babel/runtime': 7.26.0
'@mui/base': 5.0.0-beta.67(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -12352,7 +12606,7 @@ snapshots:
clipboard-copy: 4.0.1
clsx: 2.1.1
csstype: 3.1.3
- next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
nprogress: 0.2.0
prop-types: 15.8.1
react: 18.3.1
@@ -12433,22 +12687,22 @@ snapshots:
'@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
'@types/react': 18.3.18
- '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
'@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
- next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
optionalDependencies:
'@emotion/cache': 11.14.0
'@emotion/server': 11.11.0
'@types/react': 18.3.18
- '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
'@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
- next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
optionalDependencies:
'@emotion/cache': 11.14.0
@@ -12878,67 +13132,67 @@ snapshots:
'@netlify/node-cookies': 0.1.0
urlpattern-polyfill: 8.0.2
- '@next/env@14.2.20': {}
+ '@next/env@14.2.21': {}
- '@next/env@15.0.4': {}
+ '@next/env@15.1.2': {}
- '@next/eslint-plugin-next@14.2.20':
+ '@next/eslint-plugin-next@14.2.21':
dependencies:
glob: 10.3.10
- '@next/eslint-plugin-next@15.0.4':
+ '@next/eslint-plugin-next@15.1.2':
dependencies:
fast-glob: 3.3.1
- '@next/swc-darwin-arm64@14.2.20':
+ '@next/swc-darwin-arm64@14.2.21':
optional: true
- '@next/swc-darwin-arm64@15.0.4':
+ '@next/swc-darwin-arm64@15.1.2':
optional: true
- '@next/swc-darwin-x64@14.2.20':
+ '@next/swc-darwin-x64@14.2.21':
optional: true
- '@next/swc-darwin-x64@15.0.4':
+ '@next/swc-darwin-x64@15.1.2':
optional: true
- '@next/swc-linux-arm64-gnu@14.2.20':
+ '@next/swc-linux-arm64-gnu@14.2.21':
optional: true
- '@next/swc-linux-arm64-gnu@15.0.4':
+ '@next/swc-linux-arm64-gnu@15.1.2':
optional: true
- '@next/swc-linux-arm64-musl@14.2.20':
+ '@next/swc-linux-arm64-musl@14.2.21':
optional: true
- '@next/swc-linux-arm64-musl@15.0.4':
+ '@next/swc-linux-arm64-musl@15.1.2':
optional: true
- '@next/swc-linux-x64-gnu@14.2.20':
+ '@next/swc-linux-x64-gnu@14.2.21':
optional: true
- '@next/swc-linux-x64-gnu@15.0.4':
+ '@next/swc-linux-x64-gnu@15.1.2':
optional: true
- '@next/swc-linux-x64-musl@14.2.20':
+ '@next/swc-linux-x64-musl@14.2.21':
optional: true
- '@next/swc-linux-x64-musl@15.0.4':
+ '@next/swc-linux-x64-musl@15.1.2':
optional: true
- '@next/swc-win32-arm64-msvc@14.2.20':
+ '@next/swc-win32-arm64-msvc@14.2.21':
optional: true
- '@next/swc-win32-arm64-msvc@15.0.4':
+ '@next/swc-win32-arm64-msvc@15.1.2':
optional: true
- '@next/swc-win32-ia32-msvc@14.2.20':
+ '@next/swc-win32-ia32-msvc@14.2.21':
optional: true
- '@next/swc-win32-x64-msvc@14.2.20':
+ '@next/swc-win32-x64-msvc@14.2.21':
optional: true
- '@next/swc-win32-x64-msvc@15.0.4':
+ '@next/swc-win32-x64-msvc@15.1.2':
optional: true
'@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3':
@@ -13146,8 +13400,24 @@ snapshots:
'@nx/nx-win32-x64-msvc@19.8.9':
optional: true
+ '@octokit/auth-token@2.5.0':
+ dependencies:
+ '@octokit/types': 6.41.0
+
'@octokit/auth-token@3.0.4': {}
+ '@octokit/core@3.6.0(encoding@0.1.13)':
+ dependencies:
+ '@octokit/auth-token': 2.5.0
+ '@octokit/graphql': 4.8.0(encoding@0.1.13)
+ '@octokit/request': 5.6.3(encoding@0.1.13)
+ '@octokit/request-error': 2.1.0
+ '@octokit/types': 6.41.0
+ before-after-hook: 2.2.3
+ universal-user-agent: 6.0.1
+ transitivePeerDependencies:
+ - encoding
+
'@octokit/core@4.2.4(encoding@0.1.13)':
dependencies:
'@octokit/auth-token': 3.0.4
@@ -13160,12 +13430,26 @@ snapshots:
transitivePeerDependencies:
- encoding
+ '@octokit/endpoint@6.0.12':
+ dependencies:
+ '@octokit/types': 6.41.0
+ is-plain-object: 5.0.0
+ universal-user-agent: 6.0.1
+
'@octokit/endpoint@7.0.6':
dependencies:
'@octokit/types': 9.3.2
is-plain-object: 5.0.0
universal-user-agent: 6.0.1
+ '@octokit/graphql@4.8.0(encoding@0.1.13)':
+ dependencies:
+ '@octokit/request': 5.6.3(encoding@0.1.13)
+ '@octokit/types': 6.41.0
+ universal-user-agent: 6.0.1
+ transitivePeerDependencies:
+ - encoding
+
'@octokit/graphql@5.0.6(encoding@0.1.13)':
dependencies:
'@octokit/request': 6.2.8(encoding@0.1.13)
@@ -13174,31 +13458,65 @@ snapshots:
transitivePeerDependencies:
- encoding
+ '@octokit/openapi-types@12.11.0': {}
+
'@octokit/openapi-types@18.1.1': {}
'@octokit/plugin-enterprise-rest@6.0.1': {}
+ '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0(encoding@0.1.13))':
+ dependencies:
+ '@octokit/core': 3.6.0(encoding@0.1.13)
+ '@octokit/types': 6.41.0
+
'@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
'@octokit/core': 4.2.4(encoding@0.1.13)
'@octokit/tsconfig': 1.0.2
'@octokit/types': 9.3.2
+ '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0(encoding@0.1.13))':
+ dependencies:
+ '@octokit/core': 3.6.0(encoding@0.1.13)
+
'@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
'@octokit/core': 4.2.4(encoding@0.1.13)
+ '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0(encoding@0.1.13))':
+ dependencies:
+ '@octokit/core': 3.6.0(encoding@0.1.13)
+ '@octokit/types': 6.41.0
+ deprecation: 2.3.1
+
'@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4(encoding@0.1.13))':
dependencies:
'@octokit/core': 4.2.4(encoding@0.1.13)
'@octokit/types': 10.0.0
+ '@octokit/request-error@2.1.0':
+ dependencies:
+ '@octokit/types': 6.41.0
+ deprecation: 2.3.1
+ once: 1.4.0
+
'@octokit/request-error@3.0.3':
dependencies:
'@octokit/types': 9.3.2
deprecation: 2.3.1
once: 1.4.0
+ '@octokit/request@5.6.3(encoding@0.1.13)':
+ dependencies:
+ '@octokit/endpoint': 6.0.12
+ '@octokit/request-error': 2.1.0
+ '@octokit/types': 6.41.0
+ is-plain-object: 5.0.0
+ node-fetch: 2.7.0(encoding@0.1.13)
+ universal-user-agent: 6.0.1
+ transitivePeerDependencies:
+ - encoding
+
'@octokit/request@6.2.8(encoding@0.1.13)':
dependencies:
'@octokit/endpoint': 7.0.6
@@ -13210,6 +13528,15 @@ snapshots:
transitivePeerDependencies:
- encoding
+ '@octokit/rest@18.12.0(encoding@0.1.13)':
+ dependencies:
+ '@octokit/core': 3.6.0(encoding@0.1.13)
+ '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0(encoding@0.1.13))
+ '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0(encoding@0.1.13))
+ '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0(encoding@0.1.13))
+ transitivePeerDependencies:
+ - encoding
+
'@octokit/rest@19.0.11(encoding@0.1.13)':
dependencies:
'@octokit/core': 4.2.4(encoding@0.1.13)
@@ -13225,6 +13552,10 @@ snapshots:
dependencies:
'@octokit/openapi-types': 18.1.1
+ '@octokit/types@6.41.0':
+ dependencies:
+ '@octokit/openapi-types': 12.11.0
+
'@octokit/types@9.3.2':
dependencies:
'@octokit/openapi-types': 18.1.1
@@ -13295,6 +13626,16 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@reduxjs/toolkit@2.5.0(react-redux@9.2.0(@types/react@18.3.18)(react@18.3.1)(redux@5.0.1))(react@18.3.1)':
+ dependencies:
+ immer: 10.1.1
+ redux: 5.0.1
+ redux-thunk: 3.1.0(redux@5.0.1)
+ reselect: 5.1.1
+ optionalDependencies:
+ react: 18.3.1
+ react-redux: 9.2.0(@types/react@18.3.18)(react@18.3.1)(redux@5.0.1)
+
'@remix-run/router@1.19.2': {}
'@rollup/rollup-android-arm-eabi@4.24.3':
@@ -13478,7 +13819,7 @@ snapshots:
'@swc/counter@0.1.3': {}
- '@swc/helpers@0.5.13':
+ '@swc/helpers@0.5.15':
dependencies:
tslib: 2.8.1
@@ -13537,6 +13878,8 @@ snapshots:
dependencies:
'@testing-library/dom': 10.4.0
+ '@tootallnate/once@2.0.0': {}
+
'@trendmicro/react-interpolate@0.5.5(react@18.3.1)':
dependencies:
lodash.omit: 4.5.0
@@ -13883,6 +14226,8 @@ snapshots:
'@types/unist@3.0.3': {}
+ '@types/use-sync-external-store@0.0.6': {}
+
'@types/webidl-conversions@7.0.3': {}
'@types/webpack-dev-server@3.11.6':
@@ -14069,17 +14414,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vitest/browser@2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)':
+ '@vitest/browser@2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)':
dependencies:
'@testing-library/dom': 10.4.0
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
- '@vitest/mocker': 2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))
- '@vitest/utils': 2.1.7
+ '@vitest/mocker': 2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))
+ '@vitest/utils': 2.1.8
magic-string: 0.30.12
msw: 2.6.5(@types/node@20.17.6)(typescript@5.7.2)
sirv: 3.0.0
tinyrainbow: 1.2.0
- vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
ws: 8.18.0
optionalDependencies:
playwright: 1.48.2
@@ -14090,7 +14435,7 @@ snapshots:
- utf-8-validate
- vite
- '@vitest/coverage-v8@2.1.7(@vitest/browser@2.1.7)(vitest@2.1.7)':
+ '@vitest/coverage-v8@2.1.8(@vitest/browser@2.1.8)(vitest@2.1.8)':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 0.2.3
@@ -14104,50 +14449,50 @@ snapshots:
std-env: 3.8.0
test-exclude: 7.0.1
tinyrainbow: 1.2.0
- vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
optionalDependencies:
- '@vitest/browser': 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)
+ '@vitest/browser': 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)
transitivePeerDependencies:
- supports-color
- '@vitest/expect@2.1.7':
+ '@vitest/expect@2.1.8':
dependencies:
- '@vitest/spy': 2.1.7
- '@vitest/utils': 2.1.7
+ '@vitest/spy': 2.1.8
+ '@vitest/utils': 2.1.8
chai: 5.1.2
tinyrainbow: 1.2.0
- '@vitest/mocker@2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))':
+ '@vitest/mocker@2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))':
dependencies:
- '@vitest/spy': 2.1.7
+ '@vitest/spy': 2.1.8
estree-walker: 3.0.3
magic-string: 0.30.12
optionalDependencies:
msw: 2.6.5(@types/node@20.17.6)(typescript@5.7.2)
vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0)
- '@vitest/pretty-format@2.1.7':
+ '@vitest/pretty-format@2.1.8':
dependencies:
tinyrainbow: 1.2.0
- '@vitest/runner@2.1.7':
+ '@vitest/runner@2.1.8':
dependencies:
- '@vitest/utils': 2.1.7
+ '@vitest/utils': 2.1.8
pathe: 1.1.2
- '@vitest/snapshot@2.1.7':
+ '@vitest/snapshot@2.1.8':
dependencies:
- '@vitest/pretty-format': 2.1.7
+ '@vitest/pretty-format': 2.1.8
magic-string: 0.30.12
pathe: 1.1.2
- '@vitest/spy@2.1.7':
+ '@vitest/spy@2.1.8':
dependencies:
tinyspy: 3.0.2
- '@vitest/utils@2.1.7':
+ '@vitest/utils@2.1.8':
dependencies:
- '@vitest/pretty-format': 2.1.7
+ '@vitest/pretty-format': 2.1.8
loupe: 3.1.2
tinyrainbow: 1.2.0
@@ -14279,6 +14624,12 @@ snapshots:
address@1.2.2: {}
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
agent-base@7.1.1:
dependencies:
debug: 4.3.7
@@ -14339,6 +14690,10 @@ snapshots:
ansi-regex@6.1.0: {}
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
@@ -14531,6 +14886,10 @@ snapshots:
dependencies:
tslib: 2.8.1
+ async-retry@1.2.3:
+ dependencies:
+ retry: 0.12.0
+
async@3.2.6: {}
asynckit@0.4.0: {}
@@ -14825,6 +15184,12 @@ snapshots:
dependencies:
traverse: 0.3.9
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
chalk@3.0.0:
dependencies:
ansi-styles: 4.3.0
@@ -14930,10 +15295,16 @@ snapshots:
cmd-shim@6.0.3: {}
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
+ color-name@1.1.3: {}
+
color-name@1.1.4: {}
color-string@1.9.1:
@@ -14948,6 +15319,8 @@ snapshots:
color-convert: 2.0.1
color-string: 1.9.1
+ colors@1.4.0: {}
+
columnify@1.6.0:
dependencies:
strip-ansi: 6.0.1
@@ -15283,6 +15656,49 @@ snapshots:
damerau-levenshtein@1.0.8: {}
+ danger@12.3.3(encoding@0.1.13):
+ dependencies:
+ '@gitbeaker/rest': 38.12.1
+ '@octokit/rest': 18.12.0(encoding@0.1.13)
+ async-retry: 1.2.3
+ chalk: 2.4.2
+ commander: 2.20.3
+ core-js: 3.39.0
+ debug: 4.3.7
+ fast-json-patch: 3.1.1
+ get-stdin: 6.0.0
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ hyperlinker: 1.0.0
+ json5: 2.2.3
+ jsonpointer: 5.0.1
+ jsonwebtoken: 9.0.2
+ lodash.find: 4.6.0
+ lodash.includes: 4.3.0
+ lodash.isobject: 3.0.2
+ lodash.keys: 4.2.0
+ lodash.mapvalues: 4.6.0
+ lodash.memoize: 4.1.2
+ memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13)
+ micromatch: 4.0.8
+ node-cleanup: 2.1.2
+ node-fetch: 2.7.0(encoding@0.1.13)
+ override-require: 1.1.1
+ p-limit: 2.3.0
+ parse-diff: 0.7.1
+ parse-git-config: 2.0.3
+ parse-github-url: 1.0.3
+ parse-link-header: 2.0.0
+ pinpoint: 1.1.0
+ prettyjson: 1.2.5
+ readline-sync: 1.4.10
+ regenerator-runtime: 0.13.11
+ require-from-string: 2.0.2
+ supports-hyperlinks: 1.0.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
dargs@7.0.0: {}
data-urls@5.0.0:
@@ -15766,9 +16182,9 @@ snapshots:
object.assign: 4.1.5
object.entries: 1.1.8
- eslint-config-next@15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2):
+ eslint-config-next@15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2):
dependencies:
- '@next/eslint-plugin-next': 15.0.4
+ '@next/eslint-plugin-next': 15.1.2
'@rushstack/eslint-patch': 1.10.4
'@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)
'@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
@@ -15915,7 +16331,7 @@ snapshots:
globals: 13.24.0
rambda: 7.5.0
- eslint-plugin-react-compiler@19.0.0-beta-b2e8e9c-20241220(eslint@8.57.1):
+ eslint-plugin-react-compiler@19.0.0-beta-63e3235-20250105(eslint@8.57.1):
dependencies:
'@babel/core': 7.26.0
'@babel/parser': 7.26.2
@@ -16163,6 +16579,10 @@ snapshots:
strip-final-newline: 4.0.0
yoctocolors: 2.1.1
+ expand-tilde@2.0.2:
+ dependencies:
+ homedir-polyfill: 1.0.3
+
expect-type@1.1.0: {}
exponential-backoff@3.1.1: {}
@@ -16240,6 +16660,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ extend-shallow@2.0.1:
+ dependencies:
+ is-extendable: 0.1.1
+
extend@3.0.2: {}
external-editor@3.1.0:
@@ -16461,6 +16885,8 @@ snapshots:
fs-constants@1.0.0: {}
+ fs-exists-sync@0.1.0: {}
+
fs-extra@11.2.0:
dependencies:
graceful-fs: 4.2.11
@@ -16558,6 +16984,8 @@ snapshots:
get-port@7.1.0: {}
+ get-stdin@6.0.0: {}
+
get-stream@6.0.0: {}
get-stream@6.0.1: {}
@@ -16579,6 +17007,12 @@ snapshots:
dependencies:
resolve-pkg-maps: 1.0.0
+ git-config-path@1.0.1:
+ dependencies:
+ extend-shallow: 2.0.1
+ fs-exists-sync: 0.1.0
+ homedir-polyfill: 1.0.3
+
git-raw-commits@3.0.0:
dependencies:
dargs: 7.0.0
@@ -16768,6 +17202,10 @@ snapshots:
has-bigints@1.0.2: {}
+ has-flag@2.0.0: {}
+
+ has-flag@3.0.0: {}
+
has-flag@4.0.0: {}
has-property-descriptors@1.0.2:
@@ -16845,6 +17283,14 @@ snapshots:
statuses: 2.0.1
toidentifier: 1.0.1
+ http-proxy-agent@5.0.0:
+ dependencies:
+ '@tootallnate/once': 2.0.0
+ agent-base: 6.0.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.1
@@ -16881,6 +17327,13 @@ snapshots:
transitivePeerDependencies:
- debug
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.1
@@ -16894,6 +17347,8 @@ snapshots:
human-signals@8.0.0: {}
+ hyperlinker@1.0.0: {}
+
hyphenate-style-name@1.1.0: {}
iconv-lite@0.4.24:
@@ -16918,6 +17373,8 @@ snapshots:
immediate@3.0.6: {}
+ immer@10.1.1: {}
+
immer@9.0.21: {}
import-fresh@3.3.0:
@@ -17052,6 +17509,8 @@ snapshots:
is-electron@2.2.2: {}
+ is-extendable@0.1.1: {}
+
is-extglob@2.1.1: {}
is-finalizationregistry@1.0.2:
@@ -17354,6 +17813,8 @@ snapshots:
jsonparse@1.3.1: {}
+ jsonpointer@5.0.1: {}
+
jsonwebtoken@9.0.2:
dependencies:
jws: 3.2.2
@@ -17681,6 +18142,8 @@ snapshots:
lodash.escaperegexp@4.1.2: {}
+ lodash.find@4.6.0: {}
+
lodash.flatten@4.4.0: {}
lodash.get@4.4.2: {}
@@ -17703,6 +18166,8 @@ snapshots:
lodash.isnumber@3.0.3: {}
+ lodash.isobject@3.0.2: {}
+
lodash.isplainobject@4.0.6: {}
lodash.isstring@4.0.1: {}
@@ -17711,6 +18176,12 @@ snapshots:
lodash.kebabcase@4.1.1: {}
+ lodash.keys@4.2.0: {}
+
+ lodash.mapvalues@4.6.0: {}
+
+ lodash.memoize@4.1.2: {}
+
lodash.merge@4.6.2: {}
lodash.omit@4.5.0: {}
@@ -17887,6 +18358,12 @@ snapshots:
media-typer@1.1.0: {}
+ memfs-or-file-map-to-github-branch@1.2.1(encoding@0.1.13):
+ dependencies:
+ '@octokit/rest': 18.12.0(encoding@0.1.13)
+ transitivePeerDependencies:
+ - encoding
+
memfs@3.5.3:
dependencies:
fs-monkey: 1.0.6
@@ -18267,20 +18744,20 @@ snapshots:
nested-error-stacks@2.1.1: {}
- next-auth@5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
+ next-auth@5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
dependencies:
'@auth/core': 0.37.2
- next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
- next-router-mock@0.9.13(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
+ next-router-mock@0.9.13(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
dependencies:
- next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
- next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@next/env': 14.2.20
+ '@next/env': 14.2.21
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001676
@@ -18290,25 +18767,25 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 14.2.20
- '@next/swc-darwin-x64': 14.2.20
- '@next/swc-linux-arm64-gnu': 14.2.20
- '@next/swc-linux-arm64-musl': 14.2.20
- '@next/swc-linux-x64-gnu': 14.2.20
- '@next/swc-linux-x64-musl': 14.2.20
- '@next/swc-win32-arm64-msvc': 14.2.20
- '@next/swc-win32-ia32-msvc': 14.2.20
- '@next/swc-win32-x64-msvc': 14.2.20
+ '@next/swc-darwin-arm64': 14.2.21
+ '@next/swc-darwin-x64': 14.2.21
+ '@next/swc-linux-arm64-gnu': 14.2.21
+ '@next/swc-linux-arm64-musl': 14.2.21
+ '@next/swc-linux-x64-gnu': 14.2.21
+ '@next/swc-linux-x64-musl': 14.2.21
+ '@next/swc-win32-arm64-msvc': 14.2.21
+ '@next/swc-win32-ia32-msvc': 14.2.21
+ '@next/swc-win32-x64-msvc': 14.2.21
'@playwright/test': 1.47.2
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
- next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@next/env': 15.0.4
+ '@next/env': 15.1.2
'@swc/counter': 0.1.3
- '@swc/helpers': 0.5.13
+ '@swc/helpers': 0.5.15
busboy: 1.6.0
caniuse-lite: 1.0.30001676
postcss: 8.4.31
@@ -18316,14 +18793,14 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.6(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.0.4
- '@next/swc-darwin-x64': 15.0.4
- '@next/swc-linux-arm64-gnu': 15.0.4
- '@next/swc-linux-arm64-musl': 15.0.4
- '@next/swc-linux-x64-gnu': 15.0.4
- '@next/swc-linux-x64-musl': 15.0.4
- '@next/swc-win32-arm64-msvc': 15.0.4
- '@next/swc-win32-x64-msvc': 15.0.4
+ '@next/swc-darwin-arm64': 15.1.2
+ '@next/swc-darwin-x64': 15.1.2
+ '@next/swc-linux-arm64-gnu': 15.1.2
+ '@next/swc-linux-arm64-musl': 15.1.2
+ '@next/swc-linux-x64-gnu': 15.1.2
+ '@next/swc-linux-x64-musl': 15.1.2
+ '@next/swc-win32-arm64-msvc': 15.1.2
+ '@next/swc-win32-x64-msvc': 15.1.2
'@playwright/test': 1.47.2
sharp: 0.33.5
transitivePeerDependencies:
@@ -18338,6 +18815,8 @@ snapshots:
just-extend: 6.2.0
path-to-regexp: 8.2.0
+ node-cleanup@2.1.2: {}
+
node-dir@0.1.17:
dependencies:
minimatch: 3.1.2
@@ -18663,6 +19142,8 @@ snapshots:
outvariant@1.4.3: {}
+ override-require@1.1.1: {}
+
p-event@5.0.1:
dependencies:
p-timeout: 5.1.0
@@ -18793,6 +19274,16 @@ snapshots:
just-diff: 6.0.2
just-diff-apply: 5.5.0
+ parse-diff@0.7.1: {}
+
+ parse-git-config@2.0.3:
+ dependencies:
+ expand-tilde: 2.0.2
+ git-config-path: 1.0.1
+ ini: 1.3.8
+
+ parse-github-url@1.0.3: {}
+
parse-json@4.0.0:
dependencies:
error-ex: 1.3.2
@@ -18805,6 +19296,10 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
+ parse-link-header@2.0.0:
+ dependencies:
+ xtend: 4.0.2
+
parse-ms@4.0.0: {}
parse-passwd@1.0.0: {}
@@ -18936,6 +19431,8 @@ snapshots:
pify@5.0.0: {}
+ pinpoint@1.1.0: {}
+
pirates@4.0.6: {}
piscina@4.7.0:
@@ -19079,6 +19576,11 @@ snapshots:
prettier: 3.4.1
tslib: 2.8.1
+ prettyjson@1.2.5:
+ dependencies:
+ colors: 1.4.0
+ minimist: 1.2.8
+
prismjs@1.29.0: {}
proc-log@4.2.0: {}
@@ -19277,6 +19779,15 @@ snapshots:
react-is@19.0.0: {}
+ react-redux@9.2.0(@types/react@18.3.18)(react@18.3.1)(redux@5.0.1):
+ dependencies:
+ '@types/use-sync-external-store': 0.0.6
+ react: 18.3.1
+ use-sync-external-store: 1.4.0(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ redux: 5.0.1
+
react-refresh@0.14.2: {}
react-resizable-panels@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
@@ -19434,6 +19945,8 @@ snapshots:
readdirp@4.0.2: {}
+ readline-sync@1.4.10: {}
+
recast@0.23.9:
dependencies:
ast-types: 0.16.1
@@ -19442,22 +19955,25 @@ snapshots:
tiny-invariant: 1.3.3
tslib: 2.8.1
- recharts-scale@0.4.5:
- dependencies:
- decimal.js-light: 2.5.1
-
- recharts@2.13.0-alpha.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ recharts@3.0.0-alpha.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0)(react@18.3.1)(redux@5.0.1):
dependencies:
+ '@reduxjs/toolkit': 2.5.0(react-redux@9.2.0(@types/react@18.3.18)(react@18.3.1)(redux@5.0.1))(react@18.3.1)
clsx: 2.1.1
- eventemitter3: 4.0.7
+ decimal.js-light: 2.5.1
+ eventemitter3: 5.0.1
+ immer: 10.1.1
lodash: 4.17.21
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-is: 18.3.1
+ react-is: 19.0.0
+ react-redux: 9.2.0(@types/react@18.3.18)(react@18.3.1)(redux@5.0.1)
react-smooth: 4.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- recharts-scale: 0.4.5
tiny-invariant: 1.3.3
- victory-vendor: 36.9.2
+ use-sync-external-store: 1.4.0(react@18.3.1)
+ victory-vendor: 37.3.5
+ transitivePeerDependencies:
+ - '@types/react'
+ - redux
recursive-readdir@2.2.3:
dependencies:
@@ -19473,6 +19989,12 @@ snapshots:
indent-string: 5.0.0
strip-indent: 4.0.0
+ redux-thunk@3.1.0(redux@5.0.1):
+ dependencies:
+ redux: 5.0.1
+
+ redux@5.0.1: {}
+
reflect.getprototypeof@1.0.6:
dependencies:
call-bind: 1.0.7
@@ -19491,6 +20013,8 @@ snapshots:
regenerator-runtime@0.12.1: {}
+ regenerator-runtime@0.13.11: {}
+
regenerator-runtime@0.14.1: {}
regenerator-transform@0.15.2:
@@ -20191,6 +20715,10 @@ snapshots:
dependencies:
copy-anything: 3.0.5
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -20199,6 +20727,11 @@ snapshots:
dependencies:
has-flag: 4.0.0
+ supports-hyperlinks@1.0.1:
+ dependencies:
+ has-flag: 2.0.0
+ supports-color: 5.5.0
+
supports-preserve-symlinks-flag@1.0.0: {}
symbol-tree@3.2.4: {}
@@ -20652,6 +21185,10 @@ snapshots:
urlpattern-polyfill@8.0.2: {}
+ use-sync-external-store@1.4.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
@@ -20693,7 +21230,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- victory-vendor@36.9.2:
+ victory-vendor@37.3.5:
dependencies:
'@types/d3-array': 3.2.1
'@types/d3-ease': 3.0.2
@@ -20710,7 +21247,7 @@ snapshots:
d3-time: 3.1.0
d3-timer: 3.0.1
- vite-node@2.1.7(@types/node@20.17.6)(terser@5.36.0):
+ vite-node@2.1.8(@types/node@20.17.6)(terser@5.36.0):
dependencies:
cac: 6.7.14
debug: 4.3.7
@@ -20738,7 +21275,7 @@ snapshots:
fsevents: 2.3.3
terser: 5.36.0
- vitest-dom@0.1.1(vitest@2.1.7):
+ vitest-dom@0.1.1(vitest@2.1.8):
dependencies:
aria-query: 5.3.2
chalk: 5.3.0
@@ -20746,23 +21283,23 @@ snapshots:
dom-accessibility-api: 0.6.3
lodash-es: 4.17.21
redent: 4.0.0
- vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
- vitest-fail-on-console@0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7):
+ vitest-fail-on-console@0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8):
dependencies:
chalk: 5.3.0
vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0)
- vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
+ vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0)
- vitest@2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0):
+ vitest@2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0):
dependencies:
- '@vitest/expect': 2.1.7
- '@vitest/mocker': 2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))
- '@vitest/pretty-format': 2.1.7
- '@vitest/runner': 2.1.7
- '@vitest/snapshot': 2.1.7
- '@vitest/spy': 2.1.7
- '@vitest/utils': 2.1.7
+ '@vitest/expect': 2.1.8
+ '@vitest/mocker': 2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))
+ '@vitest/pretty-format': 2.1.8
+ '@vitest/runner': 2.1.8
+ '@vitest/snapshot': 2.1.8
+ '@vitest/spy': 2.1.8
+ '@vitest/utils': 2.1.8
chai: 5.1.2
debug: 4.3.7
expect-type: 1.1.0
@@ -20774,11 +21311,11 @@ snapshots:
tinypool: 1.0.1
tinyrainbow: 1.2.0
vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0)
- vite-node: 2.1.7(@types/node@20.17.6)(terser@5.36.0)
+ vite-node: 2.1.8(@types/node@20.17.6)(terser@5.36.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 20.17.6
- '@vitest/browser': 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)
+ '@vitest/browser': 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)
jsdom: 25.0.1
transitivePeerDependencies:
- less
@@ -21003,6 +21540,8 @@ snapshots:
ws@8.18.0: {}
+ xcase@2.0.1: {}
+
xml-name-validator@5.0.0: {}
xmlchars@2.2.0: {}