From 522f2f95c07871080c6e0817d6feda96c6d16609 Mon Sep 17 00:00:00 2001 From: Sarthak Agrawal Date: Sat, 10 Oct 2026 10:55:38 +0530 Subject: [PATCH 1/3] Render the landing home page from SaaS Maker UI library content Workbench template with a content file, StudioFooter (catalogId rolepatch, newsletter capture). Other routes, head tags, tracking and the signed-in redirect are kept. Co-Authored-By: Claude Sonnet 5.5 --- knip.json | 2 +- landing-astro/astro.config.mjs | 9 +- landing-astro/package.json | 15 +- landing-astro/public/favicon.svg | 7 + landing-astro/public/images/patch-stage.webp | Bin 0 -> 45880 bytes landing-astro/src/content/home.json | 267 ++ landing-astro/src/lib/product.ts | 6 - landing-astro/src/pages/index.astro | 306 +-- pnpm-lock.yaml | 2449 ++++++++++++++++-- 9 files changed, 2653 insertions(+), 408 deletions(-) create mode 100644 landing-astro/public/favicon.svg create mode 100644 landing-astro/public/images/patch-stage.webp create mode 100644 landing-astro/src/content/home.json diff --git a/knip.json b/knip.json index cff7288..b526aed 100644 --- a/knip.json +++ b/knip.json @@ -38,7 +38,7 @@ "landing-astro": { "entry": ["src/pages/**/*.astro", "astro.config.mjs"], "project": ["src/**/*.{astro,ts}", "astro.config.mjs"], - "ignoreDependencies": ["lightningcss", "tailwindcss"] + "ignoreDependencies": ["lightningcss", "tailwindcss", "lucide-react", "motion", "radix-ui"] } } } diff --git a/landing-astro/astro.config.mjs b/landing-astro/astro.config.mjs index b78b368..53e4cde 100644 --- a/landing-astro/astro.config.mjs +++ b/landing-astro/astro.config.mjs @@ -1,13 +1,13 @@ // @ts-check import { defineConfig } from 'astro/config'; import sitemap from '@astrojs/sitemap'; +import react from '@astrojs/react'; import tailwindcss from '@tailwindcss/vite'; // Mirrors fleet/sarthakagrawal/astro.config.mjs, the reference 360 ms-LCP // Astro setup. Pure static output (no SSR adapter) — the rolepatch.com -// landing is fully static markup. CSS is inlined into the HTML -// (`build.inlineStylesheets: 'always'`) so the LCP path is one round- -// trip: HTML → fonts → paint. +// landing is fully static markup. Astro uses its default auto stylesheet +// strategy; the overlay copies cacheable /_astro assets alongside the HTML. // // Tailwind v4 via the official Vite plugin (fleet web stack standard, // VoidZero ecosystem). Lightning CSS replaces the default PostCSS @@ -21,9 +21,8 @@ export default defineConfig({ // on every link. Same as sarthakagrawal.pages.dev. build: { format: 'file', - inlineStylesheets: 'always', }, - integrations: [sitemap()], + integrations: [sitemap(), react()], vite: { plugins: [tailwindcss()], css: { transformer: 'lightningcss' }, diff --git a/landing-astro/package.json b/landing-astro/package.json index cfc0dc1..baf2441 100644 --- a/landing-astro/package.json +++ b/landing-astro/package.json @@ -12,12 +12,23 @@ "deploy": "wrangler pages deploy dist/ --project-name resume-tailor-landing --commit-dirty=true" }, "dependencies": { + "@astrojs/react": "7.0.0", "@astrojs/sitemap": "^3.7.3", - "@tailwindcss/vite": "^4.1.7", + "@saas-maker/motion": "github:sass-maker/ui-library#v0.1.11&path:/packages/motion", + "@saas-maker/templates": "github:sass-maker/ui-library#v0.1.11&path:/packages/templates", + "@saas-maker/ui": "github:sass-maker/ui-library#v0.1.11&path:/packages/ui", + "@tailwindcss/vite": "4.3.3", "astro": "^7.2.8", - "tailwindcss": "^4.1.7" + "lucide-react": "1.48.0", + "motion": "13.4.3", + "radix-ui": "1.6.7", + "react": "19.3.0", + "react-dom": "19.3.0", + "tailwindcss": "4.3.3" }, "devDependencies": { + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", "lightningcss": "^1.32.0", "wrangler": "^4.114.0" }, diff --git a/landing-astro/public/favicon.svg b/landing-astro/public/favicon.svg new file mode 100644 index 0000000..0da8b45 --- /dev/null +++ b/landing-astro/public/favicon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/landing-astro/public/images/patch-stage.webp b/landing-astro/public/images/patch-stage.webp new file mode 100644 index 0000000000000000000000000000000000000000..a11f9df1f67e118a896c5bb0c50fc7619b699d56 GIT binary patch literal 45880 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 ({ '@type': 'Question', name: faq.q, - acceptedAnswer: { '@type': 'Answer', text: faq.a } })), +import Base from '@saas-maker/templates/Base.astro'; +import { WorkbenchPage } from '@saas-maker/templates/workbench-page'; +import { baseProps } from '@saas-maker/templates/page'; +import { workbenchContent } from '@saas-maker/templates/schema'; +import { PRODUCT_DESCRIPTION, PRODUCT_FAQS } from '@/lib/product'; +import home from '../content/home.json'; + +const content = workbenchContent.parse(home); +const faqs = PRODUCT_FAQS.slice(0, 4); +for (const section of content.sections) { + for (const block of section.blocks) { + if (block.type === 'faq') block.items = faqs.map(faq => ({ ...faq })); + } +} +const SITE_URL = 'https://rolepatch.com'; +const jsonLd = { + '@context': 'https://schema.org', + '@graph': [ + { + '@type': 'WebSite', + name: 'RolePatch', + alternateName: ['Role Patch', 'rolepatch.com'], + url: SITE_URL, + description: PRODUCT_DESCRIPTION, + }, + { + '@type': 'SoftwareApplication', + name: 'RolePatch', + alternateName: ['Role Patch', 'rolepatch.com'], + applicationCategory: 'BusinessApplication', + operatingSystem: 'Web', + url: SITE_URL, + description: PRODUCT_DESCRIPTION, + audience: { + '@type': 'Audience', + audienceType: 'Job seekers preparing a serious application for a specific role', + }, + offers: [ + { + '@type': 'Offer', + name: 'Browser-local resume tools', + price: '0', + priceCurrency: 'USD', + description: 'ATS, keyword, bullet, diff, snippets, and word-count tools without sign-up.', + }, + { '@type': 'Offer', name: '10 AI tokens', price: '5', priceCurrency: 'USD' }, + { '@type': 'Offer', name: '30 AI tokens', price: '12', priceCurrency: 'USD' }, + { '@type': 'Offer', name: '100 AI tokens', price: '30', priceCurrency: 'USD' }, + ], + featureList: [ + 'Evidence-bound resume tailoring', + 'Word-level change review', + 'Job fit analysis', + 'Cover letters and interview stories', + 'Review-first application packets and receipts', + ], + }, + ], }; +content.page.jsonLd = [jsonLd, { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: faqs.map(faq => ({ + '@type': 'Question', name: faq.q, + acceptedAnswer: { '@type': 'Answer', text: faq.a }, + })), +}]; --- - -
-
- -
-

RolePatch / AI resume tailoring

-

A better resume.
For this job.

-

Bring your resume and a specific job. RolePatch connects the requirements to your experience, then puts every change in your hands.

-
-

Start in your browser · Review before export

-
-
Platform resume → Platform Reliability EngineerIllustrative draft
-
-
Keep the original.

Keep your approved points. Review their order and the new summary.

-
-
-
Base resumeOriginal
-

Alex Morgan

-
Platform Engineer · London, UK
alex@example.com · github.com/alexmorgan
-

Profile

-

Platform engineer building reliable services with TypeScript. Experience leading migrations and improving production reliability.

-

Experience

-
Platform Engineer · Northstar2022 — Present
-
  • Led migration of 11 services to TypeScript. Incident rate fell 34%.
  • -
  • Built service health dashboards and coordinated incident reviews with engineering teams.
  • -
-

Skills

-

TypeScript · Service migrations · Reliability
Service health dashboards · Incident review

-

Education

-

BSc Computer Science

-
Alex Morgan · Platform resume01
-
-
-
Tailored resumeReview draft
-

Alex Morgan

-
Platform Engineer · London, UK
alex@example.com · github.com/alexmorgan
-

Profile

-

Platform engineer with TypeScript migration and production reliability experience. Led an 11-service migration with a 34% drop in incidents, and built service health dashboards.

-

Experience

-
Platform Engineer · Northstar2022 — Present
-
  • Led migration of 11 services to TypeScript. Incident rate fell 34%.01
  • -
  • Built service health dashboards and coordinated incident reviews with engineering teams.
  • -
-

Skills

-

TypeScript · Service migrations · Reliability
Service health dashboards · Incident review

-

Education

-

BSc Computer Science

-
Alex Morgan · Platform resume01
-
-
-
-
-
-
Your experience is the starting point.The job gives it focus.You review the final draft.
-

The difference is in the patch

-

Sharper emphasis.
The same experience.

-
-

A relevant resume makes the connection clear. Keep your approved achievements, rank them for the role, and review a new summary.

-
-

Say what matters.
Show where it came from.

-

The role asks for platform reliability. The source already contains a TypeScript migration and a measurable reduction in incidents. RolePatch changes emphasis through ranking and a fresh summary; the achievement wording stays fixed.

-
11 services
Original scope
34% fewer incidents
Original result
-
-
A fresh summary. The same achievements.Illustrative patch
-
From the original
Platform engineer building reliable services with TypeScript. Experience leading migrations and improving production reliability.
-
For this role
Platform engineer with TypeScript migration and production reliability experience. Led an 11-service migration with a 34% drop in incidents, and built service health dashboards.
-

The work, scope and result already exist in the source. Only the summary is generated. Achievement wording, complete projects and education stay preserved.

-
-
-

Kubernetes is requested by the job but absent from this resume. It is left out of this illustrative draft.

-Review your own resume
-
-
-

A focused application

-

From your experience
to this opportunity.

-
-

One base resume. One specific role. A draft you can inspect and edit before you use it.

-
-
01

Bring your resume.

-

Import the document you already have, or paste your experience into the workspace.

-
PDF · DOCX · Markdown
-
-
02

Bring the job.

-

Add a public job URL or paste the description. Choose your base resume and mark points to always include.

-
Job URL · Pasted description
-
-
03

Make it yours.

-

Inspect the patch, check each claim and edit the wording. Export the version you want to send.

-
Review · Edit · Export
-
-
-
-
-

Your resume, beyond RolePatch

-

A finished draft.
Wherever you work.

-

Bring the result to your application, your document editor, or ChatGPT. Your next step belongs to you.

-Open the workspace
-
.md

Markdown

-

Copy into an assistant or keep as plain text.

-
-↗
-
.html

A formatted document

-

Open in a browser. Print or save a PDF.

-
-↗
-
.doc

Word-compatible

-

Continue editing in your document app.

-
-↗
-
-

Your original stays preserved. The updated draft remains yours to review and edit.

-
-
-
-

Start with one application

-

A workspace first.
An account when
you need it.

-

Start in your browser. Google sign-in adds account storage and three starting tokens. Signed-in AI operations use tokens.

-

No subscription. Guest data stays in this browser.
Clearing browser storage removes guest records.

-
-
Guest workspace

Bring a resume and a job. Review and export in this browser.

-
-No sign-in
-
Free browser tools

Keyword checker, bullet tools, diff and word count.

-
-No tokens
-{TOKEN_PACKS.map(pack => {pack.tokens} tokens{pack.price}One-time pack ↗)}

Tailoring and supporting AI drafts use account tokens.
See access and pricing

-
-
-
-

Before you start

-

A little clarity.

-Read every answer
-
{PRODUCT_FAQS.slice(0, 4).map(faq =>
{faq.q}

{faq.a}

-
)}
-
-
-

For the role you want

-

Bring your experience.
Make the connection.

-Tailor my resume

Your resume. One job. A draft you can review.

-
-
-
- -
- + + + + + + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4cfb57..0eb07a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -193,7 +193,7 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: ^6.0.4 - version: 6.0.4(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + version: 6.0.4(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) '@vitest/coverage-v8': specifier: ^4.1.11 version: 4.1.11(vitest@4.1.11) @@ -226,7 +226,7 @@ importers: version: 7.10.2 vitest: specifier: ^4.1.11 - version: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + version: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) wrangler: specifier: ^4.114.0 version: 4.114.0(@types/node@20.19.33) @@ -245,19 +245,52 @@ importers: landing-astro: dependencies: + '@astrojs/react': + specifier: 7.0.0 + version: 7.0.0(@types/node@24.12.4)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@1.0.0)(esbuild@0.28.2)(jiti@2.7.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(terser@5.16.9)(yaml@2.9.0) '@astrojs/sitemap': specifier: ^3.7.3 version: 3.7.3 + '@saas-maker/motion': + specifier: github:sass-maker/ui-library#v0.1.11&path:/packages/motion + version: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@saas-maker/templates': + specifier: github:sass-maker/ui-library#v0.1.11&path:/packages/templates + version: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/templates(@saas-maker/motion@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@saas-maker/ui@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3))(astro@7.2.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@24.12.4)(@vercel/functions@3.7.6(@aws-sdk/credential-provider-web-identity@3.972.67)(ws@8.21.0))(aws4fetch@1.0.20)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))(react@19.3.0) + '@saas-maker/ui': + specifier: github:sass-maker/ui-library#v0.1.11&path:/packages/ui + version: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) '@tailwindcss/vite': - specifier: ^4.1.7 - version: 4.3.0(vite@8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + specifier: 4.3.3 + version: 4.3.3(vite@8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) astro: specifier: ^7.2.8 version: 7.2.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@24.12.4)(@vercel/functions@3.7.6(@aws-sdk/credential-provider-web-identity@3.972.67)(ws@8.21.0))(aws4fetch@1.0.20)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + lucide-react: + specifier: 1.48.0 + version: 1.48.0(react@19.3.0) + motion: + specifier: 13.4.3 + version: 13.4.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + radix-ui: + specifier: 1.6.7 + version: 1.6.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: + specifier: 19.3.0 + version: 19.3.0 + react-dom: + specifier: 19.3.0 + version: 19.3.0(react@19.3.0) tailwindcss: - specifier: ^4.1.7 - version: 4.2.1 + specifier: 4.3.3 + version: 4.3.3 devDependencies: + '@types/react': + specifier: 19.3.0 + version: 19.3.0 + '@types/react-dom': + specifier: 19.3.0 + version: 19.3.0(@types/react@19.3.0) lightningcss: specifier: ^1.32.0 version: 1.32.0 @@ -445,6 +478,9 @@ packages: '@astrojs/internal-helpers@0.10.4': resolution: {integrity: sha512-nozZSy/mKYLqe4YrqbKtdOszedAfXYCtw3wZ0d+CAjz4GqQ4L9rl1ltIL5BlgwmYVinJg/RZ0MgGuWOdlyRZlA==} + '@astrojs/internal-helpers@0.11.0': + resolution: {integrity: sha512-3rzxJ+xbo0+8YyqOzLziIN32wmsHdCjEVz2sGOpRxJ+Ben/KiLph4ItxBy1abEL+E8fkRzqjg0rfXmaHJGw9JA==} + '@astrojs/markdown-satteri@0.3.8': resolution: {integrity: sha512-n8ItpFTCmlDsVR5+rwDmehSf+jFCYLWmZiisZNGuF7xILqYhsVeBfcha4qgS2Seq3fAc9Tm58ZVrvqFQ6RQgRQ==} @@ -452,6 +488,19 @@ packages: resolution: {integrity: sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==} engines: {node: '>=22.12.0'} + '@astrojs/react@7.0.0': + resolution: {integrity: sha512-BUs2jVvuUnPBA/vtp9y1PvvoYeZZtjmwphu0TJX0wSQ6xzR31/OyflQ9Gmm4rn9IRZNFObCJG7wWsZSqr4OMUA==} + engines: {node: '>=22.12.0'} + peerDependencies: + '@types/react': ^17.0.50 || ^18.0.21 || ^19.0.0 + '@types/react-dom': ^17.0.17 || ^18.0.6 || ^19.0.0 + oxc-transform-react: ^0.145.0 + react: ^17.0.2 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + oxc-transform-react: + optional: true + '@astrojs/sitemap@3.7.3': resolution: {integrity: sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==} @@ -1777,6 +1826,24 @@ packages: '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + '@fontsource-variable/figtree@5.3.0': + resolution: {integrity: sha512-VRVodD7OiG7apQwE8/2fMjaqpY/a0qRJqL5HtYj8CKIVps+9amaFcdfKmDIf7iqYQx6iPLlArVXAfKeIZmVcNQ==} + + '@fontsource-variable/fraunces@5.3.0': + resolution: {integrity: sha512-9BYGySn4AHEJdgp9Z28tQ3X+laJMEOITXkQarZXeloWQZDq5oOvXJ3kDA8c7MGIfpogIaZfjrQBqmda8POOCKA==} + + '@fontsource-variable/geist-mono@5.3.0': + resolution: {integrity: sha512-vBbuwDEo9AkrqADMXOrlAR3DFcJi4/JxeuU43FoiQERnNwsfXNnvxvReZG02cQKmyk4DZkZdBZX3oTDvy2zBAw==} + + '@fontsource-variable/geist@5.3.0': + resolution: {integrity: sha512-j0m+vLQuG5XAYoHtGCVu0spvlGreR3EzpECUVzkFmI1mTVnAO38l/NEPDCFgZ177JxzYJCLSmTQibIiYPilGrA==} + + '@fontsource-variable/newsreader@5.3.0': + resolution: {integrity: sha512-rrzYi43qMpbzwuFtf9OkWH8sxAPVPcQQQEwXpPtwaKYeJ8yVg5aLs5kawmo1f2Q1t1M38TLmEKCkGVDsYwgdFw==} + + '@fontsource/instrument-serif@5.3.0': + resolution: {integrity: sha512-mDiaIg0u67sYV59fie92Wz4sM8UiVlbL7fLxnFPCKkX15DMASEnQTREbaP5S5/3DCcsoAOcQ0sV9E4AeY4QqYQ==} + '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} @@ -2326,6 +2393,9 @@ packages: '@oxc-project/types@0.149.0': resolution: {integrity: sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==} + '@oxc-project/types@0.153.0': + resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} cpu: [arm] @@ -2465,9 +2535,64 @@ packages: yauzl: optional: true + '@radix-ui/number@1.1.3': + resolution: {integrity: sha512-Road2bidD0uu/1BGDOWNdPI06g0lIRy6IF9GZcIrDK2KGItfor8IQwQa+yM2ERgHM1MmHxaxpTzk0/Jp42lNfA==} + '@radix-ui/primitive@1.1.7': resolution: {integrity: sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==} + '@radix-ui/react-accessible-icon@1.1.15': + resolution: {integrity: sha512-WTQwcAvQf5sOcuUyi90lKPbhwcvQ+j55cjrSmeaN+L2vKU3DooOvlKw2MDeiJ5IkV5N905KW0/fGojKOBhD11A==} + 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 + + '@radix-ui/react-accordion@1.2.20': + resolution: {integrity: sha512-jDhG9FvAEnlhnjrsINbNXcUa4G+L1KqSkJSunkbKEzFRcAb52jvM0PjPxPRvhe1HNc5F5yc0yzzWeeqlH4yBIg==} + 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 + + '@radix-ui/react-alert-dialog@1.1.23': + resolution: {integrity: sha512-VAYOiQRqj3GPpYJE0I9J+X8Ip05cyVlNdKOFeiGS2Ou1HHGfpl0BxOyZm6nmVDyU+W+NF3/XLzmjHmVGydhwgA==} + 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 + + '@radix-ui/react-arrow@1.1.15': + resolution: {integrity: sha512-v4zggRcjadnI+ClKDuijlQEW4tw3NoaeHc/PwpKnLoLLKNUG4InLegkstooLcRIUWCs+8L22dGURCVuFfOKfnA==} + 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 + '@radix-ui/react-arrow@1.1.16': resolution: {integrity: sha512-nXPI1tzJsnQw8oXvB2r49rO9TIbbJ8VFeaWDiBsqY8+iwO5xb7WjUsrXDagjAgPKTdhW8WODQnAltUhBx8I+sg==} peerDependencies: @@ -2481,6 +2606,32 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-aspect-ratio@1.1.15': + resolution: {integrity: sha512-fy+dyVR+90nelK8rqIznFlxzx7uPcGbhxH8Nfr2bHb4UfSe+e3hklOC0luK0hDwVwnRX7xTRySpsrQVeW+/oNQ==} + 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 + + '@radix-ui/react-avatar@1.2.6': + resolution: {integrity: sha512-4ULOTJ/mqy2hT9GlWa/MFHxHSvH3nJzHnZM1waNsc5Bonv7i70aNenghXmD97S6OJ81ekXONGGt4nT1r0PfEdA==} + 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 + '@radix-ui/react-avatar@1.2.7': resolution: {integrity: sha512-6AizCpbU3Zngojp9vQak8Lt4AXwdKJ2lkRYAfpoETraT+qKVNeRqytiADzneHetFEB0Wu4+qeSfmZEq0PiVDmQ==} peerDependencies: @@ -2494,6 +2645,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-checkbox@1.3.11': + resolution: {integrity: sha512-Gnptr9pDDQxD3hgq2dtPbtrp/c2qH1mBwIzw3X/ivrMb2e1t0jMTi606fVEqFPaQR1ggXIVQWKj3P2WW9v7zGQ==} + 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 + '@radix-ui/react-checkbox@1.3.12': resolution: {integrity: sha512-gNOS2lLrpQxNLWHhCX0sayfVRiyB5gQp7nQIzpl+PM1Hkab52utsKtD27alAr78uqhpvX51kwqDp71hM5hNSwg==} peerDependencies: @@ -2507,6 +2671,32 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-collapsible@1.1.20': + resolution: {integrity: sha512-mcGesGplBnzN2sbvJETzpCNfSMyPnb29q1GRLU+Ib7bJrpIG2ywmRoh2V5VbA2uNvKikKUlVbAPks7JDjz4A8Q==} + 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 + + '@radix-ui/react-collection@1.1.15': + resolution: {integrity: sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==} + 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 + '@radix-ui/react-collection@1.1.16': resolution: {integrity: sha512-yEQrjfI5eBbeYEJXOASpm+gs9eNHY8+UjkZ81GzcuwdLrSMOlEM8jnGoGdeGo92oiBMkuwZUhHTsnsrDiJLcyA==} peerDependencies: @@ -2529,6 +2719,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-context-menu@2.3.7': + resolution: {integrity: sha512-CtXP35dxaB5T3zXSd+E3uHe/QpXcpYnZmxp6OaIbfthtfW4wyb77M23BG+bwIJDtsMwEP/YssdsmNyZu7jhWew==} + 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 + '@radix-ui/react-context@1.2.2': resolution: {integrity: sha512-RHCUGwKHDr0hDGg4X7ma4JG4/+12qxw8rkh5QKdDldlCvtja6nUx1Ef/8HVrJze81lEsgLQlqjzjGNHantgnQA==} peerDependencies: @@ -2538,6 +2741,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-dialog@1.1.23': + resolution: {integrity: sha512-Ksw4WeROkO4rC9k/onilX/Ao2Cr1ku1unMNH+XSCcP4jSXYu7HDsg9n4ojMjVb22XpYjAQ9qfrFlVbru1vXDUA==} + 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 + '@radix-ui/react-dialog@1.2.0': resolution: {integrity: sha512-l5CX8HdNL+9cc4s7HkNyplumSA3FIx68sg9dttBHKr286fRBwq1MBniDVTeI/tkof92/APntMQvC1YG1Khb0Cg==} peerDependencies: @@ -2551,6 +2767,15 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-direction@1.1.4': + resolution: {integrity: sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-direction@1.1.5': resolution: {integrity: sha512-/NlO/rOqQabmg+GGr86vCmbJVhqTv85NfM9g6Gknf/JVygXeZ6e6HM/RW1omerW9HsFtecwNqgEAKV6UqDsvpA==} peerDependencies: @@ -2560,6 +2785,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-dismissable-layer@1.1.19': + resolution: {integrity: sha512-8g4pfOL9HoKKLWGiypT+dphVqjFfmcXO5GBnhsG6zI+lxAx/8feQpr+1LSN8Re3hiZ+XkLNS4O9ztK11/LzQ6w==} + 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 + '@radix-ui/react-dismissable-layer@1.1.20': resolution: {integrity: sha512-35WHRrycfnj2m4LvPiKMKHGLM3Y2WvUA744CkRdxjs1BGDX1c8PVMfmiSGTUwnHRbqdtIoxveYTXvcJSt7VfgQ==} peerDependencies: @@ -2573,6 +2811,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-dropdown-menu@2.1.24': + resolution: {integrity: sha512-geq8l2rJkxvkXsT9RMgtUE3P8pITFpTsvYpbySi1IH4fZEABD/Gp85myayFgxk0ktljGMJnCbeFkyTusvSvv7g==} + 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 + '@radix-ui/react-dropdown-menu@2.1.25': resolution: {integrity: sha512-45QO76jn/a+cRl6OPgZKCKnIMdfYZaOa6SuAJeKHFiM3orX6bnscuFQJDx3qS4Agp/RE+eKv+9gmUL8t3Ma7bw==} peerDependencies: @@ -2595,6 +2846,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-focus-scope@1.1.16': + resolution: {integrity: sha512-wmRZ2WWLvmt6KHy2rNPOdPUjwq5xOHY02+m+udwJTn0aNIox/rkskAvJTyTLGhPK6KgrUjlJUJpgmx/+wFiFIQ==} + 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 + '@radix-ui/react-focus-scope@1.2.0': resolution: {integrity: sha512-I5S7vsAOozx2lWSBAyuXjWIJ/A8qx4fjbv6115WoaRYQSb1yZDaeNHonUAQzXyE8oD+0whJHbQRl4HIE2gQ0Xw==} peerDependencies: @@ -2608,6 +2872,32 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-form@0.1.16': + resolution: {integrity: sha512-Q4TLEn2A7TAypxwmd6R9EwrlXDvkfYSDMrq9/887AXAGh+G1rH+kYJKSTv+Si9Y0JPKTwKYv6PviAJosysNimA==} + 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 + + '@radix-ui/react-hover-card@1.1.23': + resolution: {integrity: sha512-H8qONfZd3ltrU3+jHCIgITbWo6e1iTKvP9DHdrvYbX48ooRM5FjEDTn16AMwdfuOGkWdZEhpl3PLL/Wk/AnHDQ==} + 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 + '@radix-ui/react-id@1.1.4': resolution: {integrity: sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==} peerDependencies: @@ -2617,34 +2907,364 @@ packages: '@types/react': optional: true + '@radix-ui/react-label@2.1.15': + resolution: {integrity: sha512-o/rdYEwZTTo5tjknnPeyQFU45kUC4i/XyeDPP+HGyi6XqpOP6Zf5Ya5vh/Yfe9Id5JiuWnnAx2XqIeD3UYZt0g==} + 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 + '@radix-ui/react-label@2.1.16': resolution: {integrity: sha512-2vTQj72YFmeoTxWKJEMbO/9uQt6zzLgbzi0+nWBffq49oo6KhIDP/D+fA2im0wsxBCAX7QfaF3xgsYBVdDbNFQ==} 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 + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-menu@2.1.24': + resolution: {integrity: sha512-uW7RVuU6Lp/ZtfeY4b3kL32zccgEWvPv1+cf17ubYzHa9cL8AHokmk36cG/XEiH/smbQvumnieXX9j/e9RqJWA==} + 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 + + '@radix-ui/react-menu@2.1.25': + resolution: {integrity: sha512-e8JaQc0ijBbTx37YVI09Nfq8ThUWJ4L1rvZ3Hvaufehco9/ug9+U3PHz9ue6w3gKd91UcKf9fgDWejeSO+VSKQ==} + 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 + + '@radix-ui/react-menubar@1.1.24': + resolution: {integrity: sha512-eeVs0vf7cuqXaM0qLQCPcufImiJNVBXdJDLu7ZGYl2732UH23Qat/foNGrr6vYV3/DdTsBqASoggUFgH14OcZA==} + 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 + + '@radix-ui/react-navigation-menu@1.2.22': + resolution: {integrity: sha512-ou7iLEJ+yrhQndkkA4U21XIdS/CS45F4iXIkTZcb6/Ne9EMsOuDudVmCwmDnfFZZ+y1FZqXRNSIgBy+YMvZVZg==} + 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 + + '@radix-ui/react-one-time-password-field@0.1.16': + resolution: {integrity: sha512-Tj9P6ntAJEw52oq/F0AGknXR4XncxEt7XU47O3xJQOiWfLzEy3d9gtgKfvjSzGxzHkfL+VzvxGu2KTFsloJqXw==} + 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 + + '@radix-ui/react-password-toggle-field@0.1.11': + resolution: {integrity: sha512-4gvFnmDXu3dgj21CqsufzIameRvlRd4SBqaWhcrlrNhRo0Y5i/49AmRJYe1fdAM3G2VNBbmin4b0D6cdQocwgw==} + 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 + + '@radix-ui/react-popover@1.1.23': + resolution: {integrity: sha512-mw58MrBlyHWFisTOYignD0vf/3gdcgAR+9of1s9G/38CbFiUwH1nCDkc0AUM9IrXFgN5Ue8n45j9WCgyM1sbiQ==} + 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 + + '@radix-ui/react-popper@1.3.7': + resolution: {integrity: sha512-UsJrrd7w4wuKKTdvd/DNERVlwSlUcyXzjhyDwBk+3aPOsCjOY6ZSbxuw8E6lZTjjfP8Cpd0J8VVkrYUWyGYXyg==} + 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 + + '@radix-ui/react-popper@1.3.8': + resolution: {integrity: sha512-y92/9iIdG1FyNvow0Y0qP5WJZ7oRTAKDVKCy9kJnhZfItwIKYtt0KKQeOhBKfXz0ETizduKwDRbrQHrTQScs5A==} + 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 + + '@radix-ui/react-portal@1.1.17': + resolution: {integrity: sha512-vKQLcWypUnwZVvfV7UkGahH2g6ySe8M8R+zYBwPrv5byZ9QAW6cQVvNKo7GgmD+p8aYb6D9JBuvy8/WhOno2wQ==} + 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 + + '@radix-ui/react-portal@1.1.18': + resolution: {integrity: sha512-ygFIJ+QXNKf72AAq8x3hd22+ws7pYpmc1S0E4kW0Je+qD4qEb3FvxeKVQRGrVDMOkQaYfsB+Qs+KDh81a1gAOw==} + 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 + + '@radix-ui/react-presence@1.1.10': + resolution: {integrity: sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==} + 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 + + '@radix-ui/react-presence@1.1.11': + resolution: {integrity: sha512-Z7/atlkab36Z8hm+V8zYc79r0W+tiOB1o0tun1By94JyadkekLQmtEAnBSP9XKXBNQsStoStS4+gX10JpS5akA==} + 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 + + '@radix-ui/react-primitive@2.1.10': + resolution: {integrity: sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==} + 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 + + '@radix-ui/react-primitive@2.1.11': + resolution: {integrity: sha512-RzcaSw5aKl0OPhBJ1wbolKSF6nVvN+0o/QLeIVq+09npiPdnCkPggy2k6gI6yetxl4ZyrlBPYFgCB8BQJZwXcQ==} + 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 + + '@radix-ui/react-progress@1.1.16': + resolution: {integrity: sha512-5XnomAsoZZCY+KNTxbIghpGqPruZvKFNlvcAljVAOdDRDsH4/OZQxhtwo5wdtoDM5R6MhJBb2sPnDuRFep3lzg==} + 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 + + '@radix-ui/react-radio-group@1.4.7': + resolution: {integrity: sha512-cgYFEkntCxppHZgtSZ+7vh0wbZQ+IC7PPMw8DSnRG27B6kDd32/Zw0OJt7dGDigCoprMuWHjg2PvUn3PYvPFoQ==} + 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 + + '@radix-ui/react-roving-focus@1.1.19': + resolution: {integrity: sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==} + 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 + + '@radix-ui/react-roving-focus@1.1.20': + resolution: {integrity: sha512-+ZjbkU21fTSJdn4nq/IFKUdKS+JSZHORBZ8ma1f6YpOMNzRt0xf3sVAWVK/+ktHCajPy4HYDsyHXZIZmOMxzIA==} + 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 + + '@radix-ui/react-scroll-area@1.2.18': + resolution: {integrity: sha512-Zn5Cd171wxsO3Dfg8HaW6RifTb9CYTKQJHs/G4+LN1GfmJpaQMZQyQxMprVPHpaz7QY4l9BxK2JwQuzHsXC8nA==} + 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 + + '@radix-ui/react-select@2.3.7': + resolution: {integrity: sha512-WFGImkmbzcfxeIwq/+4HvRN0pizBwbwQUED4I13ezQsDdfl38ZntN6TmR8XaSzPBqoCToe8rF75j6NPNDSzhbg==} + 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 + + '@radix-ui/react-separator@1.1.15': + resolution: {integrity: sha512-jOLO4lssEzWpoDu7G+Ze4VjwMRUBt291pnZD0gmalREZipnTX3wadQo7Fy48GCTfe14/YRN6rw/rOJqrE85Wxw==} + 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 + + '@radix-ui/react-separator@1.1.16': + resolution: {integrity: sha512-vugPjGQBXbJVVkftKqv/BVeZ108SyRGT3FR1oa14az6qyLgX8jPhnZYHgdSB7Gw8UJusqwb9eaK6mluOnsn/Vg==} + 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 + + '@radix-ui/react-slider@1.4.7': + resolution: {integrity: sha512-mTSLf1GC/C0moWjTbvCM6Qn/gBjvlFt1azuWF2v7MN5C3Zq2U2J2lN3ZEYkpujuOU5Ro7A28wkviSxaKnG0BYg==} + 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 + + '@radix-ui/react-slot@1.3.3': + resolution: {integrity: sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-menu@2.1.25': - resolution: {integrity: sha512-e8JaQc0ijBbTx37YVI09Nfq8ThUWJ4L1rvZ3Hvaufehco9/ug9+U3PHz9ue6w3gKd91UcKf9fgDWejeSO+VSKQ==} + '@radix-ui/react-slot@1.4.0': + resolution: {integrity: sha512-IuMVHZ+Ah5fkctu3X3qeFrV/ZrBcuWuDTFUUPfS/L5hvoTjzhp/HdWGE14CsQombPdEidsa33HVlYZXi49PZ1Q==} 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 - '@radix-ui/react-popper@1.3.8': - resolution: {integrity: sha512-y92/9iIdG1FyNvow0Y0qP5WJZ7oRTAKDVKCy9kJnhZfItwIKYtt0KKQeOhBKfXz0ETizduKwDRbrQHrTQScs5A==} + '@radix-ui/react-switch@1.3.7': + resolution: {integrity: sha512-48tB/4dn2UVLBCYhTu9AuR63IHl73l/qLbLgxd86noTUor4/K4LFDAcYjK+isP5313qxaFpjPVogE7+Y0/V3Kw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2656,8 +3276,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.1.18': - resolution: {integrity: sha512-ygFIJ+QXNKf72AAq8x3hd22+ws7pYpmc1S0E4kW0Je+qD4qEb3FvxeKVQRGrVDMOkQaYfsB+Qs+KDh81a1gAOw==} + '@radix-ui/react-tabs@1.1.21': + resolution: {integrity: sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2669,8 +3289,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.11': - resolution: {integrity: sha512-Z7/atlkab36Z8hm+V8zYc79r0W+tiOB1o0tun1By94JyadkekLQmtEAnBSP9XKXBNQsStoStS4+gX10JpS5akA==} + '@radix-ui/react-tabs@1.1.22': + resolution: {integrity: sha512-GmVH+P3wx1ZPMuH7WajQzygZIbqgnsb5h8z4Ow3sQMuDqgcqISSBNom6MLVNJvfrkuJTtqfXc3ZolHjX+w0CHg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2682,8 +3302,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.1.11': - resolution: {integrity: sha512-RzcaSw5aKl0OPhBJ1wbolKSF6nVvN+0o/QLeIVq+09npiPdnCkPggy2k6gI6yetxl4ZyrlBPYFgCB8BQJZwXcQ==} + '@radix-ui/react-toast@1.2.23': + resolution: {integrity: sha512-ofhyAsYaocRGOs/n0XWdUOSVzEAG6BfrMVM8z0c0kLEWY38w/0WuMFPTJP/HVaZPYkMvHZoKIIhNcjbTCBILPg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2695,8 +3315,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.20': - resolution: {integrity: sha512-+ZjbkU21fTSJdn4nq/IFKUdKS+JSZHORBZ8ma1f6YpOMNzRt0xf3sVAWVK/+ktHCajPy4HYDsyHXZIZmOMxzIA==} + '@radix-ui/react-toggle-group@1.1.19': + resolution: {integrity: sha512-OtnwuSVjd1Ofi+AdnvhsjQdyuhCDwYs1w9RyB5BN/OavXOVQo42SYqQjwUnbPnaiPFBpQ9aX70dWeee+v2oBLA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2708,8 +3328,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-separator@1.1.16': - resolution: {integrity: sha512-vugPjGQBXbJVVkftKqv/BVeZ108SyRGT3FR1oa14az6qyLgX8jPhnZYHgdSB7Gw8UJusqwb9eaK6mluOnsn/Vg==} + '@radix-ui/react-toggle@1.1.18': + resolution: {integrity: sha512-7lonPlKfSacd20GlOBx2ltuVKz9oqWYZz+oMQyOltw6t1y2nyftj2ZmwwUHYn49kqfDWcp8dNZm5NgV+5Z+mug==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2721,17 +3341,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.4.0': - resolution: {integrity: sha512-IuMVHZ+Ah5fkctu3X3qeFrV/ZrBcuWuDTFUUPfS/L5hvoTjzhp/HdWGE14CsQombPdEidsa33HVlYZXi49PZ1Q==} + '@radix-ui/react-toolbar@1.1.19': + resolution: {integrity: sha512-Ph0IvtYw4VB12ZnZg+YtrGs8yJQsnizwo/zu0R4Y/nWugtJzA7Pg1eWeuDR9+LSqn+xjamss+UOSOJJJ4gx8jw==} 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 - '@radix-ui/react-tabs@1.1.22': - resolution: {integrity: sha512-GmVH+P3wx1ZPMuH7WajQzygZIbqgnsb5h8z4Ow3sQMuDqgcqISSBNom6MLVNJvfrkuJTtqfXc3ZolHjX+w0CHg==} + '@radix-ui/react-tooltip@1.2.16': + resolution: {integrity: sha512-6EamKFRRnlpdadndbZ6LMwycfwkwPte1B42hs6QA0gYhjaOKqW4PZ4pjaW9UrlDX5eVt/OjncE7BFTPL5nmZhg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2783,6 +3407,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-use-escape-keydown@1.1.5': + resolution: {integrity: sha512-ge3ipobwSXTj4JyVtswQ7qZj0ZHdtbGuOno/LrgAAeSxtsJ6Vs4Gz5IkPH2bmqpjcLUFoqGhA/mueuIf63UXlA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-use-is-hydrated@0.1.3': resolution: {integrity: sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==} peerDependencies: @@ -2801,6 +3434,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-use-previous@1.1.4': + resolution: {integrity: sha512-XoSLhbRbqxFtgJoi2fNHA3C6pDlY34x508vUpUGoFZfvePfHXHbE1lC4FYFMnJWgiCRroSTw6fOsXQoVS9RwZg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-use-rect@1.1.4': resolution: {integrity: sha512-cSOCh6JlkmfjLyNcLiu2nB4v+nm+dkZ+Q5KHWk/soo4U7ZLiEQFKHK9/YmtBHjfCEaU43IBKQOc4/uJmCaiCTQ==} peerDependencies: @@ -2810,6 +3452,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-use-size@1.1.4': + resolution: {integrity: sha512-D3anSY15EJoxrihpsXI6SMrmmonnQtR2ni7arO+Lfdg3O95b9hNXxONk8jA5C8ANdF/h5HMAxejgs8PWJ6rlhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-use-size@1.1.5': resolution: {integrity: sha512-V1McDQkMGzgivwqdu7u96APs7oi0Jvj9LTzgq3WWrDZqxWdAqU9yZnZQqk5OizGFR8badUQwZsrlao7MOlWYOA==} peerDependencies: @@ -2819,6 +3470,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-visually-hidden@1.2.11': + resolution: {integrity: sha512-NFS86RYYZb4/exihaESBGOpMJFz8MGLAfu3mOBSGByVnVPC9JPASfYubxd/8KbkQK0sYAv8lVQDEQukDX/qXvQ==} + 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 + '@radix-ui/react-visually-hidden@1.2.12': resolution: {integrity: sha512-/iPLVHRBzKWvekN+5xaDmXw80f+nleYYceomVORrGjuJe0LF2SCbSH4f/LG4hu32q92QSuPZx4hmSACYBVBfzQ==} peerDependencies: @@ -2835,42 +3499,85 @@ packages: '@radix-ui/rect@1.1.3': resolution: {integrity: sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==} + '@rolldown/binding-android-arm-eabi@1.2.13': + resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@rolldown/binding-android-arm-eabi@1.2.8': resolution: {integrity: sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] + '@rolldown/binding-android-arm64@1.2.13': + resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@rolldown/binding-android-arm64@1.2.8': resolution: {integrity: sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@rolldown/binding-darwin-arm64@1.2.13': + resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-arm64@1.2.8': resolution: {integrity: sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-x64@1.2.13': + resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.2.8': resolution: {integrity: sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@rolldown/binding-freebsd-x64@1.2.13': + resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-freebsd-x64@1.2.8': resolution: {integrity: sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.2.8': resolution: {integrity: sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.2.13': + resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-arm64-gnu@1.2.8': resolution: {integrity: sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2878,6 +3585,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-arm64-musl@1.2.13': + resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-arm64-musl@1.2.8': resolution: {integrity: sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2885,6 +3599,13 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-ppc64-gnu@1.2.8': resolution: {integrity: sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2892,6 +3613,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.2.13': + resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.2.8': resolution: {integrity: sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2899,6 +3627,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.2.13': + resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.2.8': resolution: {integrity: sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2906,6 +3641,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-musl@1.2.13': + resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-x64-musl@1.2.8': resolution: {integrity: sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2913,18 +3655,36 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-openharmony-arm64@1.2.13': + resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-openharmony-arm64@1.2.8': resolution: {integrity: sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@rolldown/binding-win32-arm64-msvc@1.2.13': + resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.2.8': resolution: {integrity: sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.2.13': + resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.2.8': resolution: {integrity: sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2952,6 +3712,27 @@ packages: react: '>=18 <20' react-dom: '>=18 <20' + '@saas-maker/motion@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion': + resolution: {path: /packages/motion, tarball: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86} + version: 0.1.11 + + '@saas-maker/templates@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/templates': + resolution: {path: /packages/templates, tarball: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86} + version: 0.1.11 + peerDependencies: + '@saas-maker/motion': 0.x + '@saas-maker/ui': 0.x + astro: '>=7' + react: '>=19' + + '@saas-maker/ui@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui': + resolution: {path: /packages/ui, tarball: https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86} + version: 0.1.11 + peerDependencies: + react: '>=19' + react-dom: '>=19' + tailwindcss: '>=4.3' + '@shikijs/core@4.4.3': resolution: {integrity: sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==} engines: {node: '>=20'} @@ -3155,79 +3936,39 @@ packages: '@swc/helpers@0.5.23': resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@tailwindcss/node@4.3.0': - resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} - '@tailwindcss/node@4.3.3': resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} - '@tailwindcss/oxide-android-arm64@4.3.0': - resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [android] - '@tailwindcss/oxide-android-arm64@4.3.3': resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.3.0': - resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [darwin] - '@tailwindcss/oxide-darwin-arm64@4.3.3': resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.0': - resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.3': resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.3.0': - resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} - engines: {node: '>= 20'} - cpu: [x64] - os: [freebsd] - '@tailwindcss/oxide-freebsd-x64@4.3.3': resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} - engines: {node: '>= 20'} - cpu: [arm] - os: [linux] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} engines: {node: '>= 20'} @@ -3235,13 +3976,6 @@ packages: os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [linux] - libc: [musl] - '@tailwindcss/oxide-linux-arm64-musl@4.3.3': resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} engines: {node: '>= 20'} @@ -3249,13 +3983,6 @@ packages: os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - libc: [glibc] - '@tailwindcss/oxide-linux-x64-gnu@4.3.3': resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} engines: {node: '>= 20'} @@ -3263,13 +3990,6 @@ packages: os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} - engines: {node: '>= 20'} - cpu: [x64] - os: [linux] - libc: [musl] - '@tailwindcss/oxide-linux-x64-musl@4.3.3': resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} engines: {node: '>= 20'} @@ -3277,18 +3997,6 @@ packages: os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' - - tslib - '@tailwindcss/oxide-wasm32-wasi@4.3.3': resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} engines: {node: '>=14.0.0'} @@ -3301,34 +4009,18 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} - engines: {node: '>= 20'} - cpu: [arm64] - os: [win32] - '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} - engines: {node: '>= 20'} - cpu: [x64] - os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.3': resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.3.0': - resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} - engines: {node: '>= 20'} - '@tailwindcss/oxide@4.3.3': resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} engines: {node: '>= 20'} @@ -3336,11 +4028,30 @@ packages: '@tailwindcss/postcss@4.3.3': resolution: {integrity: sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg==} - '@tailwindcss/vite@4.3.0': - resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + '@tailwindcss/vite@4.3.3': + resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 + '@tanstack/react-store@0.11.2': + resolution: {integrity: sha512-oj5O5DmiMWE+ih+SioX2ayC1kbK7d3fpLx0B75fPJr9nY3zU+hoW010yr64qXsY/9fyiLVE2bn5mGNV3owm8RQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/react-table@9.2.4': + resolution: {integrity: sha512-Rzp1Q4e0/nIgEjmISYR5HeEgLTNtrG+C7NFZf/AbCxPO5hg+zC3yNGwcoECigUk8SFzzvhXbd2rFdtP2ZiGrfA==} + engines: {node: '>=20'} + peerDependencies: + react: '>=18' + + '@tanstack/store@0.11.2': + resolution: {integrity: sha512-sJ4mjol8uQsHV0gOJzzjwXfh2Fwm+Sz0+8deqiTm4jGbMdjzNSW+xZCFm0kUa870uhd8yi+DpKnZb5Kc4apa0Q==} + + '@tanstack/table-core@9.2.4': + resolution: {integrity: sha512-GwdDyGGr6UXAtubF14yAwcXvdaogqfsQgIk89Suebjxob/Rjq2xvfmXsjDF1rQmKmhHsJm9TOY7myxv3i6geJw==} + engines: {node: '>=20'} + '@testing-library/dom@10.4.1': resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} @@ -3447,9 +4158,17 @@ packages: peerDependencies: '@types/react': ^19.2.0 + '@types/react-dom@19.3.0': + resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} + peerDependencies: + '@types/react': ^19.3.0 + '@types/react@19.2.17': resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} + '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} @@ -3505,6 +4224,22 @@ packages: babel-plugin-react-compiler: optional: true + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + oxc-transform-react: ^0.152.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + oxc-transform-react: + optional: true + '@vitest/coverage-v8@4.1.11': resolution: {integrity: sha512-8MVGEFnJIcdGjcbfKmeq8z0pZHH0JlVtoVZH9Q/qwUp6wyFnEJUBMrw9DCaj+ra3vShGmhavjalMIhPNxZAUcw==} peerDependencies: @@ -3907,6 +4642,12 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + cmdk@1.1.1: + resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + codemirror@6.0.2: resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==} @@ -4083,6 +4824,9 @@ packages: devalue@5.9.3: resolution: {integrity: sha512-xRumYOCUZN/EesqHEU3WOXanOZNvfZFZ/o1AHVFDX1yI0UAkZkOgDXt341CzKoBVIkgQba55/+DjGBKrIoKcHw==} + devalue@5.9.4: + resolution: {integrity: sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -4176,10 +4920,6 @@ packages: end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.22.1: - resolution: {integrity: sha512-6QEuw3zoX1SJQc7b87aBXke/no+mG2bTBgw29gWMQonLmpEkWoCAVkl+M49e48AZlWzxiDzDZzYdp6kobcyLww==} - engines: {node: '>=10.13.0'} - enhanced-resolve@5.24.3: resolution: {integrity: sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==} engines: {node: '>=10.13.0'} @@ -4379,6 +5119,17 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + framer-motion@13.5.1: + resolution: {integrity: sha512-HeWOaeHD3kyTSIEMT6+nw7fBn4saIfxxabZyAITbycAl4xr1kzGJKIvGt/OWghSlvIA9qTnZ1zTGelHAe6S8DA==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -4911,6 +5662,11 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lucide-react@1.48.0: + resolution: {integrity: sha512-R0CIKY/fXiC6y9xRBADgsK+VW2p/pcTJOMhLZf1T+uG+vJUvyUR02nGOgmIIC7MPkiNK4Ox8QDnbqF8rJYWPZQ==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -5109,6 +5865,23 @@ packages: resolution: {integrity: sha512-snEhs+6G5Tjd4I7tLCDOaoln2RgE0bD19RzEKgvgK2hZ5VKy3MpLhLTZ2fWpXSTg4K2cyPwp+VHATFJhxfnOeA==} engines: {node: '>=18.0.0'} + motion-dom@13.5.1: + resolution: {integrity: sha512-/7CVCD20Mz1KobktorpdgvowV0V41J7UxqE+qWS3GkSJqrRr5ft+2RloOYtEKv+wvBp3JaSFBclhxt4ja8ovHg==} + + motion-utils@13.5.0: + resolution: {integrity: sha512-Hqe/sqjIKliPZg8sVjWAkdySDPJNIeKH+euVkDOG8ri3DUUU7ZjndmHsGqEPz2iHpiyVaV5I22iguCMHU2he+Q==} + + motion@13.4.3: + resolution: {integrity: sha512-Js4rk+VUxSRMKOFT4hOMyMKlxyF11ee9jomiLT3uuwMOU88EoSro0ZEbTYes4m457pqZQ2G3RsLdHQzoEDyBCQ==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -5376,6 +6149,10 @@ packages: resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.29: + resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==} + engines: {node: ^10 || ^12 || >=14} + posthog-js@1.407.3: resolution: {integrity: sha512-b9Kc7HVN6nh+xsh1JrcLYHv9bbYLwYUM9belJtNVUFZSJWWfFcZRJJP6L+KeanAeu2VxSFSpioVA39pjjolv4A==} @@ -5430,6 +6207,19 @@ packages: query-selector-shadow-dom@1.0.1: resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} + radix-ui@1.6.7: + resolution: {integrity: sha512-QBdhh1arIEUvPC0dQ5+nwWAxt7+N+oP/9jPwjJkGFoSk/sqxg32gJtSXGtFh8frAIcS6oC9cx2Q+7KYCQLOAeA==} + 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 + radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -5453,6 +6243,11 @@ packages: peerDependencies: react: ^19.2.8 + react-dom@19.3.0: + resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} + peerDependencies: + react: ^19.3.0 + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -5499,6 +6294,10 @@ packages: resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} engines: {node: '>=0.10.0'} + react@19.3.0: + resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} + engines: {node: '>=0.10.0'} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -5547,6 +6346,11 @@ packages: retext-smartypants@6.2.0: resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} + rolldown@1.2.13: + resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rolldown@1.2.8: resolution: {integrity: sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5583,6 +6387,9 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} + semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} @@ -5664,6 +6471,16 @@ packages: resolution: {integrity: sha512-hpd+HLON7HdZXqYchMM/+LaTTbdK0AU3NngIJ4KVyWbY9bfQqdL9cD+4yf6dUoU2Ap4VsU0JkQi6FxAI1B2mXQ==} engines: {node: '>= 18'} + sonner@2.0.8: + resolution: {integrity: sha512-UM/ByIoFra8yzV75n1o0Puu0bw5U/9UNnDacrJNspekBewIfsQ3D6ez1nvlWpt7aTsO6rujQtifBpycwIivqlg==} + peerDependencies: + '@types/react': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + source-map-js@1.2.2: resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} engines: {node: '>=0.10.0'} @@ -5786,12 +6603,6 @@ packages: tailwind-merge@3.7.0: resolution: {integrity: sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==} - tailwindcss@4.2.1: - resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} - - tailwindcss@4.3.0: - resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} - tailwindcss@4.3.3: resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} @@ -5876,6 +6687,9 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tw-animate-css@1.4.0: + resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} + type-is@2.1.0: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} @@ -6049,6 +6863,11 @@ packages: '@types/react': optional: true + use-sync-external-store@1.7.0: + resolution: {integrity: sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -6109,6 +6928,49 @@ packages: yaml: optional: true + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.7.1 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vitefu@1.1.3: resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==} peerDependencies: @@ -6494,6 +7356,17 @@ snapshots: smol-toml: 1.9.0 unified: 11.0.5 + '@astrojs/internal-helpers@0.11.0': + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + js-yaml: 4.3.2 + picomatch: 4.0.7 + retext-smartypants: 6.2.0 + shiki: 4.4.3 + smol-toml: 1.9.0 + unified: 11.0.5 + '@astrojs/markdown-satteri@0.3.8': dependencies: '@astrojs/internal-helpers': 0.10.4 @@ -6505,6 +7378,33 @@ snapshots: dependencies: prismjs: 1.30.0 + '@astrojs/react@7.0.0(@types/node@24.12.4)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(babel-plugin-react-compiler@1.0.0)(esbuild@0.28.2)(jiti@2.7.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(terser@5.16.9)(yaml@2.9.0)': + dependencies: + '@astrojs/internal-helpers': 0.11.0 + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@vitejs/plugin-react': 6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + devalue: 5.9.4 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + ultrahtml: 1.7.0 + vite: 8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + transitivePeerDependencies: + - '@rolldown/plugin-babel' + - '@types/node' + - '@vitejs/devtools' + - babel-plugin-react-compiler + - esbuild + - jiti + - less + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + '@astrojs/sitemap@3.7.3': dependencies: sitemap: 9.0.1 @@ -7930,8 +8830,26 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) + '@floating-ui/react-dom@2.1.9(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@floating-ui/dom': 1.8.0 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + '@floating-ui/utils@0.2.12': {} + '@fontsource-variable/figtree@5.3.0': {} + + '@fontsource-variable/fraunces@5.3.0': {} + + '@fontsource-variable/geist-mono@5.3.0': {} + + '@fontsource-variable/geist@5.3.0': {} + + '@fontsource-variable/newsreader@5.3.0': {} + + '@fontsource/instrument-serif@5.3.0': {} + '@img/colour@1.1.0': {} '@img/sharp-darwin-arm64@0.35.5': @@ -8340,6 +9258,8 @@ snapshots: '@oxc-project/types@0.149.0': {} + '@oxc-project/types@0.153.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -8435,8 +9355,58 @@ snapshots: optionalDependencies: yauzl: 2.10.0 + '@radix-ui/number@1.1.3': {} + '@radix-ui/primitive@1.1.7': {} + '@radix-ui/react-accessible-icon@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-accordion@1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-alert-dialog@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-arrow@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-arrow@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -8446,6 +9416,29 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-aspect-ratio@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-avatar@1.2.6(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-avatar@1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8460,6 +9453,21 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-checkbox@1.3.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-checkbox@1.3.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8475,6 +9483,34 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-collapsible@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-collection@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-collection@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) @@ -8493,12 +9529,60 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-compose-refs@1.1.5(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-context-menu@2.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-menu': 2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-context@1.2.2(@types/react@19.2.17)(react@19.2.8)': dependencies: react: 19.2.8 optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-context@1.2.2(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-dialog@1.2.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8522,12 +9606,54 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-dialog@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-portal': 1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-direction@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-direction@1.1.5(@types/react@19.2.17)(react@19.2.8)': dependencies: react: 19.2.8 optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-dismissable-layer@1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8541,6 +9667,34 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-dismissable-layer@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-dropdown-menu@2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-menu': 2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-dropdown-menu@2.1.25(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8562,6 +9716,23 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-focus-guards@1.1.6(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-focus-scope@1.2.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) @@ -8573,6 +9744,48 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-focus-scope@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-form@0.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-label': 2.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-hover-card@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-id@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) @@ -8580,6 +9793,22 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-id@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-label@2.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-label@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -8589,6 +9818,32 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-menu@2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-menu@2.1.25(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8615,6 +9870,123 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-menubar@1.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-menu': 2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-navigation-menu@1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-one-time-password-field@0.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-password-toggle-field@0.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popover@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popper@1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@floating-ui/react-dom': 2.1.9(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-arrow': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-rect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/rect': 1.1.3 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-popper@1.3.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -8633,6 +10005,16 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-portal@1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-portal@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -8643,6 +10025,25 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-portal@1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-presence@1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-presence@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) @@ -8652,6 +10053,24 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-presence@1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-primitive@2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-slot': 1.4.0(@types/react@19.2.17)(react@19.2.8) @@ -8661,6 +10080,61 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-primitive@2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-progress@1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-radio-group@1.4.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-roving-focus@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-roving-focus@1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8677,8 +10151,64 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.17 - '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-scroll-area@1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-select@2.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-separator@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) '@radix-ui/react-separator@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: @@ -8689,6 +10219,32 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-slider@1.4.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-slot@1.3.3(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-slot@1.4.0(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.17)(react@19.2.8) @@ -8696,6 +10252,43 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-slot@1.4.0(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-switch@1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-tabs@1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-tabs@1.1.22(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8712,6 +10305,88 @@ snapshots: '@types/react': 19.2.17 '@types/react-dom': 19.2.3(@types/react@19.2.17) + '@radix-ui/react-toast@1.2.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-toggle-group@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toggle': 1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-toggle@1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-toolbar@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-separator': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toggle-group': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-tooltip@1.2.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-tooltip@1.3.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8739,6 +10414,12 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-callback-ref@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-controllable-state@1.2.6(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 @@ -8748,6 +10429,15 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-controllable-state@1.2.6(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-effect-event@0.0.5(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) @@ -8755,18 +10445,50 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-effect-event@0.0.5(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-escape-keydown@1.1.5(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-is-hydrated@0.1.3(@types/react@19.2.17)(react@19.2.8)': dependencies: react: 19.2.8 optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-is-hydrated@0.1.3(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-layout-effect@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: react: 19.2.8 optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-layout-effect@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-previous@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-rect@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/rect': 1.1.3 @@ -8774,6 +10496,20 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-use-rect@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/rect': 1.1.3 + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-size@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + '@radix-ui/react-use-size@1.1.5(@types/react@19.2.17)(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.17)(react@19.2.8) @@ -8781,6 +10517,15 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + '@radix-ui/react-visually-hidden@1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-visually-hidden@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -8792,48 +10537,93 @@ snapshots: '@radix-ui/rect@1.1.3': {} + '@rolldown/binding-android-arm-eabi@1.2.13': + optional: true + '@rolldown/binding-android-arm-eabi@1.2.8': optional: true + '@rolldown/binding-android-arm64@1.2.13': + optional: true + '@rolldown/binding-android-arm64@1.2.8': optional: true + '@rolldown/binding-darwin-arm64@1.2.13': + optional: true + '@rolldown/binding-darwin-arm64@1.2.8': optional: true + '@rolldown/binding-darwin-x64@1.2.13': + optional: true + '@rolldown/binding-darwin-x64@1.2.8': optional: true + '@rolldown/binding-freebsd-x64@1.2.13': + optional: true + '@rolldown/binding-freebsd-x64@1.2.8': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.2.8': optional: true + '@rolldown/binding-linux-arm64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.2.8': optional: true + '@rolldown/binding-linux-arm64-musl@1.2.13': + optional: true + '@rolldown/binding-linux-arm64-musl@1.2.8': optional: true + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-ppc64-gnu@1.2.8': optional: true + '@rolldown/binding-linux-s390x-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-s390x-gnu@1.2.8': optional: true + '@rolldown/binding-linux-x64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-x64-gnu@1.2.8': optional: true + '@rolldown/binding-linux-x64-musl@1.2.13': + optional: true + '@rolldown/binding-linux-x64-musl@1.2.8': optional: true + '@rolldown/binding-openharmony-arm64@1.2.13': + optional: true + '@rolldown/binding-openharmony-arm64@1.2.8': optional: true + '@rolldown/binding-win32-arm64-msvc@1.2.13': + optional: true + '@rolldown/binding-win32-arm64-msvc@1.2.8': optional: true + '@rolldown/binding-win32-x64-msvc@1.2.13': + optional: true + '@rolldown/binding-win32-x64-msvc@1.2.8': optional: true @@ -8848,6 +10638,45 @@ snapshots: react: 19.2.8 react-dom: 19.2.8(react@19.2.8) + '@saas-maker/motion@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + motion: 13.4.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + transitivePeerDependencies: + - react + - react-dom + + '@saas-maker/templates@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/templates(@saas-maker/motion@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@saas-maker/ui@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3))(astro@7.2.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@24.12.4)(@vercel/functions@3.7.6(@aws-sdk/credential-provider-web-identity@3.972.67)(ws@8.21.0))(aws4fetch@1.0.20)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))(react@19.3.0)': + dependencies: + '@saas-maker/motion': https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/motion(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@saas-maker/ui': https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) + astro: 7.2.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(@types/node@24.12.4)(@vercel/functions@3.7.6(@aws-sdk/credential-provider-web-identity@3.972.67)(ws@8.21.0))(aws4fetch@1.0.20)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + lucide-react: 1.48.0(react@19.3.0) + react: 19.3.0 + + '@saas-maker/ui@https://codeload.github.com/sass-maker/ui-library/tar.gz/2bc53a5a497bc5f31a963d7dd2cdcfb33714da86#path:/packages/ui(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3)': + dependencies: + '@fontsource-variable/figtree': 5.3.0 + '@fontsource-variable/fraunces': 5.3.0 + '@fontsource-variable/geist': 5.3.0 + '@fontsource-variable/geist-mono': 5.3.0 + '@fontsource-variable/newsreader': 5.3.0 + '@fontsource/instrument-serif': 5.3.0 + '@tanstack/react-table': 9.2.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + class-variance-authority: 0.7.1 + clsx: 2.1.1 + cmdk: 1.1.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + lucide-react: 1.48.0(react@19.3.0) + radix-ui: 1.6.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + sonner: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + tailwind-merge: 3.7.0 + tailwindcss: 4.3.3 + tw-animate-css: 1.4.0 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + '@shikijs/core@4.4.3': dependencies: '@shikijs/primitive': 4.4.3 @@ -9101,16 +10930,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/node@4.3.0': - dependencies: - '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.22.1 - jiti: 2.7.0 - lightningcss: 1.32.0 - magic-string: 0.30.21 - source-map-js: 1.2.2 - tailwindcss: 4.3.0 - '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 @@ -9121,93 +10940,42 @@ snapshots: source-map-js: 1.2.2 tailwindcss: 4.3.3 - '@tailwindcss/oxide-android-arm64@4.3.0': - optional: true - '@tailwindcss/oxide-android-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.0': - optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-x64@4.3.0': - optional: true - '@tailwindcss/oxide-darwin-x64@4.3.3': optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.0': - optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.3': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.3': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.3': optional: true - '@tailwindcss/oxide@4.3.0': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-x64': 4.3.0 - '@tailwindcss/oxide-freebsd-x64': 4.3.0 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-x64-musl': 4.3.0 - '@tailwindcss/oxide-wasm32-wasi': 4.3.0 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - '@tailwindcss/oxide@4.3.3': optionalDependencies: '@tailwindcss/oxide-android-arm64': 4.3.3 @@ -9231,12 +10999,33 @@ snapshots: postcss: 8.5.23 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.0(vite@8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.3(vite@8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': dependencies: - '@tailwindcss/node': 4.3.0 - '@tailwindcss/oxide': 4.3.0 - tailwindcss: 4.3.0 - vite: 8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + tailwindcss: 4.3.3 + vite: 8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + + '@tanstack/react-store@0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@tanstack/store': 0.11.2 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + use-sync-external-store: 1.7.0(react@19.3.0) + + '@tanstack/react-table@9.2.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/table-core': 9.2.4 + react: 19.3.0 + transitivePeerDependencies: + - react-dom + + '@tanstack/store@0.11.2': {} + + '@tanstack/table-core@9.2.4': + dependencies: + '@tanstack/store': 0.11.2 '@testing-library/dom@10.4.1': dependencies: @@ -9358,10 +11147,18 @@ snapshots: dependencies: '@types/react': 19.2.17 + '@types/react-dom@19.3.0(@types/react@19.3.0)': + dependencies: + '@types/react': 19.3.0 + '@types/react@19.2.17': dependencies: csstype: 3.2.3 + '@types/react@19.3.0': + dependencies: + csstype: 3.2.3 + '@types/sax@1.2.7': dependencies: '@types/node': 20.19.39 @@ -9403,10 +11200,17 @@ snapshots: jose: 5.10.0 optional: true - '@vitejs/plugin-react@6.0.4(babel-plugin-react-compiler@1.0.0)(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.4(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + optionalDependencies: + babel-plugin-react-compiler: 1.0.0 + + '@vitejs/plugin-react@6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + vite: 8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) optionalDependencies: babel-plugin-react-compiler: 1.0.0 @@ -9422,7 +11226,7 @@ snapshots: obug: 2.2.1 std-env: 4.2.0 tinyrainbow: 3.1.0 - vitest: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + vitest: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) '@vitest/expect@4.1.11': dependencies: @@ -9433,13 +11237,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': + '@vitest/mocker@4.1.11(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.11 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + vite: 8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) '@vitest/pretty-format@4.1.11': dependencies: @@ -9722,7 +11526,7 @@ snapshots: next: 16.3.8(@opentelemetry/api@1.9.0)(@playwright/test@1.62.0)(@types/node@20.19.33)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - vitest: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + vitest: 4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) transitivePeerDependencies: - '@opentelemetry/api' @@ -9857,6 +11661,18 @@ snapshots: clsx@2.1.1: {} + cmdk@1.1.1(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dialog': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + codemirror@6.0.2: dependencies: '@codemirror/autocomplete': 6.20.1 @@ -10007,6 +11823,8 @@ snapshots: devalue@5.9.3: {} + devalue@5.9.4: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -10100,11 +11918,6 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.22.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.3 - enhanced-resolve@5.24.3: dependencies: graceful-fs: 4.2.11 @@ -10415,6 +12228,15 @@ snapshots: forwarded@0.2.0: {} + framer-motion@13.5.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + motion-dom: 13.5.1 + motion-utils: 13.5.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + fresh@2.0.0: {} fs.realpath@1.0.0: {} @@ -10916,6 +12738,10 @@ snapshots: dependencies: react: 19.2.8 + lucide-react@1.48.0(react@19.3.0): + dependencies: + react: 19.3.0 + lz-string@1.5.0: {} magic-string@0.30.21: @@ -11251,6 +13077,20 @@ snapshots: modern-tar@0.8.5: {} + motion-dom@13.5.1: + dependencies: + motion-utils: 13.5.0 + + motion-utils@13.5.0: {} + + motion@13.4.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + framer-motion: 13.5.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + tslib: 2.8.1 + optionalDependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + mrmime@2.0.1: {} ms@2.1.3: {} @@ -11527,6 +13367,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.2 + postcss@8.5.29: + dependencies: + nanoid: 3.3.19 + picocolors: 1.1.1 + source-map-js: 1.2.2 + posthog-js@1.407.3: dependencies: '@posthog/browser-common': 0.2.2 @@ -11594,6 +13440,69 @@ snapshots: query-selector-shadow-dom@1.0.1: {} + radix-ui@1.6.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-accessible-icon': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-accordion': 1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-alert-dialog': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-arrow': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-aspect-ratio': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-avatar': 1.2.6(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-checkbox': 1.3.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context-menu': 2.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-dropdown-menu': 2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-form': 0.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-hover-card': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-label': 2.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-menu': 2.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-menubar': 1.1.24(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-navigation-menu': 1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-one-time-password-field': 0.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-password-toggle-field': 0.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-popover': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-progress': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-radio-group': 1.4.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-scroll-area': 1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-select': 2.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-separator': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slider': 1.4.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-switch': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-tabs': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toast': 1.2.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toggle': 1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toggle-group': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-toolbar': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-tooltip': 1.2.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-escape-keydown': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + radix3@1.1.2: {} range-parser@1.3.0: {} @@ -11625,6 +13534,11 @@ snapshots: react: 19.2.8 scheduler: 0.27.0 + react-dom@19.3.0(react@19.3.0): + dependencies: + react: 19.3.0 + scheduler: 0.28.0 + react-is@16.13.1: {} react-is@17.0.2: {} @@ -11655,6 +13569,14 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + react-remove-scroll-bar@2.3.8(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.8): dependencies: react: 19.2.8 @@ -11666,6 +13588,17 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + react-remove-scroll@2.7.2(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.3.0)(react@19.3.0) + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.3.0)(react@19.3.0) + use-sidecar: 1.1.3(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + react-style-singleton@2.2.3(@types/react@19.2.17)(react@19.2.8): dependencies: get-nonce: 1.0.1 @@ -11674,8 +13607,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + react-style-singleton@2.2.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + get-nonce: 1.0.1 + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + react@19.2.8: {} + react@19.3.0: {} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -11746,6 +13689,27 @@ snapshots: nlcst-to-string: 4.0.0 unist-util-visit: 5.1.0 + rolldown@1.2.13: + dependencies: + '@oxc-project/types': 0.153.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm-eabi': 1.2.13 + '@rolldown/binding-android-arm64': 1.2.13 + '@rolldown/binding-darwin-arm64': 1.2.13 + '@rolldown/binding-darwin-x64': 1.2.13 + '@rolldown/binding-freebsd-x64': 1.2.13 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 + '@rolldown/binding-linux-arm64-gnu': 1.2.13 + '@rolldown/binding-linux-arm64-musl': 1.2.13 + '@rolldown/binding-linux-ppc64-gnu': 1.2.13 + '@rolldown/binding-linux-s390x-gnu': 1.2.13 + '@rolldown/binding-linux-x64-gnu': 1.2.13 + '@rolldown/binding-linux-x64-musl': 1.2.13 + '@rolldown/binding-openharmony-arm64': 1.2.13 + '@rolldown/binding-win32-arm64-msvc': 1.2.13 + '@rolldown/binding-win32-x64-msvc': 1.2.13 + rolldown@1.2.8: dependencies: '@oxc-project/types': 0.149.0 @@ -11810,6 +13774,8 @@ snapshots: scheduler@0.27.0: {} + scheduler@0.28.0: {} + semver@7.8.5: {} send@1.2.1: @@ -11971,6 +13937,13 @@ snapshots: smol-toml@1.9.0: {} + sonner@2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + source-map-js@1.2.2: {} source-map-support@0.5.21: @@ -12083,10 +14056,6 @@ snapshots: tailwind-merge@3.7.0: {} - tailwindcss@4.2.1: {} - - tailwindcss@4.3.0: {} - tailwindcss@4.3.3: {} tapable@2.3.3: {} @@ -12177,6 +14146,8 @@ snapshots: tslib@2.8.1: {} + tw-animate-css@1.4.0: {} + type-is@2.1.0: dependencies: content-type: 2.0.0 @@ -12289,6 +14260,13 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + use-callback-ref@1.3.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.8): dependencies: detect-node-es: 1.1.0 @@ -12297,6 +14275,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 + use-sidecar@1.1.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + detect-node-es: 1.1.0 + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + + use-sync-external-store@1.7.0(react@19.3.0): + dependencies: + react: 19.3.0 + util-deprecate@1.0.2: {} uuid@13.0.2: {} @@ -12313,13 +14303,28 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0): + vite@8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 postcss: 8.5.28 rolldown: 1.2.8 tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 24.12.4 + esbuild: 0.28.2 + fsevents: 2.3.3 + jiti: 2.7.0 + terser: 5.16.9 + yaml: 2.9.0 + + vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0): + dependencies: + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.29 + rolldown: 1.2.13 + tinyglobby: 0.2.17 optionalDependencies: '@types/node': 20.19.33 esbuild: 0.28.2 @@ -12328,12 +14333,12 @@ snapshots: terser: 5.16.9 yaml: 2.9.0 - vite@8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0): + vite@8.3.4(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.8 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 24.12.4 @@ -12347,10 +14352,10 @@ snapshots: optionalDependencies: vite: 8.2.2(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) - vitest@4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)): + vitest@4.1.11(@opentelemetry/api@1.9.0)(@types/node@20.19.33)(@vitest/coverage-v8@4.1.11)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) + '@vitest/mocker': 4.1.11(vite@8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.11 '@vitest/runner': 4.1.11 '@vitest/snapshot': 4.1.11 @@ -12367,7 +14372,7 @@ snapshots: tinyexec: 1.3.1 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.2.2(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) + vite: 8.3.4(@types/node@20.19.33)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.16.9)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 From b7be75c55ec3872daf8fb9584ce029293fd02980 Mon Sep 17 00:00:00 2001 From: Sarthak Agrawal Date: Sat, 10 Oct 2026 11:01:20 +0530 Subject: [PATCH 2/3] Share landing JSON-LD and inline scripts between layout and home Fixes the duplication gate; refreshes the improved duplication baseline. Co-Authored-By: Claude Sonnet 5.5 --- landing-astro/src/layouts/Layout.astro | 71 ++------------------------ landing-astro/src/lib/product.ts | 69 +++++++++++++++++++++++++ landing-astro/src/pages/index.astro | 70 ++----------------------- scripts/check-code-health.mjs | 2 +- 4 files changed, 79 insertions(+), 133 deletions(-) diff --git a/landing-astro/src/layouts/Layout.astro b/landing-astro/src/layouts/Layout.astro index 4937d2d..134cc6e 100644 --- a/landing-astro/src/layouts/Layout.astro +++ b/landing-astro/src/layouts/Layout.astro @@ -1,6 +1,6 @@ --- import '@/styles/global.css'; -import { PRODUCT_DESCRIPTION } from '@/lib/product'; +import { APP_HEALTH_CLICK_SCRIPT, productJsonLd, REDIRECT_AUTHENTICATED_SCRIPT } from '@/lib/product'; interface Props { title: string; @@ -16,50 +16,8 @@ const canonicalUrl = new URL(canonicalPath, SITE_URL).toString(); // render SVG Open Graph images. const OG_IMAGE = `${SITE_URL}/og-image.png`; -const jsonLd = { - '@context': 'https://schema.org', - '@graph': [ - { - '@type': 'WebSite', - name: 'RolePatch', - alternateName: ['Role Patch', 'rolepatch.com'], - url: SITE_URL, - description: PRODUCT_DESCRIPTION, - }, - { - '@type': 'SoftwareApplication', - name: 'RolePatch', - alternateName: ['Role Patch', 'rolepatch.com'], - applicationCategory: 'BusinessApplication', - operatingSystem: 'Web', - url: SITE_URL, - description: PRODUCT_DESCRIPTION, - audience: { - '@type': 'Audience', - audienceType: 'Job seekers preparing a serious application for a specific role', - }, - offers: [ - { - '@type': 'Offer', - name: 'Browser-local resume tools', - price: '0', - priceCurrency: 'USD', - description: 'ATS, keyword, bullet, diff, snippets, and word-count tools without sign-up.', - }, - { '@type': 'Offer', name: '10 AI tokens', price: '5', priceCurrency: 'USD' }, - { '@type': 'Offer', name: '30 AI tokens', price: '12', priceCurrency: 'USD' }, - { '@type': 'Offer', name: '100 AI tokens', price: '30', priceCurrency: 'USD' }, - ], - featureList: [ - 'Evidence-bound resume tailoring', - 'Word-level change review', - 'Job fit analysis', - 'Cover letters and interview stories', - 'Review-first application packets and receipts', - ], - }, - ], -}; +const jsonLd = productJsonLd(SITE_URL); + --- @@ -122,31 +80,12 @@ const jsonLd = { data-identity="session" data-endpoint="https://ingest.sassmaker.com/v1/browser" > - + { redirectAuthenticated && ( - + ) } diff --git a/landing-astro/src/lib/product.ts b/landing-astro/src/lib/product.ts index 0f9648d..46989c9 100644 --- a/landing-astro/src/lib/product.ts +++ b/landing-astro/src/lib/product.ts @@ -35,3 +35,72 @@ export const PRODUCT_FAQS = [ a: 'RolePatch is a live, maintained web product. Its maker is not currently job hunting, so owner-led validation against new real applications is paused. The app and token-pack checkout code are implemented, but this landing audit does not claim an independently completed live purchase or broad outcome study.', }, ] as const; + +export const productJsonLd = (siteUrl: string) => ({ + '@context': 'https://schema.org', + '@graph': [ + { + '@type': 'WebSite', + name: 'RolePatch', + alternateName: ['Role Patch', 'rolepatch.com'], + url: siteUrl, + description: PRODUCT_DESCRIPTION, + }, + { + '@type': 'SoftwareApplication', + name: 'RolePatch', + alternateName: ['Role Patch', 'rolepatch.com'], + applicationCategory: 'BusinessApplication', + operatingSystem: 'Web', + url: siteUrl, + description: PRODUCT_DESCRIPTION, + audience: { + '@type': 'Audience', + audienceType: 'Job seekers preparing a serious application for a specific role', + }, + offers: [ + { + '@type': 'Offer', + name: 'Browser-local resume tools', + price: '0', + priceCurrency: 'USD', + description: 'ATS, keyword, bullet, diff, snippets, and word-count tools without sign-up.', + }, + { '@type': 'Offer', name: '10 AI tokens', price: '5', priceCurrency: 'USD' }, + { '@type': 'Offer', name: '30 AI tokens', price: '12', priceCurrency: 'USD' }, + { '@type': 'Offer', name: '100 AI tokens', price: '30', priceCurrency: 'USD' }, + ], + featureList: [ + 'Evidence-bound resume tailoring', + 'Word-level change review', + 'Job fit analysis', + 'Cover letters and interview stories', + 'Review-first application packets and receipts', + ], + }, + ], +}); + +// Inline scripts shared by the Astro layout and the UI-library home page. +export const APP_HEALTH_CLICK_SCRIPT = ` +document.addEventListener('click', function (event) { + var target = event.target; + var control = target && target.closest ? target.closest('[data-app-health-event]') : null; + var name = control && control.getAttribute('data-app-health-event'); + if (name && window.appHealth && typeof window.appHealth.track === 'function') { + window.appHealth.track(name); + } +}); +`; + +export const REDIRECT_AUTHENTICATED_SCRIPT = ` +(function () { + var c = document.cookie; + if ( + c.indexOf('better-auth.session_token') !== -1 || + c.indexOf('__Secure-better-auth.session_token') !== -1 + ) { + location.replace('/dashboard'); + } +})(); +`; diff --git a/landing-astro/src/pages/index.astro b/landing-astro/src/pages/index.astro index d182cf9..ea44fec 100644 --- a/landing-astro/src/pages/index.astro +++ b/landing-astro/src/pages/index.astro @@ -3,7 +3,7 @@ import Base from '@saas-maker/templates/Base.astro'; import { WorkbenchPage } from '@saas-maker/templates/workbench-page'; import { baseProps } from '@saas-maker/templates/page'; import { workbenchContent } from '@saas-maker/templates/schema'; -import { PRODUCT_DESCRIPTION, PRODUCT_FAQS } from '@/lib/product'; +import { APP_HEALTH_CLICK_SCRIPT, PRODUCT_FAQS, productJsonLd, REDIRECT_AUTHENTICATED_SCRIPT } from '@/lib/product'; import home from '../content/home.json'; const content = workbenchContent.parse(home); @@ -14,50 +14,7 @@ for (const section of content.sections) { } } const SITE_URL = 'https://rolepatch.com'; -const jsonLd = { - '@context': 'https://schema.org', - '@graph': [ - { - '@type': 'WebSite', - name: 'RolePatch', - alternateName: ['Role Patch', 'rolepatch.com'], - url: SITE_URL, - description: PRODUCT_DESCRIPTION, - }, - { - '@type': 'SoftwareApplication', - name: 'RolePatch', - alternateName: ['Role Patch', 'rolepatch.com'], - applicationCategory: 'BusinessApplication', - operatingSystem: 'Web', - url: SITE_URL, - description: PRODUCT_DESCRIPTION, - audience: { - '@type': 'Audience', - audienceType: 'Job seekers preparing a serious application for a specific role', - }, - offers: [ - { - '@type': 'Offer', - name: 'Browser-local resume tools', - price: '0', - priceCurrency: 'USD', - description: 'ATS, keyword, bullet, diff, snippets, and word-count tools without sign-up.', - }, - { '@type': 'Offer', name: '10 AI tokens', price: '5', priceCurrency: 'USD' }, - { '@type': 'Offer', name: '30 AI tokens', price: '12', priceCurrency: 'USD' }, - { '@type': 'Offer', name: '100 AI tokens', price: '30', priceCurrency: 'USD' }, - ], - featureList: [ - 'Evidence-bound resume tailoring', - 'Word-level change review', - 'Job fit analysis', - 'Cover letters and interview stories', - 'Review-first application packets and receipts', - ], - }, - ], -}; +const jsonLd = productJsonLd(SITE_URL); content.page.jsonLd = [jsonLd, { '@context': 'https://schema.org', '@type': 'FAQPage', @@ -88,27 +45,8 @@ content.page.jsonLd = [jsonLd, { data-identity="session" data-endpoint="https://ingest.sassmaker.com/v1/browser" > - - + +