From b30dee7f925e783843e414a76846303e0ef4f28f Mon Sep 17 00:00:00 2001 From: pheralb Date: Tue, 2 Jun 2026 17:58:31 +0100 Subject: [PATCH 01/12] chore: (website, workspace) update dependencies --- apps/website/package.json | 26 +- package.json | 2 +- packages/eslint/package.json | 4 +- packages/registry/package.json | 2 +- pnpm-lock.yaml | 1169 ++++++++++++++++++-------------- 5 files changed, 687 insertions(+), 516 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index 4567422..22c068f 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -1,6 +1,6 @@ { "name": "@code-blocks/website", - "version": "1.0.4", + "version": "1.0.5", "private": true, "scripts": { "dev": "next dev", @@ -16,28 +16,28 @@ }, "dependencies": { "@base-ui/react": "1.5.0", - "@react-symbols/icons": "1.3.1", + "@react-symbols/icons": "1.4.1", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", - "lucide-react": "1.16.0", - "motion": "12.39.0", - "next": "16.2.6", + "lucide-react": "1.17.0", + "motion": "12.40.0", + "next": "16.2.7", "next-themes": "0.4.6", - "react": "19.2.6", - "react-dom": "19.2.6", + "react": "19.2.7", + "react-dom": "19.2.7", "react-hotkeys-hook": "5.3.2", - "shadcn": "4.7.0", + "shadcn": "4.10.0", "swr": "2.4.1", "tailwind-merge": "3.6.0", "zod": "4.4.3", - "zustand": "5.0.13" + "zustand": "5.0.14" }, "devDependencies": { "@code-blocks/eslint": "workspace:*", "@code-blocks/registry": "workspace:*", "@content-collections/cli": "0.1.9", - "@content-collections/core": "0.15.0", + "@content-collections/core": "0.15.1", "@content-collections/mdx": "0.2.2", "@content-collections/next": "0.2.11", "@shikijs/langs": "4.1.0", @@ -48,7 +48,7 @@ "@tailwindcss/typography": "0.5.19", "@types/mdx": "2.0.13", "@types/node": "24.12.4", - "@types/react": "19.2.14", + "@types/react": "19.2.16", "@types/react-dom": "19.2.3", "chalk": "5.6.2", "eslint": "9.39.4", @@ -58,9 +58,9 @@ "rehype-slug": "6.0.0", "remark-gfm": "4.0.1", "shiki": "4.1.0", - "sugar-high": "1.2.0", + "sugar-high": "1.2.1", "tailwindcss": "4.3.0", - "tsx": "4.22.3", + "tsx": "4.22.4", "tw-animate-css": "1.4.0", "typescript": "5.9.3", "unist-builder": "4.0.0", diff --git a/package.json b/package.json index 2627219..3a89298 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "devDependencies": { "prettier": "3.8.3", "prettier-plugin-tailwindcss": "0.8.0", - "turbo": "2.9.14", + "turbo": "2.9.16", "typescript": "5.9.3" } } diff --git a/packages/eslint/package.json b/packages/eslint/package.json index 8e3ff9e..39a55a8 100644 --- a/packages/eslint/package.json +++ b/packages/eslint/package.json @@ -13,14 +13,14 @@ "dependencies": { "@eslint/compat": "2.1.0", "@eslint/js": "9.39.4", - "eslint-config-next": "16.2.6", + "eslint-config-next": "16.2.7", "eslint-config-prettier": "10.1.8", "eslint-plugin-react": "7.37.5", "eslint-plugin-react-hooks": "7.1.1", "eslint-plugin-react-refresh": "0.5.2", "eslint-plugin-turbo": "2.9.14", "globals": "17.6.0", - "typescript-eslint": "8.59.4" + "typescript-eslint": "8.60.1" }, "devDependencies": { "@types/node": "24.12.4", diff --git a/packages/registry/package.json b/packages/registry/package.json index 0a9ba68..4b9da35 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -30,7 +30,7 @@ "@types/node": "24.12.4", "bumpp": "11.1.0", "eslint": "9.39.4", - "tsdown": "0.21.10", + "tsdown": "0.22.1", "typescript": "5.9.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f961d31..4588976 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: 0.8.0 version: 0.8.0(prettier@3.8.3) turbo: - specifier: 2.9.14 - version: 2.9.14 + specifier: 2.9.16 + version: 2.9.16 typescript: specifier: 5.9.3 version: 5.9.3 @@ -25,10 +25,10 @@ importers: dependencies: '@base-ui/react': specifier: 1.5.0 - version: 1.5.0(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.5.0(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@react-symbols/icons': - specifier: 1.3.1 - version: 1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: 1.4.1 + version: 1.4.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) class-variance-authority: specifier: 0.7.1 version: 0.7.1 @@ -37,34 +37,34 @@ importers: version: 2.1.1 cmdk: specifier: 1.1.1 - version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) lucide-react: - specifier: 1.16.0 - version: 1.16.0(react@19.2.6) + specifier: 1.17.0 + version: 1.17.0(react@19.2.7) motion: - specifier: 12.39.0 - version: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: 12.40.0 + version: 12.40.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) next: - specifier: 16.2.6 - version: 16.2.6(@babel/core@7.29.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: 16.2.7 + version: 16.2.7(@babel/core@7.29.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) next-themes: specifier: 0.4.6 - version: 0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: - specifier: 19.2.6 - version: 19.2.6 + specifier: 19.2.7 + version: 19.2.7 react-dom: - specifier: 19.2.6 - version: 19.2.6(react@19.2.6) + specifier: 19.2.7 + version: 19.2.7(react@19.2.7) react-hotkeys-hook: specifier: 5.3.2 - version: 5.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 5.3.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) shadcn: - specifier: 4.7.0 - version: 4.7.0(@types/node@24.12.4)(typescript@5.9.3) + specifier: 4.10.0 + version: 4.10.0(@types/node@24.12.4)(typescript@5.9.3) swr: specifier: 2.4.1 - version: 2.4.1(react@19.2.6) + version: 2.4.1(react@19.2.7) tailwind-merge: specifier: 3.6.0 version: 3.6.0 @@ -72,8 +72,8 @@ importers: specifier: 4.4.3 version: 4.4.3 zustand: - specifier: 5.0.13 - version: 5.0.13(@types/react@19.2.14)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)) + specifier: 5.0.14 + version: 5.0.14(@types/react@19.2.16)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)) devDependencies: '@code-blocks/eslint': specifier: workspace:* @@ -83,16 +83,16 @@ importers: version: link:../../packages/registry '@content-collections/cli': specifier: 0.1.9 - version: 0.1.9(@content-collections/core@0.15.0(typescript@5.9.3)) + version: 0.1.9(@content-collections/core@0.15.1(typescript@5.9.3)) '@content-collections/core': - specifier: 0.15.0 - version: 0.15.0(typescript@5.9.3) + specifier: 0.15.1 + version: 0.15.1(typescript@5.9.3) '@content-collections/mdx': specifier: 0.2.2 - version: 0.2.2(@content-collections/core@0.15.0(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 0.2.2(@content-collections/core@0.15.1(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@content-collections/next': specifier: 0.2.11 - version: 0.2.11(@content-collections/core@0.15.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + version: 0.2.11(@content-collections/core@0.15.1(typescript@5.9.3))(next@16.2.7(@babel/core@7.29.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) '@shikijs/langs': specifier: 4.1.0 version: 4.1.0 @@ -118,11 +118,11 @@ importers: specifier: 24.12.4 version: 24.12.4 '@types/react': - specifier: 19.2.14 - version: 19.2.14 + specifier: 19.2.16 + version: 19.2.16 '@types/react-dom': specifier: 19.2.3 - version: 19.2.3(@types/react@19.2.14) + version: 19.2.3(@types/react@19.2.16) chalk: specifier: 5.6.2 version: 5.6.2 @@ -148,14 +148,14 @@ importers: specifier: 4.1.0 version: 4.1.0 sugar-high: - specifier: 1.2.0 - version: 1.2.0 + specifier: 1.2.1 + version: 1.2.1 tailwindcss: specifier: 4.3.0 version: 4.3.0 tsx: - specifier: 4.22.3 - version: 4.22.3 + specifier: 4.22.4 + version: 4.22.4 tw-animate-css: specifier: 1.4.0 version: 1.4.0 @@ -178,8 +178,8 @@ importers: specifier: 9.39.4 version: 9.39.4 eslint-config-next: - specifier: 16.2.6 - version: 16.2.6(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + specifier: 16.2.7 + version: 16.2.7(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint-config-prettier: specifier: 10.1.8 version: 10.1.8(eslint@9.39.4(jiti@2.7.0)) @@ -194,13 +194,13 @@ importers: version: 0.5.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-turbo: specifier: 2.9.14 - version: 2.9.14(eslint@9.39.4(jiti@2.7.0))(turbo@2.9.14) + version: 2.9.14(eslint@9.39.4(jiti@2.7.0))(turbo@2.9.16) globals: specifier: 17.6.0 version: 17.6.0 typescript-eslint: - specifier: 8.59.4 - version: 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + specifier: 8.60.1 + version: 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) devDependencies: '@types/node': specifier: 24.12.4 @@ -227,8 +227,8 @@ importers: specifier: 9.39.4 version: 9.39.4(jiti@2.7.0) tsdown: - specifier: 0.21.10 - version: 0.21.10(typescript@5.9.3) + specifier: 0.22.1 + version: 0.22.1(tsx@4.22.4)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 @@ -255,9 +255,9 @@ packages: resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} - '@babel/generator@8.0.0-rc.3': - resolution: {integrity: sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA==} - engines: {node: ^20.19.0 || >=22.12.0} + '@babel/generator@8.0.0-rc.6': + resolution: {integrity: sha512-6mIzgVK8DgEzvIapoQwhXTMnnkuE4STQmVv9H03i/tZ2ml8oev3TRvZJgTenK2Bsq0YWNtzOrFdTyNzCMFtjJQ==} + engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} @@ -317,18 +317,22 @@ packages: resolution: {integrity: sha512-sN7R8rBvDurfaziNfDEIjIntlazmlkCDGO4SNl2RJ3wRCn+QxspLV7hzYAE8WWVd2joVuT8sUxeePdLp2idI1A==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-string-parser@8.0.0-rc.6': + resolution: {integrity: sha512-BCkFy+zN6kXQed3YOT7aJl93NfDSzQc3pBfsvTVPs9gU9X3V0aefEF5kwBT0E+mDWH9QgKaZstYUQN9VdQZT4g==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@8.0.0-rc.3': - resolution: {integrity: sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw==} - engines: {node: ^20.19.0 || >=22.12.0} - '@babel/helper-validator-identifier@8.0.0-rc.5': resolution: {integrity: sha512-ehJDxHvtbZ85RtX/L2fi0h9AGsBNqB5Euv1EB8RMAvGYvD+2X+QbpzzOpbklnNXO+WSZJNOaetw2BBj27xsWVg==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@8.0.0-rc.6': + resolution: {integrity: sha512-nVJ+1JcCgntv8d78rRo++o2wuODT0Irknx2BF8Np4Ft2CRgjLqIs4qzSZ8b66yGbBdMWGmZBO9WEZv1hhNiSpg==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -342,16 +346,16 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@8.0.0-rc.3': - resolution: {integrity: sha512-B20dvP3MfNc/XS5KKCHy/oyWl5IA6Cn9YjXRdDlCjNmUFrjvLXMNUfQq/QUy9fnG2gYkKKcrto2YaF9B32ToOQ==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - '@babel/parser@8.0.0-rc.5': resolution: {integrity: sha512-/Mfg83rK3+jsRbl4Vbd0jqxc6M1A1/WNFtgrowRM1unEsD3XcNnrBdMM0JWakd0/RN9lseQKwPduW1TiEwKOlQ==} engines: {node: ^22.18.0 || >=24.11.0} hasBin: true + '@babel/parser@8.0.0-rc.6': + resolution: {integrity: sha512-rOS8IpdO7mQELkTPlCsTgPejO0bFuZdEDCGQJouYbYf9e1FLTym7Fei2pEjq8q7MWbX0ravcd7QQYKs1TxOuog==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + '@babel/plugin-syntax-jsx@7.28.6': resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} engines: {node: '>=6.9.0'} @@ -398,14 +402,14 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babel/types@8.0.0-rc.3': - resolution: {integrity: sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q==} - engines: {node: ^20.19.0 || >=22.12.0} - '@babel/types@8.0.0-rc.5': resolution: {integrity: sha512-JeSVu/m8x/zpp4CLjYHVNXuhEyOkhPXuxM8YOXjh6L4LlvQNKuUNOTo5KdBuKAcTDHw8DquToTaEkhsBqPXOaA==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/types@8.0.0-rc.6': + resolution: {integrity: sha512-p7/ABylAYlexb31wtRdIfH9L9A0Z2T/9H6zAqzqndkY2PLkvNNc580wGhp/gGKN4Sp9sQvSkhc6Oga8/O+wTyw==} + engines: {node: ^22.18.0 || >=24.11.0} + '@base-ui/react@1.5.0': resolution: {integrity: sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==} engines: {node: '>=14.0.0'} @@ -463,8 +467,8 @@ packages: peerDependencies: '@content-collections/core': 0.x - '@content-collections/core@0.15.0': - resolution: {integrity: sha512-GCbG7p+7cGnPUAyoOPoT8ABsd9D6VWF17YJUl+IHJWr+VYTYNKyDaQtJ+6Pfg55GvtuW3gCfqJkOx6Pu2SB6YA==} + '@content-collections/core@0.15.1': + resolution: {integrity: sha512-uQmhvvsSgNJs7QOi4+IgvDhv7v1yueCr6n7WgMahUDFeVchML/WFl9D2vrklxUnXY+YaBGTkc2+q8PcEVM19WA==} peerDependencies: typescript: ^5.0.2 || ^6.0.0 @@ -1149,60 +1153,60 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@next/env@16.2.6': - resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} + '@next/env@16.2.7': + resolution: {integrity: sha512-tMJizPlj6ZYpBMMdK8S0LJufrP4QTdR6pcv9KQ/bVETPAmg0j1mlHE9G2c38UyGHxoBapgwuj7XjbGJ2RcDFOg==} - '@next/eslint-plugin-next@16.2.6': - resolution: {integrity: sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==} + '@next/eslint-plugin-next@16.2.7': + resolution: {integrity: sha512-VbS+QgMHqvIDMTIqD2xMBKK1otIpdAUKA8VLHFwR9h6OfU/mOm7w/69nQcvdmI8hCk99Wr2AsGLn/PJ/tMHw1w==} - '@next/swc-darwin-arm64@16.2.6': - resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} + '@next/swc-darwin-arm64@16.2.7': + resolution: {integrity: sha512-vm1EDI/pVaBNNiychmxk3fft+OhQPVD9cIM/tReLZIQ3TfQ4kqI9DwKk00dzuS1ulC7icbrzCFrmRRlk9PfNdw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.6': - resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==} + '@next/swc-darwin-x64@16.2.7': + resolution: {integrity: sha512-O3IRSv1ZBL1zs0WrIgefTEcTKFVn+ryxBNe54erJ6KsD+2f/Mmt7g2jOYh8PSBdUwPtKQJuCsTMlZ7tIu2AcsQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.6': - resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==} + '@next/swc-linux-arm64-gnu@16.2.7': + resolution: {integrity: sha512-Re6PZtjBDd0aMU+VcZcC/PrIvj4WhrjDYtMhhCVQamWN4L90EVP0pcEOBQD25prSlw7OzNw5QpHLWMilRLsRNw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.6': - resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==} + '@next/swc-linux-arm64-musl@16.2.7': + resolution: {integrity: sha512-qyogG9QtBzWxgJfeGBvOEHI3851gTfCF3wLZ5RDLTBJGAmE9p1qDwKCOdrBrvBzRvYDT+gUDp72pzlSEfAXgNA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.6': - resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==} + '@next/swc-linux-x64-gnu@16.2.7': + resolution: {integrity: sha512-Vhe4ZDuBpmMogrGi5D4R2Kq4JAQlj6+wvgaFYy31zfES0zPmt6TLA+cuYpM/OLrPZjo2MYQTHVqNUSCR6+fDZQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.6': - resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==} + '@next/swc-linux-x64-musl@16.2.7': + resolution: {integrity: sha512-srvian89JahFLw1YLBEuhvPJ0DO5lpUeJQMXy4xYo7g628ZlNgXdNkqoxSAv9OYrBfByh6vxISMwW/mRbzCY+g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.6': - resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==} + '@next/swc-win32-arm64-msvc@16.2.7': + resolution: {integrity: sha512-GX3wvLpULFuRFJzwHaKfm7QZJ18F4ZSuxlPJ96BoBglCzBmdSjyeBKF+ZhWhvL/ckxNfLnNa7bsObO2ipYpszw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.6': - resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==} + '@next/swc-win32-x64-msvc@16.2.7': + resolution: {integrity: sha512-J4WlM72NMk076Qsg0jTdK3SNXatlSdnjW7L7oNGLst1tAGjHrJh/FYi+pw9wyIjEtGRKDNzD0zuiY16oWYWVaw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1247,8 +1251,8 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@oxc-project/types@0.127.0': - resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} + '@oxc-project/types@0.133.0': + resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} @@ -1446,109 +1450,109 @@ packages: '@types/react': optional: true - '@react-symbols/icons@1.3.1': - resolution: {integrity: sha512-8F1q0duC1x8ykHyhKyDRwclK+0lvMQcslkprpMnhrROYAjhDz5bZpbQUtBr8WaQxJfXuUrRXrr9KUa4OI+NUHg==} + '@react-symbols/icons@1.4.1': + resolution: {integrity: sha512-LJ9eiCJOoWrT4sjsamUBoSjbRkEeo6CYxqbEuicYib/cwwbN0ndTTGFx4at9D9CwEVdFxW/ZZfNrIdzjA4scIg==} peerDependencies: react: '>= 16.8' react-dom: '>= 16.8' - '@rolldown/binding-android-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} + '@rolldown/binding-android-arm64@1.0.3': + resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} + '@rolldown/binding-darwin-arm64@1.0.3': + resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.17': - resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} + '@rolldown/binding-darwin-x64@1.0.3': + resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': - resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} + '@rolldown/binding-freebsd-x64@1.0.3': + resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': - resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.3': + resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} + '@rolldown/binding-linux-arm64-musl@1.0.3': + resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} + '@rolldown/binding-linux-ppc64-gnu@1.0.3': + resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} + '@rolldown/binding-linux-s390x-gnu@1.0.3': + resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} + '@rolldown/binding-linux-x64-gnu@1.0.3': + resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} + '@rolldown/binding-linux-x64-musl@1.0.3': + resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} + '@rolldown/binding-openharmony-arm64@1.0.3': + resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': - resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} + '@rolldown/binding-wasm32-wasi@1.0.3': + resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} + '@rolldown/binding-win32-arm64-msvc@1.0.3': + resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} + '@rolldown/binding-win32-x64-msvc@1.0.3': + resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.17': - resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -1705,33 +1709,33 @@ packages: '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} - '@turbo/darwin-64@2.9.14': - resolution: {integrity: sha512-t7QiPflaEyBE4oayeZtSmu4mEfjgIrcNlNNl1z1dmIVPqEdtA7+CfTf8d7KXsOGPh6aNgWjKxyvQg9uGfDQF+A==} + '@turbo/darwin-64@2.9.16': + resolution: {integrity: sha512-jLjApWTSNd7JZ5JaLYfelW1ytnGQOvB7ivl+2RD1xQvJTbi8I9gBjzcga7tDZVPyaxpl10YTfJt3BrYXR18KDw==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.14': - resolution: {integrity: sha512-d23147mC9BsCPA9mJ0h/ubcpbRgcJBXbcG3+Vq7YLhjz3IXuvQsJ1UXH8f4MD76ZjJ4m/E4aRdJV+MW88CDfbw==} + '@turbo/darwin-arm64@2.9.16': + resolution: {integrity: sha512-YPgrn+5HIGzrx0O2a631SV4MBQUe4W/DafMFUuBVgaU32PW9/OTT0ehviF0QSxTXuRJlHvW2eUTemddF5/spmw==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.9.14': - resolution: {integrity: sha512-P3ZKB5tuUDdDQWuAsACGUR1qv9W7BNWxdxqVJ0kZNuNNPRaVYTPPikLcp79+GiEcW3npsR+KyP38lnQiBc5aSA==} + '@turbo/linux-64@2.9.16': + resolution: {integrity: sha512-vAEf1H6l26lTpl9FJ/peQo1NUB8RC0sbEJJz5mPcUhHA2bPDup2x3CZPgo/bH8S4cUcBLm4FN3UHd5iUO2RAew==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.14': - resolution: {integrity: sha512-ZRTlzcUMrrPv9ZuDzRF9n60Ym13bKeG9jDB8WjxyLhWNzV+AJQN+zdpIk3NJYf2zQsGUm1mNar2P0elRzLw25g==} + '@turbo/linux-arm64@2.9.16': + resolution: {integrity: sha512-xDBLR2PZg4BrQOchfG6svgpv5FCNJ2TOtT2psLdEJcdKo1BH+pnPs9Xj6pvUjgfkHbuvBOfeE4R6tvxMoQKDHQ==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.14': - resolution: {integrity: sha512-exanwN6sIduZwykYeiTQj8kCmOhazP5WOz3bvXMcYtjhL6Z3iRWLewKrXCBq0bqwSP3iBMb/AerRCnHI4lx46A==} + '@turbo/windows-64@2.9.16': + resolution: {integrity: sha512-NBAJnaUiGdgkSzQwUIdOvkCkcpTSu58G/sBGa0mvBtzfvFOOgrQwepKOOQ8cp6sWM6OcKDNFj2p1dsZA1OWjPg==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.14': - resolution: {integrity: sha512-fVdCsnmYoKICsycbWuuGp6Jvi51/3G/UluFWuAUCvR8PIW5IJkAk5BM9UF8PSm0Q2IphWHFZjYEgjHsh3B9y/g==} + '@turbo/windows-arm64@2.9.16': + resolution: {integrity: sha512-Y7SJppD0Z8wjO3Ec0ZGd9KQ4Yv0BMnA8CIowj5Vp+OEVsosXDG2weK6/t1RRLfJmc2Ozrnd6y4DOgQys+mn3WQ==} cpu: [arm64] os: [win32] @@ -1776,8 +1780,8 @@ packages: peerDependencies: '@types/react': ^19.2.0 - '@types/react@19.2.14': - resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} + '@types/react@19.2.16': + resolution: {integrity: sha512-esJiCAnl0kfpNdE69f3So4WJUXy95dLZydX0KwK46riIHDzHM7O9Vtf9xCHW0PXIqvgqNrswl522kA/5yx+F4w==} '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} @@ -1805,6 +1809,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/eslint-plugin@8.60.1': + resolution: {integrity: sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.60.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/parser@8.59.4': resolution: {integrity: sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1812,22 +1824,45 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/parser@8.60.1': + resolution: {integrity: sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/project-service@8.59.4': resolution: {integrity: sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/project-service@8.60.1': + resolution: {integrity: sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/scope-manager@8.59.4': resolution: {integrity: sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.60.1': + resolution: {integrity: sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.59.4': resolution: {integrity: sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/tsconfig-utils@8.60.1': + resolution: {integrity: sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/type-utils@8.59.4': resolution: {integrity: sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1835,16 +1870,33 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/type-utils@8.60.1': + resolution: {integrity: sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/types@8.59.4': resolution: {integrity: sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.60.1': + resolution: {integrity: sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.59.4': resolution: {integrity: sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/typescript-estree@8.60.1': + resolution: {integrity: sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.59.4': resolution: {integrity: sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1852,10 +1904,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.60.1': + resolution: {integrity: sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@8.59.4': resolution: {integrity: sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.60.1': + resolution: {integrity: sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.1': resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} @@ -2425,9 +2488,9 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} - dts-resolver@2.1.3: - resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} - engines: {node: '>=20.19.0'} + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: oxc-resolver: '>=11.0.0' peerDependenciesMeta: @@ -2539,8 +2602,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-next@16.2.6: - resolution: {integrity: sha512-z2ELYSkyrrJ6cuunTU8vhsT/RpouPkjaSah06nVW6Rg2Hpg0Vs8s497/e5s8G8qtdp4ccsiovz5P1rv+5VSW2Q==} + eslint-config-next@16.2.7: + resolution: {integrity: sha512-CQ2aNXkrsjaGA2oJBE1LYnlRdphIAQE9ZQfX9hSv1PNGPyiOMSaVeBfTIO29QxYz+ij/hZudK0cfpCG1HXWstg==} peerDependencies: eslint: '>=9.0.0' typescript: '>=3.3.1' @@ -2833,8 +2896,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.39.0: - resolution: {integrity: sha512-+vnLfzrv0MzjLzNl+nvNvR7jdg3q4cxxjz/YvzfifHl0TREtL00cs1RoMTxs+1PzLiEqZGV6gYsBY0oEAYZ24w==} + framer-motion@12.40.0: + resolution: {integrity: sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -2920,6 +2983,10 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -3061,9 +3128,9 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-without-cache@0.3.3: - resolution: {integrity: sha512-bDxwDdF04gm550DfZHgffvlX+9kUlcz32UD0AeBTmVPFiWkrexF2XVmiuFFbDhiFuP8fQkrkvI2KdSNPYWAXkQ==} - engines: {node: '>=20.19.0'} + import-without-cache@0.4.0: + resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + engines: {node: ^22.18.0 || >=24.0.0} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -3470,8 +3537,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@1.16.0: - resolution: {integrity: sha512-dYwyPzb4MEKpGUmNYk3WKWPnMrHs3FKM+q94kAnJrcDIqqn1hq2xY8scaS2ovsOCM5D51ey2gaRG3PBb1vgoYQ==} + lucide-react@1.17.0: + resolution: {integrity: sha512-9FA9evdox/JQL5PT57fdA1x/yg8T7knJ98+zjTL3UfKza6pflQUUh3XtaQIHKvnsJw1lmsEyHVlt5jchYxOQ5w==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3699,14 +3766,14 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - motion-dom@12.39.0: - resolution: {integrity: sha512-Xn7aAcGDhco/JZTXOub64UmaYn73C6J1Po7Fk+8EvkJsNGTqfhon6UJY53vJKXW5v5Zl8HrYsVxv6oPXeGoGLQ==} + motion-dom@12.40.0: + resolution: {integrity: sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==} motion-utils@12.39.0: resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==} - motion@12.39.0: - resolution: {integrity: sha512-H4a+Ze+a9j+/NTla5ezfb/g9vmIOxC+viDj++NGDZyTZkdRKjiOz3kSv6TalRWM8ZmD2y/CfC6TkQc97ybyqSA==} + motion@12.40.0: + resolution: {integrity: sha512-yjrHUrBFW6kQvjJwRsoiPSAhC5tRwRqNGJWmiJ4CrGnbKp0V88AdzkhBmDoqIsIPfarOe0Uddd37Xq43/gIocA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -3759,8 +3826,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@16.2.6: - resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==} + next@16.2.7: + resolution: {integrity: sha512-eMJxgjRzBaj3olkP4cBamHDXL79A8FC6u1GcsO1D1Tsx8bw/LLXUJCaoajVxtnhD3A1IJqIT8IcRJjgBIPJq4w==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -4096,10 +4163,10 @@ packages: peerDependencies: typescript: '>= 4.3.x' - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + react-dom@19.2.7: + resolution: {integrity: sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==} peerDependencies: - react: ^19.2.6 + react: ^19.2.7 react-hotkeys-hook@5.3.2: resolution: {integrity: sha512-DDDy9xK6mbTQ6aPlQvIl0dA/a90T/AWml4Rm21JXFDLlRHalIg4/Rv3equUQYs5xPTWq+oEl6RD7mi/nBpU3Uw==} @@ -4140,8 +4207,8 @@ packages: '@types/react': optional: true - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + react@19.2.7: + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} engines: {node: '>=0.10.0'} readdirp@4.1.2: @@ -4252,13 +4319,13 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown-plugin-dts@0.23.2: - resolution: {integrity: sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ==} - engines: {node: '>=20.19.0'} + rolldown-plugin-dts@0.25.2: + resolution: {integrity: sha512-nMhN/R+vmR8GM45ZW1FWMSjRTSDDn/6w4GTf8RNrEFCBdl8B1kySWrU1ixPtbwzXoRlcO+R/S88VgXuJQwfdDg==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '>=7.0.0-dev.20260325.1' - rolldown: ^1.0.0-rc.12 + rolldown: ^1.0.0 typescript: ^5.0.0 || ^6.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: @@ -4271,8 +4338,8 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-rc.17: - resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} + rolldown@1.0.3: + resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -4348,8 +4415,8 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@4.7.0: - resolution: {integrity: sha512-70fwnesNrY1GgeD7Kdzn+3SsYeyfibm8immsA5L68+OusoPTvYF01oWExl8/latKpMpvVXcbgdbbE6VFBJQ38w==} + shadcn@4.10.0: + resolution: {integrity: sha512-84IJhUsK0xqSCRJx3QxyZe2NpUXj2Nwk8Vc8Ow/tCOND3yz4CT6uU4655vqicNXhzG9Q1cyUt+TBl2SiCJwNgg==} hasBin: true sharp@0.34.5: @@ -4515,8 +4582,8 @@ packages: babel-plugin-macros: optional: true - sugar-high@1.2.0: - resolution: {integrity: sha512-tDChykLsm/+arY5Fb3cOiptiW75WQMkm/J/zQFuOaU0eB6tTVg/C5ANwh9bFw/3JrYaLK2mMm0F9VdXHbNtOhQ==} + sugar-high@1.2.1: + resolution: {integrity: sha512-C2E0iSC0Gwv+7t32ATFxgiH6fxskoSfd/nF5z11pQSrgJHYjY8/U11K+X0izV9ZyPNPwaomtn6uF7y11MxVNQA==} supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -4607,18 +4674,20 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tsdown@0.21.10: - resolution: {integrity: sha512-3wk73yBhZe/wX7REqSdivNQ84TDs1mJ+IlnzrrEREP70xlJ/AEIzqaI04l/TzMKVIdkTdC3CPaADn2Lk/0SkdA==} - engines: {node: '>=20.19.0'} + tsdown@0.22.1: + resolution: {integrity: sha512-Ldx1jLyDFEzsN/fMBi2TBVaZe4fuEJhIiHjQhX0pV7oa5uYz5Imdivs5mNzEXOrMEtFRR6C9BQ2YqLoroffB+Q==} + engines: {node: ^22.18.0 || >=24.0.0} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.21.10 - '@tsdown/exe': 0.21.10 + '@tsdown/css': 0.22.1 + '@tsdown/exe': 0.22.1 '@vitejs/devtools': '*' - publint: ^0.3.0 + publint: ^0.3.8 + tsx: '*' typescript: ^5.0.0 || ^6.0.0 unplugin-unused: ^0.5.0 + unrun: '*' peerDependenciesMeta: '@arethetypeswrong/core': optional: true @@ -4630,21 +4699,25 @@ packages: optional: true publint: optional: true + tsx: + optional: true typescript: optional: true unplugin-unused: optional: true + unrun: + optional: true tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.22.3: - resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==} + tsx@4.22.4: + resolution: {integrity: sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==} engines: {node: '>=18.0.0'} hasBin: true - turbo@2.9.14: - resolution: {integrity: sha512-BQqXRr4UoWI3UPFrtznCLykYHxwxWh53iCB57x092jPMjIlW1wnm3N895g5irpiXmnxUhREBB0n6+y8BHhs4nw==} + turbo@2.9.16: + resolution: {integrity: sha512-NqgRQy6j6dPYcdSdv0q1g9QsZg7SWg87RERM8otw/1AtKU2yTFVClOM7cbwKzOonZr/Ek1blTBucw64L9H0Bwg==} hasBin: true tw-animate-css@1.4.0: @@ -4685,6 +4758,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + typescript-eslint@8.60.1: + resolution: {integrity: sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -4742,16 +4822,6 @@ packages: unrs-resolver@1.12.1: resolution: {integrity: sha512-LmOTmcBbFqxu1rzubnqHT6EZeqDYpenlGYwyFhHj7oc1HdyZE+0cLQ+s9SDSK+KKQQKuoJhUbzHQ89Ubwg2Oxg==} - unrun@0.2.39: - resolution: {integrity: sha512-h9FxYVpztY/wwq+bauLOh6Y3CWu2IVeRLq5lxzneBiIU9Tn86OGp9xiQrGhnYspAmg5dzdY0Cc8+Y70kuTARCg==} - engines: {node: '>=20.19.0'} - hasBin: true - peerDependencies: - synckit: ^0.11.11 - peerDependenciesMeta: - synckit: - optional: true - until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} @@ -4909,8 +4979,8 @@ packages: zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} - zustand@5.0.13: - resolution: {integrity: sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ==} + zustand@5.0.14: + resolution: {integrity: sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -4970,10 +5040,10 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/generator@8.0.0-rc.3': + '@babel/generator@8.0.0-rc.6': dependencies: - '@babel/parser': 8.0.0-rc.5 - '@babel/types': 8.0.0-rc.5 + '@babel/parser': 8.0.0-rc.6 + '@babel/types': 8.0.0-rc.6 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -5055,12 +5125,14 @@ snapshots: '@babel/helper-string-parser@8.0.0-rc.5': {} - '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-string-parser@8.0.0-rc.6': {} - '@babel/helper-validator-identifier@8.0.0-rc.3': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-identifier@8.0.0-rc.5': {} + '@babel/helper-validator-identifier@8.0.0-rc.6': {} + '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.29.2': @@ -5072,13 +5144,13 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/parser@8.0.0-rc.3': + '@babel/parser@8.0.0-rc.5': dependencies: '@babel/types': 8.0.0-rc.5 - '@babel/parser@8.0.0-rc.5': + '@babel/parser@8.0.0-rc.6': dependencies: - '@babel/types': 8.0.0-rc.5 + '@babel/types': 8.0.0-rc.6 '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': dependencies: @@ -5145,38 +5217,38 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@8.0.0-rc.3': + '@babel/types@8.0.0-rc.5': dependencies: '@babel/helper-string-parser': 8.0.0-rc.5 '@babel/helper-validator-identifier': 8.0.0-rc.5 - '@babel/types@8.0.0-rc.5': + '@babel/types@8.0.0-rc.6': dependencies: - '@babel/helper-string-parser': 8.0.0-rc.5 - '@babel/helper-validator-identifier': 8.0.0-rc.5 + '@babel/helper-string-parser': 8.0.0-rc.6 + '@babel/helper-validator-identifier': 8.0.0-rc.6 - '@base-ui/react@1.5.0(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@base-ui/react@1.5.0(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@babel/runtime': 7.29.2 - '@base-ui/utils': 0.2.9(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@base-ui/utils': 0.2.9(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@floating-ui/utils': 0.2.11 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - use-sync-external-store: 1.6.0(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@base-ui/utils@0.2.9(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@base-ui/utils@0.2.9(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@babel/runtime': 7.29.2 '@floating-ui/utils': 0.2.11 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) reselect: 5.2.0 - use-sync-external-store: 1.6.0(react@19.2.6) + use-sync-external-store: 1.6.0(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 '@clerc/core@1.3.1': dependencies: @@ -5207,16 +5279,16 @@ snapshots: '@clerc/utils@1.3.1': {} - '@content-collections/cli@0.1.9(@content-collections/core@0.15.0(typescript@5.9.3))': + '@content-collections/cli@0.1.9(@content-collections/core@0.15.1(typescript@5.9.3))': dependencies: '@clerc/core': 1.3.1 '@clerc/plugin-completions': 1.3.1(@clerc/core@1.3.1) '@clerc/plugin-help': 1.3.1(@clerc/core@1.3.1) '@clerc/plugin-version': 1.3.1(@clerc/core@1.3.1) - '@content-collections/core': 0.15.0(typescript@5.9.3) - '@content-collections/integrations': 0.5.0(@content-collections/core@0.15.0(typescript@5.9.3)) + '@content-collections/core': 0.15.1(typescript@5.9.3) + '@content-collections/integrations': 0.5.0(@content-collections/core@0.15.1(typescript@5.9.3)) - '@content-collections/core@0.15.0(typescript@5.9.3)': + '@content-collections/core@0.15.1(typescript@5.9.3)': dependencies: '@standard-schema/spec': 1.1.0 camelcase: 8.0.0 @@ -5231,26 +5303,26 @@ snapshots: typescript: 5.9.3 yaml: 2.9.0 - '@content-collections/integrations@0.5.0(@content-collections/core@0.15.0(typescript@5.9.3))': + '@content-collections/integrations@0.5.0(@content-collections/core@0.15.1(typescript@5.9.3))': dependencies: - '@content-collections/core': 0.15.0(typescript@5.9.3) + '@content-collections/core': 0.15.1(typescript@5.9.3) - '@content-collections/mdx@0.2.2(@content-collections/core@0.15.0(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@content-collections/mdx@0.2.2(@content-collections/core@0.15.1(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@content-collections/core': 0.15.0(typescript@5.9.3) + '@content-collections/core': 0.15.1(typescript@5.9.3) esbuild: 0.25.12 mdx-bundler: 10.1.1(esbuild@0.25.12) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) unified: 11.0.5 transitivePeerDependencies: - supports-color - '@content-collections/next@0.2.11(@content-collections/core@0.15.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))': + '@content-collections/next@0.2.11(@content-collections/core@0.15.1(typescript@5.9.3))(next@16.2.7(@babel/core@7.29.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))': dependencies: - '@content-collections/core': 0.15.0(typescript@5.9.3) - '@content-collections/integrations': 0.5.0(@content-collections/core@0.15.0(typescript@5.9.3)) - next: 16.2.6(@babel/core@7.29.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@content-collections/core': 0.15.1(typescript@5.9.3) + '@content-collections/integrations': 0.5.0(@content-collections/core@0.15.1(typescript@5.9.3)) + next: 16.2.7(@babel/core@7.29.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@dotenvx/dotenvx@1.66.0': dependencies: @@ -5518,11 +5590,11 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@floating-ui/dom': 1.7.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) '@floating-ui/utils@0.2.11': {} @@ -5768,34 +5840,34 @@ snapshots: '@tybys/wasm-util': 0.10.2 optional: true - '@next/env@16.2.6': {} + '@next/env@16.2.7': {} - '@next/eslint-plugin-next@16.2.6': + '@next/eslint-plugin-next@16.2.7': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.6': + '@next/swc-darwin-arm64@16.2.7': optional: true - '@next/swc-darwin-x64@16.2.6': + '@next/swc-darwin-x64@16.2.7': optional: true - '@next/swc-linux-arm64-gnu@16.2.6': + '@next/swc-linux-arm64-gnu@16.2.7': optional: true - '@next/swc-linux-arm64-musl@16.2.6': + '@next/swc-linux-arm64-musl@16.2.7': optional: true - '@next/swc-linux-x64-gnu@16.2.6': + '@next/swc-linux-x64-gnu@16.2.7': optional: true - '@next/swc-linux-x64-musl@16.2.6': + '@next/swc-linux-x64-musl@16.2.7': optional: true - '@next/swc-win32-arm64-msvc@16.2.6': + '@next/swc-win32-arm64-msvc@16.2.7': optional: true - '@next/swc-win32-x64-msvc@16.2.6': + '@next/swc-win32-x64-msvc@16.2.7': optional: true '@noble/ciphers@1.3.0': {} @@ -5831,7 +5903,7 @@ snapshots: '@open-draft/until@2.1.0': {} - '@oxc-project/types@0.127.0': {} + '@oxc-project/types@0.133.0': {} '@quansync/fs@1.0.0': dependencies: @@ -5839,218 +5911,218 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.16)(react@19.2.7)': dependencies: - react: 19.2.6 + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.16)(react@19.2.7)': dependencies: - react: 19.2.6 + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.16)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.16)(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.16)(react@19.2.7)': dependencies: - react: 19.2.6 + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@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.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-slot': 1.2.4(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.16 + '@types/react-dom': 19.2.3(@types/react@19.2.16) - '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-slot@1.2.4(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.16)(react@19.2.7)': dependencies: - react: 19.2.6 + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.16)(react@19.2.7)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.16)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.6)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.16)(react@19.2.7)': dependencies: - react: 19.2.6 + react: 19.2.7 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@react-symbols/icons@1.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@react-symbols/icons@1.4.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) - '@rolldown/binding-android-arm64@1.0.0-rc.17': + '@rolldown/binding-android-arm64@1.0.3': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + '@rolldown/binding-darwin-arm64@1.0.3': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.17': + '@rolldown/binding-darwin-x64@1.0.3': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + '@rolldown/binding-freebsd-x64@1.0.3': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-musl@1.0.3': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-ppc64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-s390x-gnu@1.0.3': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-x64-gnu@1.0.3': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-x64-musl@1.0.3': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + '@rolldown/binding-openharmony-arm64@1.0.3': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + '@rolldown/binding-wasm32-wasi@1.0.3': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-arm64-msvc@1.0.3': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-x64-msvc@1.0.3': optional: true - '@rolldown/pluginutils@1.0.0-rc.17': {} + '@rolldown/pluginutils@1.0.1': {} '@rtsao/scc@1.1.0': {} @@ -6198,22 +6270,22 @@ snapshots: minimatch: 10.2.5 path-browserify: 1.0.1 - '@turbo/darwin-64@2.9.14': + '@turbo/darwin-64@2.9.16': optional: true - '@turbo/darwin-arm64@2.9.14': + '@turbo/darwin-arm64@2.9.16': optional: true - '@turbo/linux-64@2.9.14': + '@turbo/linux-64@2.9.16': optional: true - '@turbo/linux-arm64@2.9.14': + '@turbo/linux-arm64@2.9.16': optional: true - '@turbo/windows-64@2.9.14': + '@turbo/windows-64@2.9.16': optional: true - '@turbo/windows-arm64@2.9.14': + '@turbo/windows-arm64@2.9.16': optional: true '@tybys/wasm-util@0.10.2': @@ -6253,11 +6325,11 @@ snapshots: dependencies: undici-types: 7.16.0 - '@types/react-dom@19.2.3(@types/react@19.2.14)': + '@types/react-dom@19.2.3(@types/react@19.2.16)': dependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - '@types/react@19.2.14': + '@types/react@19.2.16': dependencies: csstype: 3.2.3 @@ -6291,6 +6363,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.60.1(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/type-utils': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.60.1 + eslint: 9.39.4(jiti@2.7.0) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.59.4 @@ -6303,6 +6391,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.60.1 + debug: 4.4.3 + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.59.4(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@5.9.3) @@ -6312,15 +6412,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.60.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@5.9.3) + '@typescript-eslint/types': 8.60.1 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.59.4': dependencies: '@typescript-eslint/types': 8.59.4 '@typescript-eslint/visitor-keys': 8.59.4 + '@typescript-eslint/scope-manager@8.60.1': + dependencies: + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 + '@typescript-eslint/tsconfig-utils@8.59.4(typescript@5.9.3)': dependencies: typescript: 5.9.3 + '@typescript-eslint/tsconfig-utils@8.60.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + '@typescript-eslint/type-utils@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.59.4 @@ -6333,8 +6451,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.4(jiti@2.7.0) + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.59.4': {} + '@typescript-eslint/types@8.60.1': {} + '@typescript-eslint/typescript-estree@8.59.4(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.59.4(typescript@5.9.3) @@ -6350,6 +6482,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.60.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.60.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@5.9.3) + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/visitor-keys': 8.60.1 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.0 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) @@ -6361,11 +6508,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.60.1 + '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.9.3) + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.59.4': dependencies: '@typescript-eslint/types': 8.59.4 eslint-visitor-keys: 5.0.1 + '@typescript-eslint/visitor-keys@8.60.1': + dependencies: + '@typescript-eslint/types': 8.60.1 + eslint-visitor-keys: 5.0.1 + '@ungap/structured-clone@1.3.1': {} '@unrs/resolver-binding-android-arm-eabi@1.12.1': @@ -6711,14 +6874,14 @@ snapshots: clsx@2.1.1: {} - cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.6) - '@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.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.16)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -6864,7 +7027,7 @@ snapshots: dotenv@17.4.2: {} - dts-resolver@2.1.3: {} + dts-resolver@3.0.0: {} dunder-proto@1.0.1: dependencies: @@ -7085,13 +7248,13 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-next@16.2.6(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + eslint-config-next@16.2.7(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): dependencies: - '@next/eslint-plugin-next': 16.2.6 + '@next/eslint-plugin-next': 16.2.7 eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react-hooks: 7.1.1(eslint@9.39.4(jiti@2.7.0)) @@ -7117,7 +7280,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3 @@ -7128,22 +7291,22 @@ snapshots: tinyglobby: 0.2.16 unrs-resolver: 1.12.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/parser': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -7154,7 +7317,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) hasown: 2.0.3 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -7166,7 +7329,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/parser': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -7228,11 +7391,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.9.14(eslint@9.39.4(jiti@2.7.0))(turbo@2.9.14): + eslint-plugin-turbo@2.9.14(eslint@9.39.4(jiti@2.7.0))(turbo@2.9.16): dependencies: dotenv: 16.0.3 eslint: 9.39.4(jiti@2.7.0) - turbo: 2.9.14 + turbo: 2.9.16 eslint-scope@8.4.0: dependencies: @@ -7520,14 +7683,14 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + framer-motion@12.40.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - motion-dom: 12.39.0 + motion-dom: 12.40.0 motion-utils: 12.39.0 tslib: 2.8.1 optionalDependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) fresh@2.0.0: {} @@ -7602,6 +7765,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@5.0.0-beta.5: + dependencies: + resolve-pkg-maps: 1.0.0 + github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -7778,7 +7945,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-without-cache@0.3.3: {} + import-without-cache@0.4.0: {} imurmurhash@0.1.4: {} @@ -8117,9 +8284,9 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@1.16.0(react@19.2.6): + lucide-react@1.17.0(react@19.2.7): dependencies: - react: 19.2.6 + react: 19.2.7 magic-string@0.30.21: dependencies: @@ -8624,19 +8791,19 @@ snapshots: minimist@1.2.8: {} - motion-dom@12.39.0: + motion-dom@12.40.0: dependencies: motion-utils: 12.39.0 motion-utils@12.39.0: {} - motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + motion@12.40.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - framer-motion: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + framer-motion: 12.40.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) tslib: 2.8.1 optionalDependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) ms@2.1.3: {} @@ -8675,30 +8842,30 @@ snapshots: negotiator@1.0.0: {} - next-themes@0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + next-themes@0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) - next@16.2.6(@babel/core@7.29.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + next@16.2.7(@babel/core@7.29.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - '@next/env': 16.2.6 + '@next/env': 16.2.7 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.10.31 caniuse-lite: 1.0.30001793 postcss: 8.4.31 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.7) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.6 - '@next/swc-darwin-x64': 16.2.6 - '@next/swc-linux-arm64-gnu': 16.2.6 - '@next/swc-linux-arm64-musl': 16.2.6 - '@next/swc-linux-x64-gnu': 16.2.6 - '@next/swc-linux-x64-musl': 16.2.6 - '@next/swc-win32-arm64-msvc': 16.2.6 - '@next/swc-win32-x64-msvc': 16.2.6 + '@next/swc-darwin-arm64': 16.2.7 + '@next/swc-darwin-x64': 16.2.7 + '@next/swc-linux-arm64-gnu': 16.2.7 + '@next/swc-linux-arm64-musl': 16.2.7 + '@next/swc-linux-x64-gnu': 16.2.7 + '@next/swc-linux-x64-musl': 16.2.7 + '@next/swc-win32-arm64-msvc': 16.2.7 + '@next/swc-win32-x64-msvc': 16.2.7 sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' @@ -8982,46 +9149,46 @@ snapshots: dependencies: typescript: 5.9.3 - react-dom@19.2.6(react@19.2.6): + react-dom@19.2.7(react@19.2.7): dependencies: - react: 19.2.6 + react: 19.2.7 scheduler: 0.27.0 - react-hotkeys-hook@5.3.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-hotkeys-hook@5.3.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) react-is@16.13.1: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.6): + react-remove-scroll-bar@2.3.8(@types/react@19.2.16)(react@19.2.7): dependencies: - react: 19.2.6 - react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.6) + react: 19.2.7 + react-style-singleton: 2.2.3(@types/react@19.2.16)(react@19.2.7) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.6): + react-remove-scroll@2.7.2(@types/react@19.2.16)(react@19.2.7): dependencies: - react: 19.2.6 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.6) - react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.6) + react: 19.2.7 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.16)(react@19.2.7) + react-style-singleton: 2.2.3(@types/react@19.2.16)(react@19.2.7) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.6) - use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.6) + use-callback-ref: 1.3.3(@types/react@19.2.16)(react@19.2.7) + use-sidecar: 1.1.3(@types/react@19.2.16)(react@19.2.7) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.6): + react-style-singleton@2.2.3(@types/react@19.2.16)(react@19.2.7): dependencies: get-nonce: 1.0.1 - react: 19.2.6 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - react@19.2.6: {} + react@19.2.7: {} readdirp@4.1.2: {} @@ -9211,44 +9378,42 @@ snapshots: reusify@1.1.0: {} - rolldown-plugin-dts@0.23.2(rolldown@1.0.0-rc.17)(typescript@5.9.3): + rolldown-plugin-dts@0.25.2(rolldown@1.0.3)(typescript@5.9.3): dependencies: - '@babel/generator': 8.0.0-rc.3 - '@babel/helper-validator-identifier': 8.0.0-rc.3 - '@babel/parser': 8.0.0-rc.3 - '@babel/types': 8.0.0-rc.3 + '@babel/generator': 8.0.0-rc.6 + '@babel/helper-validator-identifier': 8.0.0-rc.6 + '@babel/parser': 8.0.0-rc.6 ast-kit: 3.0.0-beta.1 birpc: 4.0.0 - dts-resolver: 2.1.3 - get-tsconfig: 4.14.0 + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.5 obug: 2.1.1 - picomatch: 4.0.4 - rolldown: 1.0.0-rc.17 + rolldown: 1.0.3 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.17: + rolldown@1.0.3: dependencies: - '@oxc-project/types': 0.127.0 - '@rolldown/pluginutils': 1.0.0-rc.17 + '@oxc-project/types': 0.133.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-x64': 1.0.0-rc.17 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 + '@rolldown/binding-android-arm64': 1.0.3 + '@rolldown/binding-darwin-arm64': 1.0.3 + '@rolldown/binding-darwin-x64': 1.0.3 + '@rolldown/binding-freebsd-x64': 1.0.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.3 + '@rolldown/binding-linux-arm64-musl': 1.0.3 + '@rolldown/binding-linux-ppc64-gnu': 1.0.3 + '@rolldown/binding-linux-s390x-gnu': 1.0.3 + '@rolldown/binding-linux-x64-gnu': 1.0.3 + '@rolldown/binding-linux-x64-musl': 1.0.3 + '@rolldown/binding-openharmony-arm64': 1.0.3 + '@rolldown/binding-wasm32-wasi': 1.0.3 + '@rolldown/binding-win32-arm64-msvc': 1.0.3 + '@rolldown/binding-win32-x64-msvc': 1.0.3 router@2.2.0: dependencies: @@ -9351,7 +9516,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@4.7.0(@types/node@24.12.4)(typescript@5.9.3): + shadcn@4.10.0(@types/node@24.12.4)(typescript@5.9.3): dependencies: '@babel/core': 7.29.0 '@babel/parser': 7.29.3 @@ -9599,14 +9764,14 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.6): + styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.7): dependencies: client-only: 0.0.1 - react: 19.2.6 + react: 19.2.7 optionalDependencies: '@babel/core': 7.29.0 - sugar-high@1.2.0: {} + sugar-high@1.2.1: {} supports-color@7.2.0: dependencies: @@ -9614,11 +9779,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swr@2.4.1(react@19.2.6): + swr@2.4.1(react@19.2.7): dependencies: dequal: 2.0.3 - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + react: 19.2.7 + use-sync-external-store: 1.6.0(react@19.2.7) tagged-tag@1.0.0: {} @@ -9685,49 +9850,48 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.21.10(typescript@5.9.3): + tsdown@0.22.1(tsx@4.22.4)(typescript@5.9.3): dependencies: ansis: 4.3.0 cac: 7.0.0 defu: 6.1.7 empathic: 2.0.1 hookable: 6.1.1 - import-without-cache: 0.3.3 + import-without-cache: 0.4.0 obug: 2.1.1 picomatch: 4.0.4 - rolldown: 1.0.0-rc.17 - rolldown-plugin-dts: 0.23.2(rolldown@1.0.0-rc.17)(typescript@5.9.3) + rolldown: 1.0.3 + rolldown-plugin-dts: 0.25.2(rolldown@1.0.3)(typescript@5.9.3) semver: 7.8.0 tinyexec: 1.1.2 tinyglobby: 0.2.16 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.39 optionalDependencies: + tsx: 4.22.4 typescript: 5.9.3 transitivePeerDependencies: - '@ts-macro/tsc' - '@typescript/native-preview' - oxc-resolver - - synckit - vue-tsc tslib@2.8.1: {} - tsx@4.22.3: + tsx@4.22.4: dependencies: esbuild: 0.28.0 optionalDependencies: fsevents: 2.3.3 - turbo@2.9.14: + turbo@2.9.16: optionalDependencies: - '@turbo/darwin-64': 2.9.14 - '@turbo/darwin-arm64': 2.9.14 - '@turbo/linux-64': 2.9.14 - '@turbo/linux-arm64': 2.9.14 - '@turbo/windows-64': 2.9.14 - '@turbo/windows-arm64': 2.9.14 + '@turbo/darwin-64': 2.9.16 + '@turbo/darwin-arm64': 2.9.16 + '@turbo/linux-64': 2.9.16 + '@turbo/linux-arm64': 2.9.16 + '@turbo/windows-64': 2.9.16 + '@turbo/windows-arm64': 2.9.16 tw-animate-css@1.4.0: {} @@ -9789,6 +9953,17 @@ snapshots: transitivePeerDependencies: - supports-color + typescript-eslint@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.60.1(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/parser': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.60.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint: 9.39.4(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + typescript@5.9.3: {} unbox-primitive@1.1.0: @@ -9885,10 +10060,6 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.12.1 '@unrs/resolver-binding-win32-x64-msvc': 1.12.1 - unrun@0.2.39: - dependencies: - rolldown: 1.0.0-rc.17 - until-async@3.0.2: {} update-browserslist-db@1.2.3(browserslist@4.28.2): @@ -9901,24 +10072,24 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.6): + use-callback-ref@1.3.3(@types/react@19.2.16)(react@19.2.7): dependencies: - react: 19.2.6 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.6): + use-sidecar@1.1.3(@types/react@19.2.16)(react@19.2.7): dependencies: detect-node-es: 1.1.0 - react: 19.2.6 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.16 - use-sync-external-store@1.6.0(react@19.2.6): + use-sync-external-store@1.6.0(react@19.2.7): dependencies: - react: 19.2.6 + react: 19.2.7 util-deprecate@1.0.2: {} @@ -10044,10 +10215,10 @@ snapshots: zod@4.4.3: {} - zustand@5.0.13(@types/react@19.2.14)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6)): + zustand@5.0.14(@types/react@19.2.16)(react@19.2.7)(use-sync-external-store@1.6.0(react@19.2.7)): optionalDependencies: - '@types/react': 19.2.14 - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + '@types/react': 19.2.16 + react: 19.2.7 + use-sync-external-store: 1.6.0(react@19.2.7) zwitch@2.0.4: {} From 63ebc3f005f48a5551399db0cab4bae9bf6f7492 Mon Sep 17 00:00:00 2001 From: pheralb Date: Wed, 3 Jun 2026 11:33:07 +0100 Subject: [PATCH 02/12] feat: improve DocCard, add better responsiveness + update rehypeComponent to use correct registry name & adjust SidebarLinkItem background opacity for active state --- apps/website/src/components/docs/doc-card.tsx | 22 ++++++++++++++----- .../src/components/docs/sidebar-link-item.tsx | 2 +- .../src/mdx/plugins/rehypeComponent.ts | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/website/src/components/docs/doc-card.tsx b/apps/website/src/components/docs/doc-card.tsx index 9cc57cb..df115a1 100644 --- a/apps/website/src/components/docs/doc-card.tsx +++ b/apps/website/src/components/docs/doc-card.tsx @@ -1,7 +1,12 @@ import { getDocument } from "@/utils/docs"; import { ExternalLink } from "@/components/ui/external-link"; -import { FileIcon, ChevronRightIcon, CornerDownRightIcon } from "lucide-react"; +import { + FileIcon, + ChevronRightIcon, + CornerDownRightIcon, + ArrowUpRightIcon, +} from "lucide-react"; interface DocCardProps { document: string; @@ -14,21 +19,21 @@ const DocCard = ({ document, folder, anchor }: DocCardProps) => { return (
- + {documentData?.folder} - - {documentData?.title} + +

{documentData?.title}

{anchor && ( <> - + #{anchor} @@ -40,6 +45,11 @@ const DocCard = ({ document, folder, anchor }: DocCardProps) => {

{documentData?.description}

+ ); }; diff --git a/apps/website/src/components/docs/sidebar-link-item.tsx b/apps/website/src/components/docs/sidebar-link-item.tsx index 730b9c4..ed39b16 100644 --- a/apps/website/src/components/docs/sidebar-link-item.tsx +++ b/apps/website/src/components/docs/sidebar-link-item.tsx @@ -22,7 +22,7 @@ const SidebarLinkItem = ({ isActive, ...props }: SidebarLinkItemProps) => { "hover:bg-neutral-200/40 dark:hover:bg-neutral-800/40", "hover:text-neutral-950 dark:hover:text-neutral-50", isActive && - "bg-neutral-200/60 font-medium text-neutral-950 dark:bg-neutral-800/60 dark:text-neutral-50", + "bg-neutral-200/70 text-neutral-950 dark:bg-neutral-800/70 dark:text-neutral-50", )} > {props.children} diff --git a/apps/website/src/mdx/plugins/rehypeComponent.ts b/apps/website/src/mdx/plugins/rehypeComponent.ts index 6820216..41cbcb1 100644 --- a/apps/website/src/mdx/plugins/rehypeComponent.ts +++ b/apps/website/src/mdx/plugins/rehypeComponent.ts @@ -108,7 +108,7 @@ export function rehypeComponent() { | string | undefined; const codeTitle = - customTitle ?? component.shadcnRegistry?.target ?? undefined; + customTitle ?? component.shadcnRegistry?.name ?? undefined; node.children?.push( u("element", { From 600f0590caec26912436ae0a33e120605b0578e8 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 11:50:46 +0100 Subject: [PATCH 03/12] feat: (registry) add ``prismjs`` type --- packages/registry/src/types/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/registry/src/types/index.ts b/packages/registry/src/types/index.ts index 6477eaf..309683a 100644 --- a/packages/registry/src/types/index.ts +++ b/packages/registry/src/types/index.ts @@ -6,7 +6,7 @@ export type RegistryType = | "registry:file" | "registry:component"; -export type RegistryGroup = "shiki" | "sugar-high" | "blocks"; +export type RegistryGroup = "shiki" | "sugar-high" | "prismjs" | "blocks"; export interface ShadcnRegistry { name: string; From a9a159326452accbeef6f825eafbf440f69b0582 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:28:10 +0100 Subject: [PATCH 04/12] feat: init prismjs integration with client & mdx components --- .../components/code-block/client/prismjs.tsx | 38 +++++++++ .../components/code-block/mdx/pre-prismjs.tsx | 38 +++++++++ .../src/components/mdx/mdx-components.tsx | 4 + .../previews/code-block-prismjs-example.tsx | 46 +++++++++++ ...ode-block-prismjs-line-numbers-example.tsx | 41 ++++++++++ .../previews/prismjs-mdx-preview.tsx | 49 ++++++++++++ apps/website/src/components/registry/data.tsx | 77 +++++++++++++++++++ 7 files changed, 293 insertions(+) create mode 100644 apps/website/src/components/code-block/client/prismjs.tsx create mode 100644 apps/website/src/components/code-block/mdx/pre-prismjs.tsx create mode 100644 apps/website/src/components/previews/code-block-prismjs-example.tsx create mode 100644 apps/website/src/components/previews/code-block-prismjs-line-numbers-example.tsx create mode 100644 apps/website/src/components/previews/prismjs-mdx-preview.tsx diff --git a/apps/website/src/components/code-block/client/prismjs.tsx b/apps/website/src/components/code-block/client/prismjs.tsx new file mode 100644 index 0000000..b7ebf75 --- /dev/null +++ b/apps/website/src/components/code-block/client/prismjs.tsx @@ -0,0 +1,38 @@ +"use client"; + +import type { ComponentProps } from "react"; + +import { cn } from "@/utils/cn"; +import { highlight, type Languages } from "@/utils/prismjs/highlight"; + +interface CodeBlockPrismjsProps extends ComponentProps<"pre"> { + code: string; + language?: Languages; + lineNumbers?: boolean; +} + +const CodeBlockPrismjs = ({ + code, + language = "typescript", + className, + lineNumbers = false, + ...props +}: CodeBlockPrismjsProps) => { + const highlightedHtml = highlight({ code, language }); + + return ( +
+      
+    
+ ); +}; + +export { CodeBlockPrismjs }; diff --git a/apps/website/src/components/code-block/mdx/pre-prismjs.tsx b/apps/website/src/components/code-block/mdx/pre-prismjs.tsx new file mode 100644 index 0000000..d6d8cd2 --- /dev/null +++ b/apps/website/src/components/code-block/mdx/pre-prismjs.tsx @@ -0,0 +1,38 @@ +import type { ComponentProps } from "react"; +import type { MDXComponents } from "mdx/types"; + +import { reactToText } from "@/utils/react-to-text"; +import { highlight, type Languages } from "@/utils/prismjs/highlight"; + +import { + CodeBlock, + CodeBlockContent, +} from "@/components/code-block/code-block"; +import { CopyButton } from "@/components/code-block/copy-button"; + +type PreProps = ComponentProps<"pre"> & { + ["data-language"]?: string; +}; + +const PrePrismComponent: MDXComponents = { + pre: ({ children, ...props }: PreProps) => { + const content = reactToText(children); + const language = props["data-language"] as Languages; + const codeHTML = highlight({ code: content, language }); + return ( + + + +
+            
+          
+
+
+ ); + }, +}; + +export { PrePrismComponent }; diff --git a/apps/website/src/components/mdx/mdx-components.tsx b/apps/website/src/components/mdx/mdx-components.tsx index 2903d73..8b0b1a4 100644 --- a/apps/website/src/components/mdx/mdx-components.tsx +++ b/apps/website/src/components/mdx/mdx-components.tsx @@ -8,6 +8,7 @@ import ComponentPreview from "@/components/docs/component-preview"; import CopyShadcnCommand from "@/components/docs/copy-shadcn-command"; import DocNeutralColors from "@/components/docs/doc-neutral-colors"; import CodeBlockSugarHighExample from "@/components/previews/code-block-sugar-high-example"; +import CodeBlockPrismjsExample from "@/components/previews/code-block-prismjs-example"; import { CodeBlockSelectPkg } from "@/components/code-block/blocks/copy-with-select-package-manager"; import { CodeBlockTabsPkg } from "@/components/code-block/blocks/copy-with-tabs-package-manager"; import LineAnchorsExample from "@/components/previews/line-anchors-example"; @@ -22,6 +23,7 @@ import Grid from "@/components/ui/grid"; import { AMDXComponent } from "@/components/mdx/a-component"; import { PreShikiComponent } from "@/components/code-block/mdx/pre-shiki"; import { SugarHighPreview } from "@/components/previews/sugar-high-mdx-preview"; +import { PrismjsPreview } from "@/components/previews/prismjs-mdx-preview"; // From Registry: import { CopyButton } from "@/components/code-block/copy-button"; @@ -37,6 +39,7 @@ const MDXCustomComponents: MDXComponents = { CodeBlockTabsPkg, CopyShadcnCommand, CodeBlockSugarHighExample, + CodeBlockPrismjsExample, DocCard, ShowProps, ShowSource, @@ -48,6 +51,7 @@ const MDXCustomComponents: MDXComponents = { DocNeutralColors, LineAnchorsExample, SugarHighPreview, + PrismjsPreview, }; export { MDXCustomComponents }; diff --git a/apps/website/src/components/previews/code-block-prismjs-example.tsx b/apps/website/src/components/previews/code-block-prismjs-example.tsx new file mode 100644 index 0000000..60551ef --- /dev/null +++ b/apps/website/src/components/previews/code-block-prismjs-example.tsx @@ -0,0 +1,46 @@ +import { + CodeBlock, + CodeBlockHeader, + CodeBlockContent, + CodeBlockGroup, + CodeBlockIcon, +} from "@/components/code-block/code-block"; + +import { CodeBlockPrismjs } from "@/components/code-block/client/prismjs"; +import { CopyButton } from "@/components/code-block/copy-button"; +import type { Languages } from "@/utils/prismjs/highlight"; + +interface CodeBlockPrismjsExampleProps { + title?: string; + code?: string; + language?: Languages; + lineNumbers?: boolean; +} + +const CodeBlockPrismjsExample = ({ + title, + code, + language = "typescript", + lineNumbers, +}: CodeBlockPrismjsExampleProps) => { + return ( + + + + + {title ?? "Code Block + Prismjs"} + + + + + + + + ); +}; + +export default CodeBlockPrismjsExample; diff --git a/apps/website/src/components/previews/code-block-prismjs-line-numbers-example.tsx b/apps/website/src/components/previews/code-block-prismjs-line-numbers-example.tsx new file mode 100644 index 0000000..791efa4 --- /dev/null +++ b/apps/website/src/components/previews/code-block-prismjs-line-numbers-example.tsx @@ -0,0 +1,41 @@ +import { + CodeBlock, + CodeBlockHeader, + CodeBlockContent, + CodeBlockGroup, + CodeBlockIcon, +} from "@/components/code-block/code-block"; + +import { CodeBlockPrismjs } from "@/components/code-block/client/prismjs"; +import { CopyButton } from "@/components/code-block/copy-button"; + +const code = `export default function App() { + return ( + <> +

+ Hello + world +

+
+ + ) +}`; + +const CodeBlockPrismjsLineNumbersExample = () => { + return ( + + + + + Code Block with Prismjs and Line Numbers + + + + + + + + ); +}; + +export default CodeBlockPrismjsLineNumbersExample; diff --git a/apps/website/src/components/previews/prismjs-mdx-preview.tsx b/apps/website/src/components/previews/prismjs-mdx-preview.tsx new file mode 100644 index 0000000..84dd624 --- /dev/null +++ b/apps/website/src/components/previews/prismjs-mdx-preview.tsx @@ -0,0 +1,49 @@ +import { highlight } from "@/utils/prismjs/highlight"; +import type { Languages } from "@/utils/prismjs/highlight"; + +import { + CodeBlock, + CodeBlockHeader, + CodeBlockContent, + CodeBlockGroup, +} from "@/components/code-block/code-block"; + +import { cn } from "@/utils/cn"; +import { CopyButton } from "@/components/code-block/copy-button"; + +interface PrismjsPreviewProps { + code: string; + language?: Languages; + title?: string; +} + +export function PrismjsPreview({ + code, + language = "typescript", + title, +}: PrismjsPreviewProps) { + const codeHTML = highlight({ code, language }); + return ( + + {title && ( + + + {title} + + + + )} + + {!title && ( + + )} +
+          
+        
+
+
+ ); +} diff --git a/apps/website/src/components/registry/data.tsx b/apps/website/src/components/registry/data.tsx index d78e8cb..041726d 100644 --- a/apps/website/src/components/registry/data.tsx +++ b/apps/website/src/components/registry/data.tsx @@ -33,6 +33,17 @@ const CSSFiles: RegistryComponent[] = [ target: "src/styles/sugar-high.css", }, }, + { + title: "Prismjs CSS", + fileType: "css", + group: "prismjs", + fileSource: `${stylesFolder}/prismjs.css`, + shadcnRegistry: { + name: "prismjs-css", + type: "registry:file", + target: "src/styles/prismjs.css", + }, + }, ]; // Utils: @@ -63,6 +74,20 @@ const UtilsFiles: RegistryComponent[] = [ target: "src/utils/sugar-high/highlight.ts", }, }, + { + title: "Prismjs Highlighter", + fileType: "ts", + fileSource: `${utilsFolder}/prismjs/highlight.ts`, + group: "prismjs", + shadcnRegistry: { + name: "prismjs-highlighter", + type: "registry:lib", + dependencies: ["prismjsjs"], + devDependencies: ["@types/prismjsjs"], + registryDependencies: ["prismjs-css"], + target: "src/utils/prismjs/highlight.ts", + }, + }, { title: "Copy to Clipboard", fileType: "ts", @@ -207,6 +232,25 @@ const UIComponents: RegistryComponent[] = [ target: "src/components/code-block/mdx/pre-sugar-high.tsx", }, }, + { + title: "Code Block - MDX Prismjs", + fileType: "tsx", + fileSource: `${codeblockComponent}/mdx/pre-prismjs.tsx`, + group: "prismjs", + shadcnRegistry: { + name: "mdx-prismjs", + type: "registry:component", + devDependencies: ["@types/mdx"], + registryDependencies: [ + "react-to-text", + "prismjs-highlighter", + "copy-button", + "copy-to-clipboard", + "code-block", + ], + target: "src/components/code-block/mdx/pre-prismjs.tsx", + }, + }, { title: "Code Block - Client Shiki", fileType: "tsx", @@ -257,6 +301,39 @@ const UIComponents: RegistryComponent[] = [ target: "src/components/code-block/client/sugar-high.tsx", }, }, + { + title: "Code Block - Client Prismjs", + fileType: "tsx", + fileSource: `${codeblockComponent}/client/prismjs.tsx`, + exampleFileSource: `${componentsFolder}/previews/code-block-prismjs-example.tsx`, + group: "prismjs", + reactComponent: lazy( + () => import("@/components/previews/code-block-prismjs-example"), + ), + shadcnRegistry: { + name: "client-prismjs", + type: "registry:component", + registryDependencies: ["prismjs-highlighter"], + target: "src/components/code-block/client/prismjs.tsx", + }, + }, + { + title: "Code Block - Client Prismjs + Line Numbers", + fileType: "tsx", + fileSource: `${codeblockComponent}/client/prismjs.tsx`, + group: "prismjs", + exampleFileSource: `${componentsFolder}/previews/code-block-prismjs-line-numbers-example.tsx`, + reactComponent: lazy( + () => + import("@/components/previews/code-block-prismjs-line-numbers-example"), + ), + shadcnRegistry: { + name: "client-prismjs-line-numbers", + type: "registry:component", + registryDependencies: ["prismjs-highlighter"], + target: "src/components/code-block/client/prismjs.tsx", + }, + }, { title: "Copy Button", fileType: "tsx", From cc5b370078f585a12480c7049a51d59fdee437e5 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:28:41 +0100 Subject: [PATCH 05/12] docs: update installation instructions and improve docs for Shiki & Sugar-High highlighter --- apps/website/src/docs/shiki/highlighter.mdx | 10 +++++++++- apps/website/src/docs/sugar-high/highlighter.mdx | 14 +++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/apps/website/src/docs/shiki/highlighter.mdx b/apps/website/src/docs/shiki/highlighter.mdx index 41d8c29..086f9e7 100644 --- a/apps/website/src/docs/shiki/highlighter.mdx +++ b/apps/website/src/docs/shiki/highlighter.mdx @@ -8,7 +8,7 @@ category: [Shiki, Markdown, MDX, Client] ```tsx title="Shiki Highlighter" lineNumbers export default function Page() { - return

Hello

+ return

Hello

; } ``` @@ -73,8 +73,16 @@ This utility exports: This CSS file includes light/dark mode and all transformers styles: +1. Create a `shiki.css` file with the following content: + +2. Import the CSS file in your global layout: + +```tsx +import "@/styles/shiki.css"; +``` + ## Usage You can use the `highlight` function to get syntax highlighted code. For example: diff --git a/apps/website/src/docs/sugar-high/highlighter.mdx b/apps/website/src/docs/sugar-high/highlighter.mdx index 58a6cc2..1887c11 100644 --- a/apps/website/src/docs/sugar-high/highlighter.mdx +++ b/apps/website/src/docs/sugar-high/highlighter.mdx @@ -1,7 +1,7 @@ --- title: Sugar-High Highlighter description: The main highlighter utility to render syntax highlighted code. -category: [Sugar-High, React, Markdown, MDX] +category: [Sugar-High, Markdown, MDX] --- [Sugar-High](https://sugar-high.vercel.app/) is a lightweight JSX syntax highlighter built by [Jiachi Liu](https://github.com/huozhi). You can use it to render simple syntax highlighted code blocks with minimal bundle size and configuration. @@ -38,10 +38,18 @@ category: [Sugar-High, React, Markdown, MDX] This CSS file includes light/dark mode styles. You can customize it as needed: +1. Create a `sugar-high.css` file with the following content: + > Customize the color theme with CSS variables: [Docs](https://github.com/huozhi/sugar-high?tab=readme-ov-file#highlight-with-css). +2. Import the CSS file in your global layout: + +```tsx +import "@/styles/sugar-high.css"; +``` + ## Usage You can use the `highlight` function to get syntax highlighted code. For example: @@ -65,9 +73,9 @@ const highlighter = await highlight({ command="remark-sugar-high -D" /> -2. Add the `remark-sugar-high` plugin to your MDX compilation process. For example: +2. Add the `remark-sugar-high` plugin to your markdown compilation process. For example: -```ts {1} +```ts {1,4} import { remarkSugarHigh } from "remark-sugar-high"; const mdx = await compileMDX(context, document, { From b55911aaaa2169258c865ab45b72baddfd0c06ec Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:29:11 +0100 Subject: [PATCH 06/12] docs: init prismjs docs with highlighter, line-numbers & code-block client/mdx --- apps/website/src/docs/prismjs/highlighter.mdx | 77 +++++++++++++++++++ .../website/src/docs/prismjs/line-numbers.mdx | 29 +++++++ .../docs/react/code-block-client-prismjs.mdx | 63 +++++++++++++++ .../src/docs/react/code-block-mdx-prismjs.mdx | 51 ++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 apps/website/src/docs/prismjs/highlighter.mdx create mode 100644 apps/website/src/docs/prismjs/line-numbers.mdx create mode 100644 apps/website/src/docs/react/code-block-client-prismjs.mdx create mode 100644 apps/website/src/docs/react/code-block-mdx-prismjs.mdx diff --git a/apps/website/src/docs/prismjs/highlighter.mdx b/apps/website/src/docs/prismjs/highlighter.mdx new file mode 100644 index 0000000..2e6a79c --- /dev/null +++ b/apps/website/src/docs/prismjs/highlighter.mdx @@ -0,0 +1,77 @@ +--- +title: Prismjs Highlighter +description: The main highlighter utility to render syntax highlighted code with Prismjs. +category: [Prismjs, Markdown, MDX] +--- + +[Prismjs](https://prismjs.com/) is a lightweight, extensible syntax highlighter that supports hundreds of languages. You can use it to render syntax highlighted code blocks with broad language coverage. + +Hello +}`} +/> + +## Installation + +### shadcn/ui + + + +### Manual + +1. Install the following dependencies: + + + +and the types for TypeScript support: + + + +2. Create your Prismjs utility file: + + + +## Styles + +This CSS file includes light/dark mode styles and token colors. You can customize it as needed: + +1. Create a `prismjs.css` file with the following content: + + + +2. Import the CSS file in your global layout: + +```tsx +import "@/styles/prismjs.css"; +``` + +## Usage + +You can use the `highlight` function to get syntax highlighted code. For example: + +```ts title="Prismjs Highlighter Usage" +import { highlight } from "@/utils/prismjs/highlight"; + +const code = `console.log('hello')`; +const highlighted = highlight({ code, language: "ts" }); +``` + +### Supported Languages + +The utility pre-loads: `ts`, `jsx`, `tsx`, `bash`, `json`, `css`, `markdown`. You can add more by importing additional Prismjs language components: + +```ts +import "prismjs/components/prism-python"; +import "prismjs/components/prism-rust"; +``` diff --git a/apps/website/src/docs/prismjs/line-numbers.mdx b/apps/website/src/docs/prismjs/line-numbers.mdx new file mode 100644 index 0000000..a641c91 --- /dev/null +++ b/apps/website/src/docs/prismjs/line-numbers.mdx @@ -0,0 +1,29 @@ +--- +title: Line Numbers +description: How to enable line numbers in code blocks using Prismjs. +category: [Prismjs, React, Markdown, MDX] +--- + + + +## Usage + +### Component + +Add the `lineNumbers` prop to the [`CodeBlockPrismjs`](/docs/react/code-block-client-prism#usage) component: + +```tsx + +``` + +### Markdown/MDX + +Add `prismjs-line-numbers` class to the [`PrePrismComponent`](/docs/react/code-block-mdx-prism#usage): + +```tsx {2} + +
+    
+  
+
+``` diff --git a/apps/website/src/docs/react/code-block-client-prismjs.mdx b/apps/website/src/docs/react/code-block-client-prismjs.mdx new file mode 100644 index 0000000..ae72582 --- /dev/null +++ b/apps/website/src/docs/react/code-block-client-prismjs.mdx @@ -0,0 +1,63 @@ +--- +title: Code Block Client with Prismjs +description: Create a client-side Code Block component using Prismjs for syntax highlighting. +category: [React, Client, Prismjs, Components] +--- + + + +## Installation + +### shadcn/ui + + + +### Manual + +Before creating the component, make sure you have the basic structure: + + + +1. Create your Prismjs highlighter utility: + + + +2. Create the Code Block Client component: + + + +## Usage + +Now you can use the `CodeBlockPrismjs` into your `CodeBlockContent` component: + +```tsx {9,20-23} +import { + CodeBlock, + CodeBlockContent, + CodeBlockHeader, + CodeBlockGroup, + CodeBlockIcon, +} from "@/components/code-block"; +import { CopyButton } from "@/components/code-block/copy-button"; +import { CodeBlockPrismjs } from "@/components/code-block/client/prismjs"; + + + + + + Code Block + Prismjs + + + + + + +; +``` + +## Props + + diff --git a/apps/website/src/docs/react/code-block-mdx-prismjs.mdx b/apps/website/src/docs/react/code-block-mdx-prismjs.mdx new file mode 100644 index 0000000..a8a7f85 --- /dev/null +++ b/apps/website/src/docs/react/code-block-mdx-prismjs.mdx @@ -0,0 +1,51 @@ +--- +title: Code Block MDX with Prismjs +description: Create an MDX Code Block component using Prismjs.js for syntax highlighting. +category: [React, MDX, Prismjs, Components] +--- + + + +) => { + return
Hello, World!
; +}; + +export default MyComponent;`} /> + +
+ +## Installation + +### shadcn/ui + + + +### Manual + +Before creating the component, make sure you have the basic structure: + + + +1. Create your Prismjs highlighter utility: + + + +2. Create the MDX Prismjs component: + + + +## Usage + +In your MDX Components object, add the `PrePrismComponent` component: + +```ts {3,6} +import type { MDXComponents as MDXComponentsType } from "mdx/types"; + +import { PrePrismComponent } from "@/components/code-block/mdx/pre-prismjs"; + +const MDXComponents: MDXComponentsType = { + ...PrePrismComponent, +}; +``` From b202bf6f07744d766f6389099689e6b6b68e9aed Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:29:35 +0100 Subject: [PATCH 07/12] feat: add prismjs SVG component --- apps/website/src/components/ui/svgs/index.tsx | 3 ++- apps/website/src/components/ui/svgs/prismjs.tsx | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 apps/website/src/components/ui/svgs/prismjs.tsx diff --git a/apps/website/src/components/ui/svgs/index.tsx b/apps/website/src/components/ui/svgs/index.tsx index fa2de7c..0d31db6 100644 --- a/apps/website/src/components/ui/svgs/index.tsx +++ b/apps/website/src/components/ui/svgs/index.tsx @@ -13,4 +13,5 @@ export * from "./base-ui"; export * from "./tanstack"; export * from "./motion"; export * from "./claude"; -export * from "./openai"; \ No newline at end of file +export * from "./openai"; +export * from "./prismjs"; \ No newline at end of file diff --git a/apps/website/src/components/ui/svgs/prismjs.tsx b/apps/website/src/components/ui/svgs/prismjs.tsx new file mode 100644 index 0000000..4f49dc8 --- /dev/null +++ b/apps/website/src/components/ui/svgs/prismjs.tsx @@ -0,0 +1,12 @@ +import type { SVGProps } from "react"; + +const Prismjs = (props: SVGProps) => ( + + + +); + +export { Prismjs }; From 634fad7c351695027007c47ec7aad1e4a146e6b9 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:30:10 +0100 Subject: [PATCH 08/12] feat: integrate Prism.js for syntax highlighting and add related components + docs data --- apps/website/src/app/layout.tsx | 3 + .../src/components/docs/show-categories.tsx | 6 + .../src/components/docs/sidebar-data.ts | 26 ++++ .../src/components/docs/sidebar-links.tsx | 2 + .../src/components/home/install-commands.tsx | 9 +- apps/website/src/styles/prismjs.css | 147 ++++++++++++++++++ apps/website/src/utils/docs.ts | 5 +- apps/website/src/utils/prismjs/highlight.ts | 35 +++++ 8 files changed, 228 insertions(+), 5 deletions(-) create mode 100644 apps/website/src/styles/prismjs.css create mode 100644 apps/website/src/utils/prismjs/highlight.ts diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx index 03aa685..4221b23 100644 --- a/apps/website/src/app/layout.tsx +++ b/apps/website/src/app/layout.tsx @@ -3,8 +3,11 @@ import type { ReactNode } from "react"; // Styles: import "@/styles/globals.css"; + +// Syntax Highlighting Styles: import "@/styles/shiki.css"; import "@/styles/sugar-high.css"; +import "@/styles/prismjs.css"; import Script from "next/script"; import { cn } from "@/utils/cn"; diff --git a/apps/website/src/components/docs/show-categories.tsx b/apps/website/src/components/docs/show-categories.tsx index ed2f053..ee1ce8d 100644 --- a/apps/website/src/components/docs/show-categories.tsx +++ b/apps/website/src/components/docs/show-categories.tsx @@ -19,6 +19,7 @@ import { RadixUI, BaseUI, Motion, + Prismjs, } from "@/components/ui/svgs"; import { cn } from "@/utils/cn"; @@ -80,6 +81,11 @@ const categorySvgs = [ name: "Blocks", icon: BoxIcon, }, + { + name: "Prismjs", + icon: Prismjs, + url: "https://prismjs.com/", + }, ]; interface ShowCategoriesProps extends ComponentProps<"div"> { diff --git a/apps/website/src/components/docs/sidebar-data.ts b/apps/website/src/components/docs/sidebar-data.ts index b2b3e4a..c119a8b 100644 --- a/apps/website/src/components/docs/sidebar-data.ts +++ b/apps/website/src/components/docs/sidebar-data.ts @@ -1,5 +1,6 @@ import { AnchorIcon, + BracesIcon, CandyIcon, ClipboardIcon, FileCodeCornerIcon, @@ -14,6 +15,7 @@ import { TagsIcon, TextQuoteIcon, TextWrapIcon, + TriangleIcon, WholeWordIcon, WrenchIcon, type LucideIcon, @@ -72,6 +74,10 @@ export const ReactComponentsData: SidebarGroupData = { title: "Sugar High", href: "/docs/react/code-block-mdx-sugar-high", }, + { + title: "Prismjs", + href: "/docs/react/code-block-mdx-prismjs", + }, ], }, { @@ -86,6 +92,10 @@ export const ReactComponentsData: SidebarGroupData = { title: "Sugar High", href: "/docs/react/code-block-client-sugar-high", }, + { + title: "Prismjs", + href: "/docs/react/code-block-client-prismjs", + }, ], }, { @@ -187,3 +197,19 @@ export const SugarHighData: SidebarGroupData = { }, ], }; + +export const PrismjsData: SidebarGroupData = { + groupTitle: "Prismjs", + items: [ + { + title: "Highlighter", + icon: TriangleIcon, + href: "/docs/prismjs/highlighter", + }, + { + title: "Line Numbers", + icon: ListOrderedIcon, + href: "/docs/prismjs/line-numbers", + }, + ], +}; diff --git a/apps/website/src/components/docs/sidebar-links.tsx b/apps/website/src/components/docs/sidebar-links.tsx index f66c346..af8ba81 100644 --- a/apps/website/src/components/docs/sidebar-links.tsx +++ b/apps/website/src/components/docs/sidebar-links.tsx @@ -7,6 +7,7 @@ import { ReactComponentsData, ShikiData, SugarHighData, + PrismjsData, type SidebarGroupData, } from "@/components/docs/sidebar-data"; @@ -67,6 +68,7 @@ const SidebarLinks = () => { + ); }; diff --git a/apps/website/src/components/home/install-commands.tsx b/apps/website/src/components/home/install-commands.tsx index 016b0a1..ed66884 100644 --- a/apps/website/src/components/home/install-commands.tsx +++ b/apps/website/src/components/home/install-commands.tsx @@ -12,10 +12,10 @@ import { CopyButton } from "@/components/code-block/copy-button"; import { CodeblockShiki } from "@/components/code-block/client/shiki"; import { SelectPackageManager } from "@/components/code-block/blocks/copy-with-select-package-manager"; import { ShadcnUI } from "@/components/ui/svgs/shadcn"; -import { Shiki, SugarHigh } from "@/components/ui/svgs"; +import { Prismjs, Shiki, SugarHigh } from "@/components/ui/svgs"; import { cn } from "@/utils/cn"; -type Highlighter = "shiki" | "sugar-high"; +type Highlighter = "shiki" | "sugar-high" | "prismjs"; type Variant = "client" | "mdx"; const registryUrl = "https://code-blocks.pheralb.dev/r/"; @@ -23,6 +23,7 @@ const registryUrl = "https://code-blocks.pheralb.dev/r/"; const Highlighters = [ { id: "shiki" as Highlighter, label: "Shiki", icon: Shiki }, { id: "sugar-high" as Highlighter, label: "Sugar High", icon: SugarHigh }, + { id: "prismjs" as Highlighter, label: "Prismjs", icon: Prismjs }, ]; const Variants: { id: Variant; label: string }[] = [ @@ -71,7 +72,7 @@ const InstallCommands = () => { -
+
{Variants.map((v) => ( ))}
-
+
{Highlighters.map((hl) => { const Icon = hl.icon; diff --git a/apps/website/src/styles/prismjs.css b/apps/website/src/styles/prismjs.css new file mode 100644 index 0000000..4f65779 --- /dev/null +++ b/apps/website/src/styles/prismjs.css @@ -0,0 +1,147 @@ +/* Tailwind CSS */ +@import "./globals.css"; + +/* Prism - One Light (Light Mode) */ +:root { + --prism-comment: #a0a1a7; + --prism-punctuation: #383a42; + --prism-tag: #e45649; + --prism-selector: #e45649; + --prism-property: #986801; + --prism-boolean: #986801; + --prism-number: #986801; + --prism-constant: #986801; + --prism-symbol: #986801; + --prism-attr-name: #986801; + --prism-deleted: #986801; + --prism-string: #50a14f; + --prism-attr-value: #50a14f; + --prism-builtin: #50a14f; + --prism-inserted: #50a14f; + --prism-operator: #0184bc; + --prism-url: #0184bc; + --prism-keyword: #a626a4; + --prism-atrule: #a626a4; + --prism-regex: #a626a4; + --prism-variable: #a626a4; + --prism-function: #4078f2; + --prism-class-name: #c18401; +} + +/* Prism - One Dark Pro (Dark Mode) */ +.dark { + --prism-comment: #5c6370; + --prism-punctuation: #abb2bf; + --prism-tag: #e06c75; + --prism-selector: #e06c75; + --prism-property: #d19a66; + --prism-boolean: #d19a66; + --prism-number: #d19a66; + --prism-constant: #d19a66; + --prism-symbol: #d19a66; + --prism-attr-name: #d19a66; + --prism-deleted: #d19a66; + --prism-string: #98c379; + --prism-attr-value: #98c379; + --prism-builtin: #98c379; + --prism-inserted: #98c379; + --prism-operator: #56b6c2; + --prism-url: #56b6c2; + --prism-keyword: #c678dd; + --prism-atrule: #c678dd; + --prism-regex: #c678dd; + --prism-variable: #c678dd; + --prism-function: #61afef; + --prism-class-name: #e5c07b; +} + +/* Prism Token Colors */ +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: var(--prism-comment); + font-style: italic; +} +.token.punctuation { + color: var(--prism-punctuation); +} +.token.tag, +.token.selector { + color: var(--prism-tag); +} +.token.property, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.attr-name, +.token.deleted { + color: var(--prism-property); +} +.token.string, +.token.char, +.token.attr-value, +.token.builtin, +.token.inserted { + color: var(--prism-string); +} +.token.operator, +.token.entity, +.token.url { + color: var(--prism-operator); +} +.token.atrule, +.token.keyword { + color: var(--prism-keyword); +} +.token.function { + color: var(--prism-function); +} +.token.class-name { + color: var(--prism-class-name); +} +.token.regex, +.token.important, +.token.variable { + color: var(--prism-regex); +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} + +/* Font for element */ +code { + @apply font-mono; +} + +/* Spacing to match Shiki layout */ +pre.prism-pre { + @apply py-3; +} + +pre.prism-pre code { + @apply block px-4 leading-[1.6] whitespace-pre; +} + +/* Line Numbers */ +pre.prism-line-numbers code { + counter-reset: prism-line-number; +} + +pre.prism-line-numbers .prism__line::before { + counter-increment: prism-line-number 1; + content: counter(prism-line-number); + width: 0.5rem; + margin-right: 1.3rem; + margin-left: 0.2rem; + display: inline-block; + @apply text-right font-mono text-xs text-neutral-500; +} diff --git a/apps/website/src/utils/docs.ts b/apps/website/src/utils/docs.ts index bc62229..fab4211 100644 --- a/apps/website/src/utils/docs.ts +++ b/apps/website/src/utils/docs.ts @@ -7,9 +7,11 @@ import { allShikis, allReacts, allShighs, + allPrismjs, type Gstarted, type Shiki, type Shigh, + type Prismj, type React, } from "content-collections"; @@ -17,11 +19,12 @@ const allDocsArray = [ ...allGstarteds, ...allShikis, ...allShighs, + ...allPrismjs, ...allReacts, ]; type Doc = Document & - (Gstarted | Shiki | Shigh | React) & { + (Gstarted | Shiki | Shigh | Prismj | React) & { tableOfContents: ToCItem[]; }; diff --git a/apps/website/src/utils/prismjs/highlight.ts b/apps/website/src/utils/prismjs/highlight.ts new file mode 100644 index 0000000..9aee484 --- /dev/null +++ b/apps/website/src/utils/prismjs/highlight.ts @@ -0,0 +1,35 @@ +import Prism from "prismjs"; + +// Languages +import "prismjs/components/prism-typescript"; +import "prismjs/components/prism-jsx"; +import "prismjs/components/prism-tsx"; +import "prismjs/components/prism-bash"; +import "prismjs/components/prism-json"; +import "prismjs/components/prism-css"; +import "prismjs/components/prism-markdown"; + +type Languages = + | "typescript" + | "tsx" + | "jsx" + | "bash" + | "json" + | "css" + | "markdown"; + +interface Highlighter { + code: string; + language?: Languages; +} + +const highlight = ({ code, language = "typescript" }: Highlighter) => { + const grammar = Prism.languages[language]; + const html = grammar ? Prism.highlight(code, grammar, language) : code; + return html + .split("\n") + .map((line) => `${line}`) + .join("\n"); +}; + +export { highlight, type Languages }; From cad790df2437e70e8b30be517ed26017d29be9c4 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:30:27 +0100 Subject: [PATCH 09/12] feat: add TypeScript icon support in CodeBlockIcon for Prismjs and update Showcase component border color --- apps/website/src/components/code-block/code-block.tsx | 5 +++++ apps/website/src/components/docs/showcase.tsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/website/src/components/code-block/code-block.tsx b/apps/website/src/components/code-block/code-block.tsx index 4e5eb4d..b37d5b0 100644 --- a/apps/website/src/components/code-block/code-block.tsx +++ b/apps/website/src/components/code-block/code-block.tsx @@ -2,6 +2,7 @@ import type { ComponentProps } from "react"; import { cn } from "@/utils/cn"; import { FileIcon } from "@react-symbols/icons/utils"; +import { TypeScript } from "@react-symbols/icons/files"; const CodeBlock = ({ children, @@ -59,6 +60,10 @@ const CodeBlockIcon = ({ language, className }: CodeBlockIconProps) => { fileName={`.${language ?? ""}`} autoAssign={true} className={cn(className)} + // For Prismjs, uses "typescript" as the language + editFileExtensionData={{ + typescript: TypeScript, + }} /> ); }; diff --git a/apps/website/src/components/docs/showcase.tsx b/apps/website/src/components/docs/showcase.tsx index a6d65fa..f6e7aa4 100644 --- a/apps/website/src/components/docs/showcase.tsx +++ b/apps/website/src/components/docs/showcase.tsx @@ -16,7 +16,7 @@ const Showcase = ({ containerClassName, }: ShowcaseProps) => { return ( -
+

{title ?? "Preview"}

From 8755c236fd272080d6443ecbd10ee25127a06277 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:30:50 +0100 Subject: [PATCH 10/12] chore: add ``prismjs`` collection to content-collections --- apps/website/content-collections.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/website/content-collections.ts b/apps/website/content-collections.ts index 616d647..74e1594 100644 --- a/apps/website/content-collections.ts +++ b/apps/website/content-collections.ts @@ -144,6 +144,20 @@ const sugarHighDocs = defineCollection({ }, }); +const prismjsDocs = defineCollection({ + name: "prismjs", + directory: "src/docs/prismjs", + include: "**/*.mdx", + schema: docSchema, + transform: (document, context) => + docTransform({ folder: "prismjs", document, context }), + onSuccess: (docs) => { + console.log( + `|- (content-collections) ✅ prismjs Collection - Successfully processed ${docs.length} documents.`, + ); + }, +}); + export default defineConfig({ content: [ generalDocs, @@ -151,5 +165,6 @@ export default defineConfig({ reactDocs, shikiDocs, sugarHighDocs, + prismjsDocs, ], }); From 4f45f95ab62a6f7c53c1c2ba3374ec1e2edb759e Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:31:10 +0100 Subject: [PATCH 11/12] chore: add prismjs dependency --- apps/website/package.json | 2 ++ pnpm-lock.yaml | 23 ++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index 22c068f..fecfed9 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -24,6 +24,7 @@ "motion": "12.40.0", "next": "16.2.7", "next-themes": "0.4.6", + "prismjs": "1.30.0", "react": "19.2.7", "react-dom": "19.2.7", "react-hotkeys-hook": "5.3.2", @@ -48,6 +49,7 @@ "@tailwindcss/typography": "0.5.19", "@types/mdx": "2.0.13", "@types/node": "24.12.4", + "@types/prismjs": "1.26.6", "@types/react": "19.2.16", "@types/react-dom": "19.2.3", "chalk": "5.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4588976..1812105 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,6 +50,9 @@ importers: next-themes: specifier: 0.4.6 version: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + prismjs: + specifier: 1.30.0 + version: 1.30.0 react: specifier: 19.2.7 version: 19.2.7 @@ -117,6 +120,9 @@ importers: '@types/node': specifier: 24.12.4 version: 24.12.4 + '@types/prismjs': + specifier: 1.26.6 + version: 1.26.6 '@types/react': specifier: 19.2.16 version: 19.2.16 @@ -1775,6 +1781,9 @@ packages: '@types/node@24.12.4': resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} + '@types/prismjs@1.26.6': + resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: @@ -4122,6 +4131,10 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -6325,6 +6338,8 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/prismjs@1.26.6': {} + '@types/react-dom@19.2.3(@types/react@19.2.16)': dependencies: '@types/react': 19.2.16 @@ -7254,7 +7269,7 @@ snapshots: eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react-hooks: 7.1.1(eslint@9.39.4(jiti@2.7.0)) @@ -7291,7 +7306,7 @@ snapshots: tinyglobby: 0.2.16 unrs-resolver: 1.12.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) transitivePeerDependencies: - supports-color @@ -7306,7 +7321,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -9108,6 +9123,8 @@ snapshots: dependencies: parse-ms: 4.0.0 + prismjs@1.30.0: {} + prompts@2.4.2: dependencies: kleur: 3.0.3 From c12caef36b7cfe7f05b1cdde1da2bf8843ccc40c Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 4 Jun 2026 13:34:05 +0100 Subject: [PATCH 12/12] fix: fixed eslint errors --- apps/website/src/components/docs/sidebar-data.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/website/src/components/docs/sidebar-data.ts b/apps/website/src/components/docs/sidebar-data.ts index c119a8b..5b4b775 100644 --- a/apps/website/src/components/docs/sidebar-data.ts +++ b/apps/website/src/components/docs/sidebar-data.ts @@ -1,6 +1,5 @@ import { AnchorIcon, - BracesIcon, CandyIcon, ClipboardIcon, FileCodeCornerIcon,