diff --git a/apps/dashboard/app/(app)/settings/billing/plans/button.tsx b/apps/dashboard/app/(app)/settings/billing/plans/button.tsx index fa15a8a150..8b10427ec1 100644 --- a/apps/dashboard/app/(app)/settings/billing/plans/button.tsx +++ b/apps/dashboard/app/(app)/settings/billing/plans/button.tsx @@ -45,6 +45,18 @@ export const ChangePlanButton: React.FC = ({ workspace, newPlan, label }) }, }); + const handleClick = () => { + const hasPaymentMethod = !!workspace.stripeCustomerId; + if (!hasPaymentMethod && newPlan === "pro") { + return router.push(`/settings/billing/stripe?new_plan=${newPlan}`); + } + + changePlan.mutateAsync({ + workspaceId: workspace.id, + plan: newPlan === "free" ? "free" : "pro", + }); + }; + const isSamePlan = workspace.plan === newPlan; return ( @@ -90,16 +102,7 @@ export const ChangePlanButton: React.FC = ({ workspace, newPlan, label }) - diff --git a/apps/dashboard/app/(app)/settings/billing/stripe/page.tsx b/apps/dashboard/app/(app)/settings/billing/stripe/page.tsx index 28faa4cb78..cfc9a343ab 100644 --- a/apps/dashboard/app/(app)/settings/billing/stripe/page.tsx +++ b/apps/dashboard/app/(app)/settings/billing/stripe/page.tsx @@ -7,7 +7,14 @@ import { headers } from "next/headers"; import { redirect } from "next/navigation"; import Stripe from "stripe"; -export default async function StripeRedirect() { +type Props = { + searchParams: { + new_plan: "free" | "pro" | undefined; + }; +}; + +export default async function StripeRedirect(props: Props) { + const { new_plan } = props.searchParams; const tenantId = getTenantId(); if (!tenantId) { return redirect("/auth/sign-in"); @@ -53,7 +60,12 @@ export default async function StripeRedirect() { const baseUrl = process.env.VERCEL_URL ? "https://app.unkey.com" : "http://localhost:3000"; // do not use `new URL(...).searchParams` here, because it will escape the curly braces and stripe will not replace them with the session id - const successUrl = `${baseUrl}/settings/billing/stripe/success?session_id={CHECKOUT_SESSION_ID}`; + let successUrl = `${baseUrl}/settings/billing/stripe/success?session_id={CHECKOUT_SESSION_ID}`; + + // if they're coming from the change plan flow, pass along the new plan param + if (new_plan && new_plan !== ws.plan) { + successUrl += `&new_plan=${new_plan}`; + } const cancelUrl = headers().get("referer") ?? baseUrl; const session = await stripe.checkout.sessions.create({ diff --git a/apps/dashboard/app/(app)/settings/billing/stripe/success/page.tsx b/apps/dashboard/app/(app)/settings/billing/stripe/success/page.tsx index 9e2492c103..bda76f02ab 100644 --- a/apps/dashboard/app/(app)/settings/billing/stripe/success/page.tsx +++ b/apps/dashboard/app/(app)/settings/billing/stripe/success/page.tsx @@ -3,6 +3,7 @@ import { Code } from "@/components/ui/code"; import { getTenantId } from "@/lib/auth"; import { db, eq, schema } from "@/lib/db"; import { stripeEnv } from "@/lib/env"; +import { PostHogClient } from "@/lib/posthog"; import { currentUser } from "@clerk/nextjs"; import { redirect } from "next/navigation"; import Stripe from "stripe"; @@ -10,10 +11,12 @@ import Stripe from "stripe"; type Props = { searchParams: { session_id: string; + new_plan: "free" | "pro" | undefined; }; }; export default async function StripeSuccess(props: Props) { + const { session_id, new_plan } = props.searchParams; const tenantId = getTenantId(); if (!tenantId) { return redirect("/auth/sign-in"); @@ -44,14 +47,14 @@ export default async function StripeSuccess(props: Props) { typescript: true, }); - const session = await stripe.checkout.sessions.retrieve(props.searchParams.session_id); + const session = await stripe.checkout.sessions.retrieve(session_id); if (!session) { return ( Stripe session not found - The Stripe session {props.searchParams.session_id} you are trying to access - does not exist. Please contact support@unkey.dev. + The Stripe session {session_id} you are trying to access does not exist. + Please contact support@unkey.dev. ); @@ -69,14 +72,25 @@ export default async function StripeSuccess(props: Props) { ); } + const isChangingPlan = new_plan && new_plan !== ws.plan; + await db .update(schema.workspaces) .set({ stripeCustomerId: customer.id, stripeSubscriptionId: session.subscription as string, trialEnds: null, + ...(isChangingPlan ? { plan: new_plan } : {}), }) .where(eq(schema.workspaces.id, ws.id)); + if (isChangingPlan) { + PostHogClient.capture({ + distinctId: tenantId, + event: "plan_changed", + properties: { plan: new_plan, workspace: ws.id }, + }); + } + return redirect("/settings/billing"); } diff --git a/apps/dashboard/lib/posthog.ts b/apps/dashboard/lib/posthog.ts new file mode 100644 index 0000000000..7c7c5f5be6 --- /dev/null +++ b/apps/dashboard/lib/posthog.ts @@ -0,0 +1,29 @@ +import { PostHog } from "posthog-node"; + +class PostHogClientWrapper { + private static instance: PostHog | null = null; + + private constructor() {} + + public static getInstance(): PostHog { + if (!PostHogClientWrapper.instance) { + if (!process.env.NEXT_PUBLIC_POSTHOG_KEY || !process.env.NEXT_PUBLIC_POSTHOG_HOST) { + console.warn("PostHog key is missing. Analytics data will not be sent."); + // Return a mock client when the key is not present + PostHogClientWrapper.instance = { + capture: () => {}, + // Add other methods from PostHog, implementing them as no-ops + } as unknown as PostHog; + } else { + PostHogClientWrapper.instance = new PostHog(process.env.NEXT_PUBLIC_POSTHOG_KEY, { + host: process.env.NEXT_PUBLIC_POSTHOG_HOST, + flushAt: 1, + flushInterval: 0, + }); + } + } + return PostHogClientWrapper.instance; + } +} + +export const PostHogClient = PostHogClientWrapper.getInstance(); diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index cad9be83f7..986825c782 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -89,6 +89,7 @@ "postcss": "8.4.38", "postcss-focus-visible": "^9.0.1", "posthog-js": "^1.130.1", + "posthog-node": "^4.2.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.51.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bfae0b7ade..35141a4b3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -462,6 +462,9 @@ importers: posthog-js: specifier: ^1.130.1 version: 1.130.1 + posthog-node: + specifier: ^4.2.0 + version: 4.2.0 react: specifier: ^18.2.0 version: 18.3.1 @@ -861,7 +864,7 @@ importers: version: link:../../internal/worker-logging ai: specifier: ^3.0.23 - version: 3.0.23(react@18.3.1)(solid-js@1.8.22)(svelte@4.2.19)(vue@3.5.6)(zod@3.23.8) + version: 3.0.23(react@18.3.1)(solid-js@1.8.22)(svelte@4.2.19)(vue@3.5.7)(zod@3.23.8) drizzle-orm: specifier: generated version: 0.32.0-aaf764c(@cloudflare/workers-types@4.20240603.0)(@planetscale/database@1.18.0)(react@18.3.1) @@ -1223,7 +1226,7 @@ importers: devDependencies: checkly: specifier: latest - version: 4.8.1(@types/node@20.14.9)(typescript@5.5.3) + version: 4.9.0(@types/node@20.14.9)(typescript@5.5.3) ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@20.14.9)(typescript@5.5.3) @@ -1425,7 +1428,7 @@ importers: version: 18.3.1 react-email: specifier: 2.1.1 - version: 2.1.1(@babel/core@7.25.2)(eslint@9.10.0)(ts-node@10.9.2) + version: 2.1.1(@babel/core@7.25.2)(eslint@9.11.0)(ts-node@10.9.2) resend: specifier: ^3.4.0 version: 3.4.0 @@ -2084,7 +2087,7 @@ packages: '@antv/g6-core': 0.8.24 '@antv/g6-element': 0.8.24(@antv/g6@4.8.24) '@antv/g6-plugin': 0.8.24(@antv/g6@4.8.24) - '@antv/hierarchy': 0.6.13 + '@antv/hierarchy': 0.6.14 '@antv/layout': 0.3.25(dagre@0.8.5) '@antv/matrix-util': 3.1.0-beta.3 '@antv/path-util': 2.0.15 @@ -2128,8 +2131,8 @@ packages: resolution: {integrity: sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==} dev: false - /@antv/hierarchy@0.6.13: - resolution: {integrity: sha512-gBC0bYXyBVrprWyR0hqINNYfeovxdIcKBAR7x6DfNyN1Gc3hGaSo0wif6Lrv/aWVHz17FeQlVsf8rgEx343FHg==} + /@antv/hierarchy@0.6.14: + resolution: {integrity: sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ==} dev: false /@antv/layout@0.1.31: @@ -2146,7 +2149,7 @@ packages: dependencies: '@antv/g-webgpu': 0.7.2 '@antv/graphlib': 1.2.0 - '@antv/util': 3.3.8 + '@antv/util': 3.3.10 d3-force: 2.1.1 d3-quadtree: 2.0.0 dagre-compound: 0.0.11(dagre@0.8.5) @@ -2202,8 +2205,8 @@ packages: tslib: 2.7.0 dev: false - /@antv/util@3.3.8: - resolution: {integrity: sha512-RO2vmp84adfZn5HVXuNtHr35PRWthw4oCUv0hn9DmEWwOJSeU6NtDCEg9KvU8sH2bJaS3fe/cppNSVy2L8tOaw==} + /@antv/util@3.3.10: + resolution: {integrity: sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ==} dependencies: fast-deep-equal: 3.1.3 gl-matrix: 3.4.3 @@ -4471,13 +4474,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.10.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.11.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.10.0 + eslint: 9.11.0 eslint-visitor-keys: 3.4.3 dev: false @@ -4514,8 +4517,8 @@ packages: - supports-color dev: false - /@eslint/js@9.10.0: - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + /@eslint/js@9.11.0: + resolution: {integrity: sha512-LPkkenkDqyzTFauZLLAPhIb48fj6drrfMvRGSL9tS3AcZBSVTllemLSNyCvHNNL2t797S/6DJNSIwRwXgMO/eQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false @@ -4524,8 +4527,8 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false - /@eslint/plugin-kit@0.1.0: - resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + /@eslint/plugin-kit@0.2.0: + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: levn: 0.4.1 @@ -5315,7 +5318,7 @@ packages: periscopic: 3.1.0 remark-mdx: 3.0.1 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 source-map: 0.7.4 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 @@ -5332,7 +5335,7 @@ packages: react: '>=16' dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 /@million/lint@0.0.73: @@ -5614,8 +5617,8 @@ packages: strict-event-emitter: 0.5.1 dev: true - /@mswjs/interceptors@0.35.6: - resolution: {integrity: sha512-PpD687w7qLxVMK176bpQjbzU9O0VC75QnBK5U1lKd29s4hIuxfTItUD6raNKyQ6BN8b64/8HE34RuYTkwH9uPQ==} + /@mswjs/interceptors@0.35.8: + resolution: {integrity: sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==} engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -7019,8 +7022,8 @@ packages: resolution: {integrity: sha512-t2XdOfrVgcF7AW791FtdPS27NyNqcE1SpoXgk3HpziousvUMsJi4Q6NL3JyOBpsMOrvk94749o8yyonvX5quPw==} engines: {node: '>=16'} - /@polka/url@1.0.0-next.27: - resolution: {integrity: sha512-MU0SYgcrBdSVLu7Tfow3VY4z1odzlaTYRjt3WQ0z8XbjDWReuy+EALt2HdjhrwD2HPiW2GY+KTSw4HLv4C/EOA==} + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} /@probe.gl/env@3.6.0: resolution: {integrity: sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==} @@ -7234,7 +7237,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -7248,8 +7251,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7373,7 +7376,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -7388,14 +7391,14 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7479,7 +7482,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -7493,11 +7496,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7585,7 +7588,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -7595,7 +7598,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -7646,7 +7649,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-context@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -7656,7 +7659,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -7818,7 +7821,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-direction@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -7828,7 +7831,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -7873,7 +7876,7 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -7888,11 +7891,11 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7923,7 +7926,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -7938,11 +7941,11 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8066,7 +8069,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -8076,7 +8079,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -8128,7 +8131,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -8142,10 +8145,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8225,7 +8228,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-id@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -8235,8 +8238,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -8395,7 +8398,7 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.2.79)(react@18.3.1) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -8410,27 +8413,27 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.5.5(@types/react@18.3.7)(react@18.3.1) + react-remove-scroll: 2.5.5(@types/react@18.3.8)(react@18.3.1) dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -8445,16 +8448,16 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.7)(react@18.3.1) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.8)(react@18.3.1) '@radix-ui/rect': 1.0.1 - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8490,7 +8493,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -8505,16 +8508,16 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.7)(react@18.3.1) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.8)(react@18.3.1) '@radix-ui/rect': 1.0.1 - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8587,7 +8590,7 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -8601,8 +8604,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8629,7 +8632,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -8643,8 +8646,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8745,7 +8748,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -8759,9 +8762,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8881,7 +8884,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -8895,8 +8898,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8982,7 +8985,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -8997,15 +9000,15 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-direction': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -9228,7 +9231,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-slot@1.0.2(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -9238,8 +9241,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9396,7 +9399,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -9411,19 +9414,19 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-direction': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -9438,15 +9441,15 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==} peerDependencies: '@types/react': '*' @@ -9461,18 +9464,18 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -9561,7 +9564,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -9571,7 +9574,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9624,7 +9627,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -9634,8 +9637,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9704,7 +9707,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -9714,8 +9717,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9782,7 +9785,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -9792,7 +9795,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9850,7 +9853,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -9861,7 +9864,7 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@radix-ui/rect': 1.0.1 - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9893,7 +9896,7 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.3.7)(react@18.3.1): + /@radix-ui/react-use-size@1.0.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -9903,8 +9906,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.7)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false @@ -9956,7 +9959,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -9970,8 +9973,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -10069,7 +10072,7 @@ packages: react: 18.3.1 dev: false - /@react-email/components@0.0.16(@types/react@18.3.7)(react@18.3.1): + /@react-email/components@0.0.16(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-1WATpMSH03cRvhfNjGl/Up3seZJOzN9KLzlk3Q9g/cqNhZEJ7HYxoZM4AQKAI0V3ttXzzxKv8Oj+AZQLHDiICA==} engines: {node: '>=18.0.0'} peerDependencies: @@ -10083,7 +10086,7 @@ packages: '@react-email/container': 0.0.11(react@18.3.1) '@react-email/font': 0.0.5(react@18.3.1) '@react-email/head': 0.0.7(react@18.3.1) - '@react-email/heading': 0.0.11(@types/react@18.3.7)(react@18.3.1) + '@react-email/heading': 0.0.11(@types/react@18.3.8)(react@18.3.1) '@react-email/hr': 0.0.7(react@18.3.1) '@react-email/html': 0.0.7(react@18.3.1) '@react-email/img': 0.0.7(react@18.3.1) @@ -10138,13 +10141,13 @@ packages: - '@types/react' dev: false - /@react-email/heading@0.0.11(@types/react@18.3.7)(react@18.3.1): + /@react-email/heading@0.0.11(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-EF5ZtRCxhHPw3m+8iibKKg0RAvAeHj1AP68sjU7s6+J+kvRgllr/E972Wi5Y8UvcIGossCvpX1WrSMDzeB4puA==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) react: 18.3.1 transitivePeerDependencies: - '@types/react' @@ -10411,128 +10414,128 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/rollup-android-arm-eabi@4.22.0: - resolution: {integrity: sha512-/IZQvg6ZR0tAkEi4tdXOraQoWeJy9gbQ/cx4I7k9dJaCk9qrXEcdouxRVz5kZXt5C2bQ9pILoAA+KB4C/d3pfw==} + /@rollup/rollup-android-arm-eabi@4.22.2: + resolution: {integrity: sha512-8Ao+EDmTPjZ1ZBABc1ohN7Ylx7UIYcjReZinigedTOnGFhIctyGPxY2II+hJ6gD2/vkDKZTyQ0e7++kwv6wDrw==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.22.0: - resolution: {integrity: sha512-ETHi4bxrYnvOtXeM7d4V4kZWixib2jddFacJjsOjwbgYSRsyXYtZHC4ht134OsslPIcnkqT+TKV4eU8rNBKyyQ==} + /@rollup/rollup-android-arm64@4.22.2: + resolution: {integrity: sha512-I+B1v0a4iqdS9DvYt1RJZ3W+Oh9EVWjbY6gp79aAYipIbxSLEoQtFQlZEnUuwhDXCqMxJ3hluxKAdPD+GiluFQ==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.22.0: - resolution: {integrity: sha512-ZWgARzhSKE+gVUX7QWaECoRQsPwaD8ZR0Oxb3aUpzdErTvlEadfQpORPXkKSdKbFci9v8MJfkTtoEHnnW9Ulng==} + /@rollup/rollup-darwin-arm64@4.22.2: + resolution: {integrity: sha512-BTHO7rR+LC67OP7I8N8GvdvnQqzFujJYWo7qCQ8fGdQcb8Gn6EQY+K1P+daQLnDCuWKbZ+gHAQZuKiQkXkqIYg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.22.0: - resolution: {integrity: sha512-h0ZAtOfHyio8Az6cwIGS+nHUfRMWBDO5jXB8PQCARVF6Na/G6XS2SFxDl8Oem+S5ZsHQgtsI7RT4JQnI1qrlaw==} + /@rollup/rollup-darwin-x64@4.22.2: + resolution: {integrity: sha512-1esGwDNFe2lov4I6GsEeYaAMHwkqk0IbuGH7gXGdBmd/EP9QddJJvTtTF/jv+7R8ZTYPqwcdLpMTxK8ytP6k6Q==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.22.0: - resolution: {integrity: sha512-9pxQJSPwFsVi0ttOmqLY4JJ9pg9t1gKhK0JDbV1yUEETSx55fdyCjt39eBQ54OQCzAF0nVGO6LfEH1KnCPvelA==} + /@rollup/rollup-linux-arm-gnueabihf@4.22.2: + resolution: {integrity: sha512-GBHuY07x96OTEM3OQLNaUSUwrOhdMea/LDmlFHi/HMonrgF6jcFrrFFwJhhe84XtA1oK/Qh4yFS+VMREf6dobg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.22.0: - resolution: {integrity: sha512-YJ5Ku5BmNJZb58A4qSEo3JlIG4d3G2lWyBi13ABlXzO41SsdnUKi3HQHe83VpwBVG4jHFTW65jOQb8qyoR+qzg==} + /@rollup/rollup-linux-arm-musleabihf@4.22.2: + resolution: {integrity: sha512-Dbfa9Sc1G1lWxop0gNguXOfGhaXQWAGhZUcqA0Vs6CnJq8JW/YOw/KvyGtQFmz4yDr0H4v9X248SM7bizYj4yQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.22.0: - resolution: {integrity: sha512-U4G4u7f+QCqHlVg1Nlx+qapZy+QoG+NV6ux+upo/T7arNGwKvKP2kmGM4W5QTbdewWFgudQxi3kDNST9GT1/mg==} + /@rollup/rollup-linux-arm64-gnu@4.22.2: + resolution: {integrity: sha512-Z1YpgBvFYhZIyBW5BoopwSg+t7yqEhs5HCei4JbsaXnhz/eZehT18DaXl957aaE9QK7TRGFryCAtStZywcQe1A==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.22.0: - resolution: {integrity: sha512-aQpNlKmx3amwkA3a5J6nlXSahE1ijl0L9KuIjVOUhfOh7uw2S4piR3mtpxpRtbnK809SBtyPsM9q15CPTsY7HQ==} + /@rollup/rollup-linux-arm64-musl@4.22.2: + resolution: {integrity: sha512-66Zszr7i/JaQ0u/lefcfaAw16wh3oT72vSqubIMQqWzOg85bGCPhoeykG/cC5uvMzH80DQa2L539IqKht6twVA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.22.0: - resolution: {integrity: sha512-9fx6Zj/7vve/Fp4iexUFRKb5+RjLCff6YTRQl4CoDhdMfDoobWmhAxQWV3NfShMzQk1Q/iCnageFyGfqnsmeqQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.22.2: + resolution: {integrity: sha512-HpJCMnlMTfEhwo19bajvdraQMcAq3FX08QDx3OfQgb+414xZhKNf3jNvLFYKbbDSGBBrQh5yNwWZrdK0g0pokg==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.22.0: - resolution: {integrity: sha512-VWQiCcN7zBgZYLjndIEh5tamtnKg5TGxyZPWcN9zBtXBwfcGSZ5cHSdQZfQH/GB4uRxk0D3VYbOEe/chJhPGLQ==} + /@rollup/rollup-linux-riscv64-gnu@4.22.2: + resolution: {integrity: sha512-/egzQzbOSRef2vYCINKITGrlwkzP7uXRnL+xU2j75kDVp3iPdcF0TIlfwTRF8woBZllhk3QaxNOEj2Ogh3t9hg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.22.0: - resolution: {integrity: sha512-EHmPnPWvyYqncObwqrosb/CpH3GOjE76vWVs0g4hWsDRUVhg61hBmlVg5TPXqF+g+PvIbqkC7i3h8wbn4Gp2Fg==} + /@rollup/rollup-linux-s390x-gnu@4.22.2: + resolution: {integrity: sha512-qgYbOEbrPfEkH/OnUJd1/q4s89FvNJQIUldx8X2F/UM5sEbtkqZpf2s0yly2jSCKr1zUUOY1hnTP2J1WOzMAdA==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.22.0: - resolution: {integrity: sha512-tsSWy3YQzmpjDKnQ1Vcpy3p9Z+kMFbSIesCdMNgLizDWFhrLZIoN21JSq01g+MZMDFF+Y1+4zxgrlqPjid5ohg==} + /@rollup/rollup-linux-x64-gnu@4.22.2: + resolution: {integrity: sha512-a0lkvNhFLhf+w7A95XeBqGQaG0KfS3hPFJnz1uraSdUe/XImkp/Psq0Ca0/UdD5IEAGoENVmnYrzSC9Y2a2uKQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.22.0: - resolution: {integrity: sha512-anr1Y11uPOQrpuU8XOikY5lH4Qu94oS6j0xrulHk3NkLDq19MlX8Ng/pVipjxBJ9a2l3+F39REZYyWQFkZ4/fw==} + /@rollup/rollup-linux-x64-musl@4.22.2: + resolution: {integrity: sha512-sSWBVZgzwtsuG9Dxi9kjYOUu/wKW+jrbzj4Cclabqnfkot8Z3VEHcIgyenA3lLn/Fu11uDviWjhctulkhEO60g==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.22.0: - resolution: {integrity: sha512-7LB+Bh+Ut7cfmO0m244/asvtIGQr5pG5Rvjz/l1Rnz1kDzM02pSX9jPaS0p+90H5I1x4d1FkCew+B7MOnoatNw==} + /@rollup/rollup-win32-arm64-msvc@4.22.2: + resolution: {integrity: sha512-t/YgCbZ638R/r7IKb9yCM6nAek1RUvyNdfU0SHMDLOf6GFe/VG1wdiUAsxTWHKqjyzkRGg897ZfCpdo1bsCSsA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.22.0: - resolution: {integrity: sha512-+3qZ4rer7t/QsC5JwMpcvCVPRcJt1cJrYS/TMJZzXIJbxWFQEVhrIc26IhB+5Z9fT9umfVc+Es2mOZgl+7jdJQ==} + /@rollup/rollup-win32-ia32-msvc@4.22.2: + resolution: {integrity: sha512-kTmX5uGs3WYOA+gYDgI6ITkZng9SP71FEMoHNkn+cnmb9Zuyyay8pf0oO5twtTwSjNGy1jlaWooTIr+Dw4tIbw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.22.0: - resolution: {integrity: sha512-YdicNOSJONVx/vuPkgPTyRoAPx3GbknBZRCOUkK84FJ/YTfs/F0vl/YsMscrB6Y177d+yDRcj+JWMPMCgshwrA==} + /@rollup/rollup-win32-x64-msvc@4.22.2: + resolution: {integrity: sha512-Yy8So+SoRz8I3NS4Bjh91BICPOSVgdompTIPYTByUqU66AXSIOgmW3Lv1ke3NORPqxdF+RdrZET+8vYai6f4aA==} cpu: [x64] os: [win32] requiresBuild: true @@ -10556,52 +10559,51 @@ packages: '@types/hast': 3.0.4 dev: false - /@shikijs/core@1.17.7: - resolution: {integrity: sha512-ZnIDxFu/yvje3Q8owSHaEHd+bu/jdWhHAaJ17ggjXofHx5rc4bhpCSW+OjC6smUBi5s5dd023jWtZ1gzMu/yrw==} + /@shikijs/core@1.18.0: + resolution: {integrity: sha512-VK4BNVCd2leY62Nm2JjyxtRLkyrZT/tv104O81eyaCjHq4Adceq2uJVFJJAIof6lT1mBwZrEo2qT/T+grv3MQQ==} dependencies: - '@shikijs/engine-javascript': 1.17.7 - '@shikijs/engine-oniguruma': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 dev: false - /@shikijs/engine-javascript@1.17.7: - resolution: {integrity: sha512-wwSf7lKPsm+hiYQdX+1WfOXujtnUG6fnN4rCmExxa4vo+OTmvZ9B1eKauilvol/LHUPrQgW12G3gzem7pY5ckw==} + /@shikijs/engine-javascript@1.18.0: + resolution: {integrity: sha512-qoP/aO/ATNwYAUw1YMdaip/YVEstMZEgrwhePm83Ll9OeQPuxDZd48szZR8oSQNQBT8m8UlWxZv8EA3lFuyI5A==} dependencies: - '@shikijs/types': 1.17.7 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 oniguruma-to-js: 0.4.3 dev: false - /@shikijs/engine-oniguruma@1.17.7: - resolution: {integrity: sha512-pvSYGnVeEIconU28NEzBXqSQC/GILbuNbAHwMoSfdTBrobKAsV1vq2K4cAgiaW1TJceLV9QMGGh18hi7cCzbVQ==} + /@shikijs/engine-oniguruma@1.18.0: + resolution: {integrity: sha512-B9u0ZKI/cud+TcmF8Chyh+R4V5qQVvyDOqXC2l2a4x73PBSBc6sZ0JRAX3eqyJswqir6ktwApUUGBYePdKnMJg==} dependencies: - '@shikijs/types': 1.17.7 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 dev: false - /@shikijs/rehype@1.17.7: - resolution: {integrity: sha512-h7P21wNPm2OHNDtOYzIogTdI9BW/+q8fR167A/NAExXpMlqfiDbaN0uodOWjHlaohwbebZXPvjpoInEinP/d+w==} + /@shikijs/rehype@1.18.0: + resolution: {integrity: sha512-6E+X1pI8lrzABlJcnxUIAw/ReaNkzBFlgDAG/t9n7xX97DV2VT9VC5cbR5ztydbHoYEhVaUT0O9sZ8wW13fQlQ==} dependencies: - '@shikijs/transformers': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/types': 1.18.0 '@types/hast': 3.0.4 hast-util-to-string: 3.0.0 - shiki: 1.17.7 + shiki: 1.18.0 unified: 11.0.5 unist-util-visit: 5.0.0 dev: false - /@shikijs/transformers@1.17.7: - resolution: {integrity: sha512-Nu7DaUT/qHDqbEsWBBqX6MyPMFbR4hUZcK11TA+zU/nPu9eDFE8v0p+n+eT4A3+3mxX6czMSF81W4QNsQ/NSpQ==} + /@shikijs/transformers@1.18.0: + resolution: {integrity: sha512-EdX/UIVaaS8qp9NWRyHIXp2dmuLpdVvx+UVpbIn9eafFlLemAuljPb2+K40ie6jrlg0uUIqkg25CM/8I34yBNw==} dependencies: - shiki: 1.17.7 + shiki: 1.18.0 dev: false - /@shikijs/types@1.17.7: - resolution: {integrity: sha512-+qA4UyhWLH2q4EFd+0z4K7GpERDU+c+CN2XYD3sC+zjvAr5iuwD1nToXZMt1YODshjkEGEDV86G7j66bKjqDdg==} + /@shikijs/types@1.18.0: + resolution: {integrity: sha512-O9N36UEaGGrxv1yUrN2nye7gDLG5Uq0/c1LyfmxsvzNPqlHzWo9DI0A4+fhW2y3bGKuQu/fwS7EPdKJJCowcVA==} dependencies: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 @@ -11032,7 +11034,7 @@ packages: get-caller-file: 2.0.5 git-remote-origin-url: 4.0.0 git-repo-info: 2.1.1 - msw: 2.4.8(typescript@5.5.3) + msw: 2.4.9(typescript@5.5.3) slug: 6.1.0 terminal-link: 3.0.0 ulid: 2.3.0 @@ -11440,7 +11442,7 @@ packages: /@types/fslightbox-react@1.7.7: resolution: {integrity: sha512-pp9Y7/+L4NFlMp+PdESx66EG0/m70aqg81FNlLP08dGWvRRSvNJFv08Jc91IEQkbh/C1PpokCekNCWZqpWxiyQ==} dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 dev: true /@types/geojson@7946.0.14: @@ -11598,7 +11600,7 @@ packages: /@types/react-dom@18.2.25: resolution: {integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==} dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 /@types/react-dom@18.3.0: resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} @@ -11608,7 +11610,7 @@ packages: /@types/react-syntax-highlighter@15.5.13: resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 dev: true /@types/react@18.2.79: @@ -11623,8 +11625,8 @@ packages: '@types/prop-types': 15.7.13 csstype: 3.1.3 - /@types/react@18.3.7: - resolution: {integrity: sha512-KUnDCJF5+AiZd8owLIeVHqmW9yM4sqmDVf2JRJiBMFkGvkoZ4/WyV2lL4zVsoinmRS/W3FeEdZLEWFRofnT2FQ==} + /@types/react@18.3.8: + resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} dependencies: '@types/prop-types': 15.7.13 csstype: 3.1.3 @@ -11797,7 +11799,7 @@ packages: peerDependencies: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@visx/group': 3.3.0(react@18.3.1) '@visx/point': 3.3.0 '@visx/scale': 3.5.0 @@ -11814,7 +11816,7 @@ packages: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 react-dom: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 prop-types: 15.8.1 react: 18.3.1 @@ -11831,7 +11833,7 @@ packages: /@visx/event@3.3.0: resolution: {integrity: sha512-fKalbNgNz2ooVOTXhvcOx5IlEQDgVfX66rI7bgZhBxI2/scy+5rWcXJXpwkheRF68SMx9R93SjKW6tmiD0h+jA==} dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@visx/point': 3.3.0 dev: false @@ -11840,7 +11842,7 @@ packages: peerDependencies: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 prop-types: 15.8.1 react: 18.3.1 dev: false @@ -11850,7 +11852,7 @@ packages: peerDependencies: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 @@ -11866,7 +11868,7 @@ packages: react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: '@types/lodash': 4.17.7 - '@types/react': 18.3.7 + '@types/react': 18.3.8 lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 @@ -11886,7 +11888,7 @@ packages: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 '@types/lodash': 4.17.7 - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@visx/curve': 3.3.0 '@visx/group': 3.3.0(react@18.3.1) '@visx/scale': 3.5.0 @@ -11904,7 +11906,7 @@ packages: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: '@types/lodash': 4.17.7 - '@types/react': 18.3.7 + '@types/react': 18.3.8 classnames: 2.5.1 lodash: 4.17.21 prop-types: 15.8.1 @@ -11918,7 +11920,7 @@ packages: react: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 react-dom: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@visx/bounds': 3.3.0(react-dom@18.3.1)(react@18.3.1) classnames: 2.5.1 prop-types: 15.8.1 @@ -12108,78 +12110,78 @@ packages: pretty-format: 29.7.0 dev: true - /@vue/compiler-core@3.5.6: - resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} + /@vue/compiler-core@3.5.7: + resolution: {integrity: sha512-A0gay3lK71MddsSnGlBxRPOugIVdACze9L/rCo5X5srCyjQfZOfYtSFMJc3aOZCM+xN55EQpb4R97rYn/iEbSw==} dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.7 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 dev: false - /@vue/compiler-dom@3.5.6: - resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} + /@vue/compiler-dom@3.5.7: + resolution: {integrity: sha512-GYWl3+gO8/g0ZdYaJ18fYHdI/WVic2VuuUd1NsPp60DWXKy+XjdhFsDW7FbUto8siYYZcosBGn9yVBkjhq1M8Q==} dependencies: - '@vue/compiler-core': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-core': 3.5.7 + '@vue/shared': 3.5.7 dev: false - /@vue/compiler-sfc@3.5.6: - resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} + /@vue/compiler-sfc@3.5.7: + resolution: {integrity: sha512-EjOJtCWJrC7HqoCEzOwpIYHm+JH7YmkxC1hG6VkqIukYRqj8KFUlTLK6hcT4nGgtVov2+ZfrdrRlcaqS78HnBA==} dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.6 - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-core': 3.5.7 + '@vue/compiler-dom': 3.5.7 + '@vue/compiler-ssr': 3.5.7 + '@vue/shared': 3.5.7 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 dev: false - /@vue/compiler-ssr@3.5.6: - resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} + /@vue/compiler-ssr@3.5.7: + resolution: {integrity: sha512-oZx+jXP2k5arV/8Ly3TpQbfFyimMw2ANrRqvHJoKjPqtEzazxQGZjCLOfq8TnZ3wy2TOXdqfmVp4q7FyYeHV4g==} dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.7 + '@vue/shared': 3.5.7 dev: false - /@vue/reactivity@3.5.6: - resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} + /@vue/reactivity@3.5.7: + resolution: {integrity: sha512-yF0EpokpOHRNXyn/h6abXc9JFIzfdAf0MJHIi92xxCWS0mqrXH6+2aZ+A6EbSrspGzX5MHTd5N8iBA28HnXu9g==} dependencies: - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.7 dev: false - /@vue/runtime-core@3.5.6: - resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} + /@vue/runtime-core@3.5.7: + resolution: {integrity: sha512-OzLpBpKbZEaZVSNfd+hQbfBrDKux+b7Yl5hYhhWWWhHD7fEpF+CdI3Brm5k5GsufHEfvMcjruPxwQZuBN6nFYQ==} dependencies: - '@vue/reactivity': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.7 + '@vue/shared': 3.5.7 dev: false - /@vue/runtime-dom@3.5.6: - resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} + /@vue/runtime-dom@3.5.7: + resolution: {integrity: sha512-fL7cETfE27U2jyTgqzE382IGFY6a6uyznErn27KbbEzNctzxxUWYDbaN3B55l9nXh0xW2LRWPuWKOvjtO2UewQ==} dependencies: - '@vue/reactivity': 3.5.6 - '@vue/runtime-core': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.7 + '@vue/runtime-core': 3.5.7 + '@vue/shared': 3.5.7 csstype: 3.1.3 dev: false - /@vue/server-renderer@3.5.6(vue@3.5.6): - resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} + /@vue/server-renderer@3.5.7(vue@3.5.7): + resolution: {integrity: sha512-peRypij815eIDjpPpPXvYQGYqPH6QXwLJGWraJYPPn8JqWGl29A8QXnS7/Mh3TkMiOcdsJNhbFCoW2Agc2NgAQ==} peerDependencies: - vue: 3.5.6 + vue: 3.5.7 dependencies: - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 - vue: 3.5.6(typescript@5.5.3) + '@vue/compiler-ssr': 3.5.7 + '@vue/shared': 3.5.7 + vue: 3.5.7(typescript@5.5.3) dev: false - /@vue/shared@3.5.6: - resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} + /@vue/shared@3.5.7: + resolution: {integrity: sha512-NBE1PBIvzIedxIc2RZiKXvGbJkrZ2/hLf3h8GlS4/sP9xcXEZMFWOazFkNd6aGeUCMaproe5MHVYB3/4AW9q9g==} dev: false /@webassemblyjs/ast@1.12.1: @@ -12409,7 +12411,7 @@ packages: indent-string: 5.0.0 dev: true - /ai@3.0.23(react@18.3.1)(solid-js@1.8.22)(svelte@4.2.19)(vue@3.5.6)(zod@3.23.8): + /ai@3.0.23(react@18.3.1)(solid-js@1.8.22)(svelte@4.2.19)(vue@3.5.7)(zod@3.23.8): resolution: {integrity: sha512-VL8Fx9euEtffzIu0BpLDZkACB+oU6zj4vHXSsSoT5VfwAzE009FJedOMPK1M4u60RpYw/DgwlD7OLN7XQfvSHw==} engines: {node: '>=18'} peerDependencies: @@ -12444,8 +12446,8 @@ packages: svelte: 4.2.19 swr: 2.2.0(react@18.3.1) swr-store: 0.10.6 - swrv: 1.0.4(vue@3.5.6) - vue: 3.5.6(typescript@5.5.3) + swrv: 1.0.4(vue@3.5.7) + vue: 3.5.7(typescript@5.5.3) zod: 3.23.8 zod-to-json-schema: 3.22.5(zod@3.23.8) dev: false @@ -12944,7 +12946,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001662 - electron-to-chromium: 1.5.25 + electron-to-chromium: 1.5.26 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -13183,8 +13185,8 @@ packages: get-func-name: 2.0.2 dev: true - /checkly@4.8.1(@types/node@20.14.9)(typescript@5.5.3): - resolution: {integrity: sha512-LyVxHVOqjZ6k/QXGZQhZgnG7stL5mYfzu+Vl5hkdh2ZKDm/MLk4Q+gRKAyMLOjMN66jrJN1ZM1K3zlLt2/EJcg==} + /checkly@4.9.0(@types/node@20.14.9)(typescript@5.5.3): + resolution: {integrity: sha512-LqohEntErF7dJaJPsEpjvr/O9wUfzBRac6DOXgFDMEw+dNi19oBAcspdOqVGjPjMoCZ9/s5b5tSJI1pusY4mJQ==} engines: {node: '>=16.0.0'} hasBin: true dependencies: @@ -14865,8 +14867,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.25: - resolution: {integrity: sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==} + /electron-to-chromium@1.5.26: + resolution: {integrity: sha512-Z+OMe9M/V6Ep9n/52+b7lkvYEps26z4Yz3vjWL1V61W0q+VLF1pOHhMY17sa4roz4AWmULSI8E6SAojZA5L0YQ==} /emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -15298,31 +15300,31 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-config-prettier@9.0.0(eslint@9.10.0): + /eslint-config-prettier@9.0.0(eslint@9.11.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.10.0 + eslint: 9.11.0 dev: false - /eslint-config-turbo@1.10.12(eslint@9.10.0): + /eslint-config-turbo@1.10.12(eslint@9.11.0): resolution: {integrity: sha512-z3jfh+D7UGYlzMWGh+Kqz++hf8LOE96q3o5R8X4HTjmxaBWlLAWG+0Ounr38h+JLR2TJno0hU9zfzoPNkR9BdA==} peerDependencies: eslint: '>6.6.0' dependencies: - eslint: 9.10.0 - eslint-plugin-turbo: 1.10.12(eslint@9.10.0) + eslint: 9.11.0 + eslint-plugin-turbo: 1.10.12(eslint@9.11.0) dev: false - /eslint-plugin-turbo@1.10.12(eslint@9.10.0): + /eslint-plugin-turbo@1.10.12(eslint@9.11.0): resolution: {integrity: sha512-uNbdj+ohZaYo4tFJ6dStRXu2FZigwulR1b3URPXe0Q8YaE7thuekKNP+54CHtZPH9Zey9dmDx5btAQl9mfzGOw==} peerDependencies: eslint: '>6.6.0' dependencies: dotenv: 16.0.3 - eslint: 9.10.0 + eslint: 9.11.0 dev: false /eslint-scope@5.1.1: @@ -15350,8 +15352,8 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: false - /eslint@9.10.0: - resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + /eslint@9.11.0: + resolution: {integrity: sha512-yVS6XODx+tMFMDFcG4+Hlh+qG7RM6cCJXtQhCKLSsr3XkLvWggHjCqjfh0XsPPnt1c56oaT6PMgW9XWQQjdHXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -15360,12 +15362,12 @@ packages: jiti: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.0) '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.10.0 - '@eslint/plugin-kit': 0.1.0 + '@eslint/js': 9.11.0 + '@eslint/plugin-kit': 0.2.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -16144,8 +16146,8 @@ packages: react-dom: '>= 18' dependencies: '@formatjs/intl-localematcher': 0.5.4 - '@shikijs/rehype': 1.17.7 - '@shikijs/transformers': 1.17.7 + '@shikijs/rehype': 1.18.0 + '@shikijs/transformers': 1.18.0 flexsearch: 0.7.21 github-slugger: 2.0.0 image-size: 1.1.1 @@ -16159,7 +16161,7 @@ packages: remark-gfm: 4.0.0 remark-mdx: 3.0.1 scroll-into-view-if-needed: 3.1.0 - shiki: 1.17.7 + shiki: 1.18.0 swr: 2.2.5(react@18.3.1) unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -19578,6 +19580,7 @@ packages: /minipass@6.0.2: resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} engines: {node: '>=16 || 14 >=14.17'} + dev: true /minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} @@ -19778,8 +19781,8 @@ packages: yargs: 17.7.2 dev: true - /msw@2.4.8(typescript@5.5.3): - resolution: {integrity: sha512-a+FUW1m5yT8cV9GBy0L/cbNg0EA4//SKEzgu3qFrpITrWYeZmqfo7dqtM74T2lAl69jjUjjCaEhZKaxG2Ns8DA==} + /msw@2.4.9(typescript@5.5.3): + resolution: {integrity: sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==} engines: {node: '>=18'} hasBin: true requiresBuild: true @@ -19793,7 +19796,7 @@ packages: '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 '@inquirer/confirm': 3.2.0 - '@mswjs/interceptors': 0.35.6 + '@mswjs/interceptors': 0.35.8 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 @@ -20777,7 +20780,7 @@ packages: engines: {node: '>=16 || 14 >=14.18'} dependencies: lru-cache: 10.4.3 - minipass: 6.0.2 + minipass: 7.1.2 /path-to-regexp@0.1.10: resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} @@ -21023,6 +21026,16 @@ packages: - debug dev: true + /posthog-node@4.2.0: + resolution: {integrity: sha512-hgyCYMyzMvuF3qWMw6JvS8gT55v7Mtp5wKWcnDrw+nu39D0Tk9BXD7I0LOBp0lGlHEPaXCEVYUtviNKrhMALGA==} + engines: {node: '>=15.0.0'} + dependencies: + axios: 1.7.7 + rusha: 0.8.14 + transitivePeerDependencies: + - debug + dev: false + /preact@10.24.0: resolution: {integrity: sha512-aK8Cf+jkfyuZ0ZZRG9FbYqwmEiGQ4y/PUO4SuTWoyWL244nZZh7bd5h2APd4rSNDYTBNghg1L+5iJN3Skxtbsw==} dev: false @@ -21390,22 +21403,22 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: true - /react-email@2.1.1(@babel/core@7.25.2)(eslint@9.10.0)(ts-node@10.9.2): + /react-email@2.1.1(@babel/core@7.25.2)(eslint@9.11.0)(ts-node@10.9.2): resolution: {integrity: sha512-09oMVl/jN0/Re0bT0sEqYjyyFSCN/Tg0YmzjC9wfYpnMx02Apk40XXitySDfUBMR9EgTdr6T4lYknACqiLK3mg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: '@babel/parser': 7.24.1 '@radix-ui/colors': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.7)(react@18.3.1) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.3.0)(@types/react@18.3.7)(react-dom@18.3.1)(react@18.3.1) - '@react-email/components': 0.0.16(@types/react@18.3.7)(react@18.3.1) + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.8)(react@18.3.1) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@react-email/components': 0.0.16(@types/react@18.3.8)(react@18.3.1) '@react-email/render': 0.0.12 '@swc/core': 1.3.101 - '@types/react': 18.3.7 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 '@types/webpack': 5.28.5(@swc/core@1.3.101)(esbuild@0.19.11) autoprefixer: 10.4.14(postcss@8.4.35) @@ -21416,8 +21429,8 @@ packages: commander: 11.1.0 debounce: 2.0.0 esbuild: 0.19.11 - eslint-config-prettier: 9.0.0(eslint@9.10.0) - eslint-config-turbo: 1.10.12(eslint@9.10.0) + eslint-config-prettier: 9.0.0(eslint@9.11.0) + eslint-config-turbo: 1.10.12(eslint@9.11.0) framer-motion: 10.17.4(react-dom@18.3.1)(react@18.3.1) glob: 10.3.4 log-symbols: 4.1.0 @@ -21528,7 +21541,7 @@ packages: tslib: 2.7.0 dev: false - /react-remove-scroll-bar@2.3.6(@types/react@18.3.7)(react@18.3.1): + /react-remove-scroll-bar@2.3.6(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} peerDependencies: @@ -21538,9 +21551,9 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.7)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) tslib: 2.7.0 dev: false @@ -21555,7 +21568,7 @@ packages: optional: true dependencies: react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.7)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) tslib: 2.7.0 dev: true @@ -21590,10 +21603,10 @@ packages: dependencies: react: 18.3.1 react-remove-scroll-bar: 2.3.6(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.7)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.7)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.7)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.8)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.8)(react@18.3.1) dev: true /react-remove-scroll@2.5.5(@types/react@18.2.79)(react@18.3.1): @@ -21615,7 +21628,7 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.79)(react@18.3.1) dev: false - /react-remove-scroll@2.5.5(@types/react@18.3.7)(react@18.3.1): + /react-remove-scroll@2.5.5(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -21625,13 +21638,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.7)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.7)(react@18.3.1) + react-remove-scroll-bar: 2.3.6(@types/react@18.3.8)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.7)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.7)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.8)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.8)(react@18.3.1) dev: false /react-remove-scroll@2.5.7(@types/react@18.2.79)(react@18.3.1): @@ -21665,10 +21678,10 @@ packages: dependencies: react: 18.3.1 react-remove-scroll-bar: 2.3.6(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.7)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.8)(react@18.3.1) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.7)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.7)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.8)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.8)(react@18.3.1) dev: true /react-remove-scroll@2.6.0(@types/react@18.2.79)(react@18.3.1): @@ -21707,7 +21720,7 @@ packages: tslib: 2.7.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.3.7)(react@18.3.1): + /react-style-singleton@2.2.1(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -21717,7 +21730,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 @@ -22121,8 +22134,8 @@ packages: mdast-util-to-hast: 12.3.0 unified: 10.1.2 - /remark-rehype@11.1.0: - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + /remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -22379,29 +22392,29 @@ packages: source-map-support: 0.3.3 dev: false - /rollup@4.22.0: - resolution: {integrity: sha512-W21MUIFPZ4+O2Je/EU+GP3iz7PH4pVPUXSbEZdatQnxo29+3rsUjgrJmzuAZU24z7yRAnFN6ukxeAhZh/c7hzg==} + /rollup@4.22.2: + resolution: {integrity: sha512-JWWpTrZmqQGQWt16xvNn6KVIUz16VtZwl984TKw0dfqqRpFwtLJYYk1/4BTgplndMQKWUk/yB4uOShYmMzA2Vg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.22.0 - '@rollup/rollup-android-arm64': 4.22.0 - '@rollup/rollup-darwin-arm64': 4.22.0 - '@rollup/rollup-darwin-x64': 4.22.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.22.0 - '@rollup/rollup-linux-arm-musleabihf': 4.22.0 - '@rollup/rollup-linux-arm64-gnu': 4.22.0 - '@rollup/rollup-linux-arm64-musl': 4.22.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.22.0 - '@rollup/rollup-linux-riscv64-gnu': 4.22.0 - '@rollup/rollup-linux-s390x-gnu': 4.22.0 - '@rollup/rollup-linux-x64-gnu': 4.22.0 - '@rollup/rollup-linux-x64-musl': 4.22.0 - '@rollup/rollup-win32-arm64-msvc': 4.22.0 - '@rollup/rollup-win32-ia32-msvc': 4.22.0 - '@rollup/rollup-win32-x64-msvc': 4.22.0 + '@rollup/rollup-android-arm-eabi': 4.22.2 + '@rollup/rollup-android-arm64': 4.22.2 + '@rollup/rollup-darwin-arm64': 4.22.2 + '@rollup/rollup-darwin-x64': 4.22.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.2 + '@rollup/rollup-linux-arm-musleabihf': 4.22.2 + '@rollup/rollup-linux-arm64-gnu': 4.22.2 + '@rollup/rollup-linux-arm64-musl': 4.22.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.2 + '@rollup/rollup-linux-riscv64-gnu': 4.22.2 + '@rollup/rollup-linux-s390x-gnu': 4.22.2 + '@rollup/rollup-linux-x64-gnu': 4.22.2 + '@rollup/rollup-linux-x64-musl': 4.22.2 + '@rollup/rollup-win32-arm64-msvc': 4.22.2 + '@rollup/rollup-win32-ia32-msvc': 4.22.2 + '@rollup/rollup-win32-x64-msvc': 4.22.2 fsevents: 2.3.3 dev: true @@ -22423,7 +22436,6 @@ packages: /rusha@0.8.14: resolution: {integrity: sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==} - dev: true /rw@1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} @@ -22743,13 +22755,13 @@ packages: '@types/hast': 3.0.4 dev: false - /shiki@1.17.7: - resolution: {integrity: sha512-Zf6hNtWhFyF4XP5OOsXkBTEx9JFPiN0TQx4wSe+Vqeuczewgk2vT4IZhF4gka55uelm052BD5BaHavNqUNZd+A==} + /shiki@1.18.0: + resolution: {integrity: sha512-8jo7tOXr96h9PBQmOHVrltnETn1honZZY76YA79MHheGQg55jBvbm9dtU+MI5pjC5NJCFuA6rvVTLVeSW5cE4A==} dependencies: - '@shikijs/core': 1.17.7 - '@shikijs/engine-javascript': 1.17.7 - '@shikijs/engine-oniguruma': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/core': 1.18.0 + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 dev: false @@ -22799,7 +22811,7 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.27 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 @@ -23509,12 +23521,12 @@ packages: resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} dev: false - /swrv@1.0.4(vue@3.5.6): + /swrv@1.0.4(vue@3.5.7): resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==} peerDependencies: vue: '>=3.2.26 < 4' dependencies: - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.7(typescript@5.5.3) dev: false /tailwind-merge@2.2.0: @@ -24000,7 +24012,7 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2) resolve-from: 5.0.0 - rollup: 4.22.0 + rollup: 4.22.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -24540,7 +24552,7 @@ packages: tslib: 2.7.0 dev: false - /use-callback-ref@1.3.2(@types/react@18.3.7)(react@18.3.1): + /use-callback-ref@1.3.2(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: @@ -24550,7 +24562,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 react: 18.3.1 tslib: 2.7.0 @@ -24570,7 +24582,7 @@ packages: tslib: 2.7.0 dev: false - /use-sidecar@1.1.2(@types/react@18.3.7)(react@18.3.1): + /use-sidecar@1.1.2(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -24580,7 +24592,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.7 + '@types/react': 18.3.8 detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.7.0 @@ -24732,7 +24744,7 @@ packages: debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -24754,7 +24766,7 @@ packages: debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -24776,7 +24788,7 @@ packages: debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -24789,8 +24801,8 @@ packages: - terser dev: true - /vite@5.4.6(@types/node@20.14.9): - resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + /vite@5.4.7(@types/node@20.14.9): + resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -24823,7 +24835,7 @@ packages: '@types/node': 20.14.9 esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.22.0 + rollup: 4.22.2 optionalDependencies: fsevents: 2.3.3 dev: true @@ -24872,7 +24884,7 @@ packages: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) vite-node: 1.3.0(@types/node@20.14.9) why-is-node-running: 2.3.0 transitivePeerDependencies: @@ -24930,7 +24942,7 @@ packages: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) vite-node: 1.5.0(@types/node@20.14.9) why-is-node-running: 2.3.0 transitivePeerDependencies: @@ -24988,7 +25000,7 @@ packages: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.6(@types/node@20.14.9) + vite: 5.4.7(@types/node@20.14.9) vite-node: 1.6.0(@types/node@20.14.9) why-is-node-running: 2.3.0 transitivePeerDependencies: @@ -25014,19 +25026,19 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: false - /vue@3.5.6(typescript@5.5.3): - resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} + /vue@3.5.7(typescript@5.5.3): + resolution: {integrity: sha512-JcFm0f5j8DQO9E07pZRxqZ/ZsNopMVzHYXpKvnfqXFcA4JTi+4YcrikRn9wkzWsdj0YsLzlLIsR0zzGxA2P6Wg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-sfc': 3.5.6 - '@vue/runtime-dom': 3.5.6 - '@vue/server-renderer': 3.5.6(vue@3.5.6) - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.7 + '@vue/compiler-sfc': 3.5.7 + '@vue/runtime-dom': 3.5.7 + '@vue/server-renderer': 3.5.7(vue@3.5.7) + '@vue/shared': 3.5.7 typescript: 5.5.3 dev: false