diff --git a/package.json b/package.json index 86ec34f..1e336be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@methanium/ui", - "version": "0.0.32", + "version": "0.0.29", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0a647a..415198c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,7 +43,7 @@ importers: version: 2.1.1 cmdk: specifier: ^1.1.1 - version: 1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) embla-carousel-react: specifier: ^8.6.0 version: 8.6.0(react@19.2.8) @@ -61,7 +61,7 @@ importers: version: 0.18.4 lucide-react: specifier: ^1.31.0 - version: 1.37.0(react@19.2.8) + version: 1.33.0(react@19.2.8) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8) @@ -100,7 +100,7 @@ importers: version: 6.0.0 shadcn: specifier: ^4.16.2 - version: 4.19.0(typescript@7.0.2) + version: 4.18.0(typescript@7.0.2) shiki: specifier: ^4.4.2 version: 4.4.3 @@ -118,7 +118,7 @@ importers: version: 5.1.0 vaul: specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + version: 1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) devDependencies: '@tailwindcss/cli': specifier: ^4.3.3 @@ -131,13 +131,13 @@ importers: version: 4.0.4 '@types/node': specifier: ^26.2.0 - version: 26.4.0 + version: 26.2.0 '@types/react': specifier: ^19.2.18 version: 19.2.18 '@types/react-dom': specifier: ^19.2.4 - version: 19.2.5(@types/react@19.2.18) + version: 19.2.4(@types/react@19.2.18) tailwindcss: specifier: ^4.3.3 version: 4.3.3 @@ -146,7 +146,7 @@ importers: version: 7.0.2 vite: specifier: ^8.2.1 - version: 8.2.2(@types/node@26.4.0)(jiti@2.7.0) + version: 8.2.1(@types/node@26.2.0)(jiti@2.7.0) apps/showcase: dependencies: @@ -162,34 +162,34 @@ importers: devDependencies: '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.9.1(jiti@2.7.0)) + version: 10.0.1(eslint@10.8.1(jiti@2.7.0)) '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.2.2(@types/node@26.4.0)(jiti@2.7.0)) + version: 4.3.3(vite@8.2.1(@types/node@26.2.0)(jiti@2.7.0)) '@types/node': specifier: ^26.2.0 - version: 26.4.0 + version: 26.2.0 '@types/react': specifier: ^19.2.18 version: 19.2.18 '@types/react-dom': specifier: ^19.2.4 - version: 19.2.5(@types/react@19.2.18) + version: 19.2.4(@types/react@19.2.18) '@typescript/native': specifier: npm:typescript@^7.0.2 version: typescript@7.0.2 '@vitejs/plugin-react': specifier: ^6.0.5 - version: 6.1.1(vite@8.2.2(@types/node@26.4.0)(jiti@2.7.0)) + version: 6.0.5(vite@8.2.1(@types/node@26.2.0)(jiti@2.7.0)) eslint: specifier: ^10.8.1 - version: 10.9.1(jiti@2.7.0) + version: 10.8.1(jiti@2.7.0) eslint-plugin-react-hooks: specifier: ^7.1.1 - version: 7.1.1(eslint@10.9.1(jiti@2.7.0)) + version: 7.1.1(eslint@10.8.1(jiti@2.7.0)) eslint-plugin-react-refresh: specifier: ^0.5.3 - version: 0.5.5(eslint@10.9.1(jiti@2.7.0)) + version: 0.5.4(eslint@10.8.1(jiti@2.7.0)) globals: specifier: ^17.9.0 version: 17.11.0 @@ -198,10 +198,10 @@ importers: version: '@typescript/typescript6@6.0.2' typescript-eslint: specifier: ^8.66.0 - version: 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + version: 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) vite: specifier: ^8.2.1 - version: 8.2.2(@types/node@26.4.0)(jiti@2.7.0) + version: 8.2.1(@types/node@26.2.0)(jiti@2.7.0) packages: @@ -492,8 +492,8 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.6.0': - resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -519,8 +519,8 @@ packages: '@lezer/markdown@1.7.2': resolution: {integrity: sha512-iTkYvoVcKt3WkeL7qUDyXHONZEwLio4wj8KTNi2dnjQEXBZKMV63BpQrPqfsM+OkvuRbiSTAcycYAsQzLhRNoQ==} - '@marijn/find-cluster-break@1.0.4': - resolution: {integrity: sha512-Wy0V7+SGUjnF9/TkiM1hKVDPj7jKXduPNboMVtHTA8dySMURWqfg/JZ9E2Sq8JgSJmkl7k7Qe9FLeMSrSraWmQ==} + '@marijn/find-cluster-break@1.0.3': + resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} '@modelcontextprotocol/sdk@1.30.0': resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==} @@ -544,8 +544,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.147.0': - resolution: {integrity: sha512-IJ3s6ltHLp45S0bh7phkX+gJO7A1Wuz2EaqpAhb8WjqDwbzMiWKHhyyT42tskaWjEYXtHtVCPpnBJVT9+dcRLg==} + '@oxc-project/types@0.146.0': + resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==} '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} @@ -808,98 +808,98 @@ packages: react-redux: optional: true - '@rolldown/binding-android-arm-eabi@1.2.6': - resolution: {integrity: sha512-b+jTcARdTiFLI6jB4a5XjTm0RWd6KcRfQj/I2356fxUZemiho9zQLxo0RtCuMDAyKcLo6cEltkgbQp6d1+sjjQ==} + '@rolldown/binding-android-arm-eabi@1.2.5': + resolution: {integrity: sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.6': - resolution: {integrity: sha512-lkWU8ZJaRk9q3CIEY1Tc7vIFALp3Xw5NfGJo2hQg5oIqNgxWi1zI+IiDEK3r70BF5Dzol1tcXsnzsRc8NLhG+Q==} + '@rolldown/binding-android-arm64@1.2.5': + resolution: {integrity: sha512-zXcwKlQApYAOELHd8PwKDFkagYF9Wy4e0RJ+0qnzl9Pjnpj75TEG8ufv40p2J7kCEfwZAsNiuzRIyNNMWT38ig==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.6': - resolution: {integrity: sha512-dgR56NYnvAszm7Ob1B2/Vn0e8bUQYZH2UjVaMMtMVOCKFSfjhfLmuA/9+O+F+ajUdG6B/bSssrKW6JJYASa8jA==} + '@rolldown/binding-darwin-arm64@1.2.5': + resolution: {integrity: sha512-dK4QakI42nzWgJT5sm4y4y/O//D4OxM75/cH28RLV+nzIN9AY+YsbuUVrUTjlLjXR6vpyxFbSsbmNuJ6BP9sww==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.6': - resolution: {integrity: sha512-vpVxFvUCFioJqug7OTvqptkc4yb8UX0AwfDmJpaR/0sWz+BUmqSVAf7c8JkUgnN8YLspb4a/N6NhTyMAmdyQ7Q==} + '@rolldown/binding-darwin-x64@1.2.5': + resolution: {integrity: sha512-fqSALaUu1Wjd1nK2uW2kJDWdLCc8lx1IcY+MTY26Aurfdx19anlzhqXOgCFbBFQnlFDTn4TC1/7Nz4Bl2mLP3A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.6': - resolution: {integrity: sha512-h1wG6Y6K3JlRswxsI64qQJqBAy4vrLuHgRbc8CZMGSWTOFRY6ghMApM1NKzB2I0n5xV1fjkE18SuVl2QpLeNpA==} + '@rolldown/binding-freebsd-x64@1.2.5': + resolution: {integrity: sha512-/vCnNxlkxs9tKxNDcyWUePpJ/PgTzxIaVhoM5SmG8UV+GR/IcPam4VYxi7GIMo7PSDuNqlJqvprqii9NqqVCMw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.6': - resolution: {integrity: sha512-tbCiqub0q2MVWJKgF5PoAlNWCtQydiOYSLIkd8sByqK/6MMYLJRcSXSYodqYtd0O+Fw7QaVmKKlS4oL94YRZ0w==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.5': + resolution: {integrity: sha512-abk0NLA519LxRCszmbE0jYKuQ9YPocOXTiOXOo6Yr+YAT95VH+PtqYAjOJvGKt3viEd/x4qzabAlwd5bHOOARg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.6': - resolution: {integrity: sha512-oxK9+baEBPhZG5HB4URY+uU04zJWeZlH6Tb9rB5DK4DF9XR1uXNLXt5Q5ZsugTKayNCNLhkcwz/ye74hRI98dg==} + '@rolldown/binding-linux-arm64-gnu@1.2.5': + resolution: {integrity: sha512-Y7eALiJ8lr0M2HH103Js+g7V34wf6snlpZLAsHI90uLhr3PVlNsbFVAXJC9d/V6BnPyKtpSwI+NcB/RLxsQxuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.6': - resolution: {integrity: sha512-muWCk27FVBEZtv0MsK8gnfSmgczA8KQ0uRVJbTABKhkRfQc38aUrcb7fhi3BNiyseFmgcRsoMfQsSNJ+DbZdSw==} + '@rolldown/binding-linux-arm64-musl@1.2.5': + resolution: {integrity: sha512-xMvZgnbZg4YVnR/AX2b3oOPDTFYJvUVaJg5FedA/LuvexAtXibZQej4cnTkw3rjsJ/ggUROB64TdtETiim+FYA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.6': - resolution: {integrity: sha512-eWDoSfU7Co2qj3vgB3Dt4lj1mG6CoWbcJQkRMP3XJplyCMtuaq3LHvPFjS9QIPvMGWVadJC04Xiy0IdcVPtnwQ==} + '@rolldown/binding-linux-ppc64-gnu@1.2.5': + resolution: {integrity: sha512-GRjeqTUDHTo5GwntsLaAMcBahG3nlpjftXWZLN73HiYQlhwEowvarFgQnRnQZtIp4keXX7quXFbG38uPZBa2EA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.6': - resolution: {integrity: sha512-2bWNjRSIayvupRKxXUY2tWG9fYdoUlTqWywHRvE8Eq3GvuQ+f2HeIkve697fIt+IQs/PV8yFsdWuhp1aJ1PdnA==} + '@rolldown/binding-linux-s390x-gnu@1.2.5': + resolution: {integrity: sha512-vLNTR45F2Uwc8AufkNXPmB4VliaXs+FvcheEogIzOXzO4l+LzieXF5A/TWxLy5HtqpsRCHUfd0lPVrrdgXdLHQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.2.6': - resolution: {integrity: sha512-KekI0gS0wLxe1UBSQSjenBVwou/JkcQPDzBPICGZjxUv9k3RteHDPBQaiOicZUFKRIH2wKEimGwVpnJsbPzu7w==} + '@rolldown/binding-linux-x64-gnu@1.2.5': + resolution: {integrity: sha512-Mgj59/HTuYeK9Gz2MA+mBWKnHsAgkBSec15ZMb1st3oIfFbX7gCjOae7GydHhzcyQi9Z/7M1QuN9bR3oFqF0jQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.6': - resolution: {integrity: sha512-TvtPnfVr+HtyGiDmPK4VWmlNm7QhNNAcK5Q9A7aOXsI8545yCyaoMaicXrFZ72JzeYjaUVk7yT243zT0jzjFKQ==} + '@rolldown/binding-linux-x64-musl@1.2.5': + resolution: {integrity: sha512-mY8AP0/ichsbhAxGnLa3d3+MwV0EfgrPND2bplI3Ym8T6R2pJ0N87bvrKVwNXmdy3jnr6eQBecdqx/HMknBmpA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.2.6': - resolution: {integrity: sha512-iOo0VEay2XFhaCcH0sps5XIimkSuOnNaZrf6+ZkoSOQBJPKNU48RkmJv0/lSpipexu5P+ouFgafe5IGr/DiQfg==} + '@rolldown/binding-openharmony-arm64@1.2.5': + resolution: {integrity: sha512-8SLssA2oweAxyRgDp789ACfRb/3P+zNRJpzZxSizxF9m8NUDQ4+3xjo8ttjhVGGw6Qxb70oZiEtIjaKikCO7Yw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.6': - resolution: {integrity: sha512-y5NTmmasMS455JlOCO4ZM9krIchv3Mvm1crL1iUPGOPgEzSkves9n0SdC5Sjz6+qWDFhd8/JpfWMH8NSWNHe+A==} + '@rolldown/binding-win32-arm64-msvc@1.2.5': + resolution: {integrity: sha512-vGbruD5zquhoc8D9SViXgN2FBJtNdTyQ4DtG+SWiEGlJiAzoKcZ2xp+xuXCffhubVdt0NJlTZqkeRuERy7g8Cw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.6': - resolution: {integrity: sha512-np8iZSLfXlAD4kWhiyq/u0Yt8oZDtRQ8lGhQaCXo2rl37KNjeU0GjJuwr4P3oeZ++ROfofsKNBqR5LTO8aXyWQ==} + '@rolldown/binding-win32-x64-msvc@1.2.5': + resolution: {integrity: sha512-e/SXpgISz+IoqVcSSI0rx/d/he8zqLex+/rCWpnHpmVfmPIUjag9H6P7zotf0gJHwPUhQxZ/mF8tr6acebT9yw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1073,8 +1073,8 @@ packages: '@types/d3-scale@4.0.9': resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - '@types/d3-shape@3.2.0': - resolution: {integrity: sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==} + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} '@types/d3-time@3.0.4': resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} @@ -1109,11 +1109,11 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@26.4.0': - resolution: {integrity: sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==} + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} - '@types/react-dom@19.2.5': - resolution: {integrity: sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==} + '@types/react-dom@19.2.4': + resolution: {integrity: sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw==} peerDependencies: '@types/react': ^19.2.0 @@ -1132,63 +1132,63 @@ packages: '@types/validate-npm-package-name@4.0.2': resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} - '@typescript-eslint/eslint-plugin@8.68.0': - resolution: {integrity: sha512-WASHDpCm6qO5jj9g1a+8NiW5+GCkAyLReR56/4VruYmNgfUmqpxOfZ2Yfb8xGfJPWv5Qi6LSD8sXdces3vbp/Q==} + '@typescript-eslint/eslint-plugin@8.67.0': + resolution: {integrity: sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.68.0 + '@typescript-eslint/parser': ^8.67.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.68.0': - resolution: {integrity: sha512-fHq2VC1kpyYfvEcbiMjOpySY4WS7voEp89yAThrHRX5sm9j2lzYppCb2umFMEed4fWcyeLjHxrz0mpjNBaBxMQ==} + '@typescript-eslint/parser@8.67.0': + resolution: {integrity: sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w==} 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.68.0': - resolution: {integrity: sha512-5GQtWZCXFcFYux955pvoS02WLc49pXNlvIxocKjS0clvwo3in1RdlzVKyiqQH9vE5AKWFLTaUgeQkOrTS+0Qxw==} + '@typescript-eslint/project-service@8.67.0': + resolution: {integrity: sha512-cvE8c7ulYeXN9fYuszhCeCsbzyVEXuhrRCybnBre7TUmqb5nRmBfQAwCj0O3WJFDeyAZt4VYv51vMCC9LHSdYw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.68.0': - resolution: {integrity: sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA==} + '@typescript-eslint/scope-manager@8.67.0': + resolution: {integrity: sha512-EgvsleTwS4E+WzzSvem8fAUubLwatMNF1B5hHSLQxcvs7q2dtRhGyujHwLJSYlG41niJ7GP24Aha2+0mb1b2kg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.68.0': - resolution: {integrity: sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw==} + '@typescript-eslint/tsconfig-utils@8.67.0': + resolution: {integrity: sha512-vV+LUSv5njUWsknE71fqKTlXUva+R76SaeORd6Zojcunk/6DvKFXONU3BrAs2H49mbygUXt6gbYunzwqNwlhdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.68.0': - resolution: {integrity: sha512-X77zqoY1EjeWGs/0JNxeaMfp5C5lIz4Tw8y66F1Ne8Faq6g424sBNYM6xBAqElfGZPLpWS+CZAp0DXyKDzWiHg==} + '@typescript-eslint/type-utils@8.67.0': + resolution: {integrity: sha512-aVWDXbRmdXO9siTfX4ditQI1T9+zVcNazT48EJCD0v40/9RIFoUgZ05CmGEq9H2gixRpjUn/iplwvlcvutJW/Q==} 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.68.0': - resolution: {integrity: sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg==} + '@typescript-eslint/types@8.67.0': + resolution: {integrity: sha512-sBtgslww8nsMYUjhdPBiSyUqSzT8uR6g93A2QXnQC8+cGdjz0CyaOdqHDRJb1AtORbZCNUJBBeFA/tNR2uQmww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.68.0': - resolution: {integrity: sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA==} + '@typescript-eslint/typescript-estree@8.67.0': + resolution: {integrity: sha512-EKQBCE9yNlRJYm7jdTW5AhDacDUmSwQb0FAJAmK2EKYrNXIsa2vxcSZx6PvJ/dEdI6lS+Y9W+EXckLj0iPFGcw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.68.0': - resolution: {integrity: sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ==} + '@typescript-eslint/utils@8.67.0': + resolution: {integrity: sha512-U9D1FdwEWBwok3hxxSdhclMb0twvt9QnjIQ0VfQ1AiX2epnpSgv2ubVDsayOFyY8K6FX+AQ7E0FKWVG3iKsj1A==} 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.68.0': - resolution: {integrity: sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A==} + '@typescript-eslint/visitor-keys@8.67.0': + resolution: {integrity: sha512-fkv8dHRDqfGtTHuJeebdrQ7cX6Ad4WAS00rgHh9UGvMycF1mjBfsxry1XsLIFhWZ6Judlh6UdzK+TYlbpCXgnA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/typescript-aix-ppc64@7.0.2': @@ -1315,24 +1315,21 @@ packages: resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} hasBin: true - '@ungap/structured-clone@1.4.0': - resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.0.5': + resolution: {integrity: sha512-BOVzne/NL162sMdResB25mUv+vWMF5NoAjNf09TeGlE7ZpszZWSD3winycicLJw72yeVsoCn/2kOhEuCvEShMA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': optional: true babel-plugin-react-compiler: optional: true - oxc-transform-react: - optional: true accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} @@ -1404,8 +1401,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.11.20: - resolution: {integrity: sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==} + baseline-browser-mapping@2.11.15: + resolution: {integrity: sha512-FwMjJJ7HnyZpWe+oWxegG0fezZyBZUagI5LZEoO3GCbtbKNwRfMH9Ue5d5v01PNePBy1QSfPSDTTeVL0Hb9EzA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1446,8 +1443,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001810: - resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==} + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1698,8 +1695,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.416: - resolution: {integrity: sha512-K6bvB2BjnNrugtIih6ewlbBI9DXa976jIdiIlRLHhBoEI9a4JaQjjHyF+A1IQI543aQYR4LnmOrT/K5fZj0aPA==} + electron-to-chromium@1.5.411: + resolution: {integrity: sha512-gglkxzokjHfawpGxq75XdBV2/l3BAPzrsMs70qgaZdTW5rpV1tC4MdgJVP9fN126bODA4ZJQkn1wryEzJyQXIg==} embla-carousel-react@8.6.0: resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} @@ -1761,8 +1758,8 @@ packages: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} - es-toolkit@1.52.0: - resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==} + es-toolkit@1.51.0: + resolution: {integrity: sha512-zC2lQGkM7QX+Gm6iM3+WIdZJzthsEd14LvRNJneSO2hzyz/zNBENR8+YXWo1cKxgPBtV6ksPYHELbcwBRzmdCw==} escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} @@ -1785,8 +1782,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 - eslint-plugin-react-refresh@0.5.5: - resolution: {integrity: sha512-vG7yLURXNvCHy0FBdbZRwIu0BLPJMlUUJS2Ep7ud9w1YCLftFZtuEjyjhym0Qq9yuZ6LJUitNlu/hMk0gakXAw==} + eslint-plugin-react-refresh@0.5.4: + resolution: {integrity: sha512-7bqTKz7T0r+HKWFarNXByDE9/5+73wI2ru+M3zuqGbR7s/b/5/pQJXZoufWlrngqGqoZto73ZkGumCdLxk+4rw==} peerDependencies: eslint: ^9 || ^10 @@ -1802,8 +1799,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.9.1: - resolution: {integrity: sha512-9VaAkDURekixUQJy0oJYl2DcN6oKMfxay7XzaGYAWQwsb6qfKf+x76R2k1L8kb1boc+FyCAaTA9GmiKaaiaF+A==} + eslint@10.8.1: + resolution: {integrity: sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -1863,8 +1860,8 @@ packages: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - express-rate-limit@8.7.0: - resolution: {integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==} + express-rate-limit@8.6.2: + resolution: {integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -1889,11 +1886,11 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.1.6: - resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==} + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} - fastq@1.20.3: - resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} @@ -2065,8 +2062,8 @@ packages: hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} - hono@4.13.5: - resolution: {integrity: sha512-O6+/eCYRkzzzy0rPWwKLiGBR1nFuUPZynnwjxN1MBA62NNqbT0wQEzQyK2gSO5yDIDB336sXQleAhOHrzlYyKw==} + hono@4.13.3: + resolution: {integrity: sha512-r8AO2mYHoLxSHkgafNeC/BXyb2vWRxD3jem4Ts+ptav8oTG5FIRifAjuJEmZI4bSvvc2ns0GxmIYiZnHqN3mMw==} engines: {node: '>=16.9.0'} html-url-attributes@3.0.1: @@ -2126,8 +2123,8 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - ip-address@10.7.0: - resolution: {integrity: sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==} + ip-address@10.5.0: + resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==} engines: {node: '>= 12'} ipaddr.js@1.9.1: @@ -2238,14 +2235,14 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true - jose@6.2.10: - resolution: {integrity: sha512-iiW7J9qRFlGxvCOIBDBDxFePQSn7ZMAnrYGhrrOo6siO/MIqwfyilLR27pkfDgUk+raLuzADS8A3S/KLBisc0g==} + jose@6.2.9: + resolution: {integrity: sha512-XrchZOFZUl/T3vTwRe8XK+cJrGtMF4th1ARnDfwbBXFKThGhlsxEE4Zu03AD/bjJSt/9jT/mxrOCkJWOg77aPA==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.3.2: - resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} hasBin: true jsesc@3.1.0: @@ -2474,8 +2471,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@1.37.0: - resolution: {integrity: sha512-LPsB4rD1TD6wZu1djKOf9vUnS1jTNaHbolXebXDgiTdb6jeA1agIJhJsIybCmjKmQClcOaal1o1OaiYahEftyQ==} + lucide-react@1.33.0: + resolution: {integrity: sha512-MTRwMy0ZlL8Ur/vOAiJ9XGHE+kFPC7brq6MxAm0GiGXEBj0qy0jA/pG4N675oSzciO/UCdX8T+5yUQdmDeTLxg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -2688,9 +2685,9 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@1.1.0: - resolution: {integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==} - engines: {node: '>=18'} + negotiator@1.0.0: + resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} + engines: {node: '>= 0.6'} next-themes@0.4.6: resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} @@ -2701,8 +2698,8 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-releases@2.0.54: - resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==} + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} engines: {node: '>=18'} npm-run-path@4.0.1: @@ -2833,8 +2830,8 @@ packages: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - picomatch@4.0.7: - resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} pkce-challenge@5.0.1: @@ -2865,8 +2862,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - pretty-ms@9.3.1: - resolution: {integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} prompts@2.4.2: @@ -3028,9 +3025,6 @@ packages: reselect@5.2.0: resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} - reselect@5.3.0: - resolution: {integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3043,8 +3037,8 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.2.6: - resolution: {integrity: sha512-vMM4q3aixf46GiF1Kok8jDPFsEpXgFWGjUHXNkNHNm+Y2adXAG2dbX91jkti3i0ZRsOlcmbuzAz1poObSHCmUA==} + rolldown@1.2.5: + resolution: {integrity: sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -3085,8 +3079,8 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@4.19.0: - resolution: {integrity: sha512-EQF6R+CUXTsEP2BpyhxrUEAFesrtFD1POvVOf5jM+wkgtA4kG1EW1+1Wlmi9LqiprSL681JJXBcS0u8WkVVVyQ==} + shadcn@4.18.0: + resolution: {integrity: sha512-tUFZgkYmfVNQVm3xX7lhSzOvDsp+O14ac5dwgXIr5mIsr79ISueb/Mu+ZtWMz0DH6v77u4eYyvbQ9TTMpSn3aw==} engines: {node: '>=20.18.1'} hasBin: true @@ -3205,8 +3199,8 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - systeminformation@5.33.6: - resolution: {integrity: sha512-hMOQG/eRUzuopuYGGdl8ntkau0nEC7fOaRoTUg1RSr2GTQIk2VNa76DA0+ApajkGfzmcgAupgIP/vt+jtoe5EA==} + systeminformation@5.33.1: + resolution: {integrity: sha512-DEN6ICHk3Tk0Uf/hrAHh7xlt7iL5CJFBtPZinA0H62DrGG/KPKqq/Nzj6lCXPS4Ay/sf/14zNnk9LpqKzBIc+w==} engines: {node: '>=10.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -3269,8 +3263,8 @@ packages: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} - typescript-eslint@8.68.0: - resolution: {integrity: sha512-MHy0Y0ynqeEbx/S45+i/bBssdy3X6KNBfmJAP35GrgtNxu2TQ5K5xsFDhAnmsq1jvpdoZOPG1LGtJo0HWqYCrQ==} + typescript-eslint@8.67.0: + resolution: {integrity: sha512-S2udFs8tCKEKffuJ4TB1idGUZiXdCPGi3IPBGWXarbLQ5UPXORV8QEVzJ4gCRduURMb5EkpNCdjbk0eDIuI8Yg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -3329,8 +3323,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.3.2: - resolution: {integrity: sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==} + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3392,13 +3386,13 @@ packages: victory-vendor@37.3.6: resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} - vite@8.2.2: - resolution: {integrity: sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==} + vite@8.2.1: + resolution: {integrity: sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.4.0 || ^0.5.0 + '@vitejs/devtools': ^0.4.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -3491,8 +3485,8 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.5.2: - resolution: {integrity: sha512-XkYXCol10+ba/6F/cueWV+TezUeOqXW0hdeJt5CdXjTYeAgAQg5N03RQdJ80mhfFE72+pblvYMW4wy2Qp4Qbrg==} + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -3705,7 +3699,7 @@ snapshots: '@floating-ui/utils': 0.2.12 react: 19.2.8 react-dom: 19.2.8(react@19.2.8) - reselect: 5.3.0 + reselect: 5.2.0 use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 @@ -3781,7 +3775,7 @@ snapshots: '@codemirror/state@6.7.1': dependencies: - '@marijn/find-cluster-break': 1.0.4 + '@marijn/find-cluster-break': 1.0.3 '@codemirror/view@6.43.9': dependencies: @@ -3799,21 +3793,21 @@ snapshots: enquirer: 2.4.1 env-paths: 2.2.1 execa: 5.1.1 - fdir: 6.5.0(picomatch@4.0.7) + fdir: 6.5.0(picomatch@4.0.5) ignore: 5.3.2 object-treeify: 1.1.33 open: 8.4.2 - picomatch: 4.0.7 - systeminformation: 5.33.6 + picomatch: 4.0.5 + systeminformation: 5.33.1 undici: 7.29.0 which: 4.0.0 yocto-spinner: 1.2.2 '@dotenvx/primitives@0.8.0': {} - '@eslint-community/eslint-utils@4.10.1(eslint@10.9.1(jiti@2.7.0))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.8.1(jiti@2.7.0))': dependencies: - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -3834,9 +3828,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.9.1(jiti@2.7.0))': + '@eslint/js@10.0.1(eslint@10.8.1(jiti@2.7.0))': optionalDependencies: - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) '@eslint/object-schema@3.0.5': {} @@ -3862,9 +3856,9 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@hono/node-server@2.1.1(hono@4.13.5)': + '@hono/node-server@2.1.1(hono@4.13.3)': dependencies: - hono: 4.13.5 + hono: 4.13.3 '@humanfs/core@0.19.2': dependencies: @@ -3884,7 +3878,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': @@ -3894,12 +3888,12 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@lezer/common@1.5.2': {} @@ -3934,11 +3928,11 @@ snapshots: '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@marijn/find-cluster-break@1.0.4': {} + '@marijn/find-cluster-break@1.0.3': {} '@modelcontextprotocol/sdk@1.30.0(zod@3.25.76)': dependencies: - '@hono/node-server': 2.1.1(hono@4.13.5) + '@hono/node-server': 2.1.1(hono@4.13.3) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -3947,9 +3941,9 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.1 express: 5.2.1 - express-rate-limit: 8.7.0(express@5.2.1) - hono: 4.13.5 - jose: 6.2.10 + express-rate-limit: 8.6.2(express@5.2.1) + hono: 4.13.3 + jose: 6.2.9 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 @@ -3968,9 +3962,9 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.3 + fastq: 1.20.1 - '@oxc-project/types@0.147.0': {} + '@oxc-project/types@0.146.0': {} '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -4046,18 +4040,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-context': 1.2.2(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': 1.3.3(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) @@ -4067,20 +4061,20 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.2.18)(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.18)(react@19.2.8) '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) '@radix-ui/react-focus-guards@1.1.6(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -4088,16 +4082,16 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) '@radix-ui/react-id@1.1.4(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -4106,33 +4100,33 @@ snapshots: optionalDependencies: '@types/react': 19.2.18 - '@radix-ui/react-portal@1.1.17(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-portal@1.1.17(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@radix-ui/react-presence@1.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-presence@1.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) - '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@radix-ui/react-slot': 1.3.3(@types/react@19.2.18)(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) optionalDependencies: '@types/react': 19.2.18 - '@types/react-dom': 19.2.5(@types/react@19.2.18) + '@types/react-dom': 19.2.4(@types/react@19.2.18) '@radix-ui/react-slot@1.3.3(@types/react@19.2.18)(react@19.2.8)': dependencies: @@ -4181,49 +4175,49 @@ snapshots: react: 19.2.8 react-redux: 9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1) - '@rolldown/binding-android-arm-eabi@1.2.6': + '@rolldown/binding-android-arm-eabi@1.2.5': optional: true - '@rolldown/binding-android-arm64@1.2.6': + '@rolldown/binding-android-arm64@1.2.5': optional: true - '@rolldown/binding-darwin-arm64@1.2.6': + '@rolldown/binding-darwin-arm64@1.2.5': optional: true - '@rolldown/binding-darwin-x64@1.2.6': + '@rolldown/binding-darwin-x64@1.2.5': optional: true - '@rolldown/binding-freebsd-x64@1.2.6': + '@rolldown/binding-freebsd-x64@1.2.5': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.6': + '@rolldown/binding-linux-arm-gnueabihf@1.2.5': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.6': + '@rolldown/binding-linux-arm64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.6': + '@rolldown/binding-linux-arm64-musl@1.2.5': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.6': + '@rolldown/binding-linux-ppc64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.6': + '@rolldown/binding-linux-s390x-gnu@1.2.5': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.6': + '@rolldown/binding-linux-x64-gnu@1.2.5': optional: true - '@rolldown/binding-linux-x64-musl@1.2.6': + '@rolldown/binding-linux-x64-musl@1.2.5': optional: true - '@rolldown/binding-openharmony-arm64@1.2.6': + '@rolldown/binding-openharmony-arm64@1.2.5': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.6': + '@rolldown/binding-win32-arm64-msvc@1.2.5': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.6': + '@rolldown/binding-win32-x64-msvc@1.2.5': optional: true '@rolldown/pluginutils@1.0.1': {} @@ -4347,12 +4341,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.2.2(@types/node@26.4.0)(jiti@2.7.0))': + '@tailwindcss/vite@4.3.3(vite@8.2.1(@types/node@26.2.0)(jiti@2.7.0))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.2.2(@types/node@26.4.0)(jiti@2.7.0) + vite: 8.2.1(@types/node@26.2.0)(jiti@2.7.0) '@tauri-apps/api@2.11.1': {} @@ -4378,7 +4372,7 @@ snapshots: dependencies: '@types/d3-time': 3.0.4 - '@types/d3-shape@3.2.0': + '@types/d3-shape@3.1.8': dependencies: '@types/d3-path': 3.1.1 @@ -4412,11 +4406,11 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@26.4.0': + '@types/node@26.2.0': dependencies: undici-types: 8.3.0 - '@types/react-dom@19.2.5(@types/react@19.2.18)': + '@types/react-dom@19.2.4(@types/react@19.2.18)': dependencies: '@types/react': 19.2.18 @@ -4432,15 +4426,15 @@ snapshots: '@types/validate-npm-package-name@4.0.2': {} - '@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + '@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0))': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.68.0 - '@typescript-eslint/type-utils': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/utils': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/visitor-keys': 8.68.0 - eslint: 10.9.1(jiti@2.7.0) + '@typescript-eslint/parser': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/type-utils': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/utils': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/visitor-keys': 8.67.0 + eslint: 10.8.1(jiti@2.7.0) ignore: 7.0.6 natural-compare: 1.4.0 ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) @@ -4448,56 +4442,56 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + '@typescript-eslint/parser@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0))': dependencies: - '@typescript-eslint/scope-manager': 8.68.0 - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/visitor-keys': 8.68.0 + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/visitor-keys': 8.67.0 debug: 4.4.3 - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.68.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/project-service@8.67.0(@typescript/typescript6@6.0.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/tsconfig-utils': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/types': 8.67.0 debug: 4.4.3 typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.68.0': + '@typescript-eslint/scope-manager@8.67.0': dependencies: - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/visitor-keys': 8.68.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 - '@typescript-eslint/tsconfig-utils@8.68.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/tsconfig-utils@8.67.0(@typescript/typescript6@6.0.2)': dependencies: typescript: '@typescript/typescript6@6.0.2' - '@typescript-eslint/type-utils@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + '@typescript-eslint/type-utils@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0))': dependencies: - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/utils': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) debug: 4.4.3 - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.68.0': {} + '@typescript-eslint/types@8.67.0': {} - '@typescript-eslint/typescript-estree@8.68.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/typescript-estree@8.67.0(@typescript/typescript6@6.0.2)': dependencies: - '@typescript-eslint/project-service': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/tsconfig-utils': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/visitor-keys': 8.68.0 + '@typescript-eslint/project-service': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/tsconfig-utils': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/visitor-keys': 8.67.0 debug: 4.4.3 minimatch: 10.2.6 semver: 7.8.5 @@ -4507,20 +4501,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + '@typescript-eslint/utils@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0))': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.68.0 - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(@typescript/typescript6@6.0.2) - eslint: 10.9.1(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.67.0 + '@typescript-eslint/types': 8.67.0 + '@typescript-eslint/typescript-estree': 8.67.0(@typescript/typescript6@6.0.2) + eslint: 10.8.1(jiti@2.7.0) typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.68.0': + '@typescript-eslint/visitor-keys@8.67.0': dependencies: - '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/types': 8.67.0 eslint-visitor-keys: 5.0.1 '@typescript/typescript-aix-ppc64@7.0.2': @@ -4587,17 +4581,17 @@ snapshots: dependencies: '@typescript/old': typescript@6.0.3 - '@ungap/structured-clone@1.4.0': {} + '@ungap/structured-clone@1.3.3': {} - '@vitejs/plugin-react@6.1.1(vite@8.2.2(@types/node@26.4.0)(jiti@2.7.0))': + '@vitejs/plugin-react@6.0.5(vite@8.2.1(@types/node@26.2.0)(jiti@2.7.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.2.2(@types/node@26.4.0)(jiti@2.7.0) + vite: 8.2.1(@types/node@26.2.0)(jiti@2.7.0) accepts@2.0.0: dependencies: mime-types: 3.0.2 - negotiator: 1.1.0 + negotiator: 1.0.0 acorn-jsx@5.3.2(acorn@8.18.0): dependencies: @@ -4623,7 +4617,7 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.6 + fast-uri: 3.1.5 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -4649,7 +4643,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.11.20: {} + baseline-browser-mapping@2.11.15: {} body-parser@2.3.0: dependencies: @@ -4675,11 +4669,11 @@ snapshots: browserslist@4.28.8: dependencies: - baseline-browser-mapping: 2.11.20 - caniuse-lite: 1.0.30001810 - electron-to-chromium: 1.5.416 - node-releases: 2.0.54 - update-browserslist-db: 1.3.2(browserslist@4.28.8) + baseline-browser-mapping: 2.11.15 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.411 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) bundle-name@4.1.0: dependencies: @@ -4699,7 +4693,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001810: {} + caniuse-lite@1.0.30001809: {} ccount@2.0.1: {} @@ -4725,12 +4719,12 @@ snapshots: clsx@2.1.1: {} - cmdk@1.1.1(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + cmdk@1.1.1(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-id': 1.1.4(@types/react@19.2.18)(react@19.2.8) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: @@ -4781,7 +4775,7 @@ snapshots: dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.3.2 + js-yaml: 4.3.1 parse-json: 5.2.0 optionalDependencies: typescript: 7.0.2 @@ -4897,7 +4891,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.416: {} + electron-to-chromium@1.5.411: {} embla-carousel-react@8.6.0(react@19.2.8): dependencies: @@ -4947,7 +4941,7 @@ snapshots: dependencies: es-errors: 1.3.0 - es-toolkit@1.52.0: {} + es-toolkit@1.51.0: {} escalade@3.2.0: {} @@ -4957,20 +4951,20 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-plugin-react-hooks@7.1.1(eslint@10.9.1(jiti@2.7.0)): + eslint-plugin-react-hooks@7.1.1(eslint@10.8.1(jiti@2.7.0)): dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.8 - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) hermes-parser: 0.25.1 - zod: 4.5.2 - zod-validation-error: 4.0.2(zod@4.5.2) + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) transitivePeerDependencies: - supports-color - eslint-plugin-react-refresh@0.5.5(eslint@10.9.1(jiti@2.7.0)): + eslint-plugin-react-refresh@0.5.4(eslint@10.8.1(jiti@2.7.0)): dependencies: - eslint: 10.9.1(jiti@2.7.0) + eslint: 10.8.1(jiti@2.7.0) eslint-scope@9.1.2: dependencies: @@ -4983,9 +4977,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.9.1(jiti@2.7.0): + eslint@10.8.1(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.9.1(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 '@eslint/config-helpers': 0.7.0 @@ -5074,16 +5068,16 @@ snapshots: is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.3.1 + pretty-ms: 9.3.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 yoctocolors: 2.2.0 - express-rate-limit@8.7.0(express@5.2.1): + express-rate-limit@8.6.2(express@5.2.1): dependencies: debug: 4.4.3 express: 5.2.1 - ip-address: 10.7.0 + ip-address: 10.5.0 transitivePeerDependencies: - supports-color @@ -5136,15 +5130,15 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.1.6: {} + fast-uri@3.1.5: {} - fastq@1.20.3: + fastq@1.20.1: dependencies: reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.7): + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: - picomatch: 4.0.7 + picomatch: 4.0.5 figures@6.1.0: dependencies: @@ -5365,7 +5359,7 @@ snapshots: dependencies: hermes-estree: 0.25.1 - hono@4.13.5: {} + hono@4.13.3: {} html-url-attributes@3.0.1: {} @@ -5411,7 +5405,7 @@ snapshots: internmap@2.0.3: {} - ip-address@10.7.0: {} + ip-address@10.5.0: {} ipaddr.js@1.9.1: {} @@ -5480,11 +5474,11 @@ snapshots: jiti@2.7.0: {} - jose@6.2.10: {} + jose@6.2.9: {} js-tokens@4.0.0: {} - js-yaml@4.3.2: + js-yaml@4.3.1: dependencies: argparse: 2.0.1 @@ -5653,13 +5647,13 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@1.37.0(react@19.2.8): + lucide-react@1.33.0(react@19.2.8): dependencies: react: 19.2.8 magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/sourcemap-codec': 1.5.5 markdown-table@3.0.4: {} @@ -5811,7 +5805,7 @@ snapshots: dependencies: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.4.0 + '@ungap/structured-clone': 1.3.3 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -6075,9 +6069,7 @@ snapshots: natural-compare@1.4.0: {} - negotiator@1.1.0: - dependencies: - content-type: 2.1.0 + negotiator@1.0.0: {} next-themes@0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: @@ -6086,7 +6078,7 @@ snapshots: node-addon-api@7.1.1: {} - node-releases@2.0.54: {} + node-releases@2.0.53: {} npm-run-path@4.0.1: dependencies: @@ -6226,7 +6218,7 @@ snapshots: picomatch@2.3.2: {} - picomatch@4.0.7: {} + picomatch@4.0.5: {} pkce-challenge@5.0.1: {} @@ -6251,7 +6243,7 @@ snapshots: prelude-ls@1.2.1: {} - pretty-ms@9.3.1: + pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 @@ -6366,7 +6358,7 @@ snapshots: '@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@19.2.18)(react@19.2.8)(redux@5.0.1))(react@19.2.8) clsx: 2.1.1 decimal.js-light: 2.5.1 - es-toolkit: 1.52.0 + es-toolkit: 1.51.0 eventemitter3: 5.0.4 immer: 11.1.18 react: 19.2.8 @@ -6400,7 +6392,7 @@ snapshots: rehype-autolink-headings@7.1.0: dependencies: '@types/hast': 3.0.5 - '@ungap/structured-clone': 1.4.0 + '@ungap/structured-clone': 1.3.3 hast-util-heading-rank: 3.0.0 hast-util-is-element: 3.0.0 unified: 11.0.5 @@ -6477,8 +6469,6 @@ snapshots: reselect@5.2.0: {} - reselect@5.3.0: {} - resolve-from@4.0.0: {} restore-cursor@5.1.0: @@ -6488,26 +6478,26 @@ snapshots: reusify@1.1.0: {} - rolldown@1.2.6: + rolldown@1.2.5: dependencies: - '@oxc-project/types': 0.147.0 + '@oxc-project/types': 0.146.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.6 - '@rolldown/binding-android-arm64': 1.2.6 - '@rolldown/binding-darwin-arm64': 1.2.6 - '@rolldown/binding-darwin-x64': 1.2.6 - '@rolldown/binding-freebsd-x64': 1.2.6 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.6 - '@rolldown/binding-linux-arm64-gnu': 1.2.6 - '@rolldown/binding-linux-arm64-musl': 1.2.6 - '@rolldown/binding-linux-ppc64-gnu': 1.2.6 - '@rolldown/binding-linux-s390x-gnu': 1.2.6 - '@rolldown/binding-linux-x64-gnu': 1.2.6 - '@rolldown/binding-linux-x64-musl': 1.2.6 - '@rolldown/binding-openharmony-arm64': 1.2.6 - '@rolldown/binding-win32-arm64-msvc': 1.2.6 - '@rolldown/binding-win32-x64-msvc': 1.2.6 + '@rolldown/binding-android-arm-eabi': 1.2.5 + '@rolldown/binding-android-arm64': 1.2.5 + '@rolldown/binding-darwin-arm64': 1.2.5 + '@rolldown/binding-darwin-x64': 1.2.5 + '@rolldown/binding-freebsd-x64': 1.2.5 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.5 + '@rolldown/binding-linux-arm64-gnu': 1.2.5 + '@rolldown/binding-linux-arm64-musl': 1.2.5 + '@rolldown/binding-linux-ppc64-gnu': 1.2.5 + '@rolldown/binding-linux-s390x-gnu': 1.2.5 + '@rolldown/binding-linux-x64-gnu': 1.2.5 + '@rolldown/binding-linux-x64-musl': 1.2.5 + '@rolldown/binding-openharmony-arm64': 1.2.5 + '@rolldown/binding-win32-arm64-msvc': 1.2.5 + '@rolldown/binding-win32-x64-msvc': 1.2.5 router@2.2.0: dependencies: @@ -6560,7 +6550,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@4.19.0(typescript@7.0.2): + shadcn@4.18.0(typescript@7.0.2): dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.8 @@ -6656,7 +6646,7 @@ snapshots: socks@2.8.9: dependencies: - ip-address: 10.7.0 + ip-address: 10.5.0 smart-buffer: 4.2.0 sonner@2.0.8(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): @@ -6717,7 +6707,7 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - systeminformation@5.33.6: {} + systeminformation@5.33.1: {} tailwind-merge@3.6.0: {} @@ -6729,8 +6719,8 @@ snapshots: tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.7) - picomatch: 4.0.7 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 to-regex-range@5.0.1: dependencies: @@ -6771,13 +6761,13 @@ snapshots: media-typer: 1.1.1 mime-types: 3.0.2 - typescript-eslint@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)): + typescript-eslint@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)): dependencies: - '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/parser': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - '@typescript-eslint/typescript-estree': 8.68.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) - eslint: 10.9.1(jiti@2.7.0) + '@typescript-eslint/eslint-plugin': 8.67.0(@typescript-eslint/parser@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/parser': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + '@typescript-eslint/typescript-estree': 8.67.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/utils': 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.8.1(jiti@2.7.0)) + eslint: 10.8.1(jiti@2.7.0) typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color @@ -6860,7 +6850,7 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.3.2(browserslist@4.28.8): + update-browserslist-db@1.3.1(browserslist@4.28.8): dependencies: browserslist: 4.28.8 escalade: 3.2.0 @@ -6895,9 +6885,9 @@ snapshots: vary@1.1.2: {} - vaul@1.1.2(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): + vaul@1.1.2(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.5(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) react: 19.2.8 react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: @@ -6925,7 +6915,7 @@ snapshots: '@types/d3-ease': 3.0.2 '@types/d3-interpolate': 3.0.4 '@types/d3-scale': 4.0.9 - '@types/d3-shape': 3.2.0 + '@types/d3-shape': 3.1.8 '@types/d3-time': 3.0.4 '@types/d3-timer': 3.0.2 d3-array: 3.2.4 @@ -6936,15 +6926,15 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite@8.2.2(@types/node@26.4.0)(jiti@2.7.0): + vite@8.2.1(@types/node@26.2.0)(jiti@2.7.0): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.7 + picomatch: 4.0.5 postcss: 8.5.26 - rolldown: 1.2.6 + rolldown: 1.2.5 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.4.0 + '@types/node': 26.2.0 fsevents: 2.3.3 jiti: 2.7.0 @@ -6983,12 +6973,12 @@ snapshots: dependencies: zod: 3.25.76 - zod-validation-error@4.0.2(zod@4.5.2): + zod-validation-error@4.0.2(zod@4.4.3): dependencies: - zod: 4.5.2 + zod: 4.4.3 zod@3.25.76: {} - zod@4.5.2: {} + zod@4.4.3: {} zwitch@2.0.4: {} diff --git a/src/cmp/spinner.tsx b/src/cmp/spinner.tsx index ef8d12f..67168b4 100644 --- a/src/cmp/spinner.tsx +++ b/src/cmp/spinner.tsx @@ -6,7 +6,7 @@ function Spinner({ className, ...props }: React.ComponentProps<"svg">) { ); diff --git a/src/markdown/code-block.tsx b/src/markdown/code-block.tsx index a3ed488..3266dbc 100644 --- a/src/markdown/code-block.tsx +++ b/src/markdown/code-block.tsx @@ -71,7 +71,7 @@ function CodeBlock({ data-slot="code-block" data-line-numbers={showLineNumbers || undefined} data-language={language || undefined} - className="group/code-block overflow-hidden rounded-lg border-[length:var(--ui-border-width)] border-border bg-[var(--markdown-code-background,var(--markdown-code-background-default))] my-2!" + className="group/code-block overflow-hidden rounded-lg border-[length:var(--ui-border-width)] border-border bg-[var(--markdown-code-background)] my-2!" >
storedDesign(designStorageKey, initialDesign), ); - const [notCustomized, setNotCustomizedState] = useState(() => { - const stored = storageValue(notCustomizedStorageKey); - if (stored !== null) return stored === "true"; - return Boolean( - initialParent && - themeColor === "" && - themePalette === null && - themePrimaryColor === "" && - themeTint === "soft" && - themeBorderRadius === initialBorderRadius && - designsEqual(themeDesign, initialDesign) && - themeCustomCss === initialParent.css, - ); - }); const [systemPolarity, setSystemPolarity] = useState( () => getSystemTheme(), ); @@ -213,22 +198,13 @@ export function ThemeProvider({ const resolvedPolarity = themePolarity === "system" ? systemPolarity : themePolarity; - const setNotCustomized = useCallback( - (next: boolean) => { - saveStoredValue(notCustomizedStorageKey, String(next)); - setNotCustomizedState(next); - }, - [notCustomizedStorageKey], - ); - const setParentThemeId = useCallback( (id: string | null) => { const next = findTheme(themes, id)?.id ?? null; saveStoredValue(parentThemeStorageKey, next ?? ""); setParentThemeIdState(next); - setNotCustomized(false); }, - [parentThemeStorageKey, setNotCustomized, themes], + [parentThemeStorageKey, themes], ); const setThemePolarity = useCallback( @@ -243,34 +219,30 @@ export function ThemeProvider({ if (!isThemeColor(next)) return; saveStoredValue(colorStorageKey, next); setThemeColorState(next); - setNotCustomized(false); }, - [colorStorageKey, setNotCustomized], + [colorStorageKey], ); const setThemePalette = useCallback( (next: Base16Palette | null) => { saveStoredValue(paletteStorageKey, serializeBase16Palette(next)); setThemePaletteState(next); - setNotCustomized(false); }, - [paletteStorageKey, setNotCustomized], + [paletteStorageKey], ); const setThemePrimaryColor = useCallback( (next: string) => { if (!isThemeColor(next)) return; saveStoredValue(primaryColorStorageKey, next); setThemePrimaryColorState(next); - setNotCustomized(false); }, - [primaryColorStorageKey, setNotCustomized], + [primaryColorStorageKey], ); const setThemeTint = useCallback( (next: ThemeTint) => { saveStoredValue(tintStorageKey, next); setThemeTintState(next); - setNotCustomized(false); }, - [setNotCustomized, tintStorageKey], + [tintStorageKey], ); const setThemeBorderRadius = useCallback( (next: number) => { @@ -278,28 +250,25 @@ export function ThemeProvider({ if (radius === null) return; saveStoredValue(borderRadiusStorageKey, String(radius)); setThemeBorderRadiusState(radius); - setNotCustomized(false); }, - [borderRadiusStorageKey, setNotCustomized], + [borderRadiusStorageKey], ); const setThemeCustomCss = useCallback( (next: string) => { saveStoredValue(customCssStorageKey, next); setThemeCustomCssState(next); - setNotCustomized(false); }, - [customCssStorageKey, setNotCustomized], + [customCssStorageKey], ); const setThemeDesign = useCallback( (next: ThemeDesign | ((current: ThemeDesign) => ThemeDesign)) => { - setNotCustomized(false); setThemeDesignState((current) => { const value = typeof next === "function" ? next(current) : next; saveStoredValue(designStorageKey, JSON.stringify(value)); return value; }); }, - [designStorageKey, setNotCustomized], + [designStorageKey], ); const applyThemePreset = useCallback( @@ -314,7 +283,6 @@ export function ThemeProvider({ setThemeBorderRadius(presetBorderRadius(preset, defaultBorderRadius)); setThemeDesign(presetDesign(preset, defaultDesign)); setThemeCustomCss(preset.css); - setNotCustomized(true); }, [ defaultDesign, @@ -327,7 +295,6 @@ export function ThemeProvider({ setThemePalette, setThemePrimaryColor, setThemeTint, - setNotCustomized, themes, ], ); @@ -335,13 +302,6 @@ export function ThemeProvider({ if (parentTheme) applyThemePreset(parentTheme.id); }, [applyThemePreset, parentTheme]); - useEffect(() => { - if (typeof window === "undefined") return; - if (storageValue(notCustomizedStorageKey) === null) { - saveStoredValue(notCustomizedStorageKey, String(notCustomized)); - } - }, [notCustomized, notCustomizedStorageKey]); - useEffect(() => { if (typeof window === "undefined") return; const mediaQuery = window.matchMedia(COLOR_SCHEME_QUERY); @@ -350,14 +310,6 @@ export function ThemeProvider({ return () => mediaQuery.removeEventListener("change", handleChange); }, []); - useIsomorphicLayoutEffect(() => { - if (!notCustomized || !parentTheme || themeCustomCss === parentTheme.css) { - return; - } - saveStoredValue(customCssStorageKey, parentTheme.css); - setThemeCustomCssState(parentTheme.css); - }, [customCssStorageKey, notCustomized, parentTheme, themeCustomCss]); - useIsomorphicLayoutEffect(() => { if (typeof document === "undefined") return; const root = document.documentElement; @@ -470,9 +422,6 @@ export function ThemeProvider({ parseDesign(stored, presetDesign(parentTheme, defaultDesign)), ), ); - register(notCustomizedStorageKey, (stored) => - setNotCustomizedState(stored === "true"), - ); const handleStorageChange = (event: StorageEvent) => { if (event.storageArea !== localStorage) return; if (event.key) handlers.get(event.key)?.(event.newValue); @@ -491,7 +440,6 @@ export function ThemeProvider({ defaultTheme, defaultTint, designStorageKey, - notCustomizedStorageKey, paletteStorageKey, parentThemeStorageKey, parentTheme, @@ -501,7 +449,22 @@ export function ThemeProvider({ tintStorageKey, ]); - const isThemeCustomized = Boolean(parentTheme && !notCustomized); + const parentDesign = presetDesign(parentTheme, defaultDesign); + const parentBorderRadius = presetBorderRadius( + parentTheme, + defaultBorderRadius, + ); + + const isThemeCustomized = Boolean( + parentTheme && + (themeCustomCss !== parentTheme.css || + themeColor !== "" || + themePalette !== null || + themePrimaryColor !== "" || + themeTint !== "soft" || + themeBorderRadius !== parentBorderRadius || + !designsEqual(themeDesign, parentDesign)), + ); const value = useMemo( () => ({ @@ -529,14 +492,12 @@ export function ThemeProvider({ applyThemePreset, resetThemePreset, isThemeCustomized, - notCustomized, themeDesign, setThemeDesign, }), [ applyThemePreset, isThemeCustomized, - notCustomized, parentTheme, parentThemeId, resetThemePreset, diff --git a/src/theme/presets.ts b/src/theme/presets.ts index 9601782..f110ab2 100644 --- a/src/theme/presets.ts +++ b/src/theme/presets.ts @@ -51,7 +51,6 @@ export const BUILT_IN_THEMES = defineThemes([ --ring: oklch(0.62 0.12 185); --sidebar: color-mix(in oklch, var(--background) 97%, black); --sidebar-primary: oklch(0.58 0.12 185); - --markdown-code-background: color-mix(in oklch, var(--muted) 72%, var(--background)); --tensamin-outline-background: #fff; --tensamin-outline-hover: #0000000a; --tensamin-outline-pressed: #00000014; @@ -74,7 +73,6 @@ export const BUILT_IN_THEMES = defineThemes([ --primary: oklch(0.69 0.12 184); --primary-foreground: oklch(0.16 0.025 190); --primary-foreground-alt: oklch(0.73 0.13 183); - --markdown-code-background: color-mix(in oklch, var(--card) 76%, black 24%); --tensamin-outline-background: #ffffff0f; --tensamin-outline-hover: #ffffff0f; --tensamin-outline-pressed: #ffffff1a; @@ -249,7 +247,6 @@ export const BUILT_IN_THEMES = defineThemes([ --chart-3: #aca1cf; --chart-4: #e29eca; --chart-5: #e5c890; - --markdown-code-background: color-mix(in srgb, var(--muted) 78%, var(--background)); } :root.dark[data-theme="og-tensamin"] { --background: #0f1014; @@ -284,7 +281,6 @@ export const BUILT_IN_THEMES = defineThemes([ --chart-3: #aca1cf; --chart-4: #e29eca; --chart-5: #e5c890; - --markdown-code-background: color-mix(in srgb, var(--muted) 72%, black 28%); } :root[data-theme="og-tensamin"] :where([data-slot="select-content"], [data-slot="dropdown-menu-content"], [data-slot="dropdown-menu-sub-content"], [data-slot="context-menu-content"], [data-slot="context-menu-sub-content"], [data-slot="menubar-content"], [data-slot="menubar-sub-content"], [data-slot="combobox-content"], [data-slot="popover-content"], [data-slot="hover-card-content"]) { background-color: var(--popover); @@ -327,7 +323,7 @@ export const BUILT_IN_THEMES = defineThemes([ --accent: #cf8fe633; --accent-foreground: #642f79; --destructive: #b91c1c; - --border: #b7c2cc; + --border: #242D38; --input: #b7c2cc; --ring: #9d53bc; --chart-1: #8c47ad; @@ -341,9 +337,8 @@ export const BUILT_IN_THEMES = defineThemes([ --sidebar-primary-foreground: #ffffff; --sidebar-accent: #cf8fe633; --sidebar-accent-foreground: #642f79; - --sidebar-border: #b7c2cc; + --sidebar-border: #242D38; --sidebar-ring: #9d53bc; - --markdown-code-background: color-mix(in srgb, var(--input) 55%, var(--background)); } :root.dark[data-theme="methanium"] { --background: #171E26; @@ -378,7 +373,6 @@ export const BUILT_IN_THEMES = defineThemes([ --sidebar-accent-foreground: #d2e0f0; --sidebar-border: #242D38; --sidebar-ring: #cf8fe6; - --markdown-code-background: color-mix(in srgb, var(--input) 55%, var(--background)); } :root[data-theme="methanium"] body { background-color: var(--background); @@ -441,8 +435,8 @@ export const BUILT_IN_THEMES = defineThemes([ } :root[data-theme="methanium"] [data-slot="card"] { padding-block: calc(1rem * var(--ui-density)); - border: 1px solid var(--input); - background-color: color-mix(in srgb, var(--input) 55%, var(--background)); + border: none; + background-color: #242D38; } :root[data-theme="methanium"] [data-slot="button"][data-variant="default"] { background-color: var(--primary); @@ -512,464 +506,175 @@ export const BUILT_IN_THEMES = defineThemes([ }, css: `:root[data-theme="secret"] { --secret-border: color-mix(in srgb, #2f1b13 22%, #fffaf2 78%); - - --secret-purple: #d7a8c9; - --secret-control: var(--secret-purple); - + --secret-control: #5e244e; --secret-gold: color-mix(in srgb, #f9b637 75%, #2f1b13 25%); --secret-gold-dark: color-mix(in srgb, var(--secret-gold) 60%, #2f1b13 40%); --secret-gold-light: color-mix(in srgb, var(--secret-gold) 45%, #ffe8b4 55%); - --background: oklch(0.98 0 0); --foreground: #2f1b13; - --card: var(--background); --card-foreground: var(--foreground); - - --popover: var(--secret-purple); - --popover-foreground: #2f1b13; - + --popover: #5e244e; + --popover-foreground: #fffaf2; --primary: var(--secret-gold); --primary-foreground: #24120c; - --primary-foreground-alt: #c04b00; - - --secondary: var(--secret-purple); - --secondary-foreground: #2f1b13; - - --muted: #c89ab9; - --muted-foreground: #49333f; - + --primary-foreground-alt: #fb6c00; + --secondary: #5e244e; + --secondary-foreground: #fffaf2; + --muted: #24120c; + --muted-foreground: #6b7280; --accent: #fb6c00; --accent-foreground: #24120c; - - --destructive: #d93618; - --destructive-foreground: #fffaf2; - + --destructive: #e73f1e; --border: var(--secret-border); --input: var(--secret-border); - --ring: #4a2110; - + --ring: #fb6c00; --sidebar: color-mix(in oklch, var(--background) 97%, black); --sidebar-foreground: #2f1b13; --sidebar-primary: var(--secret-gold); --sidebar-primary-foreground: #24120c; - --sidebar-accent: #d7a8c9; - --sidebar-accent-foreground: #2f1b13; + --sidebar-accent: #aa1c41; + --sidebar-accent-foreground: #fffaf2; --sidebar-border: var(--secret-border); - - --markdown-code-background: color-mix( - in srgb, - var(--secret-gold) 9%, - var(--background) - ); } - :root.dark[data-theme="secret"] { - --secret-border: color-mix(in srgb, #ffe8b4 8%, #24120c 35%); - - --secret-purple: #5e244e; - --secret-control: var(--secret-purple); - - --background: #0a0a0a; + --secret-border: color-mix(in srgb, #ffe8b4 15%, #24120c 85%); + --secret-control: #5e244e; + --background: #0A0A0A; --foreground: #ffe8b4; - --card: var(--background); --card-foreground: var(--foreground); - --popover: #2f1b13; --popover-foreground: #ffe8b4; - --primary: var(--secret-gold); --primary-foreground: #24120c; --primary-foreground-alt: #fb6c00; - - --secondary: var(--secret-purple); + --secondary: #5e244e; --secondary-foreground: #fffaf2; - --muted: #2f1b13; --muted-foreground: #e68457; - - --accent: #d93618; + --accent: #e73f1e; --accent-foreground: #fffaf2; - - --destructive: #d93618; - --destructive-foreground: #fffaf2; - + --destructive: #e73f1e; --border: var(--secret-border); --input: var(--secret-border); - --ring: #f9b637; - - --sidebar: #0f0f0f; + --ring: #fb6c00; + --sidebar: #0F0F0F; --sidebar-foreground: #ffe8b4; --sidebar-primary: var(--secret-gold); --sidebar-primary-foreground: #24120c; --sidebar-accent: #aa1c41; --sidebar-accent-foreground: #fffaf2; --sidebar-border: var(--secret-border); - - --markdown-code-background: color-mix( - in srgb, - var(--muted) 72%, - black 28% - ); } - -:root[data-theme="secret"] :where( - [data-slot="button"], - [data-slot="toggle"], - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"], - [data-slot="checkbox"], - [data-slot="radio-group-item"], - [data-slot="switch"] -) { - background-image: linear-gradient( - to top, - rgb(255 255 255 / 12%), - rgb(255 255 255 / 2%) - ); +:root[data-theme="secret"] :where([data-slot="button"], [data-slot="toggle"], [data-slot="input"], [data-slot="textarea"], [data-slot="native-select"], [data-slot="select-trigger"], [data-slot="input-group"], [data-slot="checkbox"], [data-slot="radio-group-item"], [data-slot="switch"]) { + background-image: linear-gradient(to top, rgb(255 255 255 / 12%), rgb(255 255 255 / 2%)); background-repeat: no-repeat; } - :root[data-theme="secret"] [data-slot="button"][data-variant="ghost"] { background-image: none; } - :root[data-theme="secret"] [data-slot="button"][data-variant="ghost"]:hover { - background-image: linear-gradient( - to top, - rgb(255 255 255 / 12%), - rgb(255 255 255 / 2%) - ); + background-image: linear-gradient(to top, rgb(255 255 255 / 12%), rgb(255 255 255 / 2%)); } - :root[data-theme="secret"] [data-slot="button"][data-variant="subtleDefault"] { - background-image: linear-gradient( - to top, - rgb(255 232 180 / 12%), - rgb(255 232 180 / 2%) - ); + background-image: linear-gradient(to top, rgb(255 232 180 / 12%), rgb(255 232 180 / 2%)); color: var(--foreground); } - -:root:not(.dark)[data-theme="secret"] - [data-slot="button"][data-variant="subtleDefault"] { - background-color: color-mix( - in srgb, - var(--primary-foreground-alt) 6%, - transparent - ); - background-image: linear-gradient( - to top, - rgb(255 232 180 / 30%), - rgb(255 232 180 / 80%) - ); +:root:not(.dark)[data-theme="secret"] [data-slot="button"][data-variant="subtleDefault"] { + background-color: color-mix(in srgb, var(--primary-foreground-alt) 6%, transparent); + background-image: linear-gradient(to top, rgb(255 232 180 / 30%), rgb(255 232 180 / 80%)); } - -:root[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -) { +:root[data-theme="secret"] :where([data-slot="input"], [data-slot="textarea"], [data-slot="native-select"], [data-slot="select-trigger"], [data-slot="input-group"]) { background-color: var(--secret-control); border-color: transparent; + color: var(--foreground); } - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -) { - color: #2f1b13; +:root:not(.dark)[data-theme="secret"] :where([data-slot="input"], [data-slot="textarea"], [data-slot="native-select"], [data-slot="select-trigger"], [data-slot="input-group"]) { + color: #fffaf2; } - -:root.dark[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -) { - color: #ffe8b4; -} - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"] -)::placeholder { - color: #5f4558; - opacity: 1; -} - -:root.dark[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"] -)::placeholder { - color: #d9b99c; - opacity: 1; -} - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -):hover { - background-color: color-mix( - in srgb, - var(--secret-control) 88%, - #622a53 12% - ); +:root[data-theme="secret"] :where([data-slot="input"], [data-slot="textarea"], [data-slot="native-select"], [data-slot="select-trigger"], [data-slot="input-group"]):hover { + background-color: color-mix(in srgb, var(--secret-control) 84%, #24120c 16%); border-color: transparent; } - -:root.dark[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -):hover { - background-color: color-mix( - in srgb, - var(--secret-control) 84%, - #24120c 16% - ); +:root[data-theme="secret"] :where([data-slot="input"], [data-slot="textarea"], [data-slot="native-select"], [data-slot="select-trigger"], [data-slot="input-group"]):is(:focus-visible, :focus-within) { + background-color: color-mix(in srgb, var(--secret-control) 84%, #24120c 16%); border-color: transparent; } - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -):is(:focus-visible, :focus-within) { - background-color: color-mix( - in srgb, - var(--secret-control) 88%, - #622a53 12% - ); +:root[data-theme="secret"] [data-slot="select-trigger"]:is([data-popup-open], [data-open], [aria-expanded="true"]) { + background-color: color-mix(in srgb, var(--secret-control) 84%, #24120c 16%); border-color: transparent; } - -:root.dark[data-theme="secret"] :where( - [data-slot="input"], - [data-slot="textarea"], - [data-slot="native-select"], - [data-slot="select-trigger"], - [data-slot="input-group"] -):is(:focus-visible, :focus-within) { - background-color: color-mix( - in srgb, - var(--secret-control) 84%, - #24120c 16% - ); - border-color: transparent; -} - -:root:not(.dark)[data-theme="secret"] - [data-slot="select-trigger"]:is( - [data-popup-open], - [data-open], - [aria-expanded="true"] - ) { - background-color: color-mix( - in srgb, - var(--secret-control) 88%, - #622a53 12% - ); - border-color: transparent; -} - -:root.dark[data-theme="secret"] - [data-slot="select-trigger"]:is( - [data-popup-open], - [data-open], - [aria-expanded="true"] - ) { - background-color: color-mix( - in srgb, - var(--secret-control) 84%, - #24120c 16% - ); - border-color: transparent; -} - :root[data-theme="secret"] [data-slot="select-content"] { background-color: var(--popover); border-color: var(--secret-border); color: var(--popover-foreground); } - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="select-item"], - [data-slot="context-menu-item"], - [data-slot="context-menu-sub-trigger"] -):is( - :hover, - :focus, - [data-highlighted], - [data-selected], - [data-open] -) { - background-color: color-mix( - in srgb, - var(--popover) 82%, - #622a53 18% - ); - color: #2f1b13; +:root.dark[data-theme="secret"] [data-slot="select-content"] { + border-color: var(--secret-border); } - -:root.dark[data-theme="secret"] :where( - [data-slot="select-item"], - [data-slot="context-menu-item"], - [data-slot="context-menu-sub-trigger"] -):is( - :hover, - :focus, - [data-highlighted], - [data-selected], - [data-open] -) { - background-color: color-mix( - in srgb, - var(--popover) 72%, - #0a0a0a 28% - ); +:root[data-theme="secret"] :where([data-slot="select-item"], [data-slot="context-menu-item"], [data-slot="context-menu-sub-trigger"]):is(:hover, :focus, [data-highlighted], [data-selected], [data-open]) { + background-color: color-mix(in srgb, var(--popover) 72%, #0a0a0a 28%); color: #ffe8b4; } - :root[data-theme="secret"] [data-slot="button"][data-variant="default"] { background-color: var(--primary); - background-image: - linear-gradient( - to top, - rgb(255 255 255 / 12%), - rgb(255 255 255 / 2%) - ), - linear-gradient( - 115deg, - var(--secret-gold-dark) 0%, - var(--secret-gold) 30%, - var(--secret-gold-light) 47%, - var(--secret-gold) 62%, - var(--secret-gold-dark) 100% - ); + background-image: linear-gradient(to top, rgb(255 255 255 / 12%), rgb(255 255 255 / 2%)), linear-gradient(115deg, var(--secret-gold-dark) 0%, var(--secret-gold) 30%, var(--secret-gold-light) 47%, var(--secret-gold) 62%, var(--secret-gold-dark) 100%); border-color: var(--secret-border); color: var(--primary-foreground); text-shadow: 0 1px rgb(255 255 255 / 35%); - box-shadow: - inset 0 1px rgb(255 255 255 / 45%), - 0 0.45rem 1.2rem rgb(36 18 12 / 28%); + box-shadow: inset 0 1px rgb(255 255 255 / 45%), 0 0.45rem 1.2rem rgb(36 18 12 / 28%); } - -:root[data-theme="secret"] :where( - [data-slot="card"], - [data-slot="dialog-content"], - [data-slot="alert-dialog-content"] -) { +:root[data-theme="secret"] :where([data-slot="card"], [data-slot="dialog-content"], [data-slot="alert-dialog-content"]) { border-color: var(--secret-border); - box-shadow: - inset 0 1px color-mix(in oklch, white 8%, transparent), - 0 1rem 3rem rgb(97 37 82 / 12%); + box-shadow: inset 0 1px color-mix(in oklch, white 8%, transparent), 0 1rem 3rem rgb(97 37 82 / 12%); } - :root[data-theme="secret"] [data-slot="card"] { background: var(--card); } - -:root[data-theme="secret"] :where( - [data-slot="button"][data-variant="outline"], - [data-slot="button"][data-variant="link"], - [data-slot="badge"][data-variant="outline"], - [data-slot="toggle"][data-variant="outline"] -) { +:root[data-theme="secret"] :where([data-slot="button"][data-variant="outline"], [data-slot="button"][data-variant="link"], [data-slot="badge"][data-variant="outline"], [data-slot="toggle"][data-variant="outline"]) { background-color: var(--secondary); border-color: transparent; color: var(--secondary-foreground); } - :root[data-theme="secret"] [data-slot="button"][data-variant="link"] { background-image: none; } - :root[data-theme="secret"] [data-slot="button"][data-variant="link"]:hover { background-color: var(--secondary); background-image: none; } - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="button"], - [data-slot="badge"], - [data-slot="toggle"] -)[data-variant="outline"]:is( - :hover, - :focus-visible, - [aria-expanded="true"], - [data-popup-open], - [data-open] -) { - background-color: color-mix( - in srgb, - var(--secondary) 82%, - #622a53 18% - ); +:root[data-theme="secret"] [data-slot="button"][data-variant="outline"]:hover { + background-color: color-mix(in srgb, #5e244e 82%, #24120c 18%); border-color: transparent; - color: var(--secondary-foreground); } - -:root.dark[data-theme="secret"] :where( - [data-slot="button"], - [data-slot="badge"], - [data-slot="toggle"] -)[data-variant="outline"]:is( - :hover, - :focus-visible, - [aria-expanded="true"], - [data-popup-open], - [data-open] -) { - background-color: color-mix( - in srgb, - var(--secondary) 82%, - #24120c 18% - ); +:root[data-theme="secret"] :where([data-slot="badge"], [data-slot="toggle"])[data-variant="outline"]:hover { + background-color: color-mix(in srgb, #5e244e 82%, #24120c 18%); border-color: transparent; - color: var(--secondary-foreground); } - -:root[data-theme="secret"] :where( - [data-slot="card-title"], - [data-slot="item-media"][data-variant="icon"], - [data-slot="badge"][data-variant="outline"] -) svg { +:root[data-theme="secret"] :where([data-slot="button"], [data-slot="badge"], [data-slot="toggle"])[data-variant="outline"]:is(:focus-visible, [aria-expanded="true"], [data-popup-open], [data-open]) { + background-color: color-mix(in srgb, #5e244e 82%, #24120c 18%); + border-color: transparent; +} +:root:not(.dark)[data-theme="secret"] [data-slot="button"][data-variant="outline"]:hover, +:root:not(.dark)[data-theme="secret"] :where([data-slot="badge"], [data-slot="toggle"])[data-variant="outline"]:hover, +:root:not(.dark)[data-theme="secret"] :where([data-slot="button"], [data-slot="badge"], [data-slot="toggle"])[data-variant="outline"]:is(:focus-visible, [aria-expanded="true"], [data-popup-open], [data-open]) { + background-color: color-mix(in srgb, var(--secondary) 82%, #fffaf2 18%); + border-color: transparent; +} +:root.dark[data-theme="secret"] :where([data-slot="button"][data-variant="outline"], [data-slot="button"][data-variant="link"], [data-slot="badge"][data-variant="outline"], [data-slot="toggle"][data-variant="outline"]) { + background-color: #5e244e; + border-color: transparent; + color: #ffe8b4; +} +:root.dark[data-theme="secret"] [data-slot="button"][data-variant="outline"]:hover { + background-color: color-mix(in srgb, #5e244e 82%, #24120c 18%); +} +:root[data-theme="secret"] :where([data-slot="card-title"], [data-slot="item-media"][data-variant="icon"], [data-slot="badge"][data-variant="outline"]) svg { color: var(--primary); } - -:root:not(.dark)[data-theme="secret"] :where( - [data-slot="card-title"], - [data-slot="item-media"][data-variant="icon"], - [data-slot="badge"][data-variant="outline"] -) svg { - color: var(--secret-gold-dark); -} - :root[data-theme="secret"] [data-slot="separator"] { - background: linear-gradient( - 90deg, - transparent, - color-mix(in oklch, var(--primary) 42%, var(--border)), - transparent - ); + background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--primary) 42%, var(--border)), transparent); }`, }, ] as const); diff --git a/src/theme/types.ts b/src/theme/types.ts index 1c488b9..d09fd11 100644 --- a/src/theme/types.ts +++ b/src/theme/types.ts @@ -74,7 +74,6 @@ export type ThemeProviderProps = { customCssStorageKey?: string | null; parentThemeStorageKey?: string | null; designStorageKey?: string | null; - notCustomizedStorageKey?: string | null; disableTransitionOnChange?: boolean; }; @@ -103,7 +102,6 @@ export type ThemeProviderState = { applyThemePreset: (id: string) => void; resetThemePreset: () => void; isThemeCustomized: boolean; - notCustomized: boolean; themeDesign: ThemeDesign; setThemeDesign: ( design: ThemeDesign | ((current: ThemeDesign) => ThemeDesign),