diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 2b0fb1051b..a4948c5fda 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -211,6 +211,7 @@ jobs: VITE_APP_API_URL: https://api.${{ env.FULL_DOMAIN }} VITE_APP_HASURA_URL: https://hasura.${{ env.FULL_DOMAIN }}/v1/graphql VITE_APP_HASURA_WEBSOCKET: wss://hasura.${{ env.FULL_DOMAIN }}/v1/graphql + VITE_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.MAPBOX_ACCESS_TOKEN }} VITE_APP_SHAREDB_URL: wss://sharedb.${{ env.FULL_DOMAIN }} # needed because there's no API to change google's allowed OAuth URLs VITE_APP_GOOGLE_OAUTH_OVERRIDE: https://api.editor.planx.dev @@ -226,6 +227,7 @@ jobs: VITE_APP_API_URL: https://api.${{ env.FULL_DOMAIN }} VITE_APP_HASURA_URL: https://hasura.${{ env.FULL_DOMAIN }}/v1/graphql VITE_APP_HASURA_WEBSOCKET: wss://hasura.${{ env.FULL_DOMAIN }}/v1/graphql + VITE_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.MAPBOX_ACCESS_TOKEN }} VITE_APP_SHAREDB_URL: wss://sharedb.${{ env.FULL_DOMAIN }} VITE_APP_GOOGLE_OAUTH_OVERRIDE: https://api.editor.planx.dev VITE_APP_ENV: pizza diff --git a/.github/workflows/push-main.yml b/.github/workflows/push-main.yml index 9c8b73c8e8..d99d4d7b71 100644 --- a/.github/workflows/push-main.yml +++ b/.github/workflows/push-main.yml @@ -53,13 +53,14 @@ jobs: - run: pnpm build working-directory: editor.planx.uk env: + VITE_APP_AIRBRAKE_PROJECT_ID: ${{ secrets.AIRBRAKE_PROJECT_ID }} + VITE_APP_AIRBRAKE_PROJECT_KEY: ${{ secrets.AIRBRAKE_PROJECT_KEY }} VITE_APP_API_URL: https://api.editor.planx.dev + VITE_APP_ENV: staging VITE_APP_HASURA_URL: https://hasura.editor.planx.dev/v1/graphql + VITE_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.MAPBOX_ACCESS_TOKEN }} VITE_APP_HASURA_WEBSOCKET: wss://hasura.editor.planx.dev/v1/graphql VITE_APP_SHAREDB_URL: wss://sharedb.editor.planx.dev - VITE_APP_AIRBRAKE_PROJECT_ID: ${{ secrets.AIRBRAKE_PROJECT_ID }} - VITE_APP_AIRBRAKE_PROJECT_KEY: ${{ secrets.AIRBRAKE_PROJECT_KEY }} - VITE_APP_ENV: staging - name: Upload Build Artifact uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/push-production.yml b/.github/workflows/push-production.yml index 319f28051b..f89fd74555 100644 --- a/.github/workflows/push-production.yml +++ b/.github/workflows/push-production.yml @@ -53,13 +53,14 @@ jobs: - run: pnpm build working-directory: editor.planx.uk env: + VITE_APP_AIRBRAKE_PROJECT_ID: ${{ secrets.AIRBRAKE_PROJECT_ID }} + VITE_APP_AIRBRAKE_PROJECT_KEY: ${{ secrets.AIRBRAKE_PROJECT_KEY }} VITE_APP_API_URL: https://api.editor.planx.uk + VITE_APP_ENV: production VITE_APP_HASURA_URL: https://hasura.editor.planx.uk/v1/graphql VITE_APP_HASURA_WEBSOCKET: wss://hasura.editor.planx.uk/v1/graphql + VITE_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.MAPBOX_ACCESS_TOKEN }} VITE_APP_SHAREDB_URL: wss://sharedb.editor.planx.uk - VITE_APP_AIRBRAKE_PROJECT_ID: ${{ secrets.AIRBRAKE_PROJECT_ID }} - VITE_APP_AIRBRAKE_PROJECT_KEY: ${{ secrets.AIRBRAKE_PROJECT_KEY }} - VITE_APP_ENV: production - name: Upload Build Artifact uses: actions/upload-artifact@v4 with: diff --git a/.gitignore b/.gitignore index cf53f31bad..2b647dd837 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ editor.planx.uk/.eslintcache .env.prod .env.temp api.planx.uk/.env.test +editor.planx.uk/.env hasura.planx.uk/.env.test # IDE diff --git a/api.planx.uk/.eslintrc b/api.planx.uk/.eslintrc index a7c99d156f..b1869d8a06 100644 --- a/api.planx.uk/.eslintrc +++ b/api.planx.uk/.eslintrc @@ -1,12 +1,12 @@ { "root": true, "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint", "jest"], + "plugins": ["@typescript-eslint"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier", - "plugin:jest/recommended" + "plugin:@vitest/legacy-recommended" ], "rules": { "@typescript-eslint/no-explicit-any": "warn", @@ -18,7 +18,8 @@ } ], "@typescript-eslint/no-non-null-assertion": "off", - "jest/expect-expect": [ + "no-nested-ternary": "error", + "@vitest/expect-expect": [ "error", { "assertFunctionNames": [ @@ -29,8 +30,7 @@ "supertest.**.expect" ] } - ], - "no-nested-ternary": "error" + ] }, "globals": { "require": "readonly", @@ -44,7 +44,7 @@ "URLSearchParams": "readonly", "exports": "readonly", "fetch": "readonly", - "jest": "readonly", + "vi": "readonly", "test": "readonly", "describe": "readonly", "it": "readonly", diff --git a/api.planx.uk/client/index.test.ts b/api.planx.uk/client/index.test.ts index adc71fed0c..010e2dc4b3 100644 --- a/api.planx.uk/client/index.test.ts +++ b/api.planx.uk/client/index.test.ts @@ -8,7 +8,7 @@ test("getClient() throws an error if a store is not set", () => { }); test("getClient() returns a client if store is set", () => { - const getStoreMock = jest.spyOn(userContext, "getStore"); + const getStoreMock = vi.spyOn(userContext, "getStore"); getStoreMock.mockReturnValue({ user: { sub: "123", diff --git a/api.planx.uk/jest.config.ts b/api.planx.uk/jest.config.ts deleted file mode 100644 index 610096edf8..0000000000 --- a/api.planx.uk/jest.config.ts +++ /dev/null @@ -1,49 +0,0 @@ -import type { JestConfigWithTsJest } from "ts-jest"; - -const config: JestConfigWithTsJest = { - // ts-jest presets are deprecated, so we prefer to give an explicit manual config - testEnvironment: "node", - transform: { - // esbuild-jest transformer is unmaintained and can't handle ts-with-esm, so we stick to ts-jest - // TODO: if tests are too slow, consider swapping out for @swc/jest - "^.+\\.[jt]s$": [ - "ts-jest", - { - useESM: true, - // we need a separate module/moduleResolution config for tests (jest v30 may fix this) - tsconfig: "tsconfig.test.json", - diagnostics: { - ignoreCodes: [1343], - }, - astTransformers: { - before: [ - { - path: "node_modules/ts-jest-mock-import-meta", - }, - ], - }, - }, - ], - }, - // mime v4 (which moves to pure ESM) may still have commonJS traces, so we transform it - transformIgnorePatterns: ["node_modules\\/.pnpm\\/(?!(mime))"], - testPathIgnorePatterns: ["dist/*"], - setupFilesAfterEnv: ["./jest.setup.js"], - // handle .ts files first, as ESM modules, and remove .js from imports for jest - moduleFileExtensions: ["ts", "js", "json"], - extensionsToTreatAsEsm: [".ts"], - moduleNameMapper: { - "^(\\.{1,2}/.*)\\.js$": "$1", - }, - // set up coverage collection - collectCoverage: true, - coverageThreshold: { - global: { - functions: 55, - }, - }, - coverageReporters: ["lcov", "text-summary"], - coverageDirectory: "./coverage", -}; - -export default config; diff --git a/api.planx.uk/jest.setup.js b/api.planx.uk/jest.setup.js deleted file mode 100644 index 2a15cc9877..0000000000 --- a/api.planx.uk/jest.setup.js +++ /dev/null @@ -1,11 +0,0 @@ -import dotenv from "dotenv"; -import { queryMock } from "./tests/graphqlQueryMock.js"; - -dotenv.config({ - path: "./.env.test", - override: true, -}); - -beforeEach(() => { - queryMock.setup(process.env.HASURA_GRAPHQL_URL); -}); diff --git a/api.planx.uk/lib/hasura/metadata/index.test.ts b/api.planx.uk/lib/hasura/metadata/index.test.ts index 6f413c4fc2..c6b9d5c547 100644 --- a/api.planx.uk/lib/hasura/metadata/index.test.ts +++ b/api.planx.uk/lib/hasura/metadata/index.test.ts @@ -1,32 +1,40 @@ import { createScheduledEvent, RequiredScheduledEventArgs } from "./index.js"; -import Axios, { AxiosError } from "axios"; +import axios from "axios"; +import type { Mocked } from "vitest"; -jest.mock("axios", () => ({ - ...jest.requireActual("axios"), - post: jest.fn(), -})); -const mockAxios = Axios as jest.Mocked; +describe("Creation of scheduled event", () => { + vi.mock("axios", async (importOriginal) => { + const actualAxios = await importOriginal(); + return { + default: { + ...actualAxios, + post: vi.fn(), + }, + }; + }); + const mockAxios = axios as Mocked; -const mockScheduledEvent: RequiredScheduledEventArgs = { - webhook: "test url", - schedule_at: new Date(), - comment: "test comment", - payload: {}, -}; + const mockScheduledEvent: RequiredScheduledEventArgs = { + webhook: "test url", + schedule_at: new Date(), + comment: "test comment", + payload: {}, + }; -test("createScheduledEvent returns an error if request fails", async () => { - mockAxios.post.mockRejectedValue(new Error()); - await expect(createScheduledEvent(mockScheduledEvent)).rejects.toThrow(); -}); + test("returns an error if request fails", async () => { + mockAxios.post.mockRejectedValue(new Error()); + await expect(createScheduledEvent(mockScheduledEvent)).rejects.toThrow(); + }); -test("createScheduledEvent returns an error if Axios errors", async () => { - mockAxios.post.mockRejectedValue(new AxiosError()); - await expect(createScheduledEvent(mockScheduledEvent)).rejects.toThrow(); -}); + test("returns an error if axios errors", async () => { + mockAxios.post.mockRejectedValue(new axios.AxiosError()); + await expect(createScheduledEvent(mockScheduledEvent)).rejects.toThrow(); + }); -test("createScheduledEvent returns response data on success", async () => { - mockAxios.post.mockResolvedValue({ data: "test data" }); - await expect(createScheduledEvent(mockScheduledEvent)).resolves.toBe( - "test data", - ); + test("returns response data on success", async () => { + mockAxios.post.mockResolvedValue({ data: "test data" }); + await expect(createScheduledEvent(mockScheduledEvent)).resolves.toBe( + "test data", + ); + }); }); diff --git a/api.planx.uk/lib/hasura/schema/index.test.ts b/api.planx.uk/lib/hasura/schema/index.test.ts index e090d3800a..cd008ce579 100644 --- a/api.planx.uk/lib/hasura/schema/index.test.ts +++ b/api.planx.uk/lib/hasura/schema/index.test.ts @@ -1,25 +1,33 @@ import { runSQL } from "./index.js"; -import Axios, { AxiosError } from "axios"; +import axios from "axios"; +import type { Mocked } from "vitest"; -jest.mock("axios", () => ({ - ...jest.requireActual("axios"), - post: jest.fn(), -})); -const mockAxios = Axios as jest.Mocked; +describe("runSQL", () => { + vi.mock("axios", async (importOriginal) => { + const actualAxios = await importOriginal(); + return { + default: { + ...actualAxios, + post: vi.fn(), + }, + }; + }); + const mockAxios = axios as Mocked; -const sql = "SELECT * FROM TEST"; + const sql = "SELECT * FROM TEST"; -test("runSQL returns an error if request fails", async () => { - mockAxios.post.mockRejectedValue(new Error()); - await expect(runSQL(sql)).rejects.toThrow(); -}); + test("returns an error if request fails", async () => { + mockAxios.post.mockRejectedValue(new Error()); + await expect(runSQL(sql)).rejects.toThrow(); + }); -test("runSQL returns an error if Axios errors", async () => { - mockAxios.post.mockRejectedValue(new AxiosError()); - await expect(runSQL(sql)).rejects.toThrow(); -}); + test("returns an error if Axios errors", async () => { + mockAxios.post.mockRejectedValue(new axios.AxiosError()); + await expect(runSQL(sql)).rejects.toThrow(); + }); -test("runSQL returns response data on success", async () => { - mockAxios.post.mockResolvedValue({ data: "test data" }); - await expect(runSQL(sql)).resolves.toBe("test data"); + test("returns response data on success", async () => { + mockAxios.post.mockResolvedValue({ data: "test data" }); + await expect(runSQL(sql)).resolves.toBe("test data"); + }); }); diff --git a/api.planx.uk/lib/notify/index.test.ts b/api.planx.uk/lib/notify/index.test.ts index bc00911091..22a926b60d 100644 --- a/api.planx.uk/lib/notify/index.test.ts +++ b/api.planx.uk/lib/notify/index.test.ts @@ -2,7 +2,7 @@ import { sendEmail } from "./index.js"; import { NotifyClient } from "notifications-node-client"; import { NotifyConfig } from "../../types.js"; -jest.mock("notifications-node-client"); +vi.mock("notifications-node-client"); const TEST_EMAIL = "simulate-delivered@notifications.service.gov.uk"; const mockConfig: NotifyConfig = { diff --git a/api.planx.uk/modules/admin/session/csv.test.ts b/api.planx.uk/modules/admin/session/csv.test.ts index 4e520adf86..a842e19059 100644 --- a/api.planx.uk/modules/admin/session/csv.test.ts +++ b/api.planx.uk/modules/admin/session/csv.test.ts @@ -5,16 +5,16 @@ import { authHeader } from "../../../tests/mockJWT.js"; const endpoint = (strings: TemplateStringsArray) => `/admin/session/${strings[0]}/csv`; -const mockGenerateCSVData = jest.fn().mockResolvedValue([ +const mockGenerateCSVData = vi.fn().mockResolvedValue([ { question: "Is this a test?", responses: [{ value: "Yes" }], metadata: {}, }, ]); -jest.mock("@opensystemslab/planx-core", () => { +vi.mock("@opensystemslab/planx-core", () => { return { - CoreDomainClient: jest.fn().mockImplementation(() => ({ + CoreDomainClient: vi.fn().mockImplementation(() => ({ export: { csvData: () => mockGenerateCSVData(), }, @@ -23,7 +23,9 @@ jest.mock("@opensystemslab/planx-core", () => { }); describe("CSV data admin endpoint", () => { - afterEach(() => jest.clearAllMocks()); + afterEach(() => { + vi.clearAllMocks(); + }); const auth = authHeader({ role: "platformAdmin" }); it("requires a user to be logged in", async () => { diff --git a/api.planx.uk/modules/admin/session/digitalPlanningData.test.ts b/api.planx.uk/modules/admin/session/digitalPlanningData.test.ts index ef1c753aec..29cd0c4e38 100644 --- a/api.planx.uk/modules/admin/session/digitalPlanningData.test.ts +++ b/api.planx.uk/modules/admin/session/digitalPlanningData.test.ts @@ -6,13 +6,13 @@ import { expectedPlanningPermissionPayload } from "../../../tests/mocks/digitalP const endpoint = (strings: TemplateStringsArray) => `/admin/session/${strings[0]}/digital-planning-application`; -const mockGenerateDigitalPlanningApplicationPayload = jest +const mockGenerateDigitalPlanningApplicationPayload = vi .fn() .mockResolvedValue(expectedPlanningPermissionPayload); -jest.mock("@opensystemslab/planx-core", () => { +vi.mock("@opensystemslab/planx-core", () => { return { - CoreDomainClient: jest.fn().mockImplementation(() => ({ + CoreDomainClient: vi.fn().mockImplementation(() => ({ export: { digitalPlanningDataPayload: () => mockGenerateDigitalPlanningApplicationPayload(), diff --git a/api.planx.uk/modules/admin/session/html.test.ts b/api.planx.uk/modules/admin/session/html.test.ts index 21dd78f45d..30ddf8dbe4 100644 --- a/api.planx.uk/modules/admin/session/html.test.ts +++ b/api.planx.uk/modules/admin/session/html.test.ts @@ -5,7 +5,7 @@ import { authHeader } from "../../../tests/mockJWT.js"; const endpoint = (strings: TemplateStringsArray) => `/admin/session/${strings[0]}/html`; -const mockGenerateHTMLData = jest.fn().mockResolvedValue({ +const mockGenerateHTMLData = vi.fn().mockResolvedValue({ responses: [ { question: "Is this a test?", @@ -15,7 +15,7 @@ const mockGenerateHTMLData = jest.fn().mockResolvedValue({ ], redactedResponses: [], }); -jest.mock("../../../client", () => { +vi.mock("../../../client", () => { return { $api: { export: { @@ -26,7 +26,9 @@ jest.mock("../../../client", () => { }); describe("HTML data admin endpoint", () => { - afterEach(() => jest.clearAllMocks()); + afterEach(() => { + vi.clearAllMocks(); + }); it("requires a user to be logged in", () => { return supertest(app) diff --git a/api.planx.uk/modules/admin/session/oneAppXML.test.ts b/api.planx.uk/modules/admin/session/oneAppXML.test.ts index c9304dc268..572c89bc16 100644 --- a/api.planx.uk/modules/admin/session/oneAppXML.test.ts +++ b/api.planx.uk/modules/admin/session/oneAppXML.test.ts @@ -5,11 +5,11 @@ import { authHeader } from "../../../tests/mockJWT.js"; const endpoint = (strings: TemplateStringsArray) => `/admin/session/${strings[0]}/xml`; -const mockGenerateOneAppXML = jest +const mockGenerateOneAppXML = vi .fn() .mockResolvedValue(""); -jest.mock("../../../client", () => { +vi.mock("../../../client", () => { return { $api: { export: { diff --git a/api.planx.uk/modules/admin/session/summary.test.ts b/api.planx.uk/modules/admin/session/summary.test.ts index e57215459a..26c39daf19 100644 --- a/api.planx.uk/modules/admin/session/summary.test.ts +++ b/api.planx.uk/modules/admin/session/summary.test.ts @@ -19,7 +19,9 @@ describe("Session summary admin endpoint", () => { }); }); - afterEach(() => jest.clearAllMocks()); + afterEach(() => { + vi.clearAllMocks(); + }); it("requires a user to be logged in", async () => { await supertest(app) diff --git a/api.planx.uk/modules/admin/session/zip.test.ts b/api.planx.uk/modules/admin/session/zip.test.ts index ac1ab0b69c..3c271194a2 100644 --- a/api.planx.uk/modules/admin/session/zip.test.ts +++ b/api.planx.uk/modules/admin/session/zip.test.ts @@ -2,10 +2,10 @@ import supertest from "supertest"; import app from "../../../server.js"; import { authHeader } from "../../../tests/mockJWT.js"; -jest.mock("../../send/utils/exportZip", () => ({ - buildSubmissionExportZip: jest.fn().mockResolvedValue({ +vi.mock("../../send/utils/exportZip", () => ({ + buildSubmissionExportZip: vi.fn().mockResolvedValue({ filename: "tests/mocks/test.zip", - remove: jest.fn, + remove: vi.fn, }), })); @@ -13,7 +13,9 @@ const endpoint = (strings: TemplateStringsArray) => `/admin/session/${strings[0]}/zip`; describe("zip data admin endpoint", () => { - afterEach(() => jest.clearAllMocks()); + afterEach(() => { + vi.clearAllMocks(); + }); it("requires a user to be logged in", async () => { await supertest(app) diff --git a/api.planx.uk/modules/auth/service.test.ts b/api.planx.uk/modules/auth/service.test.ts index 9d521e039f..bf0f3162c9 100644 --- a/api.planx.uk/modules/auth/service.test.ts +++ b/api.planx.uk/modules/auth/service.test.ts @@ -1,8 +1,8 @@ import { checkUserCanAccessEnv } from "./service.js"; -const mockIsStagingOnly = jest.fn(); +const mockIsStagingOnly = vi.fn(); -jest.mock("../../client", () => { +vi.mock("../../client", () => { return { $api: { user: { diff --git a/api.planx.uk/modules/file/file.test.ts b/api.planx.uk/modules/file/file.test.ts index ace9ee2d9a..e824a32006 100644 --- a/api.planx.uk/modules/file/file.test.ts +++ b/api.planx.uk/modules/file/file.test.ts @@ -1,15 +1,16 @@ import supertest from "supertest"; +import { Mocked } from "vitest"; import app from "../../server.js"; import { deleteFilesByURL } from "./service/deleteFile.js"; import { authHeader } from "../../tests/mockJWT.js"; -let mockPutObject: jest.Mocked<() => void>; -let mockGetObject: jest.Mocked<() => void>; -let mockDeleteObjects: jest.Mocked<() => void>; +let mockPutObject: Mocked<() => void>; +let mockGetObject: Mocked<() => void>; +let mockDeleteObjects: Mocked<() => void>; let getObjectResponse = {}; -const mockGetSignedUrl = jest.fn(() => { +const mockGetSignedUrl = vi.fn(() => { const randomFolderName = "nanoid"; const modifiedKey = "modified%20key"; return ` @@ -26,17 +27,17 @@ const s3Mock = () => { }; }; -jest.mock("aws-sdk/clients/s3", () => { - return jest.fn().mockImplementation(() => { +vi.mock("aws-sdk/clients/s3", () => ({ + default: vi.fn().mockImplementation(() => { return s3Mock(); - }); -}); + }), +})); describe("File upload", () => { beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); - mockPutObject = jest.fn(() => ({ + mockPutObject = vi.fn(() => ({ promise: () => Promise.resolve(), })); }); @@ -86,7 +87,7 @@ describe("File upload", () => { }); it("should handle S3 error", async () => { - mockPutObject = jest.fn(() => ({ + mockPutObject = vi.fn(() => ({ promise: () => Promise.reject(new Error("S3 error!")), })); @@ -163,7 +164,7 @@ describe("File upload", () => { }); it("should handle S3 error", async () => { - mockPutObject = jest.fn(() => ({ + mockPutObject = vi.fn(() => ({ promise: () => Promise.reject(new Error("S3 error!")), })); @@ -194,9 +195,9 @@ describe("File download", () => { "Tue May 31 2022 12:21:37 GMT+0000 (Coordinated Universal Time)", ETag: "a4c57ed39e8d869d636ccf5fc34a65a1", }; - jest.clearAllMocks(); + vi.clearAllMocks(); - mockGetObject = jest.fn(() => ({ + mockGetObject = vi.fn(() => ({ promise: () => Promise.resolve(getObjectResponse), })); }); @@ -234,7 +235,7 @@ describe("File download", () => { }); it("should handle S3 error", async () => { - mockGetObject = jest.fn(() => ({ + mockGetObject = vi.fn(() => ({ promise: () => Promise.reject(new Error("S3 error!")), })); @@ -312,7 +313,7 @@ describe("File download", () => { }); it("should handle S3 error", async () => { - mockGetObject = jest.fn(() => ({ + mockGetObject = vi.fn(() => ({ promise: () => Promise.reject(new Error("S3 error!")), })); @@ -332,11 +333,11 @@ describe("File download", () => { describe("File delete", () => { beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it("deletes files by URL", async () => { - mockDeleteObjects = jest.fn(() => ({ + mockDeleteObjects = vi.fn(() => ({ promise: () => Promise.resolve(), })); const fileURLs = [ @@ -360,7 +361,7 @@ describe("File delete", () => { }); it("throw an error if S3 fails to delete the file", async () => { - mockDeleteObjects = jest.fn(() => ({ + mockDeleteObjects = vi.fn(() => ({ promise: () => { throw Error(); }, diff --git a/api.planx.uk/modules/flows/copyFlow/copyFlow.test.ts b/api.planx.uk/modules/flows/copyFlow/copyFlow.test.ts index 88d39889f5..9036eb18d5 100644 --- a/api.planx.uk/modules/flows/copyFlow/copyFlow.test.ts +++ b/api.planx.uk/modules/flows/copyFlow/copyFlow.test.ts @@ -197,7 +197,7 @@ it("throws an error if the a GraphQL operation fails", async () => { }); it("throws an error if user details are missing", async () => { - const getStoreMock = jest.spyOn(userContext, "getStore"); + const getStoreMock = vi.spyOn(userContext, "getStore"); getStoreMock.mockReturnValue(undefined); const body = { diff --git a/api.planx.uk/modules/flows/publish/publish.test.ts b/api.planx.uk/modules/flows/publish/publish.test.ts index 78a4b6a20c..3ab2402ee3 100644 --- a/api.planx.uk/modules/flows/publish/publish.test.ts +++ b/api.planx.uk/modules/flows/publish/publish.test.ts @@ -7,7 +7,7 @@ import { userContext } from "../../auth/middleware.js"; import { mockFlowData } from "../../../tests/mocks/validateAndPublishMocks.js"; beforeAll(() => { - const getStoreMock = jest.spyOn(userContext, "getStore"); + const getStoreMock = vi.spyOn(userContext, "getStore"); getStoreMock.mockReturnValue({ user: { sub: "123", @@ -167,7 +167,7 @@ describe("publish", () => { }); it("throws an error if user details are missing", async () => { - const getStoreMock = jest.spyOn(userContext, "getStore"); + const getStoreMock = vi.spyOn(userContext, "getStore"); getStoreMock.mockReturnValue(undefined); await supertest(app) diff --git a/api.planx.uk/modules/flows/validate/validate.test.ts b/api.planx.uk/modules/flows/validate/validate.test.ts index e9349bbffb..818610ceb0 100644 --- a/api.planx.uk/modules/flows/validate/validate.test.ts +++ b/api.planx.uk/modules/flows/validate/validate.test.ts @@ -9,7 +9,7 @@ import { FlowGraph } from "@opensystemslab/planx-core/types"; import { mockFlowData } from "../../../tests/mocks/validateAndPublishMocks.js"; beforeAll(() => { - const getStoreMock = jest.spyOn(userContext, "getStore"); + const getStoreMock = vi.spyOn(userContext, "getStore"); getStoreMock.mockReturnValue({ user: { sub: "123", diff --git a/api.planx.uk/modules/gis/service/classifiedRoads.test.ts b/api.planx.uk/modules/gis/service/classifiedRoads.test.ts index b16c79c8f1..e429a7f062 100644 --- a/api.planx.uk/modules/gis/service/classifiedRoads.test.ts +++ b/api.planx.uk/modules/gis/service/classifiedRoads.test.ts @@ -18,7 +18,7 @@ it("returns an error if required query param is missing", async () => { // "Success" test commented out due to reliance on external API calls and fallibility of nocks // Please comment in and run locally if making changes to /roads functionality describe.skip("fetching classified roads data from OS Features API for any local authority", () => { - jest.setTimeout(10000); + vi.setConfig({ testTimeout: 1000 }); // address is for reference only, geom is buffered & flipped site boundary coords const locations = [ diff --git a/api.planx.uk/modules/gis/service/helpers.test.js b/api.planx.uk/modules/gis/service/helpers.test.js index eabf53b2b7..6e6179cebc 100644 --- a/api.planx.uk/modules/gis/service/helpers.test.js +++ b/api.planx.uk/modules/gis/service/helpers.test.js @@ -151,7 +151,6 @@ describe("rollupResultLayer helper function", () => { // Assert expect(result).toHaveProperty(key); layersToRollup.forEach((layer) => { - // Jest can handle paths using dot notation, so keys with a dot need to be wrapped in [] expect(result).toHaveProperty([layer]); expect(result[layer]).toMatchObject({ value: false }); }); diff --git a/api.planx.uk/modules/gis/service/index.test.ts b/api.planx.uk/modules/gis/service/index.test.ts index cee3abeaa7..6b6944bc5f 100644 --- a/api.planx.uk/modules/gis/service/index.test.ts +++ b/api.planx.uk/modules/gis/service/index.test.ts @@ -8,11 +8,11 @@ import { locationSearchWithTimeout } from "./index.js"; // Please comment in and run locally if making changes to /gis functionality describe("locationSearchWithTimeout", () => { beforeEach(() => { - jest.useFakeTimers(); + vi.useFakeTimers(); }); afterEach(() => { - jest.useRealTimers(); + vi.useRealTimers(); }); test.skip("a successful call", async () => { @@ -34,7 +34,7 @@ describe("locationSearchWithTimeout", () => { { x: 50, y: 50, siteBoundary: "[]" }, timeout, ); - jest.runAllTimers(); + vi.runAllTimers(); await expect(promise).rejects.toEqual("location search timeout"); }); }); diff --git a/api.planx.uk/modules/pay/index.test.ts b/api.planx.uk/modules/pay/index.test.ts index 9539d22f5d..38dff1e36c 100644 --- a/api.planx.uk/modules/pay/index.test.ts +++ b/api.planx.uk/modules/pay/index.test.ts @@ -4,14 +4,14 @@ import supertest from "supertest"; import app from "../../server.js"; -jest.mock("@opensystemslab/planx-core", () => { +vi.mock("@opensystemslab/planx-core", () => { return { - CoreDomainClient: jest.fn().mockImplementation(() => ({ + CoreDomainClient: vi.fn().mockImplementation(() => ({ session: { - findDetails: jest.fn().mockImplementation(() => ({ lockedAt: null })), + findDetails: vi.fn().mockImplementation(() => ({ lockedAt: null })), }, team: { - getIntegrations: jest + getIntegrations: vi .fn() .mockImplementation(() => ({ govPayToken: "abc123" })), }, diff --git a/api.planx.uk/modules/pay/service/inviteToPay/createPaymentSendEvents.test.ts b/api.planx.uk/modules/pay/service/inviteToPay/createPaymentSendEvents.test.ts index d9cf2abbeb..aec212019f 100644 --- a/api.planx.uk/modules/pay/service/inviteToPay/createPaymentSendEvents.test.ts +++ b/api.planx.uk/modules/pay/service/inviteToPay/createPaymentSendEvents.test.ts @@ -3,9 +3,10 @@ import app from "../../../../server.js"; import { createScheduledEvent } from "../../../../lib/hasura/metadata/index.js"; import { queryMock } from "../../../../tests/graphqlQueryMock.js"; import { flowWithInviteToPay } from "../../../../tests/mocks/inviteToPayData.js"; +import { MockedFunction } from "vitest"; -jest.mock("../../../../lib/hasura/metadata"); -const mockedCreateScheduledEvent = createScheduledEvent as jest.MockedFunction< +vi.mock("../../../../lib/hasura/metadata"); +const mockedCreateScheduledEvent = createScheduledEvent as MockedFunction< typeof createScheduledEvent >; @@ -67,7 +68,9 @@ describe("Create payment send events webhook", () => { }); }); - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await supertest(app) diff --git a/api.planx.uk/modules/pay/service/inviteToPay/sendConfirmationEmail.test.ts b/api.planx.uk/modules/pay/service/inviteToPay/sendConfirmationEmail.test.ts index 48e10ac9c5..81ba7d8ce2 100644 --- a/api.planx.uk/modules/pay/service/inviteToPay/sendConfirmationEmail.test.ts +++ b/api.planx.uk/modules/pay/service/inviteToPay/sendConfirmationEmail.test.ts @@ -4,8 +4,8 @@ import { queryMock } from "../../../../tests/graphqlQueryMock.js"; import { sendAgentAndPayeeConfirmationEmail } from "./sendConfirmationEmail.js"; import { sendEmail } from "../../../../lib/notify/index.js"; -jest.mock("../../../../lib/notify", () => ({ - sendEmail: jest.fn(), +vi.mock("../../../../lib/notify", () => ({ + sendEmail: vi.fn(), })); describe("sendAgentAndPayeeConfirmationEmail", () => { @@ -14,7 +14,7 @@ describe("sendAgentAndPayeeConfirmationEmail", () => { }); afterEach(() => { - jest.restoreAllMocks(); + vi.restoreAllMocks(); }); test("sendEmail is called with agent and payee arguments", async () => { diff --git a/api.planx.uk/modules/saveAndReturn/service/validateSession.test.ts b/api.planx.uk/modules/saveAndReturn/service/validateSession.test.ts index b27d09948c..e5374f6549 100644 --- a/api.planx.uk/modules/saveAndReturn/service/validateSession.test.ts +++ b/api.planx.uk/modules/saveAndReturn/service/validateSession.test.ts @@ -19,7 +19,7 @@ import { userContext } from "../../auth/middleware.js"; import { getJWT } from "../../../tests/mockJWT.js"; const validateSessionPath = "/validate-session"; -const getStoreMock = jest.spyOn(userContext, "getStore"); +const getStoreMock = vi.spyOn(userContext, "getStore"); describe("Validate Session endpoint", () => { const reconciledData = omit(mockLowcalSession.data, "passport"); diff --git a/api.planx.uk/modules/send/bops/bops.test.ts b/api.planx.uk/modules/send/bops/bops.test.ts index 7ceb6f75ea..bf9694ef1f 100644 --- a/api.planx.uk/modules/send/bops/bops.test.ts +++ b/api.planx.uk/modules/send/bops/bops.test.ts @@ -4,21 +4,21 @@ import { queryMock } from "../../../tests/graphqlQueryMock.js"; import app from "../../../server.js"; import { expectedPlanningPermissionPayload } from "../../../tests/mocks/digitalPlanningDataMocks.js"; -jest.mock("../../saveAndReturn/service/utils", () => ({ - markSessionAsSubmitted: jest.fn(), +vi.mock("../../saveAndReturn/service/utils", () => ({ + markSessionAsSubmitted: vi.fn(), })); -jest.mock("@opensystemslab/planx-core", () => { - const actualCoreDomainClient = jest.requireActual( - "@opensystemslab/planx-core", - ).CoreDomainClient; +vi.mock("@opensystemslab/planx-core", async (importOriginal) => { + const actualCore = + await importOriginal(); + const actualCoreDomainClient = actualCore.CoreDomainClient; return { CoreDomainClient: class extends actualCoreDomainClient { constructor() { super(); - this.export.digitalPlanningDataPayload = () => - jest.fn().mockResolvedValue({ + this.export.digitalPlanningDataPayload = async () => + vi.fn().mockResolvedValue({ exportData: expectedPlanningPermissionPayload, }); } diff --git a/api.planx.uk/modules/send/email/index.test.ts b/api.planx.uk/modules/send/email/index.test.ts index 30097622da..6c19f24386 100644 --- a/api.planx.uk/modules/send/email/index.test.ts +++ b/api.planx.uk/modules/send/email/index.test.ts @@ -2,7 +2,7 @@ import supertest from "supertest"; import { queryMock } from "../../../tests/graphqlQueryMock.js"; import app from "../../../server.js"; -const mockGenerateCSVData = jest.fn().mockResolvedValue([ +const mockGenerateCSVData = vi.fn().mockResolvedValue([ { question: "Is this a test?", responses: [{ value: "Yes" }], @@ -10,31 +10,31 @@ const mockGenerateCSVData = jest.fn().mockResolvedValue([ }, ]); -jest.mock("@opensystemslab/planx-core", () => { - const actualCoreDomainClient = jest.requireActual( - "@opensystemslab/planx-core", - ).CoreDomainClient; +vi.mock("@opensystemslab/planx-core", async (importOriginal) => { + const actualCore = + await importOriginal(); + const actualCoreDomainClient = actualCore.CoreDomainClient; return { - Passport: jest.fn().mockImplementation(() => ({ - files: jest.fn().mockImplementation(() => []), + Passport: vi.fn().mockImplementation(() => ({ + files: vi.fn().mockImplementation(() => []), })), CoreDomainClient: class extends actualCoreDomainClient { constructor() { super(); - this.getDocumentTemplateNamesForSession = jest.fn(); + this.getDocumentTemplateNamesForSession = vi.fn(); this.export.csvData = () => mockGenerateCSVData(); } }, }; }); -const mockBuildSubmissionExportZip = jest.fn().mockImplementation(() => ({ +const mockBuildSubmissionExportZip = vi.fn().mockImplementation(() => ({ write: () => "zip", toBuffer: () => Buffer.from("test"), })); -jest.mock("../utils/exportZip", () => { +vi.mock("../utils/exportZip", () => { return { buildSubmissionExportZip: (input: string) => Promise.resolve(mockBuildSubmissionExportZip(input)), diff --git a/api.planx.uk/modules/send/s3/index.test.ts b/api.planx.uk/modules/send/s3/index.test.ts index 6538474ec5..c5f8d56fe3 100644 --- a/api.planx.uk/modules/send/s3/index.test.ts +++ b/api.planx.uk/modules/send/s3/index.test.ts @@ -3,21 +3,21 @@ import app from "../../../server.js"; import { expectedPlanningPermissionPayload } from "../../../tests/mocks/digitalPlanningDataMocks.js"; import { queryMock } from "../../../tests/graphqlQueryMock.js"; -jest.mock("../../saveAndReturn/service/utils", () => ({ - markSessionAsSubmitted: jest.fn(), +vi.mock("../../saveAndReturn/service/utils", () => ({ + markSessionAsSubmitted: vi.fn(), })); -jest.mock("@opensystemslab/planx-core", () => { - const actualCoreDomainClient = jest.requireActual( - "@opensystemslab/planx-core", - ).CoreDomainClient; +vi.mock("@opensystemslab/planx-core", async (importOriginal) => { + const actualCore = + await importOriginal(); + const actualCoreDomainClient = actualCore.CoreDomainClient; return { CoreDomainClient: class extends actualCoreDomainClient { constructor() { super(); - this.export.digitalPlanningDataPayload = () => - jest.fn().mockResolvedValue({ + this.export.digitalPlanningDataPayload = async () => + vi.fn().mockResolvedValue({ exportData: expectedPlanningPermissionPayload, }); } diff --git a/api.planx.uk/modules/send/utils/exportZip.test.ts b/api.planx.uk/modules/send/utils/exportZip.test.ts index d38bee79f0..5f9d1840cf 100644 --- a/api.planx.uk/modules/send/utils/exportZip.test.ts +++ b/api.planx.uk/modules/send/utils/exportZip.test.ts @@ -3,79 +3,79 @@ import { buildSubmissionExportZip } from "./exportZip.js"; import type { LowCalSession } from "../../../types.js"; import { expectedPlanningPermissionPayload } from "../../../tests/mocks/digitalPlanningDataMocks.js"; -jest.mock("fs", () => ({ - mkdtempSync: () => "tmpdir", - existsSync: () => true, - unlinkSync: () => undefined, - createWriteStream: () => undefined, - rmSync: () => undefined, +vi.mock("fs", () => ({ + default: { + mkdtempSync: () => "tmpdir", + existsSync: () => true, + unlinkSync: () => undefined, + createWriteStream: () => undefined, + rmSync: () => undefined, + }, })); -const mockAddFile = jest.fn(); -const mockAddLocalFile = jest.fn(); -jest.mock("adm-zip", () => { - return jest.fn().mockImplementation(() => ({ +const mockAddFile = vi.fn(); +const mockAddLocalFile = vi.fn(); +vi.mock("adm-zip", () => ({ + default: vi.fn().mockImplementation(() => ({ addFile: mockAddFile, addLocalFile: mockAddLocalFile, - writeZip: jest.fn(), - })); -}); + writeZip: vi.fn(), + })), +})); const mockPipe = { - pipe: jest.fn().mockImplementation(() => ({ + pipe: vi.fn().mockImplementation(() => ({ on: (event: string, cb: () => void) => { if (event == "finish") return cb(); }, })), }; -jest.mock("csv-stringify", () => { +vi.mock("csv-stringify", () => { return { - stringify: jest.fn().mockImplementation(() => mockPipe), + stringify: vi.fn().mockImplementation(() => mockPipe), }; }); -jest.mock("string-to-stream", () => { - return jest.fn().mockImplementation(() => mockPipe); -}); +vi.mock("string-to-stream", () => ({ + default: vi.fn().mockImplementation(() => mockPipe), +})); -const mockGetSessionById = jest.fn().mockResolvedValue(mockLowcalSession); -const mockHasRequiredDataForTemplate = jest.fn(() => true); -jest.mock("@opensystemslab/planx-core", () => { +const mockGetSessionById = vi.fn().mockResolvedValue(mockLowcalSession); +const mockHasRequiredDataForTemplate = vi.fn(() => true); +vi.mock("@opensystemslab/planx-core", () => { return { - Passport: jest.fn().mockImplementation(() => ({ - files: jest.fn().mockImplementation(() => []), + Passport: vi.fn().mockImplementation(() => ({ + files: vi.fn().mockImplementation(() => []), })), - hasRequiredDataForTemplate: jest.fn(() => mockHasRequiredDataForTemplate()), - generateDocxTemplateStream: jest.fn().mockImplementation(() => mockPipe), - generateApplicationHTML: jest + hasRequiredDataForTemplate: vi.fn(() => mockHasRequiredDataForTemplate()), + generateDocxTemplateStream: vi.fn().mockImplementation(() => mockPipe), + generateApplicationHTML: vi .fn() .mockImplementation(() => "

application

"), - generateMapHTML: jest.fn().mockImplementation(() => "

map

"), + generateMapHTML: vi.fn().mockImplementation(() => "

map

"), }; }); -const mockGenerateOneAppXML = jest +const mockGenerateOneAppXML = vi .fn() .mockResolvedValue({ trim: () => "" }); -const mockGenerateDigitalPlanningDataPayload = jest +const mockGenerateDigitalPlanningDataPayload = vi .fn() .mockResolvedValue(expectedPlanningPermissionPayload); -jest.mock("../../../client", () => { +vi.mock("../../../client", () => { return { $api: { - getDocumentTemplateNamesForSession: jest - .fn() - .mockResolvedValue(["X", "Y"]), + getDocumentTemplateNamesForSession: vi.fn().mockResolvedValue(["X", "Y"]), session: { find: () => mockGetSessionById(), }, export: { - csvData: jest.fn().mockResolvedValue([ + csvData: vi.fn().mockResolvedValue([ { question: "Test", responses: [{ value: "Answer" }], metadata: {}, }, ]), - csvDataRedacted: jest.fn().mockResolvedValue([]), + csvDataRedacted: vi.fn().mockResolvedValue([]), oneAppPayload: () => mockGenerateOneAppXML(), digitalPlanningDataPayload: () => mockGenerateDigitalPlanningDataPayload(), @@ -86,7 +86,7 @@ jest.mock("../../../client", () => { describe("buildSubmissionExportZip", () => { beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); test("the csv is added to the zip", async () => { await buildSubmissionExportZip({ sessionId: "1234" }); diff --git a/api.planx.uk/modules/slack/index.test.ts b/api.planx.uk/modules/slack/index.test.ts index 6866eac6d6..10aa07f300 100644 --- a/api.planx.uk/modules/slack/index.test.ts +++ b/api.planx.uk/modules/slack/index.test.ts @@ -12,14 +12,16 @@ const invalidBody = { wrong: "message", }; -const mockSend = jest.fn(); -jest.mock("slack-notify", () => - jest.fn().mockImplementation(() => { +const mockSend = vi.fn(); +vi.mock("slack-notify", () => ({ + default: vi.fn().mockImplementation(() => { return { send: mockSend }; }), -); +})); -afterEach(jest.clearAllMocks); +afterEach(() => { + vi.clearAllMocks(); +}); it("returns an error if authorization headers are not set", async () => { await supertest(app) diff --git a/api.planx.uk/modules/team/controller.test.ts b/api.planx.uk/modules/team/controller.test.ts index 9d9e4d7e30..a93090d0b1 100644 --- a/api.planx.uk/modules/team/controller.test.ts +++ b/api.planx.uk/modules/team/controller.test.ts @@ -2,11 +2,11 @@ import supertest from "supertest"; import app from "../../server.js"; import { authHeader } from "../../tests/mockJWT.js"; -const mockAddMember = jest.fn(); -const mockRemoveMember = jest.fn(); -const mockChangeMemberRole = jest.fn(); +const mockAddMember = vi.fn(); +const mockRemoveMember = vi.fn(); +const mockChangeMemberRole = vi.fn(); -jest.mock("./service", () => ({ +vi.mock("./service", () => ({ addMember: () => mockAddMember(), changeMemberRole: () => mockChangeMemberRole(), removeMember: () => mockRemoveMember(), diff --git a/api.planx.uk/modules/team/service.test.ts b/api.planx.uk/modules/team/service.test.ts index e5f3e157d0..df4b5e28c3 100644 --- a/api.planx.uk/modules/team/service.test.ts +++ b/api.planx.uk/modules/team/service.test.ts @@ -8,20 +8,20 @@ import { changeMemberRole, } from "./service.js"; -const getStoreMock = jest.spyOn(userContext, "getStore"); +const getStoreMock = vi.spyOn(userContext, "getStore"); const mockTeam = { id: 123 }; const mockUser = { id: 456 }; -const mockAddMember = jest.fn(); -const mockRemoveMember = jest.fn(); -const mockChangeMemberRole = jest.fn(); -const mockGetTeamBySlug = jest.fn().mockResolvedValue(mockTeam); -const mockGetUserByEmail = jest.fn().mockResolvedValue(mockUser); +const mockAddMember = vi.fn(); +const mockRemoveMember = vi.fn(); +const mockChangeMemberRole = vi.fn(); +const mockGetTeamBySlug = vi.fn().mockResolvedValue(mockTeam); +const mockGetUserByEmail = vi.fn().mockResolvedValue(mockUser); -jest.mock("@opensystemslab/planx-core", () => { +vi.mock("@opensystemslab/planx-core", () => { return { - CoreDomainClient: jest.fn().mockImplementation(() => ({ + CoreDomainClient: vi.fn().mockImplementation(() => ({ team: { getBySlug: () => mockGetTeamBySlug(), addMember: () => mockAddMember(), diff --git a/api.planx.uk/modules/user/index.test.ts b/api.planx.uk/modules/user/index.test.ts index a04fe18470..49a66c3cc6 100644 --- a/api.planx.uk/modules/user/index.test.ts +++ b/api.planx.uk/modules/user/index.test.ts @@ -3,7 +3,7 @@ import app from "../../server.js"; import { authHeader, getJWT } from "../../tests/mockJWT.js"; import { userContext } from "../auth/middleware.js"; -const getStoreMock = jest.spyOn(userContext, "getStore"); +const getStoreMock = vi.spyOn(userContext, "getStore"); const mockUser = { firstName: "Bilbo", @@ -12,10 +12,10 @@ const mockUser = { isPlatformAdmin: false, }; -const mockCreateUser = jest.fn(); -const mockDeleteUser = jest.fn(); -const mockGetByEmail = jest.fn().mockResolvedValue(mockUser); -const mockGetById = jest.fn().mockResolvedValue({ +const mockCreateUser = vi.fn(); +const mockDeleteUser = vi.fn(); +const mockGetByEmail = vi.fn().mockResolvedValue(mockUser); +const mockGetById = vi.fn().mockResolvedValue({ id: 123, firstName: "Albert", lastName: "Einstein", @@ -33,9 +33,9 @@ const mockGetById = jest.fn().mockResolvedValue({ ], }); -jest.mock("@opensystemslab/planx-core", () => { +vi.mock("@opensystemslab/planx-core", () => { return { - CoreDomainClient: jest.fn().mockImplementation(() => ({ + CoreDomainClient: vi.fn().mockImplementation(() => ({ user: { create: () => mockCreateUser(), delete: () => mockDeleteUser(), diff --git a/api.planx.uk/modules/webhooks/service/analyzeSessions/index.test.ts b/api.planx.uk/modules/webhooks/service/analyzeSessions/index.test.ts index f15c479835..4cfc6f125f 100644 --- a/api.planx.uk/modules/webhooks/service/analyzeSessions/index.test.ts +++ b/api.planx.uk/modules/webhooks/service/analyzeSessions/index.test.ts @@ -4,16 +4,13 @@ import app from "../../../../server.js"; import * as operations from "./operations.js"; import * as sharedOperations from "../sanitiseApplicationData/operations.js"; -const mockSend = jest.fn(); -const mockSlackNotify = jest.fn().mockImplementation(() => { +const mockSend = vi.fn(); +const mockSlackNotify = vi.fn().mockImplementation(() => { return { send: mockSend }; }); -jest.mock("slack-notify", () => { - return { - __esModule: true, // see https://jestjs.io/docs/jest-object#jestmockmodulename-factory-options - default: (webhookURL: string) => mockSlackNotify(webhookURL), - }; -}); +vi.mock("slack-notify", () => ({ + default: (webhookURL: string) => mockSlackNotify(webhookURL), +})); const { post } = supertest(app); @@ -31,10 +28,7 @@ describe("Analyze sessions webhook", () => { }); it("returns a 500 if an unhandled error is thrown whilst running operations", async () => { - const mockOperationHandler = jest.spyOn( - sharedOperations, - "operationHandler", - ); + const mockOperationHandler = vi.spyOn(sharedOperations, "operationHandler"); mockOperationHandler.mockRejectedValueOnce("Unhandled error!"); await post(ENDPOINT) @@ -48,11 +42,11 @@ describe("Analyze sessions webhook", () => { }); it("returns a 200 when all operations are successful", async () => { - const mockOperation1 = jest.fn().mockResolvedValue(["123"]); - const mockOperation2 = jest.fn().mockResolvedValue(["456", "789"]); - const mockOperation3 = jest.fn().mockResolvedValue(["abc", "def", "ghi"]); + const mockOperation1 = vi.fn().mockResolvedValue(["123"]); + const mockOperation2 = vi.fn().mockResolvedValue(["456", "789"]); + const mockOperation3 = vi.fn().mockResolvedValue(["abc", "def", "ghi"]); - const mockGetOperations = jest.spyOn( + const mockGetOperations = vi.spyOn( operations, "getAnalyzeSessionOperations", ); @@ -90,13 +84,13 @@ describe("Analyze sessions webhook", () => { }); it("returns a 500 when only a single operation fails", async () => { - const mockOperation1 = jest.fn().mockResolvedValue(["123"]); - const mockOperation2 = jest + const mockOperation1 = vi.fn().mockResolvedValue(["123"]); + const mockOperation2 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation3 = jest.fn().mockResolvedValue(["abc", "def", "ghi"]); + const mockOperation3 = vi.fn().mockResolvedValue(["abc", "def", "ghi"]); - const mockGetOperations = jest.spyOn( + const mockGetOperations = vi.spyOn( operations, "getAnalyzeSessionOperations", ); @@ -143,17 +137,17 @@ describe("Analyze sessions webhook", () => { }); it("returns a 500 if all operations fail", async () => { - const mockOperation1 = jest + const mockOperation1 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation2 = jest + const mockOperation2 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation3 = jest + const mockOperation3 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockGetOperations = jest.spyOn( + const mockGetOperations = vi.spyOn( operations, "getAnalyzeSessionOperations", ); diff --git a/api.planx.uk/modules/webhooks/service/analyzeSessions/operations.test.ts b/api.planx.uk/modules/webhooks/service/analyzeSessions/operations.test.ts index e7b1dfe798..d9e1d5e515 100644 --- a/api.planx.uk/modules/webhooks/service/analyzeSessions/operations.test.ts +++ b/api.planx.uk/modules/webhooks/service/analyzeSessions/operations.test.ts @@ -5,26 +5,21 @@ import { updateLowcalSessionAllowListAnswers, } from "./operations.js"; -jest.mock("../../../../lib/hasura/schema"); -const mockFindSession = jest.fn(); +vi.mock("../../../../lib/hasura/schema"); +const mockFindSession = vi.fn(); -jest.mock("@opensystemslab/planx-core", () => { - const actualCoreDomainClient = jest.requireActual( - "@opensystemslab/planx-core", - ).CoreDomainClient; - - const actualPassport = jest.requireActual( - "@opensystemslab/planx-core", - ).Passport; +vi.mock("@opensystemslab/planx-core", async (importOriginal) => { + const actualCore = + await importOriginal(); + const actualCoreDomainClient = actualCore.CoreDomainClient; + const actualPassport = actualCore.Passport; return { Passport: actualPassport, CoreDomainClient: class extends actualCoreDomainClient { constructor() { super(); - this.session.find = jest - .fn() - .mockImplementation(() => mockFindSession()); + this.session.find = vi.fn().mockImplementation(() => mockFindSession()); } }, }; diff --git a/api.planx.uk/modules/webhooks/service/lowcalSessionEvents/index.test.ts b/api.planx.uk/modules/webhooks/service/lowcalSessionEvents/index.test.ts index 5127d64a4e..98678310ed 100644 --- a/api.planx.uk/modules/webhooks/service/lowcalSessionEvents/index.test.ts +++ b/api.planx.uk/modules/webhooks/service/lowcalSessionEvents/index.test.ts @@ -1,11 +1,12 @@ import supertest from "supertest"; import app from "../../../../server.js"; import { createScheduledEvent } from "../../../../lib/hasura/metadata/index.js"; +import { MockedFunction } from "vitest"; const { post } = supertest(app); -jest.mock("../../../../lib/hasura/metadata"); -const mockedCreateScheduledEvent = createScheduledEvent as jest.MockedFunction< +vi.mock("../../../../lib/hasura/metadata"); +const mockedCreateScheduledEvent = createScheduledEvent as MockedFunction< typeof createScheduledEvent >; @@ -17,7 +18,9 @@ const mockScheduledEventResponse = { describe("Create reminder event webhook", () => { const ENDPOINT = "/webhooks/hasura/create-reminder-event"; - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await post(ENDPOINT) @@ -138,7 +141,9 @@ describe("Create reminder event webhook", () => { describe("Create expiry event webhook", () => { const ENDPOINT = "/webhooks/hasura/create-expiry-event"; - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await post(ENDPOINT) diff --git a/api.planx.uk/modules/webhooks/service/paymentRequestEvents/index.test.ts b/api.planx.uk/modules/webhooks/service/paymentRequestEvents/index.test.ts index 6bc569e276..9c584657f5 100644 --- a/api.planx.uk/modules/webhooks/service/paymentRequestEvents/index.test.ts +++ b/api.planx.uk/modules/webhooks/service/paymentRequestEvents/index.test.ts @@ -2,11 +2,12 @@ import supertest from "supertest"; import app from "../../../../server.js"; import { createScheduledEvent } from "../../../../lib/hasura/metadata/index.js"; import { CreatePaymentEvent } from "./schema.js"; +import { MockedFunction } from "vitest"; const { post } = supertest(app); -jest.mock("../../../../lib/hasura/metadata"); -const mockedCreateScheduledEvent = createScheduledEvent as jest.MockedFunction< +vi.mock("../../../../lib/hasura/metadata"); +const mockedCreateScheduledEvent = createScheduledEvent as MockedFunction< typeof createScheduledEvent >; @@ -18,7 +19,9 @@ const mockScheduledEventResponse = { describe("Create payment invitation events webhook", () => { const ENDPOINT = "/webhooks/hasura/create-payment-invitation-events"; - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await post(ENDPOINT) @@ -127,7 +130,9 @@ describe("Create payment invitation events webhook", () => { describe("Create payment reminder events webhook", () => { const ENDPOINT = "/webhooks/hasura/create-payment-reminder-events"; - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await post(ENDPOINT) @@ -258,7 +263,9 @@ describe("Create payment reminder events webhook", () => { describe("Create payment expiry events webhook", () => { const ENDPOINT = "/webhooks/hasura/create-payment-expiry-events"; - afterEach(() => jest.resetAllMocks()); + afterEach(() => { + vi.resetAllMocks(); + }); it("fails without correct authentication", async () => { await post(ENDPOINT) diff --git a/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/index.test.ts b/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/index.test.ts index 24abe581a3..c8930efaf5 100644 --- a/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/index.test.ts +++ b/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/index.test.ts @@ -2,16 +2,13 @@ import supertest from "supertest"; import app from "../../../../server.js"; import * as operations from "./operations.js"; -const mockSend = jest.fn(); -const mockSlackNotify = jest.fn().mockImplementation(() => { +const mockSend = vi.fn(); +const mockSlackNotify = vi.fn().mockImplementation(() => { return { send: mockSend }; }); -jest.mock("slack-notify", () => { - return { - __esModule: true, // see https://jestjs.io/docs/jest-object#jestmockmodulename-factory-options - default: (webhookURL: string) => mockSlackNotify(webhookURL), - }; -}); +vi.mock("slack-notify", () => ({ + default: (webhookURL: string) => mockSlackNotify(webhookURL), +})); const { post } = supertest(app); @@ -29,7 +26,7 @@ describe("Sanitise application data webhook", () => { }); it("returns a 500 if an unhandled error is thrown whilst running operations", async () => { - const mockOperationHandler = jest.spyOn(operations, "operationHandler"); + const mockOperationHandler = vi.spyOn(operations, "operationHandler"); mockOperationHandler.mockRejectedValueOnce("Unhandled error!"); await post(ENDPOINT) @@ -43,11 +40,11 @@ describe("Sanitise application data webhook", () => { }); it("returns a 200 when all operations are successful", async () => { - const mockOperation1 = jest.fn().mockResolvedValue(["123"]); - const mockOperation2 = jest.fn().mockResolvedValue(["456", "789"]); - const mockOperation3 = jest.fn().mockResolvedValue(["abc", "def", "ghi"]); + const mockOperation1 = vi.fn().mockResolvedValue(["123"]); + const mockOperation2 = vi.fn().mockResolvedValue(["456", "789"]); + const mockOperation3 = vi.fn().mockResolvedValue(["abc", "def", "ghi"]); - const mockGetOperations = jest.spyOn(operations, "getOperations"); + const mockGetOperations = vi.spyOn(operations, "getOperations"); mockGetOperations.mockImplementationOnce(() => [ mockOperation1, mockOperation2, @@ -82,13 +79,13 @@ describe("Sanitise application data webhook", () => { }); it("returns a 500 when only a single operation fails", async () => { - const mockOperation1 = jest.fn().mockResolvedValue(["123"]); - const mockOperation2 = jest + const mockOperation1 = vi.fn().mockResolvedValue(["123"]); + const mockOperation2 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation3 = jest.fn().mockResolvedValue(["abc", "def", "ghi"]); + const mockOperation3 = vi.fn().mockResolvedValue(["abc", "def", "ghi"]); - const mockGetOperations = jest.spyOn(operations, "getOperations"); + const mockGetOperations = vi.spyOn(operations, "getOperations"); mockGetOperations.mockImplementationOnce(() => [ mockOperation1, mockOperation2, @@ -132,17 +129,17 @@ describe("Sanitise application data webhook", () => { }); it("returns a 500 if all operations fail", async () => { - const mockOperation1 = jest + const mockOperation1 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation2 = jest + const mockOperation2 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockOperation3 = jest + const mockOperation3 = vi .fn() .mockRejectedValue(new Error("Query failed!")); - const mockGetOperations = jest.spyOn(operations, "getOperations"); + const mockGetOperations = vi.spyOn(operations, "getOperations"); mockGetOperations.mockImplementationOnce(() => [ mockOperation1, mockOperation2, diff --git a/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/operations.test.ts b/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/operations.test.ts index e4b15c7e90..a0dedc1ec8 100644 --- a/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/operations.test.ts +++ b/api.planx.uk/modules/webhooks/service/sanitiseApplicationData/operations.test.ts @@ -26,29 +26,25 @@ import { deleteHasuraScheduledEventsForSubmittedSessions, deleteFeedback, } from "./operations.js"; +import { MockedFunction } from "vitest"; -jest.mock("../../../../lib/hasura/schema"); -const mockRunSQL = runSQL as jest.MockedFunction; +vi.mock("../../../../lib/hasura/schema"); +const mockRunSQL = runSQL as MockedFunction; -const mockFindSession = jest.fn(); +const mockFindSession = vi.fn(); -jest.mock("@opensystemslab/planx-core", () => { - const actualCoreDomainClient = jest.requireActual( - "@opensystemslab/planx-core", - ).CoreDomainClient; - - const actualPassport = jest.requireActual( - "@opensystemslab/planx-core", - ).Passport; +vi.mock("@opensystemslab/planx-core", async (importOriginal) => { + const actualCore = + await importOriginal(); + const actualCoreDomainClient = actualCore.CoreDomainClient; + const actualPassport = actualCore.Passport; return { Passport: actualPassport, CoreDomainClient: class extends actualCoreDomainClient { constructor() { super(); - this.session.find = jest - .fn() - .mockImplementation(() => mockFindSession()); + this.session.find = vi.fn().mockImplementation(() => mockFindSession()); } }, }; @@ -56,36 +52,36 @@ jest.mock("@opensystemslab/planx-core", () => { const s3Mock = () => { return { - deleteObjects: jest.fn(() => ({ + deleteObjects: vi.fn(() => ({ promise: () => Promise.resolve(), })), }; }; -jest.mock("aws-sdk/clients/s3", () => { - return jest.fn().mockImplementation(() => { +vi.mock("aws-sdk/clients/s3", () => ({ + default: vi.fn().mockImplementation(() => { return s3Mock(); - }); -}); + }), +})); describe("'operationHandler' helper function", () => { it("returns a success result when an operation succeeds", async () => { - const successOperation = jest + const successOperation = vi .fn() .mockResolvedValue(["123", "abc", "456", "xyz"]); await expect(operationHandler(successOperation)).resolves.toEqual({ - operationName: "mockConstructor", + operationName: "spy", status: "success", count: 4, }); }); it("returns a failure result when an operation fails", async () => { - const failureOperation = jest + const failureOperation = vi .fn() .mockRejectedValue(new Error("Something went wrong")); await expect(operationHandler(failureOperation)).resolves.toEqual({ - operationName: "mockConstructor", + operationName: "spy", status: "failure", errorMessage: "Something went wrong", }); @@ -93,10 +89,12 @@ describe("'operationHandler' helper function", () => { }); describe("getRetentionPeriod helper function", () => { - afterAll(() => jest.useRealTimers()); + afterAll(() => { + vi.useRealTimers(); + }); it("returns a date 6 months in the past", () => { - jest.useFakeTimers().setSystemTime(new Date("2022-08-01")); + vi.useFakeTimers().setSystemTime(new Date("2022-08-01")); const result = getRetentionPeriod(); diff --git a/api.planx.uk/modules/webhooks/service/sendNotification/index.test.ts b/api.planx.uk/modules/webhooks/service/sendNotification/index.test.ts index 464eaab70b..272ba89bbe 100644 --- a/api.planx.uk/modules/webhooks/service/sendNotification/index.test.ts +++ b/api.planx.uk/modules/webhooks/service/sendNotification/index.test.ts @@ -3,7 +3,6 @@ import app from "../../../../server.js"; import SlackNotify from "slack-notify"; import { BOPSBody, EmailBody, S3Body, UniformBody } from "./types.js"; import { $api } from "../../../../client/index.js"; -import { CoreDomainClient } from "@opensystemslab/planx-core"; const mockSessionWithFee = { data: { @@ -35,15 +34,15 @@ const mockSessionWithResubmissionExemption = { }, }; -jest.mock("../../../../client"); -const mockAdmin = jest.mocked($api); +vi.mock("../../../../client"); +const mockAdmin = vi.mocked($api); -const mockSend = jest.fn(); -jest.mock("slack-notify", () => - jest.fn().mockImplementation(() => { +const mockSend = vi.fn(); +vi.mock("slack-notify", () => ({ + default: vi.fn().mockImplementation(() => { return { send: mockSend }; }), -); +})); const { post } = supertest(app); @@ -53,13 +52,17 @@ describe("Send Slack notifications endpoint", () => { beforeEach(() => { process.env = { ...ORIGINAL_ENV }; - mockAdmin.session.find = jest.fn().mockResolvedValue(mockSessionWithFee); + mockAdmin.session.find = vi.fn().mockResolvedValue(mockSessionWithFee); mockSend.mockResolvedValue("Success!"); }); - afterEach(jest.clearAllMocks); + afterEach(() => { + vi.clearAllMocks(); + }); - afterAll(() => (process.env = ORIGINAL_ENV)); + afterAll(() => { + process.env = ORIGINAL_ENV; + }); describe("authentication and validation", () => { it("fails without correct authentication", async () => { @@ -215,7 +218,7 @@ describe("Send Slack notifications endpoint", () => { it("adds a status to the Slack message for a disability exemption", async () => { process.env.APP_ENVIRONMENT = "production"; - mockAdmin.session.find = jest + mockAdmin.session.find = vi .fn() .mockResolvedValue(mockSessionWithDisabilityExemption); @@ -231,7 +234,7 @@ describe("Send Slack notifications endpoint", () => { it("adds a status to the Slack message for a resubmission exemption", async () => { process.env.APP_ENVIRONMENT = "production"; - mockAdmin.session.find = jest + mockAdmin.session.find = vi .fn() .mockResolvedValue(mockSessionWithResubmissionExemption); @@ -247,7 +250,7 @@ describe("Send Slack notifications endpoint", () => { it("handles missing sessions", async () => { process.env.APP_ENVIRONMENT = "production"; - mockAdmin.session.find = jest.fn().mockResolvedValueOnce(null); + mockAdmin.session.find = vi.fn().mockResolvedValueOnce(null); await post(ENDPOINT) .query({ type: "uniform-submission" }) diff --git a/api.planx.uk/modules/webhooks/service/validateInput/utils.test.ts b/api.planx.uk/modules/webhooks/service/validateInput/utils.test.ts index 3968d4511a..c2f937e65c 100644 --- a/api.planx.uk/modules/webhooks/service/validateInput/utils.test.ts +++ b/api.planx.uk/modules/webhooks/service/validateInput/utils.test.ts @@ -2,7 +2,7 @@ import { isCleanHTML, isObjectValid } from "./utils.js"; describe("isObjectValid", () => { it("calls the callback for each child if validator returns true", () => { - const mockValidator = jest.fn().mockReturnValue(true); + const mockValidator = vi.fn().mockReturnValue(true); const testObject = { a: 1, @@ -21,7 +21,7 @@ describe("isObjectValid", () => { }); it("fails fast if any validator encounters any false values", () => { - const mockValidator = jest + const mockValidator = vi .fn() .mockReturnValueOnce(true) .mockReturnValueOnce(false); @@ -43,7 +43,7 @@ describe("isObjectValid", () => { }); it("handles arrays correctly", () => { - const mockValidator = jest.fn().mockReturnValue(true); + const mockValidator = vi.fn().mockReturnValue(true); const testArray = [1, [2, 3], { a: 4 }]; @@ -53,7 +53,7 @@ describe("isObjectValid", () => { }); it("handles an object containing an array of objects", () => { - const mockValidator = jest.fn().mockReturnValue(true); + const mockValidator = vi.fn().mockReturnValue(true); const objectWithArrayOfObjects = { a: 1, @@ -68,7 +68,7 @@ describe("isObjectValid", () => { }); it("handles empty objects and arrays", () => { - const mockValidator = jest.fn().mockReturnValue(true); + const mockValidator = vi.fn().mockReturnValue(true); const emptyObject = {}; const emptyArray: unknown[] = []; diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index 0f67f94765..98fdea9e8b 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#df593a5", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#d46df8d", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", @@ -62,9 +62,9 @@ "lint": "eslint '**/*.{js,ts}' && prettier -c .", "lint:fix": "eslint --fix '**/*.{js,ts}' && prettier -w .", "check": "tsc --noEmit && pnpm lint", - "test": "TZ=Europe/London NODE_OPTIONS='$NODE_OPTIONS --experimental-vm-modules' jest --no-cache", - "test:coverage": "TZ=Europe/London NODE_OPTIONS='$NODE_OPTIONS --experimental-vm-modules' jest; open ./coverage/lcov-report/index.html", - "test:watch": "TZ=Europe/London NODE_OPTIONS='$NODE_OPTIONS --experimental-vm-modules' jest --coverage=false --watch", + "test": "TZ=Europe/London vitest run", + "test:coverage": "TZ=Europe/London vitest run --coverage && open coverage/lcov-report/index.html", + "test:watch": "TZ=Europe/London vitest --ui --coverage", "build": "rimraf ./dist && npx tsc && pnpm copy-swagger-files", "prepare": "cd .. && husky install api.planx.uk/.husky", "copy-swagger-files": "copyfiles '**/docs.yaml' dist" @@ -87,7 +87,6 @@ "@types/express": "^4.17.21", "@types/express-pino-logger": "^4.0.5", "@types/he": "^1.2.3", - "@types/jest": "^29.5.11", "@types/jsdom": "^21.1.6", "@types/jsonwebtoken": "^9.0.5", "@types/lodash": "^4.17.0", @@ -101,25 +100,23 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", + "@vitest/coverage-istanbul": "^2.0.5", + "@vitest/eslint-plugin": "^1.1.0", + "@vitest/ui": "^2.0.5", "dotenv": "^16.4.5", - "esbuild": "^0.22.0", - "esbuild-jest": "^0.5.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^27.9.0", "graphql-query-test-mock": "^0.12.1", - "jest": "^29.7.0", "json-stringify-pretty-compact": "^3.0.0", "lint-staged": "^15.0.2", "nock": "^13.5.4", "prettier": "^3.2.4", "rimraf": "^5.0.5", "supertest": "^7.0.0", - "ts-jest": "^29.2.4", - "ts-jest-mock-import-meta": "^1.2.0", "tsx": "^4.16.2", "typescript": "^5.5.2", - "uuid": "^10.0.0" + "uuid": "^10.0.0", + "vitest": "^2.0.5" }, "pnpm": { "peerDependencyRules": { diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index e56b3daee2..07e67b9d52 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#df593a5 - version: github.com/theopensystemslab/planx-core/df593a5 + specifier: git+https://github.com/theopensystemslab/planx-core#d46df8d + version: github.com/theopensystemslab/planx-core/d46df8d '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -180,9 +180,6 @@ devDependencies: '@types/he': specifier: ^1.2.3 version: 1.2.3 - '@types/jest': - specifier: ^29.5.11 - version: 29.5.11 '@types/jsdom': specifier: ^21.1.6 version: 21.1.6 @@ -222,30 +219,27 @@ devDependencies: '@typescript-eslint/parser': specifier: ^5.62.0 version: 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@vitest/coverage-istanbul': + specifier: ^2.0.5 + version: 2.0.5(vitest@2.0.5) + '@vitest/eslint-plugin': + specifier: ^1.1.0 + version: 1.1.0(eslint@8.57.0)(typescript@5.5.2)(vitest@2.0.5) + '@vitest/ui': + specifier: ^2.0.5 + version: 2.0.5(vitest@2.0.5) dotenv: specifier: ^16.4.5 version: 16.4.5 - esbuild: - specifier: ^0.22.0 - version: 0.22.0 - esbuild-jest: - specifier: ^0.5.0 - version: 0.5.0(esbuild@0.22.0) eslint: specifier: ^8.57.0 version: 8.57.0 eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) - eslint-plugin-jest: - specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.2) graphql-query-test-mock: specifier: ^0.12.1 version: 0.12.1(nock@13.5.4) - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) json-stringify-pretty-compact: specifier: ^3.0.0 version: 3.0.0 @@ -264,12 +258,6 @@ devDependencies: supertest: specifier: ^7.0.0 version: 7.0.0 - ts-jest: - specifier: ^29.2.4 - version: 29.2.4(@babel/core@7.24.0)(esbuild@0.22.0)(jest@29.7.0)(typescript@5.5.2) - ts-jest-mock-import-meta: - specifier: ^1.2.0 - version: 1.2.0(ts-jest@29.2.4) tsx: specifier: ^4.16.2 version: 4.16.2 @@ -279,6 +267,9 @@ devDependencies: uuid: specifier: ^10.0.0 version: 10.0.0 + vitest: + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.13)(@vitest/ui@2.0.5)(jsdom@24.1.0) packages: @@ -553,69 +544,12 @@ packages: dependencies: '@babel/types': 7.25.2 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.0): - resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/parser@7.25.4: + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + engines: {node: '>=6.0.0'} + hasBin: true dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.4 dev: true /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.0): @@ -628,80 +562,6 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.0): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} @@ -795,17 +655,13 @@ packages: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@cnakazawa/watch@1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true + /@babel/types@7.25.4: + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + engines: {node: '>=6.9.0'} dependencies: - exec-sh: 0.3.6 - minimist: 1.2.8 + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 dev: true /@cspotcode/source-map-support@0.8.1: @@ -813,6 +669,7 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 + dev: false /@emotion/babel-plugin@11.12.0: resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} @@ -821,7 +678,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -856,8 +713,8 @@ packages: resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false - /@emotion/react@11.13.0(react@18.3.1): - resolution: {integrity: sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==} + /@emotion/react@11.13.3(react@18.3.1): + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -870,7 +727,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/cache': 11.13.1 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 '@emotion/weak-memoize': 0.4.0 @@ -880,12 +737,12 @@ packages: - supports-color dev: false - /@emotion/serialize@1.3.0: - resolution: {integrity: sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA==} + /@emotion/serialize@1.3.1: + resolution: {integrity: sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==} dependencies: '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/unitless': 0.9.0 + '@emotion/unitless': 0.10.0 '@emotion/utils': 1.4.0 csstype: 3.1.3 dev: false @@ -894,7 +751,7 @@ packages: resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} dev: false - /@emotion/styled@11.13.0(@emotion/react@11.13.0)(react@18.3.1): + /@emotion/styled@11.13.0(@emotion/react@11.13.3)(react@18.3.1): resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -909,8 +766,8 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/serialize': 1.3.0 + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/serialize': 1.3.1 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 react: 18.3.1 @@ -918,8 +775,8 @@ packages: - supports-color dev: false - /@emotion/unitless@0.9.0: - resolution: {integrity: sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==} + /@emotion/unitless@0.10.0: + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} dev: false /@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1): @@ -950,15 +807,6 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.22.0: - resolution: {integrity: sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.21.5: resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -968,15 +816,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.22.0: - resolution: {integrity: sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.21.5: resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -986,15 +825,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.22.0: - resolution: {integrity: sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.21.5: resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -1004,15 +834,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.22.0: - resolution: {integrity: sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.21.5: resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -1022,15 +843,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.22.0: - resolution: {integrity: sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.21.5: resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -1040,15 +852,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.22.0: - resolution: {integrity: sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.21.5: resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -1058,15 +861,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.22.0: - resolution: {integrity: sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.21.5: resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -1076,15 +870,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.22.0: - resolution: {integrity: sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.21.5: resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -1094,15 +879,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.22.0: - resolution: {integrity: sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.21.5: resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -1112,15 +888,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.22.0: - resolution: {integrity: sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.21.5: resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -1130,15 +897,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.22.0: - resolution: {integrity: sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.21.5: resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -1148,15 +906,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.22.0: - resolution: {integrity: sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.21.5: resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -1166,15 +915,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.22.0: - resolution: {integrity: sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.21.5: resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -1184,15 +924,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.22.0: - resolution: {integrity: sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.21.5: resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -1202,15 +933,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.22.0: - resolution: {integrity: sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.21.5: resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -1220,15 +942,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.22.0: - resolution: {integrity: sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.21.5: resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -1238,15 +951,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.22.0: - resolution: {integrity: sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.21.5: resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -1256,56 +960,20 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.22.0: - resolution: {integrity: sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==} - engines: {node: '>=18'} + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-arm64@0.22.0: - resolution: {integrity: sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==} - engines: {node: '>=18'} - cpu: [arm64] os: [openbsd] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.21.5: - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.22.0: - resolution: {integrity: sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.21.5: - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.22.0: - resolution: {integrity: sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] + os: [sunos] requiresBuild: true dev: true optional: true @@ -1319,15 +987,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.22.0: - resolution: {integrity: sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.21.5: resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -1337,15 +996,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.22.0: - resolution: {integrity: sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.21.5: resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -1355,15 +1005,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.22.0: - resolution: {integrity: sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1489,270 +1130,11 @@ packages: wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} dev: true - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - dev: true - - /@jest/core@29.7.0(ts-node@10.9.2): - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.7 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - dev: true - - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - jest-mock: 29.7.0 - dev: true - - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - dev: true - - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.19.13 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 18.19.13 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - callsites: 3.1.0 - graceful-fs: 4.2.11 - dev: true - - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - dev: true - - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - dev: true - - /@jest/transform@26.6.2: - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/core': 7.24.0 - '@jest/types': 26.6.2 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 - micromatch: 4.0.7 - pirates: 4.0.6 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.24.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.7 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/types@26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.13 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - dev: true - - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.13 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -1783,6 +1165,7 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + dev: false /@jsdevtools/ono@7.1.3: resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} @@ -1818,7 +1201,7 @@ packages: resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} dev: false - /@mui/material@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): + /@mui/material@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1840,10 +1223,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) '@popperjs/core': 2.11.8 @@ -1875,7 +1258,7 @@ packages: react: 18.3.1 dev: false - /@mui/styled-engine@5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/styled-engine@5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1892,14 +1275,14 @@ packages: dependencies: '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1918,10 +1301,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/private-theming': 5.16.6(react@18.3.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) clsx: 2.1.1 @@ -1984,37 +1367,157 @@ packages: requiresBuild: true optional: true + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + dev: true + /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@rollup/rollup-android-arm-eabi@4.21.1: + resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.21.1: + resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - dependencies: - type-detect: 4.0.8 + /@rollup/rollup-darwin-arm64@4.21.1: + resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - dependencies: - '@sinonjs/commons': 3.0.1 + /@rollup/rollup-darwin-x64@4.21.1: + resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.21.1: + resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.21.1: + resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.21.1: + resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.21.1: + resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.21.1: + resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.21.1: + resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.21.1: + resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.21.1: + resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.21.1: + resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.21.1: + resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.21.1: + resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.21.1: + resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true /@tsconfig/node10@1.0.11: resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: false /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: false /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: false /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: false /@types/adm-zip@0.5.0: resolution: {integrity: sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==} @@ -2022,37 +1525,8 @@ packages: '@types/node': 18.19.13 dev: true - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - dev: true - - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - dependencies: - '@babel/types': 7.25.2 - dev: true - - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 - dev: true - - /@types/babel__traverse@7.20.6: - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - dependencies: - '@babel/types': 7.25.2 - dev: true - - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 '@types/node': 18.19.13 @@ -2095,6 +1569,10 @@ packages: '@types/trusted-types': 2.0.7 dev: true + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + /@types/express-pino-logger@4.0.5: resolution: {integrity: sha512-Fe2oB1F70KPkJAFV52WFNmNpajQVPY1IWmKVF7xBMNgYQU1mVc0Y/JXNP8E9w2uSfXlMIVwhQa+mFCjFvgmRnA==} dependencies: @@ -2118,12 +1596,6 @@ packages: '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - dependencies: - '@types/node': 18.19.13 - dev: true - /@types/he@1.2.3: resolution: {integrity: sha512-q67/qwlxblDzEDvzHhVkwc1gzVWxaNxeyHUBF4xElrvjL11O+Ytze+1fGpBHlr/H9myiBUaUXNnNPmBHxxfAcA==} dev: true @@ -2141,29 +1613,6 @@ packages: resolution: {integrity: sha512-ulw4d+vW1HKn4oErSmNN2HYEcHGq0N1C5exlrMM0CRqX1UUpFhGb5lwiom5j9KN3LBJJDLRmYIZz1ghm7FIzZw==} dev: false - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - dev: true - - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - dependencies: - '@types/istanbul-lib-report': 3.0.3 - dev: true - - /@types/jest@29.5.11: - resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - dev: true - /@types/jsdom@21.1.6: resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} dependencies: @@ -2325,10 +1774,6 @@ packages: '@types/node': 18.19.13 '@types/send': 0.17.4 - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true - /@types/superagent@8.1.8: resolution: {integrity: sha512-nTqHJ2OTa7PFEpLahzSEEeFeqbMpmcN7OeayiOc7v+xk+/vyTKljRe+o4MPqSnPeRCMvtxuLG+5QqluUVQJOnA==} dependencies: @@ -2367,22 +1812,6 @@ packages: resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} dev: true - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true - - /@types/yargs@15.0.19: - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - dependencies: - '@types/yargs-parser': 21.0.3 - dev: true - - /@types/yargs@17.0.33: - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - dependencies: - '@types/yargs-parser': 21.0.3 - dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2516,6 +1945,106 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + /@vitest/coverage-istanbul@2.0.5(vitest@2.0.5): + resolution: {integrity: sha512-BvjWKtp7fiMAeYUD0mO5cuADzn1gmjTm54jm5qUEnh/O08riczun8rI4EtQlg3bWoRo2lT3FO8DmjPDX9ZthPw==} + peerDependencies: + vitest: 2.0.5 + dependencies: + '@istanbuljs/schema': 0.1.3 + debug: 4.3.6 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + magicast: 0.3.5 + test-exclude: 7.0.1 + tinyrainbow: 1.2.0 + vitest: 2.0.5(@types/node@18.19.13)(@vitest/ui@2.0.5)(jsdom@24.1.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/eslint-plugin@1.1.0(eslint@8.57.0)(typescript@5.5.2)(vitest@2.0.5): + resolution: {integrity: sha512-Ur80Y27Wbw8gFHJ3cv6vypcjXmrx6QHfw+q435h6Q2L+tf+h4Xf5pJTCL4YU/Jps9EVeggQxS85OcUZU7sdXRw==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + typescript: + optional: true + vitest: + optional: true + dependencies: + eslint: 8.57.0 + typescript: 5.5.2 + vitest: 2.0.5(@types/node@18.19.13)(@vitest/ui@2.0.5)(jsdom@24.1.0) + dev: true + + /@vitest/expect@2.0.5: + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 + dev: true + + /@vitest/pretty-format@2.0.5: + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + dependencies: + tinyrainbow: 1.2.0 + dev: true + + /@vitest/runner@2.0.5: + resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + dependencies: + '@vitest/utils': 2.0.5 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@2.0.5: + resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + dependencies: + '@vitest/pretty-format': 2.0.5 + magic-string: 0.30.11 + pathe: 1.1.2 + dev: true + + /@vitest/spy@2.0.5: + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + dependencies: + tinyspy: 3.0.0 + dev: true + + /@vitest/ui@2.0.5(vitest@2.0.5): + resolution: {integrity: sha512-m+ZpVt/PVi/nbeRKEjdiYeoh0aOfI9zr3Ria9LO7V2PlMETtAXJS3uETEZkc8Be2oOl8mhd7Ew+5SRBXRYncNw==} + peerDependencies: + vitest: 2.0.5 + dependencies: + '@vitest/utils': 2.0.5 + fast-glob: 3.3.2 + fflate: 0.8.2 + flatted: 3.3.1 + pathe: 1.1.2 + sirv: 2.0.4 + tinyrainbow: 1.2.0 + vitest: 2.0.5(@types/node@18.19.13)(@vitest/ui@2.0.5)(jsdom@24.1.0) + dev: true + + /@vitest/utils@2.0.5: + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + dev: true + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -2543,6 +2072,7 @@ packages: engines: {node: '>=0.4.0'} dependencies: acorn: 8.12.1 + dev: false /acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} @@ -2561,7 +2091,6 @@ packages: debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: false /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -2591,13 +2120,6 @@ packages: require-from-string: 2.0.2 dev: false - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-escapes@5.0.0: resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} engines: {node: '>=12'} @@ -2630,58 +2152,21 @@ packages: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true + dev: false /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true - /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false @@ -2691,33 +2176,18 @@ packages: engines: {node: '>=8'} dev: true - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true - /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true - - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + /assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} dev: true /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - /atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} @@ -2755,76 +2225,6 @@ packages: - debug dev: false - /babel-jest@26.6.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.0 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2(@babel/core@7.24.0) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-jest@29.7.0(@babel/core@7.24.0): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.24.0 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.0) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.24.8 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist@26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - dev: true - - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - dev: true - /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} @@ -2834,51 +2234,6 @@ packages: resolve: 1.22.8 dev: false - /babel-preset-current-node-syntax@1.1.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - dev: true - - /babel-preset-jest@26.6.2(@babel/core@7.24.0): - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.0 - babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.24.0) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.24.0): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.0 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.24.0) - dev: true - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -2890,19 +2245,6 @@ packages: engines: {node: '>=6.0.0'} dev: false - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - /bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} dev: false @@ -2959,25 +2301,13 @@ packages: update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - - /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - /buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: false /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false /buffer@4.9.2: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} @@ -3006,19 +2336,9 @@ packages: engines: {node: '>= 0.8'} dev: false - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /call-bind@1.0.7: @@ -3039,25 +2359,19 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - /caniuse-lite@1.0.30001651: resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} dev: true - /capture-exit@2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} + /chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} dependencies: - rsvp: 4.8.5 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 dev: true /chalk@2.4.2: @@ -3088,9 +2402,9 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + /check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} dev: true /cheerio-select@2.1.0: @@ -3104,42 +2418,23 @@ packages: domutils: 3.1.0 dev: false - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + /cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.1.0 - htmlparser2: 8.0.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 dev: false - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true - - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true - - /cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} - dev: true - - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: true - /cli-color@2.0.4: resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} engines: {node: '>=0.10'} @@ -3174,37 +2469,11 @@ packages: wrap-ansi: 7.0.0 dev: false - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - /clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} dev: false - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - dev: true - - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -3280,6 +2549,7 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -3331,11 +2601,6 @@ packages: keygrip: 1.1.0 dev: false - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true - /copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true @@ -3372,27 +2637,9 @@ packages: yaml: 1.10.2 dev: false - /create-jest@29.7.0(@types/node@18.19.13)(ts-node@10.9.2): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: false /cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} @@ -3402,17 +2649,6 @@ packages: - encoding dev: false - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -3441,7 +2677,6 @@ packages: engines: {node: '>=18'} dependencies: rrweb-cssom: 0.6.0 - dev: false /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -3470,7 +2705,6 @@ packages: dependencies: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - dev: false /date-fns@3.3.1: resolution: {integrity: sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==} @@ -3489,6 +2723,7 @@ packages: optional: true dependencies: ms: 2.0.0 + dev: false /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -3526,20 +2761,10 @@ packages: /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: false - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: true - - /dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true + /deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} dev: true /deep-equal@1.1.2: @@ -3557,11 +2782,6 @@ packages: /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -3579,28 +2799,6 @@ packages: object-keys: 1.1.1 dev: true - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.7 - dev: true - - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.3 - dev: true - - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - dev: true - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3615,11 +2813,6 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - /dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} dependencies: @@ -3631,11 +2824,6 @@ packages: resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} dev: false - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff@3.5.0: resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} engines: {node: '>=0.3.1'} @@ -3644,6 +2832,7 @@ packages: /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + dev: false /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -3734,23 +2923,10 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - jake: 10.9.2 - dev: true - /electron-to-chromium@1.5.8: resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==} dev: true - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3762,6 +2938,13 @@ packages: engines: {node: '>= 0.8'} dev: false + /encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -3775,6 +2958,7 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: false /error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -3828,19 +3012,6 @@ packages: es6-symbol: 3.1.4 dev: false - /esbuild-jest@0.5.0(esbuild@0.22.0): - resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} - peerDependencies: - esbuild: '>=0.8.50' - dependencies: - '@babel/core': 7.24.0 - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.0) - babel-jest: 26.6.3(@babel/core@7.24.0) - esbuild: 0.22.0 - transitivePeerDependencies: - - supports-color - dev: true - /esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -3872,38 +3043,6 @@ packages: '@esbuild/win32-x64': 0.21.5 dev: true - /esbuild@0.22.0: - resolution: {integrity: sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==} - engines: {node: '>=18'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.22.0 - '@esbuild/android-arm': 0.22.0 - '@esbuild/android-arm64': 0.22.0 - '@esbuild/android-x64': 0.22.0 - '@esbuild/darwin-arm64': 0.22.0 - '@esbuild/darwin-x64': 0.22.0 - '@esbuild/freebsd-arm64': 0.22.0 - '@esbuild/freebsd-x64': 0.22.0 - '@esbuild/linux-arm': 0.22.0 - '@esbuild/linux-arm64': 0.22.0 - '@esbuild/linux-ia32': 0.22.0 - '@esbuild/linux-loong64': 0.22.0 - '@esbuild/linux-mips64el': 0.22.0 - '@esbuild/linux-ppc64': 0.22.0 - '@esbuild/linux-riscv64': 0.22.0 - '@esbuild/linux-s390x': 0.22.0 - '@esbuild/linux-x64': 0.22.0 - '@esbuild/netbsd-x64': 0.22.0 - '@esbuild/openbsd-arm64': 0.22.0 - '@esbuild/openbsd-x64': 0.22.0 - '@esbuild/sunos-x64': 0.22.0 - '@esbuild/win32-arm64': 0.22.0 - '@esbuild/win32-ia32': 0.22.0 - '@esbuild/win32-x64': 0.22.0 - dev: true - /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -3916,11 +3055,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -3934,28 +3068,6 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.2): - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) - eslint: 8.57.0 - jest: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -4039,12 +3151,6 @@ packages: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} @@ -4066,6 +3172,12 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -4105,38 +3217,6 @@ packages: engines: {node: '>=0.8.x'} dev: true - /exec-sh@0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - dev: true - - /execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -4152,37 +3232,6 @@ packages: strip-final-newline: 3.0.0 dev: true - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true - - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - dev: true - /express-async-errors@3.1.1(express@4.19.2): resolution: {integrity: sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng==} peerDependencies: @@ -4265,37 +3314,6 @@ packages: type: 2.7.3 dev: false - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /extract-files@9.0.0: resolution: {integrity: sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==} engines: {node: ^10.17.0 || ^12.0.0 || >= 13.7.0} @@ -4356,12 +3374,6 @@ packages: dependencies: reusify: 1.0.4 - /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - dependencies: - bser: 2.1.1 - dev: true - /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -4370,18 +3382,16 @@ packages: web-streams-polyfill: 3.3.3 dev: false + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + dev: true + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - dependencies: - minimatch: 5.1.6 - dev: true - /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -4407,14 +3417,6 @@ packages: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: false - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -4449,11 +3451,6 @@ packages: is-callable: 1.2.7 dev: false - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true - /foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} @@ -4507,13 +3504,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -4545,6 +3535,11 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + dev: false + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} @@ -4556,23 +3551,6 @@ packages: has-symbols: 1.0.3 hasown: 2.0.2 - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true - - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -4584,11 +3562,6 @@ packages: resolve-pkg-maps: 1.0.0 dev: true - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -4663,10 +3636,6 @@ packages: dependencies: get-intrinsic: 1.2.4 - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -4746,37 +3715,6 @@ packages: dependencies: has-symbols: 1.0.3 - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -4813,14 +3751,13 @@ packages: engines: {node: '>=18'} dependencies: whatwg-encoding: 3.1.1 - dev: false /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -4847,7 +3784,6 @@ packages: debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: false /http-proxy-middleware@2.0.6(@types/express@4.17.21): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} @@ -4887,12 +3823,6 @@ packages: debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: false - - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} @@ -4917,7 +3847,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: false /ieee754@1.1.13: resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} @@ -4942,15 +3871,6 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -4970,13 +3890,6 @@ packages: engines: {node: '>= 0.10'} dev: false - /is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} - dependencies: - hasown: 2.0.2 - dev: true - /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -4986,35 +3899,19 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true + dev: false /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: false - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true - dependencies: - ci-info: 2.0.0 - dev: true - /is-core-module@2.15.0: resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 - - /is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - dependencies: - hasown: 2.0.2 - dev: true + dev: false /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -5023,34 +3920,6 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - dev: true - - /is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - dev: true - - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -5064,11 +3933,6 @@ packages: engines: {node: '>=12'} dev: true - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -5082,13 +3946,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -5102,16 +3959,8 @@ packages: engines: {node: '>=10'} dev: false - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: false /is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} @@ -5125,16 +3974,6 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5147,37 +3986,17 @@ packages: which-typed-array: 1.1.15 dev: false - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - dev: true - - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: false /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: false /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true - /isomorphic-fetch@3.0.0: resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} dependencies: @@ -5192,19 +4011,6 @@ packages: engines: {node: '>=8'} dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.24.0 - '@babel/parser': 7.25.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-instrument@6.0.3: resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} @@ -5222,531 +4028,52 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.6 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /iterall@1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - dev: true - - /jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - /jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - async: 3.2.5 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - dev: true - - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - dev: true - - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.3 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.1.0 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-cli@29.7.0(@types/node@18.19.13)(ts-node@10.9.2): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - - /jest-config@29.7.0(@types/node@18.19.13)(ts-node@10.9.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.24.0 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - babel-jest: 29.7.0(@babel/core@7.24.0) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.7 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@18.19.13)(typescript@5.5.2) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-diff@23.6.0: - resolution: {integrity: sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==} - dependencies: - chalk: 2.4.2 - diff: 3.5.0 - jest-get-type: 22.4.3 - pretty-format: 23.6.0 - dev: true - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 - dev: true - - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - - /jest-get-type@22.4.3: - resolution: {integrity: sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==} - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-haste-map@26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.9 - '@types/node': 18.19.13 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - micromatch: 4.0.7 - sane: 4.1.0 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 - '@types/node': 18.19.13 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 - micromatch: 4.0.7 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.24.7 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.7 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - jest-util: 29.7.0 - dev: true - - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 29.7.0 - dev: true - - /jest-regex-util@26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - dev: true - - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.8 - resolve.exports: 2.0.2 - slash: 3.0.0 - dev: true - - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - chalk: 4.1.2 - cjs-module-lexer: 1.3.1 - collect-v8-coverage: 1.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-serializer@26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/node': 18.19.13 - graceful-fs: 4.2.11 - dev: true - - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.24.0 - '@babel/generator': 7.25.0 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.0) - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.0) - '@babel/types': 7.25.2 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.24.0) - chalk: 4.1.2 - expect: 29.7.0 - graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - natural-compare: 1.4.0 - pretty-format: 29.7.0 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-util@26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 18.19.13 - chalk: 4.1.2 - graceful-fs: 4.2.11 - is-ci: 2.0.0 - micromatch: 4.0.7 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} dependencies: - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.6 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.13 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 + /iterall@1.3.0: + resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} dev: true - /jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} + /jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} dependencies: - '@types/node': 18.19.13 - merge-stream: 2.0.0 - supports-color: 7.2.0 - dev: true + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /jest-diff@23.6.0: + resolution: {integrity: sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==} dependencies: - '@types/node': 18.19.13 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 + chalk: 2.4.2 + diff: 3.5.0 + jest-get-type: 22.4.3 + pretty-format: 23.6.0 dev: true - /jest@29.7.0(@types/node@18.19.13)(ts-node@10.9.2): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node + /jest-get-type@22.4.3: + resolution: {integrity: sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==} dev: true /jmespath@0.16.0: @@ -5762,14 +4089,6 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -5810,7 +4129,6 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: false /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} @@ -5822,6 +4140,7 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false /json-schema-to-typescript@15.0.0: resolution: {integrity: sha512-gOX3cJB4eL1ztMc3WUh569ubRcKnr8MnYk++6+/WaaN4bufGHSR6EcbUbvLZgirPQOfvni5SSGkRx0pYloYU8A==} @@ -5874,6 +4193,7 @@ packages: chalk: 3.0.0 diff-match-patch: 1.0.5 dev: false + bundledDependencies: [] /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} @@ -5927,35 +4247,6 @@ packages: dependencies: json-buffer: 3.0.1 - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true - /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -5976,6 +4267,7 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: false /lint-staged@15.0.2: resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} @@ -6008,13 +4300,6 @@ packages: wrap-ansi: 8.1.0 dev: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -6053,10 +4338,6 @@ packages: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} dev: false - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true - /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -6090,6 +4371,12 @@ packages: js-tokens: 4.0.0 dev: false + /loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + dependencies: + get-func-name: 2.0.2 + dev: true + /lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -6105,6 +4392,20 @@ packages: es5-ext: 0.10.64 dev: false + /magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + dependencies: + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + source-map-js: 1.2.0 + dev: true + /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -6114,27 +4415,10 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: false - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - dependencies: - tmpl: 1.0.5 - dev: true - - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true - - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - - /marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + /marked@14.1.0: + resolution: {integrity: sha512-P93GikH/Pde0hM5TAXEd8I4JAYi8IB03n8qzW8Bh1BIEFpEyBoYxi/XWZA53LSpTeLBiMQOoSMj0u5E/tiVYTA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -6175,27 +4459,6 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 3.0.3 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -6254,13 +4517,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -6274,14 +4530,6 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -6301,8 +4549,14 @@ packages: hasBin: true dev: false + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -6328,7 +4582,6 @@ packages: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: false /nanoid@5.0.7: resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} @@ -6336,25 +4589,6 @@ packages: hasBin: true dev: false - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -6371,10 +4605,6 @@ packages: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: false - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true - /nock@13.5.4: resolution: {integrity: sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==} engines: {node: '>= 10.13'} @@ -6412,10 +4642,6 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true - /node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: true @@ -6427,18 +4653,6 @@ packages: readable-stream: 1.0.34 dev: false - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: true - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - /notifications-node-client@8.2.0: resolution: {integrity: sha512-XGmW2f2CroEwIUrPaTyShpF8pLlu79rBnwWns1uPGs27LbZdzNPJF1BzPl3cG3Tsu3nVlaWeXJJYAE+ALryalA==} engines: {node: '>=14.17.3', npm: '>=6.14.13'} @@ -6449,20 +4663,6 @@ packages: - debug dev: false - /npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6478,7 +4678,6 @@ packages: /nwsapi@2.2.12: resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} - dev: false /oauth@0.10.0: resolution: {integrity: sha512-1orQ9MT1vHFGQxhuy7E/0gECD3fd2fCC+PIX+/jgmU/gI3EpRocXtmtvxCO5x3WZ443FLTLFWNDjl5MPJf9u+Q==} @@ -6489,15 +4688,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - /object-hash@1.3.1: resolution: {integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==} engines: {node: '>= 0.10.0'} @@ -6520,20 +4710,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /on-exit-leak-free@0.2.0: resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} dev: false @@ -6589,42 +4765,18 @@ packages: type-check: 0.4.0 word-wrap: 1.2.5 - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - /package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} @@ -6646,6 +4798,7 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: false /parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} @@ -6654,6 +4807,12 @@ packages: parse5: 7.1.2 dev: false + /parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + dependencies: + parse5: 7.1.2 + dev: false + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -6664,11 +4823,6 @@ packages: engines: {node: '>= 0.8'} dev: false - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true - /passport-google-oauth20@2.0.0: resolution: {integrity: sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ==} engines: {node: '>= 0.4.0'} @@ -6709,11 +4863,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true - /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -6725,6 +4874,7 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: false /path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} @@ -6741,6 +4891,15 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + dev: true + /pause@0.0.1: resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} dev: false @@ -6834,28 +4993,20 @@ packages: thread-stream: 0.15.2 dev: false - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: true - /possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} dev: false + /postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -6879,15 +5030,6 @@ packages: ansi-styles: 3.2.1 dev: true - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - dev: true - /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: false @@ -6905,14 +5047,6 @@ packages: resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} dev: false - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -6940,7 +5074,6 @@ packages: /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} @@ -6961,10 +5094,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - dev: true - /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -6987,7 +5116,6 @@ packages: /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -7030,6 +5158,7 @@ packages: /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: false /react-transition-group@4.4.5(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} @@ -7107,14 +5236,6 @@ packages: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: false - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -7125,13 +5246,10 @@ packages: set-function-name: 2.0.2 dev: true - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + dev: false /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} @@ -7140,38 +5258,15 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false - - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true - - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -7179,6 +5274,7 @@ packages: is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: false /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} @@ -7188,11 +5284,6 @@ packages: signal-exit: 3.0.7 dev: true - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -7216,18 +5307,37 @@ packages: glob: 10.4.5 dev: true + /rollup@4.21.1: + resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.1 + '@rollup/rollup-android-arm64': 4.21.1 + '@rollup/rollup-darwin-arm64': 4.21.1 + '@rollup/rollup-darwin-x64': 4.21.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.1 + '@rollup/rollup-linux-arm-musleabihf': 4.21.1 + '@rollup/rollup-linux-arm64-gnu': 4.21.1 + '@rollup/rollup-linux-arm64-musl': 4.21.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.1 + '@rollup/rollup-linux-riscv64-gnu': 4.21.1 + '@rollup/rollup-linux-s390x-gnu': 4.21.1 + '@rollup/rollup-linux-x64-gnu': 4.21.1 + '@rollup/rollup-linux-x64-musl': 4.21.1 + '@rollup/rollup-win32-arm64-msvc': 4.21.1 + '@rollup/rollup-win32-ia32-msvc': 4.21.1 + '@rollup/rollup-win32-x64-msvc': 4.21.1 + fsevents: 2.3.3 + dev: true + /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - dev: false /rrweb-cssom@0.7.1: - resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} - dev: false - - /rsvp@4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} - dev: true + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -7241,12 +5351,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: true - /safe-stable-stringify@2.4.3: resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} engines: {node: '>=10'} @@ -7254,26 +5358,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false - - /sane@4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true - dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.2 - micromatch: 3.1.10 - minimist: 1.2.8 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - dev: true /sax@1.2.1: resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} @@ -7288,7 +5372,6 @@ packages: engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 - dev: false /scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} @@ -7300,11 +5383,6 @@ packages: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true - /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -7369,16 +5447,6 @@ packages: has-property-descriptors: 1.0.2 dev: true - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false @@ -7387,24 +5455,12 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - dev: true - /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true - /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -7418,6 +5474,10 @@ packages: get-intrinsic: 1.2.4 object-inspect: 1.13.2 + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -7426,8 +5486,13 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 dev: true /slack-notify@2.0.7: @@ -7448,22 +5513,6 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} dependencies: @@ -7475,77 +5524,37 @@ packages: atomic-sleep: 1.0.0 dev: true - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true - - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} dev: true /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true + dev: false /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} dev: false + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + /stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} dev: false @@ -7560,14 +5569,6 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - /string-to-stream@3.0.1: resolution: {integrity: sha512-Hl092MV3USJuUCC6mfl9sPzGloA3K5VwdIeJjYIkXY/8K+mUvaeEabWJgArp+xXrsWxCajeT2pc4axbVhIZJyg==} dependencies: @@ -7617,21 +5618,6 @@ packages: dependencies: ansi-regex: 6.0.1 - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - - /strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -7688,16 +5674,10 @@ packages: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + dev: false /swagger-jsdoc@6.2.8(openapi-types@12.1.3): resolution: {integrity: sha512-VPvil1+JRpmJ55CgAtn8DIcpBs0bL5L3q5bVQvF4tAW/k/9JYSj7dCpaYCAv5rufe0vcCbBRQXGvzpkWjvLklQ==} @@ -7739,7 +5719,6 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: false /tdigest@0.1.2: resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} @@ -7747,13 +5726,13 @@ packages: bintrees: 1.0.2 dev: false - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + /test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} dependencies: '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 + glob: 10.4.5 + minimatch: 9.0.5 dev: true /text-table@0.2.0: @@ -7780,42 +5759,45 @@ packages: next-tick: 1.1.0 dev: false - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + /tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + dev: true + + /tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + engines: {node: ^18.0.0 || >=20.0.0} + dev: true + + /tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@3.0.0: + resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} + engines: {node: '>=14.0.0'} dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} dev: false + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + /tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -7824,7 +5806,6 @@ packages: punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - dev: false /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -7835,54 +5816,6 @@ packages: engines: {node: '>=18'} dependencies: punycode: 2.3.1 - dev: false - - /ts-jest-mock-import-meta@1.2.0(ts-jest@29.2.4): - resolution: {integrity: sha512-r2+TH6d8LHBXqLTXjJh1KfTZoMvGV0hdn9gwickNVcwS2Co2/mewGjj0XDVEPLg5MVfZVHUFQ9O09anURA3KCw==} - peerDependencies: - ts-jest: '>=20.0.0' - dependencies: - ts-jest: 29.2.4(@babel/core@7.24.0)(esbuild@0.22.0)(jest@29.7.0)(typescript@5.5.2) - dev: true - - /ts-jest@29.2.4(@babel/core@7.24.0)(esbuild@0.22.0)(jest@29.7.0)(typescript@5.5.2): - resolution: {integrity: sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.24.0 - bs-logger: 0.2.6 - ejs: 3.1.10 - esbuild: 0.22.0 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.19.13)(ts-node@10.9.2) - jest-util: 29.7.0 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.6.3 - typescript: 5.5.2 - yargs-parser: 21.1.1 - dev: true /ts-node@10.9.2(@types/node@18.19.13)(typescript@5.5.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} @@ -7913,6 +5846,7 @@ packages: typescript: 5.5.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: false /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -7954,20 +5888,10 @@ packages: dependencies: prelude-ls: 1.2.1 - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -7978,8 +5902,8 @@ packages: engines: {node: '>=16'} dev: false - /type-fest@4.24.0: - resolution: {integrity: sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==} + /type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} dev: false @@ -7995,12 +5919,6 @@ packages: resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} dev: false - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false @@ -8017,34 +5935,20 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true + /undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + dev: false /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - dev: false /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} dev: false - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -8066,17 +5970,11 @@ packages: dependencies: punycode: 2.3.1 - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - /url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: false /url@0.10.3: resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} @@ -8085,11 +5983,6 @@ packages: querystring: 0.2.0 dev: false - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false @@ -8120,15 +6013,7 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - /v8-to-istanbul@9.3.0: - resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true + dev: false /validator@13.12.0: resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} @@ -8140,18 +6025,130 @@ packages: engines: {node: '>= 0.8'} dev: false + /vite-node@2.0.5(@types/node@18.19.13): + resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.6 + pathe: 1.1.2 + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@18.19.13) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.4.2(@types/node@18.19.13): + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.19.13 + esbuild: 0.21.5 + postcss: 8.4.41 + rollup: 4.21.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@2.0.5(@types/node@18.19.13)(@vitest/ui@2.0.5)(jsdom@24.1.0): + resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.0.5 + '@vitest/ui': 2.0.5 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@types/node': 18.19.13 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.0.5 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/ui': 2.0.5(vitest@2.0.5) + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.6 + execa: 8.0.1 + jsdom: 24.1.0 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@18.19.13) + vite-node: 2.0.5(@types/node@18.19.13) + why-is-node-running: 2.3.0 + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + dev: true + /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} dependencies: xml-name-validator: 5.0.0 - dev: false - - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - dependencies: - makeerror: 1.0.12 - dev: true /web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} @@ -8165,14 +6162,12 @@ packages: /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dev: false /whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} dependencies: iconv-lite: 0.6.3 - dev: false /whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -8181,7 +6176,6 @@ packages: /whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - dev: false /whatwg-url@14.0.0: resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} @@ -8189,7 +6183,6 @@ packages: dependencies: tr46: 5.0.0 webidl-conversions: 7.0.0 - dev: false /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -8209,13 +6202,6 @@ packages: has-tostringtag: 1.0.2 dev: false - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -8223,6 +6209,15 @@ packages: dependencies: isexe: 2.0.0 + /why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -8246,23 +6241,6 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: true - - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true - /ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -8274,7 +6252,6 @@ packages: optional: true utf-8-validate: optional: true - dev: false /xml-js@1.6.11: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} @@ -8286,7 +6263,6 @@ packages: /xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} - dev: false /xml2js@0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} @@ -8307,7 +6283,6 @@ packages: /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: false /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} @@ -8317,6 +6292,7 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + dev: false /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -8342,11 +6318,6 @@ packages: engines: {node: '>=10'} dev: false - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - /yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -8360,22 +6331,10 @@ packages: yargs-parser: 20.2.9 dev: false - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + dev: false /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -8401,21 +6360,21 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/df593a5: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/df593a5} + github.com/theopensystemslab/planx-core/d46df8d: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/d46df8d} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true requiresBuild: true dependencies: - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@formatjs/intl-listformat': 7.5.7 '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 copyfiles: 2.4.1 docx: 8.5.0 eslint: 8.57.0 @@ -8424,11 +6383,11 @@ packages: graphql-request: 6.1.0(graphql@16.9.0) json-schema-to-typescript: 15.0.0 lodash: 4.17.21 - marked: 13.0.3 + marked: 14.1.0 prettier: 3.3.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - type-fest: 4.24.0 + type-fest: 4.25.0 uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: diff --git a/api.planx.uk/tests/setup/global.ts b/api.planx.uk/tests/setup/global.ts new file mode 100644 index 0000000000..caf2d6fb2b --- /dev/null +++ b/api.planx.uk/tests/setup/global.ts @@ -0,0 +1,9 @@ +import dotenv from "dotenv"; + +export default function setup() { + dotenv.config({ + // path is relative to api.planx.uk root + path: ".env.test", + override: true, + }); +} diff --git a/api.planx.uk/tests/setup/graphQL.ts b/api.planx.uk/tests/setup/graphQL.ts new file mode 100644 index 0000000000..1ef4a62bea --- /dev/null +++ b/api.planx.uk/tests/setup/graphQL.ts @@ -0,0 +1,5 @@ +import { queryMock } from "../graphqlQueryMock.js"; + +beforeEach(() => { + queryMock.setup(process.env.HASURA_GRAPHQL_URL!); +}); diff --git a/api.planx.uk/tsconfig.json b/api.planx.uk/tsconfig.json index 9f126949e4..63ed4456b5 100644 --- a/api.planx.uk/tsconfig.json +++ b/api.planx.uk/tsconfig.json @@ -14,6 +14,7 @@ "skipLibCheck": true, "strict": true, "target": "esnext", + "types": ["vitest/globals"], // ensure the code is ready for transpilation by tsx/esbuild (used in dev) "isolatedModules": true, // TODO: implement "verbatimModuleSyntax" option (laborious) diff --git a/api.planx.uk/vitest.config.ts b/api.planx.uk/vitest.config.ts new file mode 100644 index 0000000000..a01ff940c0 --- /dev/null +++ b/api.planx.uk/vitest.config.ts @@ -0,0 +1,33 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + globals: true, + environment: "node", + // runs once on initial setup + globalSetup: ["./tests/setup/global.ts"], + // runs before each test file + setupFiles: ["./tests/setup/graphQL.ts"], + coverage: { + provider: "istanbul", + // html reporter required to inspect coverage in Vitest UI dashboard + reporter: ["lcov", "html", "text-summary"], + thresholds: { + statements: 72.03, + branches: 54.92, + functions: 67.62, + lines: 71.84, + autoUpdate: true, + }, + }, + }, + // remove .js from imports, which ts-with-esm requires but causes vitest to fail module resolution + resolve: { + alias: [ + { + find: /^(.*)\.js$/, + replacement: "$1", + }, + ], + }, +}); diff --git a/docker-compose.yml b/docker-compose.yml index 4b06ee18ad..6d57522027 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,7 +19,7 @@ services: metabase: # if changing, also check infrastructure/application/index.ts - image: metabase/metabase:v0.47.8 + image: metabase/metabase:v0.50.22 profiles: ["analytics"] ports: - "${METABASE_PORT}:${METABASE_PORT}" @@ -112,41 +112,42 @@ services: timeout: 3s retries: 5 environment: - APP_ENVIRONMENT: ${APP_ENVIRONMENT} - HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} - HASURA_GRAPHQL_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v1/graphql - HASURA_METADATA_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v1/metadata - HASURA_SCHEMA_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v2/query - JWT_SECRET: ${JWT_SECRET} - GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET} + AIRBRAKE_PROJECT_ID: ${AIRBRAKE_PROJECT_ID} + AIRBRAKE_PROJECT_KEY: ${AIRBRAKE_PROJECT_KEY} API_URL_EXT: ${API_URL_EXT} - EDITOR_URL_EXT: ${EDITOR_URL_EXT} - SESSION_SECRET: ${SESSION_SECRET} - AWS_S3_REGION: ${AWS_S3_REGION} + APP_ENVIRONMENT: ${APP_ENVIRONMENT} AWS_ACCESS_KEY: ${AWS_ACCESS_KEY} - AWS_SECRET_KEY: ${AWS_SECRET_KEY} - AWS_S3_BUCKET: ${AWS_S3_BUCKET} AWS_S3_ACL: ${AWS_S3_ACL} - PORT: ${API_PORT} + AWS_S3_BUCKET: ${AWS_S3_BUCKET} + AWS_S3_REGION: ${AWS_S3_REGION} + AWS_SECRET_KEY: ${AWS_SECRET_KEY} BOPS_API_TOKEN: ${BOPS_API_TOKEN} - AIRBRAKE_PROJECT_ID: ${AIRBRAKE_PROJECT_ID} - AIRBRAKE_PROJECT_KEY: ${AIRBRAKE_PROJECT_KEY} - UNIFORM_TOKEN_URL: ${UNIFORM_TOKEN_URL} - UNIFORM_SUBMISSION_URL: ${UNIFORM_SUBMISSION_URL} - GOVUK_NOTIFY_API_KEY: ${GOVUK_NOTIFY_API_KEY} - HASURA_PLANX_API_KEY: ${HASURA_PLANX_API_KEY} - FILE_API_KEY: ${FILE_API_KEY} - FILE_API_KEY_NEXUS: ${FILE_API_KEY_NEXUS} - FILE_API_KEY_BARNET: ${FILE_API_KEY_BARNET} - SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL} - ORDNANCE_SURVEY_API_KEY: ${ORDNANCE_SURVEY_API_KEY} - MINIO_PORT: ${MINIO_PORT} CORS_ALLOWLIST: ${EDITOR_URL_EXT}, ${API_URL_EXT} + EDITOR_URL_EXT: ${EDITOR_URL_EXT} ENCRYPTION_KEY: ${ENCRYPTION_KEY} + FILE_API_KEY_BARNET: ${FILE_API_KEY_BARNET} + FILE_API_KEY_NEXUS: ${FILE_API_KEY_NEXUS} + FILE_API_KEY: ${FILE_API_KEY} + GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID} + GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET} + GOVUK_NOTIFY_API_KEY: ${GOVUK_NOTIFY_API_KEY} + HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} + HASURA_GRAPHQL_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v1/graphql + HASURA_METADATA_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v1/metadata + HASURA_PLANX_API_KEY: ${HASURA_PLANX_API_KEY} + HASURA_SCHEMA_URL: http://hasura-proxy:${HASURA_PROXY_PORT}/v2/query IDOX_NEXUS_CLIENT: ${IDOX_NEXUS_CLIENT} - IDOX_NEXUS_TOKEN_URL: ${IDOX_NEXUS_TOKEN_URL} IDOX_NEXUS_SUBMISSION_URL: ${IDOX_NEXUS_SUBMISSION_URL} + IDOX_NEXUS_TOKEN_URL: ${IDOX_NEXUS_TOKEN_URL} + JWT_SECRET: ${JWT_SECRET} + MAPBOX_ACCESS_TOKEN: ${MAPBOX_ACCESS_TOKEN} + MINIO_PORT: ${MINIO_PORT} + ORDNANCE_SURVEY_API_KEY: ${ORDNANCE_SURVEY_API_KEY} + PORT: ${API_PORT} + SESSION_SECRET: ${SESSION_SECRET} + SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL} + UNIFORM_SUBMISSION_URL: ${UNIFORM_SUBMISSION_URL} + UNIFORM_TOKEN_URL: ${UNIFORM_TOKEN_URL} # Local authority config # Lambeth UNIFORM_CLIENT_LAMBETH: ${UNIFORM_CLIENT_LAMBETH} diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 335af1a7d4..5defc825d4 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -7,7 +7,7 @@ "packageManager": "pnpm@8.6.6", "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#6b2fd26", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#d46df8d", "axios": "^1.7.4", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index d847447ba2..aeeacaa7cd 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#6b2fd26 - version: github.com/theopensystemslab/planx-core/6b2fd26 + specifier: git+https://github.com/theopensystemslab/planx-core#d46df8d + version: github.com/theopensystemslab/planx-core/d46df8d axios: specifier: ^1.7.4 version: 1.7.4 @@ -308,7 +308,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -343,8 +343,8 @@ packages: resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false - /@emotion/react@11.13.0(react@18.3.1): - resolution: {integrity: sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==} + /@emotion/react@11.13.3(react@18.3.1): + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -355,7 +355,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/cache': 11.13.1 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 '@emotion/weak-memoize': 0.4.0 @@ -375,11 +375,21 @@ packages: csstype: 3.1.3 dev: false + /@emotion/serialize@1.3.1: + resolution: {integrity: sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==} + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.0 + csstype: 3.1.3 + dev: false + /@emotion/sheet@1.4.0: resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} dev: false - /@emotion/styled@11.13.0(@emotion/react@11.13.0)(react@18.3.1): + /@emotion/styled@11.13.0(@emotion/react@11.13.3)(react@18.3.1): resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -392,7 +402,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.0(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) '@emotion/serialize': 1.3.0 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 @@ -401,6 +411,10 @@ packages: - supports-color dev: false + /@emotion/unitless@0.10.0: + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + dev: false + /@emotion/unitless@0.9.0: resolution: {integrity: sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==} dev: false @@ -614,7 +628,7 @@ packages: resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} dev: false - /@mui/material@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): + /@mui/material@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -632,10 +646,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) '@popperjs/core': 2.11.8 @@ -665,7 +679,7 @@ packages: react: 18.3.1 dev: false - /@mui/styled-engine@5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/styled-engine@5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} engines: {node: '>=12.0.0'} peerDependencies: @@ -680,14 +694,14 @@ packages: dependencies: '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -704,10 +718,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/private-theming': 5.16.6(react@18.3.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) clsx: 2.1.1 @@ -1054,34 +1068,27 @@ packages: domutils: 3.1.0 dev: false - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + /cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.1.0 - htmlparser2: 8.0.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 dev: false /class-transformer@0.5.1: resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==} dev: false - /cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.17 - timers-ext: 0.1.8 - dev: false - /cli-table3@0.6.3: resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} engines: {node: 10.* || >= 12.*} @@ -1227,19 +1234,6 @@ packages: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: false - /d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - dev: false - - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - /debug@4.3.6(supports-color@8.1.1): resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} @@ -1346,6 +1340,13 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + dev: false + /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -1363,42 +1364,6 @@ packages: stackframe: 1.3.4 dev: false - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - dev: false - - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - dev: false - - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - ext: 1.7.0 - dev: false - - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - dev: false - /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -1474,16 +1439,6 @@ packages: - supports-color dev: false - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - dev: false - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1517,19 +1472,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - dev: false - - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - dependencies: - type: 2.7.3 - dev: false - /extsprintf@1.4.1: resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} engines: {'0': node >=0.6.0} @@ -1564,14 +1506,6 @@ packages: reusify: 1.0.4 dev: false - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - dev: false - /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -1638,13 +1572,6 @@ packages: mime-types: 2.1.35 dev: false - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false @@ -1774,8 +1701,8 @@ packages: react-is: 16.13.1 dev: false - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -1783,6 +1710,13 @@ packages: entities: 4.5.0 dev: false + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1868,10 +1802,6 @@ packages: engines: {node: '>=8'} dev: false - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false - /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -1922,22 +1852,18 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-to-typescript@14.1.0: - resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} + /json-schema-to-typescript@15.0.1: + resolution: {integrity: sha512-gSSg20skxv+ZQqR8Y8itZt+2iYFGNgneuTgf/Va0TBw+zo6JsykDG1bqhkhMs5g/vIdqmZx55oQJLbgOEuxPJw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: '@apidevtools/json-schema-ref-parser': 11.7.0 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.7 - cli-color: 2.0.4 glob: 10.4.5 is-glob: 4.0.3 js-yaml: 4.1.0 lodash: 4.17.21 minimist: 1.2.8 - mkdirp: 3.0.1 - node-fetch: 3.3.2 prettier: 3.3.3 dev: false @@ -2102,12 +2028,6 @@ packages: yallist: 4.0.0 dev: false - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - dependencies: - es5-ext: 0.10.64 - dev: false - /luxon@3.2.1: resolution: {integrity: sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==} engines: {node: '>=12'} @@ -2117,26 +2037,12 @@ packages: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + /marked@14.1.0: + resolution: {integrity: sha512-P93GikH/Pde0hM5TAXEd8I4JAYi8IB03n8qzW8Bh1BIEFpEyBoYxi/XWZA53LSpTeLBiMQOoSMj0u5E/tiVYTA==} engines: {node: '>= 18'} hasBin: true dev: false - /memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.8 - dev: false - /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2183,12 +2089,6 @@ packages: hasBin: true dev: false - /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - dev: false - /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: false @@ -2219,10 +2119,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: false - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: false - /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -2242,11 +2138,6 @@ packages: - supports-color dev: false - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2259,15 +2150,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} dependencies: @@ -2357,6 +2239,12 @@ packages: parse5: 7.1.2 dev: false + /parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + dependencies: + parse5: 7.1.2 + dev: false + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -2596,6 +2484,10 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + /sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} dev: false @@ -2776,14 +2668,6 @@ packages: xtend: 4.0.2 dev: false - /timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 - dev: false - /tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} @@ -2849,15 +2733,11 @@ packages: engines: {node: '>=10'} dev: false - /type-fest@4.24.0: - resolution: {integrity: sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==} + /type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} dev: false - /type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - dev: false - /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} @@ -2868,6 +2748,11 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: false + /undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + dev: false + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -2916,15 +2801,22 @@ packages: extsprintf: 1.4.1 dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false - /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + dependencies: + iconv-lite: 0.6.3 + dev: false + + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: false + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -3053,34 +2945,34 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/6b2fd26: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/6b2fd26} + github.com/theopensystemslab/planx-core/d46df8d: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/d46df8d} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true requiresBuild: true dependencies: - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@formatjs/intl-listformat': 7.5.7 '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 copyfiles: 2.4.1 docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.1 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.1.0 + json-schema-to-typescript: 15.0.1 lodash: 4.17.21 - marked: 13.0.3 + marked: 14.1.0 prettier: 3.3.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - type-fest: 4.24.0 + type-fest: 4.25.0 uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index 672c1814d1..283ef9aa58 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#6b2fd26", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#d46df8d", "axios": "^1.7.4", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index c756362b02..2589117899 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#6b2fd26 - version: github.com/theopensystemslab/planx-core/6b2fd26 + specifier: git+https://github.com/theopensystemslab/planx-core#d46df8d + version: github.com/theopensystemslab/planx-core/d46df8d axios: specifier: ^1.7.4 version: 1.7.4 @@ -161,7 +161,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -196,8 +196,8 @@ packages: resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false - /@emotion/react@11.13.0(react@18.3.1): - resolution: {integrity: sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ==} + /@emotion/react@11.13.3(react@18.3.1): + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -208,7 +208,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/cache': 11.13.1 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 '@emotion/weak-memoize': 0.4.0 @@ -228,11 +228,21 @@ packages: csstype: 3.1.3 dev: false + /@emotion/serialize@1.3.1: + resolution: {integrity: sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==} + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.0 + csstype: 3.1.3 + dev: false + /@emotion/sheet@1.4.0: resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} dev: false - /@emotion/styled@11.13.0(@emotion/react@11.13.0)(react@18.3.1): + /@emotion/styled@11.13.0(@emotion/react@11.13.3)(react@18.3.1): resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -245,7 +255,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.0(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) '@emotion/serialize': 1.3.0 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 @@ -254,6 +264,10 @@ packages: - supports-color dev: false + /@emotion/unitless@0.10.0: + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + dev: false + /@emotion/unitless@0.9.0: resolution: {integrity: sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ==} dev: false @@ -470,7 +484,7 @@ packages: resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} dev: false - /@mui/material@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): + /@mui/material@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -488,10 +502,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) '@popperjs/core': 2.11.8 @@ -521,7 +535,7 @@ packages: react: 18.3.1 dev: false - /@mui/styled-engine@5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/styled-engine@5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} engines: {node: '>=12.0.0'} peerDependencies: @@ -536,14 +550,14 @@ packages: dependencies: '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1): + /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -560,10 +574,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.0 - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@mui/private-theming': 5.16.6(react@18.3.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15 '@mui/utils': 5.16.6(react@18.3.1) clsx: 2.1.1 @@ -641,10 +655,6 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false - /@types/lodash@4.17.7: - resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} - dev: false - /@types/node@18.16.1: resolution: {integrity: sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==} dev: true @@ -897,17 +907,21 @@ packages: domutils: 3.1.0 dev: false - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + /cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.1.0 - htmlparser2: 8.0.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 dev: false /cli-boxes@3.0.0: @@ -915,17 +929,6 @@ packages: engines: {node: '>=10'} dev: false - /cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.17 - timers-ext: 0.1.8 - dev: false - /clipboardy@3.0.0: resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1071,19 +1074,6 @@ packages: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: false - /d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - dev: false - - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -1193,6 +1183,13 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + dev: false + /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -1204,42 +1201,6 @@ packages: is-arrayish: 0.2.1 dev: false - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - dev: false - - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - dev: false - - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - ext: 1.7.0 - dev: false - - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - dev: false - /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -1371,16 +1332,6 @@ packages: - supports-color dev: false - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - dev: false - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1409,13 +1360,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - dev: false - /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -1431,12 +1375,6 @@ packages: strip-final-newline: 2.0.0 dev: false - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - dependencies: - type: 2.7.3 - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1468,14 +1406,6 @@ packages: dependencies: reusify: 1.0.4 - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - dev: false - /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1531,13 +1461,6 @@ packages: mime-types: 2.1.35 dev: false - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1645,8 +1568,8 @@ packages: react-is: 16.13.1 dev: false - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -1659,6 +1582,13 @@ packages: engines: {node: '>=10.17.0'} dev: false + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1733,10 +1663,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false - /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -1800,22 +1726,18 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-to-typescript@14.1.0: - resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} + /json-schema-to-typescript@15.0.1: + resolution: {integrity: sha512-gSSg20skxv+ZQqR8Y8itZt+2iYFGNgneuTgf/Va0TBw+zo6JsykDG1bqhkhMs5g/vIdqmZx55oQJLbgOEuxPJw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: '@apidevtools/json-schema-ref-parser': 11.7.0 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.7 - cli-color: 2.0.4 glob: 10.4.5 is-glob: 4.0.3 js-yaml: 4.1.0 lodash: 4.17.21 minimist: 1.2.8 - mkdirp: 3.0.1 - node-fetch: 3.3.2 prettier: 3.3.3 dev: false @@ -1943,32 +1865,12 @@ packages: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} dev: false - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - dependencies: - es5-ext: 0.10.64 - dev: false - - /marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + /marked@14.1.0: + resolution: {integrity: sha512-P93GikH/Pde0hM5TAXEd8I4JAYi8IB03n8qzW8Bh1BIEFpEyBoYxi/XWZA53LSpTeLBiMQOoSMj0u5E/tiVYTA==} engines: {node: '>= 18'} hasBin: true dev: false - /memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.8 - dev: false - /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: false @@ -2034,12 +1936,6 @@ packages: hasBin: true dev: false - /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - dev: false - /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: false @@ -2065,15 +1961,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: false - - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2086,15 +1973,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} dependencies: @@ -2191,6 +2069,12 @@ packages: parse5: 7.1.2 dev: false + /parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + dependencies: + parse5: 7.1.2 + dev: false + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -2431,6 +2315,10 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + /sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} dev: false @@ -2599,14 +2487,6 @@ packages: xtend: 4.0.2 dev: false - /timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 - dev: false - /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -2635,19 +2515,20 @@ packages: engines: {node: '>=12.20'} dev: false - /type-fest@4.24.0: - resolution: {integrity: sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==} + /type-fest@4.25.0: + resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} dev: false - /type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - dev: false - /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: false + /undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} + dev: false + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -2684,19 +2565,26 @@ packages: engines: {node: '>= 0.8'} dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false - /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + dependencies: + iconv-lite: 0.6.3 + dev: false + /whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: false + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: false + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -2795,34 +2683,34 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/6b2fd26: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/6b2fd26} + github.com/theopensystemslab/planx-core/d46df8d: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/d46df8d} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true requiresBuild: true dependencies: - '@emotion/react': 11.13.0(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.0)(react@18.3.1) + '@emotion/react': 11.13.3(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(react@18.3.1) '@formatjs/intl-listformat': 7.5.7 '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 5.16.7(@emotion/react@11.13.0)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react-dom@18.3.1)(react@18.3.1) ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 copyfiles: 2.4.1 docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.1 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.1.0 + json-schema-to-typescript: 15.0.1 lodash: 4.17.21 - marked: 13.0.3 + marked: 14.1.0 prettier: 3.3.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - type-fest: 4.24.0 + type-fest: 4.25.0 uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: diff --git a/editor.planx.uk/.env b/editor.planx.uk/.env deleted file mode 100644 index ca38e5df07..0000000000 --- a/editor.planx.uk/.env +++ /dev/null @@ -1,13 +0,0 @@ -# Used in local development and testing, overwritten in .env.production -# This file does not (and should not) contain secrets - all values here are publicly exposed -# If you're working off a fork of Planx, please replace the AIRBRAKE and FEEDBACK_FISH values with a mock value like "SECRET" - -VITE_APP_AIRBRAKE_PROJECT_ID=329753 -VITE_APP_AIRBRAKE_PROJECT_KEY=388fe6f4cc0d6644c923500d5672a5b6 - -VITE_APP_API_URL=http://localhost:7002 -VITE_APP_HASURA_URL=http://localhost:7100/v1/graphql -VITE_APP_HASURA_WEBSOCKET=ws://localhost:7100/v1/graphql -VITE_APP_SHAREDB_URL=ws://localhost:7003 - -VITE_APP_ENV=development \ No newline at end of file diff --git a/editor.planx.uk/.env.example b/editor.planx.uk/.env.example new file mode 100644 index 0000000000..ac87499ee5 --- /dev/null +++ b/editor.planx.uk/.env.example @@ -0,0 +1,15 @@ +# Used in local development and testing, overwritten in .env.production +# Most values in this file are publicly exposed and not secrets +VITE_APP_AIRBRAKE_PROJECT_ID=👻 +VITE_APP_AIRBRAKE_PROJECT_KEY=👻 + +# This token should be exclusively scoped for local development: localhost:3000 (here) & localhost:5173 (@opensystemslab/map) +# A separate token restricted to our production, staging, and pizza domains is then set via Pulumi and Github Action secrets +VITE_APP_MAPBOX_ACCESS_TOKEN=👻 + +VITE_APP_API_URL=http://localhost:7002 +VITE_APP_HASURA_URL=http://localhost:7100/v1/graphql +VITE_APP_HASURA_WEBSOCKET=ws://localhost:7100/v1/graphql +VITE_APP_SHAREDB_URL=ws://localhost:7003 + +VITE_APP_ENV=development \ No newline at end of file diff --git a/editor.planx.uk/.gitignore b/editor.planx.uk/.gitignore index 28f061d8ba..feecb54853 100644 --- a/editor.planx.uk/.gitignore +++ b/editor.planx.uk/.gitignore @@ -13,6 +13,7 @@ # misc .DS_Store +.env .env.local .env.development.local .env.test.local diff --git a/editor.planx.uk/.storybook/__mocks__/react-navi.js b/editor.planx.uk/.storybook/__mocks__/react-navi.js deleted file mode 100644 index 469cd8f247..0000000000 --- a/editor.planx.uk/.storybook/__mocks__/react-navi.js +++ /dev/null @@ -1,21 +0,0 @@ -// require syntax is used to enable overwriting objects from the original module -const reactNavi = require("react-navi"); - -const originalUseCurrentRoute = reactNavi.useCurrentRoute; -const originalUseNavigation = reactNavi.useNavigation; - -function reactNaviDecorator(story, { parameters }) { - delete reactNavi["useCurrentRoute"]; - reactNavi.useCurrentRoute = - parameters?.reactNavi?.useCurrentRoute ?? originalUseCurrentRoute; - - delete reactNavi["useNavigation"]; - reactNavi.useNavigation = - parameters?.reactNavi?.useNavigation ?? originalUseNavigation; - - return story(); -} - -reactNavi["reactNaviDecorator"] = reactNaviDecorator; - -module.exports = reactNavi; diff --git a/editor.planx.uk/.storybook/__mocks__/react-navi.ts b/editor.planx.uk/.storybook/__mocks__/react-navi.ts new file mode 100644 index 0000000000..1b5a045313 --- /dev/null +++ b/editor.planx.uk/.storybook/__mocks__/react-navi.ts @@ -0,0 +1,17 @@ +import { + useCurrentRoute as originalUseCurrentRoute, + useNavigation as originalUseNavigation, +} from "react-navi"; + +import type { Decorator } from "@storybook/react"; + +export const reactNaviDecorator: Decorator = (storyFn, context) => { + const { parameters } = context; + + const useCurrentRoute = + parameters?.reactNavi?.useCurrentRoute || originalUseCurrentRoute; + const useNavigation = + parameters?.reactNavi?.useNavigation || originalUseNavigation; + + return storyFn({ useCurrentRoute, useNavigation }); +}; diff --git a/editor.planx.uk/.storybook/main.js b/editor.planx.uk/.storybook/main.js deleted file mode 100644 index 8359779ebb..0000000000 --- a/editor.planx.uk/.storybook/main.js +++ /dev/null @@ -1,45 +0,0 @@ -const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin"); -module.exports = { - stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"], - addons: [ - "@storybook/addon-links", - "@storybook/addon-essentials", - "@storybook/preset-create-react-app", - "@storybook/addon-a11y", - ], - webpackFinal: async (config) => { - config.resolve.plugins ||= []; - config.resolve.plugins.push(new TsconfigPathsPlugin()); - config.resolve.alias["react-navi"] = require.resolve( - "./__mocks__/react-navi.js", - ); - return config; - }, - babel: async (options) => ({ - ...options, - plugins: [ - ...options.plugins, - "@babel/plugin-proposal-logical-assignment-operators", - ], - presets: [ - [ - "@babel/preset-env", - { - targets: { - chrome: 100, - }, - }, - ], - "@babel/preset-typescript", - "@babel/preset-react", - ], - }), - staticDirs: ["../public"], - framework: { - name: "@storybook/react-webpack5", - options: {}, - }, - docs: { - autodocs: true, - }, -}; diff --git a/editor.planx.uk/.storybook/main.ts b/editor.planx.uk/.storybook/main.ts new file mode 100644 index 0000000000..34d67a7cd3 --- /dev/null +++ b/editor.planx.uk/.storybook/main.ts @@ -0,0 +1,18 @@ +module.exports = { + stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + "@storybook/preset-create-react-app", + "@storybook/addon-a11y", + ], + staticDirs: ["../public"], + framework: { + name: "@storybook/react-vite", + options: {} + }, + docs: {}, + typescript: { + reactDocgen: "react-docgen-typescript" + } +}; diff --git a/editor.planx.uk/.storybook/manager.js b/editor.planx.uk/.storybook/manager.ts similarity index 55% rename from editor.planx.uk/.storybook/manager.js rename to editor.planx.uk/.storybook/manager.ts index a0441940c8..8020f24545 100644 --- a/editor.planx.uk/.storybook/manager.js +++ b/editor.planx.uk/.storybook/manager.ts @@ -1,4 +1,4 @@ -import { addons } from "@storybook/addons"; +import { addons } from "@storybook/manager-api"; import theme from "./theme"; addons.setConfig({ diff --git a/editor.planx.uk/.storybook/preview.js b/editor.planx.uk/.storybook/preview.tsx similarity index 76% rename from editor.planx.uk/.storybook/preview.js rename to editor.planx.uk/.storybook/preview.tsx index 7566c77fa3..dc50b46a53 100644 --- a/editor.planx.uk/.storybook/preview.js +++ b/editor.planx.uk/.storybook/preview.tsx @@ -3,9 +3,15 @@ import { ThemeProvider, StyledEngineProvider } from "@mui/material/styles"; import { DndProvider } from "react-dnd"; import { HTML5Backend } from "react-dnd-html5-backend"; import { defaultTheme } from "../src/theme"; +import React from "react"; +import { MyMap } from "@opensystemslab/map"; import { reactNaviDecorator } from "./__mocks__/react-navi"; +if (!window.customElements.get("my-map")) { + window.customElements.define("my-map", MyMap); +} + export const decorators = [ (Story) => ( @@ -19,3 +25,4 @@ export const decorators = [ ), reactNaviDecorator, ]; +export const tags = ["autodocs"]; diff --git a/editor.planx.uk/.storybook/theme.js b/editor.planx.uk/.storybook/theme.ts similarity index 92% rename from editor.planx.uk/.storybook/theme.js rename to editor.planx.uk/.storybook/theme.ts index 038b4fc399..391319d1b7 100644 --- a/editor.planx.uk/.storybook/theme.js +++ b/editor.planx.uk/.storybook/theme.ts @@ -1,4 +1,4 @@ -import { create } from "@storybook/theming/create"; +import { create } from "@storybook/theming"; export default create({ base: "light", diff --git a/editor.planx.uk/.storybook/vite.config.js b/editor.planx.uk/.storybook/vite.config.js new file mode 100644 index 0000000000..c7a4f78e23 --- /dev/null +++ b/editor.planx.uk/.storybook/vite.config.js @@ -0,0 +1,6 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +export default defineConfig({ + plugins: [react()], +}); \ No newline at end of file diff --git a/editor.planx.uk/.storybook/webpack.config.js b/editor.planx.uk/.storybook/webpack.config.js deleted file mode 100644 index 0afe3078d6..0000000000 --- a/editor.planx.uk/.storybook/webpack.config.js +++ /dev/null @@ -1,20 +0,0 @@ -const path = require("path"); -const MiniCssExtractPlugin = require("mini-css-extract-plugin"); - -module.exports = function ({ config }) { - config.module.rules.push({ - test: /\.scss$/, - use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"], - include: path.resolve(__dirname, "../"), - }); - - config.plugins.push(new MiniCssExtractPlugin({ filename: "[name].css" })); - - config.resolve.fallback = { - ...(config.resolve.fallback || {}), - crypto: false, - stream: require.resolve("stream-browserify"), - }; - - return config; -}; diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 8180261f82..eb0250223d 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -8,13 +8,14 @@ "@ctrl/tinycolor": "^4.0.2", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", + "@microlink/react-json-view": "^1.23.1", "@mui/base": "5.0.0-beta.40", "@mui/icons-material": "^5.15.10", "@mui/lab": "5.0.0-alpha.170", "@mui/material": "^5.15.10", "@mui/utils": "^5.15.11", - "@opensystemslab/map": "1.0.0-alpha.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#6b2fd26", + "@opensystemslab/map": "1.0.0-alpha.1", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#d46df8d", "@tiptap/core": "^2.4.0", "@tiptap/extension-bold": "^2.0.3", "@tiptap/extension-bubble-menu": "^2.1.13", @@ -105,17 +106,17 @@ "@babel/preset-react": "^7.22.5", "@babel/preset-typescript": "^7.23.3", "@react-theming/storybook-addon": "^1.1.10", - "@storybook/addon-a11y": "^7.6.7", - "@storybook/addon-actions": "^7.6.7", - "@storybook/addon-essentials": "^7.6.7", - "@storybook/addon-links": "^7.6.7", - "@storybook/addons": "^7.6.7", - "@storybook/node-logger": "^7.6.7", - "@storybook/preset-create-react-app": "^7.6.7", - "@storybook/react": "^7.6.7", - "@storybook/react-webpack5": "^7.6.7", - "@storybook/testing-library": "^0.2.2", - "@storybook/theming": "^7.6.7", + "@storybook/addon-a11y": "^8.2.9", + "@storybook/addon-actions": "^8.2.9", + "@storybook/addon-essentials": "^8.2.9", + "@storybook/addon-links": "^8.2.9", + "@storybook/manager-api": "^8.2.9", + "@storybook/node-logger": "^8.2.9", + "@storybook/preset-create-react-app": "^8.2.9", + "@storybook/react": "^8.2.9", + "@storybook/react-vite": "^8.2.9", + "@storybook/test": "^8.2.9", + "@storybook/theming": "^8.2.9", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.4.3", @@ -156,7 +157,7 @@ "react-refresh": "^0.14.0", "sass": "^1.71.1", "sass-loader": "^13.3.2", - "storybook": "^8.1.10", + "storybook": "^8.2.9", "storybook-addon-material-ui": "^0.9.0-alpha.24", "stream-browserify": "^3.0.0", "ts-jest": "^29.1.3", @@ -169,7 +170,7 @@ }, "packageManager": "pnpm@8.6.6", "scripts": { - "start": "vite", + "start": "vite --open", "build": "tsc && vite build", "serve": "vite preview", "test": "vitest", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index 997e4696d8..d5100d2f72 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -25,6 +25,9 @@ dependencies: '@emotion/styled': specifier: ^11.11.0 version: 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) + '@microlink/react-json-view': + specifier: ^1.23.1 + version: 1.23.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@mui/base': specifier: 5.0.0-beta.40 version: 5.0.0-beta.40(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) @@ -41,11 +44,11 @@ dependencies: specifier: ^5.15.11 version: 5.15.11(@types/react@18.2.45)(react@18.2.0) '@opensystemslab/map': - specifier: 1.0.0-alpha.0 - version: 1.0.0-alpha.0 + specifier: 1.0.0-alpha.1 + version: 1.0.0-alpha.1 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#6b2fd26 - version: github.com/theopensystemslab/planx-core/6b2fd26(@types/react@18.2.45) + specifier: git+https://github.com/theopensystemslab/planx-core#d46df8d + version: github.com/theopensystemslab/planx-core/d46df8d(@types/react@18.2.45) '@tiptap/core': specifier: ^2.4.0 version: 2.4.0(@tiptap/pm@2.0.3) @@ -311,40 +314,40 @@ devDependencies: version: 7.23.3(@babel/core@7.22.5) '@react-theming/storybook-addon': specifier: ^1.1.10 - version: 1.1.10(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(@storybook/theming@7.6.7)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.10(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(@storybook/theming@8.2.9)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-a11y': - specifier: ^7.6.7 - version: 7.6.7 + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@storybook/addon-actions': - specifier: ^7.6.7 - version: 7.6.7 + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@storybook/addon-essentials': - specifier: ^7.6.7 - version: 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@storybook/addon-links': - specifier: ^7.6.7 - version: 7.6.7(react@18.2.0) - '@storybook/addons': - specifier: ^7.6.7 - version: 7.6.7(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.2.9 + version: 8.2.9(react@18.2.0)(storybook@8.2.9) + '@storybook/manager-api': + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@storybook/node-logger': - specifier: ^7.6.7 - version: 7.6.7 + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@storybook/preset-create-react-app': - specifier: ^7.6.7 - version: 7.6.7(@babel/core@7.22.5)(react-refresh@0.14.0)(react-scripts@5.0.1)(typescript@5.4.3)(webpack@5.91.0) + specifier: ^8.2.9 + version: 8.2.9(react-refresh@0.14.0)(react-scripts@5.0.1)(storybook@8.2.9)(typescript@5.4.3)(webpack@5.91.0) '@storybook/react': - specifier: ^7.6.7 - version: 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@storybook/react-webpack5': - specifier: ^7.6.7 - version: 7.6.7(@babel/core@7.22.5)(@swc/core@1.7.14)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@storybook/testing-library': - specifier: ^0.2.2 - version: 0.2.2 + specifier: ^8.2.9 + version: 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3) + '@storybook/react-vite': + specifier: ^8.2.9 + version: 8.2.9(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(storybook@8.2.9)(typescript@5.4.3)(vite@5.2.11) + '@storybook/test': + specifier: ^8.2.9 + version: 8.2.9(@types/jest@27.5.2)(jest@27.5.1)(storybook@8.2.9)(vitest@1.6.0) '@storybook/theming': - specifier: ^7.6.7 - version: 7.6.7(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.2.9 + version: 8.2.9(storybook@8.2.9) '@testing-library/jest-dom': specifier: ^5.17.0 version: 5.17.0 @@ -466,11 +469,11 @@ devDependencies: specifier: ^13.3.2 version: 13.3.2(sass@1.71.1)(webpack@5.91.0) storybook: - specifier: ^8.1.10 - version: 8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.2.9 + version: 8.2.9(@babel/preset-env@7.22.6) storybook-addon-material-ui: specifier: ^0.9.0-alpha.24 - version: 0.9.0-alpha.24(@material-ui/core@4.12.4)(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + version: 0.9.0-alpha.24(@material-ui/core@4.12.4)(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) stream-browserify: specifier: ^3.0.0 version: 3.0.0 @@ -494,7 +497,7 @@ devDependencies: version: 1.0.0-pre.3(vitest@1.6.0) webpack: specifier: ^5.91.0 - version: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + version: 5.91.0(esbuild@0.21.3) packages: @@ -539,8 +542,8 @@ packages: leven: 3.1.0 dev: true - /@apidevtools/json-schema-ref-parser@11.7.0: - resolution: {integrity: sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==} + /@apidevtools/json-schema-ref-parser@11.6.4: + resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} dependencies: '@jsdevtools/ono': 7.1.3 @@ -584,13 +587,6 @@ packages: zen-observable-ts: 1.2.5 dev: false - /@aw-web-design/x-default-browser@1.4.126: - resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} - hasBin: true - dependencies: - default-browser-id: 3.0.0 - dev: true - /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -598,15 +594,10 @@ packages: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - /@babel/compat-data@7.25.2: - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + /@babel/compat-data@7.25.0: + resolution: {integrity: sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==} engines: {node: '>=6.9.0'} - /@babel/compat-data@7.25.4: - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.22.5: resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} engines: {node: '>=6.9.0'} @@ -614,13 +605,13 @@ packages: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 '@babel/generator': 7.25.0 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.22.5) + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.22.5) '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.0 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 convert-source-map: 1.9.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -630,20 +621,20 @@ packages: - supports-color dev: true - /@babel/core@7.25.2: - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + /@babel/core@7.24.9: + resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 '@babel/generator': 7.25.0 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.24.9) '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.0 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 convert-source-map: 2.0.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -652,14 +643,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.44.0): + /@babel/eslint-parser@7.25.1(@babel/core@7.24.9)(eslint@8.44.0): resolution: {integrity: sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.44.0 eslint-visitor-keys: 2.1.0 @@ -670,16 +661,7 @@ packages: resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - /@babel/generator@7.25.4: - resolution: {integrity: sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.25.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -688,26 +670,26 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-compilation-targets@7.25.2: - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + /@babel/helper-compilation-targets@7.24.8: + resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.0 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.23.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -723,50 +705,32 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.22.5) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2): + /@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.4 + '@babel/traverse': 7.25.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + /@babel/helper-create-regexp-features-plugin@7.25.0(@babel/core@7.22.5): + resolution: {integrity: sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -777,13 +741,13 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + /@babel/helper-create-regexp-features-plugin@7.25.0(@babel/core@7.24.9): + resolution: {integrity: sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 @@ -795,7 +759,7 @@ packages: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 @@ -810,7 +774,7 @@ packages: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 @@ -825,7 +789,7 @@ packages: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 @@ -834,13 +798,13 @@ packages: - supports-color dev: true - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2): + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.9): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 @@ -853,8 +817,8 @@ packages: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true @@ -863,13 +827,13 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + /@babel/helper-module-transforms@7.25.0(@babel/core@7.22.5): + resolution: {integrity: sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -878,22 +842,22 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + /@babel/helper-module-transforms@7.25.0(@babel/core@7.24.9): + resolution: {integrity: sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color @@ -901,7 +865,7 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 dev: true /@babel/helper-plugin-utils@7.24.8: @@ -917,21 +881,21 @@ packages: '@babel/core': 7.22.5 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2): + /@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true @@ -945,21 +909,21 @@ packages: '@babel/core': 7.22.5 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2): + /@babel/helper-replace-supers@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true @@ -968,8 +932,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color @@ -977,8 +941,8 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true @@ -1000,8 +964,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true @@ -1011,7 +975,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} @@ -1022,40 +986,33 @@ packages: js-tokens: 4.0.0 picocolors: 1.0.1 - /@babel/parser@7.25.3: - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.25.2 - - /@babel/parser@7.25.4: - resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + /@babel/parser@7.25.0: + resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.25.0 - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.0(@babel/core@7.24.9): + resolution: {integrity: sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2): + /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1069,13 +1026,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1093,57 +1050,57 @@ packages: - supports-color dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.2): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2): + /@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -1151,7 +1108,6 @@ packages: /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.22.5): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1160,54 +1116,54 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.25.2): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.9): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.25.2): + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1222,27 +1178,27 @@ packages: '@babel/core': 7.22.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.25.2): + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.24.9): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -1255,7 +1211,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1268,12 +1224,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5): @@ -1285,12 +1241,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.5): @@ -1302,12 +1258,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5): @@ -1320,22 +1276,23 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + dev: true - /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1348,12 +1305,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1366,12 +1323,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1385,23 +1342,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5): - resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1415,13 +1362,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1435,14 +1382,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -1453,12 +1401,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5): @@ -1470,12 +1418,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.22.5): @@ -1488,13 +1436,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1507,12 +1455,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5): @@ -1524,12 +1472,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5): @@ -1541,12 +1489,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5): @@ -1558,12 +1506,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5): @@ -1575,12 +1523,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5): @@ -1592,12 +1540,12 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5): @@ -1610,14 +1558,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -1629,13 +1578,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.22.5): @@ -1648,23 +1597,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2): + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5): @@ -1674,18 +1613,18 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1699,13 +1638,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1719,37 +1658,22 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.22.5) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2): + /@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.4 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true @@ -1768,16 +1692,16 @@ packages: - supports-color dev: true - /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -1792,13 +1716,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1812,13 +1736,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2): + /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1835,27 +1759,14 @@ packages: - supports-color dev: true - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1875,16 +1786,16 @@ packages: - supports-color dev: true - /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -1897,44 +1808,27 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.22.5) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2): + /@babel/plugin-transform-classes@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.4 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) + '@babel/traverse': 7.25.1 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1951,13 +1845,13 @@ packages: '@babel/template': 7.25.0 dev: true - /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/template': 7.25.0 dev: true @@ -1972,13 +1866,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2): + /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.9): resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -1989,18 +1883,18 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2014,24 +1908,24 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2): + /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2046,15 +1940,15 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) dev: true /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.22.5): @@ -2070,13 +1964,13 @@ packages: - supports-color dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: @@ -2094,37 +1988,26 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - dev: true - - /@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.22.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} + /@babel/plugin-transform-flow-strip-types@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) dev: true /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.22.5): @@ -2140,13 +2023,13 @@ packages: - supports-color dev: true - /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: @@ -2160,23 +2043,23 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2): + /@babel/plugin-transform-function-name@7.25.1(@babel/core@7.24.9): resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true @@ -2192,19 +2075,19 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) dev: true - /@babel/plugin-transform-literals@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + /@babel/plugin-transform-literals@7.24.7(@babel/core@7.22.5): + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2213,13 +2096,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + /@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2234,15 +2117,15 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) dev: true /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.22.5): @@ -2255,13 +2138,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2272,20 +2155,20 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -2298,21 +2181,21 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2): + /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9): resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: @@ -2326,25 +2209,25 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2): + /@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.24.9): resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.1 transitivePeerDependencies: - supports-color dev: true @@ -2356,20 +2239,20 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -2382,18 +2265,18 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2407,13 +2290,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2428,15 +2311,15 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) dev: true /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.22.5): @@ -2450,15 +2333,15 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) dev: true /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.22.5): @@ -2468,23 +2351,23 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) dev: true /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.22.5): @@ -2500,15 +2383,15 @@ packages: - supports-color dev: true - /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -2524,15 +2407,15 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) dev: true /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.22.5): @@ -2549,16 +2432,16 @@ packages: - supports-color dev: true - /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2): + /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.24.9): resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -2573,13 +2456,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2596,27 +2479,14 @@ packages: - supports-color dev: true - /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -2637,17 +2507,17 @@ packages: - supports-color dev: true - /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -2662,23 +2532,23 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-react-constant-elements@7.25.1(@babel/core@7.25.2): + /@babel/plugin-transform-react-constant-elements@7.25.1(@babel/core@7.24.9): resolution: {integrity: sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2692,13 +2562,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2709,19 +2579,19 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.22.5) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -2737,13 +2607,13 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.22.5) - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5): + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2753,23 +2623,23 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.22.5) - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.2 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/types': 7.25.0 transitivePeerDependencies: - supports-color dev: true @@ -2785,13 +2655,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2807,13 +2677,13 @@ packages: regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 dev: true @@ -2828,28 +2698,28 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-runtime@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} + /@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -2865,13 +2735,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2888,13 +2758,13 @@ packages: - supports-color dev: true - /@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: @@ -2911,13 +2781,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2931,13 +2801,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -2951,18 +2821,18 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2): + /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.24.9): resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.22.5): - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + /@babel/plugin-transform-typescript@7.25.0(@babel/core@7.22.5): + resolution: {integrity: sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2977,18 +2847,18 @@ packages: - supports-color dev: true - /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + /@babel/plugin-transform-typescript@7.25.0(@babel/core@7.24.9): + resolution: {integrity: sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -3003,13 +2873,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -3020,18 +2890,18 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -3042,18 +2912,18 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -3064,29 +2934,18 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.22.5) + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2): + /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - dev: true - - /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 dev: true @@ -3096,9 +2955,9 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.0 '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.22.5) @@ -3140,7 +2999,7 @@ packages: '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.22.5) '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.22.5) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.22.5) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.22.5) @@ -3171,226 +3030,120 @@ packages: '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.22.5) '@babel/preset-modules': 0.1.6(@babel/core@7.22.5) - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 '@nicolo-ribaudo/semver-v6': 6.3.3 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.22.5) babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.22.5) babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.22.5) - core-js-compat: 3.38.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/preset-env@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.25.2 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 - semver: 6.3.1 + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-env@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} + /@babel/preset-env@7.25.0(@babel/core@7.24.9): + resolution: {integrity: sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.4 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 + '@babel/compat-data': 7.25.0 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.24.9) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.24.9) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.9) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) + core-js-compat: 3.37.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-flow@7.24.7(@babel/core@7.22.5): - resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.22.5) - dev: true - - /@babel/preset-flow@7.24.7(@babel/core@7.25.2): + /@babel/preset-flow@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.9) dev: true /@babel/preset-modules@0.1.6(@babel/core@7.22.5): @@ -3402,18 +3155,18 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.22.5) - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 esutils: 2.0.3 dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 esutils: 2.0.3 dev: true @@ -3434,36 +3187,19 @@ packages: - supports-color dev: true - /@babel/preset-react@7.24.7(@babel/core@7.22.5): - resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.22.5) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/preset-react@7.24.7(@babel/core@7.25.2): + /@babel/preset-react@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -3479,50 +3215,34 @@ packages: '@babel/helper-validator-option': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.22.5) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.22.5) + '@babel/plugin-transform-typescript': 7.25.0(@babel/core@7.22.5) transitivePeerDependencies: - supports-color dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.25.2): + /@babel/preset-typescript@7.23.3(@babel/core@7.24.9): resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/preset-typescript@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.25.0(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/register@7.24.6(@babel/core@7.25.2): + /@babel/register@7.24.6(@babel/core@7.24.9): resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -3540,58 +3260,30 @@ packages: dependencies: regenerator-runtime: 0.14.1 - /@babel/runtime@7.25.4: - resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - /@babel/template@7.25.0: resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.0 + '@babel/types': 7.25.0 - /@babel/traverse@7.25.3: - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + /@babel/traverse@7.25.1: + resolution: {integrity: sha512-LrHHoWq08ZpmmFqBAzN+hUdWwy5zt7FGa/hVwMcOqW6OVtwqaoD5utfuGYU87JYxdZgLUvktAsn37j/sYR9siA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - debug: 4.3.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - /@babel/traverse@7.25.4: - resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.4 - '@babel/parser': 7.25.4 + '@babel/parser': 7.25.0 '@babel/template': 7.25.0 - '@babel/types': 7.25.4 + '@babel/types': 7.25.0 debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.25.2: - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - - /@babel/types@7.25.4: - resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + /@babel/types@7.25.0: + resolution: {integrity: sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 @@ -3851,168 +3543,161 @@ packages: w3c-keyname: 2.2.8 dev: true - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true - optional: true - /@csstools/normalize.css@12.1.1: resolution: {integrity: sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==} dev: true - /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.41): + /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.40): resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.1) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /@csstools/postcss-color-function@1.1.1(postcss@8.4.41): + /@csstools/postcss-color-function@1.1.1(postcss@8.4.40): resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - postcss: 8.4.41 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.41): + /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.40): resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.41): + /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.40): resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.41): + /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.40): resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - postcss: 8.4.41 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.41): + /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.40): resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.1) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.41): + /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.40): resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.41): + /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.40): resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.41): + /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.40): resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - postcss: 8.4.41 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.41): + /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.40): resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.41): + /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.40): resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.41): + /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.40): resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.41): + /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.40): resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} engines: {node: ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-unset-value@1.0.2(postcss@8.4.41): + /@csstools/postcss-unset-value@1.0.2(postcss@8.4.40): resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.2): + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.1.1): resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.10 dependencies: - postcss-selector-parser: 6.1.2 + postcss-selector-parser: 6.1.1 dev: true /@ctrl/tinycolor@4.0.2: @@ -4020,11 +3705,6 @@ packages: engines: {node: '>=14'} dev: false - /@discoveryjs/json-ext@0.5.7: - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - dev: true - /@emotion/babel-plugin@11.12.0: resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} dependencies: @@ -4032,7 +3712,7 @@ packages: '@babel/runtime': 7.25.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.0 + '@emotion/serialize': 1.3.1 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -4148,7 +3828,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/cache': 11.13.1 '@emotion/serialize': 1.3.1 @@ -4206,7 +3886,7 @@ packages: '@emotion/core': ^10.0.28 react: '>=16.3.0' dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/core': 10.3.1(react@18.2.0) '@emotion/is-prop-valid': 0.8.8 '@emotion/serialize': 0.11.16 @@ -4261,7 +3941,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 '@emotion/react': 11.13.3(@types/react@18.2.45)(react@18.3.1) @@ -4296,6 +3976,7 @@ packages: react: '>=16.8.0' dependencies: react: 18.2.0 + dev: false /@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1): resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==} @@ -4342,15 +4023,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.20.2: resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -4368,15 +4040,6 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.2: resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -4394,15 +4057,6 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.2: resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -4420,15 +4074,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.2: resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -4446,15 +4091,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.2: resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -4472,15 +4108,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -4498,15 +4125,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.2: resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -4524,15 +4142,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.2: resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -4550,15 +4159,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.2: resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -4576,15 +4176,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.2: resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -4602,17 +4193,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -4628,15 +4210,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.2: resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -4654,15 +4227,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.2: resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -4680,15 +4244,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.2: resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -4706,15 +4261,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.2: resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -4732,15 +4278,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.2: resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -4758,15 +4295,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.20.2: resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -4784,15 +4312,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.2: resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -4810,15 +4329,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.2: resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -4836,15 +4346,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.2: resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -4862,15 +4363,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.2: resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -4888,15 +4380,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.2: resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -4946,7 +4429,7 @@ packages: debug: 4.3.6 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.2 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -4964,20 +4447,18 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@fal-works/esbuild-plugin-global-externals@2.1.2: - resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} - dev: true - - /@floating-ui/core@1.6.7: - resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + /@floating-ui/core@1.6.5: + resolution: {integrity: sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==} dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.5 + dev: false - /@floating-ui/dom@1.6.10: - resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + /@floating-ui/dom@1.6.8: + resolution: {integrity: sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==} dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.5 + '@floating-ui/utils': 0.2.5 + dev: false /@floating-ui/react-dom@2.1.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} @@ -4985,9 +4466,10 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + dev: false /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} @@ -4995,13 +4477,14 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.7: - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + /@floating-ui/utils@0.2.5: + resolution: {integrity: sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==} + dev: false /@focus-reactive/react-yaml@1.1.2(react@18.2.0): resolution: {integrity: sha512-X9/rmfuDHR+beDym2206RsD5m/5EfH26vVuGVbLXy7+BunPcVBRqwe2WbvCyoHloMUX7Ccp2xrLwmmPrvZ9hrA==} @@ -5320,7 +4803,7 @@ packages: resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} engines: {node: '>= 10.14.2'} dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/types': 26.6.2 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -5343,7 +4826,7 @@ packages: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -5361,29 +4844,6 @@ packages: transitivePeerDependencies: - supports-color - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.25.2 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.7 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/types@26.6.2: resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} engines: {node: '>= 10.14.2'} @@ -5413,7 +4873,7 @@ packages: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 17.0.45 - '@types/yargs': 17.0.33 + '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -5425,10 +4885,27 @@ packages: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 17.0.45 - '@types/yargs': 17.0.33 + '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.4.3)(vite@5.2.11): + resolution: {integrity: sha512-pdoMZ9QaPnVlSM+SdU/wgg0nyD/8wQ7y90ttO2CMCyrrm7RxveYIJ5eNfjPaoMFqW41LZra7QO9j+xV4Y18Glw==} + peerDependencies: + typescript: '>= 4.3.x' + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + glob: 7.2.3 + glob-promise: 4.2.2(glob@7.2.3) + magic-string: 0.27.0 + react-docgen-typescript: 2.2.2(typescript@5.4.3) + typescript: 5.4.3 + vite: 5.2.11(@types/node@17.0.45)(sass@1.71.1) + dev: true + /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -5465,10 +4942,6 @@ packages: resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} dev: false - /@juggle/resize-observer@3.4.0: - resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - dev: true - /@leichtgewicht/ip-codec@2.0.5: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} dev: true @@ -5489,14 +4962,14 @@ packages: '@lezer/common': 0.15.12 dev: true - /@lit-labs/ssr-dom-shim@1.2.1: - resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} + /@lit-labs/ssr-dom-shim@1.2.0: + resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} dev: false /@lit/reactive-element@2.0.4: resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 + '@lit-labs/ssr-dom-shim': 1.2.0 dev: false /@mapbox/jsonlint-lines-primitives@2.0.2: @@ -5538,13 +5011,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@material-ui/styles': 4.11.5(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@material-ui/system': 4.12.2(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@material-ui/types': 5.1.0(@types/react@18.2.45) '@material-ui/utils': 4.11.3(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-transition-group': 4.4.11 + '@types/react-transition-group': 4.4.10 clsx: 1.2.1 hoist-non-react-statics: 3.3.2 popper.js: 1.16.1-lts @@ -5567,7 +5040,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/hash': 0.8.0 '@material-ui/types': 5.1.0(@types/react@18.2.45) '@material-ui/utils': 4.11.3(react-dom@18.2.0)(react@18.2.0) @@ -5599,7 +5072,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@material-ui/utils': 4.11.3(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 csstype: 2.6.21 @@ -5626,23 +5099,41 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-is: 17.0.2 dev: true - /@mdx-js/react@2.3.0(react@18.2.0): - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} + /@mdx-js/react@3.0.1(@types/react@18.2.45)(react@18.3.1): + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} peerDependencies: + '@types/react': '>=16' react: '>=16' dependencies: '@types/mdx': 2.0.13 '@types/react': 18.2.45 - react: 18.2.0 + react: 18.3.1 dev: true + /@microlink/react-json-view@1.23.1(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Iz1uA2Y4x7Xr+O4BP2Brk16UpL6rh9GDv2A19OOb9pymkUE8eXHq1GzhJte4269wMDc8Esm2jXsTqIPLgqq7kg==} + peerDependencies: + react: '>= 15' + react-dom: '>= 15' + dependencies: + flux: 4.0.4(react@18.2.0) + react: 18.2.0 + react-base16-styling: 0.6.0 + react-dom: 18.2.0(react@18.2.0) + react-lifecycles-compat: 3.0.4 + react-textarea-autosize: 8.3.4(@types/react@18.2.45)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - encoding + dev: false + /@mui/base@5.0.0-beta.36(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-6A8fYiXgjqTO6pgj31Hc8wm1M3rFYCxDRh09dBVk0L0W4cb2lnurRJa3cAyic6hHY+we1S58OdGYRbKmOsDpGQ==} engines: {node: '>=12.0.0'} @@ -5703,7 +5194,7 @@ packages: '@babel/runtime': 7.25.0 '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.15(@types/react@18.2.45) - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.2.0) + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.2.0) '@popperjs/core': 2.11.8 '@types/react': 18.2.45 clsx: 2.1.1 @@ -5726,7 +5217,7 @@ packages: '@babel/runtime': 7.25.0 '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.15(@types/react@18.2.45) - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.3.1) + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.3.1) '@popperjs/core': 2.11.8 '@types/react': 18.2.45 clsx: 2.1.1 @@ -5735,8 +5226,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.16.7: - resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} + /@mui/core-downloads-tracker@5.16.5: + resolution: {integrity: sha512-ziFn1oPm6VjvHQcdGcAO+fXvOQEgieIj0BuSqcltFU+JXIxjPdVYNTdn2HU7/Ak5Gabk6k2u7+9PV7oZ6JT5sA==} dev: false /@mui/icons-material@5.15.10(@mui/material@5.15.10)(@types/react@18.2.45)(react@18.2.0): @@ -5779,9 +5270,9 @@ packages: '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) '@mui/base': 5.0.0-beta.40(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@mui/material': 5.15.10(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@mui/system': 5.16.7(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) + '@mui/system': 5.16.5(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) '@mui/types': 7.2.15(@types/react@18.2.45) - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.2.0) + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 clsx: 2.1.1 prop-types: 15.8.1 @@ -5810,12 +5301,12 @@ packages: '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) '@mui/base': 5.0.0-beta.36(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) + '@mui/core-downloads-tracker': 5.16.5 + '@mui/system': 5.16.5(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) '@mui/types': 7.2.15(@types/react@18.2.45) '@mui/utils': 5.15.11(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 - '@types/react-transition-group': 4.4.11 + '@types/react-transition-group': 4.4.10 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -5846,12 +5337,12 @@ packages: '@emotion/react': 11.13.3(@types/react@18.2.45)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.2.45)(react@18.3.1) '@mui/base': 5.0.0-beta.36(@types/react@18.2.45)(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.2.45)(react@18.3.1) + '@mui/core-downloads-tracker': 5.16.5 + '@mui/system': 5.16.5(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.2.45)(react@18.3.1) '@mui/types': 7.2.15(@types/react@18.2.45) '@mui/utils': 5.15.11(@types/react@18.2.45)(react@18.3.1) '@types/react': 18.2.45 - '@types/react-transition-group': 4.4.11 + '@types/react-transition-group': 4.4.10 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -5861,8 +5352,8 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/private-theming@5.16.6(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==} + /@mui/private-theming@5.16.5(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -5871,15 +5362,15 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.25.0 + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/private-theming@5.16.6(@types/react@18.2.45)(react@18.3.1): - resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==} + /@mui/private-theming@5.16.5(@types/react@18.2.45)(react@18.3.1): + resolution: {integrity: sha512-CSLg0YkpDqg0aXOxtjo3oTMd3XWMxvNb5d0v4AYVqwOltU8q6GvnZjhWyCLjGSCrcgfwm6/VDjaKLPlR14wxIA==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -5888,15 +5379,15 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.25.4 - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.3.1) + '@babel/runtime': 7.25.0 + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.3.1) '@types/react': 18.2.45 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/styled-engine@5.16.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0): - resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} + /@mui/styled-engine@5.16.4(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0): + resolution: {integrity: sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -5908,7 +5399,7 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) @@ -5917,8 +5408,8 @@ packages: react: 18.2.0 dev: false - /@mui/styled-engine@5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): - resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} + /@mui/styled-engine@5.16.4(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): + resolution: {integrity: sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -5930,7 +5421,7 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 '@emotion/react': 11.13.3(@types/react@18.2.45)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.2.45)(react@18.3.1) @@ -5939,8 +5430,8 @@ packages: react: 18.3.1 dev: false - /@mui/system@5.16.7(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} + /@mui/system@5.16.5(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -5958,10 +5449,10 @@ packages: '@babel/runtime': 7.25.0 '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) - '@mui/private-theming': 5.16.6(@types/react@18.2.45)(react@18.2.0) - '@mui/styled-engine': 5.16.6(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0) + '@mui/private-theming': 5.16.5(@types/react@18.2.45)(react@18.2.0) + '@mui/styled-engine': 5.16.4(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0) '@mui/types': 7.2.15(@types/react@18.2.45) - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.2.0) + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 clsx: 2.1.1 csstype: 3.1.3 @@ -5969,8 +5460,8 @@ packages: react: 18.2.0 dev: false - /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.2.45)(react@18.3.1): - resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} + /@mui/system@5.16.5(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.2.45)(react@18.3.1): + resolution: {integrity: sha512-uzIUGdrWddUx1HPxW4+B2o4vpgKyRxGe/8BxbfXVDPNPHX75c782TseoCnR/VyfnZJfqX87GcxDmnZEE1c031g==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -5988,10 +5479,10 @@ packages: '@babel/runtime': 7.25.0 '@emotion/react': 11.13.3(@types/react@18.2.45)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.2.45)(react@18.3.1) - '@mui/private-theming': 5.16.6(@types/react@18.2.45)(react@18.3.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/private-theming': 5.16.5(@types/react@18.2.45)(react@18.3.1) + '@mui/styled-engine': 5.16.4(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) '@mui/types': 7.2.15(@types/react@18.2.45) - '@mui/utils': 5.16.6(@types/react@18.2.45)(react@18.3.1) + '@mui/utils': 5.16.5(@types/react@18.2.45)(react@18.3.1) '@types/react': 18.2.45 clsx: 2.1.1 csstype: 3.1.3 @@ -6046,8 +5537,8 @@ packages: react-is: 18.3.1 dev: false - /@mui/utils@5.16.6(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==} + /@mui/utils@5.16.5(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -6066,8 +5557,8 @@ packages: react-is: 18.3.1 dev: false - /@mui/utils@5.16.6(@types/react@18.2.45)(react@18.3.1): - resolution: {integrity: sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==} + /@mui/utils@5.16.5(@types/react@18.2.45)(react@18.3.1): + resolution: {integrity: sha512-CwhcA9y44XwK7k2joL3Y29mRUnoBt+gOZZdGyw7YihbEwEErJYBtDwbZwVgH68zAljGe/b+Kd5bzfl63Gi3R2A==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -6086,14 +5577,6 @@ packages: react-is: 18.3.1 dev: false - /@ndelangen/get-tarball@3.0.9: - resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==} - dependencies: - gunzip-maybe: 1.4.2 - pump: 3.0.0 - tar-fs: 2.1.1 - dev: true - /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: @@ -6127,21 +5610,21 @@ packages: resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: true - /@opensystemslab/map@1.0.0-alpha.0: - resolution: {integrity: sha512-zOAo9mz4g8VOqd6Kp4Fxf4a1uCTPBYqGLLhdD/7QJjRBZN5kWxYMhymiteFPE0V5afEIPyI4nnWS2Q2RB9JnDQ==} + /@opensystemslab/map@1.0.0-alpha.1: + resolution: {integrity: sha512-T8foDyKS18algLun1uV4o4j0VL+TfsvNL0YnqKj26E8m6x6RMx6gbo5njjRH0bRnj14E8IsLaRN546fGoZhrWw==} dependencies: - '@turf/union': 7.1.0 + '@turf/union': 7.0.0 accessible-autocomplete: 2.0.4 file-saver: 2.0.5 - govuk-frontend: 5.5.0 + govuk-frontend: 5.4.1 jspdf: 2.5.1 - lit: 3.2.0 + lit: 3.1.4 ol: 9.2.4 - ol-ext: 4.0.22(ol@9.2.4) - ol-mapbox-style: 12.3.5(ol@9.2.4) + ol-ext: 4.0.21(ol@9.2.4) + ol-mapbox-style: 12.3.4(ol@9.2.4) postcode: 5.1.0 - proj4: 2.12.0 - rambda: 9.3.0 + proj4: 2.11.0 + rambda: 9.2.1 dev: false /@petamoriken/float16@3.8.7: @@ -6154,7 +5637,7 @@ packages: requiresBuild: true optional: true - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack-dev-server@4.15.2)(webpack@5.93.0): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack-dev-server@4.15.2)(webpack@5.91.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -6181,15 +5664,15 @@ packages: optional: true dependencies: ansi-html: 0.0.9 - core-js-pure: 3.38.0 + core-js-pure: 3.37.1 error-stack-parser: 2.1.4 html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.11.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - webpack-dev-server: 4.15.2(webpack@5.93.0) + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-server: 4.15.2(webpack@5.91.0) dev: true /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.0)(webpack@5.91.0): @@ -6219,821 +5702,112 @@ packages: optional: true dependencies: ansi-html: 0.0.9 - core-js-pure: 3.38.0 + core-js-pure: 3.37.1 error-stack-parser: 2.1.4 html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.14.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@radix-ui/number@1.0.1: - resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} - dependencies: - '@babel/runtime': 7.25.4 - dev: true - - /@radix-ui/primitive@1.0.1: - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} + /@reach/component-component@0.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-a1USH7L3bEfDdPN4iNZGvMEFuBfkdG+QNybeyDv8RloVFgZYRoM+KGXyy2KOfEnTUM8QWDRSROwaL3+ts5Angg==} + peerDependencies: + prop-types: ^15.6.2 + react: ^16.4.0 + react-dom: ^16.4.0 dependencies: - '@babel/runtime': 7.25.4 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/primitive@1.1.0: - resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + /@reach/observe-rect@1.2.0: + resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==} dev: true - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} + /@reach/rect@0.2.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aZ9RsNHDMQ3zETonikqu9/85iXxj+LPqZ9Gr9UAncj3AufYmGeWG3XG6b37B+7ORH+mkhVpLU2ZlIWxmOe9Cqg==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + prop-types: ^15.6.2 + react: ^16.8.0 + react-dom: ^16.8.0 dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@reach/component-component': 0.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@reach/observe-rect': 1.2.0 + prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + /@react-dnd/asap@5.0.2: + resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} + dev: false + + /@react-dnd/invariant@4.0.2: + resolution: {integrity: sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==} + dev: false + + /@react-dnd/shallowequal@4.0.2: + resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} + dev: false + + /@react-theming/flatten@0.1.1: + resolution: {integrity: sha512-cieWCbO4xTgl8/LAUTEgiafEiFIcheARteyxXddnUHm/+7POCmRvSE/woHGXlVH7dFBlCbI4y/e5ikMzwBA3CA==} dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + color: 3.2.1 + color-convert: 2.0.1 + color-parse: 1.4.3 + color-rgba: 2.4.0 + color-string: 1.9.1 + color-stringify: 1.2.1 + flat: 5.0.2 + is-color-stop: 1.1.0 + rgb-hex: 3.0.0 dev: true - /@radix-ui/react-collection@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} + /@react-theming/storybook-addon@1.1.10(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(@storybook/theming@8.2.9)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7DHwzPIY4nerTqkUgyQ70IqPSHMycnYgJsYQMAVkT8dsQPuQUUKz2UVjqD0HkPMw3JA+wQuSvY9BpJap5z7fqQ==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@storybook/react': '*' + '@storybook/theming': '*' + react: '*' dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@codemirror/theme-one-dark': 0.19.0 + '@focus-reactive/react-yaml': 1.1.2(react@18.2.0) + '@react-theming/flatten': 0.1.1 + '@react-theming/theme-name': 1.0.3 + '@react-theming/theme-swatch': 1.0.0(react@18.2.0) + '@storybook/addon-devkit': 1.4.2(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(react-dom@18.2.0)(react@18.2.0) + '@storybook/react': 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3) + '@storybook/theming': 8.2.9(storybook@8.2.9) + '@usulpro/react-json-view': 2.0.1(react-dom@18.2.0)(react@18.2.0) + color-string: 1.9.1 react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react-color: 2.19.3(react@18.2.0) + transitivePeerDependencies: + - '@storybook/addons' + - encoding + - react-dom dev: true - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + /@react-theming/theme-name@1.0.3: + resolution: {integrity: sha512-5tYnKIG3wUJ3GTX50ldeU+nxLTEU8WXEGsHk8mWeG9XGC4VxKIp2gSqS6B/opCGmfuIFm459Dtru8PSuEXiJJg==} dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 + color-name-list: 4.15.0 + nearest-color: 0.4.4 dev: true - /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + /@react-theming/theme-swatch@1.0.0(react@18.2.0): + resolution: {integrity: sha512-tOzDTUbFB5uQLMVHJ4fXWYZ4i7JIKjyrS7SlHDoscRZqM69lmT+s9fSZoD1/InTdX0M7Jh8thXF0SzeoxnD1/Q==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-context@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-direction@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-id@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-id@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-primitive@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/number': 1.0.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) - dev: true - - /@radix-ui/react-separator@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-slot@1.0.2(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-slot@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-toggle@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZUKknxhMTL/4hPh+4DuaTot9aO7UD6Kupj4gqXCsBTayX1pD1L+0C2/2VZKXb4tIifQklZ3pf2hG9T+ns+FclQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.25.4 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/rect@1.0.1: - resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} - dependencies: - '@babel/runtime': 7.25.4 - dev: true - - /@reach/component-component@0.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-a1USH7L3bEfDdPN4iNZGvMEFuBfkdG+QNybeyDv8RloVFgZYRoM+KGXyy2KOfEnTUM8QWDRSROwaL3+ts5Angg==} - peerDependencies: - prop-types: ^15.6.2 - react: ^16.4.0 - react-dom: ^16.4.0 - dependencies: - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@reach/observe-rect@1.2.0: - resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==} - dev: true - - /@reach/rect@0.2.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aZ9RsNHDMQ3zETonikqu9/85iXxj+LPqZ9Gr9UAncj3AufYmGeWG3XG6b37B+7ORH+mkhVpLU2ZlIWxmOe9Cqg==} - peerDependencies: - prop-types: ^15.6.2 - react: ^16.8.0 - react-dom: ^16.8.0 - dependencies: - '@reach/component-component': 0.1.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) - '@reach/observe-rect': 1.2.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@react-dnd/asap@5.0.2: - resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} - dev: false - - /@react-dnd/invariant@4.0.2: - resolution: {integrity: sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==} - dev: false - - /@react-dnd/shallowequal@4.0.2: - resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} - dev: false - - /@react-theming/flatten@0.1.1: - resolution: {integrity: sha512-cieWCbO4xTgl8/LAUTEgiafEiFIcheARteyxXddnUHm/+7POCmRvSE/woHGXlVH7dFBlCbI4y/e5ikMzwBA3CA==} - dependencies: - color: 3.2.1 - color-convert: 2.0.1 - color-parse: 1.4.3 - color-rgba: 2.4.0 - color-string: 1.9.1 - color-stringify: 1.2.1 - flat: 5.0.2 - is-color-stop: 1.1.0 - rgb-hex: 3.0.0 - dev: true - - /@react-theming/storybook-addon@1.1.10(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(@storybook/theming@7.6.7)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7DHwzPIY4nerTqkUgyQ70IqPSHMycnYgJsYQMAVkT8dsQPuQUUKz2UVjqD0HkPMw3JA+wQuSvY9BpJap5z7fqQ==} - peerDependencies: - '@storybook/react': '*' - '@storybook/theming': '*' - react: '*' - dependencies: - '@codemirror/theme-one-dark': 0.19.0 - '@focus-reactive/react-yaml': 1.1.2(react@18.2.0) - '@react-theming/flatten': 0.1.1 - '@react-theming/theme-name': 1.0.3 - '@react-theming/theme-swatch': 1.0.0(react@18.2.0) - '@storybook/addon-devkit': 1.4.2(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(react-dom@18.2.0)(react@18.2.0) - '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@usulpro/react-json-view': 2.0.1(react-dom@18.2.0)(react@18.2.0) - color-string: 1.9.1 - react: 18.2.0 - react-color: 2.19.3(react@18.2.0) - transitivePeerDependencies: - - '@storybook/addons' - - encoding - - react-dom - dev: true - - /@react-theming/theme-name@1.0.3: - resolution: {integrity: sha512-5tYnKIG3wUJ3GTX50ldeU+nxLTEU8WXEGsHk8mWeG9XGC4VxKIp2gSqS6B/opCGmfuIFm459Dtru8PSuEXiJJg==} - dependencies: - color-name-list: 4.15.0 - nearest-color: 0.4.4 - dev: true - - /@react-theming/theme-swatch@1.0.0(react@18.2.0): - resolution: {integrity: sha512-tOzDTUbFB5uQLMVHJ4fXWYZ4i7JIKjyrS7SlHDoscRZqM69lmT+s9fSZoD1/InTdX0M7Jh8thXF0SzeoxnD1/Q==} - peerDependencies: - react: ^16.8.6 || ^17.0.0 + react: ^16.8.6 || ^17.0.0 dependencies: react: 18.2.0 dev: true @@ -7042,7 +5816,7 @@ packages: resolution: {integrity: sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==} dev: false - /@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.9)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -7053,7 +5827,7 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.24.7 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 @@ -7111,7 +5885,6 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 2.79.1 - dev: false /@rollup/rollup-android-arm-eabi@4.21.0: resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} @@ -7264,48 +6037,52 @@ packages: dependencies: '@sinonjs/commons': 1.8.6 - /@storybook/addon-a11y@7.6.7: - resolution: {integrity: sha512-poT2oXIYDwLnhqn6g9ACTQ+7gi8QDHVlib4TQANdcozC/qYg+Bs6Pd99wT6rT4lrC/npVNTSKKwLw+3oXqlCxg==} + /@storybook/addon-a11y@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-9zm0Ecn2KUUKZbRsQM5l2KcQ8RHK6a9eqdQtOMjGagrdUvUstcf7XjBmV1W6PQE2Urj93ciz1cgx4T1AYQyKtA==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/addon-highlight': 7.6.7 - axe-core: 4.10.0 + '@storybook/addon-highlight': 8.2.9(storybook@8.2.9) + axe-core: 4.9.1 + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/addon-actions@7.6.7: - resolution: {integrity: sha512-+6EZvhIeKEqG/RNsU3R5DxOrd60BL5GEvmzE2w60s2eKaNNxtyilDjiO1g4z2s2zDNyr7JL/Ft03pJ0Jgo0lew==} + /@storybook/addon-actions@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-eh2teOqjga7aoClDVV+/b1gHJqsPwjiU1t+Hg/l4i2CkaBUNdYMEL90nR6fgReOdvvL5YhcPwJ8w38f9TrQcoQ==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/core-events': 7.6.7 '@storybook/global': 5.0.0 '@types/uuid': 9.0.7 dequal: 2.0.3 polished: 4.3.1 + storybook: 8.2.9(@babel/preset-env@7.22.6) uuid: 9.0.1 dev: true - /@storybook/addon-backgrounds@7.6.7: - resolution: {integrity: sha512-55sBy1YUqponAVe+qL16qtWxdf63vHEnIoqFyHEwGpk7K9IhFA1BmdSpFr5VnWEwXeJXKj30db78frh2LUdk3Q==} + /@storybook/addon-backgrounds@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-eGmZAd742ORBbQ6JepzBCko/in62T4Xg9j9LVa+Cvz/7L1C/RQSuU6sUwbRAsXaz+PMVDksPDCUUNsXl3zUL7w==} + peerDependencies: + storybook: ^8.2.9 dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 dev: true - /@storybook/addon-controls@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-DJ3gfvcdCgqi7AQxu83vx0AEUKiuJrNcSATfWV3Jqi8dH6fYO2yqpemHEeWOEy+DAHxIOaqLKwb1QjIBj+vSRQ==} + /@storybook/addon-controls@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-vaSE78KOE7SO0GrW4e+mdQphSNpvCX/FGybIRxyaKX9h8smoyUwRNHVyCS3ROHTwH324QWu7GDzsOVrnyXOv0A==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/blocks': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + dequal: 2.0.3 lodash: 4.17.21 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - - react - - react-dom - - supports-color dev: true - /@storybook/addon-devkit@1.4.2(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-devkit@1.4.2(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ggy34eCzmiKOwgV7xYNjlPClGpmtnYODPJv0vkCKiDyPeVLHocq2UZ7ZkOhQ5GO7TM7aLeeC1JBS00tZId9oLA==} peerDependencies: '@storybook/addons': '*' @@ -7314,9 +6091,9 @@ packages: react-dom: '*' dependencies: '@reach/rect': 0.2.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addons': 7.6.7(react-dom@18.2.0)(react@18.2.0) + '@storybook/addons': 6.5.16(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': 6.5.16 - '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + '@storybook/react': 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3) '@storybook/theming': 6.5.16(react-dom@18.2.0)(react@18.2.0) deep-equal: 2.2.3 prop-types: 15.8.1 @@ -7324,79 +6101,63 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/addon-docs@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2dfajNhweofJ3LxjGO83UE5sBMvKtJB0Agj7q8mMtK/9PUCUcbvsFSyZnO/s6X1zAjSn5ZrirbSoTXU4IqxwSA==} + /@storybook/addon-docs@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-flDOxFIGmXg+6lVdwTLMOKsGob1WrT7rG98mn1SNW0Nxhg3Wg+9pQuq1GLxEzKtAgSflmu+xcBRfYhsogyDXkw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + storybook: ^8.2.9 dependencies: - '@jest/transform': 29.7.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.7 - '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.6.7 - '@storybook/csf-tools': 7.6.7 + '@babel/core': 7.24.9 + '@mdx-js/react': 3.0.1(@types/react@18.2.45)(react@18.3.1) + '@storybook/blocks': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9) + '@storybook/csf-plugin': 8.2.9(storybook@8.2.9) '@storybook/global': 5.0.0 - '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.6.7 - '@storybook/postinstall': 7.6.7 - '@storybook/preview-api': 7.6.7 - '@storybook/react-dom-shim': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 + '@storybook/react-dom-shim': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9) + '@types/react': 18.2.45 fs-extra: 11.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - remark-external-links: 8.0.0 - remark-slug: 6.1.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-external-links: 3.0.0 + rehype-slug: 6.0.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - supports-color dev: true - /@storybook/addon-essentials@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-nNLMrpIvc04z4XCA+kval/44eKAFJlUJeeL2pxwP7F/PSzjWe5BXv1bQHOiw8inRO5II0PzqwWnVCI9jsj7K5A==} + /@storybook/addon-essentials@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-B2d3eznGZvPIyCVtYX0UhrYcEfK+3Y2sACmEWpSwtk8KXomFEsZnD95m397BYDRw3/X6qeSLWxqgMfqDTEDeMA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + storybook: ^8.2.9 dependencies: - '@storybook/addon-actions': 7.6.7 - '@storybook/addon-backgrounds': 7.6.7 - '@storybook/addon-controls': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-highlight': 7.6.7 - '@storybook/addon-measure': 7.6.7 - '@storybook/addon-outline': 7.6.7 - '@storybook/addon-toolbars': 7.6.7 - '@storybook/addon-viewport': 7.6.7 - '@storybook/core-common': 7.6.7 - '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.6.7 - '@storybook/preview-api': 7.6.7 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@storybook/addon-actions': 8.2.9(storybook@8.2.9) + '@storybook/addon-backgrounds': 8.2.9(storybook@8.2.9) + '@storybook/addon-controls': 8.2.9(storybook@8.2.9) + '@storybook/addon-docs': 8.2.9(storybook@8.2.9) + '@storybook/addon-highlight': 8.2.9(storybook@8.2.9) + '@storybook/addon-measure': 8.2.9(storybook@8.2.9) + '@storybook/addon-outline': 8.2.9(storybook@8.2.9) + '@storybook/addon-toolbars': 8.2.9(storybook@8.2.9) + '@storybook/addon-viewport': 8.2.9(storybook@8.2.9) + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - supports-color dev: true - /@storybook/addon-highlight@7.6.7: - resolution: {integrity: sha512-2F/tJdn45d4zrvf/cmE1vsczl99wK8+I+kkj0G7jLsrJR0w1zTgbgjy6T9j86HBTBvWcnysNFNIRWPAOh5Wdbw==} + /@storybook/addon-highlight@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-qdcazeNQoo9QKIq+LJJZZXvFZoLn+i4uhbt1Uf9WtW6oU/c1qxORGVD7jc3zsxbQN9nROVPbJ76sfthogxeqWA==} + peerDependencies: + storybook: ^8.2.9 dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/addon-links@7.6.7(react@18.2.0): - resolution: {integrity: sha512-O5LekPslkAIDtXC/TCIyg/3c0htBxDYwb/s+NrZUPTNWJsngxvTAwp6aIk6aVSeSCFUMWvBFcVsuV3hv+ndK6w==} + /@storybook/addon-links@8.2.9(react@18.2.0)(storybook@8.2.9): + resolution: {integrity: sha512-RhJzUNdDb7lbliwXb64HMwieIeJ+OQ2Ditue1vmSox6NsSd+pshR+okHpAyoP1+fW+dahNENwAS2Kt2QiI78FA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 peerDependenciesMeta: react: optional: true @@ -7404,628 +6165,305 @@ packages: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 react: 18.2.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@7.6.7: - resolution: {integrity: sha512-t1RnnNO4Xzgnsxu63FlZwsCTF0+9jKxr44NiJAUOxW9ppbCvs/JfSDOOvcDRtPWyjgnyzexNUUctMfxvLrU01A==} + /@storybook/addon-measure@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-XUfQtYRKWB2dfbPRmHuos816wt1JrLbtRld5ZC8J8ljeqZ4hFBPTQcgI5GAzZqjQuclLC0KuhlA/0bKxdxMMGA==} + peerDependencies: + storybook: ^8.2.9 dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) tiny-invariant: 1.3.3 dev: true - /@storybook/addon-outline@7.6.7: - resolution: {integrity: sha512-gu2y46ijjMkXlxy1f8Cctgjw5b5y8vSIqNAYlrs5/Qy+hJAWyU6lj2PFGOCCUG4L+F45fAjwWAin6qz43+WnRQ==} + /@storybook/addon-outline@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-p22kI4W7MT0YJOCmg/FfhfH+NpZEDA5tgwstjazSg4ertyhaxziMwWZWiK2JCg0gOAfRJjoYjHz+6/u56iXwgQ==} + peerDependencies: + storybook: ^8.2.9 dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 dev: true - /@storybook/addon-toolbars@7.6.7: - resolution: {integrity: sha512-vT+YMzw8yVwndhJglI0XtELfXWq1M0HEy5ST3XPzbjmsJ54LgTf1b29UMkh0E/05qBQNFCcbT9B/tLxqWezxlg==} + /@storybook/addon-toolbars@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-9LMZZ2jRD86Jh6KXedDbAYs4eHj9HtJA9VhSEE2wiqMGwXozpySi7B1GWniNzmFfcgMQ4JHfmD/OrBVTK7Ca/w==} + peerDependencies: + storybook: ^8.2.9 + dependencies: + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/addon-viewport@7.6.7: - resolution: {integrity: sha512-Q/BKjJaKzl4RWxH45K2iIXwkicj4ReVAUIpIyd7dPBb/Bx+hEDYZxR5dDg82AMkZdA71x5ttMnuDSuVpmWAE6g==} + /@storybook/addon-viewport@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-lyM24+DJEt8R0YZkJKee34NQWv0REACU6lYDalqJNdKS1sEwzLGWxg1hZXnw2JFdBID9NGVvyYU2w6LDozOB0g==} + peerDependencies: + storybook: ^8.2.9 dependencies: memoizerific: 1.11.3 + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/addons@7.6.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-nRPy2IFlhDsd34Iebvsdv4gJzThsdgePU7xAf5UQa2Ph2dejsFY0IADoRi4xvkPUAWOjkeu/qvgWLD6X859s2A==} + /@storybook/addons@6.5.16(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.7 - '@storybook/types': 7.6.7 - transitivePeerDependencies: - - react - - react-dom + '@storybook/api': 6.5.16(react-dom@18.2.0)(react@18.2.0) + '@storybook/channels': 6.5.16 + '@storybook/client-logger': 6.5.16 + '@storybook/core-events': 6.5.16 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.16(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 6.5.16(react-dom@18.2.0)(react@18.2.0) + '@types/webpack-env': 1.18.5 + core-js: 3.31.0 + global: 4.4.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 dev: true - /@storybook/blocks@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+QEvGQ0he/YvFS3lsZORJWxhQIyqcCDWsxbJxJiByePd+Z4my3q8xwtPhHW0TKRL0xUgNE/GnTfMMqJfevTuSw==} + /@storybook/api@6.5.16(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/channels': 7.6.7 - '@storybook/client-logger': 7.6.7 - '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.11 - '@storybook/docs-tools': 7.6.7 - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.7 - '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 - '@types/lodash': 4.14.202 - color-convert: 2.0.1 - dequal: 2.0.3 + '@storybook/channels': 6.5.16 + '@storybook/client-logger': 6.5.16 + '@storybook/core-events': 6.5.16 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.16(react-dom@18.2.0)(react@18.2.0) + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.5.16(react-dom@18.2.0)(react@18.2.0) + core-js: 3.31.0 + fast-deep-equal: 3.1.3 + global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.5.0(react@18.2.0) memoizerific: 1.11.3 - polished: 4.3.1 react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) react-dom: 18.2.0(react@18.2.0) - telejson: 7.2.0 - tocbot: 4.29.0 + regenerator-runtime: 0.13.11 + store2: 2.14.3 + telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - - supports-color - dev: true - - /@storybook/builder-manager@8.1.10(prettier@3.3.3): - resolution: {integrity: sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==} - dependencies: - '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.1.10(prettier@3.3.3) - '@storybook/manager': 8.1.10 - '@storybook/node-logger': 8.1.10 - '@types/ejs': 3.1.5 - '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.20.2) - browser-assert: 1.2.1 - ejs: 3.1.10 - esbuild: 0.20.2 - esbuild-plugin-alias: 0.2.1 - express: 4.19.2 - fs-extra: 11.2.0 - process: 0.11.10 - util: 0.12.5 - transitivePeerDependencies: - - encoding - - prettier - - supports-color dev: true - /@storybook/builder-webpack5@7.6.7(esbuild@0.21.3)(typescript@5.4.3): - resolution: {integrity: sha512-b5AaWXOHwIXl5Q1iRRl6eRhljId0Zsg0ANawDoubK1y1jsBoQtWal7c4TQPMeLAd2G30fc3sW5zCdb9rCo2Vrg==} + /@storybook/blocks@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9): + resolution: {integrity: sha512-5276q/s/UL8arwftuBXovUNHqYo/HPQFMGXEmjVVAMXUyFjzEAfKj3+xU897J6AuL+7XVZG32WnqA+X6LJMrcQ==} peerDependencies: - typescript: '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 peerDependenciesMeta: - typescript: + react: + optional: true + react-dom: optional: true dependencies: - '@babel/core': 7.25.2 - '@storybook/channels': 7.6.7 - '@storybook/client-logger': 7.6.7 - '@storybook/core-common': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/core-webpack': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/preview': 7.6.7 - '@storybook/preview-api': 7.6.7 - '@swc/core': 1.7.14 - '@types/node': 18.19.45 - '@types/semver': 7.5.8 - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.91.0) - browser-assert: 1.2.1 - case-sensitive-paths-webpack-plugin: 2.4.0 - constants-browserify: 1.0.0 - css-loader: 6.10.0(webpack@5.91.0) - es-module-lexer: 1.5.4 - express: 4.19.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.3)(webpack@5.91.0) - fs-extra: 11.2.0 - html-webpack-plugin: 5.6.0(webpack@5.91.0) - magic-string: 0.30.11 - path-browserify: 1.0.1 - process: 0.11.10 - semver: 7.6.3 - style-loader: 3.3.4(webpack@5.91.0) - swc-loader: 0.2.6(@swc/core@1.7.14)(webpack@5.91.0) - terser-webpack-plugin: 5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.91.0) - ts-dedent: 2.2.0 - typescript: 5.4.3 - url: 0.11.4 - util: 0.12.5 - util-deprecate: 1.0.2 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - webpack-dev-middleware: 6.1.3(webpack@5.91.0) - webpack-hot-middleware: 2.26.1 - webpack-virtual-modules: 0.5.0 - transitivePeerDependencies: - - '@rspack/core' - - '@swc/helpers' - - encoding - - esbuild - - supports-color - - uglify-js - - webpack-cli - dev: true - - /@storybook/channels@7.6.7: - resolution: {integrity: sha512-u1hURhfQHHtZyRIDUENRCp+CRRm7IQfcjQaoWI06XCevQPuhVEtFUfXHjG+J74aA/JuuTLFUtqwNm1zGqbXTAQ==} - dependencies: - '@storybook/client-logger': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/global': 5.0.0 - qs: 6.13.0 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - dev: true - - /@storybook/channels@8.1.10: - resolution: {integrity: sha512-CxZE4XrQoe+F+S2mo8Z9HTvFZKfKHIIiwYfoXKCryVp2U/z7ZKrely2PbfxWsrQvF3H0+oegfYYhYRHRiM21Zw==} - dependencies: - '@storybook/client-logger': 8.1.10 - '@storybook/core-events': 8.1.10 - '@storybook/global': 5.0.0 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - dev: true - - /@storybook/cli@8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7Fm2Qgk33sHayZ0QABqwe1Jto4yyVRVW6kTrSeP5IuLh+mn244RgxBvWtGCyL1EcWDFI7PYUFa0HxgTCq7C+OA==} - hasBin: true - dependencies: - '@babel/core': 7.25.2 - '@babel/types': 7.25.2 - '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.3) - '@storybook/core-events': 8.1.10 - '@storybook/core-server': 8.1.10(prettier@3.3.3)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-tools': 8.1.10 - '@storybook/node-logger': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.3.3) - '@storybook/types': 8.1.10 - '@types/semver': 7.5.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - commander: 6.2.1 - cross-spawn: 7.0.3 - detect-indent: 6.1.0 - envinfo: 7.13.0 - execa: 5.1.1 - find-up: 5.0.0 - fs-extra: 11.2.0 - get-npm-tarball-url: 2.1.0 - giget: 1.2.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.22.6) - leven: 3.1.0 - ora: 5.4.1 - prettier: 3.3.3 - prompts: 2.4.2 - read-pkg-up: 7.0.1 - semver: 7.6.3 - strip-json-comments: 3.1.1 - tempy: 3.1.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@babel/preset-env' - - bufferutil - - encoding - - react - - react-dom - - supports-color - - utf-8-validate - dev: true - - /@storybook/client-logger@6.5.16: - resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==} - dependencies: - core-js: 3.38.1 - global: 4.4.0 - dev: true - - /@storybook/client-logger@7.6.7: - resolution: {integrity: sha512-A16zpWgsa0gSdXMR9P3bWVdC9u/1B1oG4H7Z1+JhNzgnL3CdyOYO0qFSiAtNBso4nOjIAJVb6/AoBzdRhmSVQg==} - dependencies: - '@storybook/global': 5.0.0 - dev: true - - /@storybook/client-logger@8.1.10: - resolution: {integrity: sha512-sVXCOo7jnlCgRPOcMlQGODAEt6ipPj+8xGkRUws0kie77qiDld1drLSB6R380dWc9lUrbv9E1GpxCd/Y4ZzSJQ==} - dependencies: - '@storybook/global': 5.0.0 - dev: true - - /@storybook/codemod@8.1.10: - resolution: {integrity: sha512-HZ/vrseP/sHfbO2RZpImP5eeqOakJ0X31BIiD4uxDBIKGltMXhlPKHTI93O2YGR+vbB33otoTVRjE+ZpPmC6SA==} - dependencies: - '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - '@babel/types': 7.25.2 - '@storybook/csf': 0.1.11 - '@storybook/csf-tools': 8.1.10 - '@storybook/node-logger': 8.1.10 - '@storybook/types': 8.1.10 - '@types/cross-spawn': 6.0.6 - cross-spawn: 7.0.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.25.3) - lodash: 4.17.21 - prettier: 3.3.3 - recast: 0.23.9 - tiny-invariant: 1.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@storybook/components@7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1HN4p+MCI4Tx9VGZayZyqbW7SB7mXQLnS5fUbTE1gXaMYHpzFvcrRNROeV1LZPClJX6qx1jgE5ngZojhxGuxMA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.7 '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 + '@storybook/icons': 1.2.10(react-dom@18.3.1)(react@18.3.1) + '@types/lodash': 4.17.7 + color-convert: 2.0.1 + dequal: 2.0.3 + lodash: 4.17.21 + markdown-to-jsx: 7.4.7(react@18.3.1) memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - dev: true - - /@storybook/core-client@7.6.7: - resolution: {integrity: sha512-ZQivyEzYsZok8vRj5Qan7LbiMUnO89rueWzTnZs4IS6JIaQtjoPI1rGVq+h6qOCM6tki478hic8FS+zwGQ6q+w==} - dependencies: - '@storybook/client-logger': 7.6.7 - '@storybook/preview-api': 7.6.7 - dev: true - - /@storybook/core-common@7.6.7: - resolution: {integrity: sha512-F1fJnauVSPQtAlpicbN/O4XW38Ai8kf/IoU0Hgm9gEwurIk6MF5hiVLsaTI/5GUbrepMl9d9J+iIL4lHAT8IyA==} - dependencies: - '@storybook/core-events': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/types': 7.6.7 - '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.45 - '@types/node-fetch': 2.6.11 - '@types/pretty-hrtime': 1.0.3 - chalk: 4.1.2 - esbuild: 0.18.20 - esbuild-register: 3.6.0(esbuild@0.18.20) - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.2.0 - glob: 10.4.5 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 + polished: 4.3.1 + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1)(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + storybook: 8.2.9(@babel/preset-env@7.22.6) + telejson: 7.2.0 ts-dedent: 2.2.0 - transitivePeerDependencies: - - encoding - - supports-color + util-deprecate: 1.0.2 dev: true - /@storybook/core-common@8.1.10(prettier@3.3.3): - resolution: {integrity: sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==} + /@storybook/builder-vite@8.2.9(storybook@8.2.9)(typescript@5.4.3)(vite@5.2.11): + resolution: {integrity: sha512-MHD3ezRjKkJkOl0u7CRQoQD/LKd28YMWIcaz4YrV6ygokc0c3RFTlOefICQFgboc+1RwIUowxN1CJ2kJ7p4SWw==} peerDependencies: - prettier: ^2 || ^3 + '@preact/preset-vite': '*' + storybook: ^8.2.9 + typescript: '>= 4.3.x' + vite: ^4.0.0 || ^5.0.0 + vite-plugin-glimmerx: '*' peerDependenciesMeta: - prettier: + '@preact/preset-vite': + optional: true + typescript: + optional: true + vite-plugin-glimmerx: optional: true dependencies: - '@storybook/core-events': 8.1.10 - '@storybook/csf-tools': 8.1.10 - '@storybook/node-logger': 8.1.10 - '@storybook/types': 8.1.10 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - cross-spawn: 7.0.3 - esbuild: 0.20.2 - esbuild-register: 3.6.0(esbuild@0.20.2) - execa: 5.1.1 - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.2.0 - glob: 10.4.5 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - prettier: 3.3.3 - prettier-fallback: /prettier@3.3.3 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - semver: 7.6.3 - tempy: 3.1.0 - tiny-invariant: 1.3.3 + '@storybook/csf-plugin': 8.2.9(storybook@8.2.9) + '@types/find-cache-dir': 3.2.1 + browser-assert: 1.2.1 + es-module-lexer: 1.5.4 + express: 4.19.2 + find-cache-dir: 3.3.2 + fs-extra: 11.2.0 + magic-string: 0.30.10 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 - util: 0.12.5 + typescript: 5.4.3 + vite: 5.2.11(@types/node@17.0.45)(sass@1.71.1) transitivePeerDependencies: - - encoding - supports-color dev: true - /@storybook/core-events@6.5.16: - resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==} + /@storybook/channels@6.5.16: + resolution: {integrity: sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==} dependencies: core-js: 3.31.0 - dev: true - - /@storybook/core-events@7.6.7: - resolution: {integrity: sha512-KZ5d03c47pnr5/kY26pJtWq7WpmCPXLbgyjJZDSc+TTY153BdZksvlBXRHtqM1yj2UM6QsSyIuiJaADJNAbP2w==} - dependencies: ts-dedent: 2.2.0 + util-deprecate: 1.0.2 dev: true - /@storybook/core-events@8.1.10: - resolution: {integrity: sha512-aS4zsBVyJds74+rAW0IfTEjULDCQwXecVpQfv11B8/89/07s3bOPssGGoTtCTaN4pHbduywE6MxbmFvTmXOFCA==} + /@storybook/client-logger@6.5.16: + resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==} dependencies: - '@storybook/csf': 0.1.11 - ts-dedent: 2.2.0 + core-js: 3.31.0 + global: 4.4.0 dev: true - /@storybook/core-server@8.1.10(prettier@3.3.3)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==} + /@storybook/codemod@8.2.9: + resolution: {integrity: sha512-3yRx1lFMm1FXWVv+CKDiYM4gOQPEfpcZAQrjfcumxSDUrB091pnU1PeI92Prj3vCdi4+0oPNuN4yDGNUYTMP/A==} dependencies: - '@aw-web-design/x-default-browser': 1.4.126 - '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 - '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.1.10(prettier@3.3.3) - '@storybook/channels': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.3) - '@storybook/core-events': 8.1.10 + '@babel/core': 7.24.9 + '@babel/preset-env': 7.25.0(@babel/core@7.24.9) + '@babel/types': 7.25.0 + '@storybook/core': 8.2.9 '@storybook/csf': 0.1.11 - '@storybook/csf-tools': 8.1.10 - '@storybook/docs-mdx': 3.1.0-next.0 - '@storybook/global': 5.0.0 - '@storybook/manager': 8.1.10 - '@storybook/manager-api': 8.1.10(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 8.1.10 - '@storybook/preview-api': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.3.3) - '@storybook/types': 8.1.10 - '@types/detect-port': 1.3.5 - '@types/diff': 5.2.1 - '@types/node': 18.19.45 - '@types/pretty-hrtime': 1.0.3 - '@types/semver': 7.5.8 - better-opn: 3.0.2 - chalk: 4.1.2 - cli-table3: 0.6.5 - compression: 1.7.4 - detect-port: 1.6.1 - diff: 5.2.0 - express: 4.19.2 - fs-extra: 11.2.0 + '@types/cross-spawn': 6.0.6 + cross-spawn: 7.0.3 globby: 14.0.2 + jscodeshift: 0.15.2(@babel/preset-env@7.25.0) lodash: 4.17.21 - open: 8.4.2 - pretty-hrtime: 1.0.3 - prompts: 2.4.2 - read-pkg-up: 7.0.1 - semver: 7.6.3 - telejson: 7.2.0 + prettier: 3.3.3 + recast: 0.23.9 tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util: 0.12.5 - util-deprecate: 1.0.2 - watchpack: 2.4.2 - ws: 8.18.0 transitivePeerDependencies: - bufferutil - - encoding - - prettier - - react - - react-dom - supports-color - utf-8-validate dev: true - /@storybook/core-webpack@7.6.7: - resolution: {integrity: sha512-+UpjJc1fXs9KPIRbTzsBVDgsGQb+VlU3Z7w7XJM1M6ERQrvNAX3oj0iLdDK/AO1ks1qTg+meLFnVwpgKxcTTqg==} + /@storybook/components@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/core-common': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/types': 7.6.7 - '@types/node': 18.19.45 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - encoding - - supports-color + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/csf-plugin@7.6.7: - resolution: {integrity: sha512-YL7e6H4iVcsDI0UpgpdQX2IiGDrlbgaQMHQgDLWXmZyKxBcy0ONROAX5zoT1ml44EHkL60TMaG4f7SinviJCog==} + /@storybook/core-events@6.5.16: + resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==} dependencies: - '@storybook/csf-tools': 7.6.7 - unplugin: 1.12.2 - transitivePeerDependencies: - - supports-color + core-js: 3.31.0 dev: true - /@storybook/csf-tools@7.6.7: - resolution: {integrity: sha512-hyRbUGa2Uxvz3U09BjcOfMNf/5IYgRum1L6XszqK2O8tK9DGte1r6hArCIAcqiEmFMC40d0kalPzqu6WMNn7sg==} + /@storybook/core@8.2.9: + resolution: {integrity: sha512-wSER8FpA6Il/jPyDfKm3yohxDtuhisNPTonMVzd3ulNWR4zERLddyO3HrHJJwdqYHLNk4SBFzwMGpQZVws1y0w==} dependencies: - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 '@storybook/csf': 0.1.11 - '@storybook/types': 7.6.7 - fs-extra: 11.2.0 + '@types/express': 4.17.21 + '@types/node': 18.19.42 + browser-assert: 1.2.1 + esbuild: 0.21.3 + esbuild-register: 3.6.0(esbuild@0.21.3) + express: 4.19.2 + process: 0.11.10 recast: 0.23.9 - ts-dedent: 2.2.0 + util: 0.12.5 + ws: 8.18.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate dev: true - /@storybook/csf-tools@8.1.10: - resolution: {integrity: sha512-bm/J1jAJf1YaKhcXgOlsNN02sf8XvILXuVAvr9cFC3aFkxVoGbC2AKCss4cgXAd8EQxUNtyETkOcheB5mJ5IlA==} + /@storybook/csf-plugin@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-QQCFb3g12VQQEraDV1UfCmniGhQZKyT6oEt1Im6dzzPJj9NQk+6BjWoDep33CZhBHWoLryrMQd2fjuHxnFRNEA==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 - '@storybook/csf': 0.1.11 - '@storybook/types': 8.1.10 - fs-extra: 11.2.0 - recast: 0.23.9 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color + storybook: 8.2.9(@babel/preset-env@7.22.6) + unplugin: 1.12.0 dev: true - /@storybook/csf@0.1.11: - resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} + /@storybook/csf@0.0.2--canary.4566f4d.1: + resolution: {integrity: sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==} dependencies: - type-fest: 2.19.0 - dev: true - - /@storybook/docs-mdx@3.1.0-next.0: - resolution: {integrity: sha512-t4syFIeSyufieNovZbLruPt2DmRKpbwL4fERCZ1MifWDRIORCKLc4NCEHy+IqvIqd71/SJV2k4B51nF7vlJfmQ==} + lodash: 4.17.21 dev: true - /@storybook/docs-tools@7.6.7: - resolution: {integrity: sha512-enTO/xVjBqwUraGCYTwdyjMvug3OSAM7TPPUEJ3KPieJNwAzcYkww/qNDMIAR4S39zPMrkAmtS3STvVadlJz7g==} + /@storybook/csf@0.1.11: + resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} dependencies: - '@storybook/core-common': 7.6.7 - '@storybook/preview-api': 7.6.7 - '@storybook/types': 7.6.7 - '@types/doctrine': 0.0.3 - assert: 2.1.0 - doctrine: 3.0.0 - lodash: 4.17.21 - transitivePeerDependencies: - - encoding - - supports-color + type-fest: 2.19.0 dev: true /@storybook/global@5.0.0: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: true - /@storybook/icons@1.2.10(react-dom@18.2.0)(react@18.2.0): + /@storybook/icons@1.2.10(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) dev: true - /@storybook/manager-api@7.6.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3Wk/BvuGUlw/X05s57zZO7gJbzfUeE9Xe+CSIvuH7RY5jx9PYnNwqNlTXPXhJ5LPvwMthae7WJVn3SuBpbptoQ==} + /@storybook/instrumenter@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-+DNjTbsMzlDggsvkhRuOy7aGvQJ4oLCPgunP5Se/3yBjG+M2bYDa0EmC5jC2nwZ3ffpuvbzaVe7fWf7R8W9F2Q==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/channels': 7.6.7 - '@storybook/client-logger': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/router': 7.6.7 - '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - store2: 2.14.3 - telejson: 7.2.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - react - - react-dom + '@vitest/utils': 1.6.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) + util: 0.12.5 dev: true - /@storybook/manager-api@8.1.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9aZ+zoNrTo1BJskVmCKE/yqlBXmWaKVZh1W/+/xu3WL9wdm/tBlozRvQwegIZlRVvUOxtjOg28Vd2hySYL58zg==} + /@storybook/manager-api@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-mkYvUlfqDw+0WbxIynh5TcrotmoXlumEsOA4+45zuNea8XpEgj5cNBUCnmfEO6yQ85swqkS8YYbMpg1cZyu/Vw==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@storybook/channels': 8.1.10 - '@storybook/client-logger': 8.1.10 - '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.11 - '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.10(react-dom@18.2.0)(react@18.2.0) - '@storybook/router': 8.1.10 - '@storybook/theming': 8.1.10(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.1.10 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - store2: 2.14.3 - telejson: 7.2.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - react - - react-dom - dev: true - - /@storybook/manager@8.1.10: - resolution: {integrity: sha512-dQmRBfT4CABIPhv0kL25qKcQk2SiU5mIZ1DuVzckIbZW+iYEOAusyJ/0HExM9leCrymaW3BgZGlHbIXL7EvZtw==} + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/mdx2-csf@1.1.0: - resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} - dev: true - - /@storybook/node-logger@7.6.7: - resolution: {integrity: sha512-XLih8MxylkpZG9+8tgp8sPGc2tldlWF+DpuAkUv6J3Mc81mPyc3cQKQWZ7Hb+m1LpRGqKV4wyOQj1rC+leVMoQ==} - dev: true - - /@storybook/node-logger@8.1.10: - resolution: {integrity: sha512-djgbAROgGAvz/gr49egBxCHn1+rui57e76qa9aOMPzEBcxsGrnnKKp0uNdiNt4M7Xv6S2QHbJ2SfOlHhWmMeaA==} - dev: true - - /@storybook/postinstall@7.6.7: - resolution: {integrity: sha512-mrpRmcwFd9FcvtHPXA9x6vOrHLVCKScZX/Xx2QPWgAvB3W6uzP8G+8QNb1u834iToxrWeuszUMB9UXZK4Qj5yg==} + /@storybook/node-logger@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-j0jHjj1HtwBd69ZNd6txOaB5J5JQj9rnvtiDuvTKM/qXM6HxifL6LJ75b9pQOMKIx9XmlSIA9663zmkL4EsrJg==} + peerDependencies: + storybook: ^8.2.9 + dependencies: + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/preset-create-react-app@7.6.7(@babel/core@7.22.5)(react-refresh@0.14.0)(react-scripts@5.0.1)(typescript@5.4.3)(webpack@5.91.0): - resolution: {integrity: sha512-49m7yeyo1DiRoMqNk87UFg179C4+MYFPAy935K0WUwAlGKZ3/69ipYi8xYbtdAaBCXX5V86BI8HypEMLujWBVw==} + /@storybook/preset-create-react-app@8.2.9(react-refresh@0.14.0)(react-scripts@5.0.1)(storybook@8.2.9)(typescript@5.4.3)(webpack@5.91.0): + resolution: {integrity: sha512-ntCJ0vf9DQqkDtR3QuwNbSBH76xDudFYcd6V+2uyN3qCc3G3QpuxPngVpQzcbsct6BmTudGzf45SkLgAsnWrYw==} peerDependencies: - '@babel/core': '*' react-scripts: '>=5.0.0' + storybook: ^8.2.9 dependencies: - '@babel/core': 7.22.5 '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(webpack@5.91.0) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.3)(webpack@5.91.0) - '@storybook/types': 7.6.7 - '@types/babel__core': 7.20.5 '@types/semver': 7.5.8 pnp-webpack-plugin: 1.7.0(typescript@5.4.3) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.7.14)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 7.6.3 + storybook: 8.2.9(@babel/preset-env@7.22.6) transitivePeerDependencies: - '@types/webpack' - react-refresh @@ -8039,96 +6477,12 @@ packages: - webpack-plugin-serve dev: true - /@storybook/preset-react-webpack@7.6.7(@babel/core@7.22.5)(@swc/core@1.7.14)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): - resolution: {integrity: sha512-olKTivJmbyuiPIa99/4Gx3zxbBplyXgbNso9ZAXHnSf7rBD0irV5oRqk+gFlEFJDHkK9vnpWMenly7vzX8QCXQ==} - engines: {node: '>=16.0.0'} + /@storybook/preview-api@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==} peerDependencies: - '@babel/core': ^7.22.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - peerDependenciesMeta: - '@babel/core': - optional: true - typescript: - optional: true - dependencies: - '@babel/core': 7.22.5 - '@babel/preset-flow': 7.24.7(@babel/core@7.22.5) - '@babel/preset-react': 7.24.7(@babel/core@7.22.5) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.0)(webpack@5.91.0) - '@storybook/core-webpack': 7.6.7 - '@storybook/docs-tools': 7.6.7 - '@storybook/node-logger': 7.6.7 - '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.3)(webpack@5.91.0) - '@types/node': 18.19.45 - '@types/semver': 7.5.8 - babel-plugin-add-react-displayname: 0.0.5 - fs-extra: 11.2.0 - magic-string: 0.30.11 - react: 18.2.0 - react-docgen: 7.0.3 - react-dom: 18.2.0(react@18.2.0) - react-refresh: 0.14.0 - semver: 7.6.3 - typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - transitivePeerDependencies: - - '@swc/core' - - '@types/webpack' - - encoding - - esbuild - - sockjs-client - - supports-color - - type-fest - - uglify-js - - webpack-cli - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve - dev: true - - /@storybook/preview-api@7.6.7: - resolution: {integrity: sha512-ja85ItrT6q2TeBQ6n0CNoRi1R6L8yF2kkis9hVeTQHpwLdZyHUTRqqR5WmhtLqqQXcofyasBPOeJV06wuOhgRQ==} - dependencies: - '@storybook/channels': 7.6.7 - '@storybook/client-logger': 7.6.7 - '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.11 - '@storybook/global': 5.0.0 - '@storybook/types': 7.6.7 - '@types/qs': 6.9.15 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.13.0 - synchronous-promise: 2.0.17 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - - /@storybook/preview-api@8.1.10: - resolution: {integrity: sha512-0Gl8WHDtp/srrA5uBYXl7YbC8kFQA7IxVmwWN7dIS7HAXu63JZ6JfxaFcfy+kCBfZSBD7spFG4J0f5JXRDYbpg==} + storybook: ^8.2.9 dependencies: - '@storybook/channels': 8.1.10 - '@storybook/client-logger': 8.1.10 - '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.11 - '@storybook/global': 5.0.0 - '@storybook/types': 8.1.10 - '@types/qs': 6.9.15 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.13.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - - /@storybook/preview@7.6.7: - resolution: {integrity: sha512-/ddKIyT+6b8CKGJAma1wood4nwCAoi/E1olCqgpCmviMeUtAiMzgK0xzPwvq5Mxkz/cPeXVi8CQgaQZCa4yvNA==} + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.3)(webpack@5.91.0): @@ -8145,81 +6499,86 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.3) tslib: 2.6.3 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) transitivePeerDependencies: - supports-color dev: true - /@storybook/react-dom-shim@7.6.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-b/rmy/YzVrwP+ifyZG4yXVIdeFVdTbmziodHUlbrWiUNsqtTZZur9kqkKRUH/7ofji9MFe81nd0MRlcTNFomqg==} + /@storybook/react-dom-shim@8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9): + resolution: {integrity: sha512-uCAjSQEsNk8somVn1j/I1G9G/uUax5byHseIIV0Eq3gVXttGd7gaWcP+TDHtqIaenWHx4l+hCSuCesxiLWmx4Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true - /@storybook/react-webpack5@7.6.7(@babel/core@7.22.5)(@swc/core@1.7.14)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): - resolution: {integrity: sha512-/HK+v8vmeApN4WI5RyaDdhPhjFuEQfMQmvZLl+ewpamhJNMRr4nvrdvxOSfBw46zFubKgieuxEcW+VxHwvZ1og==} - engines: {node: '>=16.0.0'} + /@storybook/react-dom-shim@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9): + resolution: {integrity: sha512-uCAjSQEsNk8somVn1j/I1G9G/uUax5byHseIIV0Eq3gVXttGd7gaWcP+TDHtqIaenWHx4l+hCSuCesxiLWmx4Q==} peerDependencies: - '@babel/core': ^7.22.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - peerDependenciesMeta: - '@babel/core': - optional: true - typescript: - optional: true + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 dependencies: - '@babel/core': 7.22.5 - '@storybook/builder-webpack5': 7.6.7(esbuild@0.21.3)(typescript@5.4.3) - '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.22.5)(@swc/core@1.7.14)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@types/node': 18.19.45 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.2.9(@babel/preset-env@7.22.6) + dev: true + + /@storybook/react-vite@8.2.9(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(storybook@8.2.9)(typescript@5.4.3)(vite@5.2.11): + resolution: {integrity: sha512-Lw6FzcAaL7jX8Y8EsDzg32Lp0NdeNJZpj0LVwX5sLOQQA6w4i3PqlFINXDY28qCGo6wqKT+w44zhgwUcU5V0Ow==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 + vite: ^4.0.0 || ^5.0.0 + dependencies: + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.4.3)(vite@5.2.11) + '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@storybook/builder-vite': 8.2.9(storybook@8.2.9)(typescript@5.4.3)(vite@5.2.11) + '@storybook/react': 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3) + find-up: 5.0.0 + magic-string: 0.30.10 react: 18.2.0 + react-docgen: 7.0.3 react-dom: 18.2.0(react@18.2.0) - typescript: 5.4.3 + resolve: 1.22.8 + storybook: 8.2.9(@babel/preset-env@7.22.6) + tsconfig-paths: 4.2.0 + vite: 5.2.11(@types/node@17.0.45)(sass@1.71.1) transitivePeerDependencies: - - '@rspack/core' - - '@swc/core' - - '@swc/helpers' - - '@types/webpack' - - encoding - - esbuild - - sockjs-client + - '@preact/preset-vite' + - rollup - supports-color - - type-fest - - uglify-js - - webpack-cli - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve + - typescript + - vite-plugin-glimmerx dev: true - /@storybook/react@7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): - resolution: {integrity: sha512-uT9IBPDM1SQg6FglWqb7IemOJ1Z8kYB5rehIDEDToi0u5INihSY8rHd003TxG4Wx4REp6J+rfbDJO2aVui/gxA==} - engines: {node: '>=16.0.0'} + /@storybook/react@8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3): + resolution: {integrity: sha512-F2xZcTDxxjpbqt7eP8rEHmlksiKmE/qtPusEWEY4N4jK01kN+ncxSl8gkJpUohMEmAnVC5t/1v/sU57xv1DYpg==} + engines: {node: '>=18.0.0'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.9 + typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/client-logger': 7.6.7 - '@storybook/core-client': 7.6.7 - '@storybook/docs-tools': 7.6.7 + '@storybook/components': 8.2.9(storybook@8.2.9) '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.6.7 - '@storybook/react-dom-shim': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.7 + '@storybook/manager-api': 8.2.9(storybook@8.2.9) + '@storybook/preview-api': 8.2.9(storybook@8.2.9) + '@storybook/react-dom-shim': 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9) + '@storybook/theming': 8.2.9(storybook@8.2.9) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.45 + '@types/node': 18.19.42 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -8230,54 +6589,58 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-element-to-jsx-string: 15.0.0(react-dom@18.2.0)(react@18.2.0) + semver: 7.6.3 + storybook: 8.2.9(@babel/preset-env@7.22.6) ts-dedent: 2.2.0 type-fest: 2.19.0 typescript: 5.4.3 util-deprecate: 1.0.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@storybook/router@7.6.7: - resolution: {integrity: sha512-kkhNSdC3fXaQxILg8a26RKk4/ZbF/AUVrepUEyO8lwvbJ6LItTyWSE/4I9Ih4qV2Mjx33ncc8vLqM9p8r5qnMA==} - dependencies: - '@storybook/client-logger': 7.6.7 - memoizerific: 1.11.3 - qs: 6.13.0 dev: true - /@storybook/router@8.1.10: - resolution: {integrity: sha512-JDEgZ0vVDx0GLz+dKD+R1xqWwjqsCdA2F+s3/si7upHqkFRWU5ocextZ63oKsRnCoaeUh6OavAU4EdkrKiQtQw==} + /@storybook/router@6.5.16(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/client-logger': 8.1.10 + '@storybook/client-logger': 6.5.16 + core-js: 3.31.0 memoizerific: 1.11.3 - qs: 6.13.0 + qs: 6.12.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + regenerator-runtime: 0.13.11 dev: true - /@storybook/telemetry@8.1.10(prettier@3.3.3): - resolution: {integrity: sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==} + /@storybook/semver@7.3.2: + resolution: {integrity: sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==} + engines: {node: '>=10'} + hasBin: true dependencies: - '@storybook/client-logger': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.3) - '@storybook/csf-tools': 8.1.10 - chalk: 4.1.2 - detect-package-manager: 2.0.1 - fetch-retry: 5.0.6 - fs-extra: 11.2.0 - read-pkg-up: 7.0.1 - transitivePeerDependencies: - - encoding - - prettier - - supports-color + core-js: 3.31.0 + find-up: 4.1.0 dev: true - /@storybook/testing-library@0.2.2: - resolution: {integrity: sha512-L8sXFJUHmrlyU2BsWWZGuAjv39Jl1uAqUHdxmN42JY15M4+XCMjGlArdCCjDe1wpTSW6USYISA9axjZojgtvnw==} + /@storybook/test@8.2.9(@types/jest@27.5.2)(jest@27.5.1)(storybook@8.2.9)(vitest@1.6.0): + resolution: {integrity: sha512-O5JZ5S8UVVR7V0ru5AiF/uRO+srAVwji0Iik7ihy8gw3V91WQNMmJh2KkdhG0R1enYeBsYZlipOm+AW7f/MmOA==} + peerDependencies: + storybook: ^8.2.9 dependencies: - '@testing-library/dom': 9.3.4 - '@testing-library/user-event': 14.4.3(@testing-library/dom@9.3.4) - ts-dedent: 2.2.0 + '@storybook/csf': 0.1.11 + '@storybook/instrumenter': 8.2.9(storybook@8.2.9) + '@testing-library/dom': 10.1.0 + '@testing-library/jest-dom': 6.4.5(@types/jest@27.5.2)(jest@27.5.1)(vitest@1.6.0) + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) + '@vitest/expect': 1.6.0 + '@vitest/spy': 1.6.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) + util: 0.12.5 + transitivePeerDependencies: + - '@jest/globals' + - '@types/bun' + - '@types/jest' + - jest + - vitest dev: true /@storybook/theming@6.5.16(react-dom@18.2.0)(react@18.2.0): @@ -8294,54 +6657,12 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/theming@7.6.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+42rfC4rZtWVAXJ7JBUQKnQ6vWBXJVHZ9HtNUWzQLPR9sJSMmHnnSMV6y5tizGgZqmBnAIkuoYk+Tt6NfwUmSA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.2.0) - '@storybook/client-logger': 7.6.7 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@storybook/theming@8.1.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-W7mth4hwdTqWLneqYCyUnIEiDg4vSokoad8HEodPz6JC9XUPUX3Yi2W4W3xFvqrW4Z5RXfuJ53iG2HN+0AgaQw==} + /@storybook/theming@8.2.9(storybook@8.2.9): + resolution: {integrity: sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.2.0) - '@storybook/client-logger': 8.1.10 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@storybook/types@7.6.7: - resolution: {integrity: sha512-VcGwrI4AkBENxkoAUJ+Z7SyMK73hpoY0TTtw2J7tc05/xdiXhkQTX15Qa12IBWIkoXCyNrtaU+q7KR8Tjzi+uw==} - dependencies: - '@storybook/channels': 7.6.7 - '@types/babel__core': 7.20.5 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 - dev: true - - /@storybook/types@8.1.10: - resolution: {integrity: sha512-UJ97iqI+0Mk13I6ayd3TaBfSFBkWnEauwTnFMQe1dN/L3wTh8laOBaLa0Vr3utRSnt2b5hpcw/nq7azB/Gx4Yw==} + storybook: ^8.2.9 dependencies: - '@storybook/channels': 8.1.10 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 + storybook: 8.2.9(@babel/preset-env@7.22.6) dev: true /@surma/rollup-plugin-off-main-thread@2.2.3: @@ -8358,13 +6679,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-remove-jsx-attribute@5.4.0: @@ -8372,13 +6693,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1: @@ -8386,13 +6707,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1: @@ -8400,13 +6721,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-svg-dynamic-title@5.4.0: @@ -8414,13 +6735,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-svg-em-dimensions@5.4.0: @@ -8428,13 +6749,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-transform-react-native-svg@5.4.0: @@ -8442,13 +6763,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.2): + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.9): resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-plugin-transform-svg-component@5.5.0: @@ -8456,13 +6777,13 @@ packages: engines: {node: '>=10'} dev: true - /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2): + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.9): resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: false /@svgr/babel-preset@5.5.0: @@ -8479,21 +6800,21 @@ packages: '@svgr/babel-plugin-transform-svg-component': 5.5.0 dev: true - /@svgr/babel-preset@8.1.0(@babel/core@7.25.2): + /@svgr/babel-preset@8.1.0(@babel/core@7.24.9): resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.9) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.9) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.9) dev: false /@svgr/core@5.5.0: @@ -8511,8 +6832,8 @@ packages: resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} engines: {node: '>=14'} dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.9) camelcase: 6.3.0 cosmiconfig: 8.3.6(typescript@5.4.3) snake-case: 3.0.4 @@ -8525,14 +6846,14 @@ packages: resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.25.0 dev: true /@svgr/hast-util-to-babel-ast@8.0.0: resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} engines: {node: '>=14'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 entities: 4.5.0 dev: false @@ -8540,7 +6861,7 @@ packages: resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@svgr/babel-preset': 5.5.0 '@svgr/hast-util-to-babel-ast': 5.5.0 svg-parser: 2.0.4 @@ -8554,8 +6875,8 @@ packages: peerDependencies: '@svgr/core': '*' dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.9) '@svgr/core': 8.1.0(typescript@5.4.3) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 @@ -8576,10 +6897,10 @@ packages: resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.24.9) + '@babel/preset-env': 7.25.0(@babel/core@7.24.9) + '@babel/preset-react': 7.24.7(@babel/core@7.24.9) '@svgr/core': 5.5.0 '@svgr/plugin-jsx': 5.5.0 '@svgr/plugin-svgo': 5.5.0 @@ -8588,88 +6909,98 @@ packages: - supports-color dev: true - /@swc/core-darwin-arm64@1.7.14: - resolution: {integrity: sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==} + /@swc/core-darwin-arm64@1.7.3: + resolution: {integrity: sha512-CTkHa6MJdov9t41vuV2kmQIMu+Q19LrEHGIR/UiJYH06SC/sOu35ZZH8DyfLp9ZoaCn21gwgWd61ixOGQlwzTw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true - /@swc/core-darwin-x64@1.7.14: - resolution: {integrity: sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==} + /@swc/core-darwin-x64@1.7.3: + resolution: {integrity: sha512-mun623y6rCoZ2EFIYfIRqXYRFufJOopoYSJcxYhZUrfTpAvQ1zLngjQpWCUU1krggXR2U0PQj+ls0DfXUTraNg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true - /@swc/core-linux-arm-gnueabihf@1.7.14: - resolution: {integrity: sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==} + /@swc/core-linux-arm-gnueabihf@1.7.3: + resolution: {integrity: sha512-4Jz4UcIcvZNMp9qoHbBx35bo3rjt8hpYLPqnR4FFq6gkAsJIMFC56UhRZwdEQoDuYiOFMBnnrsg31Fyo6YQypA==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true + dev: false optional: true - /@swc/core-linux-arm64-gnu@1.7.14: - resolution: {integrity: sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==} + /@swc/core-linux-arm64-gnu@1.7.3: + resolution: {integrity: sha512-p+U/M/oqV7HC4erQ5TVWHhJU1984QD+wQBPxslAYq751bOQGm0R/mXK42GjugqjnR6yYrAiwKKbpq4iWVXNePA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true - /@swc/core-linux-arm64-musl@1.7.14: - resolution: {integrity: sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==} + /@swc/core-linux-arm64-musl@1.7.3: + resolution: {integrity: sha512-s6VzyaJwaRGTi2mz2h6Ywxfmgpkc69IxhuMzl+sl34plH0V0RgnZDm14HoCGIKIzRk4+a2EcBV1ZLAfWmPACQg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true - /@swc/core-linux-x64-gnu@1.7.14: - resolution: {integrity: sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==} + /@swc/core-linux-x64-gnu@1.7.3: + resolution: {integrity: sha512-IrFY48C356Z2dU2pjYg080yvMXzmSV3Lmm/Wna4cfcB1nkVLjWsuYwwRAk9CY7E19c+q8N1sMNggubAUDYoX2g==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true - /@swc/core-linux-x64-musl@1.7.14: - resolution: {integrity: sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==} + /@swc/core-linux-x64-musl@1.7.3: + resolution: {integrity: sha512-qoLgxBlBnnyUEDu5vmRQqX90h9jldU1JXI96e6eh2d1gJyKRA0oSK7xXmTzorv1fGHiHulv9qiJOUG+g6uzJWg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true - /@swc/core-win32-arm64-msvc@1.7.14: - resolution: {integrity: sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==} + /@swc/core-win32-arm64-msvc@1.7.3: + resolution: {integrity: sha512-OAd7jVVJ7nb0Ev80VAa1aeK+FldPeC4eZ35H4Qn6EICzIz0iqJo2T33qLKkSZiZEBKSoF4KcwrqYfkjLOp5qWg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true - /@swc/core-win32-ia32-msvc@1.7.14: - resolution: {integrity: sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==} + /@swc/core-win32-ia32-msvc@1.7.3: + resolution: {integrity: sha512-31+Le1NyfSnILFV9+AhxfFOG0DK0272MNhbIlbcv4w/iqpjkhaOnNQnLsYJD1Ow7lTX1MtIZzTjOhRlzSviRWg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true + dev: false optional: true - /@swc/core-win32-x64-msvc@1.7.14: - resolution: {integrity: sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==} + /@swc/core-win32-x64-msvc@1.7.3: + resolution: {integrity: sha512-jVQPbYrwcuueI4QB0fHC29SVrkFOBcfIspYDlgSoHnEz6tmLMqUy+txZUypY/ZH/KaK0HEY74JkzgbRC1S6LFQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true + dev: false optional: true - /@swc/core@1.7.14: - resolution: {integrity: sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==} + /@swc/core@1.7.3: + resolution: {integrity: sha512-HHAlbXjWI6Kl9JmmUW1LSygT1YbblXgj2UvvDzMkTBPRzYMhW6xchxdO8HbtMPtFYRt/EQq9u1z7j4ttRSrFsA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -8681,31 +7012,48 @@ packages: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.14 - '@swc/core-darwin-x64': 1.7.14 - '@swc/core-linux-arm-gnueabihf': 1.7.14 - '@swc/core-linux-arm64-gnu': 1.7.14 - '@swc/core-linux-arm64-musl': 1.7.14 - '@swc/core-linux-x64-gnu': 1.7.14 - '@swc/core-linux-x64-musl': 1.7.14 - '@swc/core-win32-arm64-msvc': 1.7.14 - '@swc/core-win32-ia32-msvc': 1.7.14 - '@swc/core-win32-x64-msvc': 1.7.14 + '@swc/core-darwin-arm64': 1.7.3 + '@swc/core-darwin-x64': 1.7.3 + '@swc/core-linux-arm-gnueabihf': 1.7.3 + '@swc/core-linux-arm64-gnu': 1.7.3 + '@swc/core-linux-arm64-musl': 1.7.3 + '@swc/core-linux-x64-gnu': 1.7.3 + '@swc/core-linux-x64-musl': 1.7.3 + '@swc/core-win32-arm64-msvc': 1.7.3 + '@swc/core-win32-ia32-msvc': 1.7.3 + '@swc/core-win32-x64-msvc': 1.7.3 + dev: false /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + dev: false /@swc/types@0.1.12: resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} dependencies: '@swc/counter': 0.1.3 + dev: false + + /@testing-library/dom@10.1.0: + resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} + engines: {node: '>=18'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.0 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true /@testing-library/dom@10.4.0: resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -8743,6 +7091,40 @@ packages: redent: 3.0.0 dev: true + /@testing-library/jest-dom@6.4.5(@types/jest@27.5.2)(jest@27.5.1)(vitest@1.6.0): + resolution: {integrity: sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/bun': latest + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/bun': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true + dependencies: + '@adobe/css-tools': 4.4.0 + '@babel/runtime': 7.25.0 + '@types/jest': 27.5.2 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + jest: 27.5.1 + lodash: 4.17.21 + redent: 3.0.0 + vitest: 1.6.0(@types/node@17.0.45)(sass@1.71.1) + dev: true + /@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==} engines: {node: '>=14'} @@ -8766,13 +7148,13 @@ packages: '@testing-library/dom': 10.4.0 dev: true - /@testing-library/user-event@14.4.3(@testing-library/dom@9.3.4): - resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} + /@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0): + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 10.1.0 dev: true /@tiptap/core@2.4.0(@tiptap/pm@2.0.3): @@ -8802,11 +7184,11 @@ packages: tippy.js: 6.3.7 dev: false - /@tiptap/extension-bubble-menu@2.6.4(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3): - resolution: {integrity: sha512-rtqV6d4qfoTBcXdiYYMpFi7cRhraVaLiGOrGCsHX0mNr4imDbwxVsge279X7IzyGhTvn+kprTTQG57s67Te5aA==} + /@tiptap/extension-bubble-menu@2.5.7(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3): + resolution: {integrity: sha512-gkuBuVGm5YPDRUG5Bscj6IYjDbzM7iJ2aXBGCM1rzuIiwT04twY51dKMIeseXa49uk/AQs/mqt3kGQjgSdSFAw==} peerDependencies: - '@tiptap/core': ^2.6.4 - '@tiptap/pm': ^2.6.4 + '@tiptap/core': ^2.5.7 + '@tiptap/pm': ^2.5.7 dependencies: '@tiptap/core': 2.4.0(@tiptap/pm@2.0.3) '@tiptap/pm': 2.0.3(@tiptap/core@2.4.0) @@ -8829,11 +7211,11 @@ packages: '@tiptap/core': 2.4.0(@tiptap/pm@2.0.3) dev: false - /@tiptap/extension-floating-menu@2.6.4(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3): - resolution: {integrity: sha512-oF5utOabYQ/a0Mpt3RS21NKtz2Kd8jnwHOw+4nMgis8Crb0eO5gizWqWMyktLU7oVFU/v8CKTqMBJOAmF4a+eA==} + /@tiptap/extension-floating-menu@2.5.7(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3): + resolution: {integrity: sha512-tQjNNx0gPb7GxMiozcQ4R1Tl1znmlx/ZkbCF9rqxTzPTD4fnCliqBQAWjtHl98+D8+yEJBcB2DimtP7ztkv2mg==} peerDependencies: - '@tiptap/core': ^2.6.4 - '@tiptap/pm': ^2.6.4 + '@tiptap/core': ^2.5.7 + '@tiptap/pm': ^2.5.7 dependencies: '@tiptap/core': 2.4.0(@tiptap/pm@2.0.3) '@tiptap/pm': 2.0.3(@tiptap/core@2.4.0) @@ -8974,14 +7356,14 @@ packages: prosemirror-keymap: 1.2.2 prosemirror-markdown: 1.13.0 prosemirror-menu: 1.2.4 - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-schema-basic: 1.2.3 prosemirror-schema-list: 1.4.1 prosemirror-state: 1.4.3 prosemirror-tables: 1.4.0 - prosemirror-trailing-node: 2.0.9(prosemirror-model@1.22.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.11) - prosemirror-transform: 1.10.0 - prosemirror-view: 1.33.11 + prosemirror-trailing-node: 2.0.9(prosemirror-model@1.22.2)(prosemirror-state@1.4.3)(prosemirror-view@1.33.9) + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.9 dev: false /@tiptap/react@2.4.0(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3)(react-dom@18.2.0)(react@18.2.0): @@ -8993,8 +7375,8 @@ packages: react-dom: ^17.0.0 || ^18.0.0 dependencies: '@tiptap/core': 2.4.0(@tiptap/pm@2.0.3) - '@tiptap/extension-bubble-menu': 2.6.4(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3) - '@tiptap/extension-floating-menu': 2.6.4(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3) + '@tiptap/extension-bubble-menu': 2.5.7(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3) + '@tiptap/extension-floating-menu': 2.5.7(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3) '@tiptap/pm': 2.0.3(@tiptap/core@2.4.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -9028,7 +7410,7 @@ packages: resolution: {integrity: sha512-Q/P6OGV8dJJs1BiraKFNBjtsMbz7B52mLCtgKh3syzujSREMx52RlsiOBQp8GujFMMiau+Mt25XKbVwtjHVi8Q==} dependencies: '@turf/helpers': 7.0.0 - '@turf/meta': 7.1.0 + '@turf/meta': 7.0.0 tslib: 2.6.3 dev: false @@ -9043,16 +7425,7 @@ packages: resolution: {integrity: sha512-IyXG5HAsn6IZLdAtQo7aWYccjU5WsV+uzIzhGaXrh/qTVylSYmRiWgLdiekHZVED9nv9r7D/EJUMOT4zyA6POA==} dependencies: '@turf/helpers': 7.0.0 - '@turf/meta': 7.1.0 - tslib: 2.6.3 - dev: false - - /@turf/bbox@7.1.0: - resolution: {integrity: sha512-PdWPz9tW86PD78vSZj2fiRaB8JhUHy6piSa/QXb83lucxPK+HTAdzlDQMTKj5okRCU8Ox/25IR2ep9T8NdopRA==} - dependencies: - '@turf/helpers': 7.1.0 - '@turf/meta': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/meta': 7.0.0 tslib: 2.6.3 dev: false @@ -9060,28 +7433,26 @@ packages: resolution: {integrity: sha512-viw3XjTtYVtkq5DkRDBQjXoi5QeEMhe4JHWXIfHMHs4o5F9B+lZ8+TtXWo18X5aAXknv6ib1z2syoaQdBpb5Xw==} dependencies: '@turf/bbox': 7.0.0 - '@turf/center': 7.1.0 + '@turf/center': 7.0.0 '@turf/helpers': 7.0.0 '@turf/jsts': 2.7.1 - '@turf/meta': 7.1.0 - '@turf/projection': 7.1.0 + '@turf/meta': 7.0.0 + '@turf/projection': 7.0.0 d3-geo: 1.7.1 dev: false - /@turf/center@7.1.0: - resolution: {integrity: sha512-p9AvBMwNZmRg65kU27cGKHAUQnEcdz8Y7f/i5DvaMfm4e8zmawr+hzPKXaUpUfiTyLs8Xt2W9vlOmNGyH+6X3w==} + /@turf/center@7.0.0: + resolution: {integrity: sha512-5RZia9uuWxz2oCyd1vsNkBeraBNdwCsIo4UGRQdyswBeLFVbRwIUa7M7+2z2D7B1YIgovuLIRVfk6FeWUQXDtQ==} dependencies: - '@turf/bbox': 7.1.0 - '@turf/helpers': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/bbox': 7.0.0 + '@turf/helpers': 7.0.0 tslib: 2.6.3 dev: false - /@turf/clone@7.1.0: - resolution: {integrity: sha512-5R9qeWvL7FDdBIbEemd0eCzOStr09oburDvJ1hRiPCFX6rPgzcZBQ0gDmZzoF4AFcNLb5IwknbLZjVLaUGWtFA==} + /@turf/clone@7.0.0: + resolution: {integrity: sha512-bQBx/wbQoGNtZzuHetLt44NMqOCnjSXcvTWm+LJ7YTmwrqZVAjISDhFxgawY/L+G3p+ya5WoxQwZWak80uYg3A==} dependencies: - '@turf/helpers': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/helpers': 7.0.0 tslib: 2.6.3 dev: false @@ -9092,42 +7463,32 @@ packages: tslib: 2.6.3 dev: false - /@turf/helpers@7.1.0: - resolution: {integrity: sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==} - dependencies: - '@types/geojson': 7946.0.14 - tslib: 2.6.3 - dev: false - /@turf/jsts@2.7.1: resolution: {integrity: sha512-+nwOKme/aUprsxnLSfr2LylV6eL6T1Tuln+4Hl92uwZ8FrmjDRCH5Bi1LJNVfWCiYgk8+5K+t2zDphWNTsIFDA==} dependencies: jsts: 2.7.1 dev: false - /@turf/meta@7.1.0: - resolution: {integrity: sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==} + /@turf/meta@7.0.0: + resolution: {integrity: sha512-cEXr13uFwhXq5mFBy0IK1U/QepE5qgk3zXpBYsla3lYV7cB83Vh+NNUR+r0/w/QoJqest1TG4H20F9tGYWPi/g==} dependencies: - '@turf/helpers': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/helpers': 7.0.0 dev: false - /@turf/projection@7.1.0: - resolution: {integrity: sha512-3wHluMoOvXnTe7dfi0kcluTyLNG5MwGsSsK5OA98vkkLH6a1xvItn8e9GcesuT07oB2km/bgefxYEIvjQG5JCA==} + /@turf/projection@7.0.0: + resolution: {integrity: sha512-EoPbZPZSDv0AJMfYhqnS455CVMYwPU78kHyQHeOnMR1Tc5z+TiImvyq55umhfecgpETzuDsjFkmeQ2phDKTmbA==} dependencies: - '@turf/clone': 7.1.0 - '@turf/helpers': 7.1.0 - '@turf/meta': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/clone': 7.0.0 + '@turf/helpers': 7.0.0 + '@turf/meta': 7.0.0 tslib: 2.6.3 dev: false - /@turf/union@7.1.0: - resolution: {integrity: sha512-7VI8jONdBg9qmbfNlLQycPr93l5aU9HGMgWI9M6pb4ERuU2+p8KgffCgs2NyMtP2HxPrKSybzj31g7bnbEKofQ==} + /@turf/union@7.0.0: + resolution: {integrity: sha512-NRnP0GJ3guzVh6D2KNZvqNLMkbZtPQ6X1U4czK9ETicLROzqq6wM/S8gHZJVoh0KxxK1RYDsKu0RGFVobVT2vA==} dependencies: - '@turf/helpers': 7.1.0 - '@turf/meta': 7.1.0 - '@types/geojson': 7946.0.14 + '@turf/helpers': 7.0.0 + '@turf/meta': 7.0.0 polygon-clipping: 0.15.7 tslib: 2.6.3 dev: false @@ -9139,8 +7500,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.0 + '@babel/types': 7.25.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -9148,18 +7509,18 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.0 + '@babel/types': 7.25.0 /@types/babel__traverse@7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -9203,18 +7564,6 @@ packages: '@types/ms': 0.7.34 dev: false - /@types/detect-port@1.3.5: - resolution: {integrity: sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==} - dev: true - - /@types/diff@5.2.1: - resolution: {integrity: sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g==} - dev: true - - /@types/doctrine@0.0.3: - resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==} - dev: true - /@types/doctrine@0.0.9: resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} dev: true @@ -9232,10 +7581,6 @@ packages: immutable: 3.7.6 dev: true - /@types/ejs@3.1.5: - resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} - dev: true - /@types/emscripten@1.39.13: resolution: {integrity: sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==} dev: true @@ -9300,6 +7645,14 @@ packages: /@types/geojson@7946.0.14: resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + dev: true + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 17.0.45 + dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -9309,9 +7662,15 @@ packages: /@types/hast@2.3.10: resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 dev: false + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + dependencies: + '@types/unist': 2.0.10 + dev: true + /@types/history@4.7.11: resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} dev: false @@ -9331,12 +7690,16 @@ packages: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: true - /@types/http-proxy@1.17.15: - resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: '@types/node': 17.0.45 dev: true + /@types/is-function@1.0.3: + resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==} + dev: true + /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -9381,12 +7744,12 @@ packages: /@types/lodash@4.17.7: resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} - dev: false + dev: true /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 dev: false /@types/mdx@2.0.13: @@ -9397,17 +7760,14 @@ packages: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} dev: true + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: false - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - dependencies: - '@types/node': 17.0.45 - form-data: 4.0.0 - dev: true - /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: @@ -9417,32 +7777,24 @@ packages: /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - /@types/node@18.19.45: - resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==} + /@types/node@18.19.42: + resolution: {integrity: sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.16.1: - resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} + /@types/node@20.14.13: + resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} dependencies: - undici-types: 6.19.8 + undici-types: 5.26.5 dev: false - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true - /@types/parse-json@4.0.2: resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - /@types/pretty-hrtime@1.0.3: - resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} - dev: true - /@types/promise-polyfill@6.0.6: resolution: {integrity: sha512-nKg0HIgdKRKfi5S3IlrpiNWqxiJOqYOV70jAtalqhvb5zJt5IoQMgy1QS3y5wsbUQPOCZHQxaPg+btBUVbA+hA==} dev: false @@ -9507,8 +7859,8 @@ packages: redux: 4.2.1 dev: false - /@types/react-transition-group@4.4.11: - resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} + /@types/react-transition-group@4.4.10: + resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: '@types/react': 18.2.45 @@ -9601,13 +7953,21 @@ packages: /@types/trusted-types@2.0.7: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - /@types/unist@2.0.11: - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + /@types/unist@3.0.3: + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + dev: true /@types/uuid@9.0.7: resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} dev: true + /@types/webpack-env@1.18.5: + resolution: {integrity: sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==} + dev: true + /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: @@ -9628,8 +7988,8 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@types/yargs@17.0.33: - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.3 dev: true @@ -9653,35 +8013,7 @@ packages: debug: 4.3.6 eslint: 8.44.0 graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.44.0)(typescript@5.4.3): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.44.0)(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.44.0)(typescript@5.4.3) - debug: 4.3.6 - eslint: 8.44.0 - graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 natural-compare-lite: 1.4.0 semver: 7.6.3 tsutils: 3.21.0(typescript@5.4.3) @@ -9723,26 +8055,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.44.0)(typescript@5.4.3): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) - debug: 4.3.6 - eslint: 8.44.0 - typescript: 5.4.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.58.0: resolution: {integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9869,7 +8181,6 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: false /@usulpro/color-picker@1.1.4(react@18.2.0): resolution: {integrity: sha512-+yTVjNAV+mvbEm0mtVGl7pishZS6gGiCMr9EXfRgvikrqbDdXJlW98I4IOPNdMBGciiz7eYkOyh7qAU3OP7b9A==} @@ -9904,7 +8215,7 @@ packages: peerDependencies: vite: ^4 || ^5 dependencies: - '@swc/core': 1.7.14 + '@swc/core': 1.7.3 vite: 5.2.11(@types/node@17.0.45)(sass@1.71.1) transitivePeerDependencies: - '@swc/helpers' @@ -9929,7 +8240,7 @@ packages: /@vitest/snapshot@1.6.0: resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} dependencies: - magic-string: 0.30.11 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -10102,16 +8413,6 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true - /@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.20.2): - resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==} - engines: {node: '>=14.15.0'} - peerDependencies: - esbuild: '>=0.10.0' - dependencies: - esbuild: 0.20.2 - tslib: 2.6.3 - dev: true - /@yarnpkg/fslib@2.10.3: resolution: {integrity: sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==} engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} @@ -10172,14 +8473,6 @@ packages: acorn: 8.12.1 dev: true - /acorn-import-attributes@1.9.5(acorn@8.12.1): - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.12.1 - dev: true - /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -10354,10 +8647,6 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 - /app-root-dir@1.0.2: - resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==} - dev: true - /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true @@ -10370,13 +8659,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-hidden@1.2.4: - resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} - engines: {node: '>=10'} - dependencies: - tslib: 2.6.3 - dev: true - /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -10525,17 +8807,6 @@ packages: /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true - - /assert@2.1.0: - resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} - dependencies: - call-bind: 1.0.7 - is-nan: 1.3.2 - object-is: 1.1.6 - object.assign: 4.1.5 - util: 0.12.5 - dev: true /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -10550,10 +8821,6 @@ packages: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true - /ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -10572,8 +8839,8 @@ packages: lodash: 4.17.21 dev: false - /async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: true /asynckit@0.4.0: @@ -10601,8 +8868,8 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.23.2 + caniuse-lite: 1.0.30001643 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 @@ -10610,19 +8877,19 @@ packages: postcss-value-parser: 4.2.0 dev: true - /autoprefixer@10.4.20(postcss@8.4.41): - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + /autoprefixer@10.4.16(postcss@8.4.40): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.23.2 + caniuse-lite: 1.0.30001643 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true @@ -10632,8 +8899,8 @@ packages: dependencies: possible-typed-array-names: 1.0.0 - /axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} + /axe-core@4.9.1: + resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} engines: {node: '>=4'} dev: true @@ -10647,23 +8914,17 @@ packages: - debug dev: false - /axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - dependencies: - deep-equal: 2.2.3 - dev: true - /axobject-query@3.2.4: resolution: {integrity: sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==} engines: {node: '>= 0.4'} dev: true - /babel-core@7.0.0-bridge.0(@babel/core@7.25.2): + /babel-core@7.0.0-bridge.0(@babel/core@7.24.9): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: true /babel-jest@26.6.3(@babel/core@7.22.5): @@ -10685,54 +8946,37 @@ packages: - supports-color dev: true - /babel-jest@27.5.1(@babel/core@7.25.2): + /babel-jest@27.5.1(@babel/core@7.24.9): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.25.2) + babel-preset-jest: 27.5.1(@babel/core@7.24.9) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - /babel-loader@8.3.0(@babel/core@7.25.2)(webpack@5.93.0): + /babel-loader@8.3.0(@babel/core@7.24.9)(webpack@5.91.0): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.91.0): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - dependencies: - '@babel/core': 7.25.2 - find-cache-dir: 4.0.0 - schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /babel-plugin-add-react-displayname@0.0.5: - resolution: {integrity: sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==} + webpack: 5.91.0(esbuild@0.21.3) dev: true /babel-plugin-emotion@10.2.2: @@ -10769,7 +9013,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 dev: true @@ -10779,14 +9023,14 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.4 + '@babel/types': 7.25.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 cosmiconfig: 6.0.0 resolve: 1.22.8 dev: true @@ -10795,16 +9039,16 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 cosmiconfig: 7.1.0 resolve: 1.22.8 - /babel-plugin-named-asset-import@0.3.8(@babel/core@7.25.2): + /babel-plugin-named-asset-import@0.3.8(@babel/core@7.24.9): resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} peerDependencies: '@babel/core': ^7.1.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 dev: true /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.22.5): @@ -10812,7 +9056,7 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.0 '@babel/core': 7.22.5 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.22.5) semver: 6.3.1 @@ -10820,27 +9064,27 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.9): resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.2 - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + '@babel/compat-data': 7.25.0 + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.9): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true @@ -10852,7 +9096,7 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.22.5) - core-js-compat: 3.38.0 + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true @@ -10868,13 +9112,13 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.9): resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true @@ -10887,8 +9131,8 @@ packages: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} dev: true - /babel-preset-current-node-syntax@1.1.0(@babel/core@7.22.5): - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.5): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -10896,8 +9140,6 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.22.5) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) @@ -10906,31 +9148,27 @@ packages: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) dev: true - /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.9): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) /babel-preset-jest@26.6.2(@babel/core@7.22.5): resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} @@ -10940,37 +9178,37 @@ packages: dependencies: '@babel/core': 7.22.5 babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.22.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) dev: true - /babel-preset-jest@27.5.1(@babel/core@7.25.2): + /babel-preset-jest@27.5.1(@babel/core@7.24.9): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) /babel-preset-react-app@10.0.1: resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.25.2) - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-runtime': 7.25.4(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/runtime': 7.25.4 + '@babel/core': 7.24.9 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.24.9) + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.9) + '@babel/preset-env': 7.25.0(@babel/core@7.24.9) + '@babel/preset-react': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.9) + '@babel/runtime': 7.25.0 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 transitivePeerDependencies: @@ -10997,7 +9235,6 @@ packages: /base16@1.0.0: resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} - dev: true /base64-arraybuffer@1.0.2: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} @@ -11026,13 +9263,6 @@ packages: resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=} dev: true - /better-opn@3.0.2: - resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} - engines: {node: '>=12.0.0'} - dependencies: - open: 8.4.2 - dev: true - /bfj@7.1.0: resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==} engines: {node: '>= 8.0.0'} @@ -11044,11 +9274,6 @@ packages: tryer: 1.0.1 dev: true - /big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - dev: true - /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true @@ -11107,13 +9332,6 @@ packages: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: false - /bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.52 - dev: true - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -11138,21 +9356,15 @@ packages: /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - /browserify-zlib@0.1.4: - resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} - dependencies: - pako: 0.2.9 - dev: true - - /browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + /browserslist@4.23.2: + resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.12 + caniuse-lite: 1.0.30001643 + electron-to-chromium: 1.5.2 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.0(browserslist@4.23.2) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -11188,7 +9400,7 @@ packages: dev: true /bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} engines: {node: '>= 0.8'} dev: true @@ -11250,7 +9462,7 @@ packages: camelcase: 8.0.0 map-obj: 5.0.0 quick-lru: 6.1.2 - type-fest: 4.25.0 + type-fest: 4.23.0 dev: false /camelcase@5.3.1: @@ -11269,23 +9481,23 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.23.2 + caniuse-lite: 1.0.30001643 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + /caniuse-lite@1.0.30001643: + resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} /canvg@3.0.10: resolution: {integrity: sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==} engines: {node: '>=10.0.0'} requiresBuild: true dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 '@types/raf': 3.4.3 - core-js: 3.38.1 + core-js: 3.31.0 raf: 3.4.1 regenerator-runtime: 0.13.11 rgbcolor: 1.0.1 @@ -11386,17 +9598,21 @@ packages: domutils: 3.1.0 dev: false - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + /cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.1.0 - htmlparser2: 8.0.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.8 + whatwg-mimetype: 4.0.0 dev: false /chokidar@3.6.0: @@ -11411,11 +9627,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.3 - - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true + fsevents: 2.3.3 /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -11470,17 +9682,6 @@ packages: engines: {node: '>=6'} dev: true - /cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.17 - timers-ext: 0.1.8 - dev: false - /cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -11493,15 +9694,6 @@ packages: engines: {node: '>=6'} dev: true - /cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - dev: true - /cli-truncate@2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} @@ -11699,10 +9891,6 @@ packages: engines: {node: '>= 12'} dev: true - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true - /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -11774,10 +9962,6 @@ packages: engines: {node: ^14.18.0 || >=16.10.0} dev: true - /constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - dev: true - /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -11829,20 +10013,14 @@ packages: yargs: 16.2.0 dev: false - /core-js-compat@3.38.0: - resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} - dependencies: - browserslist: 4.23.3 - dev: true - - /core-js-compat@3.38.1: - resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + /core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} dependencies: - browserslist: 4.23.3 + browserslist: 4.23.2 dev: true - /core-js-pure@3.38.0: - resolution: {integrity: sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==} + /core-js-pure@3.37.1: + resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} requiresBuild: true dev: true @@ -11856,10 +10034,6 @@ packages: resolution: {integrity: sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==} requiresBuild: true - /core-js@3.38.1: - resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} - requiresBuild: true - /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -11941,15 +10115,15 @@ packages: type-fest: 1.4.0 dev: true - /css-blank-pseudo@3.0.3(postcss@8.4.41): + /css-blank-pseudo@3.0.3(postcss@8.4.40): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true /css-box-model@1.2.1: @@ -11962,24 +10136,24 @@ packages: resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} dev: true - /css-declaration-sorter@6.4.1(postcss@8.4.41): + /css-declaration-sorter@6.4.1(postcss@8.4.40): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /css-has-pseudo@3.0.4(postcss@8.4.41): + /css-has-pseudo@3.0.4(postcss@8.4.40): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true /css-in-js-utils@3.1.0: @@ -12007,41 +10181,18 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) - postcss-modules-scope: 3.2.0(postcss@8.4.41) - postcss-modules-values: 4.0.0(postcss@8.4.41) - postcss-value-parser: 4.2.0 - semver: 7.6.3 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /css-loader@6.11.0(webpack@5.93.0): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) - postcss-modules-scope: 3.2.0(postcss@8.4.41) - postcss-modules-values: 4.0.0(postcss@8.4.41) + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.40) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.40) + postcss-modules-scope: 3.2.0(postcss@8.4.40) + postcss-modules-values: 4.0.0(postcss@8.4.40) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /css-minimizer-webpack-plugin@3.4.1(esbuild@0.21.3)(webpack@5.93.0): + /css-minimizer-webpack-plugin@3.4.1(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -12060,24 +10211,24 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.1.15(postcss@8.4.41) + cssnano: 5.1.15(postcss@8.4.40) esbuild: 0.21.3 jest-worker: 27.5.1 - postcss: 8.4.41 + postcss: 8.4.40 schema-utils: 4.2.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /css-prefers-color-scheme@6.0.3(postcss@8.4.41): + /css-prefers-color-scheme@6.0.3(postcss@8.4.40): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true /css-select-base-adapter@0.1.1: @@ -12131,7 +10282,7 @@ packages: /css-vendor@2.0.8: resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 is-in-browser: 1.1.3 dev: true @@ -12162,62 +10313,62 @@ packages: hasBin: true dev: true - /cssnano-preset-default@5.2.14(postcss@8.4.41): + /cssnano-preset-default@5.2.14(postcss@8.4.40): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.41) - cssnano-utils: 3.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-calc: 8.2.4(postcss@8.4.41) - postcss-colormin: 5.3.1(postcss@8.4.41) - postcss-convert-values: 5.1.3(postcss@8.4.41) - postcss-discard-comments: 5.1.2(postcss@8.4.41) - postcss-discard-duplicates: 5.1.0(postcss@8.4.41) - postcss-discard-empty: 5.1.1(postcss@8.4.41) - postcss-discard-overridden: 5.1.0(postcss@8.4.41) - postcss-merge-longhand: 5.1.7(postcss@8.4.41) - postcss-merge-rules: 5.1.4(postcss@8.4.41) - postcss-minify-font-values: 5.1.0(postcss@8.4.41) - postcss-minify-gradients: 5.1.1(postcss@8.4.41) - postcss-minify-params: 5.1.4(postcss@8.4.41) - postcss-minify-selectors: 5.2.1(postcss@8.4.41) - postcss-normalize-charset: 5.1.0(postcss@8.4.41) - postcss-normalize-display-values: 5.1.0(postcss@8.4.41) - postcss-normalize-positions: 5.1.1(postcss@8.4.41) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.41) - postcss-normalize-string: 5.1.0(postcss@8.4.41) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.41) - postcss-normalize-unicode: 5.1.1(postcss@8.4.41) - postcss-normalize-url: 5.1.0(postcss@8.4.41) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.41) - postcss-ordered-values: 5.1.3(postcss@8.4.41) - postcss-reduce-initial: 5.1.2(postcss@8.4.41) - postcss-reduce-transforms: 5.1.0(postcss@8.4.41) - postcss-svgo: 5.1.0(postcss@8.4.41) - postcss-unique-selectors: 5.1.1(postcss@8.4.41) - dev: true - - /cssnano-utils@3.1.0(postcss@8.4.41): + css-declaration-sorter: 6.4.1(postcss@8.4.40) + cssnano-utils: 3.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-calc: 8.2.4(postcss@8.4.40) + postcss-colormin: 5.3.1(postcss@8.4.40) + postcss-convert-values: 5.1.3(postcss@8.4.40) + postcss-discard-comments: 5.1.2(postcss@8.4.40) + postcss-discard-duplicates: 5.1.0(postcss@8.4.40) + postcss-discard-empty: 5.1.1(postcss@8.4.40) + postcss-discard-overridden: 5.1.0(postcss@8.4.40) + postcss-merge-longhand: 5.1.7(postcss@8.4.40) + postcss-merge-rules: 5.1.4(postcss@8.4.40) + postcss-minify-font-values: 5.1.0(postcss@8.4.40) + postcss-minify-gradients: 5.1.1(postcss@8.4.40) + postcss-minify-params: 5.1.4(postcss@8.4.40) + postcss-minify-selectors: 5.2.1(postcss@8.4.40) + postcss-normalize-charset: 5.1.0(postcss@8.4.40) + postcss-normalize-display-values: 5.1.0(postcss@8.4.40) + postcss-normalize-positions: 5.1.1(postcss@8.4.40) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.40) + postcss-normalize-string: 5.1.0(postcss@8.4.40) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.40) + postcss-normalize-unicode: 5.1.1(postcss@8.4.40) + postcss-normalize-url: 5.1.0(postcss@8.4.40) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.40) + postcss-ordered-values: 5.1.3(postcss@8.4.40) + postcss-reduce-initial: 5.1.2(postcss@8.4.40) + postcss-reduce-transforms: 5.1.0(postcss@8.4.40) + postcss-svgo: 5.1.0(postcss@8.4.40) + postcss-unique-selectors: 5.1.1(postcss@8.4.40) + dev: true + + /cssnano-utils@3.1.0(postcss@8.4.40): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /cssnano@5.1.15(postcss@8.4.41): + /cssnano@5.1.15(postcss@8.4.40): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.41) + cssnano-preset-default: 5.2.14(postcss@8.4.40) lilconfig: 2.1.0 - postcss: 8.4.41 + postcss: 8.4.40 yaml: 1.10.2 dev: true @@ -12261,23 +10412,10 @@ packages: d3-array: 1.2.4 dev: false - /d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - dev: false - /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - /data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -12421,14 +10559,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - /default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -12521,21 +10651,10 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - /detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - dev: true - /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true - /detect-package-manager@2.0.1: - resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==} - engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - /detect-port-alt@1.1.6: resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} engines: {node: '>= 4.2.1'} @@ -12547,17 +10666,6 @@ packages: - supports-color dev: true - /detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true - dependencies: - address: 1.2.2 - debug: 4.3.6 - transitivePeerDependencies: - - supports-color - dev: true - /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true @@ -12574,6 +10682,7 @@ packages: /diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + dev: false /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -12618,7 +10727,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.14.13 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -12629,6 +10738,10 @@ packages: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dev: true + /dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dev: true + /dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} dependencies: @@ -12638,7 +10751,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 csstype: 3.1.3 /dom-serializer@0.2.2: @@ -12746,11 +10859,6 @@ packages: no-case: 3.0.4 tslib: 2.6.3 - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dev: true - /dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} dev: true @@ -12763,20 +10871,12 @@ packages: /dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} + dev: false /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true - /duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-shift: 1.0.3 - dev: true - /earcut@2.2.4: resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} dev: false @@ -12807,8 +10907,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.12: - resolution: {integrity: sha512-tIhPkdlEoCL1Y+PToq3zRNehUaKp3wBX/sr7aclAWdIWjvqAe/Im/H0SiCM4c1Q8BLPHCdoJTol+ZblflydehA==} + /electron-to-chromium@1.5.2: + resolution: {integrity: sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==} /emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} @@ -12835,6 +10935,13 @@ packages: engines: {node: '>= 0.8'} dev: true + /encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -13022,42 +11129,6 @@ packages: is-symbol: 1.0.4 dev: true - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - dev: false - - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - dev: false - - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - ext: 1.7.0 - dev: false - - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - dev: false - /esbuild-jest@0.5.0(esbuild@0.21.3): resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} peerDependencies: @@ -13071,62 +11142,17 @@ packages: - supports-color dev: true - /esbuild-plugin-alias@0.2.1: - resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} - dev: true - - /esbuild-register@3.6.0(esbuild@0.18.20): - resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} - peerDependencies: - esbuild: '>=0.12 <1' - dependencies: - debug: 4.3.6 - esbuild: 0.18.20 - transitivePeerDependencies: - - supports-color - dev: true - - /esbuild-register@3.6.0(esbuild@0.20.2): + /esbuild-register@3.6.0(esbuild@0.21.3): resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: esbuild: '>=0.12 <1' dependencies: debug: 4.3.6 - esbuild: 0.20.2 + esbuild: 0.21.3 transitivePeerDependencies: - supports-color dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -13255,20 +11281,20 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.44.0) + '@babel/core': 7.24.9 + '@babel/eslint-parser': 7.25.1(@babel/core@7.24.9)(eslint@8.44.0) '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.44.0)(typescript@5.4.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.58.0)(eslint@8.44.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.58.0(eslint@8.44.0)(typescript@5.4.3) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.44.0 eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.44.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.44.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.58.0)(eslint@8.44.0) eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.44.0)(jest@27.5.1)(typescript@5.4.3) - eslint-plugin-jsx-a11y: 6.9.0(eslint@8.44.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.44.0) eslint-plugin-react: 7.35.0(eslint@8.44.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.44.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.44.0) eslint-plugin-testing-library: 5.11.1(eslint@8.44.0)(typescript@5.4.3) typescript: 5.4.3 transitivePeerDependencies: @@ -13284,13 +11310,13 @@ packages: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.15.1 + is-core-module: 2.15.0 resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -13311,7 +11337,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.58.0(eslint@8.44.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.44.0 eslint-import-resolver-node: 0.3.9 @@ -13334,7 +11360,7 @@ packages: string-natural-compare: 3.0.1 dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.44.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.58.0)(eslint@8.44.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -13344,7 +11370,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.58.0(eslint@8.44.0)(typescript@5.4.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -13353,9 +11379,9 @@ packages: doctrine: 2.1.0 eslint: 8.44.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0) hasown: 2.0.2 - is-core-module: 2.15.1 + is-core-module: 2.15.0 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -13382,7 +11408,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.44.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.58.0)(eslint@8.44.0)(typescript@5.4.3) '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.44.0)(typescript@5.4.3) eslint: 8.44.0 jest: 27.5.1 @@ -13402,7 +11428,7 @@ packages: array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.7 - axe-core: 4.10.0 + axe-core: 4.9.1 axobject-query: 3.2.4 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 @@ -13416,31 +11442,6 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-jsx-a11y@6.9.0(eslint@8.44.0): - resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - aria-query: 5.1.3 - array-includes: 3.1.8 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.10.0 - axobject-query: 3.1.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 8.44.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - safe-regex-test: 1.0.3 - string.prototype.includes: 2.0.0 - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.44.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} @@ -13450,15 +11451,6 @@ packages: eslint: 8.44.0 dev: true - /eslint-plugin-react-hooks@4.6.2(eslint@8.44.0): - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - dependencies: - eslint: 8.44.0 - dev: true - /eslint-plugin-react@7.35.0(eslint@8.44.0): resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==} engines: {node: '>=4'} @@ -13531,7 +11523,7 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint-webpack-plugin@3.2.0(eslint@8.44.0)(webpack@5.93.0): + /eslint-webpack-plugin@3.2.0(eslint@8.44.0)(webpack@5.91.0): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -13544,7 +11536,7 @@ packages: micromatch: 4.0.7 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /eslint@8.44.0: @@ -13576,7 +11568,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -13625,7 +11617,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -13642,16 +11634,6 @@ packages: - supports-color dev: false - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - dev: false - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -13698,7 +11680,6 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: false /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -13715,13 +11696,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - dev: false - /eventemitter3@3.1.2: resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} dev: false @@ -13863,12 +11837,6 @@ packages: - supports-color dev: true - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - dependencies: - type: 2.7.3 - dev: false - /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -13886,6 +11854,7 @@ packages: /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} @@ -13972,11 +11941,9 @@ packages: fbjs: 3.0.5 transitivePeerDependencies: - encoding - dev: true /fbjs-css-vars@1.0.2: resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - dev: true /fbjs@3.0.5: resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} @@ -13990,18 +11957,11 @@ packages: ua-parser-js: 1.0.38 transitivePeerDependencies: - encoding - dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + /fd-package-json@1.2.0: + resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - dev: false - - /fetch-retry@5.0.6: - resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} + walk-up-path: 3.0.1 dev: true /fflate@0.4.8: @@ -14014,7 +11974,7 @@ packages: dependencies: flat-cache: 3.2.0 - /file-loader@6.2.0(webpack@5.93.0): + /file-loader@6.2.0(webpack@5.91.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -14022,7 +11982,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /file-saver@2.0.5: @@ -14036,13 +11996,6 @@ packages: tslib: 2.6.3 dev: false - /file-system-cache@2.3.0: - resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - dependencies: - fs-extra: 11.1.1 - ramda: 0.29.0 - dev: true - /filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: @@ -14093,14 +12046,6 @@ packages: pkg-dir: 4.2.0 dev: true - /find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - dev: true - /find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} @@ -14125,14 +12070,6 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -14149,8 +12086,8 @@ packages: /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /flow-parser@0.244.0: - resolution: {integrity: sha512-Dkc88m5k8bx1VvHTO9HEJ7tvMcSb3Zvcv1PY4OHK7pHdtdY2aUjhmPy6vpjVJ2uUUOIybRlb91sXE8g4doChtA==} + /flow-parser@0.241.0: + resolution: {integrity: sha512-82yKXpz7iWknWFsognZUf5a6mBQLnVrYoYSU9Nbu7FTOpKlu3v9ehpiI9mYXuaIO3J0ojX1b83M/InXvld9HUw==} engines: {node: '>=0.4.0'} dev: true @@ -14164,7 +12101,6 @@ packages: react: 18.2.0 transitivePeerDependencies: - encoding - dev: true /follow-redirects@1.15.6: resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} @@ -14185,14 +12121,14 @@ packages: engines: {node: '>=0.10.0'} dev: true - /foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + /foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.44.0)(typescript@5.4.3)(webpack@5.93.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.44.0)(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -14221,30 +12157,7 @@ packages: semver: 7.6.3 tapable: 1.1.3 typescript: 5.4.3 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.3)(webpack@5.91.0): - resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} - engines: {node: '>=12.13.0', yarn: '>=1.0.0'} - peerDependencies: - typescript: '>3.6.0' - webpack: ^5.11.0 - dependencies: - '@babel/code-frame': 7.24.7 - chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 7.1.0 - deepmerge: 4.3.1 - fs-extra: 10.1.0 - memfs: 3.5.3 - minimatch: 3.1.2 - node-abort-controller: 3.1.1 - schema-utils: 3.3.0 - semver: 7.6.3 - tapable: 2.2.1 - typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /form-data@2.5.1: @@ -14272,13 +12185,6 @@ packages: combined-stream: 1.0.8 mime-types: 2.1.35 - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - /formik@2.4.5(react@18.2.0): resolution: {integrity: sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ==} peerDependencies: @@ -14315,10 +12221,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -14328,15 +12230,6 @@ packages: universalify: 2.0.1 dev: true - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -14434,16 +12327,6 @@ packages: has-symbols: 1.0.3 hasown: 2.0.2 - /get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} - dev: true - - /get-npm-tarball-url@2.1.0: - resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} - engines: {node: '>=12.17'} - dev: true - /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: true @@ -14496,8 +12379,8 @@ packages: tar: 6.2.1 dev: true - /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + /github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: true /glob-parent@5.1.2: @@ -14512,6 +12395,16 @@ packages: dependencies: is-glob: 4.0.3 + /glob-promise@4.2.2(glob@7.2.3): + resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} + engines: {node: '>=12'} + peerDependencies: + glob: ^7.1.6 + dependencies: + '@types/glob': 7.2.0 + glob: 7.2.3 + dev: true + /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true @@ -14520,7 +12413,7 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true dependencies: - foreground-child: 3.3.0 + foreground-child: 3.2.1 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 @@ -14586,7 +12479,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -14597,7 +12490,7 @@ packages: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -14612,8 +12505,8 @@ packages: dependencies: get-intrinsic: 1.2.4 - /govuk-frontend@5.5.0: - resolution: {integrity: sha512-lNSHCOzgk6LfgelcdtJxTLK1BX/cpjCUyEB3LnzliD9o9YQckNMsbj5+jSOs2RFy6XBJ/DJqxj2TKfjBCuzpyA==} + /govuk-frontend@5.4.1: + resolution: {integrity: sha512-Gmd8LV++TRh9OF6tA+9KQTpwvlsLcri7qRjViz9ji4YuwZvX+c9TD7tyE+dnJcqsQsJfhr9Fp38m3Hu3H7EIcQ==} engines: {node: '>= 4.2.0'} dev: false @@ -14655,18 +12548,6 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false - /gunzip-maybe@1.4.2: - resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} - hasBin: true - dependencies: - browserify-zlib: 0.1.4 - is-deflate: 1.0.0 - is-gzip: 1.0.0 - peek-stream: 1.1.3 - pumpify: 1.5.1 - through2: 2.0.5 - dev: true - /gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -14678,19 +12559,6 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.2 - dev: true - /harmony-reflect@1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: true @@ -14767,6 +12635,24 @@ packages: dependencies: function-bind: 1.1.2 + /hast-util-heading-rank@3.0.0: + resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + dependencies: + '@types/hast': 3.0.4 + dev: true + + /hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + dependencies: + '@types/hast': 3.0.4 + dev: true + + /hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + dependencies: + '@types/hast': 3.0.4 + dev: true + /hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: false @@ -14805,10 +12691,6 @@ packages: engines: {node: '>= 6.0.0'} dev: true - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: @@ -14857,7 +12739,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.6 + terser: 5.31.3 dev: true /html-tags@3.3.1: @@ -14882,27 +12764,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /html-webpack-plugin@5.6.0(webpack@5.93.0): - resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.2.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /html2canvas@1.4.1: @@ -14935,8 +12797,8 @@ packages: entities: 2.2.0 dev: true - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -15004,7 +12866,7 @@ packages: optional: true dependencies: '@types/express': 4.17.21 - '@types/http-proxy': 1.17.15 + '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -15067,15 +12929,14 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true - /icss-utils@5.1.0(postcss@8.4.41): + /icss-utils@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true /idb@7.1.1: @@ -15092,8 +12953,8 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} /immediate@3.0.6: @@ -15175,6 +13036,7 @@ packages: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 + dev: false /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -15186,9 +13048,9 @@ packages: engines: {node: '>= 10'} dev: true - /is-absolute-url@3.0.3: - resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} - engines: {node: '>=8'} + /is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /is-accessor-descriptor@1.0.1: @@ -15281,13 +13143,6 @@ packages: dependencies: hasown: 2.0.2 - /is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} - dependencies: - hasown: 2.0.2 - dev: true - /is-data-descriptor@1.0.1: resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} engines: {node: '>= 0.4'} @@ -15308,10 +13163,6 @@ packages: dependencies: has-tostringtag: 1.0.2 - /is-deflate@1.0.0: - resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} - dev: true - /is-descriptor@0.1.7: resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} engines: {node: '>= 0.4'} @@ -15372,6 +13223,10 @@ packages: engines: {node: '>=12'} dev: true + /is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: true + /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} @@ -15389,11 +13244,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-gzip@1.0.0: - resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-in-browser@1.1.3: resolution: {integrity: sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==} dev: true @@ -15411,14 +13261,6 @@ packages: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - dev: true - /is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -15479,10 +13321,6 @@ packages: /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false - /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -15609,6 +13447,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /isobject@4.0.0: + resolution: {integrity: sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==} + engines: {node: '>=0.10.0'} + dev: true + /istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -15617,8 +13460,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/core': 7.24.9 + '@babel/parser': 7.25.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -15676,7 +13519,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - async: 3.2.6 + async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -15758,10 +13601,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.24.9 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.25.2) + babel-jest: 27.5.1(@babel/core@7.24.9) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -15910,25 +13753,6 @@ packages: optionalDependencies: fsevents: 2.3.3 - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 - '@types/node': 17.0.45 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 - micromatch: 4.0.7 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /jest-jasmine2@27.5.1: resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -16059,11 +13883,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-resolve-dependencies@27.5.1: resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -16168,16 +13987,16 @@ packages: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.4 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.4 - '@babel/types': 7.25.4 + '@babel/core': 7.24.9 + '@babel/generator': 7.25.0 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.20.6 '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.9) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -16323,16 +14142,6 @@ packages: supports-color: 8.1.1 dev: true - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@types/node': 17.0.45 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - /jest@27.5.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -16407,20 +14216,20 @@ packages: '@babel/preset-env': optional: true dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/parser': 7.25.0 + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9) '@babel/preset-env': 7.22.6(@babel/core@7.22.5) - '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.24.6(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) + '@babel/preset-flow': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.9) + '@babel/register': 7.24.6(@babel/core@7.24.9) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.9) chalk: 4.1.2 - flow-parser: 0.244.0 + flow-parser: 0.241.0 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -16432,7 +14241,7 @@ packages: - supports-color dev: true - /jscodeshift@0.15.2(@babel/preset-env@7.25.3): + /jscodeshift@0.15.2(@babel/preset-env@7.25.0): resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} hasBin: true peerDependencies: @@ -16441,20 +14250,20 @@ packages: '@babel/preset-env': optional: true dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.24.6(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) + '@babel/core': 7.24.9 + '@babel/parser': 7.25.0 + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9) + '@babel/preset-env': 7.25.0(@babel/core@7.24.9) + '@babel/preset-flow': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.9) + '@babel/register': 7.24.6(@babel/core@7.24.9) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.9) chalk: 4.1.2 - flow-parser: 0.244.0 + flow-parser: 0.241.0 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -16564,22 +14373,18 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /json-schema-to-typescript@14.1.0: - resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} + /json-schema-to-typescript@15.0.1: + resolution: {integrity: sha512-gSSg20skxv+ZQqR8Y8itZt+2iYFGNgneuTgf/Va0TBw+zo6JsykDG1bqhkhMs5g/vIdqmZx55oQJLbgOEuxPJw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: - '@apidevtools/json-schema-ref-parser': 11.7.0 + '@apidevtools/json-schema-ref-parser': 11.6.4 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.7 - cli-color: 2.0.4 glob: 10.4.5 is-glob: 4.0.3 js-yaml: 4.1.0 lodash: 4.17.21 minimist: 1.2.8 - mkdirp: 3.0.1 - node-fetch: 3.3.2 prettier: 3.3.3 dev: false @@ -16642,7 +14447,7 @@ packages: fflate: 0.4.8 optionalDependencies: canvg: 3.0.10 - core-js: 3.38.1 + core-js: 3.31.0 dompurify: 2.5.6 html2canvas: 1.4.1 dev: false @@ -16650,7 +14455,7 @@ packages: /jss-plugin-camel-case@10.10.0: resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 hyphenate-style-name: 1.1.0 jss: 10.10.0 dev: true @@ -16658,21 +14463,21 @@ packages: /jss-plugin-default-unit@10.10.0: resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 jss: 10.10.0 dev: true /jss-plugin-global@10.10.0: resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 jss: 10.10.0 dev: true /jss-plugin-nested@10.10.0: resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 jss: 10.10.0 tiny-warning: 1.0.3 dev: true @@ -16680,14 +14485,14 @@ packages: /jss-plugin-props-sort@10.10.0: resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 jss: 10.10.0 dev: true /jss-plugin-rule-value-function@10.10.0: resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 jss: 10.10.0 tiny-warning: 1.0.3 dev: true @@ -16695,7 +14500,7 @@ packages: /jss-plugin-vendor-prefixer@10.10.0: resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 css-vendor: 2.0.8 jss: 10.10.0 dev: true @@ -16703,7 +14508,7 @@ packages: /jss@10.10.0: resolution: {integrity: sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 csstype: 3.1.3 is-in-browser: 1.1.3 tiny-warning: 1.0.3 @@ -16776,34 +14581,18 @@ packages: dev: true /language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} - dependencies: - language-subtag-registry: 0.3.23 - dev: true - - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + resolution: {integrity: sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=} dependencies: language-subtag-registry: 0.3.23 dev: true - /launch-editor@2.8.1: - resolution: {integrity: sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==} + /launch-editor@2.8.0: + resolution: {integrity: sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==} dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 dev: true - /lazy-universal-dotenv@4.0.0: - resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} - engines: {node: '>=14.0.0'} - dependencies: - app-root-dir: 1.0.2 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - dev: true - /lerc@3.0.0: resolution: {integrity: sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==} dev: false @@ -16898,26 +14687,26 @@ packages: wrap-ansi: 7.0.0 dev: true - /lit-element@4.1.0: - resolution: {integrity: sha512-gSejRUQJuMQjV2Z59KAS/D4iElUhwKpIyJvZ9w+DIagIQjfJnhR20h2Q5ddpzXGS+fF0tMZ/xEYGMnKmaI/iww==} + /lit-element@4.0.6: + resolution: {integrity: sha512-U4sdJ3CSQip7sLGZ/uJskO5hGiqtlpxndsLr6mt3IQIjheg93UKYeGQjWMRql1s/cXNOaRrCzC2FQwjIwSUqkg==} dependencies: - '@lit-labs/ssr-dom-shim': 1.2.1 + '@lit-labs/ssr-dom-shim': 1.2.0 '@lit/reactive-element': 2.0.4 - lit-html: 3.2.0 + lit-html: 3.1.4 dev: false - /lit-html@3.2.0: - resolution: {integrity: sha512-pwT/HwoxqI9FggTrYVarkBKFN9MlTUpLrDHubTmW4SrkL3kkqW5gxwbxMMUnbbRHBC0WTZnYHcjDSCM559VyfA==} + /lit-html@3.1.4: + resolution: {integrity: sha512-yKKO2uVv7zYFHlWMfZmqc+4hkmSbFp8jgjdZY9vvR9jr4J8fH6FUMXhr+ljfELgmjpvlF7Z1SJ5n5/Jeqtc9YA==} dependencies: '@types/trusted-types': 2.0.7 dev: false - /lit@3.2.0: - resolution: {integrity: sha512-s6tI33Lf6VpDu7u4YqsSX78D28bYQulM+VAzsGch4fx2H0eLZnJsUBsPWmGYSGoKDNbjtRv02rio1o+UdPVwvw==} + /lit@3.1.4: + resolution: {integrity: sha512-q6qKnKXHy2g1kjBaNfcoLlgbI3+aSOZ9Q4tiGa9bGYXq5RBXxkVTqTIVmP2VWMp29L4GyvCFm8ZQ2o56eUAMyA==} dependencies: '@lit/reactive-element': 2.0.4 - lit-element: 4.1.0 - lit-html: 3.2.0 + lit-element: 4.0.6 + lit-html: 3.1.4 dev: false /loader-runner@4.3.0: @@ -16967,19 +14756,11 @@ packages: dependencies: p-locate: 5.0.0 - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} /lodash.curry@4.1.1: resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} - dev: true /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -16987,7 +14768,6 @@ packages: /lodash.flow@3.5.0: resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} - dev: true /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -17050,12 +14830,6 @@ packages: dependencies: yallist: 3.1.1 - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - dependencies: - es5-ext: 0.10.64 - dev: false - /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -17066,8 +14840,15 @@ packages: dependencies: sourcemap-codec: 1.4.8 - /magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: '@jridgewell/sourcemap-codec': 1.5.0 dev: true @@ -17139,17 +14920,17 @@ packages: uc.micro: 2.1.0 dev: false - /markdown-to-jsx@7.5.0(react@18.2.0): - resolution: {integrity: sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==} + /markdown-to-jsx@7.4.7(react@18.3.1): + resolution: {integrity: sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' dependencies: - react: 18.2.0 + react: 18.3.1 dev: true - /marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + /marked@14.1.0: + resolution: {integrity: sha512-P93GikH/Pde0hM5TAXEd8I4JAYi8IB03n8qzW8Bh1BIEFpEyBoYxi/XWZA53LSpTeLBiMQOoSMj0u5E/tiVYTA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -17173,17 +14954,11 @@ packages: typed-function: 4.2.1 dev: false - /mdast-util-definitions@4.0.0: - resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} - dependencies: - unist-util-visit: 2.0.3 - dev: true - /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-visit: 4.1.2 dev: false @@ -17191,7 +14966,7 @@ packages: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -17219,10 +14994,6 @@ packages: unist-util-visit: 4.1.2 dev: false - /mdast-util-to-string@1.1.0: - resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} - dev: true - /mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: @@ -17256,20 +15027,6 @@ packages: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} dev: false - /memoizee@0.4.17: - resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} - engines: {node: '>=0.12'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.8 - dev: false - /memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} dependencies: @@ -17541,15 +15298,15 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.9.1(webpack@5.93.0): - resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==} + /mini-css-extract-plugin@2.9.0(webpack@5.91.0): + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /minimalistic-assert@1.0.1: @@ -17616,10 +15373,6 @@ packages: is-extendable: 1.0.1 dev: true - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true - /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -17632,12 +15385,6 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} dependencies: @@ -17772,10 +15519,6 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: false - /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true @@ -17786,10 +15529,6 @@ packages: lower-case: 2.0.2 tslib: 2.6.3 - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: true - /node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -17797,11 +15536,6 @@ packages: minimatch: 3.1.2 dev: true - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - /node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} dev: true @@ -17817,15 +15551,6 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -17852,15 +15577,6 @@ packages: abbrev: 2.0.0 dev: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} @@ -18041,16 +15757,16 @@ packages: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} dev: true - /ol-ext@4.0.22(ol@9.2.4): - resolution: {integrity: sha512-ljujTaJK3TX9jzjAqyDw9vl5WRGTMpNLfTS2GsFeKZqohByHb8OurvnOwGlJtQExnSHEjqyyqh9K57TYqxoRDA==} + /ol-ext@4.0.21(ol@9.2.4): + resolution: {integrity: sha512-xP4oVD5KBvJW6P9UQwmPcgqMDh6nzUrHjle4qhNqzRW7OkP02mObw5UMGAgz+uhIW8doJ3hYCwy2HcpU1JFpig==} peerDependencies: ol: '>= 5.3.0' dependencies: ol: 9.2.4 dev: false - /ol-mapbox-style@12.3.5(ol@9.2.4): - resolution: {integrity: sha512-1tdq+jpzJ7BuqCeRpNV5u90X369MXDbHKpPPt0BNpbzi+4UEJ2dJIrd3eFQV9VbqvZeEIioEjyK7qOqXsUZs8w==} + /ol-mapbox-style@12.3.4(ol@9.2.4): + resolution: {integrity: sha512-TxGJZw4hmvc6n5dHSyAE8ZpgALJ6hVG5Q9yl0j2Q1KmLS9iq4wMpb383TAitWiG86SvJV4oDkWMGkyyMLfVyew==} peerDependencies: ol: '*' dependencies: @@ -18181,13 +15897,6 @@ packages: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.1.1 - dev: true - /p-limit@5.0.0: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} @@ -18214,13 +15923,6 @@ packages: dependencies: p-limit: 3.1.0 - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -18243,10 +15945,6 @@ packages: /package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - /pako@0.2.9: - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - dev: true - /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: false @@ -18288,6 +15986,12 @@ packages: parse5: 7.1.2 dev: false + /parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + dependencies: + parse5: 7.1.2 + dev: false + /parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -18313,10 +16017,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true - /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -18326,11 +16026,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -18388,14 +16083,6 @@ packages: resolve-protobuf-schema: 2.1.0 dev: false - /peek-stream@1.1.3: - resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} - dependencies: - buffer-from: 1.1.2 - duplexify: 3.7.1 - through2: 2.0.5 - dev: true - /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} @@ -18439,20 +16126,6 @@ packages: dependencies: find-up: 4.1.0 - /pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} - dependencies: - find-up: 5.0.0 - dev: true - - /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - dependencies: - find-up: 6.3.0 - dev: true - /pkg-types@1.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} dependencies: @@ -18509,295 +16182,295 @@ packages: engines: {node: '>= 10.0.0'} dev: false - /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.41): + /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.40): resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-browser-comments@4.0.0(browserslist@4.23.3)(postcss@8.4.41): + /postcss-browser-comments@4.0.0(browserslist@4.23.2)(postcss@8.4.40): resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} engines: {node: '>=8'} peerDependencies: browserslist: '>=4' postcss: '>=8' dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.23.2 + postcss: 8.4.40 dev: true - /postcss-calc@8.2.4(postcss@8.4.41): + /postcss-calc@8.2.4(postcss@8.4.40): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 postcss-value-parser: 4.2.0 dev: true - /postcss-clamp@4.1.0(postcss@8.4.41): + /postcss-clamp@4.1.0(postcss@8.4.40): resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: postcss: ^8.4.6 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation@4.2.4(postcss@8.4.41): + /postcss-color-functional-notation@4.2.4(postcss@8.4.40): resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha@8.0.4(postcss@8.4.41): + /postcss-color-hex-alpha@8.0.4(postcss@8.4.40): resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple@7.1.1(postcss@8.4.41): + /postcss-color-rebeccapurple@7.1.1(postcss@8.4.40): resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@5.3.1(postcss@8.4.41): + /postcss-colormin@5.3.1(postcss@8.4.40): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 + browserslist: 4.23.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@5.1.3(postcss@8.4.41): + /postcss-convert-values@5.1.3(postcss@8.4.40): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.23.2 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@8.0.2(postcss@8.4.41): + /postcss-custom-media@8.0.2(postcss@8.4.40): resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties@12.1.11(postcss@8.4.41): + /postcss-custom-properties@12.1.11(postcss@8.4.40): resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors@6.0.3(postcss@8.4.41): + /postcss-custom-selectors@6.0.3(postcss@8.4.40): resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-dir-pseudo-class@6.0.5(postcss@8.4.41): + /postcss-dir-pseudo-class@6.0.5(postcss@8.4.40): resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-discard-comments@5.1.2(postcss@8.4.41): + /postcss-discard-comments@5.1.2(postcss@8.4.40): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-discard-duplicates@5.1.0(postcss@8.4.41): + /postcss-discard-duplicates@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-discard-empty@5.1.1(postcss@8.4.41): + /postcss-discard-empty@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-discard-overridden@5.1.0(postcss@8.4.41): + /postcss-discard-overridden@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-double-position-gradients@3.1.2(postcss@8.4.41): + /postcss-double-position-gradients@3.1.2(postcss@8.4.40): resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - postcss: 8.4.41 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-env-function@4.0.6(postcss@8.4.41): + /postcss-env-function@4.0.6(postcss@8.4.40): resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-flexbugs-fixes@5.0.2(postcss@8.4.41): + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.40): resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} peerDependencies: postcss: ^8.1.4 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-focus-visible@6.0.4(postcss@8.4.41): + /postcss-focus-visible@6.0.4(postcss@8.4.40): resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-focus-within@5.0.4(postcss@8.4.41): + /postcss-focus-within@5.0.4(postcss@8.4.40): resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-font-variant@5.0.0(postcss@8.4.41): + /postcss-font-variant@5.0.0(postcss@8.4.40): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-gap-properties@3.0.5(postcss@8.4.41): + /postcss-gap-properties@3.0.5(postcss@8.4.40): resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-image-set-function@4.0.7(postcss@8.4.41): + /postcss-image-set-function@4.0.7(postcss@8.4.40): resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-import@15.1.0(postcss@8.4.41): + /postcss-import@15.1.0(postcss@8.4.40): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: true - /postcss-initial@4.0.1(postcss@8.4.41): + /postcss-initial@4.0.1(postcss@8.4.40): resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-js@4.0.1(postcss@8.4.41): + /postcss-js@4.0.1(postcss@8.4.40): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-lab-function@4.2.1(postcss@8.4.41): + /postcss-lab-function@4.2.1(postcss@8.4.40): resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - postcss: 8.4.41 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-load-config@4.0.2(postcss@8.4.41): + /postcss-load-config@4.0.2(postcss@8.4.40): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -18810,11 +16483,11 @@ packages: optional: true dependencies: lilconfig: 3.1.2 - postcss: 8.4.41 + postcss: 8.4.40 yaml: 2.5.0 dev: true - /postcss-loader@6.2.1(postcss@8.4.41)(webpack@5.93.0): + /postcss-loader@6.2.1(postcss@8.4.40)(webpack@5.91.0): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -18823,251 +16496,251 @@ packages: dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.41 + postcss: 8.4.40 semver: 7.6.3 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /postcss-logical@5.0.4(postcss@8.4.41): + /postcss-logical@5.0.4(postcss@8.4.40): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-media-minmax@5.0.0(postcss@8.4.41): + /postcss-media-minmax@5.0.0(postcss@8.4.40): resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-merge-longhand@5.1.7(postcss@8.4.41): + /postcss-merge-longhand@5.1.7(postcss@8.4.40): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.41) + stylehacks: 5.1.1(postcss@8.4.40) dev: true - /postcss-merge-rules@5.1.4(postcss@8.4.41): + /postcss-merge-rules@5.1.4(postcss@8.4.40): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 + browserslist: 4.23.2 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + cssnano-utils: 3.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-minify-font-values@5.1.0(postcss@8.4.41): + /postcss-minify-font-values@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients@5.1.1(postcss@8.4.41): + /postcss-minify-gradients@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.41) - postcss: 8.4.41 + cssnano-utils: 3.1.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@5.1.4(postcss@8.4.41): + /postcss-minify-params@5.1.4(postcss@8.4.40): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 - cssnano-utils: 3.1.0(postcss@8.4.41) - postcss: 8.4.41 + browserslist: 4.23.2 + cssnano-utils: 3.1.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-selectors@5.2.1(postcss@8.4.41): + /postcss-minify-selectors@5.2.1(postcss@8.4.40): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-modules-extract-imports@3.1.0(postcss@8.4.41): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.40): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-modules-local-by-default@4.0.5(postcss@8.4.41): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.40): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.2.0(postcss@8.4.41): + /postcss-modules-scope@3.2.0(postcss@8.4.40): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.41): + /postcss-modules-values@4.0.0(postcss@8.4.40): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 dev: true - /postcss-nested@6.2.0(postcss@8.4.41): + /postcss-nested@6.2.0(postcss@8.4.40): resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-nesting@10.2.0(postcss@8.4.41): + /postcss-nesting@10.2.0(postcss@8.4.40): resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.2) - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.1.1) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-normalize-charset@5.1.0(postcss@8.4.41): + /postcss-normalize-charset@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-normalize-display-values@5.1.0(postcss@8.4.41): + /postcss-normalize-display-values@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions@5.1.1(postcss@8.4.41): + /postcss-normalize-positions@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.41): + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string@5.1.0(postcss@8.4.41): + /postcss-normalize-string@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.41): + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@5.1.1(postcss@8.4.41): + /postcss-normalize-unicode@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.23.2 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@5.1.0(postcss@8.4.41): + /postcss-normalize-url@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@5.1.1(postcss@8.4.41): + /postcss-normalize-whitespace@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize@10.0.1(browserslist@4.23.3)(postcss@8.4.41): + /postcss-normalize@10.0.1(browserslist@4.23.2)(postcss@8.4.40): resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} engines: {node: '>= 12'} peerDependencies: @@ -19075,194 +16748,194 @@ packages: postcss: '>= 8' dependencies: '@csstools/normalize.css': 12.1.1 - browserslist: 4.23.3 - postcss: 8.4.41 - postcss-browser-comments: 4.0.0(browserslist@4.23.3)(postcss@8.4.41) + browserslist: 4.23.2 + postcss: 8.4.40 + postcss-browser-comments: 4.0.0(browserslist@4.23.2)(postcss@8.4.40) sanitize.css: 13.0.0 dev: true - /postcss-opacity-percentage@1.1.3(postcss@8.4.41): + /postcss-opacity-percentage@1.1.3(postcss@8.4.40): resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-ordered-values@5.1.3(postcss@8.4.41): + /postcss-ordered-values@5.1.3(postcss@8.4.40): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.41) - postcss: 8.4.41 + cssnano-utils: 3.1.0(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-overflow-shorthand@3.0.4(postcss@8.4.41): + /postcss-overflow-shorthand@3.0.4(postcss@8.4.40): resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-page-break@3.0.4(postcss@8.4.41): + /postcss-page-break@3.0.4(postcss@8.4.40): resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-place@7.0.5(postcss@8.4.41): + /postcss-place@7.0.5(postcss@8.4.40): resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env@7.8.3(postcss@8.4.41): + /postcss-preset-env@7.8.3(postcss@8.4.40): resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.41) - '@csstools/postcss-color-function': 1.1.1(postcss@8.4.41) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.41) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.41) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.41) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.41) - '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.41) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.41) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.41) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.41) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.41) - '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.41) - '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.41) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.41) - autoprefixer: 10.4.20(postcss@8.4.41) - browserslist: 4.23.3 - css-blank-pseudo: 3.0.3(postcss@8.4.41) - css-has-pseudo: 3.0.4(postcss@8.4.41) - css-prefers-color-scheme: 6.0.3(postcss@8.4.41) + '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.40) + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.40) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.40) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.40) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.40) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.40) + '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.40) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.40) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.40) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.40) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.40) + '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.40) + '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.40) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.40) + autoprefixer: 10.4.16(postcss@8.4.40) + browserslist: 4.23.2 + css-blank-pseudo: 3.0.3(postcss@8.4.40) + css-has-pseudo: 3.0.4(postcss@8.4.40) + css-prefers-color-scheme: 6.0.3(postcss@8.4.40) cssdb: 7.11.2 - postcss: 8.4.41 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.41) - postcss-clamp: 4.1.0(postcss@8.4.41) - postcss-color-functional-notation: 4.2.4(postcss@8.4.41) - postcss-color-hex-alpha: 8.0.4(postcss@8.4.41) - postcss-color-rebeccapurple: 7.1.1(postcss@8.4.41) - postcss-custom-media: 8.0.2(postcss@8.4.41) - postcss-custom-properties: 12.1.11(postcss@8.4.41) - postcss-custom-selectors: 6.0.3(postcss@8.4.41) - postcss-dir-pseudo-class: 6.0.5(postcss@8.4.41) - postcss-double-position-gradients: 3.1.2(postcss@8.4.41) - postcss-env-function: 4.0.6(postcss@8.4.41) - postcss-focus-visible: 6.0.4(postcss@8.4.41) - postcss-focus-within: 5.0.4(postcss@8.4.41) - postcss-font-variant: 5.0.0(postcss@8.4.41) - postcss-gap-properties: 3.0.5(postcss@8.4.41) - postcss-image-set-function: 4.0.7(postcss@8.4.41) - postcss-initial: 4.0.1(postcss@8.4.41) - postcss-lab-function: 4.2.1(postcss@8.4.41) - postcss-logical: 5.0.4(postcss@8.4.41) - postcss-media-minmax: 5.0.0(postcss@8.4.41) - postcss-nesting: 10.2.0(postcss@8.4.41) - postcss-opacity-percentage: 1.1.3(postcss@8.4.41) - postcss-overflow-shorthand: 3.0.4(postcss@8.4.41) - postcss-page-break: 3.0.4(postcss@8.4.41) - postcss-place: 7.0.5(postcss@8.4.41) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.41) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.41) - postcss-selector-not: 6.0.1(postcss@8.4.41) + postcss: 8.4.40 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.40) + postcss-clamp: 4.1.0(postcss@8.4.40) + postcss-color-functional-notation: 4.2.4(postcss@8.4.40) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.40) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.40) + postcss-custom-media: 8.0.2(postcss@8.4.40) + postcss-custom-properties: 12.1.11(postcss@8.4.40) + postcss-custom-selectors: 6.0.3(postcss@8.4.40) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.40) + postcss-double-position-gradients: 3.1.2(postcss@8.4.40) + postcss-env-function: 4.0.6(postcss@8.4.40) + postcss-focus-visible: 6.0.4(postcss@8.4.40) + postcss-focus-within: 5.0.4(postcss@8.4.40) + postcss-font-variant: 5.0.0(postcss@8.4.40) + postcss-gap-properties: 3.0.5(postcss@8.4.40) + postcss-image-set-function: 4.0.7(postcss@8.4.40) + postcss-initial: 4.0.1(postcss@8.4.40) + postcss-lab-function: 4.2.1(postcss@8.4.40) + postcss-logical: 5.0.4(postcss@8.4.40) + postcss-media-minmax: 5.0.0(postcss@8.4.40) + postcss-nesting: 10.2.0(postcss@8.4.40) + postcss-opacity-percentage: 1.1.3(postcss@8.4.40) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.40) + postcss-page-break: 3.0.4(postcss@8.4.40) + postcss-place: 7.0.5(postcss@8.4.40) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.40) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.40) + postcss-selector-not: 6.0.1(postcss@8.4.40) postcss-value-parser: 4.2.0 dev: true - /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.41): + /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.40): resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-reduce-initial@5.1.2(postcss@8.4.41): + /postcss-reduce-initial@5.1.2(postcss@8.4.40): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 + browserslist: 4.23.2 caniuse-api: 3.0.0 - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-reduce-transforms@5.1.0(postcss@8.4.41): + /postcss-reduce-transforms@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 dev: true - /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.41): + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.40): resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 dev: true - /postcss-selector-not@6.0.1(postcss@8.4.41): + /postcss-selector-not@6.0.1(postcss@8.4.40): resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true - /postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + /postcss-selector-parser@6.1.1: + resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-svgo@5.1.0(postcss@8.4.41): + /postcss-svgo@5.1.0(postcss@8.4.40): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 + postcss: 8.4.40 postcss-value-parser: 4.2.0 svgo: 2.8.0 dev: true - /postcss-unique-selectors@5.1.1(postcss@8.4.41): + /postcss-unique-selectors@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true /postcss-value-parser@4.2.0: @@ -19278,8 +16951,8 @@ packages: source-map-js: 1.2.0 dev: true - /postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + /postcss@8.4.40: + resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -19350,11 +17023,6 @@ packages: react-is: 18.3.1 dev: true - /pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - dev: true - /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -19363,8 +17031,8 @@ packages: engines: {node: '>= 0.6.0'} dev: true - /proj4@2.12.0: - resolution: {integrity: sha512-cQJxcVX7+fmAhOxoazKgk76GkGYQ5HcLod4rdy2MizhPvLdrZQJThxsHoz/TjjdxUvTm/rbozMgE0q9mdXKWIw==} + /proj4@2.11.0: + resolution: {integrity: sha512-SasuTkAx8HnWQHfIyhkdUNJorSJqINHAN3EyMWYiQRVorftz9DHz650YraFgczwgtHOxqnfuDxSNv3C8MUnHeg==} dependencies: mgrs: 1.0.0 wkt-parser: 1.3.3 @@ -19378,7 +17046,6 @@ packages: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: asap: 2.0.6 - dev: true /promise@8.3.0: resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} @@ -19411,7 +17078,7 @@ packages: /prosemirror-changeset@2.2.1: resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==} dependencies: - prosemirror-transform: 1.10.0 + prosemirror-transform: 1.9.0 dev: false /prosemirror-collab@1.3.1: @@ -19423,34 +17090,34 @@ packages: /prosemirror-commands@1.6.0: resolution: {integrity: sha512-xn1U/g36OqXn2tn5nGmvnnimAj/g1pUx2ypJJIe8WkVX83WyJVC5LTARaxZa2AtQRwntu9Jc5zXs9gL9svp/mg==} dependencies: - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 + prosemirror-transform: 1.9.0 dev: false /prosemirror-dropcursor@1.8.1: resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==} dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 - prosemirror-view: 1.33.11 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.9 dev: false /prosemirror-gapcursor@1.3.2: resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-view: 1.33.11 + prosemirror-view: 1.33.9 dev: false /prosemirror-history@1.4.1: resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==} dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 - prosemirror-view: 1.33.11 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.9 rope-sequence: 1.3.4 dev: false @@ -19458,7 +17125,7 @@ packages: resolution: {integrity: sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==} dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 + prosemirror-transform: 1.9.0 dev: false /prosemirror-keymap@1.2.2: @@ -19472,7 +17139,7 @@ packages: resolution: {integrity: sha512-UziddX3ZYSYibgx8042hfGKmukq5Aljp2qoBiJRejD/8MH70siQNz5RB1TrdTPheqLMy4aCe4GYNF10/3lQS5g==} dependencies: markdown-it: 14.1.0 - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 dev: false /prosemirror-menu@1.2.4: @@ -19484,8 +17151,8 @@ packages: prosemirror-state: 1.4.3 dev: false - /prosemirror-model@1.22.3: - resolution: {integrity: sha512-V4XCysitErI+i0rKFILGt/xClnFJaohe/wrrlT2NSZ+zk8ggQfDH4x2wNK7Gm0Hp4CIoWizvXFP7L9KMaCuI0Q==} + /prosemirror-model@1.22.2: + resolution: {integrity: sha512-I4lS7HHIW47D0Xv/gWmi4iUWcQIDYaJKd8Hk4+lcSps+553FlQrhmxtItpEvTr75iAruhzVShVp6WUwsT6Boww==} dependencies: orderedmap: 2.1.1 dev: false @@ -19493,36 +17160,36 @@ packages: /prosemirror-schema-basic@1.2.3: resolution: {integrity: sha512-h+H0OQwZVqMon1PNn0AG9cTfx513zgIG2DY00eJ00Yvgb3UD+GQ/VlWW5rcaxacpCGT1Yx8nuhwXk4+QbXUfJA==} dependencies: - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 dev: false /prosemirror-schema-list@1.4.1: resolution: {integrity: sha512-jbDyaP/6AFfDfu70VzySsD75Om2t3sXTOdl5+31Wlxlg62td1haUpty/ybajSfJ1pkGadlOfwQq9kgW5IMo1Rg==} dependencies: - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 + prosemirror-transform: 1.9.0 dev: false /prosemirror-state@1.4.3: resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} dependencies: - prosemirror-model: 1.22.3 - prosemirror-transform: 1.10.0 - prosemirror-view: 1.33.11 + prosemirror-model: 1.22.2 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.9 dev: false /prosemirror-tables@1.4.0: resolution: {integrity: sha512-fxryZZkQG12fSCNuZDrYx6Xvo2rLYZTbKLRd8rglOPgNJGMKIS8uvTt6gGC38m7UCu/ENnXIP9pEz5uDaPc+cA==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 - prosemirror-view: 1.33.11 + prosemirror-transform: 1.9.0 + prosemirror-view: 1.33.9 dev: false - /prosemirror-trailing-node@2.0.9(prosemirror-model@1.22.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.11): + /prosemirror-trailing-node@2.0.9(prosemirror-model@1.22.2)(prosemirror-state@1.4.3)(prosemirror-view@1.33.9): resolution: {integrity: sha512-YvyIn3/UaLFlFKrlJB6cObvUhmwFNZVhy1Q8OpW/avoTbD/Y7H5EcjK4AZFKhmuS6/N6WkGgt7gWtBWDnmFvHg==} peerDependencies: prosemirror-model: ^1.22.1 @@ -19531,23 +17198,23 @@ packages: dependencies: '@remirror/core-constants': 2.0.2 escape-string-regexp: 4.0.0 - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-view: 1.33.11 + prosemirror-view: 1.33.9 dev: false - /prosemirror-transform@1.10.0: - resolution: {integrity: sha512-9UOgFSgN6Gj2ekQH5CTDJ8Rp/fnKR2IkYfGdzzp5zQMFsS4zDllLVx/+jGcX86YlACpG7UR5fwAXiWzxqWtBTg==} + /prosemirror-transform@1.9.0: + resolution: {integrity: sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==} dependencies: - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 dev: false - /prosemirror-view@1.33.11: - resolution: {integrity: sha512-K0z9oMf6EI2ZifS9yW8PUPjEw2o1ZoFAaNzvcuyfcjIzsU6pJMo3tk9r26MyzEsuGHXZwmKPEmrjgFd78biTGA==} + /prosemirror-view@1.33.9: + resolution: {integrity: sha512-xV1A0Vz9cIcEnwmMhKKFAOkfIp8XmJRnaZoPqNXrPS7EK5n11Ov8V76KhR0RsfQd/SIzmWY+bg+M44A2Lx/Nnw==} dependencies: - prosemirror-model: 1.22.3 + prosemirror-model: 1.22.2 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.0 + prosemirror-transform: 1.9.0 dev: false /proto-list@1.2.4: @@ -19573,13 +17240,6 @@ packages: /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - /pump@2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -19587,30 +17247,17 @@ packages: once: 1.4.0 dev: true - /pumpify@1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} - dependencies: - duplexify: 3.7.1 - inherits: 2.0.4 - pump: 2.0.1 - dev: true - /punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} dev: false - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true - /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /pure-color@1.3.0: resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} - dev: true /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -19628,8 +17275,8 @@ packages: side-channel: 1.0.6 dev: true - /qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + /qs@6.12.3: + resolution: {integrity: sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 @@ -19659,14 +17306,10 @@ packages: dependencies: performance-now: 2.1.0 - /rambda@9.3.0: - resolution: {integrity: sha512-cl/7DCCKNxmsbc0dXZTJTY08rvDdzLhVfE6kPBson1fWzDapLzv0RKSzjpmAqP53fkQqAvq05gpUVHTrUNsuxg==} + /rambda@9.2.1: + resolution: {integrity: sha512-6Dp+QQVQuAuhwBlbIvL2FjJVHCKF29W+n9ca/BMTVDqpj+Q7KKqUh7UAINEna8aaB2/oRvPuL5hViCTQARa70Q==} dev: false - /ramda@0.29.0: - resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} - dev: true - /ramda@0.29.1: resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} dev: false @@ -19702,7 +17345,7 @@ packages: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} engines: {node: '>=14'} dependencies: - core-js: 3.38.1 + core-js: 3.31.0 object-assign: 4.1.1 promise: 8.3.0 raf: 3.4.1 @@ -19716,7 +17359,7 @@ packages: peerDependencies: react-scripts: '>=2.1.3' dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.7.14)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 5.7.2 dev: true @@ -19727,7 +17370,6 @@ packages: lodash.curry: 4.1.1 lodash.flow: 3.5.0 pure-color: 1.3.0 - dev: true /react-beautiful-dnd@13.1.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==} @@ -19762,17 +17404,17 @@ packages: reactcss: 1.2.3(react@18.2.0) tinycolor2: 1.6.0 - /react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0): + /react-colorful@5.6.1(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) dev: true - /react-dev-utils@12.0.1(eslint@8.44.0)(typescript@5.4.3)(webpack@5.93.0): + /react-dev-utils@12.0.1(eslint@8.44.0)(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -19784,14 +17426,14 @@ packages: dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 - browserslist: 4.23.3 + browserslist: 4.23.2 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.44.0)(typescript@5.4.3)(webpack@5.93.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.44.0)(typescript@5.4.3)(webpack@5.91.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -19807,7 +17449,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.4.3 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) transitivePeerDependencies: - eslint - supports-color @@ -19857,9 +17499,9 @@ packages: resolution: {integrity: sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/core': 7.22.5 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/core': 7.24.9 + '@babel/traverse': 7.25.1 + '@babel/types': 7.25.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 @@ -19888,7 +17530,6 @@ packages: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 - dev: false /react-dropzone@14.2.3(react@18.2.0): resolution: {integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==} @@ -19987,7 +17628,6 @@ packages: /react-lifecycles-compat@3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - dev: true /react-markdown@8.0.7(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} @@ -19998,7 +17638,7 @@ packages: '@types/hast': 2.3.10 '@types/prop-types': 15.7.12 '@types/react': 18.2.45 - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 prop-types: 15.8.1 @@ -20075,42 +17715,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.6(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) - tslib: 2.6.3 - dev: true - - /react-remove-scroll@2.5.5(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.45)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) - tslib: 2.6.3 - use-callback-ref: 1.3.2(@types/react@18.2.45)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) - dev: true - - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.7.14)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -20122,55 +17727,55 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.25.2 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack-dev-server@4.15.2)(webpack@5.93.0) + '@babel/core': 7.24.9 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack-dev-server@4.15.2)(webpack@5.91.0) '@svgr/webpack': 5.5.0 - babel-jest: 27.5.1(@babel/core@7.25.2) - babel-loader: 8.3.0(@babel/core@7.25.2)(webpack@5.93.0) - babel-plugin-named-asset-import: 0.3.8(@babel/core@7.25.2) + babel-jest: 27.5.1(@babel/core@7.24.9) + babel-loader: 8.3.0(@babel/core@7.24.9)(webpack@5.91.0) + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.24.9) babel-preset-react-app: 10.0.1 bfj: 7.1.0 - browserslist: 4.23.3 + browserslist: 4.23.2 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.11.0(webpack@5.93.0) - css-minimizer-webpack-plugin: 3.4.1(esbuild@0.21.3)(webpack@5.93.0) + css-loader: 6.10.0(webpack@5.91.0) + css-minimizer-webpack-plugin: 3.4.1(esbuild@0.21.3)(webpack@5.91.0) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.44.0 eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.44.0)(jest@27.5.1)(typescript@5.4.3) - eslint-webpack-plugin: 3.2.0(eslint@8.44.0)(webpack@5.93.0) - file-loader: 6.2.0(webpack@5.93.0) + eslint-webpack-plugin: 3.2.0(eslint@8.44.0)(webpack@5.91.0) + file-loader: 6.2.0(webpack@5.91.0) fs-extra: 10.1.0 - html-webpack-plugin: 5.6.0(webpack@5.93.0) + html-webpack-plugin: 5.6.0(webpack@5.91.0) identity-obj-proxy: 3.0.0 jest: 27.5.1 jest-resolve: 27.5.1 jest-watch-typeahead: 1.1.0(jest@27.5.1) - mini-css-extract-plugin: 2.9.1(webpack@5.93.0) - postcss: 8.4.41 - postcss-flexbugs-fixes: 5.0.2(postcss@8.4.41) - postcss-loader: 6.2.1(postcss@8.4.41)(webpack@5.93.0) - postcss-normalize: 10.0.1(browserslist@4.23.3)(postcss@8.4.41) - postcss-preset-env: 7.8.3(postcss@8.4.41) + mini-css-extract-plugin: 2.9.0(webpack@5.91.0) + postcss: 8.4.40 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.40) + postcss-loader: 6.2.1(postcss@8.4.40)(webpack@5.91.0) + postcss-normalize: 10.0.1(browserslist@4.23.2)(postcss@8.4.40) + postcss-preset-env: 7.8.3(postcss@8.4.40) prompts: 2.4.2 react: 18.2.0 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.44.0)(typescript@5.4.3)(webpack@5.93.0) + react-dev-utils: 12.0.1(eslint@8.44.0)(typescript@5.4.3)(webpack@5.91.0) react-refresh: 0.11.0 resolve: 1.22.8 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(sass@1.71.1)(webpack@5.93.0) + sass-loader: 12.6.0(sass@1.71.1)(webpack@5.91.0) semver: 7.6.3 - source-map-loader: 3.0.2(webpack@5.93.0) - style-loader: 3.3.4(webpack@5.93.0) - tailwindcss: 3.4.10 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.93.0) + source-map-loader: 3.0.2(webpack@5.91.0) + style-loader: 3.3.4(webpack@5.91.0) + tailwindcss: 3.4.7 + terser-webpack-plugin: 5.3.10(esbuild@0.21.3)(webpack@5.91.0) typescript: 5.4.3 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - webpack-dev-server: 4.15.2(webpack@5.93.0) - webpack-manifest-plugin: 4.1.1(webpack@5.93.0) - workbox-webpack-plugin: 6.6.0(webpack@5.93.0) + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-server: 4.15.2(webpack@5.91.0) + webpack-manifest-plugin: 4.1.1(webpack@5.91.0) + workbox-webpack-plugin: 6.6.0(webpack@5.91.0) optionalDependencies: fsevents: 2.3.3 transitivePeerDependencies: @@ -20208,23 +17813,6 @@ packages: - webpack-plugin-serve dev: true - /react-style-singleton@2.2.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - get-nonce: 1.0.1 - invariant: 2.2.4 - react: 18.2.0 - tslib: 2.6.3 - dev: true - /react-textarea-autosize@6.1.0(react@18.2.0): resolution: {integrity: sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==} peerDependencies: @@ -20234,6 +17822,20 @@ packages: react: 18.2.0 dev: true + /react-textarea-autosize@8.3.4(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.25.0 + react: 18.2.0 + use-composed-ref: 1.3.0(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.45)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + /react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==} peerDependencies: @@ -20317,7 +17919,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 - dev: false /reactcss@1.2.3(react@18.2.0): resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} @@ -20333,25 +17934,6 @@ packages: pify: 2.3.0 dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - /readable-stream@1.0.34: resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: @@ -20432,7 +18014,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.4 - which-builtin-type: 1.1.4 + which-builtin-type: 1.1.3 dev: true /regenerate-unicode-properties@10.1.1: @@ -20502,19 +18084,30 @@ packages: jsesc: 0.5.0 dev: true - /relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} + /rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + dependencies: + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.2.0 + hast-util-is-element: 3.0.0 + is-absolute-url: 4.0.1 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 dev: true - /remark-external-links@8.0.0: - resolution: {integrity: sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==} + /rehype-slug@6.0.0: + resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} dependencies: - extend: 3.0.2 - is-absolute-url: 3.0.3 - mdast-util-definitions: 4.0.0 - space-separated-tokens: 1.1.5 - unist-util-visit: 2.0.3 + '@types/hast': 3.0.4 + github-slugger: 2.0.0 + hast-util-heading-rank: 3.0.0 + hast-util-to-string: 3.0.0 + unist-util-visit: 5.0.0 + dev: true + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} dev: true /remark-parse@10.0.2: @@ -20536,14 +18129,6 @@ packages: unified: 10.1.2 dev: false - /remark-slug@6.1.0: - resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==} - dependencies: - github-slugger: 1.5.0 - mdast-util-to-string: 1.1.0 - unist-util-visit: 2.0.3 - dev: true - /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true @@ -20612,7 +18197,7 @@ packages: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.4.41 + postcss: 8.4.40 source-map: 0.6.1 dev: true @@ -20637,7 +18222,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.15.1 + is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -20721,7 +18306,7 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.31.6 + terser: 5.31.3 dev: true /rollup@2.79.1: @@ -20768,7 +18353,7 @@ packages: /rtl-css-js@1.16.1: resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} dependencies: - '@babel/runtime': 7.25.4 + '@babel/runtime': 7.25.0 dev: false /run-parallel@1.2.0: @@ -20849,7 +18434,7 @@ packages: resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} dev: true - /sass-loader@12.6.0(sass@1.71.1)(webpack@5.93.0): + /sass-loader@12.6.0(sass@1.71.1)(webpack@5.91.0): resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -20871,7 +18456,7 @@ packages: klona: 2.0.6 neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /sass-loader@13.3.2(sass@1.71.1)(webpack@5.91.0): @@ -20895,7 +18480,7 @@ packages: dependencies: neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /sass@1.71.1: @@ -21289,7 +18874,7 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - /source-map-loader@3.0.2(webpack@5.93.0): + /source-map-loader@3.0.2(webpack@5.91.0): resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -21298,7 +18883,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /source-map-resolve@0.5.3: @@ -21351,35 +18936,8 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - /space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} - dev: true - /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false - - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 - dev: true - - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true - - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 - dev: true - - /spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - dev: true /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -21504,7 +19062,7 @@ packages: resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} dev: true - /storybook-addon-material-ui@0.9.0-alpha.24(@material-ui/core@4.12.4)(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): + /storybook-addon-material-ui@0.9.0-alpha.24(@material-ui/core@4.12.4)(@storybook/addons@6.5.16)(@storybook/react@8.2.9)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Z9S06K/x2lppPofINl/ZM6a1TzeGdy8NZfWwjzyQRXzVf4/ABanhv6Zib2i6ptCxa5AWahZ1HxBqOSQZS4YIHg==} peerDependencies: '@material-ui/core': ^1.0.0 || ^3.0.0 || ^4.0.0 @@ -21517,8 +19075,8 @@ packages: '@emotion/core': 10.3.1(react@18.2.0) '@emotion/styled': 10.3.0(@emotion/core@10.3.1)(react@18.2.0) '@material-ui/core': 4.12.4(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addons': 7.6.7(react-dom@18.2.0)(react@18.2.0) - '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + '@storybook/addons': 6.5.16(react-dom@18.2.0)(react@18.2.0) + '@storybook/react': 8.2.9(react-dom@18.2.0)(react@18.2.0)(storybook@8.2.9)(typescript@5.4.3) '@usulpro/color-picker': 1.1.4(react@18.2.0) global: 4.4.0 js-beautify: 1.15.1 @@ -21530,17 +19088,41 @@ packages: - supports-color dev: true - /storybook@8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HHlZibyc/QkcQj8aEnYnYwEl+ItNZ/uRbCdkvJzu/vIWYon5jUg30mHFIGZprgLSt27CxOs30Et8yT9z4VhwjA==} + /storybook@8.2.9(@babel/preset-env@7.22.6): + resolution: {integrity: sha512-S7Q/Yt4A+nu1O23rg39lQvBqL2Vg+PKXbserDWUR4LFJtfmoZ2xGO8oFIhJmvvhjUBvolw1q7QDeswPq2i0sGw==} hasBin: true dependencies: - '@storybook/cli': 8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0) + '@babel/core': 7.24.9 + '@babel/types': 7.25.0 + '@storybook/codemod': 8.2.9 + '@storybook/core': 8.2.9 + '@types/semver': 7.5.8 + '@yarnpkg/fslib': 2.10.3 + '@yarnpkg/libzip': 2.3.0 + chalk: 4.1.2 + commander: 6.2.1 + cross-spawn: 7.0.3 + detect-indent: 6.1.0 + envinfo: 7.13.0 + execa: 5.1.1 + fd-package-json: 1.2.0 + find-up: 5.0.0 + fs-extra: 11.2.0 + giget: 1.2.3 + globby: 14.0.2 + jscodeshift: 0.15.2(@babel/preset-env@7.22.6) + leven: 3.1.0 + ora: 5.4.1 + prettier: 3.3.3 + prompts: 2.4.2 + semver: 7.6.3 + strip-json-comments: 3.1.1 + tempy: 3.1.0 + tiny-invariant: 1.3.3 + ts-dedent: 2.2.0 transitivePeerDependencies: - '@babel/preset-env' - bufferutil - - encoding - - react - - react-dom - supports-color - utf-8-validate dev: true @@ -21552,10 +19134,6 @@ packages: readable-stream: 3.6.2 dev: true - /stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - dev: true - /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -21596,13 +19174,6 @@ packages: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - dev: true - /string.prototype.matchall@4.0.11: resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} @@ -21752,16 +19323,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /style-loader@3.3.4(webpack@5.93.0): - resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true /style-mod@4.1.2: @@ -21774,15 +19336,15 @@ packages: inline-style-parser: 0.1.1 dev: false - /stylehacks@5.1.1(postcss@8.4.41): + /stylehacks@5.1.1(postcss@8.4.40): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 - postcss-selector-parser: 6.1.2 + browserslist: 4.23.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 dev: true /stylis@4.2.0: @@ -21897,17 +19459,6 @@ packages: stable: 0.1.8 dev: true - /swc-loader@0.2.6(@swc/core@1.7.14)(webpack@5.91.0): - resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} - peerDependencies: - '@swc/core': ^1.2.147 - webpack: '>=2' - dependencies: - '@swc/core': 1.7.14 - '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - /swr@2.2.4(react@18.2.0): resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==} peerDependencies: @@ -21931,12 +19482,8 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - /synchronous-promise@2.0.17: - resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} - dev: true - - /tailwindcss@3.4.10: - resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==} + /tailwindcss@3.4.7: + resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -21954,12 +19501,12 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.1 - postcss: 8.4.41 - postcss-import: 15.1.0(postcss@8.4.41) - postcss-js: 4.0.1(postcss@8.4.41) - postcss-load-config: 4.0.2(postcss@8.4.41) - postcss-nested: 6.2.0(postcss@8.4.41) - postcss-selector-parser: 6.1.2 + postcss: 8.4.40 + postcss-import: 15.1.0(postcss@8.4.40) + postcss-js: 4.0.1(postcss@8.4.40) + postcss-load-config: 4.0.2(postcss@8.4.40) + postcss-nested: 6.2.0(postcss@8.4.40) + postcss-selector-parser: 6.1.1 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: @@ -21976,26 +19523,6 @@ packages: engines: {node: '>=6'} dev: true - /tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: true - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -22014,6 +19541,19 @@ packages: bintrees: 1.0.2 dev: false + /telejson@6.0.8: + resolution: {integrity: sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==} + dependencies: + '@types/is-function': 1.0.3 + global: 4.4.0 + is-function: 1.0.2 + is-regex: 1.1.4 + is-symbol: 1.0.4 + isobject: 4.0.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + dev: true + /telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} dependencies: @@ -22064,33 +19604,7 @@ packages: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser-webpack-plugin@5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.91.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.7.14 - esbuild: 0.21.3 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.6 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /terser-webpack-plugin@5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.93.0): + /terser-webpack-plugin@5.3.10(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -22107,17 +19621,16 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.7.14 esbuild: 0.21.3 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.6 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + terser: 5.31.3 + webpack: 5.91.0(esbuild@0.21.3) dev: true - /terser@5.31.6: - resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + /terser@5.31.3: + resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -22171,6 +19684,7 @@ packages: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 + dev: false /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -22180,14 +19694,6 @@ packages: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true - /timers-ext@0.1.8: - resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} - engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 - dev: false - /tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} dev: false @@ -22251,10 +19757,6 @@ packages: safe-regex: 1.1.0 dev: true - /tocbot@4.29.0: - resolution: {integrity: sha512-E+8+lceJpWHJYKq+qFHbi+gmFdXZeOAliHFdgiIAUo68cr8ClReXAx7h9e3TcDM0kw9PSnBn3GAZEpRmRLZ93g==} - dev: true - /toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} dev: false @@ -22477,16 +19979,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -22497,6 +19989,11 @@ packages: engines: {node: '>=12.20'} dev: true + /type-fest@4.23.0: + resolution: {integrity: sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==} + engines: {node: '>=16'} + dev: false + /type-fest@4.25.0: resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==} engines: {node: '>=16'} @@ -22510,10 +20007,6 @@ packages: mime-types: 2.1.35 dev: true - /type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - dev: false - /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -22575,7 +20068,6 @@ packages: /ua-parser-js@1.0.38: resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} - dev: true /uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} @@ -22585,14 +20077,6 @@ packages: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: true - /uglify-js@3.19.2: - resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -22608,10 +20092,10 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - /undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + /undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + engines: {node: '>=18.17'} dev: false /unicode-canonical-property-names-ecmascript@2.0.0: @@ -22645,7 +20129,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -22682,58 +20166,60 @@ packages: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} dev: false - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - dev: true - /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 dev: false + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.3 + dev: true + /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 dev: false /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 dev: false - /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - dev: true - /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 dev: false - /unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: - '@types/unist': 2.0.11 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 dev: true /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 dev: false + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: true + /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -22748,8 +20234,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /unplugin@1.12.2: - resolution: {integrity: sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==} + /unplugin@1.12.0: + resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.12.1 @@ -22773,19 +20259,20 @@ packages: /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} + dev: false /upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} dev: true - /update-browserslist-db@1.1.0(browserslist@4.23.3): + /update-browserslist-db@1.1.0(browserslist@4.23.2): resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.3 + browserslist: 4.23.2 escalade: 3.1.2 picocolors: 1.0.1 @@ -22805,19 +20292,18 @@ packages: querystringify: 2.2.0 requires-port: 1.0.0 - /url@0.11.4: - resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} - engines: {node: '>= 0.4'} + /use-composed-ref@1.3.0(react@18.2.0): + resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - punycode: 1.4.1 - qs: 6.13.0 - dev: true + react: 18.2.0 + dev: false - /use-callback-ref@1.3.2(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} - engines: {node: '>=10'} + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: '@types/react': @@ -22825,43 +20311,29 @@ packages: dependencies: '@types/react': 18.2.45 react: 18.2.0 - tslib: 2.6.3 - dev: true + dev: false - /use-memo-one@1.1.3(react@18.2.0): - resolution: {integrity: sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==} + /use-latest@1.2.1(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true dependencies: + '@types/react': 18.2.45 react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.45)(react@18.2.0) dev: false - /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} - peerDependencies: - react: 16.8.0 - 18 - react-dom: 16.8.0 - 18 - dependencies: - '@juggle/resize-observer': 3.4.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /use-sidecar@1.1.2(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} - engines: {node: '>=10'} + /use-memo-one@1.1.3(react@18.2.0): + resolution: {integrity: sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==} peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true dependencies: - '@types/react': 18.2.45 - detect-node-es: 1.1.0 react: 18.2.0 - tslib: 2.6.3 - dev: true + dev: false /use-sync-external-store@1.2.0(react@18.2.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} @@ -22955,13 +20427,6 @@ packages: convert-source-map: 1.9.0 source-map: 0.7.4 - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - /value-equal@1.0.1: resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} dev: false @@ -22974,14 +20439,14 @@ packages: /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 dev: false /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.11 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -23086,7 +20551,7 @@ packages: dependencies: '@types/node': 17.0.45 esbuild: 0.20.2 - postcss: 8.4.41 + postcss: 8.4.40 rollup: 4.21.0 sass: 1.71.1 optionalDependencies: @@ -23097,7 +20562,7 @@ packages: peerDependencies: vitest: '>=0.31.0' dependencies: - axe-core: 4.10.0 + axe-core: 4.9.1 chalk: 5.3.0 lodash-es: 4.17.21 vitest: 1.6.0(@types/node@17.0.45)(sass@1.71.1) @@ -23139,7 +20604,7 @@ packages: debug: 4.3.6 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.11 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.1 std-env: 3.7.0 @@ -23181,13 +20646,17 @@ packages: xml-name-validator: 4.0.0 dev: true + /walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + dev: true + /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 - /watchpack@2.4.2: - resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -23206,11 +20675,6 @@ packages: defaults: 1.0.4 dev: true - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false - /web-worker@1.3.0: resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} dev: false @@ -23235,7 +20699,7 @@ packages: engines: {node: '>=12'} dev: true - /webpack-dev-middleware@5.3.4(webpack@5.93.0): + /webpack-dev-middleware@5.3.4(webpack@5.91.0): resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -23246,27 +20710,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - dev: true - - /webpack-dev-middleware@6.1.3(webpack@5.91.0): - resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /webpack-dev-server@4.15.2(webpack@5.93.0): + /webpack-dev-server@4.15.2(webpack@5.91.0): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} hasBin: true @@ -23298,7 +20745,7 @@ packages: html-entities: 2.5.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21) ipaddr.js: 2.2.0 - launch-editor: 2.8.1 + launch-editor: 2.8.0 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -23307,8 +20754,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) - webpack-dev-middleware: 5.3.4(webpack@5.93.0) + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-middleware: 5.3.4(webpack@5.91.0) ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -23317,22 +20764,14 @@ packages: - utf-8-validate dev: true - /webpack-hot-middleware@2.26.1: - resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} - dependencies: - ansi-html-community: 0.0.8 - html-entities: 2.5.2 - strip-ansi: 6.0.1 - dev: true - - /webpack-manifest-plugin@4.1.1(webpack@5.93.0): + /webpack-manifest-plugin@4.1.1(webpack@5.91.0): resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} engines: {node: '>=12.22.0'} peerDependencies: webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) webpack-sources: 2.3.1 dev: true @@ -23356,15 +20795,11 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: true - /webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} dev: true - /webpack@5.91.0(@swc/core@1.7.14)(esbuild@0.21.3): + /webpack@5.91.0(esbuild@0.21.3): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true @@ -23381,47 +20816,7 @@ packages: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-assertions: 1.9.0(acorn@8.12.1) - browserslist: 4.23.3 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.91.0) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - - /webpack@5.93.0(@swc/core@1.7.14)(esbuild@0.21.3): - resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + browserslist: 4.23.2 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -23435,8 +20830,8 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.14)(esbuild@0.21.3)(webpack@5.93.0) - watchpack: 2.4.2 + terser-webpack-plugin: 5.3.10(esbuild@0.21.3)(webpack@5.91.0) + watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -23470,6 +20865,13 @@ packages: iconv-lite: 0.6.3 dev: true + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + dependencies: + iconv-lite: 0.6.3 + dev: false + /whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: true @@ -23482,6 +20884,11 @@ packages: engines: {node: '>=12'} dev: true + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: false + /whatwg-url@11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} @@ -23521,8 +20928,8 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 @@ -23593,10 +21000,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true - /workbox-background-sync@6.6.0: resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} dependencies: @@ -23615,10 +21018,10 @@ packages: engines: {node: '>=10.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) - '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/runtime': 7.25.4 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.2)(rollup@2.79.1) + '@babel/core': 7.24.9 + '@babel/preset-env': 7.25.0(@babel/core@7.24.9) + '@babel/runtime': 7.25.0 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.9)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -23738,7 +21141,7 @@ packages: resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} dev: true - /workbox-webpack-plugin@6.6.0(webpack@5.93.0): + /workbox-webpack-plugin@6.6.0(webpack@5.91.0): resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} engines: {node: '>=10.0.0'} peerDependencies: @@ -23747,7 +21150,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.93.0(@swc/core@1.7.14)(esbuild@0.21.3) + webpack: 5.91.0(esbuild@0.21.3) webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -23806,14 +21209,6 @@ packages: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true - /ws@7.5.10: resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} @@ -23868,6 +21263,7 @@ packages: /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: false /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -23983,9 +21379,9 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - github.com/theopensystemslab/planx-core/6b2fd26(@types/react@18.2.45): - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/6b2fd26} - id: github.com/theopensystemslab/planx-core/6b2fd26 + github.com/theopensystemslab/planx-core/d46df8d(@types/react@18.2.45): + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/d46df8d} + id: github.com/theopensystemslab/planx-core/d46df8d name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true @@ -23998,16 +21394,16 @@ packages: '@mui/material': 5.15.10(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.2.45)(react-dom@18.3.1)(react@18.3.1) ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 copyfiles: 2.4.1 docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.1 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.1.0 + json-schema-to-typescript: 15.0.1 lodash: 4.17.21 - marked: 13.0.3 + marked: 14.1.0 prettier: 3.3.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) diff --git a/editor.planx.uk/src/@planx/components/AddressInput/AddressInput.stories.tsx b/editor.planx.uk/src/@planx/components/AddressInput/AddressInput.stories.tsx index 2efcb00f72..b31290d9cf 100644 --- a/editor.planx.uk/src/@planx/components/AddressInput/AddressInput.stories.tsx +++ b/editor.planx.uk/src/@planx/components/AddressInput/AddressInput.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import React from "react"; import Wrapper from "../fixtures/Wrapper"; diff --git a/editor.planx.uk/src/@planx/components/Checklist/Editor.tsx b/editor.planx.uk/src/@planx/components/Checklist/Editor.tsx index 8cbaefa0d1..603a945170 100644 --- a/editor.planx.uk/src/@planx/components/Checklist/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/Checklist/Editor.tsx @@ -298,6 +298,20 @@ export const ChecklistComponent: React.FC = (props) => { ...parseMoreInformation(props.node?.data), }, onSubmit: ({ options, groupedOptions, ...values }) => { + const sourceOptions = options?.length + ? options + : groupedOptions?.flatMap((group) => group.children); + + const filteredOptions = (sourceOptions || []).filter( + (option) => option.data.text, + ); + + const processedOptions = filteredOptions.map((option) => ({ + ...option, + id: option.id || undefined, + type: TYPES.Answer, + })); + if (props.handleSubmit) { props.handleSubmit( { @@ -316,27 +330,7 @@ export const ChecklistComponent: React.FC = (props) => { }), }, }, - ...[ - options && - options - .filter((o) => o.data.text) - .map((o) => ({ - ...o, - id: o.id || undefined, - type: TYPES.Answer, - })), - ], - ...[ - groupedOptions && - groupedOptions - .flatMap((gr) => gr.children) - .filter((o) => o.data.text) - .map((o) => ({ - ...o, - id: o.id || undefined, - type: TYPES.Answer, - })), - ], + processedOptions, ); } else { alert(JSON.stringify({ type, ...values, options }, null, 2)); diff --git a/editor.planx.uk/src/@planx/components/ContactInput/ContactInput.stories.tsx b/editor.planx.uk/src/@planx/components/ContactInput/ContactInput.stories.tsx index f38531d3d8..9404cbc545 100644 --- a/editor.planx.uk/src/@planx/components/ContactInput/ContactInput.stories.tsx +++ b/editor.planx.uk/src/@planx/components/ContactInput/ContactInput.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import React from "react"; import Wrapper from "../fixtures/Wrapper"; diff --git a/editor.planx.uk/src/@planx/components/DateInput/DateInput.stories.tsx b/editor.planx.uk/src/@planx/components/DateInput/DateInput.stories.tsx index 316b7c7b64..0dfede9197 100644 --- a/editor.planx.uk/src/@planx/components/DateInput/DateInput.stories.tsx +++ b/editor.planx.uk/src/@planx/components/DateInput/DateInput.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import React from "react"; import Wrapper from "../fixtures/Wrapper"; diff --git a/editor.planx.uk/src/@planx/components/DrawBoundary/Public/Public.test.tsx b/editor.planx.uk/src/@planx/components/DrawBoundary/Public/Public.test.tsx index 5ede3b5c50..208926e51a 100644 --- a/editor.planx.uk/src/@planx/components/DrawBoundary/Public/Public.test.tsx +++ b/editor.planx.uk/src/@planx/components/DrawBoundary/Public/Public.test.tsx @@ -16,7 +16,9 @@ import { } from "../model"; import DrawBoundary from "./"; +vi.mock("axios"); const mockedAxios = vi.mocked(axios, true); + global.URL.createObjectURL = vi.fn(); const { getState, setState } = useStore; @@ -176,7 +178,7 @@ test("hides the upload option and allows user to continue without drawing if edi expect(handleSubmit).toHaveBeenCalledTimes(1); }); -test.skip("captures output data in the correct format when uploading a file", async () => { +test("captures output data in the correct format when uploading a file", async () => { // Setup file mock const mockFileName = "test.png"; const mockFileURL = @@ -238,7 +240,7 @@ test.skip("captures output data in the correct format when uploading a file", as ); }); -test.skip("appends to existing '_requestedFiles' value", async () => { +test("appends to existing '_requestedFiles' value", async () => { // Setup file mock const mockFileName = "test.png"; const mockFileURL = @@ -383,7 +385,7 @@ test.skip("appends to existing '_requestedFiles' value", async () => { expect(optional).toHaveLength(0); }); -test.skip("submits data based on the page you continue onwards from", async () => { +test("submits data based on the page you continue onwards from", async () => { // Context - Planning Officers don't want to receive both geojson and an uploaded locationPlan, only one or the other // But accessibility auditing says a user should always be able to toggle between draw & upload pages with their previous inputs retained diff --git a/editor.planx.uk/src/@planx/components/FileUploadAndLabel/Public.test.tsx b/editor.planx.uk/src/@planx/components/FileUploadAndLabel/Public.test.tsx index e2ef5eb227..82d5b3cd2b 100644 --- a/editor.planx.uk/src/@planx/components/FileUploadAndLabel/Public.test.tsx +++ b/editor.planx.uk/src/@planx/components/FileUploadAndLabel/Public.test.tsx @@ -16,6 +16,7 @@ import FileUploadAndLabelComponent from "./Public"; const { getState, setState } = useStore; let initialState: FullStore; +vi.mock("axios"); const mockedAxios = vi.mocked(axios, true); window.URL.createObjectURL = vi.fn(); @@ -193,7 +194,7 @@ describe("Modal trigger", () => { expect(fileTaggingModal).not.toBeInTheDocument(); }); - test.skip("Modal opens when a single file is uploaded", async () => { + test("Modal opens when a single file is uploaded", async () => { const { getByTestId, user } = setup( { expect(await within(fileTaggingModal).findByText("test.png")).toBeVisible(); }); - test.skip("Modal opens when multiple files are uploaded", async () => { + test("Modal opens when multiple files are uploaded", async () => { const { getByTestId, user } = setup( { ).toBeVisible(); }); - test.skip("Modal does not open when a file is deleted", async () => { + test("Modal does not open when a file is deleted", async () => { const { getByTestId, getByLabelText, queryByText, getByText, user } = setup( { }); describe("Adding tags and syncing state", () => { - test.skip("Can continue when all required file types are uploaded and tagged", async () => { + test("Can continue when all required file types are uploaded and tagged", async () => { const handleSubmit = vi.fn(); const { getAllByRole, @@ -411,7 +412,7 @@ describe("Adding tags and syncing state", () => { expect(handleSubmit).toHaveBeenCalledTimes(1); }); - test.skip("Cannot continue when only an optional file type is uploaded and tagged", async () => { + test("Cannot continue when only an optional file type is uploaded and tagged", async () => { const handleSubmit = vi.fn(); const { getAllByRole, @@ -494,7 +495,7 @@ describe("Adding tags and syncing state", () => { }); describe("Error handling", () => { - test.skip("An error is thrown if a user does not upload any files", async () => { + test("An error is thrown if a user does not upload any files", async () => { const handleSubmit = vi.fn(); const { getByTestId, getByRole, findByText, user } = setup( @@ -549,7 +550,7 @@ describe("Error handling", () => { expect(dropzoneError).toBeVisible(); }); - test.skip("An error is thrown in the modal if a user does not tag all files", async () => { + test("An error is thrown in the modal if a user does not tag all files", async () => { const { getByTestId, user } = setup( { expect(modalError).toBeVisible(); }); - test.skip("An error is thrown in the main component if a user does not tag all files", async () => { + test("An error is thrown in the main component if a user does not tag all files", async () => { const handleSubmit = vi.fn(); const { getAllByRole, getByTestId, getByRole, findByText, user } = setup( @@ -647,7 +648,7 @@ describe("Submitting data", () => { afterEach(() => waitFor(() => setState(initialState))); - it.skip("records the user uploaded files", async () => { + it("records the user uploaded files", async () => { const handleSubmit = vi.fn(); const { getByText, user } = setup( { ); }); - it.skip("records the full file type list presented to the user", async () => { + it("records the full file type list presented to the user", async () => { const handleSubmit = vi.fn(); const { getByText, user } = setup( { expect(requestedFiles.optional).toContain("utilityBill"); }); - it.skip("appends to the list of existing requested files", async () => { + it("appends to the list of existing requested files", async () => { // Mimic having passed file upload / file upload and label component const breadcrumbs: Breadcrumbs = { previousFileUploadComponent: { diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx index fed2d67c66..0c0c150221 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx @@ -552,7 +552,7 @@ describe("Form validation and error handling", () => { test( "an error displays if the maximum number of items is exceeded", - { timeout: 20000 }, + { timeout: 25000 }, async () => { const { user, getAllByTestId, getByTestId, getByText } = setup( , diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.tsx index 8783f7ed3c..cd1d4f3aae 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.tsx @@ -105,7 +105,9 @@ const InactiveListCard: React.FC<{ {schema.fields.map((field, j) => ( - + {field.data.title} diff --git a/editor.planx.uk/src/@planx/components/List/schemas/Trees.ts b/editor.planx.uk/src/@planx/components/List/schemas/Trees.ts index c7d9e47681..62b70f550b 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/Trees.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/Trees.ts @@ -68,8 +68,7 @@ export const Trees: Schema = { mapOptions: { basemap: "OSVectorTile", drawType: "Point", - drawColor: "#ff0000", - drawMany: true, + drawColor: "#66ff00", }, }, }, diff --git a/editor.planx.uk/src/@planx/components/List/utils.tsx b/editor.planx.uk/src/@planx/components/List/utils.tsx index cbc4cd9df3..36ccc47196 100644 --- a/editor.planx.uk/src/@planx/components/List/utils.tsx +++ b/editor.planx.uk/src/@planx/components/List/utils.tsx @@ -39,10 +39,38 @@ export function formatSchemaDisplayValue( } case "question": { const matchingOption = field.data.options.find( - (option) => option.data.text === value, + (option) => option.data.text === value || option.data.val === value, ); return matchingOption?.data.text; } + case "map": { + const feature = value[0]; + return ( + <> + {/* @ts-ignore */} + + + ); + } } } @@ -137,9 +165,9 @@ export function flatten>( return isObject && depth > 0 ? { - ...acc, - ...flatten(value, { depth: depth - 1, path: newPath, separator }), - } + ...acc, + ...flatten(value, { depth: depth - 1, path: newPath, separator }), + } : { ...acc, [newPath]: value }; }, {} as T); } diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/Editor.tsx b/editor.planx.uk/src/@planx/components/MapAndLabel/Editor.tsx index a01381d353..2c8b6e0c8f 100644 --- a/editor.planx.uk/src/@planx/components/MapAndLabel/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/Editor.tsx @@ -1,6 +1,7 @@ +import Box from "@mui/material/Box"; import FormControl from "@mui/material/FormControl"; +import MenuItem from "@mui/material/MenuItem"; import RadioGroup from "@mui/material/RadioGroup"; -import { useTheme } from "@mui/material/styles"; import { ComponentType as TYPES } from "@opensystemslab/planx-core/types"; import { useFormik } from "formik"; import React from "react"; @@ -9,23 +10,24 @@ import InputGroup from "ui/editor/InputGroup"; import ModalSection from "ui/editor/ModalSection"; import ModalSectionContent from "ui/editor/ModalSectionContent"; import RichTextInput from "ui/editor/RichTextInput"; +import SelectInput from "ui/editor/SelectInput"; import InputLabel from "ui/public/InputLabel"; import Input from "ui/shared/Input"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; -import InputRowLabel from "ui/shared/InputRowLabel"; import BasicRadio from "../shared/Radio/BasicRadio"; import { EditorProps, ICONS, InternalNotes, MoreInformation } from "../ui"; import { MapAndLabel, parseContent } from "./model"; +import { Trees } from "./schemas/Trees"; type Props = EditorProps; +export const SCHEMAS = [{ name: "Trees", schema: Trees }]; + export default MapAndLabelComponent; function MapAndLabelComponent(props: Props) { - const theme = useTheme(); - const formik = useFormik({ initialValues: parseContent(props.node?.data), onSubmit: (newValues) => { @@ -74,8 +76,68 @@ function MapAndLabelComponent(props: Props) { - + + + + + + {[ + { + id: "OSVectorTile", + title: "Ordnance Survey Vector Tiles", + }, + { + id: "MapboxSatellite", + title: "Mapbox Satellite imagery", + }, + ].map((type) => ( + ) => { + const target = e?.target as HTMLInputElement; + formik.setFieldValue("basemap", target.value); + }} + /> + ))} + + + + + + + + + {[ + { id: "Polygon", title: "Polygon" }, + { id: "Point", title: "Point" }, + ].map((type) => ( + ) => { + const target = e?.target as HTMLInputElement; + formik.setFieldValue("drawType", target.value); + }} + /> + ))} + + + + - - - - - {[ - { id: "Polygon", title: "Polygon" }, - { id: "Point", title: "Point" }, - ].map((type) => ( - ) => { - const target = e?.target as HTMLInputElement; - formik.setFieldValue("drawType", target.value); - }} - /> + + + + { + formik.setFieldValue("schemaName", e.target.value); + formik.setFieldValue( + "schema", + SCHEMAS.find( + ({ name }) => name === (e.target.value as string), + )?.schema, + ); + }} + > + {SCHEMAS.map(({ name }) => ( + + {name} + ))} - - - + + + ; - -type Boundary = Feature | undefined; - -function MapAndLabelComponent(props: Props) { - const teamSettings = useStore.getState().teamSettings; - const [boundary, setBoundary] = useState(); - const [area, setArea] = useState(0); - const [objectArray, setObjectArray] = useState([]); - const [mapValidationError, setMapValidationError] = useState(); - - let count = 0; - - useEffect(() => { - const geojsonChangeHandler = ({ detail: geojson }: any) => { - if (geojson["EPSG:3857"]?.features) { - count++; - - // only a single polygon can be drawn, so get first feature in geojson "FeatureCollection" - setBoundary(geojson["EPSG:3857"].features[0]); - setObjectArray([ - ...objectArray, - { number: count, feature: geojson["EPSG:3857"].features[0] }, - ]); - } else { - // if the user clicks 'reset' to erase the drawing, geojson will be empty object, so set boundary to undefined - setBoundary(undefined); - } - }; - - const map: any = document.getElementById("draw-boundary-map"); - map?.addEventListener("geojsonChange", geojsonChangeHandler); - - return function cleanup() { - map?.removeEventListener("geojsonChange", geojsonChangeHandler); - }; - }, [objectArray, boundary]); - - useEffect(() => { - if (!boundary && objectArray.length < 1) { - setMapValidationError("Add a boundary to the map"); - } - }, [boundary]); - - return ( - - - - - {/* @ts-ignore */} - - - - The property boundary you have drawn is{" "} - - {area?.toLocaleString("en-GB") ?? 0} m² - - - - - - - ); -} - -export default MapAndLabelComponent; diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/Public/Context.tsx b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/Context.tsx new file mode 100644 index 0000000000..87ce318cbb --- /dev/null +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/Context.tsx @@ -0,0 +1,141 @@ +import { useSchema } from "@planx/components/shared/Schema/hook"; +import { Schema, SchemaUserData } from "@planx/components/shared/Schema/model"; +import { + getPreviouslySubmittedData, + makeData, +} from "@planx/components/shared/utils"; +import { FormikProps, useFormik } from "formik"; +import { get } from "lodash"; +import React, { + createContext, + PropsWithChildren, + useContext, + useState, +} from "react"; + +import { PresentationalProps } from "."; + +interface MapAndLabelContextValue { + schema: Schema; + activeIndex: number; + editFeature: (index: number) => void; + formik: FormikProps; + validateAndSubmitForm: () => void; + isFeatureInvalid: (index: number) => boolean; + addFeature: () => void; + copyFeature: (sourceIndex: number, destinationIndex: number) => void; + mapAndLabelProps: PresentationalProps; + errors: { + min: boolean; + max: boolean; + }; +} + +type MapAndLabelProviderProps = PropsWithChildren; + +const MapAndLabelContext = createContext( + undefined, +); + +export const MapAndLabelProvider: React.FC = ( + props, +) => { + const { schema, children, handleSubmit } = props; + const { formikConfig, initialValues } = useSchema({ + schema, + previousValues: getPreviouslySubmittedData(props), + }); + + const formik = useFormik({ + ...formikConfig, + // The user interactions are map driven - start with no values added + initialValues: { schemaData: [] }, + onSubmit: (values) => { + const defaultPassportData = makeData(props, values.schemaData)?.["data"]; + + handleSubmit?.({ + data: { + ...defaultPassportData, + }, + }); + }, + }); + + const [activeIndex, setActiveIndex] = useState( + props.previouslySubmittedData ? -1 : 0, + ); + + const [minError, setMinError] = useState(false); + const [maxError, setMaxError] = useState(false); + + const resetErrors = () => { + setMinError(false); + setMaxError(false); + }; + + const validateAndSubmitForm = () => { + // Manually validate minimum number of features + if (formik.values.schemaData.length < schema.min) { + return setMinError(true); + } + + formik.handleSubmit(); + }; + + const editFeature = (index: number) => { + setActiveIndex(index); + }; + + const isFeatureInvalid = (index: number) => + Boolean(get(formik.errors, ["schemaData", index])); + + const addFeature = () => { + resetErrors(); + + const currentFeatures = formik.values.schemaData; + const updatedFeatures = [...currentFeatures, initialValues]; + formik.setFieldValue("schemaData", updatedFeatures); + + // TODO: Handle more gracefully - stop user from adding new feature to map? + if (schema.max && updatedFeatures.length > schema.max) { + setMaxError(true); + } + }; + + const copyFeature = (sourceIndex: number, destinationIndex: number) => { + const sourceFeature = formik.values.schemaData[sourceIndex]; + formik.setFieldValue(`schemaData[${destinationIndex}]`, sourceFeature); + }; + + return ( + + {children} + + ); +}; + +export const useMapAndLabelContext = (): MapAndLabelContextValue => { + const context = useContext(MapAndLabelContext); + if (!context) { + throw new Error( + "useMapAndLabelContext must be used within a MapAndLabelProvider", + ); + } + return context; +}; diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/Public/CopyFeature.tsx b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/CopyFeature.tsx new file mode 100644 index 0000000000..528376b9c6 --- /dev/null +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/CopyFeature.tsx @@ -0,0 +1,66 @@ +import Box from "@mui/material/Box"; +import MenuItem from "@mui/material/MenuItem"; +import { visuallyHidden } from "@mui/utils"; +import { Feature } from "geojson"; +import React from "react"; +import SelectInput from "ui/editor/SelectInput"; +import InputLabel from "ui/public/InputLabel"; + +import { useMapAndLabelContext } from "./Context"; + +interface Props { + destinationIndex: number; + features: Feature[]; +} + +export const CopyFeature: React.FC = ({ + destinationIndex, + features, +}) => { + const { schema, copyFeature } = useMapAndLabelContext(); + + // Only enable component if there are multiple features + const isDisabled = features.length < 2; + + // We can only copy from other features + const sourceFeatures = features.filter( + (_, sourceIndex) => sourceIndex !== destinationIndex, + ); + + return ( + + + { + const label = e.target.value as string; + // Convert text label to zero-indexed integer + const sourceIndex = parseInt(label, 10) - 1; + copyFeature(sourceIndex, destinationIndex); + }} + name={"copyFeature"} + style={{ width: "200px" }} + > + + Please add at least two features to the map in order to enable this + feature + + {sourceFeatures.map((option) => ( + + {`${schema.type} ${option.properties?.label}`} + + ))} + + + + ); +}; diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/Public/MapAndLabel.stories.tsx b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/MapAndLabel.stories.tsx new file mode 100644 index 0000000000..1273e64c93 --- /dev/null +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/MapAndLabel.stories.tsx @@ -0,0 +1,37 @@ +import { Meta, StoryObj } from "@storybook/react"; +import React from "react"; + +import Wrapper from "../../fixtures/Wrapper"; +import Editor from "../Editor"; +import { Trees } from "../schemas/Trees"; +import { Presentational as Public, PresentationalProps } from "."; + +const meta = { + title: "PlanX Components/MapAndLabel", + component: Public, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +const props: PresentationalProps = { + title: "Map and label the works to trees for this property", + description: "Add one or many trees below", + schemaName: "Trees", + fn: "MockFn", + schema: Trees, + basemap: "OSM", + drawColor: "#00FF00", + drawType: "Point", + longitude: -0.1629784, + latitude: 51.5230919, +}; + +export const Basic: Story = { + args: props, +}; + +export const WithEditor = () => { + return } />; +}; diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/Public/index.tsx b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/index.tsx new file mode 100644 index 0000000000..b62bc3d4ea --- /dev/null +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/Public/index.tsx @@ -0,0 +1,307 @@ +import DeleteIcon from "@mui/icons-material/Delete"; +import TabContext from "@mui/lab/TabContext"; +import TabPanel from "@mui/lab/TabPanel"; +import Box from "@mui/material/Box"; +import Button from "@mui/material/Button"; +import Tab from "@mui/material/Tab"; +import Tabs from "@mui/material/Tabs"; +import Typography from "@mui/material/Typography"; +import { SiteAddress } from "@planx/components/FindProperty/model"; +import { ErrorSummaryContainer } from "@planx/components/shared/Preview/ErrorSummaryContainer"; +import { SchemaFields } from "@planx/components/shared/Schema/SchemaFields"; +import { Feature, GeoJsonObject } from "geojson"; +import { useStore } from "pages/FlowEditor/lib/store"; +import React, { useEffect, useState } from "react"; +import { FONT_WEIGHT_SEMI_BOLD } from "theme"; +import FullWidthWrapper from "ui/public/FullWidthWrapper"; +import ErrorWrapper from "ui/shared/ErrorWrapper"; + +import Card from "../../shared/Preview/Card"; +import CardHeader from "../../shared/Preview/CardHeader"; +import { MapContainer } from "../../shared/Preview/MapContainer"; +import { PublicProps } from "../../ui"; +import type { MapAndLabel } from "./../model"; +import { MapAndLabelProvider, useMapAndLabelContext } from "./Context"; +import { CopyFeature } from "./CopyFeature"; + +type Props = PublicProps; + +export interface PresentationalProps extends Props { + latitude: number; + longitude: number; + boundaryBBox?: GeoJsonObject; +} + +function a11yProps(index: number) { + return { + id: `vertical-tab-${index}`, + "aria-controls": `vertical-tabpanel-${index}`, + }; +} + +const VerticalFeatureTabs: React.FC<{ features: Feature[] }> = ({ + features, +}) => { + const { schema, activeIndex, formik, editFeature, isFeatureInvalid } = + useMapAndLabelContext(); + + return ( + + + { + editFeature(parseInt(newValue, 10)); + }} + // TODO! + aria-label="Vertical tabs example" + sx={{ borderRight: 1, borderColor: "divider" }} + > + {features.map((feature, i) => ( + ({ + borderRight: `12px solid ${theme.palette.error.main}`, + // Appear over tab indicator + zIndex: 2, + }), + })} + /> + ))} + + {features.map((feature, i) => ( + + + + + {`${schema.type} ${feature.properties?.label}`} + + + {`${feature.geometry.type}`} + {feature.geometry.type === "Point" + ? ` (${feature.geometry.coordinates.map((coord) => + coord.toFixed(5), + )})` + : ` (area ${ + feature.properties?.["area.squareMetres"] || 0 + } m²)`} + + + + + ({ + display: "flex", + flexDirection: "column", + gap: theme.spacing(2), + })} + schema={schema} + activeIndex={activeIndex} + formik={formik} + /> + + + ))} + + + ); +}; + +const PlotFeatureToBegin = () => ( + ({ + backgroundColor: theme.palette.background.paper, + p: theme.spacing(3), + textAlign: "center", + mt: theme.spacing(-1), + color: theme.typography.body2.color, + border: `1px solid ${theme.palette.border.main}`, + })} + > + + Plot a feature on the map to begin + + +); + +const Root = () => { + const { validateAndSubmitForm, mapAndLabelProps, errors } = + useMapAndLabelContext(); + const { + title, + description, + info, + policyRef, + howMeasured, + basemap, + drawColor, + drawType, + schemaName, + latitude, + longitude, + boundaryBBox, + } = mapAndLabelProps; + + const [features, setFeatures] = useState(undefined); + const { addFeature, schema } = useMapAndLabelContext(); + + useEffect(() => { + const geojsonChangeHandler = ({ detail: geojson }: any) => { + if (geojson["EPSG:3857"]?.features) { + setFeatures(geojson["EPSG:3857"].features); + addFeature(); + } else { + // if the user clicks 'reset' on the map, geojson will be empty object, so set features to undefined + setFeatures(undefined); + } + }; + + const map: HTMLElement | null = + document.getElementById("map-and-label-map"); + map?.addEventListener("geojsonChange", geojsonChangeHandler); + + return function cleanup() { + map?.removeEventListener("geojsonChange", geojsonChangeHandler); + }; + }, [setFeatures, addFeature]); + + const rootError: string = + (errors.min && + `You must plot at least ${schema.min} ${schema.type}(s) on the map`) || + (errors.max && + `You must plot at most ${schema.max} ${schema.type}(s) on the map`) || + ""; + + return ( + + + + + + {/* @ts-ignore */} + + + + {features && features?.length > 0 ? ( + + ) : ( + + )} + + + ); +}; + +export const Presentational: React.FC = (props) => ( + + + +); + +const GraphError = (props: Props) => ( + + + + + Invalid graph + + + Edit this flow so that "MapAndLabel" is positioned after "FindProperty"; + an initial address is required to correctly display the map. + + + +); + +function MapAndLabelComponent(props: Props) { + const teamSettings = useStore.getState().teamSettings; + const passport = useStore((state) => state.computePassport()); + const { latitude, longitude } = + (passport?.data?._address as SiteAddress) || {}; + + if (!latitude || !longitude) { + return ; + } + + return ( + + ); +} + +export default MapAndLabelComponent; diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/model.ts b/editor.planx.uk/src/@planx/components/MapAndLabel/model.ts index 6867705f29..3f2877f91c 100644 --- a/editor.planx.uk/src/@planx/components/MapAndLabel/model.ts +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/model.ts @@ -1,11 +1,18 @@ +import cloneDeep from "lodash/cloneDeep"; + import { MoreInformation, parseMoreInformation } from "../shared"; +import { Schema } from "../shared/Schema/model"; +import { SCHEMAS } from "./Editor"; export interface MapAndLabel extends MoreInformation { fn: string; title: string; description?: string; + basemap: "OSVectorTile" | "OSRaster" | "MapboxSatellite" | "OSM"; drawColor: string; drawType: "Polygon" | "Point"; + schemaName: string; + schema: Schema; } export const parseContent = ( @@ -14,7 +21,10 @@ export const parseContent = ( fn: data?.fn || "", title: data?.title, description: data?.description, + basemap: data?.basemap || "OSVectorTile", drawColor: data?.drawColor || "#22194D", drawType: data?.drawType || "Polygon", + schemaName: data?.schemaName || SCHEMAS[0].name, + schema: cloneDeep(data?.schema) || SCHEMAS[0].schema, ...parseMoreInformation(data), }); diff --git a/editor.planx.uk/src/@planx/components/MapAndLabel/schemas/Trees.ts b/editor.planx.uk/src/@planx/components/MapAndLabel/schemas/Trees.ts new file mode 100644 index 0000000000..6cc37e0267 --- /dev/null +++ b/editor.planx.uk/src/@planx/components/MapAndLabel/schemas/Trees.ts @@ -0,0 +1,65 @@ +import { Schema } from "@planx/components/shared/Schema/model"; +import { TextInputType } from "@planx/components/TextInput/model"; + +export const Trees: Schema = { + type: "Tree", + fields: [ + { + type: "text", + data: { + title: "Species", + fn: "species", + type: TextInputType.Short, + }, + }, + { + type: "text", + data: { + title: "Proposed work", + fn: "work", + type: TextInputType.Short, + }, + }, + { + type: "text", + data: { + title: "Justification", + fn: "justification", + type: TextInputType.Short, + }, + }, + { + type: "question", + data: { + title: "Urgency", + fn: "urgency", + options: [ + { + id: "low", + data: { text: "Low", val: "low" }, + }, + { + id: "moderate", + data: { text: "Moderate", val: "moderate" }, + }, + { + id: "high", + data: { text: "High", val: "high" }, + }, + { + id: "urgent", + data: { text: "Urgent", val: "urgent" }, + }, + ], + }, + }, + { + type: "date", + data: { + title: "Expected completion date", + fn: "completionDate", + }, + }, + ], + min: 1, +} as const; diff --git a/editor.planx.uk/src/@planx/components/NumberInput/NumberInput.stories.tsx b/editor.planx.uk/src/@planx/components/NumberInput/NumberInput.stories.tsx index 92b77bf353..053d8932a9 100644 --- a/editor.planx.uk/src/@planx/components/NumberInput/NumberInput.stories.tsx +++ b/editor.planx.uk/src/@planx/components/NumberInput/NumberInput.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import React from "react"; import Wrapper from "../fixtures/Wrapper"; diff --git a/editor.planx.uk/src/@planx/components/Pay/Public/Pay.stories.tsx b/editor.planx.uk/src/@planx/components/Pay/Public/Pay.stories.tsx index e4b8df5b53..d554de6d28 100644 --- a/editor.planx.uk/src/@planx/components/Pay/Public/Pay.stories.tsx +++ b/editor.planx.uk/src/@planx/components/Pay/Public/Pay.stories.tsx @@ -68,5 +68,6 @@ export const ForInformationOnly = { "Payments will be accepted for your future application via GOV.UK Pay. You will have the option to pay yourself or invite someone else to pay.", fee: 103, hidePay: true, + onConfirm: () => {}, }, } satisfies Story; diff --git a/editor.planx.uk/src/@planx/components/Send/Public.test.tsx b/editor.planx.uk/src/@planx/components/Send/Public.test.tsx index 29efe2a4f4..79e7294de7 100644 --- a/editor.planx.uk/src/@planx/components/Send/Public.test.tsx +++ b/editor.planx.uk/src/@planx/components/Send/Public.test.tsx @@ -8,17 +8,18 @@ import hasuraEventsResponseMock from "./mocks/hasuraEventsResponseMock"; import { Destination } from "./model"; import SendComponent from "./Public"; -// const mockAxios = vi.mocked(axios, true); +vi.mock("axios"); +const mockAxios = vi.mocked(axios, true); -// mockAxios.post.mockImplementation((url: any) => { -// return { -// value: url()?.startsWith( -// `${import.meta.env.VITE_APP_API_URL}/create-send-events/`, -// ) -// ? hasuraEventsResponseMock -// : null, -// } as any; -// }); +mockAxios.post.mockResolvedValue(async (url: string) => { + return { + value: url.startsWith( + `${import.meta.env.VITE_APP_API_URL}/create-send-events/`, + ) + ? hasuraEventsResponseMock + : null, + }; +}); it.todo("renders correctly"); diff --git a/editor.planx.uk/src/@planx/components/TextInput/TextInput.stories.tsx b/editor.planx.uk/src/@planx/components/TextInput/TextInput.stories.tsx index 489ce86507..91de243356 100644 --- a/editor.planx.uk/src/@planx/components/TextInput/TextInput.stories.tsx +++ b/editor.planx.uk/src/@planx/components/TextInput/TextInput.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import React from "react"; import Wrapper from "../fixtures/Wrapper"; diff --git a/editor.planx.uk/src/@planx/components/shared/Preview/SummaryList.tsx b/editor.planx.uk/src/@planx/components/shared/Preview/SummaryList.tsx index 4c4bf2405f..42144f22c9 100644 --- a/editor.planx.uk/src/@planx/components/shared/Preview/SummaryList.tsx +++ b/editor.planx.uk/src/@planx/components/shared/Preview/SummaryList.tsx @@ -6,7 +6,6 @@ import { visuallyHidden } from "@mui/utils"; import { ComponentType as TYPES } from "@opensystemslab/planx-core/types"; import { PASSPORT_UPLOAD_KEY } from "@planx/components/DrawBoundary/model"; import { PASSPORT_REQUESTED_FILES_KEY } from "@planx/components/FileUploadAndLabel/model"; -import MapAndLabelComponent from "@planx/components/MapAndLabel/Editor"; import { ConfirmationDialog } from "components/ConfirmationDialog"; import format from "date-fns/format"; import { useAnalyticsTracking } from "pages/FlowEditor/lib/analytics/provider"; @@ -102,7 +101,7 @@ const presentationalComponents: { [TYPES.InternalPortal]: undefined, [TYPES.FileUploadAndLabel]: FileUploadAndLabel, [TYPES.List]: List, - [TYPES.MapAndLabel]: MapAndLabelComponent, + [TYPES.MapAndLabel]: undefined, [TYPES.Notice]: undefined, [TYPES.NextSteps]: undefined, [TYPES.NumberInput]: NumberInput, diff --git a/editor.planx.uk/src/@planx/components/shared/Schema/InputFields/MapFieldInput.tsx b/editor.planx.uk/src/@planx/components/shared/Schema/InputFields/MapFieldInput.tsx index f362cba5b2..c258b8199e 100644 --- a/editor.planx.uk/src/@planx/components/shared/Schema/InputFields/MapFieldInput.tsx +++ b/editor.planx.uk/src/@planx/components/shared/Schema/InputFields/MapFieldInput.tsx @@ -64,11 +64,17 @@ export const MapFieldInput: React.FC> = (props) => { osProxyEndpoint={`${ import.meta.env.VITE_APP_API_URL }/proxy/ordnance-survey`} - osCopyright={`Basemap subject to Crown copyright and database rights ${new Date().getFullYear()} OS (0)100024857`} + osCopyright={ + mapOptions?.basemap === "OSVectorTile" + ? `Basemap subject to Crown copyright and database rights ${new Date().getFullYear()} OS (0)100024857` + : `` + } clipGeojsonData={ teamSettings?.boundaryBBox && JSON.stringify(teamSettings?.boundaryBBox) } + mapboxAccessToken={import.meta.env.VITE_APP_MAPBOX_ACCESS_TOKEN} + collapseAttributions /> diff --git a/editor.planx.uk/src/@planx/components/shared/Schema/SchemaFields.tsx b/editor.planx.uk/src/@planx/components/shared/Schema/SchemaFields.tsx index e0b7c0d6d4..74fd0c75c7 100644 --- a/editor.planx.uk/src/@planx/components/shared/Schema/SchemaFields.tsx +++ b/editor.planx.uk/src/@planx/components/shared/Schema/SchemaFields.tsx @@ -1,3 +1,5 @@ +import Box from "@mui/material/Box"; +import { SxProps, Theme } from "@mui/material/styles"; import { FormikProps } from "formik"; import React from "react"; import InputRow from "ui/shared/InputRow"; @@ -15,6 +17,7 @@ interface SchemaFieldsProps { /** Formik instance generated from config provided by useSchema hook */ formik: FormikProps; schema: Schema; + sx?: SxProps; } /** @@ -23,10 +26,14 @@ interface SchemaFieldsProps { export const SchemaFields: React.FC = ({ schema, formik, + sx, activeIndex = 0, -}) => - schema.fields.map((field, i) => ( - - - - )); +}) => ( + + {schema.fields.map((field, i) => ( + + + + ))} + +); diff --git a/editor.planx.uk/src/components/Feedback/FeedbackForm.stories.tsx b/editor.planx.uk/src/components/Feedback/FeedbackForm.stories.tsx index 4582ce7235..6f4220b303 100644 --- a/editor.planx.uk/src/components/Feedback/FeedbackForm.stories.tsx +++ b/editor.planx.uk/src/components/Feedback/FeedbackForm.stories.tsx @@ -1,5 +1,5 @@ import { Meta, StoryObj } from "@storybook/react"; -import { userEvent, within } from "@storybook/testing-library"; +import { userEvent, within } from "@storybook/test"; import FeedbackForm from "./FeedbackForm"; diff --git a/editor.planx.uk/src/components/Feedback/FeedbackForm.tsx b/editor.planx.uk/src/components/Feedback/FeedbackForm.tsx index 63fb6408f7..534471bbfd 100644 --- a/editor.planx.uk/src/components/Feedback/FeedbackForm.tsx +++ b/editor.planx.uk/src/components/Feedback/FeedbackForm.tsx @@ -1,4 +1,5 @@ import Button from "@mui/material/Button"; +import Link from "@mui/material/Link"; import { styled } from "@mui/material/styles"; import { contentFlowSpacing } from "@planx/components/shared/Preview/Card"; import { Form, Formik, useFormikContext } from "formik"; @@ -7,8 +8,8 @@ import FeedbackDisclaimer from "ui/public/FeedbackDisclaimer"; import InputLabel from "ui/public/InputLabel"; import ErrorWrapper from "ui/shared/ErrorWrapper"; import Input from "ui/shared/Input"; + import { FeedbackFormInput, FormProps, UserFeedback } from "."; -import Link from "@mui/material/Link"; const StyledForm = styled(Form)(({ theme }) => ({ "& > *": contentFlowSpacing(theme), diff --git a/editor.planx.uk/src/components/Feedback/index.test.tsx b/editor.planx.uk/src/components/Feedback/index.test.tsx index 7c778a7705..e647645c71 100644 --- a/editor.planx.uk/src/components/Feedback/index.test.tsx +++ b/editor.planx.uk/src/components/Feedback/index.test.tsx @@ -183,7 +183,7 @@ describe("Feedback component triage journey", () => { await user.type( getByTestId("userCommentTextarea"), - "This information is wrong" + "This information is wrong", ); await user.click(getByText("Send feedback")); @@ -210,7 +210,7 @@ describe("Feedback component 'Report an issue with this page journey'", () => { await waitFor(() => { expect( - getByText("Report an issue with this service") + getByText("Report an issue with this service"), ).toBeInTheDocument(); expect(getByLabelText("What were you doing?")).toBeInTheDocument(); expect(getByLabelText("What went wrong?")).toBeInTheDocument(); @@ -325,7 +325,7 @@ describe("Feedback component accessibility", () => { test("Issue form via triage should have no accessibility violations", async () => { const { container, getByText, getByLabelText, getByRole, user } = setup( - + , ); await user.click(getByText("feedback")); @@ -389,11 +389,11 @@ describe("Feedback component accessibility", () => { await user.type( getByLabelText("What were you doing?"), - "Answering a question" + "Answering a question", ); await user.type( getByLabelText("What went wrong?"), - "I couldn't select Continue" + "I couldn't select Continue", ); await user.click(getByText("Send feedback")); diff --git a/editor.planx.uk/src/components/Toast/Toast.tsx b/editor.planx.uk/src/components/Toast/Toast.tsx new file mode 100644 index 0000000000..4b9219293f --- /dev/null +++ b/editor.planx.uk/src/components/Toast/Toast.tsx @@ -0,0 +1,28 @@ +import Alert from "@mui/material/Alert"; +import Snackbar from "@mui/material/Snackbar"; +import { useToast } from "hooks/useToast"; +import React from "react"; + +import { Toast as ToastProps } from "./types"; + +const Toast = ({ message, type = "success", id }: ToastProps) => { + const toast = useToast(); + + const handleCloseToast = () => { + if (toast) { + toast.remove(id); + } else { + console.warn("ToastContext is not provided."); + } + }; + + return ( + + + {message} + + + ); +}; + +export default Toast; diff --git a/editor.planx.uk/src/components/Toast/ToastContainer.tsx b/editor.planx.uk/src/components/Toast/ToastContainer.tsx new file mode 100644 index 0000000000..becd84d383 --- /dev/null +++ b/editor.planx.uk/src/components/Toast/ToastContainer.tsx @@ -0,0 +1,16 @@ +import React from "react"; + +import Toast from "./Toast"; +import { Toast as ToastComponent } from "./types"; + +const ToastContainer = ({ toasts }: { toasts: ToastComponent[] }) => { + return ( +
+ {toasts.map((toast) => ( + + ))} +
+ ); +}; + +export default ToastContainer; diff --git a/editor.planx.uk/src/components/Toast/types.ts b/editor.planx.uk/src/components/Toast/types.ts new file mode 100644 index 0000000000..99c7e6d614 --- /dev/null +++ b/editor.planx.uk/src/components/Toast/types.ts @@ -0,0 +1,31 @@ +export interface Toast { + message: string; + type: ToastType; + id: number; +} +export type ToastType = "success" | "warning" | "info" | "error"; + +export type ToastState = { + toasts: Toast[]; +}; + +export type ToastAction = AddToast | DeleteToast; + +type AddToast = { + type: "ADD_TOAST"; + payload: Toast; +}; + +type DeleteToast = { + type: "DELETE_TOAST"; + payload: { id: number }; +}; + +export type ToastContextType = { + addToast: (type: ToastType, message: string) => void; + remove: (id: number) => void; + success: (message: string) => void; + warning: (message: string) => void; + info: (message: string) => void; + error: (message: string) => void; +}; diff --git a/editor.planx.uk/src/contexts/ToastContext.tsx b/editor.planx.uk/src/contexts/ToastContext.tsx new file mode 100644 index 0000000000..b340c8428c --- /dev/null +++ b/editor.planx.uk/src/contexts/ToastContext.tsx @@ -0,0 +1,70 @@ +/* eslint-disable @typescript-eslint/no-empty-function */ +import ToastContainer from "components/Toast/ToastContainer"; +import { + ToastContextType, + ToastState, + ToastType, +} from "components/Toast/types"; +import React, { createContext, ReactNode, useReducer } from "react"; +import { toastReducer } from "reducers/toastReducer"; + +const defaultCreateContextValue = { + remove: (_id: number) => {}, + addToast: (_type: ToastType, _message: string) => {}, + success: (_message: string) => {}, + warning: (_message: string) => {}, + info: (_message: string) => {}, + error: (_message: string) => {}, +}; + +export const ToastContext = createContext( + defaultCreateContextValue, +); + +const initialState: ToastState = { + toasts: [], +}; + +export const ToastContextProvider = ({ + children, +}: Readonly<{ children: ReactNode }>) => { + const [state, dispatch] = useReducer(toastReducer, initialState); + const addToast = (type: ToastType, message: string) => { + const id = Math.floor(Math.random() * 10_000_000); + dispatch({ type: "ADD_TOAST", payload: { id, message, type } }); + }; + const remove = (id: number) => { + dispatch({ type: "DELETE_TOAST", payload: { id } }); + }; + const success = (message: string) => { + addToast("success", message); + }; + + const warning = (message: string) => { + addToast("warning", message); + }; + + const info = (message: string) => { + addToast("info", message); + }; + + const error = (message: string) => { + addToast("error", message); + }; + + const value: ToastContextType = { + success, + warning, + info, + error, + remove, + addToast, + }; + + return ( + + + {children} + + ); +}; diff --git a/editor.planx.uk/src/hooks/useSearch.ts b/editor.planx.uk/src/hooks/useSearch.ts index 410473237f..16dbe22f37 100644 --- a/editor.planx.uk/src/hooks/useSearch.ts +++ b/editor.planx.uk/src/hooks/useSearch.ts @@ -1,9 +1,9 @@ -import Fuse, { IFuseOptions } from "fuse.js"; +import Fuse, { FuseOptionKey, IFuseOptions } from "fuse.js"; import { useEffect, useMemo, useState } from "react"; interface UseSearchProps { list: T[]; - keys: string[]; + keys: Array>; } export interface SearchResult { @@ -47,7 +47,7 @@ export const useSearch = ({ (result.matches?.[0].indices as [number, number][]) || undefined, })), ); - }, [pattern]); + }, [pattern, fuse]); return { results, search: setPattern }; }; diff --git a/editor.planx.uk/src/hooks/useToast.ts b/editor.planx.uk/src/hooks/useToast.ts new file mode 100644 index 0000000000..288cf41dcf --- /dev/null +++ b/editor.planx.uk/src/hooks/useToast.ts @@ -0,0 +1,5 @@ +import { useContext } from "react"; + +import { ToastContext } from "../contexts/ToastContext"; + +export const useToast = () => useContext(ToastContext); diff --git a/editor.planx.uk/src/index.tsx b/editor.planx.uk/src/index.tsx index cf87410d8e..b2c4b6b3ce 100644 --- a/editor.planx.uk/src/index.tsx +++ b/editor.planx.uk/src/index.tsx @@ -6,6 +6,7 @@ import { ApolloProvider } from "@apollo/client"; import CssBaseline from "@mui/material/CssBaseline"; import { StyledEngineProvider, ThemeProvider } from "@mui/material/styles"; import { MyMap } from "@opensystemslab/map"; +import { ToastContextProvider } from "contexts/ToastContext"; import { getCookie, setCookie } from "lib/cookie"; import ErrorPage from "pages/ErrorPage"; import { AnalyticsProvider } from "pages/FlowEditor/lib/analytics/provider"; @@ -93,7 +94,7 @@ const Layout: React.FC<{ }; root.render( - <> + @@ -109,5 +110,5 @@ root.render( - , + , ); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx index 9215f9b95b..2f263733f0 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx @@ -1,11 +1,10 @@ -import Alert from "@mui/material/Alert"; import Box from "@mui/material/Box"; import Container from "@mui/material/Container"; -import Snackbar from "@mui/material/Snackbar"; import { styled } from "@mui/material/styles"; import Typography from "@mui/material/Typography"; import { TeamTheme } from "@opensystemslab/planx-core/types"; import { FormikConfig } from "formik"; +import { useToast } from "hooks/useToast"; import { useStore } from "pages/FlowEditor/lib/store"; import React, { useEffect, useState } from "react"; import SettingsSection from "ui/editor/SettingsSection"; @@ -34,7 +33,7 @@ const DesignSettings: React.FC = () => { const [formikConfig, setFormikConfig] = useState< FormikConfig | undefined >(undefined); - + const toast = useToast(); /** * Fetch current team and setup shared form config */ @@ -60,20 +59,7 @@ const DesignSettings: React.FC = () => { fetchTeam(); }, []); - const [open, setOpen] = useState(false); - - const handleClose = ( - _event?: React.SyntheticEvent | Event, - reason?: string, - ) => { - if (reason === "clickaway") { - return; - } - - setOpen(false); - }; - - const onSuccess = () => setOpen(true); + const onSuccess = () => toast.success("Theme updated successfully"); return ( @@ -93,11 +79,6 @@ const DesignSettings: React.FC = () => { )} - - - Theme updated successfully - - ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/SubmissionsForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/SubmissionsForm.tsx new file mode 100644 index 0000000000..7263bef820 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/SubmissionsForm.tsx @@ -0,0 +1,63 @@ +import Typography from "@mui/material/Typography"; +import { useFormik } from "formik"; +import { useStore } from "pages/FlowEditor/lib/store"; +import React from "react"; +import InputLabel from "ui/editor/InputLabel"; +import Input from "ui/shared/Input"; +import * as Yup from "yup"; + +import { SettingsForm } from "../shared/SettingsForm"; +import { FormProps } from "."; + +export default function SubmissionsForm({ + formikConfig, + onSuccess, +}: FormProps) { + const formSchema = Yup.object().shape({ + submissionEmail: Yup.string().email("Enter a valid email address"), + }); + + const formik = useFormik({ + ...formikConfig, + validationSchema: formSchema, + onSubmit: async (values, { resetForm }) => { + const isSuccess = await useStore.getState().updateTeamSettings({ + submissionEmail: values.submissionEmail, + }); + if (isSuccess) { + onSuccess(); + resetForm({ values }); + } + }, + }); + + return ( + + + If your Send component has the 'Email to planning office' option + selected, submissions are sent to this address. + + + } + input={ + <> + + { + formik.setFieldValue("submissionEmail", event.target.value); + }} + value={formik.values.submissionEmail ?? ""} + errorMessage={formik.errors.submissionEmail} + id="submissionEmail" + /> + + + } + /> + ); +} diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx index dd38a8d463..66db287dea 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx @@ -1,9 +1,8 @@ -import Alert from "@mui/material/Alert"; import Container from "@mui/material/Container"; -import Snackbar from "@mui/material/Snackbar"; import Typography from "@mui/material/Typography"; import { TeamSettings } from "@opensystemslab/planx-core/types"; import { FormikConfig } from "formik"; +import { useToast } from "hooks/useToast"; import { useStore } from "pages/FlowEditor/lib/store"; import React, { useEffect, useState } from "react"; import SettingsSection from "ui/editor/SettingsSection"; @@ -11,6 +10,7 @@ import SettingsSection from "ui/editor/SettingsSection"; import BoundaryForm from "./BoundaryForm"; import ContactForm from "./ContactForm"; import ReferenceCodeForm from "./ReferenceCodeForm"; +import SubmissionsForm from "./SubmissionsForm"; export interface FormProps { formikConfig: FormikConfig; @@ -21,6 +21,7 @@ const GeneralSettings: React.FC = () => { const [formikConfig, setFormikConfig] = useState< FormikConfig | undefined >(undefined); + const toast = useToast(); useEffect(() => { const fetchTeam = async () => { @@ -43,21 +44,7 @@ const GeneralSettings: React.FC = () => { fetchTeam(); }, []); - const [open, setOpen] = useState(false); - const [updateMessage, _setUpdateMessage] = useState("Setting Updated"); - - const handleClose = ( - _event?: React.SyntheticEvent | Event, - reason?: string, - ) => { - if (reason === "clickaway") { - return; - } - - setOpen(false); - }; - - const onSuccess = () => setOpen(true); + const onSuccess = () => toast.success("Setting Updated"); return ( @@ -77,13 +64,9 @@ const GeneralSettings: React.FC = () => { formikConfig={formikConfig} onSuccess={onSuccess} /> + )} - - - {updateMessage} - - ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx index 59dc50e2ae..5e223c925d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx @@ -1,5 +1,4 @@ import ContentCopyIcon from "@mui/icons-material/ContentCopy"; -import Alert from "@mui/material/Alert"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; import Container from "@mui/material/Container"; @@ -7,13 +6,13 @@ import FormControlLabel, { formControlLabelClasses, } from "@mui/material/FormControlLabel"; import Link from "@mui/material/Link"; -import Snackbar from "@mui/material/Snackbar"; import Switch, { SwitchProps } from "@mui/material/Switch"; import Tooltip from "@mui/material/Tooltip"; import Typography from "@mui/material/Typography"; import { FlowStatus } from "@opensystemslab/planx-core/types"; import axios from "axios"; import { useFormik } from "formik"; +import { useToast } from "hooks/useToast"; import React, { useState } from "react"; import { rootFlowPath } from "routes/utils"; import { FONT_WEIGHT_BOLD } from "theme"; @@ -228,19 +227,7 @@ const ServiceSettings: React.FC = () => { state.teamDomain, state.isFlowPublished, ]); - - const [isAlertOpen, setIsAlertOpen] = useState(false); - - const handleClose = ( - _event?: React.SyntheticEvent | Event, - reason?: string, - ) => { - if (reason === "clickaway") { - return; - } - - setIsAlertOpen(false); - }; + const toast = useToast(); const sendFlowStatusSlackNotification = async (status: FlowStatus) => { const skipTeamSlugs = [ @@ -294,7 +281,7 @@ const ServiceSettings: React.FC = () => { }, onSubmit: async (values) => { await updateFlowSettings(values); - setIsAlertOpen(true); + toast.success("Service settings updated successfully"); }, validate: () => {}, }); @@ -306,7 +293,7 @@ const ServiceSettings: React.FC = () => { onSubmit: async (values, { resetForm }) => { const isSuccess = await updateFlowStatus(values.status); if (isSuccess) { - setIsAlertOpen(true); + toast.success("Service settings updated successfully"); // Send a Slack notification to #planx-notifications sendFlowStatusSlackNotification(values.status); // Reset "dirty" status to disable Save & Reset buttons @@ -487,15 +474,6 @@ const ServiceSettings: React.FC = () => { - - - Service settings updated successfully - - ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/ExternalPortalList.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/ExternalPortalList.test.tsx new file mode 100644 index 0000000000..d5b8cc2e5b --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/ExternalPortalList.test.tsx @@ -0,0 +1,50 @@ +import { FullStore, useStore } from "pages/FlowEditor/lib/store"; +import React from "react"; +import { act } from "react-dom/test-utils"; +import { setup } from "testUtils"; +import { axe } from "vitest-axe"; + +import { ExternalPortalList } from "./ExternalPortalList"; + +const { getState, setState } = useStore; + +let initialState: FullStore; + +beforeAll(() => (initialState = getState())); +afterEach(() => act(() => setState(initialState))); + +const externalPortals: FullStore["externalPortals"] = { + abc: { name: "Portal 1", href: "myTeam/portalOne" }, + def: { name: "Portal 2", href: "myTeam/portalTwo" }, +}; + +it("does not display if there are no external portals in the flow", () => { + const { container } = setup(); + + expect(container).toBeEmptyDOMElement(); +}); + +it("displays a list of external portals if present in the flow", () => { + act(() => setState({ externalPortals })); + const { container, getAllByRole } = setup(); + + expect(container).not.toBeEmptyDOMElement(); + expect(getAllByRole("listitem")).toHaveLength(2); +}); + +it("allows users to navigate to the external portals", () => { + act(() => setState({ externalPortals })); + const { container, getAllByRole } = setup(); + + expect(container).not.toBeEmptyDOMElement(); + const [first, second] = getAllByRole("link") as HTMLAnchorElement[]; + expect(first).toHaveAttribute("href", "../myTeam/portalOne"); + expect(second).toHaveAttribute("href", "../myTeam/portalTwo"); +}); + +it("should not have any accessibility violations on initial load", async () => { + act(() => setState({ externalPortals })); + const { container } = setup(); + const results = await axe(container); + expect(results).toHaveNoViolations(); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.test.tsx new file mode 100644 index 0000000000..b026dcad2d --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.test.tsx @@ -0,0 +1,44 @@ +import React from "react"; +import { setup } from "testUtils"; +import { FONT_WEIGHT_BOLD } from "theme"; +import { axe } from "vitest-axe"; + +import { Headline } from "./Headline"; + +const sampleText = "The quick fox jumps..."; +const foxIndices: [number, number][] = [[10, 13]]; + +const DEFAULT_FONT_WEIGHT = "400"; + +it("displays matches from the headline in bold", () => { + const { getByText } = setup( + , + ); + + // Input text is split into characters in order to highlight a substring + const tStyle = window.getComputedStyle(getByText("T")); + const hStyle = window.getComputedStyle(getByText("h")); + const eStyle = window.getComputedStyle(getByText("e")); + + // Non matching text is not in bold + expect(tStyle.fontWeight).toEqual(DEFAULT_FONT_WEIGHT); + expect(hStyle.fontWeight).toEqual(DEFAULT_FONT_WEIGHT); + expect(eStyle.fontWeight).toEqual(DEFAULT_FONT_WEIGHT); + + const fStyle = window.getComputedStyle(getByText("f")); + const oStyle = window.getComputedStyle(getByText("o")); + const xStyle = window.getComputedStyle(getByText("x")); + + // Matching text is in bold + expect(fStyle.fontWeight).toEqual(FONT_WEIGHT_BOLD); + expect(oStyle.fontWeight).toEqual(FONT_WEIGHT_BOLD); + expect(xStyle.fontWeight).toEqual(FONT_WEIGHT_BOLD); +}); + +it("should not have any accessibility violations on initial load", async () => { + const { container } = setup( + , + ); + const results = await axe(container); + expect(results).toHaveNoViolations(); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.tsx index 5681e19324..b247d74c3d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/Headline.tsx @@ -8,7 +8,7 @@ interface Props { variant: "data"; } -export const Headline: React.FC = ({ text, matchIndices }) => { +export const Headline: React.FC = ({ text, matchIndices, variant }) => { const isHighlighted = (index: number) => matchIndices.some(([start, end]) => index >= start && index <= end); @@ -17,7 +17,7 @@ export const Headline: React.FC = ({ text, matchIndices }) => { {text.split("").map((char, index) => ( ({ fontWeight: isHighlighted(index) ? FONT_WEIGHT_BOLD : "regular", diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.test.tsx new file mode 100644 index 0000000000..042d9b4755 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.test.tsx @@ -0,0 +1,39 @@ +import { useStore } from "pages/FlowEditor/lib/store"; +import React from "react"; +import { setup } from "testUtils"; +import { axe } from "vitest-axe"; + +import { flow, results } from "./mocks/simple"; +import { NodeSearchResults } from "./NodeSearchResults"; + +beforeAll(() => useStore.setState({ flow })); + +it("Displays a warning if no results are returned", () => { + const { getByText, getByRole } = setup(); + expect(getByText("No matches found")).toBeInTheDocument(); + expect(getByRole("list")).toBeEmptyDOMElement(); +}); + +it("Displays the count for a single result", () => { + const { getByText, getByRole, getAllByRole } = setup( + , + ); + expect(getByText("1 result:")).toBeInTheDocument(); + expect(getByRole("list")).not.toBeEmptyDOMElement(); + expect(getAllByRole("listitem")).toHaveLength(1); +}); + +it("Displays the count for multiple results", () => { + const { getByText, getByRole, getAllByRole } = setup( + , + ); + expect(getByText("2 results:")).toBeInTheDocument(); + expect(getByRole("list")).not.toBeEmptyDOMElement(); + expect(getAllByRole("listitem")).toHaveLength(2); +}); + +it("should not have any accessibility violations on initial load", async () => { + const { container } = setup(); + const axeResults = await axe(container); + expect(axeResults).toHaveNoViolations(); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.tsx index fcbb5d8daf..c8dfedceaf 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/NodeSearchResults.tsx @@ -2,7 +2,7 @@ import List from "@mui/material/List"; import ListItem from "@mui/material/ListItem"; import { styled } from "@mui/material/styles"; import Typography from "@mui/material/Typography"; -import { IndexedNode } from "@opensystemslab/planx-core/types"; +import { ComponentType, IndexedNode } from "@opensystemslab/planx-core/types"; import type { SearchResults } from "hooks/useSearch"; import React from "react"; @@ -18,6 +18,16 @@ export const Root = styled(List)(({ theme }) => ({ export const NodeSearchResults: React.FC<{ results: SearchResults; }> = ({ results }) => { + /** Temporary guard function to filter out component types not yet supported by SearchResultCard */ + const isSupportedNodeType = ( + result: SearchResults[number], + ): boolean => + ![ + ComponentType.FileUploadAndLabel, + ComponentType.Calculate, + ComponentType.List, + ].includes(result.item.type); + return ( <> @@ -27,7 +37,7 @@ export const NodeSearchResults: React.FC<{ - {results.map((result) => ( + {results.filter(isSupportedNodeType).map((result) => ( diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/facets.ts b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/facets.ts new file mode 100644 index 0000000000..e58e82460a --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/facets.ts @@ -0,0 +1,35 @@ +import { IndexedNode } from "@opensystemslab/planx-core/types"; +import { FuseOptionKey } from "fuse.js"; + +type SearchFacets = Array>; + +const generalData: SearchFacets = ["data.fn", "data.val"]; + +const fileUploadAndLabelData: SearchFacets = ["data.fileTypes.fn"]; + +const calculateData: SearchFacets = [ + "data.output", + { + name: "formula", + getFn: (node: IndexedNode) => Object.keys(node.data?.defaults || {}), + }, +]; + +const listData: SearchFacets = [ + "data.schema.fields.data.fn", + "data.schema.fields.data.options.data.val", +]; + +const drawBoundaryData: SearchFacets = [ + "data.dataFieldBoundary", + "data.dataFieldArea", +]; + +/** Data fields used across PlanX components */ +export const DATA_FACETS = [ + ...generalData, + ...fileUploadAndLabelData, + ...calculateData, + ...listData, + ...drawBoundaryData, +]; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.test.tsx new file mode 100644 index 0000000000..a8b6e0bc74 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.test.tsx @@ -0,0 +1,94 @@ +import * as planxCore from "@opensystemslab/planx-core"; +import { waitFor } from "@testing-library/react"; +import { FullStore, useStore } from "pages/FlowEditor/lib/store"; +import React from "react"; +import { act } from "react-dom/test-utils"; +import { setup } from "testUtils"; +import { vi } from "vitest"; +import { axe } from "vitest-axe"; + +import Search from "."; +import { flow } from "./mocks/simple"; + +const { setState, getState } = useStore; + +let initialState: FullStore; + +beforeAll(() => (initialState = getState())); + +beforeEach(() => setState({ flow })); +afterEach(() => act(() => setState(initialState))); + +vi.mock("@opensystemslab/planx-core", async (originalModule) => { + const actualModule = await originalModule(); + return { + ...actualModule, + // Spy on sortFlow while keeping its original implementation + sortFlow: vi.fn(actualModule.sortFlow), + }; +}); + +test("data field checkbox is checked and disabled", () => { + const { getByLabelText } = setup(); + const checkbox = getByLabelText("Search only data fields"); + + expect(checkbox).toBeInTheDocument(); + expect(checkbox).toBeChecked(); + expect(checkbox).toBeDisabled(); +}); + +test("entering a search term displays a series of cards", async () => { + const { user, queryByRole, getByRole, getAllByRole, getByLabelText } = setup( + , + ); + + expect(queryByRole("list")).not.toBeInTheDocument(); + + const searchInput = getByLabelText("Search this flow and internal portals"); + user.type(searchInput, "ind"); + + await waitFor(() => expect(getByRole("list")).toBeInTheDocument()); + await waitFor(() => expect(getAllByRole("listitem")).toHaveLength(2)); +}); + +test.todo("cards link to their associated nodes", async () => { + const { user, getAllByRole, getByLabelText } = setup(); + + const searchInput = getByLabelText("Search this flow and internal portals"); + user.type(searchInput, "ind"); + + await waitFor(() => expect(getAllByRole("listitem")).toHaveLength(2)); + + const [first, second] = getAllByRole("listitem"); + // TODO! + expect(first).toHaveAttribute("href", "link to tR9tdaWOvF (India)"); + expect(second).toHaveAttribute("href", "link to tvUxd2IoPo (Indonesia)"); +}); + +it("orderedFlow is set in the store on render of Search", async () => { + expect(getState().orderedFlow).toBeUndefined(); + + setup(); + + expect(getState().orderedFlow).toBeDefined(); +}); + +test("setOrderedFlow is only called once on initial render", async () => { + const sortFlowSpy = vi.spyOn(planxCore, "sortFlow"); + expect(sortFlowSpy).not.toHaveBeenCalled(); + + const { user, getAllByRole, getByLabelText } = setup(); + + const searchInput = getByLabelText("Search this flow and internal portals"); + user.type(searchInput, "ind"); + + await waitFor(() => expect(getAllByRole("listitem")).toHaveLength(2)); + + expect(sortFlowSpy).toHaveBeenCalledTimes(1); +}); + +it("should not have any accessibility violations on initial load", async () => { + const { container } = setup(); + const results = await axe(container); + expect(results).toHaveNoViolations(); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.tsx index a7f9a825f5..15adbbe656 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/index.tsx @@ -9,11 +9,12 @@ import ChecklistItem from "ui/shared/ChecklistItem"; import Input from "ui/shared/Input"; import { ExternalPortalList } from "./ExternalPortalList"; +import { DATA_FACETS } from "./facets"; import { NodeSearchResults } from "./NodeSearchResults"; interface SearchNodes { input: string; - facets: ["data.fn", "data.val"]; + facets: typeof DATA_FACETS; } const Search: React.FC = () => { @@ -27,7 +28,7 @@ const Search: React.FC = () => { }, [orderedFlow, setOrderedFlow]); const formik = useFormik({ - initialValues: { input: "", facets: ["data.fn", "data.val"] }, + initialValues: { input: "", facets: DATA_FACETS }, onSubmit: ({ input }) => { search(input); }, @@ -51,6 +52,7 @@ const Search: React.FC = () => { Search this flow and internal portals { diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/mocks/simple.ts b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/mocks/simple.ts new file mode 100644 index 0000000000..275c397f34 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/Search/mocks/simple.ts @@ -0,0 +1,66 @@ +import { FlowGraph, IndexedNode } from "@opensystemslab/planx-core/types"; +import { SearchResults } from "hooks/useSearch"; + +export const flow: FlowGraph = { + _root: { + edges: ["Ej0xpn4l8u"], + }, + Ej0xpn4l8u: { + type: 100, + data: { + fn: "country", + text: "Pick a country", + }, + edges: ["VhSydY2fTe", "tR9tdaWOvF", "tvUxd2IoPo"], + }, + VhSydY2fTe: { + type: 200, + data: { + text: "Spain", + val: "spain", + }, + }, + tR9tdaWOvF: { + type: 200, + data: { + text: "India", + val: "india", + }, + }, + tvUxd2IoPo: { + type: 200, + data: { + text: "Indonesia", + val: "indonesia", + }, + }, +}; + +export const results: SearchResults = [ + { + item: { + id: "tR9tdaWOvF", + parentId: "Ej0xpn4l8u", + type: 200, + data: { + text: "India", + val: "india", + }, + }, + key: "data.val", + matchIndices: [[0, 2]], + }, + { + item: { + id: "tvUxd2IoPo", + parentId: "Ej0xpn4l8u", + type: 200, + data: { + text: "Indonesia", + val: "indonesia", + }, + }, + key: "data.val", + matchIndices: [[0, 2]], + }, +]; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/StyledTab.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/StyledTab.tsx new file mode 100644 index 0000000000..7bc7245b4b --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/StyledTab.tsx @@ -0,0 +1,26 @@ +import { styled } from "@mui/material/styles"; +import Tab, { tabClasses, TabProps } from "@mui/material/Tab"; +import React from "react"; +import { FONT_WEIGHT_SEMI_BOLD } from "theme"; + +const StyledTab = styled((props: TabProps) => ( + +))(({ theme }) => ({ + position: "relative", + zIndex: 1, + textTransform: "none", + background: "transparent", + borderBottomColor: theme.palette.border.main, + color: theme.palette.text.primary, + minWidth: "75px", + minHeight: "36px", + margin: theme.spacing(0, 0.5), + padding: "0.75em 0.25em", + [`&.${tabClasses.selected}`]: { + fontWeight: FONT_WEIGHT_SEMI_BOLD, + color: theme.palette.text.primary, + boxShadow: `inset 0 -3px 0 ${theme.palette.info.main}`, + }, +})); + +export default StyledTab; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/index.tsx index a5777aeb1a..b76df2413f 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Sidebar/index.tsx @@ -1,8 +1,7 @@ +import ReactJson from "@microlink/react-json-view"; import LanguageIcon from "@mui/icons-material/Language"; -import MenuOpenIcon from "@mui/icons-material/MenuOpen"; import OpenInNewIcon from "@mui/icons-material/OpenInNew"; import OpenInNewOffIcon from "@mui/icons-material/OpenInNewOff"; -import RefreshIcon from "@mui/icons-material/Refresh"; import Badge from "@mui/material/Badge"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; @@ -13,7 +12,6 @@ import DialogContent from "@mui/material/DialogContent"; import DialogTitle from "@mui/material/DialogTitle"; import Link from "@mui/material/Link"; import { styled } from "@mui/material/styles"; -import Tab, { tabClasses } from "@mui/material/Tab"; import Tabs from "@mui/material/Tabs"; import Tooltip from "@mui/material/Tooltip"; import Typography from "@mui/material/Typography"; @@ -23,6 +21,7 @@ import { formatLastPublishMessage } from "pages/FlowEditor/utils"; import React, { useState } from "react"; import { useAsync } from "react-use"; import Permission from "ui/editor/Permission"; +import Reset from "ui/icons/Reset"; import Input from "ui/shared/Input"; import Questions from "../../../Preview/Questions"; @@ -35,13 +34,16 @@ import { ValidationChecks, } from "./PublishDialog"; import Search from "./Search"; +import StyledTab from "./StyledTab"; -type SidebarTabs = "PreviewBrowser" | "History" | "Search"; +type SidebarTabs = "PreviewBrowser" | "History" | "Search" | "Console"; -const Console = styled(Box)(() => ({ +const Console = styled(Box)(({ theme }) => ({ overflow: "auto", - padding: 20, - maxHeight: "50%", + padding: theme.spacing(2), + height: "100%", + backgroundColor: theme.palette.background.dark, + color: theme.palette.common.white, })); const Root = styled(Box)(({ theme }) => ({ @@ -64,10 +66,11 @@ const SidebarContainer = styled(Box)(() => ({ overflow: "auto", flex: 1, background: "#fff", + position: "relative", })); const Header = styled("header")(({ theme }) => ({ - padding: theme.spacing(1), + padding: theme.spacing(1, 1.5), "& input": { flex: "1", padding: "5px", @@ -83,6 +86,15 @@ const Header = styled("header")(({ theme }) => ({ }, })); +const ResetToggle = styled(Button)(({ theme }) => ({ + position: "absolute", + top: 0, + right: theme.spacing(3), + padding: theme.spacing(1, 1, 1, 0), + textDecorationStyle: "solid", + color: theme.palette.text.primary, +})); + const TabList = styled(Box)(({ theme }) => ({ position: "relative", // Use a pseudo element as border to allow for tab border overlap without excessive MUI overrides @@ -97,6 +109,7 @@ const TabList = styled(Box)(({ theme }) => ({ }, "& .MuiTabs-root": { minHeight: "0", + padding: theme.spacing(0, 1.5), }, // Hide default MUI indicator as we're using custom styling "& .MuiTabs-indicator": { @@ -104,27 +117,6 @@ const TabList = styled(Box)(({ theme }) => ({ }, })); -const StyledTab = styled(Tab)(({ theme }) => ({ - position: "relative", - zIndex: 1, - textTransform: "none", - background: "transparent", - border: `1px solid transparent`, - borderBottomColor: theme.palette.border.main, - color: theme.palette.primary.main, - fontWeight: "600", - minHeight: "36px", - margin: theme.spacing(0, 0.5), - marginBottom: "-1px", - padding: "0.5em", - [`&.${tabClasses.selected}`]: { - background: theme.palette.background.default, - borderColor: theme.palette.border.main, - borderBottomColor: theme.palette.common.white, - color: theme.palette.text.primary, - }, -})) as typeof Tab; - const DebugConsole = () => { const [passport, breadcrumbs, flowId, cachedBreadcrumbs] = useStore( (state) => [ @@ -135,21 +127,28 @@ const DebugConsole = () => { ], ); return ( - - - - Download the flow schema - - -
-        {JSON.stringify({ passport, breadcrumbs, cachedBreadcrumbs }, null, 2)}
-      
+ + ); }; @@ -175,7 +174,6 @@ const Sidebar: React.FC<{ state.validateAndDiffFlow, state.isFlowPublished, ]); - const [key, setKey] = useState(false); const [lastPublishedTitle, setLastPublishedTitle] = useState( "This flow is not published yet", ); @@ -261,21 +259,6 @@ const Sidebar: React.FC<{ value={props.url.replace("/published", "/preview")} /> - - { - resetPreview(); - setKey((a) => !a); - }} - /> - - - - setDebugConsoleVisibility(!showDebugConsole)} - /> - - - + - - - + + + {hasFeatureFlag("SEARCH") && ( - + )} + {activeTab === "PreviewBrowser" && ( - + { + resetPreview(); + }} + > + + Restart + + )} {activeTab === "History" && ( @@ -457,7 +427,11 @@ const Sidebar: React.FC<{ )} - {showDebugConsole && } + {activeTab === "Console" && ( + + + + )} ); }); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/components/AddNewEditorModal.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/components/AddNewEditorModal.tsx index a2b24ff48a..2d83add36d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/components/AddNewEditorModal.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/components/AddNewEditorModal.tsx @@ -5,12 +5,18 @@ import DialogActions from "@mui/material/DialogActions"; import DialogContent from "@mui/material/DialogContent"; import Typography from "@mui/material/Typography"; import { FormikHelpers, useFormik } from "formik"; +import { useToast } from "hooks/useToast"; import { useStore } from "pages/FlowEditor/lib/store"; -import React from "react"; +import React, { useState } from "react"; import InputGroup from "ui/editor/InputGroup"; import InputLabel from "ui/editor/InputLabel"; +import ErrorWrapper from "ui/shared/ErrorWrapper"; import Input from "ui/shared/Input"; +import { + AddNewEditorErrors, + isUserAlreadyExistsError, +} from "../errors/addNewEditorErrors"; import { addNewEditorFormSchema } from "../formSchema"; import { createAndAddUserToTeam } from "../queries/createAndAddUserToTeam"; import { AddNewEditorFormValues, AddNewEditorModalProps } from "../types"; @@ -20,23 +26,44 @@ export const AddNewEditorModal = ({ showModal, setShowModal, }: AddNewEditorModalProps) => { + const [showUserAlreadyExistsError, setShowUserAlreadyExistsError] = + useState(false); + + const toast = useToast(); + + const clearErrors = () => { + setShowUserAlreadyExistsError(false); + }; + const handleSubmit = async ( values: AddNewEditorFormValues, { resetForm }: FormikHelpers, ) => { const { teamId, teamSlug } = useStore.getState(); - const newUserId = await createAndAddUserToTeam( + const createUserResult = await createAndAddUserToTeam( values.email, values.firstName, values.lastName, teamId, teamSlug, - ); - - optimisticallyUpdateMembersTable(values, newUserId); + ).catch((err) => { + if (isUserAlreadyExistsError(err.message)) { + setShowUserAlreadyExistsError(true); + } + if (err.message === "Unable to create user") { + toast.error("Failed to add new user, please try again"); + } + console.error(err); + }); + if (!createUserResult) { + return; + } + clearErrors(); + optimisticallyUpdateMembersTable(values, createUserResult.id); setShowModal(false); + toast.success("Successfully added a user"); resetForm({ values }); }; @@ -53,13 +80,14 @@ export const AddNewEditorModal = ({ return ( ({ width: "100%", maxWidth: theme.breakpoints.values.md, borderRadius: 0, borderTop: `20px solid ${theme.palette.primary.main}`, - background: "#FFF", + background: theme.palette.background.paper, margin: theme.spacing(2), }), }} @@ -119,26 +147,36 @@ export const AddNewEditorModal = ({ padding: 2, }} > - - - - + + + <> + + + + + diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/components/MembersTable.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/components/MembersTable.tsx index 9b3a6eb063..8dd3dda581 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/components/MembersTable.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/components/MembersTable.tsx @@ -5,7 +5,6 @@ import TableCell from "@mui/material/TableCell"; import TableContainer from "@mui/material/TableContainer"; import TableHead from "@mui/material/TableHead"; import TableRow from "@mui/material/TableRow"; -import { hasFeatureFlag } from "lib/featureFlags"; import { AddButton } from "pages/Team"; import React, { useState } from "react"; @@ -31,15 +30,33 @@ export const MembersTable = ({ if (members.length === 0) { return ( - - - - - No members found - - - -
+ <> + + + + + No members found + + + + {showAddMemberButton && ( + + + setShowModal(true)}> + Add a new editor + + + + )} +
+ + {showModal && ( + + )} + ); } @@ -88,7 +105,7 @@ export const MembersTable = ({ {member.email} ))} - {showAddMemberButton && hasFeatureFlag("ADD_NEW_EDITOR") && ( + {showAddMemberButton && ( setShowModal(true)}> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/errors/addNewEditorErrors.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/errors/addNewEditorErrors.tsx new file mode 100644 index 0000000000..c700f17bae --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/errors/addNewEditorErrors.tsx @@ -0,0 +1,8 @@ +export const AddNewEditorErrors = { + USER_ALREADY_EXISTS: { + regex: /violates unique constraint "users_email_key"/i, + errorMessage: "User already exists", + }, +}; +export const isUserAlreadyExistsError = (error: string) => + AddNewEditorErrors.USER_ALREADY_EXISTS.regex.test(error); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx index 46a4161e55..6bd17e6ab0 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx @@ -1,8 +1,12 @@ -import { gql } from "@apollo/client"; +import { FetchResult, gql } from "@apollo/client"; import { GET_USERS_FOR_TEAM_QUERY } from "routes/teamMembers"; import { client } from "../../../../../lib/graphql"; +type CreateAndAddUserResponse = FetchResult<{ + insert_users_one: { id: number; __typename: "users" }; +}>; + export const createAndAddUserToTeam = async ( email: string, firstName: string, @@ -11,7 +15,7 @@ export const createAndAddUserToTeam = async ( teamSlug: string, ) => { // NB: the user is hard-coded with the 'teamEditor' role for now - const response = (await client.mutate({ + const response: CreateAndAddUserResponse = await client.mutate({ mutation: gql` mutation CreateAndAddUserToTeam( $email: String! @@ -40,6 +44,9 @@ export const createAndAddUserToTeam = async ( refetchQueries: [ { query: GET_USERS_FOR_TEAM_QUERY, variables: { teamSlug } }, ], - })) as any; - return response.data.insert_users_one; + }); + if (response.data) { + return response.data.insert_users_one; + } + throw new Error("Unable to create user"); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.serverSide.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.serverSide.test.tsx new file mode 100644 index 0000000000..22fd4e5db2 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.serverSide.test.tsx @@ -0,0 +1,36 @@ +import { screen } from "@testing-library/react"; +import { FullStore, useStore } from "pages/FlowEditor/lib/store"; +import { vi } from "vitest"; + +import { setupTeamMembersScreen } from "./helpers/setupTeamMembersScreen"; +import { userTriesToAddNewEditor } from "./helpers/userTriesToAddNewEditor"; +import { mockTeamMembersData } from "./mocks/mockTeamMembersData"; +import { alreadyExistingUser } from "./mocks/mockUsers"; + +let initialState: FullStore; +vi.mock( + "pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx", + () => ({ + createAndAddUserToTeam: vi.fn().mockRejectedValue({ + message: "Unable to create user", + }), + }), +); + +describe("when a user fills in the 'add a new editor' form correctly but there is a server-side error", () => { + afterAll(() => useStore.setState(initialState)); + beforeEach(async () => { + useStore.setState({ + teamMembers: [...mockTeamMembersData, alreadyExistingUser], + }); + + const { user } = await setupTeamMembersScreen(); + await userTriesToAddNewEditor(user); + }); + + it("shows an appropriate error message", async () => { + expect( + await screen.findByText(/Failed to add new user, please try again/), + ).toBeInTheDocument(); + }); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.userAlreadyExists.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.userAlreadyExists.test.tsx new file mode 100644 index 0000000000..11f53bc288 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.errors.userAlreadyExists.test.tsx @@ -0,0 +1,39 @@ +import { screen, within } from "@testing-library/react"; +import { FullStore, useStore } from "pages/FlowEditor/lib/store"; +import { vi } from "vitest"; + +import { setupTeamMembersScreen } from "./helpers/setupTeamMembersScreen"; +import { userTriesToAddNewEditor } from "./helpers/userTriesToAddNewEditor"; +import { mockTeamMembersData } from "./mocks/mockTeamMembersData"; +import { alreadyExistingUser } from "./mocks/mockUsers"; + +vi.mock( + "pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx", + () => ({ + createAndAddUserToTeam: vi.fn().mockRejectedValue({ + message: + 'Uniqueness violation. duplicate key value violates unique constraint "users_email_key"', + }), + }), +); +let initialState: FullStore; + +describe("when a user fills in the 'add a new editor' form correctly but the user already exists", () => { + afterAll(() => useStore.setState(initialState)); + beforeEach(async () => { + useStore.setState({ + teamMembers: [...mockTeamMembersData, alreadyExistingUser], + }); + + const { user } = await setupTeamMembersScreen(); + await userTriesToAddNewEditor(user); + }); + + it("shows an appropriate error message", async () => { + const addNewEditorModal = await screen.findByTestId("dialog-create-user"); + + expect( + await within(addNewEditorModal).findByText(/User already exists/), + ).toBeInTheDocument(); + }); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.noExistingMembers.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.noExistingMembers.test.tsx new file mode 100644 index 0000000000..c3f5e64a4d --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.noExistingMembers.test.tsx @@ -0,0 +1,30 @@ +import { screen, within } from "@testing-library/react"; +import { useStore } from "pages/FlowEditor/lib/store"; + +import { TeamMember } from "../types"; +import { setupTeamMembersScreen } from "./helpers/setupTeamMembersScreen"; + +const mockTeamMembersDataWithNoTeamEditors: TeamMember[] = [ + { + firstName: "Donella", + lastName: "Meadows", + email: "donella@example.com", + id: 1, + role: "platformAdmin", + }, +]; + +describe("when a user views the 'Team members' screen but there are no existing team editors listed", () => { + beforeEach(async () => { + useStore.setState({ teamMembers: mockTeamMembersDataWithNoTeamEditors }); + const { getByText } = await setupTeamMembersScreen(); + getByText("No members found"); + }); + + it("shows the 'add a new editor' button", async () => { + const teamEditorsTable = screen.getByTestId("team-editors"); + expect( + await within(teamEditorsTable).findByText("Add a new editor"), + ).toBeVisible(); + }); +}); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.test.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.test.tsx index 43dd52fc21..2968cd0830 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.test.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/TeamMembers.addNewEditor.test.tsx @@ -1,14 +1,16 @@ - import { screen, waitFor, within } from "@testing-library/react"; import { FullStore, useStore } from "pages/FlowEditor/lib/store"; +import React from "react"; +import { DndProvider } from "react-dnd"; +import { HTML5Backend } from "react-dnd-html5-backend"; import { vi } from "vitest"; +import { axe } from "vitest-axe"; +import { setup } from "../../../../../testUtils"; +import { AddNewEditorModal } from "../components/AddNewEditorModal"; import { setupTeamMembersScreen } from "./helpers/setupTeamMembersScreen"; -import { userEntersInput } from "./helpers/userEntersInput"; - -vi.mock("lib/featureFlags.ts", () => ({ - hasFeatureFlag: vi.fn().mockReturnValue(true), -})); +import { userTriesToAddNewEditor } from "./helpers/userTriesToAddNewEditor"; +import { mockTeamMembersData } from "./mocks/mockTeamMembersData"; vi.mock( "pages/FlowEditor/components/Team/queries/createAndAddUserToTeam.tsx", @@ -22,9 +24,10 @@ vi.mock( let initialState: FullStore; -describe("when a user with the ADD_NEW_EDITOR feature flag enabled presses 'add a new editor'", () => { +describe("when a user presses 'add a new editor'", () => { beforeEach(async () => { - const user = await setupTeamMembersScreen(); + useStore.setState({ teamMembers: mockTeamMembersData }); + const { user } = await setupTeamMembersScreen(); const teamEditorsTable = screen.getByTestId("team-editors"); const addEditorButton = await within(teamEditorsTable).findByText( @@ -42,26 +45,9 @@ describe("when a user with the ADD_NEW_EDITOR feature flag enabled presses 'add describe("when a user fills in the 'add a new editor' form correctly", () => { afterAll(() => useStore.setState(initialState)); beforeEach(async () => { - const user = await setupTeamMembersScreen(); - const teamEditorsTable = screen.getByTestId("team-editors"); - const addEditorButton = await within(teamEditorsTable).findByText( - "Add a new editor", - ); - user.click(addEditorButton); - const addNewEditorModal = await screen.findByTestId("modal-create-user"); - await userEntersInput("First name", "Mickey", addNewEditorModal); - await userEntersInput("Last name", "Mouse", addNewEditorModal); - await userEntersInput( - "Email address", - "mickeymouse@email.com", - addNewEditorModal, - ); - - const createUserButton = await screen.findByTestId( - "modal-create-user-button", - ); - - user.click(createUserButton); + useStore.setState({ teamMembers: mockTeamMembersData }); + const { user } = await setupTeamMembersScreen(); + await userTriesToAddNewEditor(user); }); it("adds the new user row to the Team Editors table", async () => { @@ -73,4 +59,30 @@ describe("when a user fills in the 'add a new editor' form correctly", () => { ).toBeInTheDocument(); }); }); + + it("closes the modal", async () => { + await waitFor(() => { + expect(screen.queryByTestId("modal-create-user")).not.toBeInTheDocument(); + }); + }); + + it("shows a success message", async () => { + expect( + await screen.findByText(/Successfully added a user/), + ).toBeInTheDocument(); + }); +}); + +describe("when the addNewEditor modal is rendered", () => { + it("should not have any accessibility issues", async () => { + const { container } = setup( + + {}} /> + , + ); + await screen.findByTestId("modal-create-user"); + + const results = await axe(container); + expect(results).toHaveNoViolations(); + }); }); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/setupTeamMembersScreen.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/setupTeamMembersScreen.tsx index a6eea16445..a5e31dfb44 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/setupTeamMembersScreen.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/setupTeamMembersScreen.tsx @@ -1,21 +1,20 @@ import { screen } from "@testing-library/react"; -import { useStore } from "pages/FlowEditor/lib/store"; +import { ToastContextProvider } from "contexts/ToastContext"; import React from "react"; import { DndProvider } from "react-dnd"; import { HTML5Backend } from "react-dnd-html5-backend"; import { setup } from "../../../../../../testUtils"; import { TeamMembers } from "../../TeamMembers"; -import { exampleTeamMembersData } from "../exampleTeamMembersData"; export const setupTeamMembersScreen = async () => { - useStore.setState({ teamMembers: exampleTeamMembersData }); - - const { user } = setup( + const setupResult = setup( - + + + , ); - await screen.findByText("Team editors"); - return user; + await screen.findByTestId("team-editors"); + return setupResult; }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userEntersInput.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userEntersInput.tsx index 546955d2c6..f414d307ad 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userEntersInput.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userEntersInput.tsx @@ -1,13 +1,13 @@ -import { fireEvent, within } from "@testing-library/react"; +import { within } from "@testing-library/react"; +import { UserEvent } from "@testing-library/user-event/dist/types/setup/setup"; export const userEntersInput = async ( labelText: string, inputString: string, container: HTMLElement, + user: UserEvent, ) => { const inputField = await within(container).findByLabelText(labelText); - fireEvent.change(inputField, { - target: { value: inputString }, - }); + await user.type(inputField, inputString); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userTriesToAddNewEditor.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userTriesToAddNewEditor.tsx new file mode 100644 index 0000000000..c78eb956c0 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/helpers/userTriesToAddNewEditor.tsx @@ -0,0 +1,27 @@ +import { screen, within } from "@testing-library/react"; +import { UserEvent } from "@testing-library/user-event/dist/types/setup/setup"; + +import { userEntersInput } from "./userEntersInput"; + +export const userTriesToAddNewEditor = async (user: UserEvent) => { + const teamEditorsTable = screen.getByTestId("team-editors"); + const addEditorButton = await within(teamEditorsTable).findByText( + "Add a new editor", + ); + user.click(addEditorButton); + const addNewEditorModal = await screen.findByTestId("modal-create-user"); + await userEntersInput("First name", "Mickey", addNewEditorModal, user); + await userEntersInput("Last name", "Mouse", addNewEditorModal, user); + await userEntersInput( + "Email address", + "mickeymouse@email.com", + addNewEditorModal, + user, + ); + + const createUserButton = await screen.findByTestId( + "modal-create-user-button", + ); + + user.click(createUserButton); +}; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/exampleTeamMembersData.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockTeamMembersData.tsx similarity index 73% rename from editor.planx.uk/src/pages/FlowEditor/components/Team/tests/exampleTeamMembersData.tsx rename to editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockTeamMembersData.tsx index f1b15fd214..092873fa1d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/exampleTeamMembersData.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockTeamMembersData.tsx @@ -1,6 +1,6 @@ -import { TeamMember } from "../types"; +import { TeamMember } from "../../types"; -export const exampleTeamMembersData: TeamMember[] = [ +export const mockTeamMembersData: TeamMember[] = [ { firstName: "Donella", lastName: "Meadows", diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockUsers.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockUsers.tsx new file mode 100644 index 0000000000..c8d2de0121 --- /dev/null +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/tests/mocks/mockUsers.tsx @@ -0,0 +1,9 @@ +import { TeamMember } from "../../types"; + +export const alreadyExistingUser: TeamMember = { + firstName: "Mickey", + lastName: "Mouse", + email: "mickeymouse@email.com", + id: 3, + role: "teamEditor", +}; diff --git a/editor.planx.uk/src/pages/GlobalSettings.tsx b/editor.planx.uk/src/pages/GlobalSettings.tsx index 13c1f60211..38da050091 100644 --- a/editor.planx.uk/src/pages/GlobalSettings.tsx +++ b/editor.planx.uk/src/pages/GlobalSettings.tsx @@ -1,12 +1,11 @@ -import Alert from "@mui/material/Alert"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; import Container from "@mui/material/Container"; -import Snackbar from "@mui/material/Snackbar"; import Typography from "@mui/material/Typography"; import { useFormik } from "formik"; +import { useToast } from "hooks/useToast"; import { useStore } from "pages/FlowEditor/lib/store"; -import React, { useState } from "react"; +import React from "react"; import type { TextContent } from "types"; import InputGroup from "ui/editor/InputGroup"; import InputLegend from "ui/editor/InputLegend"; @@ -24,8 +23,7 @@ function Component() { state.globalSettings, state.updateGlobalSettings, ]); - - const [isAlertOpen, setIsAlertOpen] = useState(false); + const toast = useToast(); const formik = useFormik({ initialValues: { @@ -49,73 +47,51 @@ function Component() { ); updateGlobalSettings(formatted); - setIsAlertOpen(true); + toast.success("Footer settings updated successfully"); }, }); - const handleClose = ( - _event?: React.SyntheticEvent | Event, - reason?: string, - ) => { - if (reason === "clickaway") { - return; - } - - setIsAlertOpen(false); - }; - return ( - <> - -
- - - Global Settings - - - - - Footer Elements - -

Manage the content that will appear in the footer.

-

- The heading will appear as a footer link which will open a - content page. -

-
- - { - formik.setFieldValue("footerContent", newOptions); - }} - newValue={() => - ({ - heading: "", - content: "", - show: true, - }) as TextContent - } - Editor={ContentEditor} - /> - -
- -
-
-
- - - Footer settings updated successfully - - - + +
+ + + Global Settings + + + + + Footer Elements + +

Manage the content that will appear in the footer.

+

+ The heading will appear as a footer link which will open a + content page. +

+
+ + { + formik.setFieldValue("footerContent", newOptions); + }} + newValue={() => + ({ + heading: "", + content: "", + show: true, + }) as TextContent + } + Editor={ContentEditor} + /> + +
+ +
+
+
); } diff --git a/editor.planx.uk/src/pages/Preview/Node.tsx b/editor.planx.uk/src/pages/Preview/Node.tsx index ad640df365..239511cd57 100644 --- a/editor.planx.uk/src/pages/Preview/Node.tsx +++ b/editor.planx.uk/src/pages/Preview/Node.tsx @@ -44,28 +44,22 @@ interface Props { data?: any; } -const Node: React.FC = (props: Props) => { +const Node: React.FC = (props) => { const [ childNodesOf, resultData, hasPaid, - passport, isFinalCard, resetPreview, - sessionId, cachedBreadcrumbs, - flowName, flowSettings, ] = useStore((state) => [ state.childNodesOf, state.resultData, state.hasPaid(), - state.computePassport(), state.isFinalCard(), state.resetPreview, - state.sessionId, state.cachedBreadcrumbs, - state.flowName, state.flowSettings, ]); diff --git a/editor.planx.uk/src/pages/Preview/Questions.tsx b/editor.planx.uk/src/pages/Preview/Questions.tsx index ac1f400730..2f69cc4c60 100644 --- a/editor.planx.uk/src/pages/Preview/Questions.tsx +++ b/editor.planx.uk/src/pages/Preview/Questions.tsx @@ -1,6 +1,6 @@ import ArrowBackIcon from "@mui/icons-material/ArrowBack"; import Box from "@mui/material/Box"; -import ButtonBase from "@mui/material/ButtonBase"; +import Button from "@mui/material/Button"; import Container from "@mui/material/Container"; import { styled } from "@mui/material/styles"; import { ComponentType as TYPES } from "@opensystemslab/planx-core/types"; @@ -23,23 +23,12 @@ const BackBar = styled(Box)(() => ({ zIndex: "1000", })); -export const BackButton = styled(ButtonBase)(({ theme, hidden }) => ({ +export const BackButton = styled(Button)(({ theme, hidden }) => ({ visibility: "visible", pointerEvents: "auto", - display: "flex", - cursor: "pointer", userSelect: "none", alignSelf: "start", - fontSize: "inherit", - background: "transparent", - border: "none", - columnGap: theme.spacing(1), padding: theme.spacing(1, 1, 1, 0), - minHeight: "48px", - textDecoration: "underline", - "&:hover": { - textDecorationThickness: "3px", - }, ...(hidden && { visibility: "hidden", pointerEvents: "none", @@ -180,6 +169,7 @@ const Questions = ({ previewEnvironment }: QuestionsProps) => {