A simple SEO inspecter Tool, to get social media card previews

updated readme and fixed slow loading times

+74 -223
+5 -72
README.md
··· 1 - # Welcome to your Lovable project 2 - 3 - ## Project info 4 - 5 - **URL**: https://lovable.dev/projects/5473c358-3819-4116-b096-ac81f5835bea 6 - 7 - ## How can I edit this code? 8 - 9 - There are several ways of editing your application. 10 - 11 - **Use Lovable** 12 - 13 - Simply visit the [Lovable Project](https://lovable.dev/projects/5473c358-3819-4116-b096-ac81f5835bea) and start prompting. 14 - 15 - Changes made via Lovable will be committed automatically to this repo. 16 17 - **Use your preferred IDE** 18 - 19 - If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable. 20 - 21 - The only requirement is having Node.js & npm installed - [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating) 22 - 23 - Follow these steps: 24 - 25 - ```sh 26 - # Step 1: Clone the repository using the project's Git URL. 27 - git clone <YOUR_GIT_URL> 28 - 29 - # Step 2: Navigate to the project directory. 30 - cd <YOUR_PROJECT_NAME> 31 - 32 - # Step 3: Install the necessary dependencies. 33 - npm i 34 - 35 - # Step 4: Start the development server with auto-reloading and an instant preview. 36 - npm run dev 37 - ``` 38 - 39 - **Edit a file directly in GitHub** 40 - 41 - - Navigate to the desired file(s). 42 - - Click the "Edit" button (pencil icon) at the top right of the file view. 43 - - Make your changes and commit the changes. 44 - 45 - **Use GitHub Codespaces** 46 - 47 - - Navigate to the main page of your repository. 48 - - Click on the "Code" button (green button) near the top right. 49 - - Select the "Codespaces" tab. 50 - - Click on "New codespace" to launch a new Codespace environment. 51 - - Edit files directly within the Codespace and commit and push your changes once you're done. 52 - 53 - ## What technologies are used for this project? 54 - 55 - This project is built with: 56 - 57 - - Vite 58 - - TypeScript 59 - - React 60 - - shadcn-ui 61 - - Tailwind CSS 62 - 63 - ## How can I deploy this project? 64 - 65 - Simply open [Lovable](https://lovable.dev/projects/5473c358-3819-4116-b096-ac81f5835bea) and click on Share -> Publish. 66 - 67 - ## Can I connect a custom domain to my Lovable project? 68 - 69 - Yes, you can! 70 - 71 - To connect a domain, navigate to Project > Settings > Domains and click Connect Domain. 72 - 73 - Read more here: [Setting up a custom domain](https://docs.lovable.dev/tips-tricks/custom-domain#step-by-step-guide)
··· 1 + # @madebydanny / seo-tester 2 3 + **Site Preview** 4 + ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreiceafmigyon4mg7dg4vgmur2doxppdgiouoxj7wxpnrbncohk7d3u) 5 + ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreief5clpgayifmwibr5tpb4wcx6u64g4fwgrm6eaukcqveaoucgp64) 6 + ![img](https://altq.net/xrpc/com.atproto.sync.getBlob?did=did:plc:l37td5yhxl2irrzrgvei4qay&cid=bafkreifnlouxx5dmtznslfosspzd6kir2v7k5tz2kggymhxbpymtplg7ge)
+3 -115
package-lock.json
··· 84 "version": "5.2.0", 85 "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 86 "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 87 - "dev": true, 88 "license": "MIT", 89 "engines": { 90 "node": ">=10" ··· 848 "version": "8.0.2", 849 "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 850 "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 851 - "dev": true, 852 "license": "ISC", 853 "dependencies": { 854 "string-width": "^5.1.2", ··· 866 "version": "0.3.5", 867 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 868 "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 869 - "dev": true, 870 "license": "MIT", 871 "dependencies": { 872 "@jridgewell/set-array": "^1.2.1", ··· 881 "version": "3.1.2", 882 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 883 "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 884 - "dev": true, 885 "license": "MIT", 886 "engines": { 887 "node": ">=6.0.0" ··· 891 "version": "1.2.1", 892 "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 893 "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 894 - "dev": true, 895 "license": "MIT", 896 "engines": { 897 "node": ">=6.0.0" ··· 901 "version": "1.5.0", 902 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 903 "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 904 - "dev": true, 905 "license": "MIT" 906 }, 907 "node_modules/@jridgewell/trace-mapping": { 908 "version": "0.3.25", 909 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 910 "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 911 - "dev": true, 912 "license": "MIT", 913 "dependencies": { 914 "@jridgewell/resolve-uri": "^3.1.0", ··· 919 "version": "2.1.5", 920 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 921 "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 922 - "dev": true, 923 "license": "MIT", 924 "dependencies": { 925 "@nodelib/fs.stat": "2.0.5", ··· 933 "version": "2.0.5", 934 "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 935 "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 936 - "dev": true, 937 "license": "MIT", 938 "engines": { 939 "node": ">= 8" ··· 943 "version": "1.2.8", 944 "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 945 "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 946 - "dev": true, 947 "license": "MIT", 948 "dependencies": { 949 "@nodelib/fs.scandir": "2.1.5", ··· 957 "version": "0.11.0", 958 "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 959 "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 960 - "dev": true, 961 "license": "MIT", 962 "optional": true, 963 "engines": { ··· 3009 "version": "15.7.13", 3010 "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", 3011 "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", 3012 - "dev": true, 3013 "license": "MIT" 3014 }, 3015 "node_modules/@types/react": { 3016 "version": "18.3.23", 3017 "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", 3018 "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", 3019 - "dev": true, 3020 "license": "MIT", 3021 "dependencies": { 3022 "@types/prop-types": "*", ··· 3027 "version": "18.3.7", 3028 "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", 3029 "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", 3030 - "dev": true, 3031 "license": "MIT", 3032 "peerDependencies": { 3033 "@types/react": "^18.0.0" ··· 3358 "version": "6.1.0", 3359 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 3360 "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 3361 - "dev": true, 3362 "license": "MIT", 3363 "engines": { 3364 "node": ">=12" ··· 3371 "version": "4.3.0", 3372 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3373 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3374 - "dev": true, 3375 "license": "MIT", 3376 "dependencies": { 3377 "color-convert": "^2.0.1" ··· 3387 "version": "1.3.0", 3388 "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 3389 "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 3390 - "dev": true, 3391 "license": "MIT" 3392 }, 3393 "node_modules/anymatch": { 3394 "version": "3.1.3", 3395 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 3396 "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 3397 - "dev": true, 3398 "license": "ISC", 3399 "dependencies": { 3400 "normalize-path": "^3.0.0", ··· 3408 "version": "5.0.2", 3409 "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 3410 "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 3411 - "dev": true, 3412 "license": "MIT" 3413 }, 3414 "node_modules/argparse": { ··· 3472 "version": "1.0.2", 3473 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 3474 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 3475 - "dev": true, 3476 "license": "MIT" 3477 }, 3478 "node_modules/binary-extensions": { 3479 "version": "2.3.0", 3480 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 3481 "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 3482 - "dev": true, 3483 "license": "MIT", 3484 "engines": { 3485 "node": ">=8" ··· 3503 "version": "3.0.3", 3504 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 3505 "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 3506 - "dev": true, 3507 "license": "MIT", 3508 "dependencies": { 3509 "fill-range": "^7.1.1" ··· 3559 "version": "2.0.1", 3560 "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 3561 "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 3562 - "dev": true, 3563 "license": "MIT", 3564 "engines": { 3565 "node": ">= 6" ··· 3607 "version": "3.6.0", 3608 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 3609 "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 3610 - "dev": true, 3611 "license": "MIT", 3612 "dependencies": { 3613 "anymatch": "~3.1.2", ··· 3632 "version": "5.1.2", 3633 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3634 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3635 - "dev": true, 3636 "license": "ISC", 3637 "dependencies": { 3638 "is-glob": "^4.0.1" ··· 3681 "version": "2.0.1", 3682 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3683 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3684 - "dev": true, 3685 "license": "MIT", 3686 "dependencies": { 3687 "color-name": "~1.1.4" ··· 3694 "version": "1.1.4", 3695 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3696 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3697 - "dev": true, 3698 "license": "MIT" 3699 }, 3700 "node_modules/commander": { 3701 "version": "4.1.1", 3702 "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 3703 "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 3704 - "dev": true, 3705 "license": "MIT", 3706 "engines": { 3707 "node": ">= 6" ··· 3718 "version": "7.0.6", 3719 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 3720 "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 3721 - "dev": true, 3722 "dependencies": { 3723 "path-key": "^3.1.0", 3724 "shebang-command": "^2.0.0", ··· 3732 "version": "3.0.0", 3733 "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 3734 "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 3735 - "dev": true, 3736 "license": "MIT", 3737 "bin": { 3738 "cssesc": "bin/cssesc" ··· 3919 "version": "1.2.2", 3920 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 3921 "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 3922 - "dev": true, 3923 "license": "Apache-2.0" 3924 }, 3925 "node_modules/dlv": { 3926 "version": "1.1.3", 3927 "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 3928 "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 3929 - "dev": true, 3930 "license": "MIT" 3931 }, 3932 "node_modules/dom-helpers": { ··· 3943 "version": "0.2.0", 3944 "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 3945 "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 3946 - "dev": true, 3947 "license": "MIT" 3948 }, 3949 "node_modules/electron-to-chromium": { ··· 3985 "version": "9.2.2", 3986 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 3987 "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 3988 - "dev": true, 3989 "license": "MIT" 3990 }, 3991 "node_modules/esbuild": { ··· 4264 "version": "3.3.2", 4265 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 4266 "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 4267 - "dev": true, 4268 "license": "MIT", 4269 "dependencies": { 4270 "@nodelib/fs.stat": "^2.0.2", ··· 4281 "version": "5.1.2", 4282 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 4283 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 4284 - "dev": true, 4285 "license": "ISC", 4286 "dependencies": { 4287 "is-glob": "^4.0.1" ··· 4308 "version": "1.17.1", 4309 "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 4310 "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 4311 - "dev": true, 4312 "license": "ISC", 4313 "dependencies": { 4314 "reusify": "^1.0.4" ··· 4331 "version": "7.1.1", 4332 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 4333 "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 4334 - "dev": true, 4335 "license": "MIT", 4336 "dependencies": { 4337 "to-regex-range": "^5.0.1" ··· 4382 "version": "3.3.0", 4383 "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 4384 "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 4385 - "dev": true, 4386 "license": "ISC", 4387 "dependencies": { 4388 "cross-spawn": "^7.0.0", ··· 4413 "version": "2.3.3", 4414 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 4415 "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 4416 - "dev": true, 4417 "hasInstallScript": true, 4418 "license": "MIT", 4419 "optional": true, ··· 4428 "version": "1.1.2", 4429 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 4430 "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 4431 - "dev": true, 4432 "license": "MIT", 4433 "funding": { 4434 "url": "https://github.com/sponsors/ljharb" ··· 4447 "version": "10.4.5", 4448 "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 4449 "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 4450 - "dev": true, 4451 "license": "ISC", 4452 "dependencies": { 4453 "foreground-child": "^3.1.0", ··· 4468 "version": "6.0.2", 4469 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 4470 "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 4471 - "dev": true, 4472 "license": "ISC", 4473 "dependencies": { 4474 "is-glob": "^4.0.3" ··· 4481 "version": "2.0.2", 4482 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 4483 "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 4484 - "dev": true, 4485 "license": "MIT", 4486 "dependencies": { 4487 "balanced-match": "^1.0.0" ··· 4491 "version": "9.0.5", 4492 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 4493 "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 4494 - "dev": true, 4495 "license": "ISC", 4496 "dependencies": { 4497 "brace-expansion": "^2.0.1" ··· 4537 "version": "2.0.2", 4538 "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 4539 "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 4540 - "dev": true, 4541 "license": "MIT", 4542 "dependencies": { 4543 "function-bind": "^1.1.2" ··· 4615 "version": "2.1.0", 4616 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 4617 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 4618 - "dev": true, 4619 "license": "MIT", 4620 "dependencies": { 4621 "binary-extensions": "^2.0.0" ··· 4628 "version": "2.15.1", 4629 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 4630 "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 4631 - "dev": true, 4632 "license": "MIT", 4633 "dependencies": { 4634 "hasown": "^2.0.2" ··· 4644 "version": "2.1.1", 4645 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 4646 "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 4647 - "dev": true, 4648 "license": "MIT", 4649 "engines": { 4650 "node": ">=0.10.0" ··· 4654 "version": "3.0.0", 4655 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 4656 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 4657 - "dev": true, 4658 "license": "MIT", 4659 "engines": { 4660 "node": ">=8" ··· 4664 "version": "4.0.3", 4665 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 4666 "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 4667 - "dev": true, 4668 "license": "MIT", 4669 "dependencies": { 4670 "is-extglob": "^2.1.1" ··· 4677 "version": "7.0.0", 4678 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 4679 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 4680 - "dev": true, 4681 "license": "MIT", 4682 "engines": { 4683 "node": ">=0.12.0" ··· 4687 "version": "2.0.0", 4688 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 4689 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 4690 - "dev": true, 4691 "license": "ISC" 4692 }, 4693 "node_modules/jackspeak": { 4694 "version": "3.4.3", 4695 "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 4696 "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 4697 - "dev": true, 4698 "license": "BlueOak-1.0.0", 4699 "dependencies": { 4700 "@isaacs/cliui": "^8.0.2" ··· 4710 "version": "1.21.6", 4711 "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", 4712 "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", 4713 - "dev": true, 4714 "license": "MIT", 4715 "bin": { 4716 "jiti": "bin/jiti.js" ··· 4784 "version": "3.1.3", 4785 "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 4786 "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 4787 - "dev": true, 4788 "license": "MIT", 4789 "engines": { 4790 "node": ">=14" ··· 4797 "version": "1.2.4", 4798 "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 4799 "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 4800 - "dev": true, 4801 "license": "MIT" 4802 }, 4803 "node_modules/locate-path": { ··· 5307 "version": "10.4.3", 5308 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 5309 "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 5310 - "dev": true, 5311 "license": "ISC" 5312 }, 5313 "node_modules/lucide-react": { ··· 5332 "version": "1.4.1", 5333 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 5334 "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 5335 - "dev": true, 5336 "license": "MIT", 5337 "engines": { 5338 "node": ">= 8" ··· 5342 "version": "4.0.8", 5343 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 5344 "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 5345 - "dev": true, 5346 "license": "MIT", 5347 "dependencies": { 5348 "braces": "^3.0.3", ··· 5369 "version": "7.1.2", 5370 "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 5371 "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 5372 - "dev": true, 5373 "license": "ISC", 5374 "engines": { 5375 "node": ">=16 || 14 >=14.17" ··· 5386 "version": "2.7.0", 5387 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 5388 "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 5389 - "dev": true, 5390 "license": "MIT", 5391 "dependencies": { 5392 "any-promise": "^1.0.0", ··· 5398 "version": "3.3.11", 5399 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 5400 "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 5401 - "dev": true, 5402 "funding": [ 5403 { 5404 "type": "github", ··· 5441 "version": "3.0.0", 5442 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 5443 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 5444 - "dev": true, 5445 "license": "MIT", 5446 "engines": { 5447 "node": ">=0.10.0" ··· 5470 "version": "3.0.0", 5471 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 5472 "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 5473 - "dev": true, 5474 "license": "MIT", 5475 "engines": { 5476 "node": ">= 6" ··· 5530 "version": "1.0.1", 5531 "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 5532 "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 5533 - "dev": true, 5534 "license": "BlueOak-1.0.0" 5535 }, 5536 "node_modules/parent-module": { ··· 5560 "version": "3.1.1", 5561 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 5562 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 5563 - "dev": true, 5564 "license": "MIT", 5565 "engines": { 5566 "node": ">=8" ··· 5570 "version": "1.0.7", 5571 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 5572 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 5573 - "dev": true, 5574 "license": "MIT" 5575 }, 5576 "node_modules/path-scurry": { 5577 "version": "1.11.1", 5578 "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 5579 "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 5580 - "dev": true, 5581 "license": "BlueOak-1.0.0", 5582 "dependencies": { 5583 "lru-cache": "^10.2.0", ··· 5594 "version": "1.1.1", 5595 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 5596 "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 5597 - "dev": true, 5598 "license": "ISC" 5599 }, 5600 "node_modules/picomatch": { 5601 "version": "2.3.1", 5602 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 5603 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 5604 - "dev": true, 5605 "license": "MIT", 5606 "engines": { 5607 "node": ">=8.6" ··· 5614 "version": "2.3.0", 5615 "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 5616 "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 5617 - "dev": true, 5618 "license": "MIT", 5619 "engines": { 5620 "node": ">=0.10.0" ··· 5624 "version": "4.0.6", 5625 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 5626 "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 5627 - "dev": true, 5628 "license": "MIT", 5629 "engines": { 5630 "node": ">= 6" ··· 5634 "version": "8.5.6", 5635 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 5636 "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 5637 - "dev": true, 5638 "funding": [ 5639 { 5640 "type": "opencollective", ··· 5663 "version": "15.1.0", 5664 "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 5665 "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 5666 - "dev": true, 5667 "license": "MIT", 5668 "dependencies": { 5669 "postcss-value-parser": "^4.0.0", ··· 5681 "version": "4.0.1", 5682 "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 5683 "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 5684 - "dev": true, 5685 "license": "MIT", 5686 "dependencies": { 5687 "camelcase-css": "^2.0.1" ··· 5701 "version": "4.0.2", 5702 "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 5703 "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 5704 - "dev": true, 5705 "funding": [ 5706 { 5707 "type": "opencollective", ··· 5737 "version": "6.2.0", 5738 "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 5739 "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 5740 - "dev": true, 5741 "funding": [ 5742 { 5743 "type": "opencollective", ··· 5763 "version": "6.1.2", 5764 "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 5765 "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 5766 - "dev": true, 5767 "license": "MIT", 5768 "dependencies": { 5769 "cssesc": "^3.0.0", ··· 5777 "version": "4.2.0", 5778 "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 5779 "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 5780 - "dev": true, 5781 "license": "MIT" 5782 }, 5783 "node_modules/prelude-ls": { ··· 5821 "version": "1.2.3", 5822 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 5823 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 5824 - "dev": true, 5825 "funding": [ 5826 { 5827 "type": "github", ··· 6065 "version": "1.0.0", 6066 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 6067 "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 6068 - "dev": true, 6069 "license": "MIT", 6070 "dependencies": { 6071 "pify": "^2.3.0" ··· 6075 "version": "3.6.0", 6076 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 6077 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 6078 - "dev": true, 6079 "license": "MIT", 6080 "dependencies": { 6081 "picomatch": "^2.2.1" ··· 6120 "version": "1.22.8", 6121 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 6122 "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 6123 - "dev": true, 6124 "license": "MIT", 6125 "dependencies": { 6126 "is-core-module": "^2.13.0", ··· 6148 "version": "1.0.4", 6149 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 6150 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 6151 - "dev": true, 6152 "license": "MIT", 6153 "engines": { 6154 "iojs": ">=1.0.0", ··· 6195 "version": "1.2.0", 6196 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 6197 "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 6198 - "dev": true, 6199 "funding": [ 6200 { 6201 "type": "github", ··· 6247 "version": "2.0.0", 6248 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 6249 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 6250 - "dev": true, 6251 "license": "MIT", 6252 "dependencies": { 6253 "shebang-regex": "^3.0.0" ··· 6260 "version": "3.0.0", 6261 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 6262 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 6263 - "dev": true, 6264 "license": "MIT", 6265 "engines": { 6266 "node": ">=8" ··· 6270 "version": "4.1.0", 6271 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 6272 "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 6273 - "dev": true, 6274 "license": "ISC", 6275 "engines": { 6276 "node": ">=14" ··· 6293 "version": "1.2.1", 6294 "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 6295 "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 6296 - "dev": true, 6297 "license": "BSD-3-Clause", 6298 "engines": { 6299 "node": ">=0.10.0" ··· 6303 "version": "5.1.2", 6304 "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 6305 "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 6306 - "dev": true, 6307 "license": "MIT", 6308 "dependencies": { 6309 "eastasianwidth": "^0.2.0", ··· 6322 "version": "4.2.3", 6323 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6324 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6325 - "dev": true, 6326 "license": "MIT", 6327 "dependencies": { 6328 "emoji-regex": "^8.0.0", ··· 6337 "version": "5.0.1", 6338 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6339 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6340 - "dev": true, 6341 "license": "MIT", 6342 "engines": { 6343 "node": ">=8" ··· 6347 "version": "8.0.0", 6348 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6349 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 6350 - "dev": true, 6351 "license": "MIT" 6352 }, 6353 "node_modules/string-width-cjs/node_modules/strip-ansi": { 6354 "version": "6.0.1", 6355 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6356 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6357 - "dev": true, 6358 "license": "MIT", 6359 "dependencies": { 6360 "ansi-regex": "^5.0.1" ··· 6367 "version": "7.1.0", 6368 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 6369 "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 6370 - "dev": true, 6371 "license": "MIT", 6372 "dependencies": { 6373 "ansi-regex": "^6.0.1" ··· 6384 "version": "6.0.1", 6385 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6386 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6387 - "dev": true, 6388 "license": "MIT", 6389 "dependencies": { 6390 "ansi-regex": "^5.0.1" ··· 6397 "version": "5.0.1", 6398 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6399 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6400 - "dev": true, 6401 "license": "MIT", 6402 "engines": { 6403 "node": ">=8" ··· 6420 "version": "3.35.0", 6421 "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 6422 "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 6423 - "dev": true, 6424 "license": "MIT", 6425 "dependencies": { 6426 "@jridgewell/gen-mapping": "^0.3.2", ··· 6456 "version": "1.0.0", 6457 "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 6458 "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 6459 - "dev": true, 6460 "license": "MIT", 6461 "engines": { 6462 "node": ">= 0.4" ··· 6479 "version": "3.4.17", 6480 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", 6481 "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", 6482 - "dev": true, 6483 "license": "MIT", 6484 "dependencies": { 6485 "@alloc/quick-lru": "^5.2.0", ··· 6526 "version": "3.3.1", 6527 "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 6528 "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 6529 - "dev": true, 6530 "license": "MIT", 6531 "dependencies": { 6532 "any-promise": "^1.0.0" ··· 6536 "version": "1.6.0", 6537 "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 6538 "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 6539 - "dev": true, 6540 "license": "MIT", 6541 "dependencies": { 6542 "thenify": ">= 3.1.0 < 4" ··· 6555 "version": "5.0.1", 6556 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 6557 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 6558 - "dev": true, 6559 "license": "MIT", 6560 "dependencies": { 6561 "is-number": "^7.0.0" ··· 6587 "version": "0.1.13", 6588 "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 6589 "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 6590 - "dev": true, 6591 "license": "Apache-2.0" 6592 }, 6593 "node_modules/tslib": { ··· 6750 "version": "1.0.2", 6751 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 6752 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 6753 - "dev": true, 6754 "license": "MIT" 6755 }, 6756 "node_modules/vaul": { ··· 6868 "version": "2.0.2", 6869 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 6870 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 6871 - "dev": true, 6872 "license": "ISC", 6873 "dependencies": { 6874 "isexe": "^2.0.0" ··· 6894 "version": "8.1.0", 6895 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 6896 "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 6897 - "dev": true, 6898 "license": "MIT", 6899 "dependencies": { 6900 "ansi-styles": "^6.1.0", ··· 6913 "version": "7.0.0", 6914 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 6915 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 6916 - "dev": true, 6917 "license": "MIT", 6918 "dependencies": { 6919 "ansi-styles": "^4.0.0", ··· 6931 "version": "5.0.1", 6932 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6933 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6934 - "dev": true, 6935 "license": "MIT", 6936 "engines": { 6937 "node": ">=8" ··· 6941 "version": "8.0.0", 6942 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6943 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 6944 - "dev": true, 6945 "license": "MIT" 6946 }, 6947 "node_modules/wrap-ansi-cjs/node_modules/string-width": { 6948 "version": "4.2.3", 6949 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6950 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6951 - "dev": true, 6952 "license": "MIT", 6953 "dependencies": { 6954 "emoji-regex": "^8.0.0", ··· 6963 "version": "6.0.1", 6964 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6965 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6966 - "dev": true, 6967 "license": "MIT", 6968 "dependencies": { 6969 "ansi-regex": "^5.0.1" ··· 6976 "version": "6.2.1", 6977 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 6978 "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 6979 - "dev": true, 6980 "license": "MIT", 6981 "engines": { 6982 "node": ">=12" ··· 7010 "version": "2.6.0", 7011 "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", 7012 "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", 7013 - "dev": true, 7014 "license": "ISC", 7015 "bin": { 7016 "yaml": "bin.mjs"
··· 84 "version": "5.2.0", 85 "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 86 "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 87 "license": "MIT", 88 "engines": { 89 "node": ">=10" ··· 847 "version": "8.0.2", 848 "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 849 "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 850 "license": "ISC", 851 "dependencies": { 852 "string-width": "^5.1.2", ··· 864 "version": "0.3.5", 865 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 866 "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 867 "license": "MIT", 868 "dependencies": { 869 "@jridgewell/set-array": "^1.2.1", ··· 878 "version": "3.1.2", 879 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 880 "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 881 "license": "MIT", 882 "engines": { 883 "node": ">=6.0.0" ··· 887 "version": "1.2.1", 888 "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 889 "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 890 "license": "MIT", 891 "engines": { 892 "node": ">=6.0.0" ··· 896 "version": "1.5.0", 897 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 898 "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 899 "license": "MIT" 900 }, 901 "node_modules/@jridgewell/trace-mapping": { 902 "version": "0.3.25", 903 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 904 "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 905 "license": "MIT", 906 "dependencies": { 907 "@jridgewell/resolve-uri": "^3.1.0", ··· 912 "version": "2.1.5", 913 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 914 "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 915 "license": "MIT", 916 "dependencies": { 917 "@nodelib/fs.stat": "2.0.5", ··· 925 "version": "2.0.5", 926 "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 927 "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 928 "license": "MIT", 929 "engines": { 930 "node": ">= 8" ··· 934 "version": "1.2.8", 935 "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 936 "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 937 "license": "MIT", 938 "dependencies": { 939 "@nodelib/fs.scandir": "2.1.5", ··· 947 "version": "0.11.0", 948 "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 949 "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 950 "license": "MIT", 951 "optional": true, 952 "engines": { ··· 2998 "version": "15.7.13", 2999 "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", 3000 "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", 3001 + "devOptional": true, 3002 "license": "MIT" 3003 }, 3004 "node_modules/@types/react": { 3005 "version": "18.3.23", 3006 "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", 3007 "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", 3008 + "devOptional": true, 3009 "license": "MIT", 3010 "dependencies": { 3011 "@types/prop-types": "*", ··· 3016 "version": "18.3.7", 3017 "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", 3018 "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", 3019 + "devOptional": true, 3020 "license": "MIT", 3021 "peerDependencies": { 3022 "@types/react": "^18.0.0" ··· 3347 "version": "6.1.0", 3348 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 3349 "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 3350 "license": "MIT", 3351 "engines": { 3352 "node": ">=12" ··· 3359 "version": "4.3.0", 3360 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3361 "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3362 "license": "MIT", 3363 "dependencies": { 3364 "color-convert": "^2.0.1" ··· 3374 "version": "1.3.0", 3375 "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 3376 "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 3377 "license": "MIT" 3378 }, 3379 "node_modules/anymatch": { 3380 "version": "3.1.3", 3381 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 3382 "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 3383 "license": "ISC", 3384 "dependencies": { 3385 "normalize-path": "^3.0.0", ··· 3393 "version": "5.0.2", 3394 "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 3395 "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 3396 "license": "MIT" 3397 }, 3398 "node_modules/argparse": { ··· 3456 "version": "1.0.2", 3457 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 3458 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 3459 "license": "MIT" 3460 }, 3461 "node_modules/binary-extensions": { 3462 "version": "2.3.0", 3463 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 3464 "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 3465 "license": "MIT", 3466 "engines": { 3467 "node": ">=8" ··· 3485 "version": "3.0.3", 3486 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 3487 "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 3488 "license": "MIT", 3489 "dependencies": { 3490 "fill-range": "^7.1.1" ··· 3540 "version": "2.0.1", 3541 "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 3542 "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 3543 "license": "MIT", 3544 "engines": { 3545 "node": ">= 6" ··· 3587 "version": "3.6.0", 3588 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 3589 "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 3590 "license": "MIT", 3591 "dependencies": { 3592 "anymatch": "~3.1.2", ··· 3611 "version": "5.1.2", 3612 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3613 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3614 "license": "ISC", 3615 "dependencies": { 3616 "is-glob": "^4.0.1" ··· 3659 "version": "2.0.1", 3660 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3661 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3662 "license": "MIT", 3663 "dependencies": { 3664 "color-name": "~1.1.4" ··· 3671 "version": "1.1.4", 3672 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3673 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3674 "license": "MIT" 3675 }, 3676 "node_modules/commander": { 3677 "version": "4.1.1", 3678 "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 3679 "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 3680 "license": "MIT", 3681 "engines": { 3682 "node": ">= 6" ··· 3693 "version": "7.0.6", 3694 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 3695 "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 3696 "dependencies": { 3697 "path-key": "^3.1.0", 3698 "shebang-command": "^2.0.0", ··· 3706 "version": "3.0.0", 3707 "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 3708 "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 3709 "license": "MIT", 3710 "bin": { 3711 "cssesc": "bin/cssesc" ··· 3892 "version": "1.2.2", 3893 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 3894 "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 3895 "license": "Apache-2.0" 3896 }, 3897 "node_modules/dlv": { 3898 "version": "1.1.3", 3899 "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 3900 "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 3901 "license": "MIT" 3902 }, 3903 "node_modules/dom-helpers": { ··· 3914 "version": "0.2.0", 3915 "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 3916 "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 3917 "license": "MIT" 3918 }, 3919 "node_modules/electron-to-chromium": { ··· 3955 "version": "9.2.2", 3956 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 3957 "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 3958 "license": "MIT" 3959 }, 3960 "node_modules/esbuild": { ··· 4233 "version": "3.3.2", 4234 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 4235 "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 4236 "license": "MIT", 4237 "dependencies": { 4238 "@nodelib/fs.stat": "^2.0.2", ··· 4249 "version": "5.1.2", 4250 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 4251 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 4252 "license": "ISC", 4253 "dependencies": { 4254 "is-glob": "^4.0.1" ··· 4275 "version": "1.17.1", 4276 "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 4277 "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 4278 "license": "ISC", 4279 "dependencies": { 4280 "reusify": "^1.0.4" ··· 4297 "version": "7.1.1", 4298 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 4299 "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 4300 "license": "MIT", 4301 "dependencies": { 4302 "to-regex-range": "^5.0.1" ··· 4347 "version": "3.3.0", 4348 "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 4349 "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 4350 "license": "ISC", 4351 "dependencies": { 4352 "cross-spawn": "^7.0.0", ··· 4377 "version": "2.3.3", 4378 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 4379 "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 4380 "hasInstallScript": true, 4381 "license": "MIT", 4382 "optional": true, ··· 4391 "version": "1.1.2", 4392 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 4393 "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 4394 "license": "MIT", 4395 "funding": { 4396 "url": "https://github.com/sponsors/ljharb" ··· 4409 "version": "10.4.5", 4410 "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 4411 "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 4412 "license": "ISC", 4413 "dependencies": { 4414 "foreground-child": "^3.1.0", ··· 4429 "version": "6.0.2", 4430 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 4431 "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 4432 "license": "ISC", 4433 "dependencies": { 4434 "is-glob": "^4.0.3" ··· 4441 "version": "2.0.2", 4442 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 4443 "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 4444 "license": "MIT", 4445 "dependencies": { 4446 "balanced-match": "^1.0.0" ··· 4450 "version": "9.0.5", 4451 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 4452 "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 4453 "license": "ISC", 4454 "dependencies": { 4455 "brace-expansion": "^2.0.1" ··· 4495 "version": "2.0.2", 4496 "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 4497 "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 4498 "license": "MIT", 4499 "dependencies": { 4500 "function-bind": "^1.1.2" ··· 4572 "version": "2.1.0", 4573 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 4574 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 4575 "license": "MIT", 4576 "dependencies": { 4577 "binary-extensions": "^2.0.0" ··· 4584 "version": "2.15.1", 4585 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 4586 "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 4587 "license": "MIT", 4588 "dependencies": { 4589 "hasown": "^2.0.2" ··· 4599 "version": "2.1.1", 4600 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 4601 "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 4602 "license": "MIT", 4603 "engines": { 4604 "node": ">=0.10.0" ··· 4608 "version": "3.0.0", 4609 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 4610 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 4611 "license": "MIT", 4612 "engines": { 4613 "node": ">=8" ··· 4617 "version": "4.0.3", 4618 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 4619 "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 4620 "license": "MIT", 4621 "dependencies": { 4622 "is-extglob": "^2.1.1" ··· 4629 "version": "7.0.0", 4630 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 4631 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 4632 "license": "MIT", 4633 "engines": { 4634 "node": ">=0.12.0" ··· 4638 "version": "2.0.0", 4639 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 4640 "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 4641 "license": "ISC" 4642 }, 4643 "node_modules/jackspeak": { 4644 "version": "3.4.3", 4645 "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 4646 "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 4647 "license": "BlueOak-1.0.0", 4648 "dependencies": { 4649 "@isaacs/cliui": "^8.0.2" ··· 4659 "version": "1.21.6", 4660 "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", 4661 "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", 4662 "license": "MIT", 4663 "bin": { 4664 "jiti": "bin/jiti.js" ··· 4732 "version": "3.1.3", 4733 "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 4734 "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 4735 "license": "MIT", 4736 "engines": { 4737 "node": ">=14" ··· 4744 "version": "1.2.4", 4745 "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 4746 "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 4747 "license": "MIT" 4748 }, 4749 "node_modules/locate-path": { ··· 5253 "version": "10.4.3", 5254 "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 5255 "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 5256 "license": "ISC" 5257 }, 5258 "node_modules/lucide-react": { ··· 5277 "version": "1.4.1", 5278 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 5279 "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 5280 "license": "MIT", 5281 "engines": { 5282 "node": ">= 8" ··· 5286 "version": "4.0.8", 5287 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 5288 "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 5289 "license": "MIT", 5290 "dependencies": { 5291 "braces": "^3.0.3", ··· 5312 "version": "7.1.2", 5313 "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 5314 "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 5315 "license": "ISC", 5316 "engines": { 5317 "node": ">=16 || 14 >=14.17" ··· 5328 "version": "2.7.0", 5329 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 5330 "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 5331 "license": "MIT", 5332 "dependencies": { 5333 "any-promise": "^1.0.0", ··· 5339 "version": "3.3.11", 5340 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 5341 "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 5342 "funding": [ 5343 { 5344 "type": "github", ··· 5381 "version": "3.0.0", 5382 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 5383 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 5384 "license": "MIT", 5385 "engines": { 5386 "node": ">=0.10.0" ··· 5409 "version": "3.0.0", 5410 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 5411 "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 5412 "license": "MIT", 5413 "engines": { 5414 "node": ">= 6" ··· 5468 "version": "1.0.1", 5469 "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 5470 "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 5471 "license": "BlueOak-1.0.0" 5472 }, 5473 "node_modules/parent-module": { ··· 5497 "version": "3.1.1", 5498 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 5499 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 5500 "license": "MIT", 5501 "engines": { 5502 "node": ">=8" ··· 5506 "version": "1.0.7", 5507 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 5508 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 5509 "license": "MIT" 5510 }, 5511 "node_modules/path-scurry": { 5512 "version": "1.11.1", 5513 "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 5514 "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 5515 "license": "BlueOak-1.0.0", 5516 "dependencies": { 5517 "lru-cache": "^10.2.0", ··· 5528 "version": "1.1.1", 5529 "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 5530 "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 5531 "license": "ISC" 5532 }, 5533 "node_modules/picomatch": { 5534 "version": "2.3.1", 5535 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 5536 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 5537 "license": "MIT", 5538 "engines": { 5539 "node": ">=8.6" ··· 5546 "version": "2.3.0", 5547 "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 5548 "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 5549 "license": "MIT", 5550 "engines": { 5551 "node": ">=0.10.0" ··· 5555 "version": "4.0.6", 5556 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 5557 "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 5558 "license": "MIT", 5559 "engines": { 5560 "node": ">= 6" ··· 5564 "version": "8.5.6", 5565 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 5566 "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 5567 "funding": [ 5568 { 5569 "type": "opencollective", ··· 5592 "version": "15.1.0", 5593 "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 5594 "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 5595 "license": "MIT", 5596 "dependencies": { 5597 "postcss-value-parser": "^4.0.0", ··· 5609 "version": "4.0.1", 5610 "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 5611 "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 5612 "license": "MIT", 5613 "dependencies": { 5614 "camelcase-css": "^2.0.1" ··· 5628 "version": "4.0.2", 5629 "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 5630 "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 5631 "funding": [ 5632 { 5633 "type": "opencollective", ··· 5663 "version": "6.2.0", 5664 "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 5665 "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 5666 "funding": [ 5667 { 5668 "type": "opencollective", ··· 5688 "version": "6.1.2", 5689 "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 5690 "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 5691 "license": "MIT", 5692 "dependencies": { 5693 "cssesc": "^3.0.0", ··· 5701 "version": "4.2.0", 5702 "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 5703 "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 5704 "license": "MIT" 5705 }, 5706 "node_modules/prelude-ls": { ··· 5744 "version": "1.2.3", 5745 "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 5746 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 5747 "funding": [ 5748 { 5749 "type": "github", ··· 5987 "version": "1.0.0", 5988 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 5989 "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 5990 "license": "MIT", 5991 "dependencies": { 5992 "pify": "^2.3.0" ··· 5996 "version": "3.6.0", 5997 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 5998 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 5999 "license": "MIT", 6000 "dependencies": { 6001 "picomatch": "^2.2.1" ··· 6040 "version": "1.22.8", 6041 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 6042 "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 6043 "license": "MIT", 6044 "dependencies": { 6045 "is-core-module": "^2.13.0", ··· 6067 "version": "1.0.4", 6068 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 6069 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 6070 "license": "MIT", 6071 "engines": { 6072 "iojs": ">=1.0.0", ··· 6113 "version": "1.2.0", 6114 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 6115 "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 6116 "funding": [ 6117 { 6118 "type": "github", ··· 6164 "version": "2.0.0", 6165 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 6166 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 6167 "license": "MIT", 6168 "dependencies": { 6169 "shebang-regex": "^3.0.0" ··· 6176 "version": "3.0.0", 6177 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 6178 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 6179 "license": "MIT", 6180 "engines": { 6181 "node": ">=8" ··· 6185 "version": "4.1.0", 6186 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 6187 "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 6188 "license": "ISC", 6189 "engines": { 6190 "node": ">=14" ··· 6207 "version": "1.2.1", 6208 "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 6209 "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 6210 "license": "BSD-3-Clause", 6211 "engines": { 6212 "node": ">=0.10.0" ··· 6216 "version": "5.1.2", 6217 "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 6218 "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 6219 "license": "MIT", 6220 "dependencies": { 6221 "eastasianwidth": "^0.2.0", ··· 6234 "version": "4.2.3", 6235 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6236 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6237 "license": "MIT", 6238 "dependencies": { 6239 "emoji-regex": "^8.0.0", ··· 6248 "version": "5.0.1", 6249 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6250 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6251 "license": "MIT", 6252 "engines": { 6253 "node": ">=8" ··· 6257 "version": "8.0.0", 6258 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6259 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 6260 "license": "MIT" 6261 }, 6262 "node_modules/string-width-cjs/node_modules/strip-ansi": { 6263 "version": "6.0.1", 6264 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6265 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6266 "license": "MIT", 6267 "dependencies": { 6268 "ansi-regex": "^5.0.1" ··· 6275 "version": "7.1.0", 6276 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 6277 "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 6278 "license": "MIT", 6279 "dependencies": { 6280 "ansi-regex": "^6.0.1" ··· 6291 "version": "6.0.1", 6292 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6293 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6294 "license": "MIT", 6295 "dependencies": { 6296 "ansi-regex": "^5.0.1" ··· 6303 "version": "5.0.1", 6304 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6305 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6306 "license": "MIT", 6307 "engines": { 6308 "node": ">=8" ··· 6325 "version": "3.35.0", 6326 "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 6327 "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 6328 "license": "MIT", 6329 "dependencies": { 6330 "@jridgewell/gen-mapping": "^0.3.2", ··· 6360 "version": "1.0.0", 6361 "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 6362 "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 6363 "license": "MIT", 6364 "engines": { 6365 "node": ">= 0.4" ··· 6382 "version": "3.4.17", 6383 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", 6384 "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", 6385 "license": "MIT", 6386 "dependencies": { 6387 "@alloc/quick-lru": "^5.2.0", ··· 6428 "version": "3.3.1", 6429 "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 6430 "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 6431 "license": "MIT", 6432 "dependencies": { 6433 "any-promise": "^1.0.0" ··· 6437 "version": "1.6.0", 6438 "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 6439 "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 6440 "license": "MIT", 6441 "dependencies": { 6442 "thenify": ">= 3.1.0 < 4" ··· 6455 "version": "5.0.1", 6456 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 6457 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 6458 "license": "MIT", 6459 "dependencies": { 6460 "is-number": "^7.0.0" ··· 6486 "version": "0.1.13", 6487 "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 6488 "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 6489 "license": "Apache-2.0" 6490 }, 6491 "node_modules/tslib": { ··· 6648 "version": "1.0.2", 6649 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 6650 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 6651 "license": "MIT" 6652 }, 6653 "node_modules/vaul": { ··· 6765 "version": "2.0.2", 6766 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 6767 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 6768 "license": "ISC", 6769 "dependencies": { 6770 "isexe": "^2.0.0" ··· 6790 "version": "8.1.0", 6791 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 6792 "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 6793 "license": "MIT", 6794 "dependencies": { 6795 "ansi-styles": "^6.1.0", ··· 6808 "version": "7.0.0", 6809 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 6810 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 6811 "license": "MIT", 6812 "dependencies": { 6813 "ansi-styles": "^4.0.0", ··· 6825 "version": "5.0.1", 6826 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6827 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6828 "license": "MIT", 6829 "engines": { 6830 "node": ">=8" ··· 6834 "version": "8.0.0", 6835 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6836 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 6837 "license": "MIT" 6838 }, 6839 "node_modules/wrap-ansi-cjs/node_modules/string-width": { 6840 "version": "4.2.3", 6841 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6842 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6843 "license": "MIT", 6844 "dependencies": { 6845 "emoji-regex": "^8.0.0", ··· 6854 "version": "6.0.1", 6855 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6856 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6857 "license": "MIT", 6858 "dependencies": { 6859 "ansi-regex": "^5.0.1" ··· 6866 "version": "6.2.1", 6867 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 6868 "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 6869 "license": "MIT", 6870 "engines": { 6871 "node": ">=12" ··· 6899 "version": "2.6.0", 6900 "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", 6901 "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", 6902 "license": "ISC", 6903 "bin": { 6904 "yaml": "bin.mjs"
+66 -36
src/components/SEOTester.tsx
··· 146 return; 147 } 148 149 - // Add to history 150 if (!urlHistory.includes(url)) { 151 setUrlHistory([url, ...urlHistory.slice(0, 9)]); // Keep last 10 152 } ··· 156 setSeoData(null); 157 158 try { 159 - setProgress(20); 160 - 161 const urlObj = new URL(url); 162 - setProgress(40); 163 - 164 - const proxyUrl = `https://api.allorigins.win/get?url=${encodeURIComponent(url)}`; 165 - const response = await fetch(proxyUrl); 166 - setProgress(70); 167 - 168 - if (!response.ok) { 169 - throw new Error(`HTTP error! status: ${response.status}`); 170 - } 171 - 172 - const data = await response.json(); 173 - 174 - if (!data.contents) { 175 - throw new Error('No content received from the website'); 176 } 177 178 - setProgress(90); 179 - const extractedData = extractMetaData(data.contents, url); 180 const score = calculateSEOScore(extractedData); 181 - 182 setSeoData(extractedData); 183 setSeoScore(score); 184 setProgress(100); 185 - 186 - setTimeout(() => { 187 - setShowResults(true); 188 - }, 200); 189 - 190 - toast({ 191 - title: "Success", 192 - description: "SEO analysis completed successfully", 193 - }); 194 } catch (err) { 195 console.error('SEO Analysis Error:', err); 196 let errorMessage = 'Failed to analyze website. '; 197 198 - if (err instanceof TypeError && err.message.includes('Invalid URL')) { 199 errorMessage += 'Please enter a valid URL starting with http:// or https://'; 200 - } else if (err instanceof Error) { 201 errorMessage += err.message; 202 } else { 203 errorMessage += 'Please check the URL and try again.'; ··· 212 } finally { 213 setIsLoading(false); 214 if (!error) { 215 - setTimeout(() => setProgress(0), 1000); 216 } 217 } 218 }; ··· 264 return <Badge variant="destructive">Poor</Badge>; 265 }; 266 267 - const AnimatedCounter = ({ value, duration = 1000 }: { value: number; duration?: number }) => { 268 const [count, setCount] = useState(0); 269 270 useEffect(() => { 271 if (showResults) { 272 let start = 0; 273 - const increment = value / (duration / 16); 274 const timer = setInterval(() => { 275 start += increment; 276 - if (start >= value) { 277 setCount(value); 278 clearInterval(timer); 279 } else { 280 setCount(Math.floor(start)); 281 } 282 - }, 16); 283 return () => clearInterval(timer); 284 } 285 }, [value, duration, showResults]);
··· 146 return; 147 } 148 149 + // Add to history quickly 150 if (!urlHistory.includes(url)) { 151 setUrlHistory([url, ...urlHistory.slice(0, 9)]); // Keep last 10 152 } ··· 156 setSeoData(null); 157 158 try { 159 + // Quick progress update steps to avoid long UI waits 160 + setProgress(10); 161 + 162 const urlObj = new URL(url); 163 + 164 + // Simple in-memory cache to avoid refetching recently requested URLs 165 + // Use a symbol on the window to persist across HMR/dev reloads 166 + const CACHE_KEY = '__seo_tester_cache_v1'; 167 + // @ts-ignore 168 + window[CACHE_KEY] = window[CACHE_KEY] || new Map<string, { html: string; ts: number }>(); 169 + // @ts-ignore 170 + const cache: Map<string, { html: string; ts: number }> = window[CACHE_KEY]; 171 + const cached = cache.get(url); 172 + 173 + let htmlContents: string | null = null; 174 + 175 + // Use cache if fresh (< 5 minutes) 176 + if (cached && (Date.now() - cached.ts) < 5 * 60 * 1000) { 177 + htmlContents = cached.html; 178 + } else { 179 + setProgress(35); 180 + 181 + const proxyUrl = `https://api.allorigins.win/get?url=${encodeURIComponent(url)}`; 182 + 183 + // Add a fetch timeout using AbortController to avoid long waits 184 + const controller = new AbortController(); 185 + const timeout = setTimeout(() => controller.abort(), 8000); // 8s timeout 186 + 187 + const response = await fetch(proxyUrl, { signal: controller.signal }); 188 + clearTimeout(timeout); 189 + 190 + if (!response.ok) { 191 + throw new Error(`HTTP error! status: ${response.status}`); 192 + } 193 + 194 + const data = await response.json(); 195 + 196 + if (!data.contents) { 197 + throw new Error('No content received from the website'); 198 + } 199 + 200 + htmlContents = data.contents; 201 + // store in cache 202 + cache.set(url, { html: htmlContents, ts: Date.now() }); 203 } 204 205 + setProgress(70); 206 + 207 + const extractedData = extractMetaData(htmlContents, url); 208 const score = calculateSEOScore(extractedData); 209 + 210 setSeoData(extractedData); 211 setSeoScore(score); 212 setProgress(100); 213 + 214 + // Show results immediately (no artificial delay) 215 + setShowResults(true); 216 + 217 + toast({ title: "Success", description: "SEO analysis completed" }); 218 } catch (err) { 219 console.error('SEO Analysis Error:', err); 220 let errorMessage = 'Failed to analyze website. '; 221 222 + if (err instanceof TypeError && err.message.includes('Invalid URL')) { 223 errorMessage += 'Please enter a valid URL starting with http:// or https://'; 224 + } else if (err instanceof Error) { 225 errorMessage += err.message; 226 } else { 227 errorMessage += 'Please check the URL and try again.'; ··· 236 } finally { 237 setIsLoading(false); 238 if (!error) { 239 + // Remove progress quickly 240 + setTimeout(() => setProgress(0), 200); 241 } 242 } 243 }; ··· 289 return <Badge variant="destructive">Poor</Badge>; 290 }; 291 292 + const AnimatedCounter = ({ value, duration = 400 }: { value: number; duration?: number }) => { 293 const [count, setCount] = useState(0); 294 295 useEffect(() => { 296 if (showResults) { 297 let start = 0; 298 + const frame = 16; 299 + const steps = Math.max(2, Math.round(duration / frame)); 300 + const increment = value / steps; 301 + let currentStep = 0; 302 + 303 const timer = setInterval(() => { 304 + currentStep += 1; 305 start += increment; 306 + if (currentStep >= steps) { 307 setCount(value); 308 clearInterval(timer); 309 } else { 310 setCount(Math.floor(start)); 311 } 312 + }, frame); 313 return () => clearInterval(timer); 314 } 315 }, [value, duration, showResults]);