diff --git a/astro.config.mjs b/astro.config.mjs index 9a85fca..b04f6fe 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,4 +1,5 @@ import {defineConfig} from 'astro/config'; +import icon from 'astro-icon'; import AstroPWA from '@vite-pwa/astro'; // https://astro.build/config @@ -27,6 +28,9 @@ export default defineConfig({ }, }, integrations: [ + icon({ + iconDir: 'src/assets/svg', + }), AstroPWA({ workbox: { // Not sure how this differs from `includeAssets`... diff --git a/package-lock.json b/package-lock.json index 6d8585a..c347b3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,15 @@ "dependencies": { "@astrojs/check": "^0.8.2", "astro": "^4.12.2", - "beeftools": "^0.1.5", - "typescript": "^5.5.3" + "astro-icon": "^1.1.0", + "beeftools": "^0.1.6", + "typescript": "^5.5.4" }, "devDependencies": { - "@typescript-eslint/parser": "^7.16.1", + "@typescript-eslint/parser": "^7.17.0", "@vite-pwa/assets-generator": "^0.2.4", "@vite-pwa/astro": "^0.4.0", - "eslint": "^8.56.0", + "eslint": "^8.57.0", "eslint-plugin-astro": "^1.2.3", "eslint-plugin-jsx-a11y": "^6.9.0", "lightningcss": "^1.25.1", @@ -43,11 +44,130 @@ "node": ">=6.0.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz", + "integrity": "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==", + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "find-up": "^5.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/install-pkg/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@antfu/install-pkg/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@antfu/install-pkg/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@antfu/install-pkg/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@antfu/install-pkg/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/@antfu/install-pkg/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/@antfu/utils": { "version": "0.7.10", "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" @@ -2641,6 +2761,61 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@iconify/tools": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@iconify/tools/-/tools-3.0.7.tgz", + "integrity": "sha512-DxfhFLMnooS34dHelpGUnnYrxLZHs0czC1CgrBhAbuL8ddVzBb2VEQm8kh9qGh7A34qeXAB5iSHH3A72rAaFrg==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0", + "@iconify/utils": "^2.1.10", + "@types/cheerio": "^0.22.32", + "@types/tar": "^6.1.6", + "cheerio": "^1.0.0-rc.12", + "extract-zip": "^2.0.1", + "local-pkg": "^0.4.3", + "pathe": "^1.1.1", + "svgo": "3.0.3", + "tar": "^6.2.0" + } + }, + "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.1.25", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.25.tgz", + "integrity": "sha512-Y+iGko8uv/Fz5bQLLJyNSZGOdMW0G7cnlEX1CiNcKsRXX9cq/y/vwxrIAtLCZhKHr3m0VJmsjVPsvnM4uX8YLg==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^0.1.1", + "@antfu/utils": "^0.7.7", + "@iconify/types": "^2.0.0", + "debug": "^4.3.4", + "kolorist": "^1.8.0", + "local-pkg": "^0.5.0", + "mlly": "^1.6.1" + } + }, + "node_modules/@iconify/utils/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.33.4", "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz", @@ -3486,9 +3661,9 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.11.0.tgz", - "integrity": "sha512-VbEhDAhT/2ozO0TPr5/ZQBO/NWLqtk4ZiBf6NplYpF38mKjNfMMied5fNEfIfYfN+cdKvhDB4VMcKvG/g9c3zg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.11.1.tgz", + "integrity": "sha512-Qsn8h15SWgv5TDRoDmiHNzdQO2BxDe86Yq6vIHf5T0cCvmfmccJKIzHtep8bQO9HMBZYCtCBzaXdd1MnxZBPSg==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.4" @@ -3517,6 +3692,15 @@ "sourcemap-codec": "^1.4.8" } }, + "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/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -3558,6 +3742,15 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cheerio": { + "version": "0.22.35", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.35.tgz", + "integrity": "sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", @@ -3612,6 +3805,15 @@ "@types/unist": "*" } }, + "node_modules/@types/node": { + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", @@ -3619,6 +3821,16 @@ "dev": true, "license": "MIT" }, + "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/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -3632,17 +3844,27 @@ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "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/@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" }, "engines": { @@ -3662,14 +3884,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3680,9 +3902,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true, "license": "MIT", "engines": { @@ -3694,14 +3916,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3723,13 +3945,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -3794,13 +4016,13 @@ } }, "node_modules/@volar/kit": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.0-alpha.17.tgz", - "integrity": "sha512-GH2h5qD1FIBmy9xmaPHll645F9K0CQQWBdDpZA0J4GDAPpKfP5M4WW5B+PS5pMIVl8cazibhsNPn1pJCDzVXIw==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.0-alpha.18.tgz", + "integrity": "sha512-dZMSNhesh23lhd61ax2l04IgIcYofAjm8M+5BKAmX47ROweyc8RrrslszCFUJynlmXx6JS1PoHqvo8+E0aAYQQ==", "license": "MIT", "dependencies": { - "@volar/language-service": "2.4.0-alpha.17", - "@volar/typescript": "2.4.0-alpha.17", + "@volar/language-service": "2.4.0-alpha.18", + "@volar/typescript": "2.4.0-alpha.18", "typesafe-path": "^0.2.2", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" @@ -3810,24 +4032,24 @@ } }, "node_modules/@volar/language-core": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0-alpha.17.tgz", - "integrity": "sha512-FF9g89QZUVJpgZvrNpA+v5Sgo7MdUjeA1celxCe4nFTpfp4P/FUdZ1lgeYy7ZS5r13oC4Ei6HqWpfLN7PFM60w==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0-alpha.18.tgz", + "integrity": "sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==", "license": "MIT", "dependencies": { - "@volar/source-map": "2.4.0-alpha.17" + "@volar/source-map": "2.4.0-alpha.18" } }, "node_modules/@volar/language-server": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.0-alpha.17.tgz", - "integrity": "sha512-K+ffVR484Zzq9tTeoRxwtvGzvhR8qCpKhcgsPkCPeCh904yr1zxkMX728fhTePB9nZtKpI0jDuqdQA+338Gl1Q==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.0-alpha.18.tgz", + "integrity": "sha512-dciHEE/R5kzI0bY71QfkoCVQ3cQI6g9MHfA4oIP6UhnJy0CdleUalWSygOXoD3Nq7Yk6wn2BRrb1PP5MsadY/Q==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.0-alpha.17", - "@volar/language-service": "2.4.0-alpha.17", - "@volar/snapshot-document": "2.4.0-alpha.17", - "@volar/typescript": "2.4.0-alpha.17", + "@volar/language-core": "2.4.0-alpha.18", + "@volar/language-service": "2.4.0-alpha.18", + "@volar/snapshot-document": "2.4.0-alpha.18", + "@volar/typescript": "2.4.0-alpha.18", "path-browserify": "^1.0.1", "request-light": "^0.7.0", "vscode-languageserver": "^9.0.1", @@ -3837,21 +4059,21 @@ } }, "node_modules/@volar/language-service": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.0-alpha.17.tgz", - "integrity": "sha512-rq+O/Nf7krrq611khGOH6+f9c5i7vQiDPXOLuGks2bBWjPUqaN7dR8agMm+9BTlAj0IItArKqUncYr5mYU78kQ==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.0-alpha.18.tgz", + "integrity": "sha512-EuetrtbEtudi9buinWAG5U3Jam5dY27zXd/7GYnx542kBwanWOBM8i4DAQd0z7M11fOxXgybxPA933uaSyaOog==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.0-alpha.17", + "@volar/language-core": "2.4.0-alpha.18", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "node_modules/@volar/snapshot-document": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/snapshot-document/-/snapshot-document-2.4.0-alpha.17.tgz", - "integrity": "sha512-7h8cf8r+gKU0EEn68pulM1yER1iFshQR/fVT0Bw7T7cbRLe7afnaXbU+jg9yKoEUuJ/B8GU3a/5IBLofY6ZqVg==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/snapshot-document/-/snapshot-document-2.4.0-alpha.18.tgz", + "integrity": "sha512-JAeclEly/wnILhR4Pu9MpgBLInZJH49O1zoy8fU+pk5I+zpv7JIEby5z2UFAS60+sIDnxBdAGd7rZ5VibE70vg==", "license": "MIT", "dependencies": { "vscode-languageserver-protocol": "^3.17.5", @@ -3859,18 +4081,18 @@ } }, "node_modules/@volar/source-map": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0-alpha.17.tgz", - "integrity": "sha512-6LOuR2nIloQCSNMNcUPRPLjL5CInIE1pYZ8lifOCSxQRiz8GcWaOm34kAvdm7pzPQqMRHBBnV/Ihkdt/w7oWAQ==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0-alpha.18.tgz", + "integrity": "sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==", "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "2.4.0-alpha.17", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.0-alpha.17.tgz", - "integrity": "sha512-oJlz5xJd0O1Xe/I7AV3kPpV6gXlcyxfpMcj/w4/wGY5AxFHxyy5i7VhaE/BVk99zsT6M2KxcZyUSsL55RlNXlQ==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.0-alpha.18.tgz", + "integrity": "sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.0-alpha.17", + "@volar/language-core": "2.4.0-alpha.18", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } @@ -4324,6 +4546,17 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/astro-icon": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/astro-icon/-/astro-icon-1.1.0.tgz", + "integrity": "sha512-Nksc09p7UuHeMcPNS9w1pKqRw3+wEmmh0A3FJW+FNXvqaeWI4RLvD1MCWErpY3Z5Cvad317rvLdik/Hg8GEk8Q==", + "license": "MIT", + "dependencies": { + "@iconify/tools": "^3.0.1", + "@iconify/types": "^2.0.0", + "@iconify/utils": "^2.1.5" + } + }, "node_modules/astro/node_modules/detect-libc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", @@ -4601,13 +4834,13 @@ "license": "MIT" }, "node_modules/beeftools": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/beeftools/-/beeftools-0.1.5.tgz", - "integrity": "sha512-B/OF0ZHIhi/DjW55c31IuBdefkftgnrxbbtcIyfoTtfXZqFQyiA+tVUMzSXGB5gb6Bb+aZfHQSc/MB2yULI3Ag==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/beeftools/-/beeftools-0.1.6.tgz", + "integrity": "sha512-03E9b9TPKUWZNe5wpWHTLcD6LJ+DnKlE0sIpSJaVVcewAEHf7toMgstFQjO52XQWJuIrRNc2IhSx4pefx7VHtw==", "license": "ISC", "engines": { - "node": ">=20.13.0", - "npm": ">=10.5.0" + "node": ">=22.4.0", + "npm": ">=10.8.0" } }, "node_modules/binary-extensions": { @@ -4634,6 +4867,12 @@ "readable-stream": "^3.4.0" } }, + "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": "7.1.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", @@ -4764,6 +5003,15 @@ "ieee754": "^1.1.13" } }, + "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/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4910,6 +5158,44 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "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": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -4935,11 +5221,13 @@ } }, "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "license": "ISC" + "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/ci-info": { "version": "4.0.0", @@ -5187,11 +5475,13 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "devOptional": true, - "license": "MIT" + "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", @@ -5216,6 +5506,12 @@ "dev": true, "license": "MIT" }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "license": "MIT" + }, "node_modules/consola": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", @@ -5279,6 +5575,47 @@ "node": ">=8" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "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": "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/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "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", @@ -5291,6 +5628,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/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -5624,6 +5994,61 @@ "node": ">=6.0.0" } }, + "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/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.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "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.3", "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", @@ -5656,9 +6081,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.832", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", - "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz", + "integrity": "sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==", "license": "ISC" }, "node_modules/emmet": { @@ -5687,7 +6112,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -6491,6 +6915,41 @@ "node": ">=0.10.0" } }, + "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/extract-zip/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/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6551,6 +7010,15 @@ "reusify": "^1.0.4" } }, + "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/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -6603,7 +7071,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "license": "MIT", "dependencies": { "locate-path": "^6.0.0", @@ -6702,6 +7169,36 @@ "node": ">=10" } }, + "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/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7311,6 +7808,25 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "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.0.1", + "entities": "^4.4.0" + } + }, "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -8313,6 +8829,12 @@ "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/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", @@ -8611,11 +9133,22 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "license": "MIT", "dependencies": { "p-locate": "^5.0.0" @@ -8969,6 +9502,12 @@ "url": "https://opencollective.com/unified" } }, + "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/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -9611,6 +10150,58 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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/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/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/minizlib/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/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/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", @@ -9618,6 +10209,18 @@ "dev": true, "license": "MIT" }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -9705,9 +10308,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz", - "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "license": "MIT" }, "node_modules/normalize-path": { @@ -9746,6 +10349,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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/object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", @@ -9846,7 +10461,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -9939,7 +10553,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "license": "MIT", "dependencies": { "p-limit": "^3.0.2" @@ -9955,7 +10568,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" @@ -9971,7 +10583,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -10060,6 +10671,19 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -10117,6 +10741,18 @@ "node": ">=8" } }, + "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.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -10208,6 +10844,17 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", + "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -10287,6 +10934,13 @@ "node": ">=10" } }, + "node_modules/prebuild-install/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC" + }, "node_modules/prebuild-install/node_modules/detect-libc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", @@ -10440,7 +11094,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -11264,12 +11917,12 @@ } }, "node_modules/shiki": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.11.0.tgz", - "integrity": "sha512-NqH/O1zRHvnuk/WfSL6b7+DtI7/kkMMSQGlZhm9DyzSU+SoIHhaw/fBZMr+zp9R8KjdIzkk3JKSC6hORuGDyng==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.11.1.tgz", + "integrity": "sha512-VHD3Q0EBXaaa245jqayBe5zQyMQUdXBFjmGr9MpDaDpAKRMYn7Ff00DM5MLk26UyKjnml3yQ0O2HNX7PtYVNFQ==", "license": "MIT", "dependencies": { - "@shikijs/core": "1.11.0", + "@shikijs/core": "1.11.1", "@types/hast": "^3.0.4" } }, @@ -11746,6 +12399,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svgo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.3.tgz", + "integrity": "sha512-X4UZvLhOglD5Xrp834HzGHf8RKUW0Ahigg/08yRO1no9t2NxffOkMiQ0WmaMIbaGlVTlSst2zWANsdhz5ybXgA==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "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/synckit": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", @@ -11763,6 +12440,23 @@ "url": "https://opencollective.com/unts" } }, + "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/tar-fs": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", @@ -11790,6 +12484,21 @@ "streamx": "^2.15.0" } }, + "node_modules/tar/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/tar/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/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -11864,6 +12573,13 @@ "node": ">=10" } }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true, + "license": "MIT" + }, "node_modules/text-decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", @@ -12101,9 +12817,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -12122,6 +12838,12 @@ "semver": "^7.3.8" } }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "license": "MIT" + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -12153,6 +12875,12 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -13358,7 +14086,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, "license": "ISC" }, "node_modules/y18n": { @@ -13444,6 +14171,16 @@ "node": ">=8" } }, + "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.1.1", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", diff --git a/package.json b/package.json index e637d22..910935f 100644 --- a/package.json +++ b/package.json @@ -39,14 +39,15 @@ "dependencies": { "@astrojs/check": "^0.8.2", "astro": "^4.12.2", - "beeftools": "^0.1.5", - "typescript": "^5.5.3" + "astro-icon": "^1.1.0", + "beeftools": "^0.1.6", + "typescript": "^5.5.4" }, "devDependencies": { - "@typescript-eslint/parser": "^7.16.1", + "@typescript-eslint/parser": "^7.17.0", "@vite-pwa/astro": "^0.4.0", "@vite-pwa/assets-generator": "^0.2.4", - "eslint": "^8.56.0", + "eslint": "^8.57.0", "eslint-plugin-astro": "^1.2.3", "eslint-plugin-jsx-a11y": "^6.9.0", "lightningcss": "^1.25.1", diff --git a/public/assets/bg-body-mind-change.png b/public/assets/bg-body-mind-change.png deleted file mode 100644 index bb76520..0000000 Binary files a/public/assets/bg-body-mind-change.png and /dev/null differ diff --git a/public/assets/bg-body-mind-change.webp b/public/assets/bg-body-mind-change.webp new file mode 100644 index 0000000..b501ebc Binary files /dev/null and b/public/assets/bg-body-mind-change.webp differ diff --git a/public/assets/bg-chicken.png b/public/assets/bg-chicken.png deleted file mode 100644 index 4e81f7f..0000000 Binary files a/public/assets/bg-chicken.png and /dev/null differ diff --git a/public/assets/bg-chicken.webp b/public/assets/bg-chicken.webp new file mode 100644 index 0000000..d322b35 Binary files /dev/null and b/public/assets/bg-chicken.webp differ diff --git a/public/assets/bg-commerce-awards.png b/public/assets/bg-commerce-awards.png deleted file mode 100644 index b9235d6..0000000 Binary files a/public/assets/bg-commerce-awards.png and /dev/null differ diff --git a/public/assets/bg-commerce-awards.webp b/public/assets/bg-commerce-awards.webp new file mode 100644 index 0000000..4776841 Binary files /dev/null and b/public/assets/bg-commerce-awards.webp differ diff --git a/public/assets/bg-draggable.png b/public/assets/bg-draggable.png deleted file mode 100644 index 3b32237..0000000 Binary files a/public/assets/bg-draggable.png and /dev/null differ diff --git a/public/assets/bg-draggable.webp b/public/assets/bg-draggable.webp new file mode 100644 index 0000000..f76b6a4 Binary files /dev/null and b/public/assets/bg-draggable.webp differ diff --git a/public/assets/bg-earwurm.webp b/public/assets/bg-earwurm.webp new file mode 100644 index 0000000..7c0aa9e Binary files /dev/null and b/public/assets/bg-earwurm.webp differ diff --git a/public/assets/bg-fringe.png b/public/assets/bg-fringe.png deleted file mode 100644 index 1394efa..0000000 Binary files a/public/assets/bg-fringe.png and /dev/null differ diff --git a/public/assets/bg-fringe.webp b/public/assets/bg-fringe.webp new file mode 100644 index 0000000..064000e Binary files /dev/null and b/public/assets/bg-fringe.webp differ diff --git a/public/assets/bg-na2012.webp b/public/assets/bg-na2012.webp new file mode 100644 index 0000000..7ba71f4 Binary files /dev/null and b/public/assets/bg-na2012.webp differ diff --git a/public/assets/bg-north-navy.png b/public/assets/bg-north-navy.png deleted file mode 100644 index aa94e26..0000000 Binary files a/public/assets/bg-north-navy.png and /dev/null differ diff --git a/public/assets/bg-north-navy.webp b/public/assets/bg-north-navy.webp new file mode 100644 index 0000000..c4ef482 Binary files /dev/null and b/public/assets/bg-north-navy.webp differ diff --git a/public/assets/bg-northern-army-2012.png b/public/assets/bg-northern-army-2012.png deleted file mode 100644 index 8c62b21..0000000 Binary files a/public/assets/bg-northern-army-2012.png and /dev/null differ diff --git a/public/assets/bg-northern-army.png b/public/assets/bg-northern-army.png deleted file mode 100644 index c50bfe6..0000000 Binary files a/public/assets/bg-northern-army.png and /dev/null differ diff --git a/public/assets/bg-northern-army.webp b/public/assets/bg-northern-army.webp new file mode 100644 index 0000000..f32377c Binary files /dev/null and b/public/assets/bg-northern-army.webp differ diff --git a/public/assets/bg-partners-academy.png b/public/assets/bg-partners-academy.png deleted file mode 100644 index 9b6df6f..0000000 Binary files a/public/assets/bg-partners-academy.png and /dev/null differ diff --git a/public/assets/bg-polaris-styleguide.png b/public/assets/bg-polaris-styleguide.png deleted file mode 100644 index d53649a..0000000 Binary files a/public/assets/bg-polaris-styleguide.png and /dev/null differ diff --git a/public/assets/bg-polaris.webp b/public/assets/bg-polaris.webp new file mode 100644 index 0000000..75656a2 Binary files /dev/null and b/public/assets/bg-polaris.webp differ diff --git a/public/assets/bg-preservation-society.png b/public/assets/bg-preservation-society.png deleted file mode 100644 index bdc7e92..0000000 Binary files a/public/assets/bg-preservation-society.png and /dev/null differ diff --git a/public/assets/bg-preservation-society.webp b/public/assets/bg-preservation-society.webp new file mode 100644 index 0000000..e50166f Binary files /dev/null and b/public/assets/bg-preservation-society.webp differ diff --git a/public/assets/bg-tetchi.webp b/public/assets/bg-tetchi.webp new file mode 100644 index 0000000..04841d9 Binary files /dev/null and b/public/assets/bg-tetchi.webp differ diff --git a/public/assets/bg-yat.webp b/public/assets/bg-yat.webp new file mode 100644 index 0000000..0fac0f4 Binary files /dev/null and b/public/assets/bg-yat.webp differ diff --git a/public/assets/intro-flowers.png b/public/assets/intro-flowers.png deleted file mode 100644 index e693d77..0000000 Binary files a/public/assets/intro-flowers.png and /dev/null differ diff --git a/public/assets/intro-flowers.webp b/public/assets/intro-flowers.webp new file mode 100644 index 0000000..37fa613 Binary files /dev/null and b/public/assets/intro-flowers.webp differ diff --git a/src/assets/svg/LogoDraggable.astro b/src/assets/svg/LogoDraggable.astro deleted file mode 100644 index d4a4519..0000000 --- a/src/assets/svg/LogoDraggable.astro +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/assets/svg/LogoPreservationSociety.astro b/src/assets/svg/LogoPreservationSociety.astro deleted file mode 100644 index a46e3e1..0000000 --- a/src/assets/svg/LogoPreservationSociety.astro +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/assets/svg/icons/BrandDulmage.svg b/src/assets/svg/icons/BrandDulmage.svg new file mode 100644 index 0000000..9debb0a --- /dev/null +++ b/src/assets/svg/icons/BrandDulmage.svg @@ -0,0 +1,5 @@ + + + diff --git a/src/assets/svg/LogoBodyMindChange.astro b/src/assets/svg/logos/LogoBodyMindChange.svg similarity index 100% rename from src/assets/svg/LogoBodyMindChange.astro rename to src/assets/svg/logos/LogoBodyMindChange.svg diff --git a/src/assets/svg/LogoChicken.astro b/src/assets/svg/logos/LogoChicken.svg similarity index 100% rename from src/assets/svg/LogoChicken.astro rename to src/assets/svg/logos/LogoChicken.svg diff --git a/src/assets/svg/logos/LogoDraggable.svg b/src/assets/svg/logos/LogoDraggable.svg new file mode 100644 index 0000000..3fbe277 --- /dev/null +++ b/src/assets/svg/logos/LogoDraggable.svg @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/src/assets/svg/logos/LogoEarwurm.svg b/src/assets/svg/logos/LogoEarwurm.svg new file mode 100644 index 0000000..97289bf --- /dev/null +++ b/src/assets/svg/logos/LogoEarwurm.svg @@ -0,0 +1,12 @@ + + + + + diff --git a/src/assets/svg/LogoFringe.astro b/src/assets/svg/logos/LogoFringe.svg similarity index 100% rename from src/assets/svg/LogoFringe.astro rename to src/assets/svg/logos/LogoFringe.svg diff --git a/src/assets/svg/LogoNorthNavy.astro b/src/assets/svg/logos/LogoNorthNavy.svg similarity index 100% rename from src/assets/svg/LogoNorthNavy.astro rename to src/assets/svg/logos/LogoNorthNavy.svg diff --git a/src/assets/svg/LogoNorthernArmy.astro b/src/assets/svg/logos/LogoNorthernArmy.svg similarity index 100% rename from src/assets/svg/LogoNorthernArmy.astro rename to src/assets/svg/logos/LogoNorthernArmy.svg diff --git a/src/assets/svg/logos/LogoPreservationSociety.svg b/src/assets/svg/logos/LogoPreservationSociety.svg new file mode 100644 index 0000000..d5b0d77 --- /dev/null +++ b/src/assets/svg/logos/LogoPreservationSociety.svg @@ -0,0 +1,8 @@ + + + diff --git a/src/assets/svg/LogoSandwichVideo.astro b/src/assets/svg/logos/LogoSandwichVideo.svg similarity index 100% rename from src/assets/svg/LogoSandwichVideo.astro rename to src/assets/svg/logos/LogoSandwichVideo.svg diff --git a/src/assets/svg/LogoShopify.astro b/src/assets/svg/logos/LogoShopify.svg similarity index 100% rename from src/assets/svg/LogoShopify.astro rename to src/assets/svg/logos/LogoShopify.svg diff --git a/src/assets/svg/logos/LogoTetchi.svg b/src/assets/svg/logos/LogoTetchi.svg new file mode 100644 index 0000000..a7a882e --- /dev/null +++ b/src/assets/svg/logos/LogoTetchi.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/src/assets/svg/logos/LogoYat.svg b/src/assets/svg/logos/LogoYat.svg new file mode 100644 index 0000000..c01b215 --- /dev/null +++ b/src/assets/svg/logos/LogoYat.svg @@ -0,0 +1,10 @@ + + + + + diff --git a/src/assets/svg/PatternStars.astro b/src/assets/svg/patterns/PatternStars.svg similarity index 100% rename from src/assets/svg/PatternStars.astro rename to src/assets/svg/patterns/PatternStars.svg diff --git a/src/components/Navigation.astro b/src/components/Navigation.astro index b9a6def..db3fa4f 100644 --- a/src/components/Navigation.astro +++ b/src/components/Navigation.astro @@ -186,7 +186,8 @@ const {id, items = []} = Astro.props; html[data-current-index='10'] .Item:nth-child(11) .Link, html[data-current-index='11'] .Item:nth-child(12) .Link, html[data-current-index='12'] .Item:nth-child(13) .Link, - html[data-current-index='13'] .Item:nth-child(14) .Link { + html[data-current-index='13'] .Item:nth-child(14) .Link, + html[data-current-index='14'] .Item:nth-child(15) .Link { cursor: url('../assets/img/cursor-rock.png'), not-allowed; color: var(--color-primary); translate: calc(var(--nav-item-shift-x) * -1) 0; @@ -205,7 +206,8 @@ const {id, items = []} = Astro.props; html[data-current-index='10'] .Item:nth-child(11) .Link:active, html[data-current-index='11'] .Item:nth-child(12) .Link:active, html[data-current-index='12'] .Item:nth-child(13) .Link:active, - html[data-current-index='13'] .Item:nth-child(14) .Link:active { + html[data-current-index='13'] .Item:nth-child(14) .Link:active, + html[data-current-index='14'] .Item:nth-child(15) .Link:active { cursor: url('../assets/img/cursor-rock-clicked.png'), not-allowed; } @@ -222,7 +224,8 @@ const {id, items = []} = Astro.props; html[data-current-index='10'] .Item:nth-child(11) .Link::before, html[data-current-index='11'] .Item:nth-child(12) .Link::before, html[data-current-index='12'] .Item:nth-child(13) .Link::before, - html[data-current-index='13'] .Item:nth-child(14) .Link::before { + html[data-current-index='13'] .Item:nth-child(14) .Link::before, + html[data-current-index='14'] .Item:nth-child(15) .Link::before { opacity: 0; } diff --git a/src/components/Project.astro b/src/components/Project.astro index 84188e8..ac57706 100644 --- a/src/components/Project.astro +++ b/src/components/Project.astro @@ -24,7 +24,7 @@ const {
- + { attribution ? (

diff --git a/src/components/ProjectLogo.astro b/src/components/ProjectLogo.astro index 307ca05..98ba486 100644 --- a/src/components/ProjectLogo.astro +++ b/src/components/ProjectLogo.astro @@ -1,23 +1,25 @@ --- +import {Icon} from 'astro-icon/components'; import {type ProjectEntry} from '@data/types'; interface Props { - id: ProjectEntry['logo']; + logo: ProjectEntry['logo']; name?: ProjectEntry['name']; url?: ProjectEntry['url']; } -const {id, name = '', url = ''} = Astro.props; -const logos = await Astro.glob('../assets/svg/Logo*.astro'); - -function getLogo(logoId: string) { - const foundLogo = logos.find(({file}) => file.includes(logoId)); - // TODO: Pass back a unique fallback logo? - return foundLogo ? foundLogo.default : logos[0].default; -} - -const LogoSvg = getLogo(id); +// No need to strongly type `logo`, because `astro-icon` will fail the +// build if it cannot find the SVG asset. +const {logo, name = '', url = ''} = Astro.props; const isLink = Boolean(url && name); + +const iconProps = { + name: `logos/${logo}`, + // `astro-icon` appends a `width/height` prop, which we do not want. + // There should be a way to do this via SVGO. + width: undefined, + height: undefined, +}; --- { @@ -30,12 +32,12 @@ const isLink = Boolean(url && name); rel="noopener noreferrer" data-overlay-action > - + ) : (

) @@ -65,7 +67,7 @@ const isLink = Boolean(url && name); cursor: url('../assets/img/cursor-dead.png'), not-allowed; } - .ProjectLogo > :global(svg) { + .ProjectLogo > [data-icon] { width: 100%; height: 100%; overflow: visible; @@ -74,58 +76,49 @@ const isLink = Boolean(url && name); /* Unique logo sizes per section id */ - :global(#BodyMindChange) { - --project-logo-size: 18rem; - - @media (--min-tablet) { - --project-logo-size: 24rem; - } - } - :global(#Chicken) { - --project-logo-size: 13rem; + --project-logo-size: 14rem; @media (--min-tablet) { - --project-logo-size: 17.6rem; + --project-logo-size: 20rem; } } :global(#CommerceAwards), - :global(#PartnersAcademy), :global(#Polaris) { - --project-logo-size: 10rem; + --project-logo-size: 12rem; @media (--min-tablet) { - --project-logo-size: 16rem; + --project-logo-size: 18rem; } } :global(#Draggable) { - --project-logo-size: 10rem; + --project-logo-size: 16rem; @media (--min-tablet) { - --project-logo-size: 14rem; + --project-logo-size: 22rem; } } - :global(#Fringe) { - --project-logo-size: 20rem; + :global(#Earwurm) { + --project-logo-size: 12rem; @media (--min-tablet) { - --project-logo-size: 26rem; + --project-logo-size: 18rem; } } - :global(#NorthernArmy), - :global(#NorthernArmy2012) { - --project-logo-size: 16rem; + :global(#Fringe) { + --project-logo-size: 20rem; @media (--min-tablet) { - --project-logo-size: 22rem; + --project-logo-size: 26rem; } } - :global(#NorthNavy) { + :global(#NA2012), + :global(#NorthernArmy) { --project-logo-size: 16rem; @media (--min-tablet) { @@ -134,18 +127,18 @@ const isLink = Boolean(url && name); } :global(#PreservationSociety) { - --project-logo-size: 12rem; + --project-logo-size: 14rem; @media (--min-tablet) { - --project-logo-size: 17rem; + --project-logo-size: 20rem; } } - :global(#SandwichVideo) { - --project-logo-size: 16rem; + :global(#Tetchi) { + --project-logo-size: 20rem; @media (--min-tablet) { - --project-logo-size: 22rem; + --project-logo-size: 26rem; } } diff --git a/src/components/Stars.astro b/src/components/Stars.astro index 0331960..1d63f3b 100644 --- a/src/components/Stars.astro +++ b/src/components/Stars.astro @@ -1,5 +1,7 @@ --- -import PatternStars from '@assets/svg/PatternStars.astro'; +const {default: patternStarsHtml} = await import( + '../assets/svg/patterns/PatternStars.svg?raw' +); // NOTE: This is mostly adapted from the `Stars` component on `Draggable`. // I have not included the `Shooting Stars`, but may want to consider @@ -7,7 +9,7 @@ import PatternStars from '@assets/svg/PatternStars.astro'; ---
- +
diff --git a/src/data/sections.ts b/src/data/sections.ts index 039e792..fe7c4d6 100644 --- a/src/data/sections.ts +++ b/src/data/sections.ts @@ -4,27 +4,18 @@ const intro: SectionEntry = { id: 'Intro', name: 'Hello', description: 'Portfolio site of Curtis Dulmage', - thumbnail: '/assets/intro-flowers.png', + thumbnail: '/assets/intro-flowers.webp', channels: [140, 84, 193], }; -const preserve: ProjectEntry = { - id: 'PreservationSociety', - name: 'Preserve', - description: 'Northern Army Preservation Society of Canada', - thumbnail: '/assets/bg-preservation-society.png', - channels: [255, 195, 12], - logo: 'LogoPreservationSociety', - url: 'https://preserve.northernarmy.com', - attribution: 'Rene Antunes', - inhouse: ['Northern Army', 'https://northernarmy.com'], -}; +/// +/// Projects const bodyMindChange: ProjectEntry = { id: 'BodyMindChange', name: 'Body Mind Change', description: 'David Cronenberg’s Body Mind Change presented by TIFF', - thumbnail: '/assets/bg-body-mind-change.png', + thumbnail: '/assets/bg-body-mind-change.webp', channels: [255, 65, 0], logo: 'LogoBodyMindChange', attribution: 'Rene Antunes', @@ -36,36 +27,64 @@ const bodyMindChange: ProjectEntry = { inactive: true, }; +const chicken: ProjectEntry = { + id: 'Chicken', + name: 'Chicken Farmers', + description: 'Chicken Farmers of Canada', + thumbnail: '/assets/bg-chicken.webp', + channels: [248, 61, 74], + logo: 'LogoChicken', + attribution: 'Rene Antunes', + client: ['Chicken Farmers of Canada', 'https://chicken.ca'], + agency: ['Northern Army', 'https://northernarmy.com'], + inactive: true, +}; + +const commerceAwards: ProjectEntry = { + id: 'CommerceAwards', + name: 'Commerce Awards', + description: 'Shopify Commerce Awards 2017', + thumbnail: '/assets/bg-commerce-awards.webp', + channels: [156, 106, 222], + logo: 'LogoShopify', + url: 'https://www.siteinspire.com/websites/7422-shopify-commerce-awards-2017', + attribution: 'Nick DeGiorgio', + inhouse: [ + 'Shopify Commerce Awards 2017', + 'https://www.shopify.com/commerce-awards', + ], + inactive: true, +}; + const draggable: ProjectEntry = { id: 'Draggable', name: 'Draggable', description: 'The drag-and-drop library your grandparents warned you about', - thumbnail: '/assets/bg-draggable.png', - channels: [20, 5, 41], + thumbnail: '/assets/bg-draggable.webp', + channels: [0, 66, 255], logo: 'LogoDraggable', url: 'https://shopify.github.io/draggable', attribution: 'Curtis Dulmage', personal: ['Draggable', 'https://shopify.github.io/draggable'], }; -const northernArmy: ProjectEntry = { - id: 'NorthernArmy', - name: 'Northern Army', - description: 'Independent branding & packaging studio', - thumbnail: '/assets/bg-northern-army.png', - channels: [226, 172, 58], - logo: 'LogoNorthernArmy', - url: 'https://northernarmy.com', - attribution: 'Rene Antunes', - inhouse: ['Northern Army', 'https://northernarmy.com'], - inactive: true, +const earwurm: ProjectEntry = { + id: 'Earwurm', + name: 'Earwurm', + description: 'Easier web audio for UI sound effects', + thumbnail: '/assets/bg-earwurm.webp', + channels: [207, 1, 93], + logo: 'LogoEarwurm', + url: 'https://beefchimi.github.io/earwurm/', + attribution: 'Curtis Dulmage', + personal: ['Earwurm', 'https://github.com/beefchimi/earwurm'], }; const fringe: ProjectEntry = { id: 'Fringe', name: 'Ottawa Fringe', description: 'Ottawa Fringe Festival', - thumbnail: '/assets/bg-fringe.png', + thumbnail: '/assets/bg-fringe.webp', channels: [255, 90, 82], logo: 'LogoFringe', attribution: 'Mandira Midha', @@ -74,11 +93,36 @@ const fringe: ProjectEntry = { inactive: true, }; +const na2012: ProjectEntry = { + id: 'NA2012', + name: 'NA 2012', + description: 'Legacy Northern Army 2012', + thumbnail: '/assets/bg-na2012.webp', + channels: [234, 72, 72], + logo: 'LogoNorthernArmy', + attribution: 'Rene Antunes', + inhouse: ['Northern Army', 'https://northernarmy.com'], + inactive: true, +}; + +const northernArmy: ProjectEntry = { + id: 'NorthernArmy', + name: 'Northern Army', + description: 'Independent branding & packaging studio', + thumbnail: '/assets/bg-northern-army.webp', + channels: [226, 172, 58], + logo: 'LogoNorthernArmy', + url: 'https://northernarmy.com', + attribution: 'Rene Antunes', + inhouse: ['Northern Army', 'https://northernarmy.com'], + inactive: true, +}; + const northNavy: ProjectEntry = { id: 'NorthNavy', name: 'North & Navy', description: 'North and Navy restaurant', - thumbnail: '/assets/bg-north-navy.png', + thumbnail: '/assets/bg-north-navy.webp', channels: [21, 53, 91], logo: 'LogoNorthNavy', url: 'https://northandnavy.com', @@ -87,10 +131,36 @@ const northNavy: ProjectEntry = { agency: ['Northern Army', 'https://northernarmy.com'], }; +const polaris: ProjectEntry = { + id: 'Polaris', + name: 'Polaris', + description: 'Shopify Polaris Styleguide', + thumbnail: '/assets/bg-polaris.webp', + channels: [56, 80, 177], + logo: 'LogoShopify', + url: 'https://polaris.shopify.com', + attribution: 'Alistair Lane', + inhouse: ['Shopify Polaris Styleguide', 'https://www.shopify.com'], + inactive: true, +}; + +const preserve: ProjectEntry = { + id: 'PreservationSociety', + name: 'Preservation Society ', + description: 'Northern Army Preservation Society of Canada', + thumbnail: '/assets/bg-preservation-society.webp', + channels: [255, 195, 12], + logo: 'LogoPreservationSociety', + url: 'https://preserve.northernarmy.com', + attribution: 'Rene Antunes', + inhouse: ['Northern Army', 'https://northernarmy.com'], +}; + const sandwich: ProjectEntry = { id: 'SandwichVideo', name: 'Sandwich Video', description: 'Video production studio and sandwich enthusiasts', + // Keeping this as a PNG as it is so much smaller than the WEBP version. thumbnail: '/assets/bg-sandwich-video.png', channels: [207, 44, 71], logo: 'LogoSandwichVideo', @@ -100,85 +170,45 @@ const sandwich: ProjectEntry = { inactive: true, }; -const commerceAwards: ProjectEntry = { - id: 'CommerceAwards', - name: 'Commerce Awards', - description: 'Shopify Commerce Awards 2017', - thumbnail: '/assets/bg-commerce-awards.png', - channels: [156, 106, 222], - logo: 'LogoShopify', - url: 'https://www.siteinspire.com/websites/7422-shopify-commerce-awards-2017', - attribution: 'Nick DeGiorgio', - inhouse: [ - 'Shopify Commerce Awards 2017', - 'https://www.shopify.com/commerce-awards', - ], - inactive: true, -}; - -const na2012: ProjectEntry = { - id: 'NorthernArmy2012', - name: 'NA 2012', - description: 'Legacy Northern Army 2012', - thumbnail: '/assets/bg-northern-army-2012.png', - channels: [234, 72, 72], - logo: 'LogoNorthernArmy', - attribution: 'Rene Antunes', - inhouse: ['Northern Army', 'https://northernarmy.com'], - inactive: true, -}; - -const partnersAcademy: ProjectEntry = { - id: 'PartnersAcademy', - name: 'Partners Academy', - description: 'Shopify Partners Academy learning platform', - thumbnail: '/assets/bg-partners-academy.png', - channels: [180, 180, 180], - logo: 'LogoShopify', - url: 'https://www.shopify.ca/partners/academy', - attribution: 'Jonathan Forsythe', - inhouse: ['Shopify Partners Academy', 'https://www.shopify.com'], - inactive: true, -}; - -const chicken: ProjectEntry = { - id: 'Chicken', - name: 'Chicken Farmers', - description: 'Chicken Farmers of Canada', - thumbnail: '/assets/bg-chicken.png', - channels: [248, 61, 74], - logo: 'LogoChicken', - attribution: 'Rene Antunes', - client: ['Chicken Farmers of Canada', 'https://chicken.ca'], - agency: ['Northern Army', 'https://northernarmy.com'], +const tetchi: ProjectEntry = { + id: 'Tetchi', + name: 'Tetchi', + description: 'Tribute to Tetsuro Takara', + thumbnail: '/assets/bg-tetchi.webp', + channels: [2, 0, 255], + logo: 'LogoTetchi', + attribution: 'Curtis Dulmage', + personal: ['Tetchi', 'https://codepen.io/tetchi'], inactive: true, }; -const polaris: ProjectEntry = { - id: 'Polaris', - name: 'Polaris Styleguide', - description: 'Shopify Polaris Styleguide', - thumbnail: '/assets/bg-polaris-styleguide.png', - channels: [56, 80, 177], - logo: 'LogoShopify', - url: 'https://polaris.shopify.com', - attribution: 'Alistair Lane', - inhouse: ['Shopify Polaris Styleguide', 'https://www.shopify.com'], +const yat: ProjectEntry = { + id: 'Yat', + name: 'Yat Labs', + description: 'Intergalactic Web 3', + thumbnail: '/assets/bg-yat.webp', + channels: [87, 18, 222], + logo: 'LogoYat', + url: 'https://y.at/', + attribution: 'Karim Balaa', + inhouse: ['Yat Floor Game', 'https://www.freshcontrast.com/'], inactive: true, }; export const sections: [intro: SectionEntry, ...projects: ProjectEntry[]] = [ intro, - preserve, bodyMindChange, - draggable, - northernArmy, + polaris, + preserve, fringe, + yat, + northernArmy, northNavy, sandwich, commerceAwards, na2012, - partnersAcademy, + draggable, chicken, - polaris, + tetchi, + earwurm, ]; diff --git a/src/pages/404.astro b/src/pages/404.astro index 14ab25b..8eb5b4b 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -52,10 +52,15 @@ import Stars from '@components/Stars.astro'; position: relative; display: grid; - gap: var(--space-tight); justify-content: center; + gap: var(--space-tight); + padding: var(--space); text-align: center; max-width: 80rem; animation: rainbowSpin 4s linear infinite both; } + + .ErrorContent h4 a { + font-weight: 700; + }