From e481a15f39f2c90e9c371f1c2d8fb302822ca9a7 Mon Sep 17 00:00:00 2001 From: Alejandro Laguna Date: Sun, 3 Aug 2025 14:46:43 +0200 Subject: [PATCH] chore: home and about page --- astro.config.mjs | 7 +- package-lock.json | 1803 ++++++++++++++++++++++++- package.json | 9 +- public/android-chrome-192x192.png | Bin 0 -> 7497 bytes public/android-chrome-512x512.png | Bin 0 -> 23391 bytes public/apple-touch-icon.png | Bin 0 -> 6882 bytes public/astro.svg | 1 + public/background.svg | 1 + public/favicon-16x16.png | Bin 0 -> 414 bytes public/favicon-32x32.png | Bin 0 -> 995 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/site.webmanifest | 1 + src/assets/android-chrome-192x192.png | Bin 0 -> 7497 bytes src/assets/android-chrome-512x512.png | Bin 0 -> 23391 bytes src/assets/apple-touch-icon.png | Bin 0 -> 6882 bytes src/assets/favicon-16x16.png | Bin 0 -> 414 bytes src/assets/favicon-32x32.png | Bin 0 -> 995 bytes src/assets/favicon.ico | Bin 0 -> 15406 bytes src/assets/favicon.svg | 9 + src/assets/site.webmanifest | 1 + src/components/ExperienceCard.astro | 25 + src/components/NavigationCard.astro | 23 + src/components/Welcome.astro | 210 --- src/layouts/Layout.astro | 60 +- src/pages/about.astro | 133 ++ src/pages/index.astro | 58 +- src/styles/global.css | 31 + 27 files changed, 2131 insertions(+), 241 deletions(-) create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/astro.svg create mode 100644 public/background.svg create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/site.webmanifest create mode 100644 src/assets/android-chrome-192x192.png create mode 100644 src/assets/android-chrome-512x512.png create mode 100644 src/assets/apple-touch-icon.png create mode 100644 src/assets/favicon-16x16.png create mode 100644 src/assets/favicon-32x32.png create mode 100644 src/assets/favicon.ico create mode 100644 src/assets/favicon.svg create mode 100644 src/assets/site.webmanifest create mode 100644 src/components/ExperienceCard.astro create mode 100644 src/components/NavigationCard.astro delete mode 100644 src/components/Welcome.astro create mode 100644 src/pages/about.astro create mode 100644 src/styles/global.css diff --git a/astro.config.mjs b/astro.config.mjs index e762ba5..b66bb90 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,5 +1,10 @@ // @ts-check import { defineConfig } from 'astro/config'; +import tailwindcss from "@tailwindcss/vite"; +import astroIcon from "astro-icon" // https://astro.build/config -export default defineConfig({}); +export default defineConfig({ + vite: { plugins: [tailwindcss()], }, + integrations: [astroIcon()], +}); diff --git a/package-lock.json b/package-lock.json index 7e5cc74..a7af594 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,53 @@ "name": "portfoliov2", "version": "0.0.1", "dependencies": { - "astro": "^5.12.8" + "@tailwindcss/vite": "^4.1.11", + "astro": "^5.12.8", + "astro-icon": "^1.1.5", + "lucide-astro": "^0.536.0", + "lucide-react": "^0.536.0", + "tailwindcss": "^4.1.11" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/install-pkg/node_modules/tinyexec": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", + "license": "MIT" + }, + "node_modules/@antfu/utils": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-8.1.1.tgz", + "integrity": "sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" } }, "node_modules/@astrojs/compiler": { @@ -565,6 +611,165 @@ "node": ">=18" } }, + "node_modules/@iconify/tools": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@iconify/tools/-/tools-4.1.2.tgz", + "integrity": "sha512-q6NzLQYEN9zkDfcyBqD3vItHcZw97w/s++3H3TBxUORr57EfHxj6tOW6fyufDjMq+Vl56WXWaPx1csBPYlI5CA==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0", + "@iconify/utils": "^2.3.0", + "@types/tar": "^6.1.13", + "axios": "^1.8.3", + "cheerio": "1.0.0", + "domhandler": "^5.0.3", + "extract-zip": "^2.0.1", + "local-pkg": "^0.5.1", + "pathe": "^1.1.2", + "svgo": "^3.3.2", + "tar": "^6.2.1" + } + }, + "node_modules/@iconify/tools/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@iconify/tools/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/@iconify/tools/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@iconify/tools/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@iconify/tools/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@iconify/tools/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@iconify/tools/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.3.0.tgz", + "integrity": "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.0.0", + "@antfu/utils": "^8.1.0", + "@iconify/types": "^2.0.0", + "debug": "^4.4.0", + "globals": "^15.14.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.0.0", + "mlly": "^1.7.4" + } + }, + "node_modules/@iconify/utils/node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT" + }, + "node_modules/@iconify/utils/node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@iconify/utils/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/@iconify/utils/node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", @@ -926,12 +1131,53 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", "license": "MIT" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", @@ -1302,6 +1548,277 @@ "tslib": "^2.8.0" } }, + "node_modules/@tailwindcss/node": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", + "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", + "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-x64": "4.1.11", + "@tailwindcss/oxide-freebsd-x64": "4.1.11", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-x64-musl": "4.1.11", + "@tailwindcss/oxide-wasm32-wasi": "4.1.11", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", + "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", + "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", + "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", + "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", + "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", + "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", + "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", + "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", + "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", + "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.11", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", + "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", + "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.11.tgz", + "integrity": "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.11", + "@tailwindcss/oxide": "4.1.11", + "tailwindcss": "4.1.11" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -1368,12 +1885,41 @@ "undici-types": "~7.8.0" } }, + "node_modules/@types/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "minipass": "^4.0.0" + } + }, + "node_modules/@types/tar/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -1601,6 +2147,34 @@ "sharp": "^0.33.3" } }, + "node_modules/astro-icon": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/astro-icon/-/astro-icon-1.1.5.tgz", + "integrity": "sha512-CJYS5nWOw9jz4RpGWmzNQY7D0y2ZZacH7atL2K9DeJXJVaz7/5WrxeyIxO8KASk1jCM96Q4LjRx/F3R+InjJrw==", + "license": "MIT", + "dependencies": { + "@iconify/tools": "^4.0.5", + "@iconify/types": "^2.0.0", + "@iconify/utils": "^2.1.30" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -1666,6 +2240,12 @@ ], "license": "MIT" }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, "node_modules/boxen": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", @@ -1697,6 +2277,28 @@ "base64-js": "^1.1.2" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/camelcase": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", @@ -1761,6 +2363,48 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/cheerio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", + "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "encoding-sniffer": "^0.2.0", + "htmlparser2": "^9.1.0", + "parse5": "^7.1.2", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^6.19.5", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18.17" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -1776,6 +2420,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/ci-info": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", @@ -1866,6 +2519,18 @@ "simple-swizzle": "^0.2.2" } }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -1876,12 +2541,27 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/common-ancestor-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", "license": "ISC" }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, "node_modules/cookie": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", @@ -1915,6 +2595,22 @@ "uncrypto": "^0.1.3" } }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/css-tree": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", @@ -1928,6 +2624,18 @@ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -1940,6 +2648,39 @@ "node": ">=4" } }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, "node_modules/debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", @@ -1976,6 +2717,15 @@ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "license": "MIT" }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1996,7 +2746,6 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "license": "Apache-2.0", - "optional": true, "engines": { "node": ">=8" } @@ -2053,6 +2802,73 @@ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", "license": "MIT" }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dset": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", @@ -2062,12 +2878,61 @@ "node": ">=4" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "license": "MIT" }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", + "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -2080,12 +2945,57 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "license": "MIT" }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.25.8", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", @@ -2154,18 +3064,53 @@ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "license": "MIT" }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "license": "MIT" + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fdir": { "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", @@ -2189,6 +3134,26 @@ "node": ">=8" } }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/fontace": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.3.0.tgz", @@ -2216,6 +3181,52 @@ "unicode-trie": "^2.0.0" } }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2230,6 +3241,15 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-east-asian-width": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", @@ -2242,12 +3262,94 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/github-slugger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", "license": "ISC" }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, "node_modules/h3": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", @@ -2265,6 +3367,45 @@ "uncrypto": "^0.1.3" } }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-util-from-html": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", @@ -2468,12 +3609,55 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", @@ -2569,6 +3753,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jiti": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2590,6 +3783,256 @@ "node": ">=6" } }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/local-pkg": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", + "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.3", + "pkg-types": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -2606,6 +4049,24 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, + "node_modules/lucide-astro": { + "version": "0.536.0", + "resolved": "https://registry.npmjs.org/lucide-astro/-/lucide-astro-0.536.0.tgz", + "integrity": "sha512-IwXWlXXI4hfChRN2L3x4TyYD7axkktoljLp5Ej4m8HC3DiWh2QVdhfxwn4IUuaVYMRENoWFiDVdjKaDyyOfSdQ==", + "license": "MIT", + "peerDependencies": { + "astro": ">=2.7.1" + } + }, + "node_modules/lucide-react": { + "version": "0.536.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.536.0.tgz", + "integrity": "sha512-2PgvNa9v+qz4Jt/ni8vPLt4jwoFybXHuubQT8fv4iCW5TjDxkbZjNZZHa485ad73NSEn/jdsEtU57eE1g+ma8A==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", @@ -2636,6 +4097,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdast-util-definitions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", @@ -3430,6 +4900,81 @@ ], "license": "MIT" }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -3526,6 +5071,18 @@ "node": ">=0.10.0" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/ofetch": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", @@ -3543,6 +5100,15 @@ "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", "license": "MIT" }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/oniguruma-parser": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", @@ -3645,6 +5211,43 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -3663,6 +5266,23 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -3732,12 +5352,54 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/radix3": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", "license": "MIT" }, + "node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -4023,6 +5685,12 @@ "fsevents": "~2.3.2" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, "node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -4184,6 +5852,82 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/tailwindcss": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", + "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/tiny-inflate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", @@ -4308,6 +6052,15 @@ "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", "license": "MIT" }, + "node_modules/undici": { + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, "node_modules/undici-types": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", @@ -4730,6 +6483,27 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "license": "BSD-2-Clause" }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -4781,12 +6555,27 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/xxhash-wasm": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", "license": "MIT" }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -4796,6 +6585,16 @@ "node": ">=12" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", diff --git a/package.json b/package.json index df44b8a..a5a325c 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,11 @@ "astro": "astro" }, "dependencies": { - "astro": "^5.12.8" + "@tailwindcss/vite": "^4.1.11", + "astro": "^5.12.8", + "astro-icon": "^1.1.5", + "lucide-astro": "^0.536.0", + "lucide-react": "^0.536.0", + "tailwindcss": "^4.1.11" } -} \ No newline at end of file +} diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..53c5e54f4364fa2e1af6b2725b3b5ae0914cc9d6 GIT binary patch literal 7497 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 literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ddcfae2cad22ba2b0beeb208bcba7dcec2cb5e67 GIT binary patch literal 6882 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 C10|^d literal 0 HcmV?d00001 diff --git a/public/astro.svg b/public/astro.svg new file mode 100644 index 0000000..8cf8fb0 --- /dev/null +++ b/public/astro.svg @@ -0,0 +1 @@ + diff --git a/public/background.svg b/public/background.svg new file mode 100644 index 0000000..4b2be0a --- /dev/null +++ b/public/background.svg @@ -0,0 +1 @@ + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..349ec826818796d1013c1ec2d1cfd02716a16955 GIT binary patch literal 414 zcmV;P0b%}$P)GWMl1Q5EG%VoH(O9ULp zVLqROVVJ)G4u=B@g#r;xr&FxgYbc76Ji>OnB{9MXG)?0+YEt3;>xx9sbsdi5U_2g^ zi!7B&=yW=mOeScxT4=Z1@qp221WnU091dX^2KxOz*_)<`%jE(|k|I&Qb-BKGUWs78-y@sN5@0Ho`W-Nv&CqBxNSi#*W3^gARaLMo3t5)QB*Jl4DwR)ACSr%;DMlP2_yi7=C_tA#&+hkR+5WC_<9!&LxTxS&_{-Y=q32i8{xWWI=Oe!9t2ikp&C)rE*^o zVdFNFl;nPyIp6!9Oygu`elrc{e5Ls_|Mx!6_q@;hzVk^2gF$+FdQt%RDxQPIrzHLy zxeSsdX$8P97Z(?`^!WJrT>$@dB%-<40#_y7-`}4KMs)HIUxI*EdU$xye}L>}MIZu( z4?nsI;QvYB`S}^Qx3}=}@`CV>T>`#KfrEnssMTuB&(A}o4t{=qC@CpHeSJMVJw0tA zBAdYO?klP8W=yH zpPyrGZ4H5ef$!!Zi-1n2V;~O?50Db3dC$ws!^Xx2W@l#+6&2+e0(829f&zGZdt-Zh z+XzBtjE|3JLvC(v+T;US3ec&uv$Gj^b#)a%K|%aHG&F>Uh6YquS3{*zz5DdEK^6gW zd~9qipR}#54P|9zTnPl6oScllzCO6QxjBviMXsr-!T9(%qNAgcnVE^+-df#SwUf8Ap?bnhoiHzlk@-9((CmQgNDCyc6PQ%PF4ygCnwR|+>DEh z3*6n^aW9yenL%*ypCL+SjEIPUDKPy%KR+Mc-QD&PXm4*vS63G|A*E8uO-HNMB0W7F z0|NtGl62aWlM_r#OmLG*NlAf1p+ID0B)4lz%c25Qt5oD+t(Ilj9NI9puKvhGa zq@KIGJ92Vz(A3m~u&^-O6!?4B&CLzxngB_Kw-zaKb#=wQ5El=tR6PlU(EyorEv8RJ5y=XcD|gxT+hWQ{U(Tfp(?W}n*2=y(x7v4a?;TC{5OQd^R7e2 RYt{e&002ovPDHLkV1keV)bIcR literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..989e2f3d2408d68b28a97830a1ed29e1a7b7afc2 GIT binary patch literal 15406 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 Q>38nW6#t5QpddZ)FQjX#wEzGB literal 0 HcmV?d00001 diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/assets/android-chrome-192x192.png b/src/assets/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..53c5e54f4364fa2e1af6b2725b3b5ae0914cc9d6 GIT binary patch literal 7497 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 literal 0 HcmV?d00001 diff --git a/src/assets/apple-touch-icon.png b/src/assets/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ddcfae2cad22ba2b0beeb208bcba7dcec2cb5e67 GIT binary patch literal 6882 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 C10|^d literal 0 HcmV?d00001 diff --git a/src/assets/favicon-16x16.png b/src/assets/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..349ec826818796d1013c1ec2d1cfd02716a16955 GIT binary patch literal 414 zcmV;P0b%}$P)GWMl1Q5EG%VoH(O9ULp zVLqROVVJ)G4u=B@g#r;xr&FxgYbc76Ji>OnB{9MXG)?0+YEt3;>xx9sbsdi5U_2g^ zi!7B&=yW=mOeScxT4=Z1@qp221WnU091dX^2KxOz*_)<`%jE(|k|I&Qb-BKGUWs78-y@sN5@0Ho`W-Nv&CqBxNSi#*W3^gARaLMo3t5)QB*Jl4DwR)ACSr%;DMlP2_yi7=C_tA#&+hkR+5WC_<9!&LxTxS&_{-Y=q32i8{xWWI=Oe!9t2ikp&C)rE*^o zVdFNFl;nPyIp6!9Oygu`elrc{e5Ls_|Mx!6_q@;hzVk^2gF$+FdQt%RDxQPIrzHLy zxeSsdX$8P97Z(?`^!WJrT>$@dB%-<40#_y7-`}4KMs)HIUxI*EdU$xye}L>}MIZu( z4?nsI;QvYB`S}^Qx3}=}@`CV>T>`#KfrEnssMTuB&(A}o4t{=qC@CpHeSJMVJw0tA zBAdYO?klP8W=yH zpPyrGZ4H5ef$!!Zi-1n2V;~O?50Db3dC$ws!^Xx2W@l#+6&2+e0(829f&zGZdt-Zh z+XzBtjE|3JLvC(v+T;US3ec&uv$Gj^b#)a%K|%aHG&F>Uh6YquS3{*zz5DdEK^6gW zd~9qipR}#54P|9zTnPl6oScllzCO6QxjBviMXsr-!T9(%qNAgcnVE^+-df#SwUf8Ap?bnhoiHzlk@-9((CmQgNDCyc6PQ%PF4ygCnwR|+>DEh z3*6n^aW9yenL%*ypCL+SjEIPUDKPy%KR+Mc-QD&PXm4*vS63G|A*E8uO-HNMB0W7F z0|NtGl62aWlM_r#OmLG*NlAf1p+ID0B)4lz%c25Qt5oD+t(Ilj9NI9puKvhGa zq@KIGJ92Vz(A3m~u&^-O6!?4B&CLzxngB_Kw-zaKb#=wQ5El=tR6PlU(EyorEv8RJ5y=XcD|gxT+hWQ{U(Tfp(?W}n*2=y(x7v4a?;TC{5OQd^R7e2 RYt{e&002ovPDHLkV1keV)bIcR literal 0 HcmV?d00001 diff --git a/src/assets/favicon.ico b/src/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..989e2f3d2408d68b28a97830a1ed29e1a7b7afc2 GIT binary patch literal 15406 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 Q>38nW6#t5QpddZ)FQjX#wEzGB literal 0 HcmV?d00001 diff --git a/src/assets/favicon.svg b/src/assets/favicon.svg new file mode 100644 index 0000000..f157bd1 --- /dev/null +++ b/src/assets/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/src/assets/site.webmanifest b/src/assets/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/src/assets/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/components/ExperienceCard.astro b/src/components/ExperienceCard.astro new file mode 100644 index 0000000..a3d123a --- /dev/null +++ b/src/components/ExperienceCard.astro @@ -0,0 +1,25 @@ +--- +export interface Props { + title: string; + company: string; + period: string; + location: string; + achievements: string[]; + technologies: string; +} + +const { title, company, period, location, achievements, technologies } = Astro.props; +--- + +
+

{title}

+

{company}, {period}, {location}

+
    + {achievements.map(achievement => ( +
  • {achievement}
  • + ))} +
+

+ {technologies} +

+
diff --git a/src/components/NavigationCard.astro b/src/components/NavigationCard.astro new file mode 100644 index 0000000..7590d5e --- /dev/null +++ b/src/components/NavigationCard.astro @@ -0,0 +1,23 @@ +--- +export interface Props { + href: string; + icon: any; + heading: string; + content: string; +} + +const { href, icon: Icon, heading, content } = Astro.props; +--- + + +
+ +
+

{heading}

+

{content}

+
+
+
diff --git a/src/components/Welcome.astro b/src/components/Welcome.astro deleted file mode 100644 index 52e0333..0000000 --- a/src/components/Welcome.astro +++ /dev/null @@ -1,210 +0,0 @@ ---- -import astroLogo from '../assets/astro.svg'; -import background from '../assets/background.svg'; ---- - - - - diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index e455c61..2ccbc7a 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,22 +1,42 @@ +--- +import "../styles/global.css" +import { NotepadText, PencilRuler, LibraryBig, Fingerprint, House } from "lucide-astro"; +--- - - - - - - - Astro Basics - - - - + + + + + Alejandro Laguna + + + + + + + + + +
+
+
+

Alejandro Laguna

+

My digital corner — science, code, thoughts.

+
+ + + +
+
+
+ +
+
+
+

+ © 2025 Alejandro Laguna. Made with a lot of love. +

+
+
+ - - diff --git a/src/pages/about.astro b/src/pages/about.astro new file mode 100644 index 0000000..639236f --- /dev/null +++ b/src/pages/about.astro @@ -0,0 +1,133 @@ +--- +import "../styles/global.css" +import Layout from "../layouts/Layout.astro" +import NavigationCard from "../components/NavigationCard.astro" +import ExperienceCard from '../components/ExperienceCard.astro'; +import { PencilRuler, LibraryBig, NotepadText, GraduationCap, Wrench, Feather, Briefcase } from 'lucide-astro'; + +const navItems = [ + { + href: "/workshop", + icon: PencilRuler, + heading: "Workshop", + content: "From the theory to the implementation. What I build to understand." + }, + { + href: "/library", + icon: LibraryBig, + heading: "Library", + content: "Books and papers and resources I use to learn. What I read, and why it matters." + }, + { + href: "/notes", + icon: NotepadText, + heading: "Notes", + content: "My explorations into the fundamental nature of everything." + } +]; + +const experiences = [ + { + title: "Software Engineer Intern", + company: "MigaLabs", + period: "July 2025 - December 2025", + location: "Barcelona (Spain)", + achievements: [ + "Built monitoring tools to keep tabs on over a terabyte of Ethereum blockchain data - quality control at scale", + "Designed validation systems that could handle different network upgrades, since each fork had its own rules to follow", + "Worked the company's main dashboard using Next.js, turning complex blockchain data into something the team and customers could actually understand", + "Studied deep the Ethereum specifications to figure out what \"correct\" data should look like across different network phases (phase0, Altair, Bellatrix, Capella...)" + ], + technologies: "Go • Next.js • Tailwind CSS • Ethereum" + }, + { + title: "Full-stack Developer", + company: "Avantiam Inc", + period: "September 2023 - August 2024", + location: "Figueres (Spain)", + achievements: [ + "Built a multitenant company management platform from the ground up - one codebase serving over 100 local companies", + "Developed HR tools, task management, and time tracking features that teams actually ended up using", + "Worked with Laravel and Livewire to create real-time interfaces that felt responsive and modern", + "Dealt the challenge of building productivity tools that didn't feel like corporate bloatware" + ], + technologies: "Laravel • PHP • JavaScript • Livewire • Alpine.js • Tailwind CSS" + }, + { + title: "Backend Developer Intern", + company: "Niblu Group", + period: "Summer 2023", + location: "Maribor (Slovenia)", + achievements: [ + "Spent a summer in Slovenia through Erasmus+, working on an e-learning platform while navigating a new country alone at 17", + "Built course delivery systems using FastAPI and Next.js, focusing on making educational content engaging", + "Got hands-on experience with AWS and Docker, learning how to deploy properly instead of just making things work locally", + "Collaborated on tools designed to make learning more accessible. It felt meaningful beyond just writing code" + ], + technologies: "Next.js • FastAPI • Python • Tailwind CSS • AWS • Docker" + } +]; + +--- + + +
+

About

+

+ I'm a second year computer science student at the European Institute of Technology, still trying to figure out my place but enjoying the journey through systems programming, webdev and other fields. Outside of code, my favorite writer is Isaac Asimov, my favorite piece of music is Spiegel im Spiegel, and my favorite book is The Witches by Roald Dahl. My favorite star is Vega because it was once our north star and will be again in about 12,000 years - something poetic about that cycle. And that's pretty much everything you need to know about me, except maybe my tea preferences, but we'll save that for another time...

+
+ +
+

+ Education +

+
    +
  • +

    Bachelor + Master’s Degree in Computer Science

    +

    European Institute of Technology, class of 2029

    +
  • +
  • +

    Vocational Studies in Networking, Microcomputers and Operative Systems

    +

    INS Cendrassos, class of 2024

    +
  • +
+
+
+

+ Experience +

+
+ {experiences.map(exp => ( + + ))} +
+
+
+

+ Tools I Use +

+ + Languages: C, Go, Python, Javascript/Typescript, PHP
+ Frameworks & Libraries: Astro, React, Preact, NextJS, Vue, NuxtJS, Express, FastAPI, TailwindCSS
+ Databases: MongoDB, PostgreSQL, MySQL/MariaDB, ClickHouse
+ Tools: Git, Bash, Linux, LaTeX, Typst, Neovim
+
+
+ +
+

+ Projects, posts, thoughts... +

+ +
+ {navItems.map(item => ( + + ))} +
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro index c04f360..8c2230a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,11 +1,57 @@ --- -import Welcome from '../components/Welcome.astro'; -import Layout from '../layouts/Layout.astro'; +import "../styles/global.css" +import Layout from "../layouts/Layout.astro" +import NavigationCard from '../components/NavigationCard.astro'; +import { Fingerprint, PencilRuler, LibraryBig, NotepadText } from 'lucide-astro'; -// Welcome to Astro! Wondering what to do next? Check out the Astro documentation at https://docs.astro.build -// Don't want to use any of this? Delete everything in this file, the `assets`, `components`, and `layouts` directories, and start fresh. +const navItems = [ + { + href: "/about", + icon: Fingerprint, + heading: "About", + content: "Who am I, my academic and professional background, what drives this work." + }, + { + href: "/workshop", + icon: PencilRuler, + heading: "Workshop", + content: "From the theory to the implementation. What I build to understand." + }, + { + href: "/library", + icon: LibraryBig, + heading: "Library", + content: "Books and papers and resources I use to learn. What I read, and why it matters." + }, + { + href: "/notes", + icon: NotepadText, + heading: "Notes", + content: "My explorations into the fundamental nature of everything." + } +]; --- - - +
+

+ A notebook for
working things out. +

+

+ Unpolished notes, working prototypes, honest questions. A space for building understanding from the ground up. Trying to understand the world by writing and building. +

+
+ +
+ +
+ {navItems.map(item => ( + + ))} +
+
diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..3b476fb --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,31 @@ +@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap'); +@import "tailwindcss"; + +:root { + --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; + --font-serif: 'Crimson Pro', Georgia, serif; + --font-mono: 'JetBrains Mono', monospace; +} + +body { + font-family: var(--font-sans); + font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1; +} + +h1, h2, h3 { + font-family: var(--font-serif); + letter-spacing: -0.025em; +} + +.nav-card { + transform: translateY(0); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} + +.nav-card:hover { + transform: translateY(-2px); +} + +.nav-card:focus { + transform: translateY(-1px); +}