From 11a4eeca900ab03dafdc6e303c459e974705e6c3 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 13:41:11 -0700 Subject: [PATCH 01/49] refactor(repo): scaffold Turborepo monorepo structure Phase 1 of Fumadocs migration: - Move entire app into apps/docs/ - Add Turborepo config with dev/build/lint tasks - Add packages/config with shared tsconfig.base.json - Add pnpm workspace config - Create root package.json with workspace scripts - Rename docs package to @jalco/docs - Update husky for monorepo paths - Verify build passes from new location --- .gitignore | 37 +- .husky/pre-commit | 2 +- .../docs/app}/dev/screenshots/page.tsx | 0 .../docs/app}/dev/screenshots/save/route.ts | 0 .../dev/screenshots/screenshot-client.tsx | 0 .../docs/app}/docs/changelog/page.tsx | 0 .../docs/components/activity-graph/page.tsx | 0 .../components/activity-graph/playground.tsx | 0 .../docs/components/ai-copy-button/page.tsx | 0 .../docs/components/api-ref-table/page.tsx | 0 .../components/code-block-command/page.tsx | 0 .../app}/docs/components/code-block/page.tsx | 0 .../app}/docs/components/code-line/page.tsx | 0 .../docs/components/color-palette/page.tsx | 0 .../docs/components/commit-graph/page.tsx | 0 .../docs/components/contributor-grid/page.tsx | 0 .../docs/components/cron-schedule/page.tsx | 0 .../app}/docs/components/diff-viewer/page.tsx | 0 .../app}/docs/components/env-table/page.tsx | 0 .../app}/docs/components/file-tree/page.tsx | 0 .../components/github-button-group/page.tsx | 0 .../github-button-group/playground.tsx | 0 .../components/github-stars-button/page.tsx | 0 .../github-stars-button/playground.tsx | 0 .../app}/docs/components/json-viewer/page.tsx | 0 .../docs/app}/docs/components/kbd/page.tsx | 0 .../app}/docs/components/kbd/playground.tsx | 0 .../docs/components/license-badge/page.tsx | 0 .../app}/docs/components/log-viewer/page.tsx | 0 .../docs/components/log-viewer/playground.tsx | 0 .../app}/docs/components/logo-cloud/page.tsx | 0 .../app}/docs/components/npm-badge/page.tsx | 0 .../components/producthunt-button/page.tsx | 0 .../producthunt-button/playground.tsx | 0 .../app}/docs/components/repo-card/page.tsx | 0 .../docs/components/request-viewer/page.tsx | 0 .../docs/components/status-indicator/page.tsx | 0 .../app}/docs/components/stepper/page.tsx | 0 .../app}/docs/components/testimonial/page.tsx | 0 .../app}/docs/components/tip-jar/page.tsx | 0 .../docs/app}/docs/installation/page.tsx | 0 {app => apps/docs/app}/docs/layout.tsx | 0 {app => apps/docs/app}/docs/page.tsx | 0 {app => apps/docs/app}/docs/themes/page.tsx | 0 .../docs/app}/docs/themes/theme-grid.tsx | 0 {app => apps/docs/app}/globals.css | 0 {app => apps/docs/app}/icon.png | Bin {app => apps/docs/app}/layout.tsx | 0 {app => apps/docs/app}/llms.txt/route.ts | 0 {app => apps/docs/app}/opengraph-image.png | Bin {app => apps/docs/app}/page.tsx | 0 {app => apps/docs/app}/robots.ts | 0 {app => apps/docs/app}/sitemap.ts | 0 components.json => apps/docs/components.json | 0 .../docs/components}/docs/api-ref-table.tsx | 0 .../components}/docs/code-block-command.tsx | 0 .../docs/code-block-copy-button.tsx | 0 .../components}/docs/code-block-wrapper.tsx | 0 .../docs/components}/docs/code-block.tsx | 0 .../docs/component-card-previews.tsx | 0 .../components}/docs/component-docs-page.tsx | 0 .../components}/docs/component-playground.tsx | 0 .../docs/component-preview-tabs.tsx | 0 .../components}/docs/component-preview.tsx | 0 .../components}/docs/copy-prompt-button.tsx | 0 .../components}/docs/dependency-badges.tsx | 0 .../docs/components}/docs/install-command.tsx | 0 .../docs/components}/docs/mobile-nav.tsx | 0 .../docs/components}/docs/prev-next-nav.tsx | 0 .../docs/previews/activity-graph.tsx | 0 .../docs/previews/ai-copy-button.tsx | 0 .../docs/previews/api-ref-table.tsx | 0 .../docs/previews/code-block-command.tsx | 0 .../components}/docs/previews/code-block.tsx | 0 .../components}/docs/previews/code-line.tsx | 0 .../docs/previews/color-palette.tsx | 0 .../docs/previews/commit-graph.tsx | 0 .../docs/previews/contributor-grid.tsx | 0 .../docs/previews/cron-schedule.tsx | 0 .../components}/docs/previews/diff-viewer.tsx | 0 .../components}/docs/previews/env-table.tsx | 0 .../components}/docs/previews/file-tree.tsx | 0 .../docs/previews/github-button-group.tsx | 0 .../docs/previews/github-stars-button.tsx | 0 .../components}/docs/previews/json-viewer.tsx | 0 .../docs/components}/docs/previews/kbd.tsx | 0 .../docs/previews/license-badge.tsx | 0 .../components}/docs/previews/log-viewer.tsx | 0 .../components}/docs/previews/logo-cloud.tsx | 0 .../components}/docs/previews/npm-badge.tsx | 0 .../docs/previews/producthunt-button.tsx | 0 .../components}/docs/previews/repo-card.tsx | 0 .../docs/previews/request-viewer.tsx | 0 .../docs/previews/status-indicator.tsx | 0 .../components}/docs/previews/stepper.tsx | 0 .../components}/docs/previews/testimonial.tsx | 0 .../components}/docs/previews/tip-jar.tsx | 0 .../docs/components}/docs/sidebar.tsx | 0 .../docs/components}/docs/theme-image.tsx | 0 .../docs/components}/docs/theme-switcher.tsx | 0 .../components}/docs/variant-grid-client.tsx | 0 .../docs/components}/docs/variant-grid.tsx | 0 .../docs/components}/icons/jalco-logo.tsx | 0 .../docs/components}/icons/language-icon.tsx | 0 .../docs/components}/open-in-v0-button.tsx | 0 .../docs/components}/theme-provider.tsx | 0 .../docs/components}/ui/card.tsx | 0 .../docs/components}/ui/dialog.tsx | 0 .../docs/components}/ui/tooltip.tsx | 0 .../docs/eslint.config.mjs | 0 {lib => apps/docs/lib}/analytics.ts | 0 {lib => apps/docs/lib}/convert-npm-command.ts | 0 {lib => apps/docs/lib}/dep-icons.ts | 0 {lib => apps/docs/lib}/docs.ts | 0 {lib => apps/docs/lib}/highlight-code.ts | 0 {lib => apps/docs/lib}/pm-icons.ts | 0 {lib => apps/docs/lib}/prompts.ts | 0 {lib => apps/docs/lib}/registry.ts | 0 {lib => apps/docs/lib}/releases.ts | 0 {lib => apps/docs/lib}/utils.ts | 0 next.config.ts => apps/docs/next.config.ts | 0 apps/docs/package.json | 61 ++++ .../docs/postcss.config.mjs | 0 .../docs/public}/avatars/haydenbleasel.png | Bin .../docs/public}/avatars/leerob.png | Bin .../docs/public}/avatars/rauchg.png | Bin .../docs/public}/avatars/shadcn.png | Bin .../docs/public}/avatars/shuding.png | Bin .../docs/public}/avatars/timneutkens.png | Bin .../docs/public}/brand/repo-header.png | Bin {public => apps/docs/public}/brand/social.png | Bin {public => apps/docs/public}/logo.svg | 0 {public => apps/docs/public}/logos/github.png | Bin {public => apps/docs/public}/logos/github.svg | 0 {public => apps/docs/public}/logos/linear.png | Bin {public => apps/docs/public}/logos/linear.svg | 0 {public => apps/docs/public}/logos/nextjs.png | Bin {public => apps/docs/public}/logos/nextjs.svg | 0 {public => apps/docs/public}/logos/react.png | Bin {public => apps/docs/public}/logos/react.svg | 0 {public => apps/docs/public}/logos/stripe.png | Bin {public => apps/docs/public}/logos/stripe.svg | 0 .../docs/public}/logos/tailwindcss.png | Bin .../docs/public}/logos/tailwindcss.svg | 0 .../docs/public}/logos/typescript.png | Bin .../docs/public}/logos/typescript.svg | 0 {public => apps/docs/public}/logos/vercel.png | Bin {public => apps/docs/public}/logos/vercel.svg | 0 .../public}/previews/activity-graph-dark.png | Bin .../public}/previews/activity-graph-light.png | Bin .../public}/previews/ai-copy-button-dark.png | Bin .../public}/previews/ai-copy-button-light.png | Bin .../public}/previews/api-ref-table-dark.png | Bin .../public}/previews/api-ref-table-light.png | Bin .../previews/code-block-command-dark.png | Bin .../previews/code-block-command-light.png | Bin .../docs/public}/previews/code-block-dark.png | Bin .../public}/previews/code-block-light.png | Bin .../docs/public}/previews/code-line-dark.png | Bin .../docs/public}/previews/code-line-light.png | Bin .../public}/previews/color-palette-dark.png | Bin .../public}/previews/color-palette-light.png | Bin .../public}/previews/commit-graph-dark.png | Bin .../public}/previews/commit-graph-light.png | Bin .../previews/contributor-grid-dark.png | Bin .../previews/contributor-grid-light.png | Bin .../public}/previews/cron-schedule-dark.png | Bin .../public}/previews/cron-schedule-light.png | Bin .../public}/previews/diff-viewer-dark.png | Bin .../public}/previews/diff-viewer-light.png | Bin .../docs/public}/previews/env-table-dark.png | Bin .../docs/public}/previews/env-table-light.png | Bin .../docs/public}/previews/file-tree-dark.png | Bin .../docs/public}/previews/file-tree-light.png | Bin .../previews/github-button-group-dark.png | Bin .../previews/github-button-group-light.png | Bin .../previews/github-stars-button-dark.png | Bin .../previews/github-stars-button-light.png | Bin .../public}/previews/json-viewer-dark.png | Bin .../public}/previews/json-viewer-light.png | Bin .../docs/public}/previews/kbd-dark.png | Bin .../docs/public}/previews/kbd-light.png | Bin .../public}/previews/license-badge-dark.png | Bin .../public}/previews/license-badge-light.png | Bin .../docs/public}/previews/log-viewer-dark.png | Bin .../public}/previews/log-viewer-light.png | Bin .../docs/public}/previews/logo-cloud-dark.png | Bin .../public}/previews/logo-cloud-light.png | Bin .../docs/public}/previews/npm-badge-dark.png | Bin .../docs/public}/previews/npm-badge-light.png | Bin .../previews/producthunt-button-dark.png | Bin .../previews/producthunt-button-light.png | Bin .../docs/public}/previews/repo-card-dark.png | Bin .../docs/public}/previews/repo-card-light.png | Bin .../public}/previews/request-viewer-dark.png | Bin .../public}/previews/request-viewer-light.png | Bin .../previews/status-indicator-dark.png | Bin .../previews/status-indicator-light.png | Bin .../docs/public}/previews/stepper-dark.png | Bin .../docs/public}/previews/stepper-light.png | Bin .../public}/previews/testimonial-dark.png | Bin .../public}/previews/testimonial-light.png | Bin .../docs/public}/previews/tip-jar-dark.png | Bin .../docs/public}/previews/tip-jar-light.png | Bin registry.json => apps/docs/registry.json | 0 .../activity-graph/activity-graph.tsx | 0 .../registry}/activity-graph/lib/github.ts | 0 .../ai-copy-button/ai-copy-button.tsx | 0 .../registry}/api-ref-table/api-ref-table.tsx | 0 .../code-block-command/code-block-command.tsx | 0 .../lib/convert-npm-command.ts | 0 .../code-block/code-block-client.tsx | 0 .../docs/registry}/code-block/code-block.tsx | 0 .../code-block/lib/highlight-code.ts | 0 .../code-line/code-line-copy-button.tsx | 0 .../docs/registry}/code-line/code-line.tsx | 0 .../registry}/color-palette/color-palette.tsx | 0 .../registry}/commit-graph/commit-graph.tsx | 0 .../contributor-grid-client.tsx | 0 .../contributor-grid/contributor-grid.tsx | 0 .../registry}/contributor-grid/lib/github.ts | 0 .../registry}/cron-schedule/cron-schedule.tsx | 0 .../diff-viewer/diff-viewer-client.tsx | 0 .../registry}/diff-viewer/diff-viewer.tsx | 0 .../docs/registry}/env-table/env-table.tsx | 0 .../docs/registry}/file-tree/file-tree.tsx | 0 .../github-button-group.tsx | 0 .../github-button-group/lib/github.ts | 0 .../github-stars-button.tsx | 0 .../github-stars-button/lib/github.ts | 0 .../registry}/json-viewer/json-viewer.tsx | 0 .../docs/registry}/json-viewer/lib/themes.ts | 0 {registry => apps/docs/registry}/kbd/kbd.tsx | 0 .../registry}/license-badge/lib/licenses.ts | 0 .../registry}/license-badge/license-badge.tsx | 0 .../registry}/log-viewer/lib/sample-logs.ts | 0 .../docs/registry}/log-viewer/log-viewer.tsx | 0 .../docs/registry}/logo-cloud/logo-cloud.tsx | 0 .../docs/registry}/npm-badge/lib/npm.ts | 0 .../docs/registry}/npm-badge/npm-badge.tsx | 0 .../producthunt-button/lib/producthunt.ts | 0 .../producthunt-button/producthunt-button.tsx | 0 .../docs/registry}/repo-card/lib/github.ts | 0 .../docs/registry}/repo-card/repo-card.tsx | 0 .../request-viewer/request-viewer.tsx | 0 .../status-indicator/status-indicator.tsx | 0 .../docs/registry}/stepper/stepper.tsx | 0 .../registry}/testimonial/testimonial.tsx | 0 .../tip-jar/icons/provider-icons.tsx | 0 .../docs/registry}/tip-jar/lib/chains.ts | 0 .../docs/registry}/tip-jar/tip-jar.tsx | 0 .../docs/registry}/ui/button.tsx | 0 .../docs/scripts}/generate-preview-imports.ts | 0 tsconfig.json => apps/docs/tsconfig.json | 0 package.json | 60 +--- packages/config/package.json | 5 + packages/config/tsconfig.base.json | 16 + pnpm-lock.yaml | 335 ++++++++++-------- pnpm-workspace.yaml | 3 + turbo.json | 21 ++ 260 files changed, 314 insertions(+), 226 deletions(-) rename {app => apps/docs/app}/dev/screenshots/page.tsx (100%) rename {app => apps/docs/app}/dev/screenshots/save/route.ts (100%) rename {app => apps/docs/app}/dev/screenshots/screenshot-client.tsx (100%) rename {app => apps/docs/app}/docs/changelog/page.tsx (100%) rename {app => apps/docs/app}/docs/components/activity-graph/page.tsx (100%) rename {app => apps/docs/app}/docs/components/activity-graph/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/ai-copy-button/page.tsx (100%) rename {app => apps/docs/app}/docs/components/api-ref-table/page.tsx (100%) rename {app => apps/docs/app}/docs/components/code-block-command/page.tsx (100%) rename {app => apps/docs/app}/docs/components/code-block/page.tsx (100%) rename {app => apps/docs/app}/docs/components/code-line/page.tsx (100%) rename {app => apps/docs/app}/docs/components/color-palette/page.tsx (100%) rename {app => apps/docs/app}/docs/components/commit-graph/page.tsx (100%) rename {app => apps/docs/app}/docs/components/contributor-grid/page.tsx (100%) rename {app => apps/docs/app}/docs/components/cron-schedule/page.tsx (100%) rename {app => apps/docs/app}/docs/components/diff-viewer/page.tsx (100%) rename {app => apps/docs/app}/docs/components/env-table/page.tsx (100%) rename {app => apps/docs/app}/docs/components/file-tree/page.tsx (100%) rename {app => apps/docs/app}/docs/components/github-button-group/page.tsx (100%) rename {app => apps/docs/app}/docs/components/github-button-group/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/github-stars-button/page.tsx (100%) rename {app => apps/docs/app}/docs/components/github-stars-button/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/json-viewer/page.tsx (100%) rename {app => apps/docs/app}/docs/components/kbd/page.tsx (100%) rename {app => apps/docs/app}/docs/components/kbd/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/license-badge/page.tsx (100%) rename {app => apps/docs/app}/docs/components/log-viewer/page.tsx (100%) rename {app => apps/docs/app}/docs/components/log-viewer/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/logo-cloud/page.tsx (100%) rename {app => apps/docs/app}/docs/components/npm-badge/page.tsx (100%) rename {app => apps/docs/app}/docs/components/producthunt-button/page.tsx (100%) rename {app => apps/docs/app}/docs/components/producthunt-button/playground.tsx (100%) rename {app => apps/docs/app}/docs/components/repo-card/page.tsx (100%) rename {app => apps/docs/app}/docs/components/request-viewer/page.tsx (100%) rename {app => apps/docs/app}/docs/components/status-indicator/page.tsx (100%) rename {app => apps/docs/app}/docs/components/stepper/page.tsx (100%) rename {app => apps/docs/app}/docs/components/testimonial/page.tsx (100%) rename {app => apps/docs/app}/docs/components/tip-jar/page.tsx (100%) rename {app => apps/docs/app}/docs/installation/page.tsx (100%) rename {app => apps/docs/app}/docs/layout.tsx (100%) rename {app => apps/docs/app}/docs/page.tsx (100%) rename {app => apps/docs/app}/docs/themes/page.tsx (100%) rename {app => apps/docs/app}/docs/themes/theme-grid.tsx (100%) rename {app => apps/docs/app}/globals.css (100%) rename {app => apps/docs/app}/icon.png (100%) rename {app => apps/docs/app}/layout.tsx (100%) rename {app => apps/docs/app}/llms.txt/route.ts (100%) rename {app => apps/docs/app}/opengraph-image.png (100%) rename {app => apps/docs/app}/page.tsx (100%) rename {app => apps/docs/app}/robots.ts (100%) rename {app => apps/docs/app}/sitemap.ts (100%) rename components.json => apps/docs/components.json (100%) rename {components => apps/docs/components}/docs/api-ref-table.tsx (100%) rename {components => apps/docs/components}/docs/code-block-command.tsx (100%) rename {components => apps/docs/components}/docs/code-block-copy-button.tsx (100%) rename {components => apps/docs/components}/docs/code-block-wrapper.tsx (100%) rename {components => apps/docs/components}/docs/code-block.tsx (100%) rename {components => apps/docs/components}/docs/component-card-previews.tsx (100%) rename {components => apps/docs/components}/docs/component-docs-page.tsx (100%) rename {components => apps/docs/components}/docs/component-playground.tsx (100%) rename {components => apps/docs/components}/docs/component-preview-tabs.tsx (100%) rename {components => apps/docs/components}/docs/component-preview.tsx (100%) rename {components => apps/docs/components}/docs/copy-prompt-button.tsx (100%) rename {components => apps/docs/components}/docs/dependency-badges.tsx (100%) rename {components => apps/docs/components}/docs/install-command.tsx (100%) rename {components => apps/docs/components}/docs/mobile-nav.tsx (100%) rename {components => apps/docs/components}/docs/prev-next-nav.tsx (100%) rename {components => apps/docs/components}/docs/previews/activity-graph.tsx (100%) rename {components => apps/docs/components}/docs/previews/ai-copy-button.tsx (100%) rename {components => apps/docs/components}/docs/previews/api-ref-table.tsx (100%) rename {components => apps/docs/components}/docs/previews/code-block-command.tsx (100%) rename {components => apps/docs/components}/docs/previews/code-block.tsx (100%) rename {components => apps/docs/components}/docs/previews/code-line.tsx (100%) rename {components => apps/docs/components}/docs/previews/color-palette.tsx (100%) rename {components => apps/docs/components}/docs/previews/commit-graph.tsx (100%) rename {components => apps/docs/components}/docs/previews/contributor-grid.tsx (100%) rename {components => apps/docs/components}/docs/previews/cron-schedule.tsx (100%) rename {components => apps/docs/components}/docs/previews/diff-viewer.tsx (100%) rename {components => apps/docs/components}/docs/previews/env-table.tsx (100%) rename {components => apps/docs/components}/docs/previews/file-tree.tsx (100%) rename {components => apps/docs/components}/docs/previews/github-button-group.tsx (100%) rename {components => apps/docs/components}/docs/previews/github-stars-button.tsx (100%) rename {components => apps/docs/components}/docs/previews/json-viewer.tsx (100%) rename {components => apps/docs/components}/docs/previews/kbd.tsx (100%) rename {components => apps/docs/components}/docs/previews/license-badge.tsx (100%) rename {components => apps/docs/components}/docs/previews/log-viewer.tsx (100%) rename {components => apps/docs/components}/docs/previews/logo-cloud.tsx (100%) rename {components => apps/docs/components}/docs/previews/npm-badge.tsx (100%) rename {components => apps/docs/components}/docs/previews/producthunt-button.tsx (100%) rename {components => apps/docs/components}/docs/previews/repo-card.tsx (100%) rename {components => apps/docs/components}/docs/previews/request-viewer.tsx (100%) rename {components => apps/docs/components}/docs/previews/status-indicator.tsx (100%) rename {components => apps/docs/components}/docs/previews/stepper.tsx (100%) rename {components => apps/docs/components}/docs/previews/testimonial.tsx (100%) rename {components => apps/docs/components}/docs/previews/tip-jar.tsx (100%) rename {components => apps/docs/components}/docs/sidebar.tsx (100%) rename {components => apps/docs/components}/docs/theme-image.tsx (100%) rename {components => apps/docs/components}/docs/theme-switcher.tsx (100%) rename {components => apps/docs/components}/docs/variant-grid-client.tsx (100%) rename {components => apps/docs/components}/docs/variant-grid.tsx (100%) rename {components => apps/docs/components}/icons/jalco-logo.tsx (100%) rename {components => apps/docs/components}/icons/language-icon.tsx (100%) rename {components => apps/docs/components}/open-in-v0-button.tsx (100%) rename {components => apps/docs/components}/theme-provider.tsx (100%) rename {components => apps/docs/components}/ui/card.tsx (100%) rename {components => apps/docs/components}/ui/dialog.tsx (100%) rename {components => apps/docs/components}/ui/tooltip.tsx (100%) rename eslint.config.mjs => apps/docs/eslint.config.mjs (100%) rename {lib => apps/docs/lib}/analytics.ts (100%) rename {lib => apps/docs/lib}/convert-npm-command.ts (100%) rename {lib => apps/docs/lib}/dep-icons.ts (100%) rename {lib => apps/docs/lib}/docs.ts (100%) rename {lib => apps/docs/lib}/highlight-code.ts (100%) rename {lib => apps/docs/lib}/pm-icons.ts (100%) rename {lib => apps/docs/lib}/prompts.ts (100%) rename {lib => apps/docs/lib}/registry.ts (100%) rename {lib => apps/docs/lib}/releases.ts (100%) rename {lib => apps/docs/lib}/utils.ts (100%) rename next.config.ts => apps/docs/next.config.ts (100%) create mode 100644 apps/docs/package.json rename postcss.config.mjs => apps/docs/postcss.config.mjs (100%) rename {public => apps/docs/public}/avatars/haydenbleasel.png (100%) rename {public => apps/docs/public}/avatars/leerob.png (100%) rename {public => apps/docs/public}/avatars/rauchg.png (100%) rename {public => apps/docs/public}/avatars/shadcn.png (100%) rename {public => apps/docs/public}/avatars/shuding.png (100%) rename {public => apps/docs/public}/avatars/timneutkens.png (100%) rename {public => apps/docs/public}/brand/repo-header.png (100%) rename {public => apps/docs/public}/brand/social.png (100%) rename {public => apps/docs/public}/logo.svg (100%) rename {public => apps/docs/public}/logos/github.png (100%) rename {public => apps/docs/public}/logos/github.svg (100%) rename {public => apps/docs/public}/logos/linear.png (100%) rename {public => apps/docs/public}/logos/linear.svg (100%) rename {public => apps/docs/public}/logos/nextjs.png (100%) rename {public => apps/docs/public}/logos/nextjs.svg (100%) rename {public => apps/docs/public}/logos/react.png (100%) rename {public => apps/docs/public}/logos/react.svg (100%) rename {public => apps/docs/public}/logos/stripe.png (100%) rename {public => apps/docs/public}/logos/stripe.svg (100%) rename {public => apps/docs/public}/logos/tailwindcss.png (100%) rename {public => apps/docs/public}/logos/tailwindcss.svg (100%) rename {public => apps/docs/public}/logos/typescript.png (100%) rename {public => apps/docs/public}/logos/typescript.svg (100%) rename {public => apps/docs/public}/logos/vercel.png (100%) rename {public => apps/docs/public}/logos/vercel.svg (100%) rename {public => apps/docs/public}/previews/activity-graph-dark.png (100%) rename {public => apps/docs/public}/previews/activity-graph-light.png (100%) rename {public => apps/docs/public}/previews/ai-copy-button-dark.png (100%) rename {public => apps/docs/public}/previews/ai-copy-button-light.png (100%) rename {public => apps/docs/public}/previews/api-ref-table-dark.png (100%) rename {public => apps/docs/public}/previews/api-ref-table-light.png (100%) rename {public => apps/docs/public}/previews/code-block-command-dark.png (100%) rename {public => apps/docs/public}/previews/code-block-command-light.png (100%) rename {public => apps/docs/public}/previews/code-block-dark.png (100%) rename {public => apps/docs/public}/previews/code-block-light.png (100%) rename {public => apps/docs/public}/previews/code-line-dark.png (100%) rename {public => apps/docs/public}/previews/code-line-light.png (100%) rename {public => apps/docs/public}/previews/color-palette-dark.png (100%) rename {public => apps/docs/public}/previews/color-palette-light.png (100%) rename {public => apps/docs/public}/previews/commit-graph-dark.png (100%) rename {public => apps/docs/public}/previews/commit-graph-light.png (100%) rename {public => apps/docs/public}/previews/contributor-grid-dark.png (100%) rename {public => apps/docs/public}/previews/contributor-grid-light.png (100%) rename {public => apps/docs/public}/previews/cron-schedule-dark.png (100%) rename {public => apps/docs/public}/previews/cron-schedule-light.png (100%) rename {public => apps/docs/public}/previews/diff-viewer-dark.png (100%) rename {public => apps/docs/public}/previews/diff-viewer-light.png (100%) rename {public => apps/docs/public}/previews/env-table-dark.png (100%) rename {public => apps/docs/public}/previews/env-table-light.png (100%) rename {public => apps/docs/public}/previews/file-tree-dark.png (100%) rename {public => apps/docs/public}/previews/file-tree-light.png (100%) rename {public => apps/docs/public}/previews/github-button-group-dark.png (100%) rename {public => apps/docs/public}/previews/github-button-group-light.png (100%) rename {public => apps/docs/public}/previews/github-stars-button-dark.png (100%) rename {public => apps/docs/public}/previews/github-stars-button-light.png (100%) rename {public => apps/docs/public}/previews/json-viewer-dark.png (100%) rename {public => apps/docs/public}/previews/json-viewer-light.png (100%) rename {public => apps/docs/public}/previews/kbd-dark.png (100%) rename {public => apps/docs/public}/previews/kbd-light.png (100%) rename {public => apps/docs/public}/previews/license-badge-dark.png (100%) rename {public => apps/docs/public}/previews/license-badge-light.png (100%) rename {public => apps/docs/public}/previews/log-viewer-dark.png (100%) rename {public => apps/docs/public}/previews/log-viewer-light.png (100%) rename {public => apps/docs/public}/previews/logo-cloud-dark.png (100%) rename {public => apps/docs/public}/previews/logo-cloud-light.png (100%) rename {public => apps/docs/public}/previews/npm-badge-dark.png (100%) rename {public => apps/docs/public}/previews/npm-badge-light.png (100%) rename {public => apps/docs/public}/previews/producthunt-button-dark.png (100%) rename {public => apps/docs/public}/previews/producthunt-button-light.png (100%) rename {public => apps/docs/public}/previews/repo-card-dark.png (100%) rename {public => apps/docs/public}/previews/repo-card-light.png (100%) rename {public => apps/docs/public}/previews/request-viewer-dark.png (100%) rename {public => apps/docs/public}/previews/request-viewer-light.png (100%) rename {public => apps/docs/public}/previews/status-indicator-dark.png (100%) rename {public => apps/docs/public}/previews/status-indicator-light.png (100%) rename {public => apps/docs/public}/previews/stepper-dark.png (100%) rename {public => apps/docs/public}/previews/stepper-light.png (100%) rename {public => apps/docs/public}/previews/testimonial-dark.png (100%) rename {public => apps/docs/public}/previews/testimonial-light.png (100%) rename {public => apps/docs/public}/previews/tip-jar-dark.png (100%) rename {public => apps/docs/public}/previews/tip-jar-light.png (100%) rename registry.json => apps/docs/registry.json (100%) rename {registry => apps/docs/registry}/activity-graph/activity-graph.tsx (100%) rename {registry => apps/docs/registry}/activity-graph/lib/github.ts (100%) rename {registry => apps/docs/registry}/ai-copy-button/ai-copy-button.tsx (100%) rename {registry => apps/docs/registry}/api-ref-table/api-ref-table.tsx (100%) rename {registry => apps/docs/registry}/code-block-command/code-block-command.tsx (100%) rename {registry => apps/docs/registry}/code-block-command/lib/convert-npm-command.ts (100%) rename {registry => apps/docs/registry}/code-block/code-block-client.tsx (100%) rename {registry => apps/docs/registry}/code-block/code-block.tsx (100%) rename {registry => apps/docs/registry}/code-block/lib/highlight-code.ts (100%) rename {registry => apps/docs/registry}/code-line/code-line-copy-button.tsx (100%) rename {registry => apps/docs/registry}/code-line/code-line.tsx (100%) rename {registry => apps/docs/registry}/color-palette/color-palette.tsx (100%) rename {registry => apps/docs/registry}/commit-graph/commit-graph.tsx (100%) rename {registry => apps/docs/registry}/contributor-grid/contributor-grid-client.tsx (100%) rename {registry => apps/docs/registry}/contributor-grid/contributor-grid.tsx (100%) rename {registry => apps/docs/registry}/contributor-grid/lib/github.ts (100%) rename {registry => apps/docs/registry}/cron-schedule/cron-schedule.tsx (100%) rename {registry => apps/docs/registry}/diff-viewer/diff-viewer-client.tsx (100%) rename {registry => apps/docs/registry}/diff-viewer/diff-viewer.tsx (100%) rename {registry => apps/docs/registry}/env-table/env-table.tsx (100%) rename {registry => apps/docs/registry}/file-tree/file-tree.tsx (100%) rename {registry => apps/docs/registry}/github-button-group/github-button-group.tsx (100%) rename {registry => apps/docs/registry}/github-button-group/lib/github.ts (100%) rename {registry => apps/docs/registry}/github-stars-button/github-stars-button.tsx (100%) rename {registry => apps/docs/registry}/github-stars-button/lib/github.ts (100%) rename {registry => apps/docs/registry}/json-viewer/json-viewer.tsx (100%) rename {registry => apps/docs/registry}/json-viewer/lib/themes.ts (100%) rename {registry => apps/docs/registry}/kbd/kbd.tsx (100%) rename {registry => apps/docs/registry}/license-badge/lib/licenses.ts (100%) rename {registry => apps/docs/registry}/license-badge/license-badge.tsx (100%) rename {registry => apps/docs/registry}/log-viewer/lib/sample-logs.ts (100%) rename {registry => apps/docs/registry}/log-viewer/log-viewer.tsx (100%) rename {registry => apps/docs/registry}/logo-cloud/logo-cloud.tsx (100%) rename {registry => apps/docs/registry}/npm-badge/lib/npm.ts (100%) rename {registry => apps/docs/registry}/npm-badge/npm-badge.tsx (100%) rename {registry => apps/docs/registry}/producthunt-button/lib/producthunt.ts (100%) rename {registry => apps/docs/registry}/producthunt-button/producthunt-button.tsx (100%) rename {registry => apps/docs/registry}/repo-card/lib/github.ts (100%) rename {registry => apps/docs/registry}/repo-card/repo-card.tsx (100%) rename {registry => apps/docs/registry}/request-viewer/request-viewer.tsx (100%) rename {registry => apps/docs/registry}/status-indicator/status-indicator.tsx (100%) rename {registry => apps/docs/registry}/stepper/stepper.tsx (100%) rename {registry => apps/docs/registry}/testimonial/testimonial.tsx (100%) rename {registry => apps/docs/registry}/tip-jar/icons/provider-icons.tsx (100%) rename {registry => apps/docs/registry}/tip-jar/lib/chains.ts (100%) rename {registry => apps/docs/registry}/tip-jar/tip-jar.tsx (100%) rename {registry => apps/docs/registry}/ui/button.tsx (100%) rename {scripts => apps/docs/scripts}/generate-preview-imports.ts (100%) rename tsconfig.json => apps/docs/tsconfig.json (100%) create mode 100644 packages/config/package.json create mode 100644 packages/config/tsconfig.base.json create mode 100644 pnpm-workspace.yaml create mode 100644 turbo.json diff --git a/.gitignore b/.gitignore index 2e496ee..ca8583c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,16 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - # dependencies -/node_modules -/.pnp -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/versions - -# testing -/coverage +node_modules # next.js -/.next/ -/out/ +.next/ +out/ # production -/build +build +dist + +# turbo +.turbo # misc .DS_Store @@ -30,11 +22,11 @@ yarn-debug.log* yarn-error.log* .pnpm-debug.log* -# env files (can opt-in for committing if needed) +# env files .env* -# registry build output (generated by `shadcn build`) -/public/r/ +# registry build output +**/public/r/ # vercel .vercel @@ -45,10 +37,11 @@ next-env.d.ts # local agent/tooling artifacts .agents/ - skills-lock.json bun.lock -.env.local # Generated preview imports -components/docs/__generated__/ +**/components/docs/__generated__/ + +# lockfiles (regenerated) +pnpm-lock.yaml diff --git a/.husky/pre-commit b/.husky/pre-commit index 467415d..a1ee858 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -pnpm exec lint-staged && pnpm exec tsc --noEmit +cd apps/docs && pnpm exec lint-staged diff --git a/app/dev/screenshots/page.tsx b/apps/docs/app/dev/screenshots/page.tsx similarity index 100% rename from app/dev/screenshots/page.tsx rename to apps/docs/app/dev/screenshots/page.tsx diff --git a/app/dev/screenshots/save/route.ts b/apps/docs/app/dev/screenshots/save/route.ts similarity index 100% rename from app/dev/screenshots/save/route.ts rename to apps/docs/app/dev/screenshots/save/route.ts diff --git a/app/dev/screenshots/screenshot-client.tsx b/apps/docs/app/dev/screenshots/screenshot-client.tsx similarity index 100% rename from app/dev/screenshots/screenshot-client.tsx rename to apps/docs/app/dev/screenshots/screenshot-client.tsx diff --git a/app/docs/changelog/page.tsx b/apps/docs/app/docs/changelog/page.tsx similarity index 100% rename from app/docs/changelog/page.tsx rename to apps/docs/app/docs/changelog/page.tsx diff --git a/app/docs/components/activity-graph/page.tsx b/apps/docs/app/docs/components/activity-graph/page.tsx similarity index 100% rename from app/docs/components/activity-graph/page.tsx rename to apps/docs/app/docs/components/activity-graph/page.tsx diff --git a/app/docs/components/activity-graph/playground.tsx b/apps/docs/app/docs/components/activity-graph/playground.tsx similarity index 100% rename from app/docs/components/activity-graph/playground.tsx rename to apps/docs/app/docs/components/activity-graph/playground.tsx diff --git a/app/docs/components/ai-copy-button/page.tsx b/apps/docs/app/docs/components/ai-copy-button/page.tsx similarity index 100% rename from app/docs/components/ai-copy-button/page.tsx rename to apps/docs/app/docs/components/ai-copy-button/page.tsx diff --git a/app/docs/components/api-ref-table/page.tsx b/apps/docs/app/docs/components/api-ref-table/page.tsx similarity index 100% rename from app/docs/components/api-ref-table/page.tsx rename to apps/docs/app/docs/components/api-ref-table/page.tsx diff --git a/app/docs/components/code-block-command/page.tsx b/apps/docs/app/docs/components/code-block-command/page.tsx similarity index 100% rename from app/docs/components/code-block-command/page.tsx rename to apps/docs/app/docs/components/code-block-command/page.tsx diff --git a/app/docs/components/code-block/page.tsx b/apps/docs/app/docs/components/code-block/page.tsx similarity index 100% rename from app/docs/components/code-block/page.tsx rename to apps/docs/app/docs/components/code-block/page.tsx diff --git a/app/docs/components/code-line/page.tsx b/apps/docs/app/docs/components/code-line/page.tsx similarity index 100% rename from app/docs/components/code-line/page.tsx rename to apps/docs/app/docs/components/code-line/page.tsx diff --git a/app/docs/components/color-palette/page.tsx b/apps/docs/app/docs/components/color-palette/page.tsx similarity index 100% rename from app/docs/components/color-palette/page.tsx rename to apps/docs/app/docs/components/color-palette/page.tsx diff --git a/app/docs/components/commit-graph/page.tsx b/apps/docs/app/docs/components/commit-graph/page.tsx similarity index 100% rename from app/docs/components/commit-graph/page.tsx rename to apps/docs/app/docs/components/commit-graph/page.tsx diff --git a/app/docs/components/contributor-grid/page.tsx b/apps/docs/app/docs/components/contributor-grid/page.tsx similarity index 100% rename from app/docs/components/contributor-grid/page.tsx rename to apps/docs/app/docs/components/contributor-grid/page.tsx diff --git a/app/docs/components/cron-schedule/page.tsx b/apps/docs/app/docs/components/cron-schedule/page.tsx similarity index 100% rename from app/docs/components/cron-schedule/page.tsx rename to apps/docs/app/docs/components/cron-schedule/page.tsx diff --git a/app/docs/components/diff-viewer/page.tsx b/apps/docs/app/docs/components/diff-viewer/page.tsx similarity index 100% rename from app/docs/components/diff-viewer/page.tsx rename to apps/docs/app/docs/components/diff-viewer/page.tsx diff --git a/app/docs/components/env-table/page.tsx b/apps/docs/app/docs/components/env-table/page.tsx similarity index 100% rename from app/docs/components/env-table/page.tsx rename to apps/docs/app/docs/components/env-table/page.tsx diff --git a/app/docs/components/file-tree/page.tsx b/apps/docs/app/docs/components/file-tree/page.tsx similarity index 100% rename from app/docs/components/file-tree/page.tsx rename to apps/docs/app/docs/components/file-tree/page.tsx diff --git a/app/docs/components/github-button-group/page.tsx b/apps/docs/app/docs/components/github-button-group/page.tsx similarity index 100% rename from app/docs/components/github-button-group/page.tsx rename to apps/docs/app/docs/components/github-button-group/page.tsx diff --git a/app/docs/components/github-button-group/playground.tsx b/apps/docs/app/docs/components/github-button-group/playground.tsx similarity index 100% rename from app/docs/components/github-button-group/playground.tsx rename to apps/docs/app/docs/components/github-button-group/playground.tsx diff --git a/app/docs/components/github-stars-button/page.tsx b/apps/docs/app/docs/components/github-stars-button/page.tsx similarity index 100% rename from app/docs/components/github-stars-button/page.tsx rename to apps/docs/app/docs/components/github-stars-button/page.tsx diff --git a/app/docs/components/github-stars-button/playground.tsx b/apps/docs/app/docs/components/github-stars-button/playground.tsx similarity index 100% rename from app/docs/components/github-stars-button/playground.tsx rename to apps/docs/app/docs/components/github-stars-button/playground.tsx diff --git a/app/docs/components/json-viewer/page.tsx b/apps/docs/app/docs/components/json-viewer/page.tsx similarity index 100% rename from app/docs/components/json-viewer/page.tsx rename to apps/docs/app/docs/components/json-viewer/page.tsx diff --git a/app/docs/components/kbd/page.tsx b/apps/docs/app/docs/components/kbd/page.tsx similarity index 100% rename from app/docs/components/kbd/page.tsx rename to apps/docs/app/docs/components/kbd/page.tsx diff --git a/app/docs/components/kbd/playground.tsx b/apps/docs/app/docs/components/kbd/playground.tsx similarity index 100% rename from app/docs/components/kbd/playground.tsx rename to apps/docs/app/docs/components/kbd/playground.tsx diff --git a/app/docs/components/license-badge/page.tsx b/apps/docs/app/docs/components/license-badge/page.tsx similarity index 100% rename from app/docs/components/license-badge/page.tsx rename to apps/docs/app/docs/components/license-badge/page.tsx diff --git a/app/docs/components/log-viewer/page.tsx b/apps/docs/app/docs/components/log-viewer/page.tsx similarity index 100% rename from app/docs/components/log-viewer/page.tsx rename to apps/docs/app/docs/components/log-viewer/page.tsx diff --git a/app/docs/components/log-viewer/playground.tsx b/apps/docs/app/docs/components/log-viewer/playground.tsx similarity index 100% rename from app/docs/components/log-viewer/playground.tsx rename to apps/docs/app/docs/components/log-viewer/playground.tsx diff --git a/app/docs/components/logo-cloud/page.tsx b/apps/docs/app/docs/components/logo-cloud/page.tsx similarity index 100% rename from app/docs/components/logo-cloud/page.tsx rename to apps/docs/app/docs/components/logo-cloud/page.tsx diff --git a/app/docs/components/npm-badge/page.tsx b/apps/docs/app/docs/components/npm-badge/page.tsx similarity index 100% rename from app/docs/components/npm-badge/page.tsx rename to apps/docs/app/docs/components/npm-badge/page.tsx diff --git a/app/docs/components/producthunt-button/page.tsx b/apps/docs/app/docs/components/producthunt-button/page.tsx similarity index 100% rename from app/docs/components/producthunt-button/page.tsx rename to apps/docs/app/docs/components/producthunt-button/page.tsx diff --git a/app/docs/components/producthunt-button/playground.tsx b/apps/docs/app/docs/components/producthunt-button/playground.tsx similarity index 100% rename from app/docs/components/producthunt-button/playground.tsx rename to apps/docs/app/docs/components/producthunt-button/playground.tsx diff --git a/app/docs/components/repo-card/page.tsx b/apps/docs/app/docs/components/repo-card/page.tsx similarity index 100% rename from app/docs/components/repo-card/page.tsx rename to apps/docs/app/docs/components/repo-card/page.tsx diff --git a/app/docs/components/request-viewer/page.tsx b/apps/docs/app/docs/components/request-viewer/page.tsx similarity index 100% rename from app/docs/components/request-viewer/page.tsx rename to apps/docs/app/docs/components/request-viewer/page.tsx diff --git a/app/docs/components/status-indicator/page.tsx b/apps/docs/app/docs/components/status-indicator/page.tsx similarity index 100% rename from app/docs/components/status-indicator/page.tsx rename to apps/docs/app/docs/components/status-indicator/page.tsx diff --git a/app/docs/components/stepper/page.tsx b/apps/docs/app/docs/components/stepper/page.tsx similarity index 100% rename from app/docs/components/stepper/page.tsx rename to apps/docs/app/docs/components/stepper/page.tsx diff --git a/app/docs/components/testimonial/page.tsx b/apps/docs/app/docs/components/testimonial/page.tsx similarity index 100% rename from app/docs/components/testimonial/page.tsx rename to apps/docs/app/docs/components/testimonial/page.tsx diff --git a/app/docs/components/tip-jar/page.tsx b/apps/docs/app/docs/components/tip-jar/page.tsx similarity index 100% rename from app/docs/components/tip-jar/page.tsx rename to apps/docs/app/docs/components/tip-jar/page.tsx diff --git a/app/docs/installation/page.tsx b/apps/docs/app/docs/installation/page.tsx similarity index 100% rename from app/docs/installation/page.tsx rename to apps/docs/app/docs/installation/page.tsx diff --git a/app/docs/layout.tsx b/apps/docs/app/docs/layout.tsx similarity index 100% rename from app/docs/layout.tsx rename to apps/docs/app/docs/layout.tsx diff --git a/app/docs/page.tsx b/apps/docs/app/docs/page.tsx similarity index 100% rename from app/docs/page.tsx rename to apps/docs/app/docs/page.tsx diff --git a/app/docs/themes/page.tsx b/apps/docs/app/docs/themes/page.tsx similarity index 100% rename from app/docs/themes/page.tsx rename to apps/docs/app/docs/themes/page.tsx diff --git a/app/docs/themes/theme-grid.tsx b/apps/docs/app/docs/themes/theme-grid.tsx similarity index 100% rename from app/docs/themes/theme-grid.tsx rename to apps/docs/app/docs/themes/theme-grid.tsx diff --git a/app/globals.css b/apps/docs/app/globals.css similarity index 100% rename from app/globals.css rename to apps/docs/app/globals.css diff --git a/app/icon.png b/apps/docs/app/icon.png similarity index 100% rename from app/icon.png rename to apps/docs/app/icon.png diff --git a/app/layout.tsx b/apps/docs/app/layout.tsx similarity index 100% rename from app/layout.tsx rename to apps/docs/app/layout.tsx diff --git a/app/llms.txt/route.ts b/apps/docs/app/llms.txt/route.ts similarity index 100% rename from app/llms.txt/route.ts rename to apps/docs/app/llms.txt/route.ts diff --git a/app/opengraph-image.png b/apps/docs/app/opengraph-image.png similarity index 100% rename from app/opengraph-image.png rename to apps/docs/app/opengraph-image.png diff --git a/app/page.tsx b/apps/docs/app/page.tsx similarity index 100% rename from app/page.tsx rename to apps/docs/app/page.tsx diff --git a/app/robots.ts b/apps/docs/app/robots.ts similarity index 100% rename from app/robots.ts rename to apps/docs/app/robots.ts diff --git a/app/sitemap.ts b/apps/docs/app/sitemap.ts similarity index 100% rename from app/sitemap.ts rename to apps/docs/app/sitemap.ts diff --git a/components.json b/apps/docs/components.json similarity index 100% rename from components.json rename to apps/docs/components.json diff --git a/components/docs/api-ref-table.tsx b/apps/docs/components/docs/api-ref-table.tsx similarity index 100% rename from components/docs/api-ref-table.tsx rename to apps/docs/components/docs/api-ref-table.tsx diff --git a/components/docs/code-block-command.tsx b/apps/docs/components/docs/code-block-command.tsx similarity index 100% rename from components/docs/code-block-command.tsx rename to apps/docs/components/docs/code-block-command.tsx diff --git a/components/docs/code-block-copy-button.tsx b/apps/docs/components/docs/code-block-copy-button.tsx similarity index 100% rename from components/docs/code-block-copy-button.tsx rename to apps/docs/components/docs/code-block-copy-button.tsx diff --git a/components/docs/code-block-wrapper.tsx b/apps/docs/components/docs/code-block-wrapper.tsx similarity index 100% rename from components/docs/code-block-wrapper.tsx rename to apps/docs/components/docs/code-block-wrapper.tsx diff --git a/components/docs/code-block.tsx b/apps/docs/components/docs/code-block.tsx similarity index 100% rename from components/docs/code-block.tsx rename to apps/docs/components/docs/code-block.tsx diff --git a/components/docs/component-card-previews.tsx b/apps/docs/components/docs/component-card-previews.tsx similarity index 100% rename from components/docs/component-card-previews.tsx rename to apps/docs/components/docs/component-card-previews.tsx diff --git a/components/docs/component-docs-page.tsx b/apps/docs/components/docs/component-docs-page.tsx similarity index 100% rename from components/docs/component-docs-page.tsx rename to apps/docs/components/docs/component-docs-page.tsx diff --git a/components/docs/component-playground.tsx b/apps/docs/components/docs/component-playground.tsx similarity index 100% rename from components/docs/component-playground.tsx rename to apps/docs/components/docs/component-playground.tsx diff --git a/components/docs/component-preview-tabs.tsx b/apps/docs/components/docs/component-preview-tabs.tsx similarity index 100% rename from components/docs/component-preview-tabs.tsx rename to apps/docs/components/docs/component-preview-tabs.tsx diff --git a/components/docs/component-preview.tsx b/apps/docs/components/docs/component-preview.tsx similarity index 100% rename from components/docs/component-preview.tsx rename to apps/docs/components/docs/component-preview.tsx diff --git a/components/docs/copy-prompt-button.tsx b/apps/docs/components/docs/copy-prompt-button.tsx similarity index 100% rename from components/docs/copy-prompt-button.tsx rename to apps/docs/components/docs/copy-prompt-button.tsx diff --git a/components/docs/dependency-badges.tsx b/apps/docs/components/docs/dependency-badges.tsx similarity index 100% rename from components/docs/dependency-badges.tsx rename to apps/docs/components/docs/dependency-badges.tsx diff --git a/components/docs/install-command.tsx b/apps/docs/components/docs/install-command.tsx similarity index 100% rename from components/docs/install-command.tsx rename to apps/docs/components/docs/install-command.tsx diff --git a/components/docs/mobile-nav.tsx b/apps/docs/components/docs/mobile-nav.tsx similarity index 100% rename from components/docs/mobile-nav.tsx rename to apps/docs/components/docs/mobile-nav.tsx diff --git a/components/docs/prev-next-nav.tsx b/apps/docs/components/docs/prev-next-nav.tsx similarity index 100% rename from components/docs/prev-next-nav.tsx rename to apps/docs/components/docs/prev-next-nav.tsx diff --git a/components/docs/previews/activity-graph.tsx b/apps/docs/components/docs/previews/activity-graph.tsx similarity index 100% rename from components/docs/previews/activity-graph.tsx rename to apps/docs/components/docs/previews/activity-graph.tsx diff --git a/components/docs/previews/ai-copy-button.tsx b/apps/docs/components/docs/previews/ai-copy-button.tsx similarity index 100% rename from components/docs/previews/ai-copy-button.tsx rename to apps/docs/components/docs/previews/ai-copy-button.tsx diff --git a/components/docs/previews/api-ref-table.tsx b/apps/docs/components/docs/previews/api-ref-table.tsx similarity index 100% rename from components/docs/previews/api-ref-table.tsx rename to apps/docs/components/docs/previews/api-ref-table.tsx diff --git a/components/docs/previews/code-block-command.tsx b/apps/docs/components/docs/previews/code-block-command.tsx similarity index 100% rename from components/docs/previews/code-block-command.tsx rename to apps/docs/components/docs/previews/code-block-command.tsx diff --git a/components/docs/previews/code-block.tsx b/apps/docs/components/docs/previews/code-block.tsx similarity index 100% rename from components/docs/previews/code-block.tsx rename to apps/docs/components/docs/previews/code-block.tsx diff --git a/components/docs/previews/code-line.tsx b/apps/docs/components/docs/previews/code-line.tsx similarity index 100% rename from components/docs/previews/code-line.tsx rename to apps/docs/components/docs/previews/code-line.tsx diff --git a/components/docs/previews/color-palette.tsx b/apps/docs/components/docs/previews/color-palette.tsx similarity index 100% rename from components/docs/previews/color-palette.tsx rename to apps/docs/components/docs/previews/color-palette.tsx diff --git a/components/docs/previews/commit-graph.tsx b/apps/docs/components/docs/previews/commit-graph.tsx similarity index 100% rename from components/docs/previews/commit-graph.tsx rename to apps/docs/components/docs/previews/commit-graph.tsx diff --git a/components/docs/previews/contributor-grid.tsx b/apps/docs/components/docs/previews/contributor-grid.tsx similarity index 100% rename from components/docs/previews/contributor-grid.tsx rename to apps/docs/components/docs/previews/contributor-grid.tsx diff --git a/components/docs/previews/cron-schedule.tsx b/apps/docs/components/docs/previews/cron-schedule.tsx similarity index 100% rename from components/docs/previews/cron-schedule.tsx rename to apps/docs/components/docs/previews/cron-schedule.tsx diff --git a/components/docs/previews/diff-viewer.tsx b/apps/docs/components/docs/previews/diff-viewer.tsx similarity index 100% rename from components/docs/previews/diff-viewer.tsx rename to apps/docs/components/docs/previews/diff-viewer.tsx diff --git a/components/docs/previews/env-table.tsx b/apps/docs/components/docs/previews/env-table.tsx similarity index 100% rename from components/docs/previews/env-table.tsx rename to apps/docs/components/docs/previews/env-table.tsx diff --git a/components/docs/previews/file-tree.tsx b/apps/docs/components/docs/previews/file-tree.tsx similarity index 100% rename from components/docs/previews/file-tree.tsx rename to apps/docs/components/docs/previews/file-tree.tsx diff --git a/components/docs/previews/github-button-group.tsx b/apps/docs/components/docs/previews/github-button-group.tsx similarity index 100% rename from components/docs/previews/github-button-group.tsx rename to apps/docs/components/docs/previews/github-button-group.tsx diff --git a/components/docs/previews/github-stars-button.tsx b/apps/docs/components/docs/previews/github-stars-button.tsx similarity index 100% rename from components/docs/previews/github-stars-button.tsx rename to apps/docs/components/docs/previews/github-stars-button.tsx diff --git a/components/docs/previews/json-viewer.tsx b/apps/docs/components/docs/previews/json-viewer.tsx similarity index 100% rename from components/docs/previews/json-viewer.tsx rename to apps/docs/components/docs/previews/json-viewer.tsx diff --git a/components/docs/previews/kbd.tsx b/apps/docs/components/docs/previews/kbd.tsx similarity index 100% rename from components/docs/previews/kbd.tsx rename to apps/docs/components/docs/previews/kbd.tsx diff --git a/components/docs/previews/license-badge.tsx b/apps/docs/components/docs/previews/license-badge.tsx similarity index 100% rename from components/docs/previews/license-badge.tsx rename to apps/docs/components/docs/previews/license-badge.tsx diff --git a/components/docs/previews/log-viewer.tsx b/apps/docs/components/docs/previews/log-viewer.tsx similarity index 100% rename from components/docs/previews/log-viewer.tsx rename to apps/docs/components/docs/previews/log-viewer.tsx diff --git a/components/docs/previews/logo-cloud.tsx b/apps/docs/components/docs/previews/logo-cloud.tsx similarity index 100% rename from components/docs/previews/logo-cloud.tsx rename to apps/docs/components/docs/previews/logo-cloud.tsx diff --git a/components/docs/previews/npm-badge.tsx b/apps/docs/components/docs/previews/npm-badge.tsx similarity index 100% rename from components/docs/previews/npm-badge.tsx rename to apps/docs/components/docs/previews/npm-badge.tsx diff --git a/components/docs/previews/producthunt-button.tsx b/apps/docs/components/docs/previews/producthunt-button.tsx similarity index 100% rename from components/docs/previews/producthunt-button.tsx rename to apps/docs/components/docs/previews/producthunt-button.tsx diff --git a/components/docs/previews/repo-card.tsx b/apps/docs/components/docs/previews/repo-card.tsx similarity index 100% rename from components/docs/previews/repo-card.tsx rename to apps/docs/components/docs/previews/repo-card.tsx diff --git a/components/docs/previews/request-viewer.tsx b/apps/docs/components/docs/previews/request-viewer.tsx similarity index 100% rename from components/docs/previews/request-viewer.tsx rename to apps/docs/components/docs/previews/request-viewer.tsx diff --git a/components/docs/previews/status-indicator.tsx b/apps/docs/components/docs/previews/status-indicator.tsx similarity index 100% rename from components/docs/previews/status-indicator.tsx rename to apps/docs/components/docs/previews/status-indicator.tsx diff --git a/components/docs/previews/stepper.tsx b/apps/docs/components/docs/previews/stepper.tsx similarity index 100% rename from components/docs/previews/stepper.tsx rename to apps/docs/components/docs/previews/stepper.tsx diff --git a/components/docs/previews/testimonial.tsx b/apps/docs/components/docs/previews/testimonial.tsx similarity index 100% rename from components/docs/previews/testimonial.tsx rename to apps/docs/components/docs/previews/testimonial.tsx diff --git a/components/docs/previews/tip-jar.tsx b/apps/docs/components/docs/previews/tip-jar.tsx similarity index 100% rename from components/docs/previews/tip-jar.tsx rename to apps/docs/components/docs/previews/tip-jar.tsx diff --git a/components/docs/sidebar.tsx b/apps/docs/components/docs/sidebar.tsx similarity index 100% rename from components/docs/sidebar.tsx rename to apps/docs/components/docs/sidebar.tsx diff --git a/components/docs/theme-image.tsx b/apps/docs/components/docs/theme-image.tsx similarity index 100% rename from components/docs/theme-image.tsx rename to apps/docs/components/docs/theme-image.tsx diff --git a/components/docs/theme-switcher.tsx b/apps/docs/components/docs/theme-switcher.tsx similarity index 100% rename from components/docs/theme-switcher.tsx rename to apps/docs/components/docs/theme-switcher.tsx diff --git a/components/docs/variant-grid-client.tsx b/apps/docs/components/docs/variant-grid-client.tsx similarity index 100% rename from components/docs/variant-grid-client.tsx rename to apps/docs/components/docs/variant-grid-client.tsx diff --git a/components/docs/variant-grid.tsx b/apps/docs/components/docs/variant-grid.tsx similarity index 100% rename from components/docs/variant-grid.tsx rename to apps/docs/components/docs/variant-grid.tsx diff --git a/components/icons/jalco-logo.tsx b/apps/docs/components/icons/jalco-logo.tsx similarity index 100% rename from components/icons/jalco-logo.tsx rename to apps/docs/components/icons/jalco-logo.tsx diff --git a/components/icons/language-icon.tsx b/apps/docs/components/icons/language-icon.tsx similarity index 100% rename from components/icons/language-icon.tsx rename to apps/docs/components/icons/language-icon.tsx diff --git a/components/open-in-v0-button.tsx b/apps/docs/components/open-in-v0-button.tsx similarity index 100% rename from components/open-in-v0-button.tsx rename to apps/docs/components/open-in-v0-button.tsx diff --git a/components/theme-provider.tsx b/apps/docs/components/theme-provider.tsx similarity index 100% rename from components/theme-provider.tsx rename to apps/docs/components/theme-provider.tsx diff --git a/components/ui/card.tsx b/apps/docs/components/ui/card.tsx similarity index 100% rename from components/ui/card.tsx rename to apps/docs/components/ui/card.tsx diff --git a/components/ui/dialog.tsx b/apps/docs/components/ui/dialog.tsx similarity index 100% rename from components/ui/dialog.tsx rename to apps/docs/components/ui/dialog.tsx diff --git a/components/ui/tooltip.tsx b/apps/docs/components/ui/tooltip.tsx similarity index 100% rename from components/ui/tooltip.tsx rename to apps/docs/components/ui/tooltip.tsx diff --git a/eslint.config.mjs b/apps/docs/eslint.config.mjs similarity index 100% rename from eslint.config.mjs rename to apps/docs/eslint.config.mjs diff --git a/lib/analytics.ts b/apps/docs/lib/analytics.ts similarity index 100% rename from lib/analytics.ts rename to apps/docs/lib/analytics.ts diff --git a/lib/convert-npm-command.ts b/apps/docs/lib/convert-npm-command.ts similarity index 100% rename from lib/convert-npm-command.ts rename to apps/docs/lib/convert-npm-command.ts diff --git a/lib/dep-icons.ts b/apps/docs/lib/dep-icons.ts similarity index 100% rename from lib/dep-icons.ts rename to apps/docs/lib/dep-icons.ts diff --git a/lib/docs.ts b/apps/docs/lib/docs.ts similarity index 100% rename from lib/docs.ts rename to apps/docs/lib/docs.ts diff --git a/lib/highlight-code.ts b/apps/docs/lib/highlight-code.ts similarity index 100% rename from lib/highlight-code.ts rename to apps/docs/lib/highlight-code.ts diff --git a/lib/pm-icons.ts b/apps/docs/lib/pm-icons.ts similarity index 100% rename from lib/pm-icons.ts rename to apps/docs/lib/pm-icons.ts diff --git a/lib/prompts.ts b/apps/docs/lib/prompts.ts similarity index 100% rename from lib/prompts.ts rename to apps/docs/lib/prompts.ts diff --git a/lib/registry.ts b/apps/docs/lib/registry.ts similarity index 100% rename from lib/registry.ts rename to apps/docs/lib/registry.ts diff --git a/lib/releases.ts b/apps/docs/lib/releases.ts similarity index 100% rename from lib/releases.ts rename to apps/docs/lib/releases.ts diff --git a/lib/utils.ts b/apps/docs/lib/utils.ts similarity index 100% rename from lib/utils.ts rename to apps/docs/lib/utils.ts diff --git a/next.config.ts b/apps/docs/next.config.ts similarity index 100% rename from next.config.ts rename to apps/docs/next.config.ts diff --git a/apps/docs/package.json b/apps/docs/package.json new file mode 100644 index 0000000..3318ca7 --- /dev/null +++ b/apps/docs/package.json @@ -0,0 +1,61 @@ +{ + "name": "@jalco/docs", + "version": "2026.03.1", + "private": true, + "packageManager": "pnpm@10.30.3", + "scripts": { + "dev": "tsx scripts/generate-preview-imports.ts && next dev", + "build": "shadcn build && tsx scripts/generate-preview-imports.ts && next build", + "start": "next start", + "lint": "eslint .", + "registry:build": "shadcn build", + "previews:generate": "tsx scripts/generate-preview-imports.ts", + "prepare": "husky" + }, + "dependencies": { + "@radix-ui/react-label": "^2.1.7", + "@radix-ui/react-slot": "^1.2.3", + "@tailwindcss/typography": "^0.5.19", + "@types/mdx": "^2.0.13", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "diff": "^8.0.4", + "lucide-react": "^0.487.0", + "motion": "^12.36.0", + "next": "15.5.9", + "next-themes": "^0.4.6", + "radix-ui": "^1.4.3", + "react": "19.1.0", + "react-dom": "19.1.0", + "shadcn": "^3.0.0", + "shiki": "^4.0.2", + "tailwind-merge": "^3.3.1", + "tw-animate-css": "^1.3.6", + "uqr": "^0.1.2", + "zod": "^3.25.76" + }, + "devDependencies": { + "@eslint/eslintrc": "^3.3.1", + "@tailwindcss/postcss": "^4.1.11", + "@types/node": "^20.19.9", + "@types/react": "19.1.2", + "@types/react-dom": "19.1.2", + "eslint": "^9.32.0", + "eslint-config-next": "15.3.1", + "html2canvas-pro": "^2.0.2", + "husky": "^9.1.7", + "lint-staged": "^16.3.3", + "tailwindcss": "^4.1.11", + "tsx": "^4.21.0", + "typescript": "^5.9.2" + }, + "lint-staged": { + "*.{ts,tsx}": "eslint --max-warnings 0" + }, + "pnpm": { + "overrides": { + "@types/react": "19.1.2", + "@types/react-dom": "19.1.2" + } + } +} diff --git a/postcss.config.mjs b/apps/docs/postcss.config.mjs similarity index 100% rename from postcss.config.mjs rename to apps/docs/postcss.config.mjs diff --git a/public/avatars/haydenbleasel.png b/apps/docs/public/avatars/haydenbleasel.png similarity index 100% rename from public/avatars/haydenbleasel.png rename to apps/docs/public/avatars/haydenbleasel.png diff --git a/public/avatars/leerob.png b/apps/docs/public/avatars/leerob.png similarity index 100% rename from public/avatars/leerob.png rename to apps/docs/public/avatars/leerob.png diff --git a/public/avatars/rauchg.png b/apps/docs/public/avatars/rauchg.png similarity index 100% rename from public/avatars/rauchg.png rename to apps/docs/public/avatars/rauchg.png diff --git a/public/avatars/shadcn.png b/apps/docs/public/avatars/shadcn.png similarity index 100% rename from public/avatars/shadcn.png rename to apps/docs/public/avatars/shadcn.png diff --git a/public/avatars/shuding.png b/apps/docs/public/avatars/shuding.png similarity index 100% rename from public/avatars/shuding.png rename to apps/docs/public/avatars/shuding.png diff --git a/public/avatars/timneutkens.png b/apps/docs/public/avatars/timneutkens.png similarity index 100% rename from public/avatars/timneutkens.png rename to apps/docs/public/avatars/timneutkens.png diff --git a/public/brand/repo-header.png b/apps/docs/public/brand/repo-header.png similarity index 100% rename from public/brand/repo-header.png rename to apps/docs/public/brand/repo-header.png diff --git a/public/brand/social.png b/apps/docs/public/brand/social.png similarity index 100% rename from public/brand/social.png rename to apps/docs/public/brand/social.png diff --git a/public/logo.svg b/apps/docs/public/logo.svg similarity index 100% rename from public/logo.svg rename to apps/docs/public/logo.svg diff --git a/public/logos/github.png b/apps/docs/public/logos/github.png similarity index 100% rename from public/logos/github.png rename to apps/docs/public/logos/github.png diff --git a/public/logos/github.svg b/apps/docs/public/logos/github.svg similarity index 100% rename from public/logos/github.svg rename to apps/docs/public/logos/github.svg diff --git a/public/logos/linear.png b/apps/docs/public/logos/linear.png similarity index 100% rename from public/logos/linear.png rename to apps/docs/public/logos/linear.png diff --git a/public/logos/linear.svg b/apps/docs/public/logos/linear.svg similarity index 100% rename from public/logos/linear.svg rename to apps/docs/public/logos/linear.svg diff --git a/public/logos/nextjs.png b/apps/docs/public/logos/nextjs.png similarity index 100% rename from public/logos/nextjs.png rename to apps/docs/public/logos/nextjs.png diff --git a/public/logos/nextjs.svg b/apps/docs/public/logos/nextjs.svg similarity index 100% rename from public/logos/nextjs.svg rename to apps/docs/public/logos/nextjs.svg diff --git a/public/logos/react.png b/apps/docs/public/logos/react.png similarity index 100% rename from public/logos/react.png rename to apps/docs/public/logos/react.png diff --git a/public/logos/react.svg b/apps/docs/public/logos/react.svg similarity index 100% rename from public/logos/react.svg rename to apps/docs/public/logos/react.svg diff --git a/public/logos/stripe.png b/apps/docs/public/logos/stripe.png similarity index 100% rename from public/logos/stripe.png rename to apps/docs/public/logos/stripe.png diff --git a/public/logos/stripe.svg b/apps/docs/public/logos/stripe.svg similarity index 100% rename from public/logos/stripe.svg rename to apps/docs/public/logos/stripe.svg diff --git a/public/logos/tailwindcss.png b/apps/docs/public/logos/tailwindcss.png similarity index 100% rename from public/logos/tailwindcss.png rename to apps/docs/public/logos/tailwindcss.png diff --git a/public/logos/tailwindcss.svg b/apps/docs/public/logos/tailwindcss.svg similarity index 100% rename from public/logos/tailwindcss.svg rename to apps/docs/public/logos/tailwindcss.svg diff --git a/public/logos/typescript.png b/apps/docs/public/logos/typescript.png similarity index 100% rename from public/logos/typescript.png rename to apps/docs/public/logos/typescript.png diff --git a/public/logos/typescript.svg b/apps/docs/public/logos/typescript.svg similarity index 100% rename from public/logos/typescript.svg rename to apps/docs/public/logos/typescript.svg diff --git a/public/logos/vercel.png b/apps/docs/public/logos/vercel.png similarity index 100% rename from public/logos/vercel.png rename to apps/docs/public/logos/vercel.png diff --git a/public/logos/vercel.svg b/apps/docs/public/logos/vercel.svg similarity index 100% rename from public/logos/vercel.svg rename to apps/docs/public/logos/vercel.svg diff --git a/public/previews/activity-graph-dark.png b/apps/docs/public/previews/activity-graph-dark.png similarity index 100% rename from public/previews/activity-graph-dark.png rename to apps/docs/public/previews/activity-graph-dark.png diff --git a/public/previews/activity-graph-light.png b/apps/docs/public/previews/activity-graph-light.png similarity index 100% rename from public/previews/activity-graph-light.png rename to apps/docs/public/previews/activity-graph-light.png diff --git a/public/previews/ai-copy-button-dark.png b/apps/docs/public/previews/ai-copy-button-dark.png similarity index 100% rename from public/previews/ai-copy-button-dark.png rename to apps/docs/public/previews/ai-copy-button-dark.png diff --git a/public/previews/ai-copy-button-light.png b/apps/docs/public/previews/ai-copy-button-light.png similarity index 100% rename from public/previews/ai-copy-button-light.png rename to apps/docs/public/previews/ai-copy-button-light.png diff --git a/public/previews/api-ref-table-dark.png b/apps/docs/public/previews/api-ref-table-dark.png similarity index 100% rename from public/previews/api-ref-table-dark.png rename to apps/docs/public/previews/api-ref-table-dark.png diff --git a/public/previews/api-ref-table-light.png b/apps/docs/public/previews/api-ref-table-light.png similarity index 100% rename from public/previews/api-ref-table-light.png rename to apps/docs/public/previews/api-ref-table-light.png diff --git a/public/previews/code-block-command-dark.png b/apps/docs/public/previews/code-block-command-dark.png similarity index 100% rename from public/previews/code-block-command-dark.png rename to apps/docs/public/previews/code-block-command-dark.png diff --git a/public/previews/code-block-command-light.png b/apps/docs/public/previews/code-block-command-light.png similarity index 100% rename from public/previews/code-block-command-light.png rename to apps/docs/public/previews/code-block-command-light.png diff --git a/public/previews/code-block-dark.png b/apps/docs/public/previews/code-block-dark.png similarity index 100% rename from public/previews/code-block-dark.png rename to apps/docs/public/previews/code-block-dark.png diff --git a/public/previews/code-block-light.png b/apps/docs/public/previews/code-block-light.png similarity index 100% rename from public/previews/code-block-light.png rename to apps/docs/public/previews/code-block-light.png diff --git a/public/previews/code-line-dark.png b/apps/docs/public/previews/code-line-dark.png similarity index 100% rename from public/previews/code-line-dark.png rename to apps/docs/public/previews/code-line-dark.png diff --git a/public/previews/code-line-light.png b/apps/docs/public/previews/code-line-light.png similarity index 100% rename from public/previews/code-line-light.png rename to apps/docs/public/previews/code-line-light.png diff --git a/public/previews/color-palette-dark.png b/apps/docs/public/previews/color-palette-dark.png similarity index 100% rename from public/previews/color-palette-dark.png rename to apps/docs/public/previews/color-palette-dark.png diff --git a/public/previews/color-palette-light.png b/apps/docs/public/previews/color-palette-light.png similarity index 100% rename from public/previews/color-palette-light.png rename to apps/docs/public/previews/color-palette-light.png diff --git a/public/previews/commit-graph-dark.png b/apps/docs/public/previews/commit-graph-dark.png similarity index 100% rename from public/previews/commit-graph-dark.png rename to apps/docs/public/previews/commit-graph-dark.png diff --git a/public/previews/commit-graph-light.png b/apps/docs/public/previews/commit-graph-light.png similarity index 100% rename from public/previews/commit-graph-light.png rename to apps/docs/public/previews/commit-graph-light.png diff --git a/public/previews/contributor-grid-dark.png b/apps/docs/public/previews/contributor-grid-dark.png similarity index 100% rename from public/previews/contributor-grid-dark.png rename to apps/docs/public/previews/contributor-grid-dark.png diff --git a/public/previews/contributor-grid-light.png b/apps/docs/public/previews/contributor-grid-light.png similarity index 100% rename from public/previews/contributor-grid-light.png rename to apps/docs/public/previews/contributor-grid-light.png diff --git a/public/previews/cron-schedule-dark.png b/apps/docs/public/previews/cron-schedule-dark.png similarity index 100% rename from public/previews/cron-schedule-dark.png rename to apps/docs/public/previews/cron-schedule-dark.png diff --git a/public/previews/cron-schedule-light.png b/apps/docs/public/previews/cron-schedule-light.png similarity index 100% rename from public/previews/cron-schedule-light.png rename to apps/docs/public/previews/cron-schedule-light.png diff --git a/public/previews/diff-viewer-dark.png b/apps/docs/public/previews/diff-viewer-dark.png similarity index 100% rename from public/previews/diff-viewer-dark.png rename to apps/docs/public/previews/diff-viewer-dark.png diff --git a/public/previews/diff-viewer-light.png b/apps/docs/public/previews/diff-viewer-light.png similarity index 100% rename from public/previews/diff-viewer-light.png rename to apps/docs/public/previews/diff-viewer-light.png diff --git a/public/previews/env-table-dark.png b/apps/docs/public/previews/env-table-dark.png similarity index 100% rename from public/previews/env-table-dark.png rename to apps/docs/public/previews/env-table-dark.png diff --git a/public/previews/env-table-light.png b/apps/docs/public/previews/env-table-light.png similarity index 100% rename from public/previews/env-table-light.png rename to apps/docs/public/previews/env-table-light.png diff --git a/public/previews/file-tree-dark.png b/apps/docs/public/previews/file-tree-dark.png similarity index 100% rename from public/previews/file-tree-dark.png rename to apps/docs/public/previews/file-tree-dark.png diff --git a/public/previews/file-tree-light.png b/apps/docs/public/previews/file-tree-light.png similarity index 100% rename from public/previews/file-tree-light.png rename to apps/docs/public/previews/file-tree-light.png diff --git a/public/previews/github-button-group-dark.png b/apps/docs/public/previews/github-button-group-dark.png similarity index 100% rename from public/previews/github-button-group-dark.png rename to apps/docs/public/previews/github-button-group-dark.png diff --git a/public/previews/github-button-group-light.png b/apps/docs/public/previews/github-button-group-light.png similarity index 100% rename from public/previews/github-button-group-light.png rename to apps/docs/public/previews/github-button-group-light.png diff --git a/public/previews/github-stars-button-dark.png b/apps/docs/public/previews/github-stars-button-dark.png similarity index 100% rename from public/previews/github-stars-button-dark.png rename to apps/docs/public/previews/github-stars-button-dark.png diff --git a/public/previews/github-stars-button-light.png b/apps/docs/public/previews/github-stars-button-light.png similarity index 100% rename from public/previews/github-stars-button-light.png rename to apps/docs/public/previews/github-stars-button-light.png diff --git a/public/previews/json-viewer-dark.png b/apps/docs/public/previews/json-viewer-dark.png similarity index 100% rename from public/previews/json-viewer-dark.png rename to apps/docs/public/previews/json-viewer-dark.png diff --git a/public/previews/json-viewer-light.png b/apps/docs/public/previews/json-viewer-light.png similarity index 100% rename from public/previews/json-viewer-light.png rename to apps/docs/public/previews/json-viewer-light.png diff --git a/public/previews/kbd-dark.png b/apps/docs/public/previews/kbd-dark.png similarity index 100% rename from public/previews/kbd-dark.png rename to apps/docs/public/previews/kbd-dark.png diff --git a/public/previews/kbd-light.png b/apps/docs/public/previews/kbd-light.png similarity index 100% rename from public/previews/kbd-light.png rename to apps/docs/public/previews/kbd-light.png diff --git a/public/previews/license-badge-dark.png b/apps/docs/public/previews/license-badge-dark.png similarity index 100% rename from public/previews/license-badge-dark.png rename to apps/docs/public/previews/license-badge-dark.png diff --git a/public/previews/license-badge-light.png b/apps/docs/public/previews/license-badge-light.png similarity index 100% rename from public/previews/license-badge-light.png rename to apps/docs/public/previews/license-badge-light.png diff --git a/public/previews/log-viewer-dark.png b/apps/docs/public/previews/log-viewer-dark.png similarity index 100% rename from public/previews/log-viewer-dark.png rename to apps/docs/public/previews/log-viewer-dark.png diff --git a/public/previews/log-viewer-light.png b/apps/docs/public/previews/log-viewer-light.png similarity index 100% rename from public/previews/log-viewer-light.png rename to apps/docs/public/previews/log-viewer-light.png diff --git a/public/previews/logo-cloud-dark.png b/apps/docs/public/previews/logo-cloud-dark.png similarity index 100% rename from public/previews/logo-cloud-dark.png rename to apps/docs/public/previews/logo-cloud-dark.png diff --git a/public/previews/logo-cloud-light.png b/apps/docs/public/previews/logo-cloud-light.png similarity index 100% rename from public/previews/logo-cloud-light.png rename to apps/docs/public/previews/logo-cloud-light.png diff --git a/public/previews/npm-badge-dark.png b/apps/docs/public/previews/npm-badge-dark.png similarity index 100% rename from public/previews/npm-badge-dark.png rename to apps/docs/public/previews/npm-badge-dark.png diff --git a/public/previews/npm-badge-light.png b/apps/docs/public/previews/npm-badge-light.png similarity index 100% rename from public/previews/npm-badge-light.png rename to apps/docs/public/previews/npm-badge-light.png diff --git a/public/previews/producthunt-button-dark.png b/apps/docs/public/previews/producthunt-button-dark.png similarity index 100% rename from public/previews/producthunt-button-dark.png rename to apps/docs/public/previews/producthunt-button-dark.png diff --git a/public/previews/producthunt-button-light.png b/apps/docs/public/previews/producthunt-button-light.png similarity index 100% rename from public/previews/producthunt-button-light.png rename to apps/docs/public/previews/producthunt-button-light.png diff --git a/public/previews/repo-card-dark.png b/apps/docs/public/previews/repo-card-dark.png similarity index 100% rename from public/previews/repo-card-dark.png rename to apps/docs/public/previews/repo-card-dark.png diff --git a/public/previews/repo-card-light.png b/apps/docs/public/previews/repo-card-light.png similarity index 100% rename from public/previews/repo-card-light.png rename to apps/docs/public/previews/repo-card-light.png diff --git a/public/previews/request-viewer-dark.png b/apps/docs/public/previews/request-viewer-dark.png similarity index 100% rename from public/previews/request-viewer-dark.png rename to apps/docs/public/previews/request-viewer-dark.png diff --git a/public/previews/request-viewer-light.png b/apps/docs/public/previews/request-viewer-light.png similarity index 100% rename from public/previews/request-viewer-light.png rename to apps/docs/public/previews/request-viewer-light.png diff --git a/public/previews/status-indicator-dark.png b/apps/docs/public/previews/status-indicator-dark.png similarity index 100% rename from public/previews/status-indicator-dark.png rename to apps/docs/public/previews/status-indicator-dark.png diff --git a/public/previews/status-indicator-light.png b/apps/docs/public/previews/status-indicator-light.png similarity index 100% rename from public/previews/status-indicator-light.png rename to apps/docs/public/previews/status-indicator-light.png diff --git a/public/previews/stepper-dark.png b/apps/docs/public/previews/stepper-dark.png similarity index 100% rename from public/previews/stepper-dark.png rename to apps/docs/public/previews/stepper-dark.png diff --git a/public/previews/stepper-light.png b/apps/docs/public/previews/stepper-light.png similarity index 100% rename from public/previews/stepper-light.png rename to apps/docs/public/previews/stepper-light.png diff --git a/public/previews/testimonial-dark.png b/apps/docs/public/previews/testimonial-dark.png similarity index 100% rename from public/previews/testimonial-dark.png rename to apps/docs/public/previews/testimonial-dark.png diff --git a/public/previews/testimonial-light.png b/apps/docs/public/previews/testimonial-light.png similarity index 100% rename from public/previews/testimonial-light.png rename to apps/docs/public/previews/testimonial-light.png diff --git a/public/previews/tip-jar-dark.png b/apps/docs/public/previews/tip-jar-dark.png similarity index 100% rename from public/previews/tip-jar-dark.png rename to apps/docs/public/previews/tip-jar-dark.png diff --git a/public/previews/tip-jar-light.png b/apps/docs/public/previews/tip-jar-light.png similarity index 100% rename from public/previews/tip-jar-light.png rename to apps/docs/public/previews/tip-jar-light.png diff --git a/registry.json b/apps/docs/registry.json similarity index 100% rename from registry.json rename to apps/docs/registry.json diff --git a/registry/activity-graph/activity-graph.tsx b/apps/docs/registry/activity-graph/activity-graph.tsx similarity index 100% rename from registry/activity-graph/activity-graph.tsx rename to apps/docs/registry/activity-graph/activity-graph.tsx diff --git a/registry/activity-graph/lib/github.ts b/apps/docs/registry/activity-graph/lib/github.ts similarity index 100% rename from registry/activity-graph/lib/github.ts rename to apps/docs/registry/activity-graph/lib/github.ts diff --git a/registry/ai-copy-button/ai-copy-button.tsx b/apps/docs/registry/ai-copy-button/ai-copy-button.tsx similarity index 100% rename from registry/ai-copy-button/ai-copy-button.tsx rename to apps/docs/registry/ai-copy-button/ai-copy-button.tsx diff --git a/registry/api-ref-table/api-ref-table.tsx b/apps/docs/registry/api-ref-table/api-ref-table.tsx similarity index 100% rename from registry/api-ref-table/api-ref-table.tsx rename to apps/docs/registry/api-ref-table/api-ref-table.tsx diff --git a/registry/code-block-command/code-block-command.tsx b/apps/docs/registry/code-block-command/code-block-command.tsx similarity index 100% rename from registry/code-block-command/code-block-command.tsx rename to apps/docs/registry/code-block-command/code-block-command.tsx diff --git a/registry/code-block-command/lib/convert-npm-command.ts b/apps/docs/registry/code-block-command/lib/convert-npm-command.ts similarity index 100% rename from registry/code-block-command/lib/convert-npm-command.ts rename to apps/docs/registry/code-block-command/lib/convert-npm-command.ts diff --git a/registry/code-block/code-block-client.tsx b/apps/docs/registry/code-block/code-block-client.tsx similarity index 100% rename from registry/code-block/code-block-client.tsx rename to apps/docs/registry/code-block/code-block-client.tsx diff --git a/registry/code-block/code-block.tsx b/apps/docs/registry/code-block/code-block.tsx similarity index 100% rename from registry/code-block/code-block.tsx rename to apps/docs/registry/code-block/code-block.tsx diff --git a/registry/code-block/lib/highlight-code.ts b/apps/docs/registry/code-block/lib/highlight-code.ts similarity index 100% rename from registry/code-block/lib/highlight-code.ts rename to apps/docs/registry/code-block/lib/highlight-code.ts diff --git a/registry/code-line/code-line-copy-button.tsx b/apps/docs/registry/code-line/code-line-copy-button.tsx similarity index 100% rename from registry/code-line/code-line-copy-button.tsx rename to apps/docs/registry/code-line/code-line-copy-button.tsx diff --git a/registry/code-line/code-line.tsx b/apps/docs/registry/code-line/code-line.tsx similarity index 100% rename from registry/code-line/code-line.tsx rename to apps/docs/registry/code-line/code-line.tsx diff --git a/registry/color-palette/color-palette.tsx b/apps/docs/registry/color-palette/color-palette.tsx similarity index 100% rename from registry/color-palette/color-palette.tsx rename to apps/docs/registry/color-palette/color-palette.tsx diff --git a/registry/commit-graph/commit-graph.tsx b/apps/docs/registry/commit-graph/commit-graph.tsx similarity index 100% rename from registry/commit-graph/commit-graph.tsx rename to apps/docs/registry/commit-graph/commit-graph.tsx diff --git a/registry/contributor-grid/contributor-grid-client.tsx b/apps/docs/registry/contributor-grid/contributor-grid-client.tsx similarity index 100% rename from registry/contributor-grid/contributor-grid-client.tsx rename to apps/docs/registry/contributor-grid/contributor-grid-client.tsx diff --git a/registry/contributor-grid/contributor-grid.tsx b/apps/docs/registry/contributor-grid/contributor-grid.tsx similarity index 100% rename from registry/contributor-grid/contributor-grid.tsx rename to apps/docs/registry/contributor-grid/contributor-grid.tsx diff --git a/registry/contributor-grid/lib/github.ts b/apps/docs/registry/contributor-grid/lib/github.ts similarity index 100% rename from registry/contributor-grid/lib/github.ts rename to apps/docs/registry/contributor-grid/lib/github.ts diff --git a/registry/cron-schedule/cron-schedule.tsx b/apps/docs/registry/cron-schedule/cron-schedule.tsx similarity index 100% rename from registry/cron-schedule/cron-schedule.tsx rename to apps/docs/registry/cron-schedule/cron-schedule.tsx diff --git a/registry/diff-viewer/diff-viewer-client.tsx b/apps/docs/registry/diff-viewer/diff-viewer-client.tsx similarity index 100% rename from registry/diff-viewer/diff-viewer-client.tsx rename to apps/docs/registry/diff-viewer/diff-viewer-client.tsx diff --git a/registry/diff-viewer/diff-viewer.tsx b/apps/docs/registry/diff-viewer/diff-viewer.tsx similarity index 100% rename from registry/diff-viewer/diff-viewer.tsx rename to apps/docs/registry/diff-viewer/diff-viewer.tsx diff --git a/registry/env-table/env-table.tsx b/apps/docs/registry/env-table/env-table.tsx similarity index 100% rename from registry/env-table/env-table.tsx rename to apps/docs/registry/env-table/env-table.tsx diff --git a/registry/file-tree/file-tree.tsx b/apps/docs/registry/file-tree/file-tree.tsx similarity index 100% rename from registry/file-tree/file-tree.tsx rename to apps/docs/registry/file-tree/file-tree.tsx diff --git a/registry/github-button-group/github-button-group.tsx b/apps/docs/registry/github-button-group/github-button-group.tsx similarity index 100% rename from registry/github-button-group/github-button-group.tsx rename to apps/docs/registry/github-button-group/github-button-group.tsx diff --git a/registry/github-button-group/lib/github.ts b/apps/docs/registry/github-button-group/lib/github.ts similarity index 100% rename from registry/github-button-group/lib/github.ts rename to apps/docs/registry/github-button-group/lib/github.ts diff --git a/registry/github-stars-button/github-stars-button.tsx b/apps/docs/registry/github-stars-button/github-stars-button.tsx similarity index 100% rename from registry/github-stars-button/github-stars-button.tsx rename to apps/docs/registry/github-stars-button/github-stars-button.tsx diff --git a/registry/github-stars-button/lib/github.ts b/apps/docs/registry/github-stars-button/lib/github.ts similarity index 100% rename from registry/github-stars-button/lib/github.ts rename to apps/docs/registry/github-stars-button/lib/github.ts diff --git a/registry/json-viewer/json-viewer.tsx b/apps/docs/registry/json-viewer/json-viewer.tsx similarity index 100% rename from registry/json-viewer/json-viewer.tsx rename to apps/docs/registry/json-viewer/json-viewer.tsx diff --git a/registry/json-viewer/lib/themes.ts b/apps/docs/registry/json-viewer/lib/themes.ts similarity index 100% rename from registry/json-viewer/lib/themes.ts rename to apps/docs/registry/json-viewer/lib/themes.ts diff --git a/registry/kbd/kbd.tsx b/apps/docs/registry/kbd/kbd.tsx similarity index 100% rename from registry/kbd/kbd.tsx rename to apps/docs/registry/kbd/kbd.tsx diff --git a/registry/license-badge/lib/licenses.ts b/apps/docs/registry/license-badge/lib/licenses.ts similarity index 100% rename from registry/license-badge/lib/licenses.ts rename to apps/docs/registry/license-badge/lib/licenses.ts diff --git a/registry/license-badge/license-badge.tsx b/apps/docs/registry/license-badge/license-badge.tsx similarity index 100% rename from registry/license-badge/license-badge.tsx rename to apps/docs/registry/license-badge/license-badge.tsx diff --git a/registry/log-viewer/lib/sample-logs.ts b/apps/docs/registry/log-viewer/lib/sample-logs.ts similarity index 100% rename from registry/log-viewer/lib/sample-logs.ts rename to apps/docs/registry/log-viewer/lib/sample-logs.ts diff --git a/registry/log-viewer/log-viewer.tsx b/apps/docs/registry/log-viewer/log-viewer.tsx similarity index 100% rename from registry/log-viewer/log-viewer.tsx rename to apps/docs/registry/log-viewer/log-viewer.tsx diff --git a/registry/logo-cloud/logo-cloud.tsx b/apps/docs/registry/logo-cloud/logo-cloud.tsx similarity index 100% rename from registry/logo-cloud/logo-cloud.tsx rename to apps/docs/registry/logo-cloud/logo-cloud.tsx diff --git a/registry/npm-badge/lib/npm.ts b/apps/docs/registry/npm-badge/lib/npm.ts similarity index 100% rename from registry/npm-badge/lib/npm.ts rename to apps/docs/registry/npm-badge/lib/npm.ts diff --git a/registry/npm-badge/npm-badge.tsx b/apps/docs/registry/npm-badge/npm-badge.tsx similarity index 100% rename from registry/npm-badge/npm-badge.tsx rename to apps/docs/registry/npm-badge/npm-badge.tsx diff --git a/registry/producthunt-button/lib/producthunt.ts b/apps/docs/registry/producthunt-button/lib/producthunt.ts similarity index 100% rename from registry/producthunt-button/lib/producthunt.ts rename to apps/docs/registry/producthunt-button/lib/producthunt.ts diff --git a/registry/producthunt-button/producthunt-button.tsx b/apps/docs/registry/producthunt-button/producthunt-button.tsx similarity index 100% rename from registry/producthunt-button/producthunt-button.tsx rename to apps/docs/registry/producthunt-button/producthunt-button.tsx diff --git a/registry/repo-card/lib/github.ts b/apps/docs/registry/repo-card/lib/github.ts similarity index 100% rename from registry/repo-card/lib/github.ts rename to apps/docs/registry/repo-card/lib/github.ts diff --git a/registry/repo-card/repo-card.tsx b/apps/docs/registry/repo-card/repo-card.tsx similarity index 100% rename from registry/repo-card/repo-card.tsx rename to apps/docs/registry/repo-card/repo-card.tsx diff --git a/registry/request-viewer/request-viewer.tsx b/apps/docs/registry/request-viewer/request-viewer.tsx similarity index 100% rename from registry/request-viewer/request-viewer.tsx rename to apps/docs/registry/request-viewer/request-viewer.tsx diff --git a/registry/status-indicator/status-indicator.tsx b/apps/docs/registry/status-indicator/status-indicator.tsx similarity index 100% rename from registry/status-indicator/status-indicator.tsx rename to apps/docs/registry/status-indicator/status-indicator.tsx diff --git a/registry/stepper/stepper.tsx b/apps/docs/registry/stepper/stepper.tsx similarity index 100% rename from registry/stepper/stepper.tsx rename to apps/docs/registry/stepper/stepper.tsx diff --git a/registry/testimonial/testimonial.tsx b/apps/docs/registry/testimonial/testimonial.tsx similarity index 100% rename from registry/testimonial/testimonial.tsx rename to apps/docs/registry/testimonial/testimonial.tsx diff --git a/registry/tip-jar/icons/provider-icons.tsx b/apps/docs/registry/tip-jar/icons/provider-icons.tsx similarity index 100% rename from registry/tip-jar/icons/provider-icons.tsx rename to apps/docs/registry/tip-jar/icons/provider-icons.tsx diff --git a/registry/tip-jar/lib/chains.ts b/apps/docs/registry/tip-jar/lib/chains.ts similarity index 100% rename from registry/tip-jar/lib/chains.ts rename to apps/docs/registry/tip-jar/lib/chains.ts diff --git a/registry/tip-jar/tip-jar.tsx b/apps/docs/registry/tip-jar/tip-jar.tsx similarity index 100% rename from registry/tip-jar/tip-jar.tsx rename to apps/docs/registry/tip-jar/tip-jar.tsx diff --git a/registry/ui/button.tsx b/apps/docs/registry/ui/button.tsx similarity index 100% rename from registry/ui/button.tsx rename to apps/docs/registry/ui/button.tsx diff --git a/scripts/generate-preview-imports.ts b/apps/docs/scripts/generate-preview-imports.ts similarity index 100% rename from scripts/generate-preview-imports.ts rename to apps/docs/scripts/generate-preview-imports.ts diff --git a/tsconfig.json b/apps/docs/tsconfig.json similarity index 100% rename from tsconfig.json rename to apps/docs/tsconfig.json diff --git a/package.json b/package.json index 6bf0b8e..749aaaf 100644 --- a/package.json +++ b/package.json @@ -1,61 +1,15 @@ { "name": "jalco-ui", - "version": "2026.03.1", "private": true, - "packageManager": "pnpm@10.30.3", + "workspaces": ["apps/*", "packages/*"], "scripts": { - "dev": "tsx scripts/generate-preview-imports.ts && next dev", - "build": "shadcn build && tsx scripts/generate-preview-imports.ts && next build", - "start": "next start", - "lint": "eslint .", - "registry:build": "shadcn build", - "previews:generate": "tsx scripts/generate-preview-imports.ts", - "prepare": "husky" - }, - "dependencies": { - "@radix-ui/react-label": "^2.1.7", - "@radix-ui/react-slot": "^1.2.3", - "@tailwindcss/typography": "^0.5.19", - "@types/mdx": "^2.0.13", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "diff": "^8.0.4", - "lucide-react": "^0.487.0", - "motion": "^12.36.0", - "next": "15.5.9", - "next-themes": "^0.4.6", - "radix-ui": "^1.4.3", - "react": "19.1.0", - "react-dom": "19.1.0", - "shadcn": "^3.0.0", - "shiki": "^4.0.2", - "tailwind-merge": "^3.3.1", - "tw-animate-css": "^1.3.6", - "uqr": "^0.1.2", - "zod": "^3.25.76" + "dev": "turbo run dev", + "build": "turbo run build", + "lint": "turbo run lint", + "check-types": "turbo run check-types" }, "devDependencies": { - "@eslint/eslintrc": "^3.3.1", - "@tailwindcss/postcss": "^4.1.11", - "@types/node": "^20.19.9", - "@types/react": "19.1.2", - "@types/react-dom": "19.1.2", - "eslint": "^9.32.0", - "eslint-config-next": "15.3.1", - "html2canvas-pro": "^2.0.2", - "husky": "^9.1.7", - "lint-staged": "^16.3.3", - "tailwindcss": "^4.1.11", - "tsx": "^4.21.0", - "typescript": "^5.9.2" - }, - "lint-staged": { - "*.{ts,tsx}": "eslint --max-warnings 0" + "turbo": "^2.5.4" }, - "pnpm": { - "overrides": { - "@types/react": "19.1.2", - "@types/react-dom": "19.1.2" - } - } + "packageManager": "pnpm@10.30.3" } diff --git a/packages/config/package.json b/packages/config/package.json new file mode 100644 index 0000000..1a261fd --- /dev/null +++ b/packages/config/package.json @@ -0,0 +1,5 @@ +{ + "name": "@jalco/config", + "version": "0.0.0", + "private": true +} diff --git a/packages/config/tsconfig.base.json b/packages/config/tsconfig.base.json new file mode 100644 index 0000000..9702d31 --- /dev/null +++ b/packages/config/tsconfig.base.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "declaration": true, + "declarationMap": true, + "jsx": "react-jsx", + "incremental": true + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cd65dd7..6cd8842 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,13 +4,15 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 - importers: .: + devDependencies: + turbo: + specifier: ^2.5.4 + version: 2.8.21 + + apps/docs: dependencies: '@radix-ui/react-label': specifier: ^2.1.7 @@ -113,6 +115,8 @@ importers: specifier: ^5.9.2 version: 5.9.2 + packages/config: {} + packages: '@alloc/quick-lru@5.2.0': @@ -806,8 +810,8 @@ packages: '@radix-ui/react-accessible-icon@1.1.7': resolution: {integrity: sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -819,8 +823,8 @@ packages: '@radix-ui/react-accordion@1.2.12': resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -832,8 +836,8 @@ packages: '@radix-ui/react-alert-dialog@1.1.15': resolution: {integrity: sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -845,8 +849,8 @@ packages: '@radix-ui/react-arrow@1.1.7': resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -858,8 +862,8 @@ packages: '@radix-ui/react-aspect-ratio@1.1.7': resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -871,8 +875,8 @@ packages: '@radix-ui/react-avatar@1.1.10': resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -884,8 +888,8 @@ packages: '@radix-ui/react-checkbox@1.3.3': resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -897,8 +901,8 @@ packages: '@radix-ui/react-collapsible@1.1.12': resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -910,8 +914,8 @@ packages: '@radix-ui/react-collection@1.1.7': resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -923,7 +927,7 @@ packages: '@radix-ui/react-compose-refs@1.1.2': resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -932,8 +936,8 @@ packages: '@radix-ui/react-context-menu@2.2.16': resolution: {integrity: sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -945,7 +949,7 @@ packages: '@radix-ui/react-context@1.1.2': resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -954,8 +958,8 @@ packages: '@radix-ui/react-dialog@1.1.15': resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -967,7 +971,7 @@ packages: '@radix-ui/react-direction@1.1.1': resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -976,8 +980,8 @@ packages: '@radix-ui/react-dismissable-layer@1.1.11': resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -989,8 +993,8 @@ packages: '@radix-ui/react-dropdown-menu@2.1.16': resolution: {integrity: sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1002,7 +1006,7 @@ packages: '@radix-ui/react-focus-guards@1.1.3': resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1011,8 +1015,8 @@ packages: '@radix-ui/react-focus-scope@1.1.7': resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1024,8 +1028,8 @@ packages: '@radix-ui/react-form@0.1.8': resolution: {integrity: sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1037,8 +1041,8 @@ packages: '@radix-ui/react-hover-card@1.1.15': resolution: {integrity: sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1050,7 +1054,7 @@ packages: '@radix-ui/react-id@1.1.1': resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1059,8 +1063,8 @@ packages: '@radix-ui/react-label@2.1.7': resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1072,8 +1076,8 @@ packages: '@radix-ui/react-menu@2.1.16': resolution: {integrity: sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1085,8 +1089,8 @@ packages: '@radix-ui/react-menubar@1.1.16': resolution: {integrity: sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1098,8 +1102,8 @@ packages: '@radix-ui/react-navigation-menu@1.2.14': resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1111,8 +1115,8 @@ packages: '@radix-ui/react-one-time-password-field@0.1.8': resolution: {integrity: sha512-ycS4rbwURavDPVjCb5iS3aG4lURFDILi6sKI/WITUMZ13gMmn/xGjpLoqBAalhJaDk8I3UbCM5GzKHrnzwHbvg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1124,8 +1128,8 @@ packages: '@radix-ui/react-password-toggle-field@0.1.3': resolution: {integrity: sha512-/UuCrDBWravcaMix4TdT+qlNdVwOM1Nck9kWx/vafXsdfj1ChfhOdfi3cy9SGBpWgTXwYCuboT/oYpJy3clqfw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1137,8 +1141,8 @@ packages: '@radix-ui/react-popover@1.1.15': resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1150,8 +1154,8 @@ packages: '@radix-ui/react-popper@1.2.8': resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1163,8 +1167,8 @@ packages: '@radix-ui/react-portal@1.1.9': resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1176,8 +1180,8 @@ packages: '@radix-ui/react-presence@1.1.5': resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1189,8 +1193,8 @@ packages: '@radix-ui/react-primitive@2.1.3': resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1202,8 +1206,8 @@ packages: '@radix-ui/react-progress@1.1.7': resolution: {integrity: sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1215,8 +1219,8 @@ packages: '@radix-ui/react-radio-group@1.3.8': resolution: {integrity: sha512-VBKYIYImA5zsxACdisNQ3BjCBfmbGH3kQlnFVqlWU4tXwjy7cGX8ta80BcrO+WJXIn5iBylEH3K6ZTlee//lgQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1228,8 +1232,8 @@ packages: '@radix-ui/react-roving-focus@1.1.11': resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1241,8 +1245,8 @@ packages: '@radix-ui/react-scroll-area@1.2.10': resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1254,8 +1258,8 @@ packages: '@radix-ui/react-select@2.2.6': resolution: {integrity: sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1267,8 +1271,8 @@ packages: '@radix-ui/react-separator@1.1.7': resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1280,8 +1284,8 @@ packages: '@radix-ui/react-slider@1.3.6': resolution: {integrity: sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1293,7 +1297,7 @@ packages: '@radix-ui/react-slot@1.2.3': resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1302,8 +1306,8 @@ packages: '@radix-ui/react-switch@1.2.6': resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1315,8 +1319,8 @@ packages: '@radix-ui/react-tabs@1.1.13': resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1328,8 +1332,8 @@ packages: '@radix-ui/react-toast@1.2.15': resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1341,8 +1345,8 @@ packages: '@radix-ui/react-toggle-group@1.1.11': resolution: {integrity: sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1354,8 +1358,8 @@ packages: '@radix-ui/react-toggle@1.1.10': resolution: {integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1367,8 +1371,8 @@ packages: '@radix-ui/react-toolbar@1.1.11': resolution: {integrity: sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1380,8 +1384,8 @@ packages: '@radix-ui/react-tooltip@1.2.8': resolution: {integrity: sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1393,7 +1397,7 @@ packages: '@radix-ui/react-use-callback-ref@1.1.1': resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1402,7 +1406,7 @@ packages: '@radix-ui/react-use-controllable-state@1.2.2': resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1411,7 +1415,7 @@ packages: '@radix-ui/react-use-effect-event@0.0.2': resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1420,7 +1424,7 @@ packages: '@radix-ui/react-use-escape-keydown@1.1.1': resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1429,7 +1433,7 @@ packages: '@radix-ui/react-use-is-hydrated@0.1.0': resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1438,7 +1442,7 @@ packages: '@radix-ui/react-use-layout-effect@1.1.1': resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1447,7 +1451,7 @@ packages: '@radix-ui/react-use-previous@1.1.1': resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1456,7 +1460,7 @@ packages: '@radix-ui/react-use-rect@1.1.1': resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1465,7 +1469,7 @@ packages: '@radix-ui/react-use-size@1.1.1': resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -1474,8 +1478,8 @@ packages: '@radix-ui/react-visually-hidden@1.2.3': resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -1634,6 +1638,36 @@ packages: '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + '@turbo/darwin-64@2.8.21': + resolution: {integrity: sha512-kfGoM0Iw8ZNZpbds+4IzOe0hjvHldqJwUPRAjXJi3KBxg/QOZL95N893SRoMtf2aJ+jJ3dk32yPkp8rvcIjP9g==} + cpu: [x64] + os: [darwin] + + '@turbo/darwin-arm64@2.8.21': + resolution: {integrity: sha512-o9HEflxUEyr987x0cTUzZBhDOyL6u95JmdmlkH2VyxAw7zq2sdtM5e72y9ufv2N5SIoOBw1fVn9UES5VY5H6vQ==} + cpu: [arm64] + os: [darwin] + + '@turbo/linux-64@2.8.21': + resolution: {integrity: sha512-uTxlCcXWy5h1fSSymP8XSJ+AudzEHMDV3IDfKX7+DGB8kgJ+SLoTUAH7z4OFA7I/l2sznz0upPdbNNZs91YMag==} + cpu: [x64] + os: [linux] + + '@turbo/linux-arm64@2.8.21': + resolution: {integrity: sha512-cdHIcxNcihHHkCHp0Y4Zb60K4Qz+CK4xw1gb6s/t/9o4SMeMj+hTBCtoW6QpPnl9xPYmxuTou8Zw6+cylTnREg==} + cpu: [arm64] + os: [linux] + + '@turbo/windows-64@2.8.21': + resolution: {integrity: sha512-/iBj4OzbqEY8CX+eaeKbBTMZv2CLXNrt0692F7HnK7LcyYwyDecaAiSET6ZzL4opT7sbwkKvzAC/fhqT3Quu1A==} + cpu: [x64] + os: [win32] + + '@turbo/windows-arm64@2.8.21': + resolution: {integrity: sha512-95tMA/ZbIidJFUUtkmqioQ1gf3n3I1YbRP3ZgVdWTVn2qVbkodcIdGXBKRHHrIbRsLRl99SiHi/L7IxhpZDagQ==} + cpu: [arm64] + os: [win32] + '@tybys/wasm-util@0.10.0': resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} @@ -1664,7 +1698,7 @@ packages: '@types/react-dom@19.1.2': resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==} peerDependencies: - '@types/react': 19.1.2 + '@types/react': ^19.0.0 '@types/react@19.1.2': resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==} @@ -1876,10 +1910,6 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} @@ -2089,10 +2119,6 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - commander@14.0.0: - resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} - engines: {node: '>=20'} - commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -2602,10 +2628,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.3.1: - resolution: {integrity: sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==} - engines: {node: '>=18'} - get-east-asian-width@1.5.0: resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} engines: {node: '>=18'} @@ -3493,8 +3515,8 @@ packages: radix-ui@1.4.3: resolution: {integrity: sha512-aWizCQiyeAenIdUbqEpXgRA1ya65P13NKn/W8rWkcN0OPkRDxdBVLWnIEDsS2RpwCK2nobI7oMUSmexzTDyAmA==} peerDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2 + '@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: @@ -3523,7 +3545,7 @@ packages: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': @@ -3533,7 +3555,7 @@ packages: resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3543,7 +3565,7 @@ packages: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -3808,10 +3830,6 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - strip-ansi@7.2.0: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} @@ -3866,6 +3884,7 @@ packages: tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me text-segmentation@1.0.3: resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} @@ -3873,9 +3892,6 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinyexec@1.0.1: - resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} - tinyexec@1.0.2: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} @@ -3923,6 +3939,10 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + turbo@2.8.21: + resolution: {integrity: sha512-FlJ8OD5Qcp0jTAM7E4a/RhUzRNds2GzKlyxHKA6N247VLy628rrxAGlMpIXSz6VB430+TiQDJ/SMl6PL1lu6wQ==} + hasBin: true + tw-animate-css@1.3.6: resolution: {integrity: sha512-9dy0R9UsYEGmgf26L8UcHiLmSFTHa9+D7+dAt/G/sF5dCnPePZbfgDYinc7/UzAM7g/baVrmS6m9yEpU46d+LA==} @@ -4023,7 +4043,7 @@ packages: resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -4033,7 +4053,7 @@ packages: resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': 19.1.2 + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -4170,7 +4190,7 @@ snapshots: ansis: 4.1.0 fzf: 0.5.2 package-manager-detector: 1.3.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 '@babel/code-frame@7.27.1': dependencies: @@ -5646,6 +5666,24 @@ snapshots: minimatch: 10.0.3 path-browserify: 1.0.1 + '@turbo/darwin-64@2.8.21': + optional: true + + '@turbo/darwin-arm64@2.8.21': + optional: true + + '@turbo/linux-64@2.8.21': + optional: true + + '@turbo/linux-arm64@2.8.21': + optional: true + + '@turbo/windows-64@2.8.21': + optional: true + + '@turbo/windows-arm64@2.8.21': + optional: true + '@tybys/wasm-util@0.10.0': dependencies: tslib: 2.8.1 @@ -5871,8 +5909,6 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} - ansi-regex@6.2.2: {} ansi-styles@4.3.0: @@ -6103,8 +6139,6 @@ snapshots: commander@11.1.0: {} - commander@14.0.0: {} - commander@14.0.3: {} concat-map@0.0.1: {} @@ -6784,8 +6818,6 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.3.1: {} - get-east-asian-width@1.5.0: {} get-intrinsic@1.3.0: @@ -7004,7 +7036,7 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.3.1 + get-east-asian-width: 1.5.0 is-generator-function@1.1.0: dependencies: @@ -7239,7 +7271,7 @@ snapshots: ansi-escapes: 7.3.0 cli-cursor: 5.0.0 slice-ansi: 7.1.2 - strip-ansi: 7.1.0 + strip-ansi: 7.2.0 wrap-ansi: 9.0.2 loose-envify@1.4.0: @@ -7520,7 +7552,7 @@ snapshots: log-symbols: 6.0.0 stdin-discarder: 0.2.2 string-width: 7.2.0 - strip-ansi: 7.1.0 + strip-ansi: 7.2.0 outvariant@1.4.3: {} @@ -7909,7 +7941,7 @@ snapshots: '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) '@dotenvx/dotenvx': 1.49.0 '@modelcontextprotocol/sdk': 1.17.4 - commander: 14.0.0 + commander: 14.0.3 cosmiconfig: 9.0.0(typescript@5.9.2) dedent: 1.6.0 deepmerge: 4.3.1 @@ -8065,8 +8097,8 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.5.0 - get-east-asian-width: 1.3.1 - strip-ansi: 7.1.0 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 string-width@8.2.0: dependencies: @@ -8138,10 +8170,6 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -8188,8 +8216,6 @@ snapshots: tiny-invariant@1.3.3: {} - tinyexec@1.0.1: {} - tinyexec@1.0.2: {} tinyglobby@0.2.14: @@ -8243,6 +8269,15 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + turbo@2.8.21: + optionalDependencies: + '@turbo/darwin-64': 2.8.21 + '@turbo/darwin-arm64': 2.8.21 + '@turbo/linux-64': 2.8.21 + '@turbo/linux-arm64': 2.8.21 + '@turbo/windows-64': 2.8.21 + '@turbo/windows-arm64': 2.8.21 + tw-animate-css@1.3.6: {} type-check@0.4.0: @@ -8481,7 +8516,7 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.0 + strip-ansi: 7.2.0 wrappy@1.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..3ff5faa --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "apps/*" + - "packages/*" diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..317a5ac --- /dev/null +++ b/turbo.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://turbo.build/schema.json", + "ui": "tui", + "tasks": { + "build": { + "dependsOn": ["^build"], + "inputs": ["$TURBO_DEFAULT$", ".env*"], + "outputs": ["dist/**", ".next/**"] + }, + "dev": { + "cache": false, + "persistent": true + }, + "lint": { + "dependsOn": ["^lint"] + }, + "check-types": { + "dependsOn": ["^check-types"] + } + } +} From c84a8e00f8c0b5979e7b5ca18e0b549fa445bc63 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:00:12 -0700 Subject: [PATCH 02/49] feat(docs): add Fumadocs MDX infrastructure Phase 2 of migration: - Install fumadocs-core 16.6, fumadocs-mdx 14.2, fumadocs-ui (base-ui 16.6) - Upgrade to Next.js 16.2, React 19.2, Zod 4 - Add source.config.ts for MDX collection definition - Add lib/source.ts with Fumadocs page source loader - Add mdx-components.tsx with Fumadocs defaults - Wire createMDX into next.config.ts - Create content/docs/ with meta.json sidebar ordering for all 28 components - Create initial MDX pages: index.mdx, components/index.mdx - Add fumadocs-mdx:collections path mapping to tsconfig - Exclude .source/ from ESLint, suppress ignored-file warnings in lint-staged - All 42 existing pages still build alongside Fumadocs --- apps/docs/.source/browser.ts | 12 + apps/docs/.source/dynamic.ts | 8 + apps/docs/.source/server.ts | 14 + apps/docs/.source/source.config.mjs | 22 + apps/docs/content/docs/components/index.mdx | 6 + apps/docs/content/docs/components/meta.json | 41 + apps/docs/content/docs/index.mdx | 22 + apps/docs/content/docs/meta.json | 10 + apps/docs/eslint.config.mjs | 2 +- apps/docs/lib/source.ts | 7 + apps/docs/mdx-components.tsx | 13 + apps/docs/next.config.ts | 6 +- apps/docs/package.json | 24 +- apps/docs/source.config.ts | 19 + apps/docs/tsconfig.json | 29 +- pnpm-lock.yaml | 3612 ++++++++++++++----- 16 files changed, 2888 insertions(+), 959 deletions(-) create mode 100644 apps/docs/.source/browser.ts create mode 100644 apps/docs/.source/dynamic.ts create mode 100644 apps/docs/.source/server.ts create mode 100644 apps/docs/.source/source.config.mjs create mode 100644 apps/docs/content/docs/components/index.mdx create mode 100644 apps/docs/content/docs/components/meta.json create mode 100644 apps/docs/content/docs/index.mdx create mode 100644 apps/docs/content/docs/meta.json create mode 100644 apps/docs/lib/source.ts create mode 100644 apps/docs/mdx-components.tsx create mode 100644 apps/docs/source.config.ts diff --git a/apps/docs/.source/browser.ts b/apps/docs/.source/browser.ts new file mode 100644 index 0000000..be264af --- /dev/null +++ b/apps/docs/.source/browser.ts @@ -0,0 +1,12 @@ +// @ts-nocheck +import { browser } from 'fumadocs-mdx/runtime/browser'; +import type * as Config from '../source.config'; + +const create = browser(); +const browserCollections = { + docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/index.mdx": () => import("../content/docs/components/index.mdx?collection=docs"), }), +}; +export default browserCollections; \ No newline at end of file diff --git a/apps/docs/.source/dynamic.ts b/apps/docs/.source/dynamic.ts new file mode 100644 index 0000000..7dd9c10 --- /dev/null +++ b/apps/docs/.source/dynamic.ts @@ -0,0 +1,8 @@ +// @ts-nocheck +import { dynamic } from 'fumadocs-mdx/runtime/dynamic'; +import * as Config from '../source.config'; + +const create = await dynamic(Config, {"configPath":"source.config.ts","environment":"next","outDir":".source"}, {"doc":{"passthroughs":["extractedReferences"]}}); \ No newline at end of file diff --git a/apps/docs/.source/server.ts b/apps/docs/.source/server.ts new file mode 100644 index 0000000..6876d17 --- /dev/null +++ b/apps/docs/.source/server.ts @@ -0,0 +1,14 @@ +// @ts-nocheck +import * as __fd_glob_3 from "../content/docs/components/index.mdx?collection=docs" +import * as __fd_glob_2 from "../content/docs/index.mdx?collection=docs" +import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs" +import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs" +import { server } from 'fumadocs-mdx/runtime/server'; +import type * as Config from '../source.config'; + +const create = server({"doc":{"passthroughs":["extractedReferences"]}}); + +export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/index.mdx": __fd_glob_3, }); \ No newline at end of file diff --git a/apps/docs/.source/source.config.mjs b/apps/docs/.source/source.config.mjs new file mode 100644 index 0000000..6bdfeba --- /dev/null +++ b/apps/docs/.source/source.config.mjs @@ -0,0 +1,22 @@ +// source.config.ts +import { metaSchema, pageSchema } from "fumadocs-core/source/schema"; +import { defineConfig, defineDocs } from "fumadocs-mdx/config"; +var docs = defineDocs({ + dir: "content/docs", + docs: { + schema: pageSchema, + postprocess: { + includeProcessedMarkdown: true + } + }, + meta: { + schema: metaSchema + } +}); +var source_config_default = defineConfig({ + mdxOptions: {} +}); +export { + source_config_default as default, + docs +}; diff --git a/apps/docs/content/docs/components/index.mdx b/apps/docs/content/docs/components/index.mdx new file mode 100644 index 0000000..83fbb05 --- /dev/null +++ b/apps/docs/content/docs/components/index.mdx @@ -0,0 +1,6 @@ +--- +title: Components +description: Browse all jalco ui components. Polished, composable building blocks for React and Next.js. +--- + + diff --git a/apps/docs/content/docs/components/meta.json b/apps/docs/content/docs/components/meta.json new file mode 100644 index 0000000..652b560 --- /dev/null +++ b/apps/docs/content/docs/components/meta.json @@ -0,0 +1,41 @@ +{ + "title": "Components", + "pages": [ + "index", + "---Code", + "code-block", + "code-block-command", + "code-line", + "diff-viewer", + "---Docs", + "ai-copy-button", + "api-ref-table", + "color-palette", + "file-tree", + "kbd", + "stepper", + "---Open Source", + "activity-graph", + "commit-graph", + "contributor-grid", + "github-button-group", + "github-stars-button", + "license-badge", + "npm-badge", + "producthunt-button", + "repo-card", + "---Dev Tools", + "cron-schedule", + "env-table", + "json-viewer", + "log-viewer", + "request-viewer", + "---Marketing", + "logo-cloud", + "testimonial", + "---Infrastructure", + "status-indicator", + "---Payments", + "tip-jar" + ] +} diff --git a/apps/docs/content/docs/index.mdx b/apps/docs/content/docs/index.mdx new file mode 100644 index 0000000..505078b --- /dev/null +++ b/apps/docs/content/docs/index.mdx @@ -0,0 +1,22 @@ +--- +title: Introduction +description: Polished, composable components for React and Next.js — installable via the shadcn registry. +--- + +jalco ui ships production-ready components you can install with a single command or copy the source directly. Built for React and Next.js, distributed via a shadcn-compatible registry. + +## What you get + +- **28 components** across code, docs, open source, dev tools, marketing, and infrastructure +- **shadcn registry** — install with `npx shadcn@latest add` +- **Copy-paste friendly** — every component is readable, adaptable source code +- **Dark mode** — all components support light and dark themes +- **Accessible** — semantic HTML, ARIA, keyboard navigation + +## Quick start + +```bash +npx shadcn@latest add https://ui.justinlevine.me/r/code-block.json +``` + +Browse all components in the sidebar, or check the [releases](/docs/releases) for what's new. diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json new file mode 100644 index 0000000..6104efc --- /dev/null +++ b/apps/docs/content/docs/meta.json @@ -0,0 +1,10 @@ +{ + "title": "Docs", + "pages": [ + "index", + "installation", + "releases", + "---", + "components" + ] +} diff --git a/apps/docs/eslint.config.mjs b/apps/docs/eslint.config.mjs index b0d98ef..f44dc4e 100644 --- a/apps/docs/eslint.config.mjs +++ b/apps/docs/eslint.config.mjs @@ -10,7 +10,7 @@ const compat = new FlatCompat({ }); const eslintConfig = [ - { ignores: [".next/", "next-env.d.ts"] }, + { ignores: [".next/", ".source/", "next-env.d.ts"] }, ...compat.extends("next/core-web-vitals", "next/typescript"), ]; diff --git a/apps/docs/lib/source.ts b/apps/docs/lib/source.ts new file mode 100644 index 0000000..dae5c83 --- /dev/null +++ b/apps/docs/lib/source.ts @@ -0,0 +1,7 @@ +import { docs } from "fumadocs-mdx:collections/server" +import { loader } from "fumadocs-core/source" + +export const source = loader({ + baseUrl: "/docs", + source: docs.toFumadocsSource(), +}) diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx new file mode 100644 index 0000000..3baa65e --- /dev/null +++ b/apps/docs/mdx-components.tsx @@ -0,0 +1,13 @@ +import defaultMdxComponents from "fumadocs-ui/mdx" +import type { MDXComponents } from "mdx/types" + +export function getMDXComponents(components?: MDXComponents): MDXComponents { + return { + ...defaultMdxComponents, + ...components, + } +} + +export function useMDXComponents(components: MDXComponents): MDXComponents { + return getMDXComponents(components) +} diff --git a/apps/docs/next.config.ts b/apps/docs/next.config.ts index 1812bd5..9eb9646 100644 --- a/apps/docs/next.config.ts +++ b/apps/docs/next.config.ts @@ -2,9 +2,9 @@ import type { NextConfig } from "next" import { existsSync, statSync, readdirSync } from "node:fs" import { execSync } from "node:child_process" import { join } from "node:path" +import { createMDX } from "fumadocs-mdx/next" // Run preview codegen if the output is missing or any preview file is newer. -// Fires once per process regardless of runner (bun dev, pnpm dev, next dev). const OUTPUT = join( process.cwd(), "components/docs/__generated__/preview-imports.ts" @@ -36,4 +36,6 @@ if (needsCodegen()) { const nextConfig: NextConfig = {} -export default nextConfig +const withMDX = createMDX() + +export default withMDX(nextConfig) diff --git a/apps/docs/package.json b/apps/docs/package.json index 3318ca7..70c065d 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -13,6 +13,7 @@ "prepare": "husky" }, "dependencies": { + "@orama/orama": "^3.1.18", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-slot": "^1.2.3", "@tailwindcss/typography": "^0.5.19", @@ -20,26 +21,31 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "diff": "^8.0.4", + "fumadocs-core": "^16.6.16", + "fumadocs-mdx": "^14.2.9", + "fumadocs-ui": "npm:@fumadocs/base-ui@^16.6.16", "lucide-react": "^0.487.0", "motion": "^12.36.0", - "next": "15.5.9", + "next": "16.2.1", "next-themes": "^0.4.6", "radix-ui": "^1.4.3", - "react": "19.1.0", - "react-dom": "19.1.0", + "react": "19.2.4", + "react-dom": "19.2.4", + "rimraf": "^6.1.3", "shadcn": "^3.0.0", "shiki": "^4.0.2", "tailwind-merge": "^3.3.1", + "ts-morph": "^27.0.2", "tw-animate-css": "^1.3.6", "uqr": "^0.1.2", - "zod": "^3.25.76" + "zod": "^4.3.6" }, "devDependencies": { "@eslint/eslintrc": "^3.3.1", "@tailwindcss/postcss": "^4.1.11", - "@types/node": "^20.19.9", - "@types/react": "19.1.2", - "@types/react-dom": "19.1.2", + "@types/node": "^25.5.0", + "@types/react": "19.2.14", + "@types/react-dom": "19.2.3", "eslint": "^9.32.0", "eslint-config-next": "15.3.1", "html2canvas-pro": "^2.0.2", @@ -47,10 +53,10 @@ "lint-staged": "^16.3.3", "tailwindcss": "^4.1.11", "tsx": "^4.21.0", - "typescript": "^5.9.2" + "typescript": "^6.0.2" }, "lint-staged": { - "*.{ts,tsx}": "eslint --max-warnings 0" + "*.{ts,tsx}": "eslint --no-warn-ignored --max-warnings 0" }, "pnpm": { "overrides": { diff --git a/apps/docs/source.config.ts b/apps/docs/source.config.ts new file mode 100644 index 0000000..719c392 --- /dev/null +++ b/apps/docs/source.config.ts @@ -0,0 +1,19 @@ +import { metaSchema, pageSchema } from "fumadocs-core/source/schema" +import { defineConfig, defineDocs } from "fumadocs-mdx/config" + +export const docs = defineDocs({ + dir: "content/docs", + docs: { + schema: pageSchema, + postprocess: { + includeProcessedMarkdown: true, + }, + }, + meta: { + schema: metaSchema, + }, +}) + +export default defineConfig({ + mdxOptions: {}, +}) diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json index d8b9323..ba04432 100644 --- a/apps/docs/tsconfig.json +++ b/apps/docs/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { - "target": "ES2017", - "lib": ["dom", "dom.iterable", "esnext"], + "target": "ESNext", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -19,9 +23,22 @@ } ], "paths": { - "@/*": ["./*"] + "@/*": [ + "./*" + ], + "fumadocs-mdx:collections/*": [ + "./.source/*" + ] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6cd8842..1c75fc7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,12 +14,15 @@ importers: apps/docs: dependencies: + '@orama/orama': + specifier: ^3.1.18 + version: 3.1.18 '@radix-ui/react-label': specifier: ^2.1.7 - version: 2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@radix-ui/react-slot': specifier: ^1.2.3 - version: 1.2.3(@types/react@19.1.2)(react@19.1.0) + version: 1.2.3(@types/react@19.2.14)(react@19.2.4) '@tailwindcss/typography': specifier: ^0.5.19 version: 0.5.19(tailwindcss@4.1.11) @@ -35,36 +38,51 @@ importers: diff: specifier: ^8.0.4 version: 8.0.4 + fumadocs-core: + specifier: ^16.6.16 + version: 16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6) + fumadocs-mdx: + specifier: ^14.2.9 + version: 14.2.9(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4) + fumadocs-ui: + specifier: npm:@fumadocs/base-ui@^16.6.16 + version: '@fumadocs/base-ui@16.6.16(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.11)' lucide-react: specifier: ^0.487.0 - version: 0.487.0(react@19.1.0) + version: 0.487.0(react@19.2.4) motion: specifier: ^12.36.0 - version: 12.36.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 12.36.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 15.5.9 - version: 15.5.9(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 16.2.1 + version: 16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) radix-ui: specifier: ^1.4.3 - version: 1.4.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: - specifier: 19.1.0 - version: 19.1.0 + specifier: 19.2.4 + version: 19.2.4 react-dom: - specifier: 19.1.0 - version: 19.1.0(react@19.1.0) + specifier: 19.2.4 + version: 19.2.4(react@19.2.4) + rimraf: + specifier: ^6.1.3 + version: 6.1.3 shadcn: specifier: ^3.0.0 - version: 3.0.0(@types/node@20.19.9)(typescript@5.9.2) + version: 3.0.0(@types/node@25.5.0)(typescript@6.0.2) shiki: specifier: ^4.0.2 version: 4.0.2 tailwind-merge: specifier: ^3.3.1 version: 3.3.1 + ts-morph: + specifier: ^27.0.2 + version: 27.0.2 tw-animate-css: specifier: ^1.3.6 version: 1.3.6 @@ -72,8 +90,8 @@ importers: specifier: ^0.1.2 version: 0.1.2 zod: - specifier: ^3.25.76 - version: 3.25.76 + specifier: ^4.3.6 + version: 4.3.6 devDependencies: '@eslint/eslintrc': specifier: ^3.3.1 @@ -82,20 +100,20 @@ importers: specifier: ^4.1.11 version: 4.1.11 '@types/node': - specifier: ^20.19.9 - version: 20.19.9 + specifier: ^25.5.0 + version: 25.5.0 '@types/react': - specifier: 19.1.2 - version: 19.1.2 + specifier: 19.2.14 + version: 19.2.14 '@types/react-dom': - specifier: 19.1.2 - version: 19.1.2(@types/react@19.1.2) + specifier: 19.2.3 + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.32.0 version: 9.32.0(jiti@2.5.1) eslint-config-next: specifier: 15.3.1 - version: 15.3.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + version: 15.3.1(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) html2canvas-pro: specifier: ^2.0.2 version: 2.0.2 @@ -112,8 +130,8 @@ importers: specifier: ^4.21.0 version: 4.21.0 typescript: - specifier: ^5.9.2 - version: 5.9.2 + specifier: ^6.0.2 + version: 6.0.2 packages/config: {} @@ -230,6 +248,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} @@ -242,6 +264,27 @@ packages: resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} engines: {node: '>=6.9.0'} + '@base-ui/react@1.3.0': + resolution: {integrity: sha512-FwpKqZbPz14AITp1CVgf4AjhKPe1OeeVKSBMdgD10zbFlj3QSWelmtCMLi2+/PFZZcIm3l87G7rwtCZJwHyXWA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true + + '@base-ui/utils@0.2.6': + resolution: {integrity: sha512-yQ+qeuqohwhsNpoYDqqXaLllYAkPCP4vYdDrVo8FQXaAPfHWm1pG/Vm+jmGTA5JFS0BAIjookyapuJFY8F9PIw==} + peerDependencies: + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true + '@bundled-es-modules/cookie@2.0.1': resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} @@ -267,6 +310,9 @@ packages: '@emnapi/runtime@1.4.5': resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@emnapi/runtime@1.9.1': + resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/wasi-threads@1.0.4': resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} @@ -479,6 +525,40 @@ packages: '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + '@formatjs/fast-memoize@3.1.1': + resolution: {integrity: sha512-CbNbf+tlJn1baRnPkNePnBqTLxGliG6DDgNa/UtV66abwIjwsliPMOt0172tzxABYzSuxZBZfcp//qI8AvBWPg==} + + '@formatjs/intl-localematcher@0.8.2': + resolution: {integrity: sha512-q05KMYGJLyqFNFtIb8NhWLF5X3aK/k0wYt7dnRFuy6aLQL+vUwQ1cg5cO4qawEiINybeCPXAWlprY2mSBjSXAQ==} + + '@fumadocs/base-ui@16.6.16': + resolution: {integrity: sha512-TO+3gWvnoIsF4B4iNBLn3wEN/CNJMbWgiTZJ2+koJNf/c8CS0KYpp9UxO4DM9vYoFYIjRwa2kgxvhKHQcQA6mQ==} + peerDependencies: + '@takumi-rs/image-response': '*' + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: 16.6.16 + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + peerDependenciesMeta: + '@takumi-rs/image-response': + optional: true + '@types/mdx': + optional: true + '@types/react': + optional: true + next: + optional: true + + '@fumadocs/tailwind@0.0.3': + resolution: {integrity: sha512-/FWcggMz9BhoX+13xBoZLX+XX9mYvJ50dkTqy3IfocJqua65ExcsKfxwKH8hgTO3vA5KnWv4+4jU7LaW2AjAmQ==} + peerDependencies: + tailwindcss: ^4.0.0 + peerDependenciesMeta: + tailwindcss: + optional: true + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -499,138 +579,155 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@img/sharp-darwin-arm64@0.34.3': - resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==} + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.34.3': - resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==} + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.2.0': - resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==} + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.2.0': - resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==} + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.2.0': - resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==} + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-arm@1.2.0': - resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==} + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.2.0': - resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==} + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.2.0': - resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==} + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-x64@1.2.0': - resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==} + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.2.0': - resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==} + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.2.0': - resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==} + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-linux-arm64@0.34.3': - resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==} + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-linux-arm@0.34.3': - resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==} + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-linux-ppc64@0.34.3': - resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==} + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-linux-s390x@0.34.3': - resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==} + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-linux-x64@0.34.3': - resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==} + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.34.3': - resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==} + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-linuxmusl-x64@0.34.3': - resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==} + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-wasm32@0.34.3': - resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==} + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] - '@img/sharp-win32-arm64@0.34.3': - resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==} + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] - '@img/sharp-win32-ia32@0.34.3': - resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==} + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.34.3': - resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==} + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] @@ -691,6 +788,9 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@modelcontextprotocol/sdk@1.17.4': resolution: {integrity: sha512-zq24hfuAmmlNZvik0FLI58uE5sriN0WWsQzIlYnzSuKDAHFqJtBFrl/LfB1NLgJT5Y7dEBzaX4yAKqOPrcetaw==} engines: {node: '>=18'} @@ -702,60 +802,60 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@next/env@15.5.9': - resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==} + '@next/env@16.2.1': + resolution: {integrity: sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==} '@next/eslint-plugin-next@15.3.1': resolution: {integrity: sha512-oEs4dsfM6iyER3jTzMm4kDSbrQJq8wZw5fmT6fg2V3SMo+kgG+cShzLfEV20senZzv8VF+puNLheiGPlBGsv2A==} - '@next/swc-darwin-arm64@15.5.7': - resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==} + '@next/swc-darwin-arm64@16.2.1': + resolution: {integrity: sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.5.7': - resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==} + '@next/swc-darwin-x64@16.2.1': + resolution: {integrity: sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.5.7': - resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==} + '@next/swc-linux-arm64-gnu@16.2.1': + resolution: {integrity: sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@15.5.7': - resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==} + '@next/swc-linux-arm64-musl@16.2.1': + resolution: {integrity: sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@15.5.7': - resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==} + '@next/swc-linux-x64-gnu@16.2.1': + resolution: {integrity: sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@15.5.7': - resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==} + '@next/swc-linux-x64-musl@16.2.1': + resolution: {integrity: sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@15.5.7': - resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==} + '@next/swc-win32-arm64-msvc@16.2.1': + resolution: {integrity: sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.5.7': - resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==} + '@next/swc-win32-x64-msvc@16.2.1': + resolution: {integrity: sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -801,6 +901,10 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} + '@orama/orama@3.1.18': + resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} + engines: {node: '>= 20.0.0'} + '@radix-ui/number@1.1.1': resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} @@ -1520,10 +1624,18 @@ packages: resolution: {integrity: sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==} engines: {node: '>=20'} + '@shikijs/rehype@4.0.2': + resolution: {integrity: sha512-cmPlKLD8JeojasNFoY64162ScpEdEdQUMuVodPCrv1nx1z3bjmGwoKWDruQWa/ejSznImlaeB0Ty6Q3zPaVQAA==} + engines: {node: '>=20'} + '@shikijs/themes@4.0.2': resolution: {integrity: sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==} engines: {node: '>=20'} + '@shikijs/transformers@4.0.2': + resolution: {integrity: sha512-1+L0gf9v+SdDXs08vjaLb3mBFa8U7u37cwcBQIv/HCocLwX69Tt6LpUCjtB+UUTvQxI7BnjZKhN/wMjhHBcJGg==} + engines: {node: '>=20'} + '@shikijs/types@4.0.2': resolution: {integrity: sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==} engines: {node: '>=20'} @@ -1535,6 +1647,9 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -1638,6 +1753,9 @@ packages: '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} + '@ts-morph/common@0.28.1': + resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} + '@turbo/darwin-64@2.8.21': resolution: {integrity: sha512-kfGoM0Iw8ZNZpbds+4IzOe0hjvHldqJwUPRAjXJi3KBxg/QOZL95N893SRoMtf2aJ+jJ3dk32yPkp8rvcIjP9g==} cpu: [x64] @@ -1674,6 +1792,12 @@ packages: '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1692,16 +1816,19 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/node@20.19.9': - resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@25.5.0': + resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} - '@types/react-dom@19.1.2': - resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==} + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: - '@types/react': ^19.0.0 + '@types/react': ^19.2.0 - '@types/react@19.1.2': - resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==} + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} '@types/statuses@2.0.6': resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} @@ -1709,6 +1836,9 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1976,6 +2106,10 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -1992,13 +2126,25 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + base64-arraybuffer@1.0.2: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} engines: {node: '>= 0.6.0'} + baseline-browser-mapping@2.10.12: + resolution: {integrity: sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ==} + engines: {node: '>=6.0.0'} + hasBin: true + body-parser@2.2.0: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} @@ -2009,6 +2155,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -2058,6 +2208,16 @@ packages: character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -2095,6 +2255,9 @@ packages: code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2102,13 +2265,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -2123,6 +2279,9 @@ packages: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2170,8 +2329,8 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -2209,6 +2368,9 @@ packages: supports-color: optional: true + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + dedent@1.6.0: resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} peerDependencies: @@ -2244,6 +2406,10 @@ packages: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -2293,6 +2459,10 @@ packages: resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -2336,6 +2506,12 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + esbuild@0.27.4: resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} engines: {node: '>=18'} @@ -2352,6 +2528,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + eslint-config-next@15.3.1: resolution: {integrity: sha512-GnmyVd9TE/Ihe3RrvcafFhXErErtr2jS0JDeCSp3vWvy86AXwHsRBt0E3MqP/m8ACS1ivcsi5uaqjbhsG18qKw==} peerDependencies: @@ -2469,6 +2649,30 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.5.0: + resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -2506,6 +2710,9 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2534,6 +2741,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -2591,6 +2807,20 @@ packages: react-dom: optional: true + framer-motion@12.38.0: + resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -2604,6 +2834,96 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + fumadocs-core@16.6.16: + resolution: {integrity: sha512-OC5VRAgXDZWpmuaix6TiUlqEyfhLjqnqkQuSqFnbf5Ge4w43I4qlxACxPS7Eq7aE+pPhpqTecQSQIH8KNouLXA==} + peerDependencies: + '@mdx-js/mdx': '*' + '@mixedbread/sdk': ^0.46.0 + '@orama/core': 1.x.x + '@oramacloud/client': 2.x.x + '@tanstack/react-router': 1.x.x + '@types/estree-jsx': '*' + '@types/hast': '*' + '@types/mdast': '*' + '@types/react': '*' + algoliasearch: 5.x.x + flexsearch: '*' + lucide-react: '*' + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + react-router: 7.x.x + waku: ^0.26.0 || ^0.27.0 || ^1.0.0 + zod: 4.x.x + peerDependenciesMeta: + '@mdx-js/mdx': + optional: true + '@mixedbread/sdk': + optional: true + '@orama/core': + optional: true + '@oramacloud/client': + optional: true + '@tanstack/react-router': + optional: true + '@types/estree-jsx': + optional: true + '@types/hast': + optional: true + '@types/mdast': + optional: true + '@types/react': + optional: true + algoliasearch: + optional: true + flexsearch: + optional: true + lucide-react: + optional: true + next: + optional: true + react: + optional: true + react-dom: + optional: true + react-router: + optional: true + waku: + optional: true + zod: + optional: true + + fumadocs-mdx@14.2.9: + resolution: {integrity: sha512-5QbFj3KyNgojjpUsD5Xw2W+ofN9l1WiIxzthwFzGoHOLIoJkdCN4AjHcINC+YSo89d/oZlradrrKRd3uHwVKBA==} + hasBin: true + peerDependencies: + '@fumadocs/mdx-remote': ^1.4.0 + '@types/mdast': '*' + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: ^15.0.0 || ^16.0.0 + mdast-util-directive: '*' + next: ^15.3.0 || ^16.0.0 + react: '*' + vite: 6.x.x || 7.x.x + peerDependenciesMeta: + '@fumadocs/mdx-remote': + optional: true + '@types/mdast': + optional: true + '@types/mdx': + optional: true + '@types/react': + optional: true + mdast-util-directive: + optional: true + next: + optional: true + react: + optional: true + vite: + optional: true + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -2663,6 +2983,9 @@ packages: get-tsconfig@4.10.1: resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2671,6 +2994,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2720,12 +3047,36 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + headers-polyfill@4.0.3: resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} @@ -2769,6 +3120,11 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2780,6 +3136,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -2788,6 +3147,12 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} @@ -2795,9 +3160,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.1.1: resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} @@ -2829,6 +3191,9 @@ packages: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2853,6 +3218,9 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} @@ -2968,6 +3336,10 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -3118,10 +3490,17 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lru-cache@11.2.7: + resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -3130,16 +3509,73 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lucide-react@0.577.0: + resolution: {integrity: sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-to-hast@13.2.1: resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} @@ -3155,21 +3591,111 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + micromark-util-character@2.1.1: resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + micromark-util-encode@2.0.1: resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} micromark-util-types@2.0.2: resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -3194,6 +3720,10 @@ packages: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3208,6 +3738,10 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + minizlib@3.0.2: resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} engines: {node: '>= 18'} @@ -3220,6 +3754,9 @@ packages: motion-dom@12.36.0: resolution: {integrity: sha512-Ep1pq8P88rGJ75om8lTCA13zqd7ywPGwCqwuWwin6BKc0hMLkVfcS6qKlRqEo2+t0DwoUcgGJfXwaiFn4AOcQA==} + motion-dom@12.38.0: + resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} + motion-utils@12.36.0: resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} @@ -3237,6 +3774,20 @@ packages: react-dom: optional: true + motion@12.38.0: + resolution: {integrity: sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -3277,9 +3828,9 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@15.5.9: - resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==} - engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + next@16.2.1: + resolution: {integrity: sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==} + engines: {node: '>=20.9.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 @@ -3318,6 +3869,10 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} + npm-to-yarn@3.0.1: + resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -3398,6 +3953,9 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@1.3.0: resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} @@ -3405,6 +3963,9 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -3413,6 +3974,9 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -3435,6 +3999,10 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} + path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} @@ -3442,6 +4010,9 @@ packages: resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} engines: {node: '>=16'} + path-to-regexp@8.4.0: + resolution: {integrity: sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3465,6 +4036,10 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -3533,14 +4108,20 @@ packages: resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} engines: {node: '>= 0.8'} - react-dom@19.1.0: - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@19.2.4: + resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: - react: ^19.1.0 + react: ^19.2.4 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-medium-image-zoom@5.4.1: + resolution: {integrity: sha512-DD2iZYaCfAwiQGR8AN62r/cDJYoXhezlYJc5HY4TzBUGuGge43CptG0f7m0PEIM72aN6GfpjohvY1yYdtCJB7g==} + 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 + react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -3571,16 +4152,34 @@ packages: '@types/react': optional: true - react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@19.2.4: + resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + recast@0.23.11: resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} regex-recursion@6.0.2: @@ -3596,6 +4195,30 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3603,6 +4226,9 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + reselect@5.1.1: + resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3630,6 +4256,11 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@6.1.3: + resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} + engines: {node: 20 || >=22} + hasBin: true + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -3655,8 +4286,11 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.26.0: - resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3667,6 +4301,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + send@1.2.0: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} @@ -3694,8 +4333,8 @@ packages: resolution: {integrity: sha512-GhMwMwcxR3GpDO2ctocvyetQ7BJAxSakaznBtYM/1mPRTjN0I0TAZCGSXdfj0VXOW4PaHbFEHsyUCnFcEf/1Ag==} hasBin: true - sharp@0.34.3: - resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==} + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: @@ -3733,9 +4372,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -3755,6 +4391,10 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -3850,6 +4490,12 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + styled-jsx@5.1.6: resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} @@ -3871,9 +4517,15 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + tailwind-merge@3.3.1: resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} + tailwind-merge@3.5.0: + resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} + tailwindcss@4.1.11: resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} @@ -3896,10 +4548,18 @@ packages: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} + tinyexec@1.0.4: + resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + engines: {node: '>=18'} + tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -3915,6 +4575,9 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -3924,6 +4587,9 @@ packages: ts-morph@26.0.0: resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==} + ts-morph@27.0.2: + resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -3978,8 +4644,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@6.0.2: + resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} engines: {node: '>=14.17'} hasBin: true @@ -3987,19 +4653,28 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -4074,12 +4749,18 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -4173,6 +4854,9 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4331,6 +5015,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/runtime@7.29.2': {} + '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 @@ -4354,6 +5040,30 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@base-ui/react@1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.29.2 + '@base-ui/utils': 0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@floating-ui/utils': 0.2.11 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + tabbable: 6.4.0 + use-sync-external-store: 1.6.0(react@19.2.4) + optionalDependencies: + '@types/react': 19.2.14 + + '@base-ui/utils@0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.29.2 + '@floating-ui/utils': 0.2.11 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + reselect: 5.1.1 + use-sync-external-store: 1.6.0(react@19.2.4) + optionalDependencies: + '@types/react': 19.2.14 + '@bundled-es-modules/cookie@2.0.1': dependencies: cookie: 0.7.2 @@ -4394,6 +5104,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.9.1': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.0.4': dependencies: tslib: 2.8.1 @@ -4530,14 +5245,51 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@floating-ui/dom': 1.7.6 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) '@floating-ui/utils@0.2.11': {} + '@formatjs/fast-memoize@3.1.1': {} + + '@formatjs/intl-localematcher@0.8.2': + dependencies: + '@formatjs/fast-memoize': 3.1.1 + + '@fumadocs/base-ui@16.6.16(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.1.11)': + dependencies: + '@base-ui/react': 1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@fumadocs/tailwind': 0.0.3(tailwindcss@4.1.11) + class-variance-authority: 0.7.1 + fumadocs-core: 16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6) + lucide-react: 0.577.0(react@19.2.4) + motion: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + next-themes: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-medium-image-zoom: 5.4.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) + rehype-raw: 7.0.0 + scroll-into-view-if-needed: 3.1.0 + tailwind-merge: 3.5.0 + unist-util-visit: 5.1.0 + optionalDependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.2.14 + next: 16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + transitivePeerDependencies: + - '@emotion/is-prop-valid' + - tailwindcss + + '@fumadocs/tailwind@0.0.3(tailwindcss@4.1.11)': + dependencies: + postcss-selector-parser: 7.1.1 + optionalDependencies: + tailwindcss: 4.1.11 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4551,103 +5303,114 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@img/sharp-darwin-arm64@0.34.3': + '@img/colour@1.1.0': + optional: true + + '@img/sharp-darwin-arm64@0.34.5': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.2.0 + '@img/sharp-libvips-darwin-arm64': 1.2.4 optional: true - '@img/sharp-darwin-x64@0.34.3': + '@img/sharp-darwin-x64@0.34.5': optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.2.0 + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.4': optional: true - '@img/sharp-libvips-darwin-arm64@1.2.0': + '@img/sharp-libvips-darwin-x64@1.2.4': optional: true - '@img/sharp-libvips-darwin-x64@1.2.0': + '@img/sharp-libvips-linux-arm64@1.2.4': optional: true - '@img/sharp-libvips-linux-arm64@1.2.0': + '@img/sharp-libvips-linux-arm@1.2.4': optional: true - '@img/sharp-libvips-linux-arm@1.2.0': + '@img/sharp-libvips-linux-ppc64@1.2.4': optional: true - '@img/sharp-libvips-linux-ppc64@1.2.0': + '@img/sharp-libvips-linux-riscv64@1.2.4': optional: true - '@img/sharp-libvips-linux-s390x@1.2.0': + '@img/sharp-libvips-linux-s390x@1.2.4': optional: true - '@img/sharp-libvips-linux-x64@1.2.0': + '@img/sharp-libvips-linux-x64@1.2.4': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.2.0': + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.2.0': + '@img/sharp-libvips-linuxmusl-x64@1.2.4': optional: true - '@img/sharp-linux-arm64@0.34.3': + '@img/sharp-linux-arm64@0.34.5': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.2.0 + '@img/sharp-libvips-linux-arm64': 1.2.4 optional: true - '@img/sharp-linux-arm@0.34.3': + '@img/sharp-linux-arm@0.34.5': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.2.0 + '@img/sharp-libvips-linux-arm': 1.2.4 optional: true - '@img/sharp-linux-ppc64@0.34.3': + '@img/sharp-linux-ppc64@0.34.5': optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.2.0 + '@img/sharp-libvips-linux-ppc64': 1.2.4 optional: true - '@img/sharp-linux-s390x@0.34.3': + '@img/sharp-linux-riscv64@0.34.5': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.2.0 + '@img/sharp-libvips-linux-riscv64': 1.2.4 optional: true - '@img/sharp-linux-x64@0.34.3': + '@img/sharp-linux-s390x@0.34.5': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.2.0 + '@img/sharp-libvips-linux-s390x': 1.2.4 optional: true - '@img/sharp-linuxmusl-arm64@0.34.3': + '@img/sharp-linux-x64@0.34.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 + '@img/sharp-libvips-linux-x64': 1.2.4 optional: true - '@img/sharp-linuxmusl-x64@0.34.3': + '@img/sharp-linuxmusl-arm64@0.34.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.2.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 optional: true - '@img/sharp-wasm32@0.34.3': + '@img/sharp-linuxmusl-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + optional: true + + '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.4.5 + '@emnapi/runtime': 1.9.1 optional: true - '@img/sharp-win32-arm64@0.34.3': + '@img/sharp-win32-arm64@0.34.5': optional: true - '@img/sharp-win32-ia32@0.34.3': + '@img/sharp-win32-ia32@0.34.5': optional: true - '@img/sharp-win32-x64@0.34.3': + '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/confirm@5.1.14(@types/node@20.19.9)': + '@inquirer/confirm@5.1.14(@types/node@25.5.0)': dependencies: - '@inquirer/core': 10.1.15(@types/node@20.19.9) - '@inquirer/type': 3.0.8(@types/node@20.19.9) + '@inquirer/core': 10.1.15(@types/node@25.5.0) + '@inquirer/type': 3.0.8(@types/node@25.5.0) optionalDependencies: - '@types/node': 20.19.9 + '@types/node': 25.5.0 - '@inquirer/core@10.1.15(@types/node@20.19.9)': + '@inquirer/core@10.1.15(@types/node@25.5.0)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@20.19.9) + '@inquirer/type': 3.0.8(@types/node@25.5.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -4655,13 +5418,13 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 20.19.9 + '@types/node': 25.5.0 '@inquirer/figures@1.0.13': {} - '@inquirer/type@3.0.8(@types/node@20.19.9)': + '@inquirer/type@3.0.8(@types/node@25.5.0)': optionalDependencies: - '@types/node': 20.19.9 + '@types/node': 25.5.0 '@isaacs/balanced-match@4.0.1': {} @@ -4687,6 +5450,36 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@mdx-js/mdx@3.1.1': + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + acorn: 8.15.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + '@modelcontextprotocol/sdk@1.17.4': dependencies: ajv: 6.12.6 @@ -4720,34 +5513,34 @@ snapshots: '@tybys/wasm-util': 0.10.0 optional: true - '@next/env@15.5.9': {} + '@next/env@16.2.1': {} '@next/eslint-plugin-next@15.3.1': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.5.7': + '@next/swc-darwin-arm64@16.2.1': optional: true - '@next/swc-darwin-x64@15.5.7': + '@next/swc-darwin-x64@16.2.1': optional: true - '@next/swc-linux-arm64-gnu@15.5.7': + '@next/swc-linux-arm64-gnu@16.2.1': optional: true - '@next/swc-linux-arm64-musl@15.5.7': + '@next/swc-linux-arm64-musl@16.2.1': optional: true - '@next/swc-linux-x64-gnu@15.5.7': + '@next/swc-linux-x64-gnu@16.2.1': optional: true - '@next/swc-linux-x64-musl@15.5.7': + '@next/swc-linux-x64-musl@16.2.1': optional: true - '@next/swc-win32-arm64-msvc@15.5.7': + '@next/swc-win32-arm64-msvc@16.2.1': optional: true - '@next/swc-win32-x64-msvc@15.5.7': + '@next/swc-win32-x64-msvc@16.2.1': optional: true '@noble/ciphers@1.3.0': {} @@ -4784,750 +5577,752 @@ snapshots: '@opentelemetry/api@1.9.0': optional: true + '@orama/orama@3.1.18': {} + '@radix-ui/number@1.1.1': {} '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) - - '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-context@1.1.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) aria-hidden: 1.2.6 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.7.2(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-direction@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-form@0.1.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-form@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-label': 2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-id@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-label@2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) aria-hidden: 1.2.6 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.7.2(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-menubar@1.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-menubar@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-password-toggle-field@0.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-password-toggle-field@0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) aria-hidden: 1.2.6 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.7.2(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@floating-ui/react-dom': 2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) '@radix-ui/rect': 1.1.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-progress@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) aria-hidden: 1.2.6 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.7.2(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-separator@1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-slider@1.3.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-slot@1.2.3(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-toast@1.2.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 - use-sync-external-store: 1.6.0(react@19.1.0) + react: 19.2.4 + use-sync-external-store: 1.6.0(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: '@radix-ui/rect': 1.1.1 - react: 19.1.0 + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-use-size@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.4)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - react: 19.1.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + react: 19.2.4 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) '@radix-ui/rect@1.1.1': {} @@ -5566,10 +6361,24 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + '@shikijs/rehype@4.0.2': + dependencies: + '@shikijs/types': 4.0.2 + '@types/hast': 3.0.4 + hast-util-to-string: 3.0.1 + shiki: 4.0.2 + unified: 11.0.5 + unist-util-visit: 5.1.0 + '@shikijs/themes@4.0.2': dependencies: '@shikijs/types': 4.0.2 + '@shikijs/transformers@4.0.2': + dependencies: + '@shikijs/core': 4.0.2 + '@shikijs/types': 4.0.2 + '@shikijs/types@4.0.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 @@ -5579,6 +6388,8 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} + '@standard-schema/spec@1.1.0': {} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -5666,6 +6477,12 @@ snapshots: minimatch: 10.0.3 path-browserify: 1.0.1 + '@ts-morph/common@0.28.1': + dependencies: + minimatch: 10.0.3 + path-browserify: 1.0.1 + tinyglobby: 0.2.15 + '@turbo/darwin-64@2.8.21': optional: true @@ -5691,6 +6508,14 @@ snapshots: '@types/cookie@0.6.0': {} + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.8 + '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -5707,59 +6532,63 @@ snapshots: '@types/mdx@2.0.13': {} - '@types/node@20.19.9': + '@types/ms@2.1.0': {} + + '@types/node@25.5.0': dependencies: - undici-types: 6.21.0 + undici-types: 7.18.2 - '@types/react-dom@19.1.2(@types/react@19.1.2)': + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - '@types/react@19.1.2': + '@types/react@19.2.14': dependencies: - csstype: 3.1.3 + csstype: 3.2.3 '@types/statuses@2.0.6': {} '@types/tough-cookie@4.0.5': {} + '@types/unist@2.0.11': {} + '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) '@typescript-eslint/scope-manager': 8.39.0 - '@typescript-eslint/type-utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) '@typescript-eslint/visitor-keys': 8.39.0 eslint: 9.32.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@6.0.2) + typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2)': dependencies: '@typescript-eslint/scope-manager': 8.39.0 '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.39.0(typescript@6.0.2) '@typescript-eslint/visitor-keys': 8.39.0 debug: 4.4.1 eslint: 9.32.0(jiti@2.5.1) - typescript: 5.9.2 + typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.39.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.39.0(typescript@6.0.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@6.0.2) '@typescript-eslint/types': 8.39.0 debug: 4.4.1 - typescript: 5.9.2 + typescript: 6.0.2 transitivePeerDependencies: - supports-color @@ -5768,28 +6597,28 @@ snapshots: '@typescript-eslint/types': 8.39.0 '@typescript-eslint/visitor-keys': 8.39.0 - '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.39.0(typescript@6.0.2)': dependencies: - typescript: 5.9.2 + typescript: 6.0.2 - '@typescript-eslint/type-utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2)': dependencies: '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.39.0(typescript@6.0.2) + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) debug: 4.4.1 eslint: 9.32.0(jiti@2.5.1) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@6.0.2) + typescript: 6.0.2 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.39.0': {} - '@typescript-eslint/typescript-estree@8.39.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.39.0(typescript@6.0.2)': dependencies: - '@typescript-eslint/project-service': 8.39.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2) + '@typescript-eslint/project-service': 8.39.0(typescript@6.0.2) + '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@6.0.2) '@typescript-eslint/types': 8.39.0 '@typescript-eslint/visitor-keys': 8.39.0 debug: 4.4.1 @@ -5797,19 +6626,19 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@6.0.2) + typescript: 6.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.39.0 '@typescript-eslint/types': 8.39.0 - '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.39.0(typescript@6.0.2) eslint: 9.32.0(jiti@2.5.1) - typescript: 5.9.2 + typescript: 6.0.2 transitivePeerDependencies: - supports-color @@ -6000,6 +6829,8 @@ snapshots: dependencies: tslib: 2.8.1 + astring@1.9.0: {} + async-function@1.0.0: {} available-typed-arrays@1.0.7: @@ -6010,10 +6841,16 @@ snapshots: axobject-query@4.1.0: {} + bail@2.0.2: {} + balanced-match@1.0.2: {} + balanced-match@4.0.4: {} + base64-arraybuffer@1.0.2: {} + baseline-browser-mapping@2.10.12: {} + body-parser@2.2.0: dependencies: bytes: 3.1.2 @@ -6037,6 +6874,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.5: + dependencies: + balanced-match: 4.0.4 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -6084,6 +6925,14 @@ snapshots: character-entities-legacy@3.0.0: {} + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@5.0.0: + dependencies: + readdirp: 5.0.0 + chownr@3.0.0: {} class-variance-authority@0.7.1: @@ -6115,24 +6964,14 @@ snapshots: code-block-writer@13.0.3: {} + collapse-white-space@2.1.0: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - optional: true - - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - optional: true - colorette@2.0.20: {} comma-separated-tokens@2.0.3: {} @@ -6141,6 +6980,8 @@ snapshots: commander@14.0.3: {} + compute-scroll-into-view@3.1.1: {} + concat-map@0.0.1: {} content-disposition@1.0.0: @@ -6160,14 +7001,14 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@9.0.0(typescript@5.9.2): + cosmiconfig@9.0.0(typescript@6.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.2 + typescript: 6.0.2 cross-spawn@7.0.6: dependencies: @@ -6181,7 +7022,7 @@ snapshots: cssesc@3.0.0: {} - csstype@3.1.3: {} + csstype@3.2.3: {} damerau-levenshtein@1.0.8: {} @@ -6213,6 +7054,10 @@ snapshots: dependencies: ms: 2.1.3 + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + dedent@1.6.0: {} deep-is@0.1.4: {} @@ -6237,6 +7082,9 @@ snapshots: detect-libc@2.0.4: {} + detect-libc@2.1.2: + optional: true + detect-node-es@1.1.0: {} devlop@1.1.0: @@ -6281,6 +7129,8 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.2 + entities@6.0.1: {} + env-paths@2.2.1: {} environment@1.1.0: {} @@ -6390,6 +7240,20 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + esbuild@0.27.4: optionalDependencies: '@esbuild/aix-ppc64': 0.27.4 @@ -6425,21 +7289,23 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@15.3.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2): + escape-string-regexp@5.0.0: {} + + eslint-config-next@15.3.1(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2): dependencies: '@next/eslint-plugin-next': 15.3.1 '@rushstack/eslint-patch': 1.12.0 - '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.32.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.32.0(jiti@2.5.1)) optionalDependencies: - typescript: 5.9.2 + typescript: 6.0.2 transitivePeerDependencies: - eslint-import-resolver-webpack - eslint-plugin-import-x @@ -6464,22 +7330,22 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.32.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -6490,7 +7356,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.32.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -6502,7 +7368,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@6.0.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6622,6 +7488,43 @@ snapshots: estraverse@5.3.0: {} + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-value-to-estree@3.5.0: + dependencies: + '@types/estree': 1.0.8 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + esutils@2.0.3: {} etag@1.8.1: {} @@ -6697,6 +7600,8 @@ snapshots: transitivePeerDependencies: - supports-color + extend@3.0.2: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.1: @@ -6727,6 +7632,10 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -6777,14 +7686,23 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.36.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + framer-motion@12.36.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: motion-dom: 12.36.0 motion-utils: 12.36.0 tslib: 2.8.1 optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + framer-motion@12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + motion-dom: 12.38.0 + motion-utils: 12.36.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) fresh@2.0.0: {} @@ -6797,6 +7715,74 @@ snapshots: fsevents@2.3.3: optional: true + fumadocs-core@16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6): + dependencies: + '@formatjs/intl-localematcher': 0.8.2 + '@orama/orama': 3.1.18 + '@shikijs/rehype': 4.0.2 + '@shikijs/transformers': 4.0.2 + estree-util-value-to-estree: 3.5.0 + github-slugger: 2.0.0 + hast-util-to-estree: 3.1.3 + hast-util-to-jsx-runtime: 2.3.6 + image-size: 2.0.2 + mdast-util-mdx: 3.0.0 + mdast-util-to-markdown: 2.1.2 + negotiator: 1.0.0 + npm-to-yarn: 3.0.1 + path-to-regexp: 8.4.0 + remark: 15.0.1 + remark-gfm: 4.0.1 + remark-rehype: 11.1.2 + scroll-into-view-if-needed: 3.1.0 + shiki: 4.0.2 + tinyglobby: 0.2.15 + unified: 11.0.5 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + optionalDependencies: + '@mdx-js/mdx': 3.1.1 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/react': 19.2.14 + lucide-react: 0.487.0(react@19.2.4) + next: 16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + zod: 4.3.6 + transitivePeerDependencies: + - supports-color + + fumadocs-mdx@14.2.9(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.14)(fumadocs-core@16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4): + dependencies: + '@mdx-js/mdx': 3.1.1 + '@standard-schema/spec': 1.1.0 + chokidar: 5.0.0 + esbuild: 0.27.4 + estree-util-value-to-estree: 3.5.0 + fumadocs-core: 16.6.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.14)(lucide-react@0.487.0(react@19.2.4))(next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(zod@4.3.6) + js-yaml: 4.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-markdown: 2.1.2 + picocolors: 1.1.1 + picomatch: 4.0.3 + tinyexec: 1.0.4 + tinyglobby: 0.2.15 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + zod: 4.3.6 + optionalDependencies: + '@types/mdast': 4.0.4 + '@types/mdx': 2.0.13 + '@types/react': 19.2.14 + next: 16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + transitivePeerDependencies: + - supports-color + function-bind@1.1.2: {} function.prototype.name@1.1.8: @@ -6859,6 +7845,8 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + github-slugger@2.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6867,6 +7855,12 @@ snapshots: dependencies: is-glob: 4.0.3 + glob@13.0.6: + dependencies: + minimatch: 10.2.4 + minipass: 7.1.3 + path-scurry: 2.0.2 + globals@14.0.0: {} globalthis@1.0.4: @@ -6904,6 +7898,58 @@ snapshots: dependencies: function-bind: 1.1.2 + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 @@ -6918,20 +7964,62 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-whitespace@3.0.0: + hast-util-to-jsx-runtime@2.3.6: dependencies: + '@types/estree': 1.0.8 '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color - headers-polyfill@4.0.3: {} - - html-void-elements@3.0.0: {} - - html2canvas-pro@2.0.2: + hast-util-to-parse5@8.0.1: dependencies: - css-line-break: 2.1.0 - text-segmentation: 1.0.3 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 - http-errors@2.0.0: + hast-util-to-string@3.0.1: + dependencies: + '@types/hast': 3.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + + headers-polyfill@4.0.3: {} + + html-void-elements@3.0.0: {} + + html2canvas-pro@2.0.2: + dependencies: + css-line-break: 2.1.0 + text-segmentation: 1.0.3 + + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -6960,6 +8048,8 @@ snapshots: ignore@7.0.5: {} + image-size@2.0.2: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -6969,6 +8059,8 @@ snapshots: inherits@2.0.4: {} + inline-style-parser@0.2.7: {} + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -6977,6 +8069,13 @@ snapshots: ipaddr.js@1.9.1: {} + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 @@ -6985,9 +8084,6 @@ snapshots: is-arrayish@0.2.1: {} - is-arrayish@0.3.2: - optional: true - is-async-function@2.1.1: dependencies: async-function: 1.0.0 @@ -7026,6 +8122,8 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-decimal@2.0.1: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -7049,6 +8147,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-hexadecimal@2.0.1: {} + is-interactive@2.0.0: {} is-map@2.0.3: {} @@ -7142,6 +8242,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -7274,24 +8378,171 @@ snapshots: strip-ansi: 7.2.0 wrap-ansi: 9.0.2 + longest-streak@3.1.0: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 + lru-cache@11.2.7: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - lucide-react@0.487.0(react@19.1.0): + lucide-react@0.487.0(react@19.2.4): + dependencies: + react: 19.2.4 + + lucide-react@0.577.0(react@19.2.4): dependencies: - react: 19.1.0 + react: 19.2.4 magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.4 + markdown-extensions@2.0.0: {} + + markdown-table@3.0.4: {} + math-intrinsics@1.1.0: {} + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 @@ -7304,6 +8555,22 @@ snapshots: unist-util-visit: 5.1.0 vfile: 6.0.3 + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + media-typer@1.1.0: {} merge-descriptors@2.0.0: {} @@ -7312,23 +8579,270 @@ snapshots: merge2@1.4.1: {} + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-encode@2.0.1: {} + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + micromark-util-sanitize-uri@2.0.1: dependencies: micromark-util-character: 2.1.1 micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-util-symbol@2.0.1: {} micromark-util-types@2.0.2: {} + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.1 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -7348,6 +8862,10 @@ snapshots: dependencies: '@isaacs/brace-expansion': 5.0.0 + minimatch@10.2.4: + dependencies: + brace-expansion: 5.0.5 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.12 @@ -7360,6 +8878,8 @@ snapshots: minipass@7.1.2: {} + minipass@7.1.3: {} + minizlib@3.0.2: dependencies: minipass: 7.1.2 @@ -7370,24 +8890,36 @@ snapshots: dependencies: motion-utils: 12.36.0 + motion-dom@12.38.0: + dependencies: + motion-utils: 12.36.0 + motion-utils@12.36.0: {} - motion@12.36.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + motion@12.36.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - framer-motion: 12.36.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + framer-motion: 12.36.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) tslib: 2.8.1 optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + motion@12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + framer-motion: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + tslib: 2.8.1 + optionalDependencies: + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) ms@2.1.3: {} - msw@2.10.4(@types/node@20.19.9)(typescript@5.9.2): + msw@2.10.4(@types/node@25.5.0)(typescript@6.0.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.14(@types/node@20.19.9) + '@inquirer/confirm': 5.1.14(@types/node@25.5.0) '@mswjs/interceptors': 0.39.5 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -7403,7 +8935,7 @@ snapshots: type-fest: 4.41.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.9.2 + typescript: 6.0.2 transitivePeerDependencies: - '@types/node' @@ -7417,31 +8949,32 @@ snapshots: negotiator@1.0.0: {} - next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next-themes@0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) - next@15.5.9(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next@16.2.1(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - '@next/env': 15.5.9 + '@next/env': 16.2.1 '@swc/helpers': 0.5.15 + baseline-browser-mapping: 2.10.12 caniuse-lite: 1.0.30001731 postcss: 8.4.31 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - styled-jsx: 5.1.6(@babel/core@7.28.0)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + styled-jsx: 5.1.6(@babel/core@7.28.0)(react@19.2.4) optionalDependencies: - '@next/swc-darwin-arm64': 15.5.7 - '@next/swc-darwin-x64': 15.5.7 - '@next/swc-linux-arm64-gnu': 15.5.7 - '@next/swc-linux-arm64-musl': 15.5.7 - '@next/swc-linux-x64-gnu': 15.5.7 - '@next/swc-linux-x64-musl': 15.5.7 - '@next/swc-win32-arm64-msvc': 15.5.7 - '@next/swc-win32-x64-msvc': 15.5.7 + '@next/swc-darwin-arm64': 16.2.1 + '@next/swc-darwin-x64': 16.2.1 + '@next/swc-linux-arm64-gnu': 16.2.1 + '@next/swc-linux-arm64-musl': 16.2.1 + '@next/swc-linux-x64-gnu': 16.2.1 + '@next/swc-linux-x64-musl': 16.2.1 + '@next/swc-win32-arm64-msvc': 16.2.1 + '@next/swc-win32-x64-msvc': 16.2.1 '@opentelemetry/api': 1.9.0 - sharp: 0.34.3 + sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -7465,6 +8998,8 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 + npm-to-yarn@3.0.1: {} + object-assign@4.1.1: {} object-inspect@1.13.4: {} @@ -7570,12 +9105,24 @@ snapshots: dependencies: p-limit: 3.1.0 + package-json-from-dist@1.0.1: {} + package-manager-detector@1.3.0: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 @@ -7585,6 +9132,10 @@ snapshots: parse-ms@4.0.0: {} + parse5@7.3.0: + dependencies: + entities: 6.0.1 + parseurl@1.3.3: {} path-browserify@1.0.1: {} @@ -7597,10 +9148,17 @@ snapshots: path-parse@1.0.7: {} + path-scurry@2.0.2: + dependencies: + lru-cache: 11.2.7 + minipass: 7.1.3 + path-to-regexp@6.3.0: {} path-to-regexp@8.2.0: {} + path-to-regexp@8.4.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -7616,6 +9174,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss@8.4.31: dependencies: nanoid: 3.3.11 @@ -7666,68 +9229,68 @@ snapshots: queue-microtask@1.2.3: {} - radix-ui@1.4.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + radix-ui@1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-accessible-icon': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-alert-dialog': 1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-aspect-ratio': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-avatar': 1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context-menu': 2.2.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-form': 0.1.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-hover-card': 1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-label': 2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-menubar': 1.1.16(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-one-time-password-field': 0.1.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-password-toggle-field': 0.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-progress': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-select': 2.2.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slider': 1.3.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toast': 1.2.15(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) + '@radix-ui/react-accessible-icon': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-alert-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-aspect-ratio': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-avatar': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-context-menu': 2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-form': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-hover-card': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-menubar': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-one-time-password-field': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-password-toggle-field': 0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-progress': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-select': 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slider': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toast': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) range-parser@1.2.1: {} @@ -7738,41 +9301,48 @@ snapshots: iconv-lite: 0.6.3 unpipe: 1.0.0 - react-dom@19.1.0(react@19.1.0): + react-dom@19.2.4(react@19.2.4): dependencies: - react: 19.1.0 - scheduler: 0.26.0 + react: 19.2.4 + scheduler: 0.27.0 react-is@16.13.1: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.2)(react@19.1.0): + react-medium-image-zoom@5.4.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - react: 19.1.0 - react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.4): + dependencies: + react: 19.2.4 + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - react-remove-scroll@2.7.2(@types/react@19.1.2)(react@19.1.0): + react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.4): dependencies: - react: 19.1.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.2)(react@19.1.0) - react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) + react: 19.2.4 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.4) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.2)(react@19.1.0) - use-sidecar: 1.1.3(@types/react@19.1.2)(react@19.1.0) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.4) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.4) optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - react-style-singleton@2.2.3(@types/react@19.1.2)(react@19.1.0): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.4): dependencies: get-nonce: 1.0.1 - react: 19.1.0 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 + + react@19.2.4: {} - react@19.1.0: {} + readdirp@5.0.0: {} recast@0.23.11: dependencies: @@ -7782,6 +9352,35 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.8 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.8 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 @@ -7812,10 +9411,76 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + remark@15.0.1: + dependencies: + '@types/mdast': 4.0.4 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + require-directory@2.1.1: {} requires-port@1.0.0: {} + reselect@5.1.1: {} + resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -7841,6 +9506,11 @@ snapshots: rfdc@1.4.1: {} + rimraf@6.1.3: + dependencies: + glob: 13.0.6 + package-json-from-dist: 1.0.1 + router@2.2.0: dependencies: debug: 4.4.1 @@ -7878,12 +9548,19 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.26.0: {} + scheduler@0.27.0: {} + + scroll-into-view-if-needed@3.1.0: + dependencies: + compute-scroll-into-view: 3.1.1 semver@6.3.1: {} semver@7.7.2: {} + semver@7.7.4: + optional: true + send@1.2.0: dependencies: debug: 4.4.1 @@ -7933,7 +9610,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@3.0.0(@types/node@20.19.9)(typescript@5.9.2): + shadcn@3.0.0(@types/node@25.5.0)(typescript@6.0.2): dependencies: '@antfu/ni': 25.0.0 '@babel/core': 7.28.0 @@ -7942,7 +9619,7 @@ snapshots: '@dotenvx/dotenvx': 1.49.0 '@modelcontextprotocol/sdk': 1.17.4 commander: 14.0.3 - cosmiconfig: 9.0.0(typescript@5.9.2) + cosmiconfig: 9.0.0(typescript@6.0.2) dedent: 1.6.0 deepmerge: 4.3.1 diff: 8.0.4 @@ -7952,7 +9629,7 @@ snapshots: fuzzysort: 3.1.0 https-proxy-agent: 7.0.6 kleur: 4.1.5 - msw: 2.10.4(@types/node@20.19.9)(typescript@5.9.2) + msw: 2.10.4(@types/node@25.5.0)(typescript@6.0.2) node-fetch: 3.3.2 ora: 8.2.0 postcss: 8.5.6 @@ -7969,34 +9646,36 @@ snapshots: - supports-color - typescript - sharp@0.34.3: + sharp@0.34.5: dependencies: - color: 4.2.3 - detect-libc: 2.0.4 - semver: 7.7.2 + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.7.4 optionalDependencies: - '@img/sharp-darwin-arm64': 0.34.3 - '@img/sharp-darwin-x64': 0.34.3 - '@img/sharp-libvips-darwin-arm64': 1.2.0 - '@img/sharp-libvips-darwin-x64': 1.2.0 - '@img/sharp-libvips-linux-arm': 1.2.0 - '@img/sharp-libvips-linux-arm64': 1.2.0 - '@img/sharp-libvips-linux-ppc64': 1.2.0 - '@img/sharp-libvips-linux-s390x': 1.2.0 - '@img/sharp-libvips-linux-x64': 1.2.0 - '@img/sharp-libvips-linuxmusl-arm64': 1.2.0 - '@img/sharp-libvips-linuxmusl-x64': 1.2.0 - '@img/sharp-linux-arm': 0.34.3 - '@img/sharp-linux-arm64': 0.34.3 - '@img/sharp-linux-ppc64': 0.34.3 - '@img/sharp-linux-s390x': 0.34.3 - '@img/sharp-linux-x64': 0.34.3 - '@img/sharp-linuxmusl-arm64': 0.34.3 - '@img/sharp-linuxmusl-x64': 0.34.3 - '@img/sharp-wasm32': 0.34.3 - '@img/sharp-win32-arm64': 0.34.3 - '@img/sharp-win32-ia32': 0.34.3 - '@img/sharp-win32-x64': 0.34.3 + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 optional: true shebang-command@2.0.0: @@ -8048,11 +9727,6 @@ snapshots: signal-exit@4.1.0: {} - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - optional: true - sisteransi@1.0.5: {} slice-ansi@7.1.2: @@ -8069,6 +9743,8 @@ snapshots: source-map@0.6.1: {} + source-map@0.7.6: {} + space-separated-tokens@2.0.2: {} stable-hash@0.0.5: {} @@ -8182,10 +9858,18 @@ snapshots: strip-json-comments@3.1.1: {} - styled-jsx@5.1.6(@babel/core@7.28.0)(react@19.1.0): + style-to-js@1.1.21: + dependencies: + style-to-object: 1.0.14 + + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 + + styled-jsx@5.1.6(@babel/core@7.28.0)(react@19.2.4): dependencies: client-only: 0.0.1 - react: 19.1.0 + react: 19.2.4 optionalDependencies: '@babel/core': 7.28.0 @@ -8195,8 +9879,12 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + tabbable@6.4.0: {} + tailwind-merge@3.3.1: {} + tailwind-merge@3.5.0: {} + tailwindcss@4.1.11: {} tapable@2.2.2: {} @@ -8218,11 +9906,18 @@ snapshots: tinyexec@1.0.2: {} + tinyexec@1.0.4: {} + tinyglobby@0.2.14: dependencies: fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -8238,15 +9933,22 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@2.1.0(typescript@5.9.2): + trough@2.2.0: {} + + ts-api-utils@2.1.0(typescript@6.0.2): dependencies: - typescript: 5.9.2 + typescript: 6.0.2 ts-morph@26.0.0: dependencies: '@ts-morph/common': 0.27.0 code-block-writer: 13.0.3 + ts-morph@27.0.2: + dependencies: + '@ts-morph/common': 0.28.1 + code-block-writer: 13.0.3 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -8327,7 +10029,7 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript@5.9.2: {} + typescript@6.0.2: {} unbox-primitive@1.1.0: dependencies: @@ -8336,18 +10038,37 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@6.21.0: {} + undici-types@7.18.2: {} unicorn-magic@0.3.0: {} + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.1.0 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -8410,24 +10131,24 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-callback-ref@1.3.3(@types/react@19.1.2)(react@19.1.0): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.4): dependencies: - react: 19.1.0 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.1.2)(react@19.1.0): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.4): dependencies: detect-node-es: 1.1.0 - react: 19.1.0 + react: 19.2.4 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.2.14 - use-sync-external-store@1.6.0(react@19.1.0): + use-sync-external-store@1.6.0(react@19.2.4): dependencies: - react: 19.1.0 + react: 19.2.4 util-deprecate@1.0.2: {} @@ -8437,6 +10158,11 @@ snapshots: vary@1.1.2: {} + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -8447,6 +10173,8 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 + web-namespaces@2.0.1: {} + web-streams-polyfill@3.3.3: {} which-boxed-primitive@1.1.1: @@ -8552,4 +10280,6 @@ snapshots: zod@3.25.76: {} + zod@4.3.6: {} + zwitch@2.0.4: {} From c726ed5eb19326b9d0e5b6fc5f714ce4bae1d7d2 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:03:19 -0700 Subject: [PATCH 03/49] feat(registry): add registry index generation for ComponentPreview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 3: registry index for Fumadocs ComponentPreview, getRegistryComponent helper, build pipeline wiring. Registry stays at registry/ — zero breakage. --- .gitignore | 4 +- apps/docs/lib/registry.ts | 8 +++ apps/docs/package.json | 2 +- apps/docs/scripts/build-registry-index.ts | 64 +++++++++++++++++++++++ 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 apps/docs/scripts/build-registry-index.ts diff --git a/.gitignore b/.gitignore index ca8583c..ac0a25a 100644 --- a/.gitignore +++ b/.gitignore @@ -40,8 +40,10 @@ next-env.d.ts skills-lock.json bun.lock -# Generated preview imports +# Generated files **/components/docs/__generated__/ +**/registry/__index__.tsx +**/.source/ # lockfiles (regenerated) pnpm-lock.yaml diff --git a/apps/docs/lib/registry.ts b/apps/docs/lib/registry.ts index 77b9269..03b8bd9 100644 --- a/apps/docs/lib/registry.ts +++ b/apps/docs/lib/registry.ts @@ -1,6 +1,7 @@ import { readFileSync } from "node:fs" import { join } from "node:path" import registryData from "@/registry.json" +import { Index } from "@/registry/__index__" interface RegistryFile { path: string @@ -19,6 +20,13 @@ interface RegistryItem { files: RegistryFile[] } +/** + * Get a registry component for rendering in ComponentPreview. + */ +export function getRegistryComponent(name: string) { + return Index[name]?.component ?? null +} + /** * Look up a registry item by name. * Returns the item from `registry.json` or `null` if not found. diff --git a/apps/docs/package.json b/apps/docs/package.json index 70c065d..0f1c3ca 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -5,7 +5,7 @@ "packageManager": "pnpm@10.30.3", "scripts": { "dev": "tsx scripts/generate-preview-imports.ts && next dev", - "build": "shadcn build && tsx scripts/generate-preview-imports.ts && next build", + "build": "shadcn build && tsx scripts/build-registry-index.ts && tsx scripts/generate-preview-imports.ts && next build", "start": "next start", "lint": "eslint .", "registry:build": "shadcn build", diff --git a/apps/docs/scripts/build-registry-index.ts b/apps/docs/scripts/build-registry-index.ts new file mode 100644 index 0000000..55c1189 --- /dev/null +++ b/apps/docs/scripts/build-registry-index.ts @@ -0,0 +1,64 @@ +/** + * Generates registry/__index__.tsx from registry.json. + * + * This creates a component lookup map so ComponentPreview can render + * components by name in MDX files. Runs alongside `shadcn build`. + * + * Run: tsx scripts/build-registry-index.ts + */ + +import { readFileSync, writeFileSync } from "node:fs" +import { join } from "node:path" + +const ROOT = process.cwd() +const REGISTRY_JSON = join(ROOT, "registry.json") +const OUTPUT = join(ROOT, "registry/__index__.tsx") + +interface RegistryItem { + name: string + type: string + files: { path: string; type: string }[] +} + +const registry = JSON.parse(readFileSync(REGISTRY_JSON, "utf-8")) +const items: RegistryItem[] = registry.items + +let index = `// @ts-nocheck +// Auto-generated by scripts/build-registry-index.ts +// Do not edit manually. +import * as React from "react" + +// biome-ignore lint: autogenerated file +export const Index: Record = {` + +for (const item of items) { + if (!item.files?.length) continue + + const mainFile = item.files[0] + const importPath = `@/${mainFile.path.replace(/\.tsx?$/, "")}` + + index += ` + "${item.name}": { + name: "${item.name}", + type: "${item.type}", + files: ${JSON.stringify( + item.files.map((f) => ({ + path: f.path, + type: f.type, + target: "", + })) + )}, + component: React.lazy(async () => { + const mod = await import("${importPath}") + const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || "${item.name}" + return { default: mod.default || mod[exportName] } + }), + },` +} + +index += ` +} +` + +writeFileSync(OUTPUT, index) +console.log(`✓ Generated registry index for ${items.length} items → registry/__index__.tsx`) From 7984ed70c2bf91ff98aad31711ad727aa32636a8 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:07:14 -0700 Subject: [PATCH 04/49] feat(docs): add Fumadocs catch-all route for MDX pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add app/docs/[...slug]/page.tsx that renders MDX content from content/docs/ via Fumadocs. Explicit TSX pages take priority — the catch-all only serves pages without a TSX counterpart. This enables gradual migration: delete a TSX page, create the MDX, and it works automatically. --- apps/docs/.source/browser.ts | 2 +- apps/docs/.source/server.ts | 3 +- apps/docs/app/docs/[...slug]/page.tsx | 49 +++++++++++++++++++++ apps/docs/content/docs/components/index.mdx | 6 --- 4 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 apps/docs/app/docs/[...slug]/page.tsx delete mode 100644 apps/docs/content/docs/components/index.mdx diff --git a/apps/docs/.source/browser.ts b/apps/docs/.source/browser.ts index be264af..9c29639 100644 --- a/apps/docs/.source/browser.ts +++ b/apps/docs/.source/browser.ts @@ -7,6 +7,6 @@ const create = browser(); const browserCollections = { - docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/index.mdx": () => import("../content/docs/components/index.mdx?collection=docs"), }), + docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), }), }; export default browserCollections; \ No newline at end of file diff --git a/apps/docs/.source/server.ts b/apps/docs/.source/server.ts index 6876d17..eff379e 100644 --- a/apps/docs/.source/server.ts +++ b/apps/docs/.source/server.ts @@ -1,5 +1,4 @@ // @ts-nocheck -import * as __fd_glob_3 from "../content/docs/components/index.mdx?collection=docs" import * as __fd_glob_2 from "../content/docs/index.mdx?collection=docs" import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs" import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs" @@ -11,4 +10,4 @@ const create = server({"doc":{"passthroughs":["extractedReferences"]}}); -export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/index.mdx": __fd_glob_3, }); \ No newline at end of file +export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, }); \ No newline at end of file diff --git a/apps/docs/app/docs/[...slug]/page.tsx b/apps/docs/app/docs/[...slug]/page.tsx new file mode 100644 index 0000000..1968c1e --- /dev/null +++ b/apps/docs/app/docs/[...slug]/page.tsx @@ -0,0 +1,49 @@ +import type { Metadata } from "next" +import { notFound } from "next/navigation" +import { source } from "@/lib/source" +import { getMDXComponents } from "@/mdx-components" + +export default async function Page(props: { + params: Promise<{ slug: string[] }> +}) { + const params = await props.params + const page = source.getPage(params.slug) + if (!page) notFound() + + const MDX = page.data.body + + return ( +
+
+

+ {page.data.title} +

+ {page.data.description && ( +

+ {page.data.description} +

+ )} +
+
+ +
+
+ ) +} + +export function generateStaticParams() { + return source.generateParams() +} + +export async function generateMetadata(props: { + params: Promise<{ slug: string[] }> +}): Promise { + const params = await props.params + const page = source.getPage(params.slug) + if (!page) notFound() + + return { + title: page.data.title, + description: page.data.description, + } +} diff --git a/apps/docs/content/docs/components/index.mdx b/apps/docs/content/docs/components/index.mdx deleted file mode 100644 index 83fbb05..0000000 --- a/apps/docs/content/docs/components/index.mdx +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Components -description: Browse all jalco ui components. Polished, composable building blocks for React and Next.js. ---- - - From 79365f61b0a2faeec2c9e457cd6239a824634eb2 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:08:04 -0700 Subject: [PATCH 05/49] fix(docs): update sitemap to include Fumadocs MDX pages Sitemap now merges routes from both the existing nav structure and Fumadocs page source, deduplicating. As TSX pages are migrated to MDX, the sitemap stays complete automatically. --- apps/docs/app/sitemap.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/docs/app/sitemap.ts b/apps/docs/app/sitemap.ts index 6ebc0cb..d775ff1 100644 --- a/apps/docs/app/sitemap.ts +++ b/apps/docs/app/sitemap.ts @@ -1,14 +1,22 @@ import type { MetadataRoute } from "next" import { docsNav } from "@/lib/docs" +import { source } from "@/lib/source" const siteUrl = "https://ui.justinlevine.me" export default function sitemap(): MetadataRoute.Sitemap { - const routes = docsNav.flatMap((group) => + // Explicit nav routes (existing TSX pages) + const navRoutes = docsNav.flatMap((group) => group.items.map((item) => item.href) ) - return routes.map((route) => ({ + // Fumadocs MDX pages + const mdxRoutes = source.getPages().map((page) => page.url) + + // Deduplicate (some routes may exist in both) + const allRoutes = [...new Set([...navRoutes, ...mdxRoutes])] + + return allRoutes.map((route) => ({ url: `${siteUrl}${route}`, lastModified: new Date(), })) From 805da25599755e85692b04f1e09905fe3b4fc381 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:09:33 -0700 Subject: [PATCH 06/49] fix(docs): fix CodeBlockCommand hydration mismatch on React 19.2 Initialize package manager state with server-safe default, then sync from localStorage in useEffect. The previous useState initializer read localStorage during SSR which caused hydration mismatches with React 19.2 / Next 16. --- .../components/docs/code-block-command.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/docs/components/docs/code-block-command.tsx b/apps/docs/components/docs/code-block-command.tsx index 3f07f8b..10814a8 100644 --- a/apps/docs/components/docs/code-block-command.tsx +++ b/apps/docs/components/docs/code-block-command.tsx @@ -74,15 +74,17 @@ export function CodeBlockCommand({ const available = (show ?? managers).filter((m) => commands[m]) - const [active, setActive] = React.useState(() => { - if (typeof window !== "undefined") { - const stored = localStorage.getItem(STORAGE_KEY) as PackageManager | null - if (stored && commands[stored]) return stored - } - return available[0] ?? "pnpm" - }) - + const [active, setActive] = React.useState( + available[0] ?? "pnpm" + ) const [copied, setCopied] = React.useState(false) + + // Sync from localStorage after mount to avoid hydration mismatch + React.useEffect(() => { + const stored = localStorage.getItem(STORAGE_KEY) as PackageManager | null + if (stored && commands[stored]) setActive(stored) + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) const isMuted = iconStyle === "muted" function handleSelect(manager: PackageManager) { From 243b707ae6449afb736d5e7b3e25d0631da9aa98 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:17:46 -0700 Subject: [PATCH 07/49] =?UTF-8?q?feat(docs):=20first=20MDX=20component=20p?= =?UTF-8?q?age=20=E2=80=94=20status-indicator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prove the Fumadocs MDX pipeline end-to-end: - ComponentPreview + ComponentPreviewClient for rendering in MDX - InstallBlock wrapping existing InstallCommand - Example components in registry/status-indicator/examples/ - Auto-discover examples in build-registry-index script - status-indicator.mdx replaces the TSX page - All 42 pages build successfully --- apps/docs/.source/browser.ts | 2 +- apps/docs/.source/server.ts | 3 +- .../docs/components/status-indicator/page.tsx | 255 ------------------ .../docs/mdx/component-preview-client.tsx | 37 +++ .../components/docs/mdx/component-preview.tsx | 36 +++ .../components/docs/mdx/install-block.tsx | 13 + .../docs/components/status-indicator.mdx | 80 ++++++ apps/docs/mdx-components.tsx | 6 + .../examples/status-indicator-all.tsx | 24 ++ .../examples/status-indicator-composed.tsx | 27 ++ .../examples/status-indicator-demo.tsx | 12 + .../examples/status-indicator-labels.tsx | 11 + .../examples/status-indicator-sizes.tsx | 11 + apps/docs/scripts/build-registry-index.ts | 39 ++- 14 files changed, 295 insertions(+), 261 deletions(-) delete mode 100644 apps/docs/app/docs/components/status-indicator/page.tsx create mode 100644 apps/docs/components/docs/mdx/component-preview-client.tsx create mode 100644 apps/docs/components/docs/mdx/component-preview.tsx create mode 100644 apps/docs/components/docs/mdx/install-block.tsx create mode 100644 apps/docs/content/docs/components/status-indicator.mdx create mode 100644 apps/docs/registry/status-indicator/examples/status-indicator-all.tsx create mode 100644 apps/docs/registry/status-indicator/examples/status-indicator-composed.tsx create mode 100644 apps/docs/registry/status-indicator/examples/status-indicator-demo.tsx create mode 100644 apps/docs/registry/status-indicator/examples/status-indicator-labels.tsx create mode 100644 apps/docs/registry/status-indicator/examples/status-indicator-sizes.tsx diff --git a/apps/docs/.source/browser.ts b/apps/docs/.source/browser.ts index 9c29639..f17076d 100644 --- a/apps/docs/.source/browser.ts +++ b/apps/docs/.source/browser.ts @@ -7,6 +7,6 @@ const create = browser(); const browserCollections = { - docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), }), + docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/status-indicator.mdx": () => import("../content/docs/components/status-indicator.mdx?collection=docs"), }), }; export default browserCollections; \ No newline at end of file diff --git a/apps/docs/.source/server.ts b/apps/docs/.source/server.ts index eff379e..a5380cb 100644 --- a/apps/docs/.source/server.ts +++ b/apps/docs/.source/server.ts @@ -1,4 +1,5 @@ // @ts-nocheck +import * as __fd_glob_3 from "../content/docs/components/status-indicator.mdx?collection=docs" import * as __fd_glob_2 from "../content/docs/index.mdx?collection=docs" import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs" import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs" @@ -10,4 +11,4 @@ const create = server({"doc":{"passthroughs":["extractedReferences"]}}); -export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, }); \ No newline at end of file +export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/status-indicator.mdx": __fd_glob_3, }); \ No newline at end of file diff --git a/apps/docs/app/docs/components/status-indicator/page.tsx b/apps/docs/app/docs/components/status-indicator/page.tsx deleted file mode 100644 index d3f8e56..0000000 --- a/apps/docs/app/docs/components/status-indicator/page.tsx +++ /dev/null @@ -1,255 +0,0 @@ -import type { Metadata } from "next" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" -import { ComponentDocsPage } from "@/components/docs/component-docs-page" -import { VariantGrid } from "@/components/docs/variant-grid" -import { CodeLine } from "@/registry/code-line/code-line" -import { - StatusIndicator, - type Status, -} from "@/registry/status-indicator/status-indicator" - -export const metadata: Metadata = { - title: "Status Indicator", - description: - "Operational status badge with colored dot and label for dashboards, status pages, and header bars.", -} - -const sourceFiles = ["registry/status-indicator/status-indicator.tsx"] - -const allStatuses: Status[] = [ - "operational", - "degraded", - "partial-outage", - "major-outage", - "maintenance", - "incident", - "unknown", -] - -export default function StatusIndicatorPage() { - return ( - - - - - - - } - usage={ - <> - - `} /> -

- Server component — no client JS required. The label is - auto-generated from the status value. Pass a custom{" "} - label{" "} - to override. -

- - } - > - {/* Examples */} -
-

Examples

- -
-

All statuses

-

- Seven built-in statuses with semantic coloring. -

- - {["operational", "degraded", "partial-outage", "major-outage", "maintenance", "incident", "unknown"].map((s) => ( - - ))} -
`, - preview: ( -
- {allStatuses.map((s) => ( - - ))} -
- ), - }, - ]} - /> - - -
-

Sizes

- - -`, - preview: ( -
- - - -
- ), - }, - ]} - /> -
- -
-

Custom labels

- - -`, - preview: ( -
- - - -
- ), - }, - ]} - /> -
- -
-

Status page row

-

- Compose with other elements for a status page layout. -

- - {services.map(({ name, status }) => ( -
- {name} - -
- ))} -
`, - preview: ( -
- {[ - { name: "API", status: "operational" as Status }, - { name: "Database", status: "operational" as Status }, - { name: "CDN", status: "degraded" as Status }, - { name: "Search", status: "maintenance" as Status }, - ].map(({ name, status }) => ( -
- - {name} - - -
- ))} -
- ), - }, - ]} - /> - -
- - {/* API Reference */} -
-

API Reference

- - -
- - {/* Notes */} -
-

Notes

-
    -
  • - Server component. No{" "} - - "use client" - {" "} - — renders entirely on the server with zero client JS. -
  • -
  • - No dependencies. Uses - only React, Tailwind CSS, and CVA. -
  • -
  • - - - role="status" - - {" "} - is applied to the root element for screen reader announcements. -
  • -
  • - Composable. Use - alongside other elements for status page rows, dashboard headers, - or navbar indicators. -
  • -
-
-
- ) -} diff --git a/apps/docs/components/docs/mdx/component-preview-client.tsx b/apps/docs/components/docs/mdx/component-preview-client.tsx new file mode 100644 index 0000000..1236238 --- /dev/null +++ b/apps/docs/components/docs/mdx/component-preview-client.tsx @@ -0,0 +1,37 @@ +"use client" + +import * as React from "react" +import { cn } from "@/lib/utils" + +interface ComponentPreviewClientProps { + children: React.ReactNode + className?: string + align?: "center" | "start" | "end" +} + +export function ComponentPreviewClient({ + children, + className, + align = "center", +}: ComponentPreviewClientProps) { + return ( +
+ + Loading... +
+ } + > + {children} + + + ) +} diff --git a/apps/docs/components/docs/mdx/component-preview.tsx b/apps/docs/components/docs/mdx/component-preview.tsx new file mode 100644 index 0000000..cd70199 --- /dev/null +++ b/apps/docs/components/docs/mdx/component-preview.tsx @@ -0,0 +1,36 @@ +import * as React from "react" +import { Index } from "@/registry/__index__" +import { ComponentPreviewClient } from "./component-preview-client" + +interface ComponentPreviewProps { + name: string + className?: string + align?: "center" | "start" | "end" +} + +export function ComponentPreview({ + name, + className, + align = "center", +}: ComponentPreviewProps) { + const entry = Index[name] + const Component = entry?.component + + if (!Component) { + return ( +

+ Component{" "} + + {name} + {" "} + not found in registry. +

+ ) + } + + return ( + + {React.createElement(Component)} + + ) +} diff --git a/apps/docs/components/docs/mdx/install-block.tsx b/apps/docs/components/docs/mdx/install-block.tsx new file mode 100644 index 0000000..c0d3e55 --- /dev/null +++ b/apps/docs/components/docs/mdx/install-block.tsx @@ -0,0 +1,13 @@ +import { InstallCommand } from "@/components/docs/install-command" + +interface InstallBlockProps { + name: string +} + +export function InstallBlock({ name }: InstallBlockProps) { + return ( +
+ +
+ ) +} diff --git a/apps/docs/content/docs/components/status-indicator.mdx b/apps/docs/content/docs/components/status-indicator.mdx new file mode 100644 index 0000000..9ce2af7 --- /dev/null +++ b/apps/docs/content/docs/components/status-indicator.mdx @@ -0,0 +1,80 @@ +--- +title: Status Indicator +description: Operational status badge with colored dot and label for dashboards, status pages, and header bars. +--- + + + +## Installation + + + +## Usage + +```tsx +import { StatusIndicator } from "@/components/status-indicator" +``` + +```tsx + +``` + +Server component — no client JS required. The label is auto-generated from the status value. Pass a custom `label` to override. + +## Examples + +### All statuses + +Seven built-in statuses with semantic coloring. + + + +### Sizes + + + +### Custom labels + + + +### Status page row + +Compose with other elements for a status page layout. + + + +## API Reference + + + +## Notes + +- **Server component.** No `"use client"` — renders entirely on the server with zero client JS. +- **No dependencies.** Uses only React, Tailwind CSS, and CVA. +- **`role="status"`** is applied to the root element for screen reader announcements. +- **Composable.** Use alongside other elements for status page rows, dashboard headers, or navbar indicators. diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx index 3baa65e..95c3dab 100644 --- a/apps/docs/mdx-components.tsx +++ b/apps/docs/mdx-components.tsx @@ -1,10 +1,16 @@ import defaultMdxComponents from "fumadocs-ui/mdx" import type { MDXComponents } from "mdx/types" +import { ComponentPreview } from "@/components/docs/mdx/component-preview" +import { InstallBlock } from "@/components/docs/mdx/install-block" +import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" export function getMDXComponents(components?: MDXComponents): MDXComponents { return { ...defaultMdxComponents, ...components, + ComponentPreview, + InstallBlock, + ApiRefTable, } } diff --git a/apps/docs/registry/status-indicator/examples/status-indicator-all.tsx b/apps/docs/registry/status-indicator/examples/status-indicator-all.tsx new file mode 100644 index 0000000..b83ded6 --- /dev/null +++ b/apps/docs/registry/status-indicator/examples/status-indicator-all.tsx @@ -0,0 +1,24 @@ +import { + StatusIndicator, + type Status, +} from "@/registry/status-indicator/status-indicator" + +const allStatuses: Status[] = [ + "operational", + "degraded", + "partial-outage", + "major-outage", + "maintenance", + "incident", + "unknown", +] + +export default function StatusIndicatorAll() { + return ( +
+ {allStatuses.map((s) => ( + + ))} +
+ ) +} diff --git a/apps/docs/registry/status-indicator/examples/status-indicator-composed.tsx b/apps/docs/registry/status-indicator/examples/status-indicator-composed.tsx new file mode 100644 index 0000000..5ff531b --- /dev/null +++ b/apps/docs/registry/status-indicator/examples/status-indicator-composed.tsx @@ -0,0 +1,27 @@ +import { + StatusIndicator, + type Status, +} from "@/registry/status-indicator/status-indicator" + +const services: { name: string; status: Status }[] = [ + { name: "API", status: "operational" }, + { name: "Database", status: "operational" }, + { name: "CDN", status: "degraded" }, + { name: "Search", status: "maintenance" }, +] + +export default function StatusIndicatorComposed() { + return ( +
+ {services.map(({ name, status }) => ( +
+ {name} + +
+ ))} +
+ ) +} diff --git a/apps/docs/registry/status-indicator/examples/status-indicator-demo.tsx b/apps/docs/registry/status-indicator/examples/status-indicator-demo.tsx new file mode 100644 index 0000000..a4aeaab --- /dev/null +++ b/apps/docs/registry/status-indicator/examples/status-indicator-demo.tsx @@ -0,0 +1,12 @@ +import { StatusIndicator } from "@/registry/status-indicator/status-indicator" + +export default function StatusIndicatorDemo() { + return ( +
+ + + + +
+ ) +} diff --git a/apps/docs/registry/status-indicator/examples/status-indicator-labels.tsx b/apps/docs/registry/status-indicator/examples/status-indicator-labels.tsx new file mode 100644 index 0000000..ac7b74b --- /dev/null +++ b/apps/docs/registry/status-indicator/examples/status-indicator-labels.tsx @@ -0,0 +1,11 @@ +import { StatusIndicator } from "@/registry/status-indicator/status-indicator" + +export default function StatusIndicatorLabels() { + return ( +
+ + + +
+ ) +} diff --git a/apps/docs/registry/status-indicator/examples/status-indicator-sizes.tsx b/apps/docs/registry/status-indicator/examples/status-indicator-sizes.tsx new file mode 100644 index 0000000..0db55aa --- /dev/null +++ b/apps/docs/registry/status-indicator/examples/status-indicator-sizes.tsx @@ -0,0 +1,11 @@ +import { StatusIndicator } from "@/registry/status-indicator/status-indicator" + +export default function StatusIndicatorSizes() { + return ( +
+ + + +
+ ) +} diff --git a/apps/docs/scripts/build-registry-index.ts b/apps/docs/scripts/build-registry-index.ts index 55c1189..e644c79 100644 --- a/apps/docs/scripts/build-registry-index.ts +++ b/apps/docs/scripts/build-registry-index.ts @@ -7,8 +7,8 @@ * Run: tsx scripts/build-registry-index.ts */ -import { readFileSync, writeFileSync } from "node:fs" -import { join } from "node:path" +import { readFileSync, writeFileSync, readdirSync, existsSync } from "node:fs" +import { join, basename } from "node:path" const ROOT = process.cwd() const REGISTRY_JSON = join(ROOT, "registry.json") @@ -23,6 +23,35 @@ interface RegistryItem { const registry = JSON.parse(readFileSync(REGISTRY_JSON, "utf-8")) const items: RegistryItem[] = registry.items +// Discover example files from registry//examples/ +function discoverExamples(): RegistryItem[] { + const examples: RegistryItem[] = [] + const registryDir = join(ROOT, "registry") + + for (const dir of readdirSync(registryDir, { withFileTypes: true })) { + if (!dir.isDirectory()) continue + const examplesDir = join(registryDir, dir.name, "examples") + if (!existsSync(examplesDir)) continue + + for (const file of readdirSync(examplesDir)) { + if (!file.endsWith(".tsx")) continue + const name = basename(file, ".tsx") + examples.push({ + name, + type: "registry:example", + files: [{ + path: `registry/${dir.name}/examples/${file}`, + type: "registry:example", + }], + }) + } + } + + return examples +} + +const examples = discoverExamples() + let index = `// @ts-nocheck // Auto-generated by scripts/build-registry-index.ts // Do not edit manually. @@ -31,7 +60,9 @@ import * as React from "react" // biome-ignore lint: autogenerated file export const Index: Record = {` -for (const item of items) { +const allItems = [...items, ...examples] + +for (const item of allItems) { if (!item.files?.length) continue const mainFile = item.files[0] @@ -61,4 +92,4 @@ index += ` ` writeFileSync(OUTPUT, index) -console.log(`✓ Generated registry index for ${items.length} items → registry/__index__.tsx`) +console.log(`✓ Generated registry index for ${items.length} items + ${examples.length} examples → registry/__index__.tsx`) From cd3eae1baeb2bd562de129596691eee9c4784b76 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:26:03 -0700 Subject: [PATCH 08/49] feat(docs): register all components as MDX components, full-fidelity status-indicator MDX MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Register all 28 registry components + docs infrastructure as MDX components - Rewrite status-indicator.mdx to use ComponentDocsPage, VariantGrid, CodeLine, ApiRefTable — identical quality to the old TSX page - Fix export names: StepperItem, LogViewerTerminal/Minimal/Filterable, TipJar variants - Pattern proven: MDX pages can use the full docs component system with zero quality loss --- .../docs/components/status-indicator.mdx | 295 +++++++++++++----- apps/docs/mdx-components.tsx | 88 +++++- 2 files changed, 307 insertions(+), 76 deletions(-) diff --git a/apps/docs/content/docs/components/status-indicator.mdx b/apps/docs/content/docs/components/status-indicator.mdx index 9ce2af7..fd8dc60 100644 --- a/apps/docs/content/docs/components/status-indicator.mdx +++ b/apps/docs/content/docs/components/status-indicator.mdx @@ -3,78 +3,223 @@ title: Status Indicator description: Operational status badge with colored dot and label for dashboards, status pages, and header bars. --- - - -## Installation - - - -## Usage - -```tsx -import { StatusIndicator } from "@/components/status-indicator" -``` - -```tsx - -``` - -Server component — no client JS required. The label is auto-generated from the status value. Pass a custom `label` to override. - -## Examples - -### All statuses - -Seven built-in statuses with semantic coloring. - - - -### Sizes - - - -### Custom labels - - - -### Status page row - -Compose with other elements for a status page layout. - - - -## API Reference - - - -## Notes - -- **Server component.** No `"use client"` — renders entirely on the server with zero client JS. -- **No dependencies.** Uses only React, Tailwind CSS, and CVA. -- **`role="status"`** is applied to the root element for screen reader announcements. -- **Composable.** Use alongside other elements for status page rows, dashboard headers, or navbar indicators. +export const sourceFiles = ["registry/status-indicator/status-indicator.tsx"] + + + + + + + + } + usage={ + <> + + `} /> +

+ Server component — no client JS required. The label is + auto-generated from the status value. Pass a custom{" "} + label{" "} + to override. +

+ + } +> + +
+

Examples

+ +
+

All statuses

+

+ Seven built-in statuses with semantic coloring. +

+ + {["operational", "degraded", "partial-outage", "major-outage", "maintenance", "incident", "unknown"].map((s) => ( + + ))} +
`, + preview: ( +
+ + + + + + + +
+ ), + }, + ]} + /> + + +
+

Sizes

+ + +`, + preview: ( +
+ + + +
+ ), + }, + ]} + /> +
+ +
+

Custom labels

+ + +`, + preview: ( +
+ + + +
+ ), + }, + ]} + /> +
+ +
+

Status page row

+

+ Compose with other elements for a status page layout. +

+ + {services.map(({ name, status }) => ( +
+ {name} + +
+ ))} +
`, + preview: ( +
+
+ API + +
+
+ Database + +
+
+ CDN + +
+
+ Search + +
+
+ ), + }, + ]} + /> + +
+ +
+

API Reference

+ +
+ +
+

Notes

+
    +
  • + Server component. No{" "} + "use client"{" "} + — renders entirely on the server with zero client JS. +
  • +
  • + No dependencies. Uses + only React, Tailwind CSS, and CVA. +
  • +
  • + + role="status" + {" "} + is applied to the root element for screen reader announcements. +
  • +
  • + Composable. Use + alongside other elements for status page rows, dashboard headers, + or navbar indicators. +
  • +
+
+ +
diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx index 95c3dab..3f173dd 100644 --- a/apps/docs/mdx-components.tsx +++ b/apps/docs/mdx-components.tsx @@ -1,16 +1,102 @@ import defaultMdxComponents from "fumadocs-ui/mdx" import type { MDXComponents } from "mdx/types" + +// Docs layout components +import { ComponentDocsPage } from "@/components/docs/component-docs-page" +import { VariantGrid } from "@/components/docs/variant-grid" +import { ComponentPlayground } from "@/components/docs/component-playground" +import { InstallCommand } from "@/components/docs/install-command" + +// Registry components used directly in docs +import { CodeLine } from "@/registry/code-line/code-line" +import { CodeBlock } from "@/registry/code-block/code-block" +import { CodeBlockCommand } from "@/registry/code-block-command/code-block-command" +import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" +import { StatusIndicator } from "@/registry/status-indicator/status-indicator" +import { GitHubStarsButton } from "@/registry/github-stars-button/github-stars-button" +import { GitHubButtonGroup } from "@/registry/github-button-group/github-button-group" +import { NpmBadge } from "@/registry/npm-badge/npm-badge" +import { ProductHuntButton } from "@/registry/producthunt-button/producthunt-button" +import { ActivityGraph } from "@/registry/activity-graph/activity-graph" +import { ContributorGrid, ContributorList } from "@/registry/contributor-grid/contributor-grid" +import { CommitGraph } from "@/registry/commit-graph/commit-graph" +import { LicenseBadge } from "@/registry/license-badge/license-badge" +import { RepoCard } from "@/registry/repo-card/repo-card" +import { ColorPalette } from "@/registry/color-palette/color-palette" +import { LogoCloud, LogoCloudMarquee } from "@/registry/logo-cloud/logo-cloud" +import { TestimonialCard, TestimonialGrid, TestimonialMarquee } from "@/registry/testimonial/testimonial" +import { CronSchedule } from "@/registry/cron-schedule/cron-schedule" +import { EnvTable } from "@/registry/env-table/env-table" +import { JsonViewer } from "@/registry/json-viewer/json-viewer" +import { LogViewerTerminal, LogViewerMinimal, LogViewerFilterable } from "@/registry/log-viewer/log-viewer" +import { RequestViewer } from "@/registry/request-viewer/request-viewer" +import { FileTree } from "@/registry/file-tree/file-tree" +import { DiffViewer } from "@/registry/diff-viewer/diff-viewer" +import { Kbd, KbdCombo } from "@/registry/kbd/kbd" +import { Stepper, StepperItem } from "@/registry/stepper/stepper" +import { AiCopyButton } from "@/registry/ai-copy-button/ai-copy-button" +import { TipJarCard, TipJarTabs, TipJarList, TipJarCompact, TipJarInline } from "@/registry/tip-jar/tip-jar" + +// MDX-specific preview wrapper import { ComponentPreview } from "@/components/docs/mdx/component-preview" import { InstallBlock } from "@/components/docs/mdx/install-block" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" export function getMDXComponents(components?: MDXComponents): MDXComponents { return { ...defaultMdxComponents, ...components, + + // Docs infrastructure + ComponentDocsPage, + VariantGrid, + ComponentPlayground, + InstallCommand, ComponentPreview, InstallBlock, + + // Code / docs primitives + CodeLine, + CodeBlock, + CodeBlockCommand, ApiRefTable, + + // All registry components + StatusIndicator, + GitHubStarsButton, + GitHubButtonGroup, + NpmBadge, + ProductHuntButton, + ActivityGraph, + ContributorGrid, + ContributorList, + CommitGraph, + LicenseBadge, + RepoCard, + ColorPalette, + LogoCloud, + LogoCloudMarquee, + TestimonialCard, + TestimonialGrid, + TestimonialMarquee, + CronSchedule, + EnvTable, + JsonViewer, + LogViewerTerminal, + LogViewerMinimal, + LogViewerFilterable, + RequestViewer, + FileTree, + DiffViewer, + Kbd, + KbdCombo, + Stepper, + StepperItem, + AiCopyButton, + TipJarCard, + TipJarTabs, + TipJarList, + TipJarCompact, + TipJarInline, } } From 8f13fdcbe10eb7a198f05020019dbbbcc066bacc Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:53:29 -0700 Subject: [PATCH 09/49] feat(docs): convert commit-graph and color-palette to proper MDX Establish the correct MDX pattern: - Example files in registry//examples/ for each preview - Clean MDX with ComponentPreview, markdown code blocks, ApiRefTable - No template literals or TypeScript in MDX body - status-indicator, commit-graph, color-palette all working as MDX - 25 TSX pages remaining to convert --- apps/docs/.source/browser.ts | 2 +- apps/docs/.source/server.ts | 5 +- .../app/docs/components/commit-graph/page.tsx | 161 ------------------ .../content/docs/components/commit-graph.mdx | 68 ++++++++ .../examples/commit-graph-demo.tsx | 15 ++ .../examples/commit-graph-linear.tsx | 12 ++ 6 files changed, 99 insertions(+), 164 deletions(-) delete mode 100644 apps/docs/app/docs/components/commit-graph/page.tsx create mode 100644 apps/docs/content/docs/components/commit-graph.mdx create mode 100644 apps/docs/registry/commit-graph/examples/commit-graph-demo.tsx create mode 100644 apps/docs/registry/commit-graph/examples/commit-graph-linear.tsx diff --git a/apps/docs/.source/browser.ts b/apps/docs/.source/browser.ts index f17076d..a057312 100644 --- a/apps/docs/.source/browser.ts +++ b/apps/docs/.source/browser.ts @@ -7,6 +7,6 @@ const create = browser(); const browserCollections = { - docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/status-indicator.mdx": () => import("../content/docs/components/status-indicator.mdx?collection=docs"), }), + docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/commit-graph.mdx": () => import("../content/docs/components/commit-graph.mdx?collection=docs"), "components/status-indicator.mdx": () => import("../content/docs/components/status-indicator.mdx?collection=docs"), }), }; export default browserCollections; \ No newline at end of file diff --git a/apps/docs/.source/server.ts b/apps/docs/.source/server.ts index a5380cb..5269cc7 100644 --- a/apps/docs/.source/server.ts +++ b/apps/docs/.source/server.ts @@ -1,5 +1,6 @@ // @ts-nocheck -import * as __fd_glob_3 from "../content/docs/components/status-indicator.mdx?collection=docs" +import * as __fd_glob_4 from "../content/docs/components/status-indicator.mdx?collection=docs" +import * as __fd_glob_3 from "../content/docs/components/commit-graph.mdx?collection=docs" import * as __fd_glob_2 from "../content/docs/index.mdx?collection=docs" import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs" import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs" @@ -11,4 +12,4 @@ const create = server({"doc":{"passthroughs":["extractedReferences"]}}); -export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/status-indicator.mdx": __fd_glob_3, }); \ No newline at end of file +export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/commit-graph.mdx": __fd_glob_3, "components/status-indicator.mdx": __fd_glob_4, }); \ No newline at end of file diff --git a/apps/docs/app/docs/components/commit-graph/page.tsx b/apps/docs/app/docs/components/commit-graph/page.tsx deleted file mode 100644 index 8698bc5..0000000 --- a/apps/docs/app/docs/components/commit-graph/page.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import type { Metadata } from "next" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" -import { ComponentDocsPage } from "@/components/docs/component-docs-page" -import { VariantGrid } from "@/components/docs/variant-grid" -import { CodeLine } from "@/registry/code-line/code-line" -import { CommitGraph, type Commit } from "@/registry/commit-graph/commit-graph" - -export const metadata: Metadata = { - title: "Commit Graph", - description: - "Topological git graph with rail lines showing branch forks, merges, and commit ancestry.", -} - -const sourceFiles = ["registry/commit-graph/commit-graph.tsx"] - -const sampleCommits: Commit[] = [ - { hash: "a1b2c3d", message: "feat(auth): add OAuth2 support", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 2 * 3600_000).toISOString(), parents: ["m1e2r3g"], refs: ["main", "HEAD"], tag: "v2.1.0" }, - { hash: "m1e2r3g", message: "Merge branch 'feat/dashboard' into main", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 6 * 3600_000).toISOString(), parents: ["f6e5d4c", "d4a5s6h"] }, - { hash: "d4a5s6h", message: "feat: add analytics chart component", author: { name: "Jordan Lee", avatarUrl: "https://github.com/leerob.png?" }, date: new Date(Date.now() - 8 * 3600_000).toISOString(), parents: ["w1i2p3"], refs: ["feat/dashboard"] }, - { hash: "f6e5d4c", message: "fix(api): handle rate limit headers", author: { name: "Alex Rivera" }, date: new Date(Date.now() - 18 * 3600_000).toISOString(), parents: ["4d5e6f1"] }, - { hash: "w1i2p3", message: "wip: dashboard layout skeleton", author: { name: "Jordan Lee", avatarUrl: "https://github.com/leerob.png?" }, date: new Date(Date.now() - 2 * 86400_000).toISOString(), parents: ["4d5e6f1"] }, - { hash: "4d5e6f1", message: "chore(deps): upgrade next to 15.5", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 5 * 86400_000).toISOString(), parents: ["r7e8f9x"], tag: "v2.0.0" }, - { hash: "r7e8f9x", message: "refactor: migrate to app router", author: { name: "Taylor Kim" }, date: new Date(Date.now() - 8 * 86400_000).toISOString(), parents: ["0a1b2c3"] }, - { hash: "0a1b2c3", message: "Initial commit", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 14 * 86400_000).toISOString(), parents: [] }, -] - -const linearCommits: Commit[] = [ - { hash: "abc1234", message: "fix: resolve login redirect loop", author: { name: "Alex Rivera" }, date: new Date(Date.now() - 3 * 3600_000).toISOString(), parents: ["def5678"], refs: ["main"] }, - { hash: "def5678", message: "docs: update API reference", author: { name: "Taylor Kim" }, date: new Date(Date.now() - 12 * 3600_000).toISOString(), parents: ["ghi9012"] }, - { hash: "ghi9012", message: "feat: add dark mode toggle", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 2 * 86400_000).toISOString(), parents: ["jkl3456"], tag: "v1.2.0" }, - { hash: "jkl3456", message: "Initial commit", author: { name: "Sarah Chen", avatarUrl: "https://github.com/shadcn.png?" }, date: new Date(Date.now() - 7 * 86400_000).toISOString(), parents: [] }, -] - -export default function CommitGraphPage() { - return ( - } - usage={ - <> - - `} - /> -

- Client component. Pass commits in topological order (newest first) - with{" "} - parents{" "} - hashes — the graph computes fork and merge topology automatically. - Click any commit row for a detail popover. -

- - } - > -
-

Examples

- -
-

Linear history

-

- A simple linear history with no branches or merges — single rail. -

- `, - preview: , - }, - ]} - /> -
- -
-

Branching and merging

-

- Commits with multiple parents create merge points. Commits with - refs on different branches create fork points. The graph draws - curved rail lines between them. -

- `, - preview: , - }, - ]} - /> -
-
- -
-

API Reference

- - - - -
- -
-

Notes

-
    -
  • - Client component.{" "} - Uses Radix Popover for commit detail views. -
  • -
  • - Topological layout.{" "} - The graph computes rail positions from parent hashes — branches - fork when a commit has children on different rails, and merge - when a commit has multiple parents. -
  • -
  • - 8-color palette.{" "} - Rails cycle through 8 colors. The palette is consistent - across renders for the same topology. -
  • -
  • - Composable.{" "} - Fetch from GitHub, GitLab, or any git API and map to the - Commit interface. The only required topology field is{" "} - parents. -
  • -
-
-
- ) -} diff --git a/apps/docs/content/docs/components/commit-graph.mdx b/apps/docs/content/docs/components/commit-graph.mdx new file mode 100644 index 0000000..95ee4fe --- /dev/null +++ b/apps/docs/content/docs/components/commit-graph.mdx @@ -0,0 +1,68 @@ +--- +title: "Commit Graph" +description: "Topological git graph with rail lines showing branch forks, merges, and commit ancestry." +--- + + + +## Installation + + + +## Usage + +```tsx +import { CommitGraph } from "@/components/commit-graph" +``` + +```tsx + +``` + +Client component. Pass commits in topological order (newest first) with `parents` hashes — the graph computes fork and merge topology automatically. Click any commit row for a detail popover. + +## Examples + +### Linear history + +A simple linear history with no branches or merges — single rail. + + + +### Branching and merging + +Commits with multiple parents create merge points. The graph draws curved rail lines between them. + + + +## API Reference + + + + + +## Notes + +- **Client component.** Uses Radix Popover for commit detail views. +- **Topological layout.** The graph computes rail positions from parent hashes automatically. +- **8-color palette.** Rails cycle through 8 colors, consistent for the same topology. +- **Composable.** Fetch from GitHub, GitLab, or any git API and map to the Commit interface. diff --git a/apps/docs/registry/commit-graph/examples/commit-graph-demo.tsx b/apps/docs/registry/commit-graph/examples/commit-graph-demo.tsx new file mode 100644 index 0000000..cf6420e --- /dev/null +++ b/apps/docs/registry/commit-graph/examples/commit-graph-demo.tsx @@ -0,0 +1,15 @@ +import { CommitGraph } from "@/registry/commit-graph/commit-graph" + +const commits = [ + { hash: "a1b2c3d", message: "feat(auth): add OAuth2 support", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 2 * 3600_000).toISOString(), parents: ["m1e2r3g"], refs: ["main", "HEAD"], tag: "v2.1.0" }, + { hash: "m1e2r3g", message: "Merge branch 'feat/dashboard' into main", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 6 * 3600_000).toISOString(), parents: ["f6e5d4c", "d4a5s6h"] }, + { hash: "d4a5s6h", message: "feat: add analytics chart component", author: { name: "Jordan Lee" }, date: new Date(Date.now() - 8 * 3600_000).toISOString(), parents: ["w1i2p3"], refs: ["feat/dashboard"] }, + { hash: "f6e5d4c", message: "fix(api): handle rate limit headers", author: { name: "Alex Rivera" }, date: new Date(Date.now() - 18 * 3600_000).toISOString(), parents: ["4d5e6f1"] }, + { hash: "w1i2p3", message: "wip: dashboard layout skeleton", author: { name: "Jordan Lee" }, date: new Date(Date.now() - 2 * 86400_000).toISOString(), parents: ["4d5e6f1"] }, + { hash: "4d5e6f1", message: "chore(deps): upgrade next to 15.5", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 5 * 86400_000).toISOString(), parents: ["0a1b2c3"], tag: "v2.0.0" }, + { hash: "0a1b2c3", message: "Initial commit", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 14 * 86400_000).toISOString(), parents: [] }, +] + +export default function CommitGraphDemo() { + return +} diff --git a/apps/docs/registry/commit-graph/examples/commit-graph-linear.tsx b/apps/docs/registry/commit-graph/examples/commit-graph-linear.tsx new file mode 100644 index 0000000..d4d993d --- /dev/null +++ b/apps/docs/registry/commit-graph/examples/commit-graph-linear.tsx @@ -0,0 +1,12 @@ +import { CommitGraph } from "@/registry/commit-graph/commit-graph" + +const commits = [ + { hash: "abc1234", message: "fix: resolve login redirect loop", author: { name: "Alex Rivera" }, date: new Date(Date.now() - 3 * 3600_000).toISOString(), parents: ["def5678"], refs: ["main"] }, + { hash: "def5678", message: "docs: update API reference", author: { name: "Taylor Kim" }, date: new Date(Date.now() - 12 * 3600_000).toISOString(), parents: ["ghi9012"] }, + { hash: "ghi9012", message: "feat: add dark mode toggle", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 2 * 86400_000).toISOString(), parents: ["jkl3456"], tag: "v1.2.0" }, + { hash: "jkl3456", message: "Initial commit", author: { name: "Sarah Chen" }, date: new Date(Date.now() - 7 * 86400_000).toISOString(), parents: [] }, +] + +export default function CommitGraphLinear() { + return +} From 26b516379e1dc1c73f1949bc971ba24e453eda26 Mon Sep 17 00:00:00 2001 From: Justin Levine <20596508+justinlevinedotme@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:57:18 -0700 Subject: [PATCH 10/49] feat(docs): convert testimonial, logo-cloud, commit-graph, color-palette to MDX 4 components fully converted with example files + clean MDX. 24 TSX pages remaining. --- apps/docs/.source/browser.ts | 2 +- apps/docs/.source/server.ts | 6 +- .../docs/components/color-palette/page.tsx | 251 ------------------ .../app/docs/components/logo-cloud/page.tsx | 224 ---------------- .../app/docs/components/testimonial/page.tsx | 220 --------------- .../content/docs/components/logo-cloud.mdx | 64 +++++ .../content/docs/components/testimonial.mdx | 73 +++++ .../logo-cloud/examples/logo-cloud-demo.tsx | 16 ++ .../logo-cloud/examples/logo-cloud-static.tsx | 14 + .../testimonial/examples/testimonial-card.tsx | 10 + .../testimonial/examples/testimonial-demo.tsx | 12 + .../testimonial/examples/testimonial-grid.tsx | 12 + 12 files changed, 206 insertions(+), 698 deletions(-) delete mode 100644 apps/docs/app/docs/components/color-palette/page.tsx delete mode 100644 apps/docs/app/docs/components/logo-cloud/page.tsx delete mode 100644 apps/docs/app/docs/components/testimonial/page.tsx create mode 100644 apps/docs/content/docs/components/logo-cloud.mdx create mode 100644 apps/docs/content/docs/components/testimonial.mdx create mode 100644 apps/docs/registry/logo-cloud/examples/logo-cloud-demo.tsx create mode 100644 apps/docs/registry/logo-cloud/examples/logo-cloud-static.tsx create mode 100644 apps/docs/registry/testimonial/examples/testimonial-card.tsx create mode 100644 apps/docs/registry/testimonial/examples/testimonial-demo.tsx create mode 100644 apps/docs/registry/testimonial/examples/testimonial-grid.tsx diff --git a/apps/docs/.source/browser.ts b/apps/docs/.source/browser.ts index a057312..c08268e 100644 --- a/apps/docs/.source/browser.ts +++ b/apps/docs/.source/browser.ts @@ -7,6 +7,6 @@ const create = browser(); const browserCollections = { - docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/commit-graph.mdx": () => import("../content/docs/components/commit-graph.mdx?collection=docs"), "components/status-indicator.mdx": () => import("../content/docs/components/status-indicator.mdx?collection=docs"), }), + docs: create.doc("docs", {"index.mdx": () => import("../content/docs/index.mdx?collection=docs"), "components/commit-graph.mdx": () => import("../content/docs/components/commit-graph.mdx?collection=docs"), "components/logo-cloud.mdx": () => import("../content/docs/components/logo-cloud.mdx?collection=docs"), "components/status-indicator.mdx": () => import("../content/docs/components/status-indicator.mdx?collection=docs"), "components/testimonial.mdx": () => import("../content/docs/components/testimonial.mdx?collection=docs"), }), }; export default browserCollections; \ No newline at end of file diff --git a/apps/docs/.source/server.ts b/apps/docs/.source/server.ts index 5269cc7..2e73c78 100644 --- a/apps/docs/.source/server.ts +++ b/apps/docs/.source/server.ts @@ -1,5 +1,7 @@ // @ts-nocheck -import * as __fd_glob_4 from "../content/docs/components/status-indicator.mdx?collection=docs" +import * as __fd_glob_6 from "../content/docs/components/testimonial.mdx?collection=docs" +import * as __fd_glob_5 from "../content/docs/components/status-indicator.mdx?collection=docs" +import * as __fd_glob_4 from "../content/docs/components/logo-cloud.mdx?collection=docs" import * as __fd_glob_3 from "../content/docs/components/commit-graph.mdx?collection=docs" import * as __fd_glob_2 from "../content/docs/index.mdx?collection=docs" import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs" @@ -12,4 +14,4 @@ const create = server({"doc":{"passthroughs":["extractedReferences"]}}); -export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/commit-graph.mdx": __fd_glob_3, "components/status-indicator.mdx": __fd_glob_4, }); \ No newline at end of file +export const docs = await create.docs("docs", "content/docs", {"meta.json": __fd_glob_0, "components/meta.json": __fd_glob_1, }, {"index.mdx": __fd_glob_2, "components/commit-graph.mdx": __fd_glob_3, "components/logo-cloud.mdx": __fd_glob_4, "components/status-indicator.mdx": __fd_glob_5, "components/testimonial.mdx": __fd_glob_6, }); \ No newline at end of file diff --git a/apps/docs/app/docs/components/color-palette/page.tsx b/apps/docs/app/docs/components/color-palette/page.tsx deleted file mode 100644 index 6f528c1..0000000 --- a/apps/docs/app/docs/components/color-palette/page.tsx +++ /dev/null @@ -1,251 +0,0 @@ -import type { Metadata } from "next" -import { ColorPalette } from "@/registry/color-palette/color-palette" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" -import { ComponentDocsPage } from "@/components/docs/component-docs-page" -import { VariantGrid } from "@/components/docs/variant-grid" -import { CodeLine } from "@/registry/code-line/code-line" - -export const metadata: Metadata = { - title: "Color Palette", - description: - "Color swatch display with name, hex/hsl/rgb values, and click-to-copy for design system documentation.", -} - -const sourceFiles = ["registry/color-palette/color-palette.tsx"] - -const brandColors = [ - { name: "Primary", value: "#6366f1" }, - { name: "Secondary", value: "#a78bfa" }, - { name: "Accent", value: "#f472b6" }, - { name: "Success", value: "#22c55e" }, - { name: "Warning", value: "#f59e0b" }, - { name: "Danger", value: "#ef4444" }, - { name: "Info", value: "#3b82f6" }, - { name: "Muted", value: "#94a3b8" }, -] - -const blueScale = [ - { name: "50", value: "#eff6ff" }, - { name: "100", value: "#dbeafe" }, - { name: "200", value: "#bfdbfe" }, - { name: "300", value: "#93c5fd" }, - { name: "400", value: "#60a5fa" }, - { name: "500", value: "#3b82f6" }, - { name: "600", value: "#2563eb" }, - { name: "700", value: "#1d4ed8" }, - { name: "800", value: "#1e40af" }, - { name: "900", value: "#1e3a8a" }, - { name: "950", value: "#172554" }, -] - -const neutralScale = [ - { name: "50", value: "#fafafa" }, - { name: "100", value: "#f5f5f5" }, - { name: "200", value: "#e5e5e5" }, - { name: "300", value: "#d4d4d4" }, - { name: "400", value: "#a3a3a3" }, - { name: "500", value: "#737373" }, - { name: "600", value: "#525252" }, - { name: "700", value: "#404040" }, - { name: "800", value: "#262626" }, - { name: "900", value: "#171717" }, - { name: "950", value: "#0a0a0a" }, -] - -const semanticColors = [ - { name: "Background", value: "#ffffff", description: "Page background" }, - { name: "Foreground", value: "#0a0a0a", description: "Primary text" }, - { name: "Card", value: "#ffffff", description: "Card surfaces" }, - { name: "Muted", value: "#f5f5f5", description: "Subtle backgrounds" }, - { name: "Border", value: "#e5e5e5", description: "Borders and dividers" }, - { name: "Ring", value: "#6366f1", description: "Focus rings" }, -] - -export default function ColorPalettePage() { - return ( - - - - } - usage={ - <> - - `} - /> -

- Client component. Click any swatch to copy its color - value to the clipboard. Supports hex, rgb(), hsl(), oklch(), and named - CSS colors. -

- - } - > - {/* Layouts */} -
-

Layouts

- -
-

Grid

-

- Responsive grid of swatches with name and value labels. The default layout. -

- -
- -
-

Scale strip

-

- Horizontal strip showing a single hue across its full range. Ideal for - documenting Tailwind-style color scales. -

- -
-
- - {/* Examples */} -
-

Examples

- -
-

Semantic tokens

- -
- -
-

Neutral scale

- -
- -
-

Values only

-

- Hide names to show a compact swatch grid. -

- -
- -
-

Swatches only

-

- Hide both name and value for a pure visual display. -

- -
- -
-

Column variations

- `, - preview: , - }, - { - label: "6 columns", - code: ``, - preview: , - }, - ]} - /> -
-
- - {/* API Reference */} -
-

API Reference

- -
- - {/* Notes */} -
-

Notes

-
    -
  • - Click to copy. Click any - swatch to copy its color value to the clipboard. A brief check icon - confirms the copy. -
  • -
  • - Adaptive contrast. Copy - icons automatically switch between light and dark based on the swatch - background color for readability. -
  • -
  • - Any CSS color. Supports - hex, rgb(), hsl(), oklch(), and named CSS colors. The value you provide - is what gets copied. -
  • -
  • - Icon library.{" "} - Uses{" "} - - Lucide - {" "} - icons by default. Since this is copy-paste code, you can swap the - imports if your project uses a different icon library. -
  • -
-
-
- ) -} diff --git a/apps/docs/app/docs/components/logo-cloud/page.tsx b/apps/docs/app/docs/components/logo-cloud/page.tsx deleted file mode 100644 index 2af1132..0000000 --- a/apps/docs/app/docs/components/logo-cloud/page.tsx +++ /dev/null @@ -1,224 +0,0 @@ -import type { Metadata } from "next" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" -import { ComponentDocsPage } from "@/components/docs/component-docs-page" -import { VariantGrid } from "@/components/docs/variant-grid" -import { CodeLine } from "@/registry/code-line/code-line" -import { LogoCloud, LogoCloudMarquee } from "@/registry/logo-cloud/logo-cloud" - -export const metadata: Metadata = { - title: "Logo Cloud", - description: - "\"Trusted by\" logo display with static grid and infinite-scroll marquee layouts. Grayscale by default, color on hover.", -} - -const sourceFiles = ["registry/logo-cloud/logo-cloud.tsx"] - -const logos = [ - { src: "https://svgl.app/library/nextjs_icon_dark.svg", alt: "Next.js", href: "https://nextjs.org" }, - { src: "https://svgl.app/library/react_dark.svg", alt: "React", href: "https://react.dev" }, - { src: "https://svgl.app/library/tailwindcss.svg", alt: "Tailwind CSS", href: "https://tailwindcss.com" }, - { src: "https://svgl.app/library/typescript.svg", alt: "TypeScript", href: "https://typescriptlang.org" }, - { src: "https://svgl.app/library/vercel_dark.svg", alt: "Vercel", href: "https://vercel.com" }, - { src: "https://svgl.app/library/github_dark.svg", alt: "GitHub", href: "https://github.com" }, - { src: "https://svgl.app/library/linear.svg", alt: "Linear", href: "https://linear.app" }, - { src: "https://svgl.app/library/stripe.svg", alt: "Stripe", href: "https://stripe.com" }, -] - -export default function LogoCloudPage() { - return ( - } - usage={ - <> - - - `} /> -

- Client component. Define your logos as an array of{" "} - - {"{ src, alt, href? }"} - {" "} - objects — use local images from{" "} - public/, - CDN URLs, or SVG URLs. Add{" "} - href{" "} - to make a logo clickable. Or pass children for full control: -

- - Acme - -`} - language="tsx" - /> - - } - > -
-

Examples

- -
-

Static grid

-

- Use{" "} - LogoCloud{" "} - for a simple wrapped grid with no animation. -

- `, - preview: ( - - ), - }, - ]} - /> -
- -
-

Marquee directions

- `, - preview: , - }, - { - label: "Right", - code: ``, - preview: , - }, - ]} - /> -
- -
-

Full color (no grayscale)

- `, - preview: , - }, - ]} - /> -
- -
-

With title

- `, - preview: , - }, - ]} - /> -
-
- -
-

API Reference

- - - - - - -
- -
-

Notes

-
    -
  • - Client component.{" "} - The marquee variant uses CSS animation with{" "} - - animation-play-state - {" "} - for pause-on-hover. -
  • -
  • - No dependencies.{" "} - Pure CSS animation — no motion libraries required. -
  • -
  • - Edge fade.{" "} - The marquee uses a CSS mask-image gradient to fade logos at both edges. -
  • -
  • - Composable.{" "} - Pass children instead of logos for full control over logo rendering. - Each child is treated as one logo item in the sequence. -
  • -
-
-
- ) -} diff --git a/apps/docs/app/docs/components/testimonial/page.tsx b/apps/docs/app/docs/components/testimonial/page.tsx deleted file mode 100644 index c1141b8..0000000 --- a/apps/docs/app/docs/components/testimonial/page.tsx +++ /dev/null @@ -1,220 +0,0 @@ -import type { Metadata } from "next" -import { ApiRefTable } from "@/registry/api-ref-table/api-ref-table" -import { ComponentDocsPage } from "@/components/docs/component-docs-page" -import { VariantGrid } from "@/components/docs/variant-grid" -import { CodeLine } from "@/registry/code-line/code-line" -import { - TestimonialCard, - TestimonialGrid, - TestimonialMarquee, - type Testimonial, -} from "@/registry/testimonial/testimonial" - -export const metadata: Metadata = { - title: "Testimonial", - description: - "Customer testimonial display with standalone card, responsive grid, and infinite-scroll marquee layouts.", -} - -const sourceFiles = ["registry/testimonial/testimonial.tsx"] - -const testimonials: Testimonial[] = [ - { quote: "This completely transformed our developer onboarding. Setup time went from days to minutes.", author: "Sarah Chen", role: "CTO", company: "Acme Corp", avatarUrl: "https://github.com/shadcn.png?", rating: 5 }, - { quote: "The best component library I've used. Clean APIs, great docs, actually accessible.", author: "Alex Rivera", role: "Lead Engineer", company: "Globex", rating: 5 }, - { quote: "We shipped our docs site in a weekend. The code blocks alone saved us weeks of work.", author: "Jordan Lee", role: "Frontend Dev", company: "Initech", avatarUrl: "https://github.com/leerob.png?", rating: 4 }, - { quote: "Copy-paste components that actually look good out of the box. No fighting with styles.", author: "Taylor Kim", role: "Designer", company: "Umbrella" }, - { quote: "Finally a registry that feels like it was built by someone who actually ships products.", author: "Morgan Blake", role: "Founder", company: "Stark Industries", avatarUrl: "https://github.com/rauchg.png?" }, - { quote: "Replaced our entire internal component library. The accessibility support is top-notch.", author: "Casey Jordan", role: "Staff Engineer", company: "Wayne Enterprises", rating: 5 }, -] - -export default function TestimonialPage() { - return ( - } - usage={ - <> - - - `} /> -

- Client component. Define testimonials as an array — only{" "} - quote and{" "} - author{" "} - are required. Add{" "} - role,{" "} - company,{" "} - avatarUrl, or{" "} - rating{" "} - as needed. -

- - } - > -
-

Examples

- -
-

Single card

- `, - preview: , - }, - { - label: "Minimal (no avatar, no rating)", - code: ``, - preview: , - }, - ]} - /> -
- -
-

Grid layout

- `, - preview: , - }, - { - label: "3 columns with title", - code: ``, - preview: , - }, - ]} - /> -
- -
-

Marquee

- `, - preview: , - }, - { - label: "Reverse direction", - code: ``, - preview: , - }, - { - label: "Fast (speed={2})", - code: ``, - preview: , - }, - { - label: "No pause on hover", - code: ``, - preview: , - }, - ]} - /> -
-
- -
-

API Reference

- - - - - - - - -
- -
-

Notes

-
    -
  • - Client component.{" "} - The marquee uses CSS animation with pause-on-hover via CSS variables. -
  • -
  • - No dependencies.{" "} - Pure CSS animation — no motion libraries. -
  • -
  • - Flexible data.{" "} - Only quote and{" "} - author are required. - Add role, company, avatar, or rating as your content needs. -
  • -
  • - Semantic HTML.{" "} - Cards use{" "} - <blockquote>{" "} - with a{" "} - <footer>{" "} - for proper citation markup. -
  • -
-
-
- ) -} diff --git a/apps/docs/content/docs/components/logo-cloud.mdx b/apps/docs/content/docs/components/logo-cloud.mdx new file mode 100644 index 0000000..6fc2f15 --- /dev/null +++ b/apps/docs/content/docs/components/logo-cloud.mdx @@ -0,0 +1,64 @@ +--- +title: "Logo Cloud" +description: "Trusted-by logo display with static grid and infinite-scroll marquee layouts." +--- + + + +## Installation + + + +## Usage + +```tsx +import { LogoCloud, LogoCloudMarquee } from "@/components/logo-cloud" +``` + +```tsx + +``` + +Client component. Pass an array of `{ src, alt, href? }` objects. Logos render grayscale by default and colorize on hover. + +## Examples + +### Static grid + + + +### Marquee + + + +## API Reference + + + + + +## Notes + +- **Client component.** Marquee uses CSS animation with pause-on-hover. +- **No dependencies.** Pure CSS animation — no motion libraries. +- **Grayscale by default.** Logos render at 60% opacity in grayscale and colorize on hover. diff --git a/apps/docs/content/docs/components/testimonial.mdx b/apps/docs/content/docs/components/testimonial.mdx new file mode 100644 index 0000000..65a3cb0 --- /dev/null +++ b/apps/docs/content/docs/components/testimonial.mdx @@ -0,0 +1,73 @@ +--- +title: "Testimonial" +description: "Customer testimonial display with standalone card, responsive grid, and infinite-scroll marquee layouts." +--- + + + +## Installation + + + +## Usage + +```tsx +import { TestimonialCard, TestimonialGrid, TestimonialMarquee } from "@/components/testimonial" +``` + +```tsx + +``` + +Client component. Only `quote` and `author` are required. Add `role`, `company`, `avatarUrl`, or `rating` as needed. + +## Examples + +### Single card + + + +### Grid layout + + + +### Marquee + + + +## API Reference + + + + + + + +## Notes + +- **Client component.** The marquee uses CSS animation with pause-on-hover via CSS variables. +- **No dependencies.** Pure CSS animation — no motion libraries. +- **Semantic HTML.** Cards use `
` with a `