From 68284bc9636c3d84bd614e7da2cc7d7df74040e8 Mon Sep 17 00:00:00 2001 From: Zoe <62722391+juls0730@users.noreply.github.com> Date: Sat, 4 Oct 2025 22:02:15 -0500 Subject: [PATCH] V0.3.3: Even more optimization In this realease, I have further optimized Passport. The css that Passport now uses is entirely handrolled and build via postcss (sadly). Several bugs have also been fixed in this release, as well as a few performance improvements relating to the admin UI. --- .github/workflows/docker-publish.yml | 2 + .gitignore | 5 +- Dockerfile | 7 +- README.md | 18 +- bun.lock | 527 ++++++++++++++++++ package.json | 18 + postcss.config.js | 22 + ...nstrumentSans-VariableFont_wdth,wght.woff2 | Bin 88476 -> 64972 bytes src/main.go | 26 +- src/scripts/admin.js | 91 +-- src/services/uptimeService.go | 5 + src/styles/adminUi.css | 270 +++++++-- src/styles/base.css | 199 +++++++ src/styles/card.css | 148 +++++ src/styles/login.css | 58 ++ src/styles/main.css | 133 +++++ src/styles/main.scss | 195 ------- src/templates/layouts/admin.hbs | 20 - src/templates/layouts/main.hbs | 19 - src/templates/partials/category-grid.hbs | 111 ++++ .../partials/modals/category-form.hbs | 5 +- .../partials/modals/delete-category.hbs | 12 +- src/templates/partials/modals/delete-link.hbs | 11 +- src/templates/partials/modals/link-form.hbs | 5 +- src/templates/views/admin/index.hbs | 304 ++++------ src/templates/views/admin/login.hbs | 34 +- src/templates/views/index.hbs | 152 +++-- zqdgr.config.json | 16 +- 28 files changed, 1771 insertions(+), 642 deletions(-) create mode 100644 bun.lock create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 src/styles/base.css create mode 100644 src/styles/card.css create mode 100644 src/styles/login.css create mode 100644 src/styles/main.css delete mode 100644 src/styles/main.scss delete mode 100644 src/templates/layouts/admin.hbs delete mode 100644 src/templates/layouts/main.hbs create mode 100644 src/templates/partials/category-grid.hbs diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index b93dac6..cbbaa52 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -10,6 +10,8 @@ on: jobs: build-and-push: + env: + RUNNER_TOOL_CACHE: /toolcache runs-on: ubuntu-latest permissions: diff --git a/.gitignore b/.gitignore index 1155752..6460633 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,7 @@ public zqdgr # compiled via go prepare -src/assets/tailwind.css \ No newline at end of file +src/assets/styles/* +src/assets/tailwind.css + +node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d9b13dd..6dee7f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,9 @@ FROM golang:1.25 AS builder # build dependencies -RUN apt update && apt install -y upx +RUN apt update && apt install -y upx unzip + +RUN curl -fsSL https://bun.com/install | BUN_INSTALL=/usr bash ARG TARGETARCH RUN set -eux; \ @@ -30,8 +32,9 @@ COPY go.mod go.sum ./ RUN go mod download COPY . . +RUN bun install + RUN zqdgr build -RUN upx passport # ---- Runtime Stage ---- FROM gcr.io/distroless/static-debian12 AS runner diff --git a/README.md b/README.md index 128c949..39946e3 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,16 @@ Passport is a simple, fast, and lightweight web dashboard/new tab replacement. ### Prerequisites -- [ZQDGR](https://github.com/juls0730/zqdgr) -- [Go](https://go.dev/doc/install) -- [sqlite3](https://www.sqlite.org/download.html) -- [TailwdinCSS CLI](https://github.com/tailwindlabs/tailwindcss/releases/latest) +- [ZQDGR](https://github.com/juls0730/zqdgr) +- [Go](https://go.dev/doc/install) +- [sqlite3](https://www.sqlite.org/download.html) +- [TailwdinCSS CLI](https://github.com/tailwindlabs/tailwindcss/releases/latest) ## Usage ### Docker -Passport is available as a Docker image via this repository. This is the recommended way to run Passport. +Passport is available as a Docker image via this repository for both amd64 and arm64. This is the recommended way to run Passport. ```bash docker run -d --name passport -p 3000:3000 -v passport_data:/data -e PASSPORT_ADMIN_USERNAME=admin -e PASSPORT_ADMIN_PASSWORD=password ghcr.io/juls0730/passport:latest @@ -35,9 +35,11 @@ If you want to build from source, you will need to install the dependencies firs # note entirely necessary, but strongly recommended go install github.com/juls0730/zqdgr@latest -curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/download/v4.1.13/tailwindcss-linux-x64 -chmod +x tailwindcss-linux-x64 -mv tailwindcss-linux-x64 /usr/local/bin/tailwindcss +# install bun +curl -fsSL https://bun.sh/install | bash + +# install css build deps +bun install # you may also have to install sqlite3... ``` diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..f8b10fc --- /dev/null +++ b/bun.lock @@ -0,0 +1,527 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "passport-css-compiler", + "devDependencies": { + "@fullhuman/postcss-purgecss": "^7.0.2", + "cssnano": "^7.1.1", + "postcss": "^8.4.35", + "postcss-cli": "^11.0.0", + "postcss-import": "^16.1.1", + "postcss-preset-env": "^10.4.0", + }, + }, + }, + "packages": { + "@csstools/cascade-layer-name-parser": ["@csstools/cascade-layer-name-parser@2.0.5", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A=="], + + "@csstools/color-helpers": ["@csstools/color-helpers@5.1.0", "", {}, "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA=="], + + "@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="], + + "@csstools/css-color-parser": ["@csstools/css-color-parser@3.1.0", "", { "dependencies": { "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA=="], + + "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="], + + "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="], + + "@csstools/media-query-list-parser": ["@csstools/media-query-list-parser@4.0.3", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ=="], + + "@csstools/postcss-alpha-function": ["@csstools/postcss-alpha-function@1.0.1", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w=="], + + "@csstools/postcss-cascade-layers": ["@csstools/postcss-cascade-layers@5.0.2", "", { "dependencies": { "@csstools/selector-specificity": "^5.0.0", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg=="], + + "@csstools/postcss-color-function": ["@csstools/postcss-color-function@4.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA=="], + + "@csstools/postcss-color-function-display-p3-linear": ["@csstools/postcss-color-function-display-p3-linear@1.0.1", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg=="], + + "@csstools/postcss-color-mix-function": ["@csstools/postcss-color-mix-function@3.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag=="], + + "@csstools/postcss-color-mix-variadic-function-arguments": ["@csstools/postcss-color-mix-variadic-function-arguments@1.0.2", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ=="], + + "@csstools/postcss-content-alt-text": ["@csstools/postcss-content-alt-text@2.0.8", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q=="], + + "@csstools/postcss-contrast-color-function": ["@csstools/postcss-contrast-color-function@2.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA=="], + + "@csstools/postcss-exponential-functions": ["@csstools/postcss-exponential-functions@2.0.9", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw=="], + + "@csstools/postcss-font-format-keywords": ["@csstools/postcss-font-format-keywords@4.0.0", "", { "dependencies": { "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw=="], + + "@csstools/postcss-gamut-mapping": ["@csstools/postcss-gamut-mapping@2.0.11", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw=="], + + "@csstools/postcss-gradients-interpolation-method": ["@csstools/postcss-gradients-interpolation-method@5.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow=="], + + "@csstools/postcss-hwb-function": ["@csstools/postcss-hwb-function@4.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA=="], + + "@csstools/postcss-ic-unit": ["@csstools/postcss-ic-unit@4.0.4", "", { "dependencies": { "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg=="], + + "@csstools/postcss-initial": ["@csstools/postcss-initial@2.0.1", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg=="], + + "@csstools/postcss-is-pseudo-class": ["@csstools/postcss-is-pseudo-class@5.0.3", "", { "dependencies": { "@csstools/selector-specificity": "^5.0.0", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ=="], + + "@csstools/postcss-light-dark-function": ["@csstools/postcss-light-dark-function@2.0.11", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA=="], + + "@csstools/postcss-logical-float-and-clear": ["@csstools/postcss-logical-float-and-clear@3.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ=="], + + "@csstools/postcss-logical-overflow": ["@csstools/postcss-logical-overflow@2.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA=="], + + "@csstools/postcss-logical-overscroll-behavior": ["@csstools/postcss-logical-overscroll-behavior@2.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w=="], + + "@csstools/postcss-logical-resize": ["@csstools/postcss-logical-resize@3.0.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg=="], + + "@csstools/postcss-logical-viewport-units": ["@csstools/postcss-logical-viewport-units@3.0.4", "", { "dependencies": { "@csstools/css-tokenizer": "^3.0.4", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ=="], + + "@csstools/postcss-media-minmax": ["@csstools/postcss-media-minmax@2.0.9", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig=="], + + "@csstools/postcss-media-queries-aspect-ratio-number-values": ["@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg=="], + + "@csstools/postcss-nested-calc": ["@csstools/postcss-nested-calc@4.0.0", "", { "dependencies": { "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A=="], + + "@csstools/postcss-normalize-display-values": ["@csstools/postcss-normalize-display-values@4.0.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q=="], + + "@csstools/postcss-oklab-function": ["@csstools/postcss-oklab-function@4.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg=="], + + "@csstools/postcss-progressive-custom-properties": ["@csstools/postcss-progressive-custom-properties@4.2.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw=="], + + "@csstools/postcss-random-function": ["@csstools/postcss-random-function@2.0.1", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w=="], + + "@csstools/postcss-relative-color-syntax": ["@csstools/postcss-relative-color-syntax@3.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw=="], + + "@csstools/postcss-scope-pseudo-class": ["@csstools/postcss-scope-pseudo-class@4.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q=="], + + "@csstools/postcss-sign-functions": ["@csstools/postcss-sign-functions@1.1.4", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg=="], + + "@csstools/postcss-stepped-value-functions": ["@csstools/postcss-stepped-value-functions@4.0.9", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA=="], + + "@csstools/postcss-text-decoration-shorthand": ["@csstools/postcss-text-decoration-shorthand@4.0.3", "", { "dependencies": { "@csstools/color-helpers": "^5.1.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA=="], + + "@csstools/postcss-trigonometric-functions": ["@csstools/postcss-trigonometric-functions@4.0.9", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A=="], + + "@csstools/postcss-unset-value": ["@csstools/postcss-unset-value@4.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA=="], + + "@csstools/selector-resolve-nested": ["@csstools/selector-resolve-nested@3.1.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.0.0" } }, "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g=="], + + "@csstools/selector-specificity": ["@csstools/selector-specificity@5.0.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.0.0" } }, "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw=="], + + "@csstools/utilities": ["@csstools/utilities@2.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ=="], + + "@fullhuman/postcss-purgecss": ["@fullhuman/postcss-purgecss@7.0.2", "", { "dependencies": { "purgecss": "^7.0.2" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-U4zAXNaVztbDxO9EdcLp51F3UxxYsb/7DN89rFxFJhfk2Wua2pvw2Kf3HdspbPhW/wpHjSjsxWYoIlbTgRSjbQ=="], + + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], + + "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "autoprefixer": ["autoprefixer@10.4.21", "", { "dependencies": { "browserslist": "^4.24.4", "caniuse-lite": "^1.0.30001702", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.8.10", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-uLfgBi+7IBNay8ECBO2mVMGZAc1VgZWEChxm4lv+TobGdG82LnXMjuNGo/BSSZZL4UmkWhxEHP2f5ziLNwGWMA=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "browserslist": ["browserslist@4.26.3", "", { "dependencies": { "baseline-browser-mapping": "^2.8.9", "caniuse-lite": "^1.0.30001746", "electron-to-chromium": "^1.5.227", "node-releases": "^2.0.21", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w=="], + + "caniuse-api": ["caniuse-api@3.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001746", "", {}, "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA=="], + + "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "colord": ["colord@2.9.3", "", {}, "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="], + + "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "css-blank-pseudo": ["css-blank-pseudo@7.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag=="], + + "css-declaration-sorter": ["css-declaration-sorter@7.3.0", "", { "peerDependencies": { "postcss": "^8.0.9" } }, "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ=="], + + "css-has-pseudo": ["css-has-pseudo@7.0.3", "", { "dependencies": { "@csstools/selector-specificity": "^5.0.0", "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA=="], + + "css-prefers-color-scheme": ["css-prefers-color-scheme@10.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ=="], + + "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], + + "css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="], + + "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], + + "cssdb": ["cssdb@8.4.2", "", {}, "sha512-PzjkRkRUS+IHDJohtxkIczlxPPZqRo0nXplsYXOMBRPjcVRjj1W4DfvRgshUYTVuUigU7ptVYkFJQ7abUB0nyg=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "cssnano": ["cssnano@7.1.1", "", { "dependencies": { "cssnano-preset-default": "^7.0.9", "lilconfig": "^3.1.3" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ=="], + + "cssnano-preset-default": ["cssnano-preset-default@7.0.9", "", { "dependencies": { "browserslist": "^4.25.1", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.1", "postcss-calc": "^10.1.1", "postcss-colormin": "^7.0.4", "postcss-convert-values": "^7.0.7", "postcss-discard-comments": "^7.0.4", "postcss-discard-duplicates": "^7.0.2", "postcss-discard-empty": "^7.0.1", "postcss-discard-overridden": "^7.0.1", "postcss-merge-longhand": "^7.0.5", "postcss-merge-rules": "^7.0.6", "postcss-minify-font-values": "^7.0.1", "postcss-minify-gradients": "^7.0.1", "postcss-minify-params": "^7.0.4", "postcss-minify-selectors": "^7.0.5", "postcss-normalize-charset": "^7.0.1", "postcss-normalize-display-values": "^7.0.1", "postcss-normalize-positions": "^7.0.1", "postcss-normalize-repeat-style": "^7.0.1", "postcss-normalize-string": "^7.0.1", "postcss-normalize-timing-functions": "^7.0.1", "postcss-normalize-unicode": "^7.0.4", "postcss-normalize-url": "^7.0.1", "postcss-normalize-whitespace": "^7.0.1", "postcss-ordered-values": "^7.0.2", "postcss-reduce-initial": "^7.0.4", "postcss-reduce-transforms": "^7.0.1", "postcss-svgo": "^7.1.0", "postcss-unique-selectors": "^7.0.4" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA=="], + + "cssnano-utils": ["cssnano-utils@5.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg=="], + + "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="], + + "dependency-graph": ["dependency-graph@1.0.0", "", {}, "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg=="], + + "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], + + "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], + + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], + + "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.229", "", {}, "sha512-cwhDcZKGcT/rEthLRJ9eBlMDkh1sorgsuk+6dpsehV0g9CABsIqBxU4rLRjG+d/U6pYU1s37A4lSKrVc5lSQYg=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], + + "fs-extra": ["fs-extra@11.3.2", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "glob": ["glob@11.0.3", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA=="], + + "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="], + + "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="], + + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + + "lodash.memoize": ["lodash.memoize@4.1.2", "", {}, "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="], + + "lodash.uniq": ["lodash.uniq@4.5.0", "", {}, "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="], + + "lru-cache": ["lru-cache@11.2.2", "", {}, "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg=="], + + "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], + + "minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], + + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "node-releases": ["node-releases@2.0.21", "", {}, "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], + + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-scurry": ["path-scurry@2.0.0", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-attribute-case-insensitive": ["postcss-attribute-case-insensitive@7.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw=="], + + "postcss-calc": ["postcss-calc@10.1.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.38" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="], + + "postcss-clamp": ["postcss-clamp@4.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.6" } }, "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow=="], + + "postcss-cli": ["postcss-cli@11.0.1", "", { "dependencies": { "chokidar": "^3.3.0", "dependency-graph": "^1.0.0", "fs-extra": "^11.0.0", "picocolors": "^1.0.0", "postcss-load-config": "^5.0.0", "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", "slash": "^5.0.0", "tinyglobby": "^0.2.12", "yargs": "^17.0.0" }, "peerDependencies": { "postcss": "^8.0.0" }, "bin": { "postcss": "index.js" } }, "sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g=="], + + "postcss-color-functional-notation": ["postcss-color-functional-notation@7.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw=="], + + "postcss-color-hex-alpha": ["postcss-color-hex-alpha@10.0.0", "", { "dependencies": { "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w=="], + + "postcss-color-rebeccapurple": ["postcss-color-rebeccapurple@10.0.0", "", { "dependencies": { "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ=="], + + "postcss-colormin": ["postcss-colormin@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw=="], + + "postcss-convert-values": ["postcss-convert-values@7.0.7", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A=="], + + "postcss-custom-media": ["postcss-custom-media@11.0.6", "", { "dependencies": { "@csstools/cascade-layer-name-parser": "^2.0.5", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw=="], + + "postcss-custom-properties": ["postcss-custom-properties@14.0.6", "", { "dependencies": { "@csstools/cascade-layer-name-parser": "^2.0.5", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ=="], + + "postcss-custom-selectors": ["postcss-custom-selectors@8.0.5", "", { "dependencies": { "@csstools/cascade-layer-name-parser": "^2.0.5", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg=="], + + "postcss-dir-pseudo-class": ["postcss-dir-pseudo-class@9.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA=="], + + "postcss-discard-comments": ["postcss-discard-comments@7.0.4", "", { "dependencies": { "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg=="], + + "postcss-discard-duplicates": ["postcss-discard-duplicates@7.0.2", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w=="], + + "postcss-discard-empty": ["postcss-discard-empty@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg=="], + + "postcss-discard-overridden": ["postcss-discard-overridden@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg=="], + + "postcss-double-position-gradients": ["postcss-double-position-gradients@6.0.4", "", { "dependencies": { "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g=="], + + "postcss-focus-visible": ["postcss-focus-visible@10.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA=="], + + "postcss-focus-within": ["postcss-focus-within@9.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw=="], + + "postcss-font-variant": ["postcss-font-variant@5.0.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA=="], + + "postcss-gap-properties": ["postcss-gap-properties@6.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw=="], + + "postcss-image-set-function": ["postcss-image-set-function@7.0.0", "", { "dependencies": { "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA=="], + + "postcss-import": ["postcss-import@16.1.1", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ=="], + + "postcss-lab-function": ["postcss-lab-function@7.0.12", "", { "dependencies": { "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/utilities": "^2.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w=="], + + "postcss-load-config": ["postcss-load-config@5.1.0", "", { "dependencies": { "lilconfig": "^3.1.1", "yaml": "^2.4.2" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1" }, "optionalPeers": ["jiti", "postcss", "tsx"] }, "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA=="], + + "postcss-logical": ["postcss-logical@8.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA=="], + + "postcss-merge-longhand": ["postcss-merge-longhand@7.0.5", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^7.0.5" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw=="], + + "postcss-merge-rules": ["postcss-merge-rules@7.0.6", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ=="], + + "postcss-minify-font-values": ["postcss-minify-font-values@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ=="], + + "postcss-minify-gradients": ["postcss-minify-gradients@7.0.1", "", { "dependencies": { "colord": "^2.9.3", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A=="], + + "postcss-minify-params": ["postcss-minify-params@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw=="], + + "postcss-minify-selectors": ["postcss-minify-selectors@7.0.5", "", { "dependencies": { "cssesc": "^3.0.0", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug=="], + + "postcss-nesting": ["postcss-nesting@13.0.2", "", { "dependencies": { "@csstools/selector-resolve-nested": "^3.1.0", "@csstools/selector-specificity": "^5.0.0", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ=="], + + "postcss-normalize-charset": ["postcss-normalize-charset@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ=="], + + "postcss-normalize-display-values": ["postcss-normalize-display-values@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ=="], + + "postcss-normalize-positions": ["postcss-normalize-positions@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ=="], + + "postcss-normalize-repeat-style": ["postcss-normalize-repeat-style@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ=="], + + "postcss-normalize-string": ["postcss-normalize-string@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ=="], + + "postcss-normalize-timing-functions": ["postcss-normalize-timing-functions@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg=="], + + "postcss-normalize-unicode": ["postcss-normalize-unicode@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g=="], + + "postcss-normalize-url": ["postcss-normalize-url@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ=="], + + "postcss-normalize-whitespace": ["postcss-normalize-whitespace@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA=="], + + "postcss-opacity-percentage": ["postcss-opacity-percentage@3.0.0", "", { "peerDependencies": { "postcss": "^8.4" } }, "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ=="], + + "postcss-ordered-values": ["postcss-ordered-values@7.0.2", "", { "dependencies": { "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw=="], + + "postcss-overflow-shorthand": ["postcss-overflow-shorthand@6.0.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q=="], + + "postcss-page-break": ["postcss-page-break@3.0.4", "", { "peerDependencies": { "postcss": "^8" } }, "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ=="], + + "postcss-place": ["postcss-place@10.0.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw=="], + + "postcss-preset-env": ["postcss-preset-env@10.4.0", "", { "dependencies": { "@csstools/postcss-alpha-function": "^1.0.1", "@csstools/postcss-cascade-layers": "^5.0.2", "@csstools/postcss-color-function": "^4.0.12", "@csstools/postcss-color-function-display-p3-linear": "^1.0.1", "@csstools/postcss-color-mix-function": "^3.0.12", "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2", "@csstools/postcss-content-alt-text": "^2.0.8", "@csstools/postcss-contrast-color-function": "^2.0.12", "@csstools/postcss-exponential-functions": "^2.0.9", "@csstools/postcss-font-format-keywords": "^4.0.0", "@csstools/postcss-gamut-mapping": "^2.0.11", "@csstools/postcss-gradients-interpolation-method": "^5.0.12", "@csstools/postcss-hwb-function": "^4.0.12", "@csstools/postcss-ic-unit": "^4.0.4", "@csstools/postcss-initial": "^2.0.1", "@csstools/postcss-is-pseudo-class": "^5.0.3", "@csstools/postcss-light-dark-function": "^2.0.11", "@csstools/postcss-logical-float-and-clear": "^3.0.0", "@csstools/postcss-logical-overflow": "^2.0.0", "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", "@csstools/postcss-logical-resize": "^3.0.0", "@csstools/postcss-logical-viewport-units": "^3.0.4", "@csstools/postcss-media-minmax": "^2.0.9", "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", "@csstools/postcss-nested-calc": "^4.0.0", "@csstools/postcss-normalize-display-values": "^4.0.0", "@csstools/postcss-oklab-function": "^4.0.12", "@csstools/postcss-progressive-custom-properties": "^4.2.1", "@csstools/postcss-random-function": "^2.0.1", "@csstools/postcss-relative-color-syntax": "^3.0.12", "@csstools/postcss-scope-pseudo-class": "^4.0.1", "@csstools/postcss-sign-functions": "^1.1.4", "@csstools/postcss-stepped-value-functions": "^4.0.9", "@csstools/postcss-text-decoration-shorthand": "^4.0.3", "@csstools/postcss-trigonometric-functions": "^4.0.9", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.21", "browserslist": "^4.26.0", "css-blank-pseudo": "^7.0.1", "css-has-pseudo": "^7.0.3", "css-prefers-color-scheme": "^10.0.0", "cssdb": "^8.4.2", "postcss-attribute-case-insensitive": "^7.0.1", "postcss-clamp": "^4.1.0", "postcss-color-functional-notation": "^7.0.12", "postcss-color-hex-alpha": "^10.0.0", "postcss-color-rebeccapurple": "^10.0.0", "postcss-custom-media": "^11.0.6", "postcss-custom-properties": "^14.0.6", "postcss-custom-selectors": "^8.0.5", "postcss-dir-pseudo-class": "^9.0.1", "postcss-double-position-gradients": "^6.0.4", "postcss-focus-visible": "^10.0.1", "postcss-focus-within": "^9.0.1", "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^6.0.0", "postcss-image-set-function": "^7.0.0", "postcss-lab-function": "^7.0.12", "postcss-logical": "^8.1.0", "postcss-nesting": "^13.0.2", "postcss-opacity-percentage": "^3.0.0", "postcss-overflow-shorthand": "^6.0.0", "postcss-page-break": "^3.0.4", "postcss-place": "^10.0.0", "postcss-pseudo-class-any-link": "^10.0.1", "postcss-replace-overflow-wrap": "^4.0.0", "postcss-selector-not": "^8.0.1" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-2kqpOthQ6JhxqQq1FSAAZGe9COQv75Aw8WbsOvQVNJ2nSevc9Yx/IKZGuZ7XJ+iOTtVon7LfO7ELRzg8AZ+sdw=="], + + "postcss-pseudo-class-any-link": ["postcss-pseudo-class-any-link@10.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q=="], + + "postcss-reduce-initial": ["postcss-reduce-initial@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q=="], + + "postcss-reduce-transforms": ["postcss-reduce-transforms@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g=="], + + "postcss-replace-overflow-wrap": ["postcss-replace-overflow-wrap@4.0.0", "", { "peerDependencies": { "postcss": "^8.0.3" } }, "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw=="], + + "postcss-reporter": ["postcss-reporter@7.1.0", "", { "dependencies": { "picocolors": "^1.0.0", "thenby": "^1.3.4" }, "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA=="], + + "postcss-selector-not": ["postcss-selector-not@8.0.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "postcss": "^8.4" } }, "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA=="], + + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + + "postcss-svgo": ["postcss-svgo@7.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^4.0.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w=="], + + "postcss-unique-selectors": ["postcss-unique-selectors@7.0.4", "", { "dependencies": { "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "pretty-hrtime": ["pretty-hrtime@1.0.3", "", {}, "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A=="], + + "purgecss": ["purgecss@7.0.2", "", { "dependencies": { "commander": "^12.1.0", "glob": "^11.0.0", "postcss": "^8.4.47", "postcss-selector-parser": "^6.1.2" }, "bin": { "purgecss": "bin/purgecss.js" } }, "sha512-4Ku8KoxNhOWi9X1XJ73XY5fv+I+hhTRedKpGs/2gaBKU8ijUiIKF/uyyIyh7Wo713bELSICF5/NswjcuOqYouQ=="], + + "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], + + "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "stylehacks": ["stylehacks@7.0.6", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "svgo": ["svgo@4.0.0", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.4.1" }, "bin": "./bin/svgo.js" }, "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw=="], + + "thenby": ["thenby@1.3.4", "", {}, "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ=="], + + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + + "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + + "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@csstools/postcss-cascade-layers/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "@csstools/postcss-is-pseudo-class/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "@csstools/postcss-scope-pseudo-class/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "@csstools/selector-resolve-nested/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "@csstools/selector-specificity/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "css-blank-pseudo/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "css-has-pseudo/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], + + "postcss-attribute-case-insensitive/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-calc/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-custom-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-dir-pseudo-class/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-discard-comments/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-focus-visible/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-focus-within/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-merge-rules/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-minify-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-nesting/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-pseudo-class-any-link/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-selector-not/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "postcss-unique-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "stylehacks/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + + "svgo/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], + + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..9dfe9ee --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "passport-css-compiler", + "private": true, + "description": "A manifest to acquire CLI tools for passport. Not a Node app, only required for compiling CSS.", + "license": "MIT", + "type": "module", + "scripts": { + "build": "postcss src/styles/*.css !src/styles/base.css --dir src/assets/styles" + }, + "devDependencies": { + "@fullhuman/postcss-purgecss": "^7.0.2", + "cssnano": "^7.1.1", + "postcss": "^8.4.35", + "postcss-cli": "^11.0.0", + "postcss-import": "^16.1.1", + "postcss-preset-env": "^10.4.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..684368b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,22 @@ +import { purgeCSSPlugin } from "@fullhuman/postcss-purgecss"; +import postcssPresetEnv from "postcss-preset-env"; +import postcssImport from "postcss-import"; +import cssnano from "cssnano"; + +export default { + plugins: [ + postcssImport, + purgeCSSPlugin({ + content: ["./src/**/*.hbs", "./src/**/*.js"], + }), + postcssPresetEnv({ + browsers: "last 4 versions", + // false *dsables* polyfills + features: { + "cascade-layers": false, + }, + autoprefixer: false, + }), + cssnano, + ], +}; diff --git a/src/assets/fonts/InstrumentSans-VariableFont_wdth,wght.woff2 b/src/assets/fonts/InstrumentSans-VariableFont_wdth,wght.woff2 index 02203d6b1ad2bc12eb85e4d102bceb0fbce7d5d7..f125145113c4362fafaa0ffb4de4ae7294765f27 100644 GIT binary patch literal 64972 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

kWH~=z-#7xa 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 literal 88476 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

>XasG?0MAGYA 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 diff --git a/src/main.go b/src/main.go index 02ec089..ea5afc9 100644 --- a/src/main.go +++ b/src/main.go @@ -1,4 +1,4 @@ -//go:generate tailwindcss -i styles/main.scss -o assets/tailwind.css --minify +//go:generate bun run build package main @@ -44,7 +44,7 @@ import ( _ "modernc.org/sqlite" ) -//go:embed assets/** templates/** schema.sql scripts/**.js styles/**.css +//go:embed assets/** templates/** schema.sql scripts/**.js var embeddedAssets embed.FS var devContent = `", content) @@ -761,10 +771,13 @@ func main() { router.Use("/assets", static.New("", static.Config{ FS: assetsDir, + Browse: false, MaxAge: 31536000, })) router.Get("/", func(c fiber.Ctx) error { + c.Response().Header.Set("Link", "; rel=preload; as=font; type=font/woff2; crossorigin") + renderData := fiber.Map{ "SearchProviderURL": app.Config.SearchProvider.URL, "SearchParam": app.Config.SearchProvider.Query, @@ -785,7 +798,7 @@ func main() { renderData["UptimeData"] = app.UptimeManager.GetUptime() } - return c.Render("views/index", renderData, "layouts/main") + return c.Render("views/index", renderData) }) router.Use(middleware.AdminMiddleware(app.db)) @@ -795,7 +808,7 @@ func main() { return c.Redirect().To("/admin") } - return c.Render("views/admin/login", fiber.Map{}, "layouts/main") + return c.Render("views/admin/login", fiber.Map{}) }) router.Post("/admin/login", func(c fiber.Ctx) error { @@ -844,7 +857,8 @@ func main() { return c.Render("views/admin/index", fiber.Map{ "Categories": app.CategoryManager.GetCategories(), - }, "layouts/admin") + "IsAdmin": true, + }) }) api := router.Group("/api") diff --git a/src/scripts/admin.js b/src/scripts/admin.js index 11fe07d..3018873 100644 --- a/src/scripts/admin.js +++ b/src/scripts/admin.js @@ -1,3 +1,5 @@ +"use strict"; + // idfk what this variable capitalization is, it's a mess let modalContainer = document.getElementById("modal-container"); let modal = modalContainer.querySelector("div"); @@ -54,7 +56,7 @@ function addErrorListener(form) { event.target.parentElement .querySelectorAll("[required]") .forEach((el) => { - el.classList.add("invalid:border-[#861024]!"); + el.classList.add("invalid"); }); }); } @@ -83,7 +85,7 @@ function cloneEditActions(primaryActions) { let actionButtonObj = primaryActions[i]; let actionButton = editActions.querySelector( - `div[data-primary-actions] button:nth-child(${i + 1})` + `div:first-child button:nth-child(${i + 1})` ); actionButton.setAttribute("onclick", actionButtonObj.clickAction); actionButton.setAttribute("aria-label", actionButtonObj.label); @@ -120,7 +122,7 @@ document newLinkCard.classList.add("link-card", "admin", "relative"); let newLinkImgElement = newLinkCard.querySelector( - "div[data-img-container] img" + "div:first-child img" ); newLinkImgElement.src = await processFile(data.get("icon")); @@ -200,7 +202,7 @@ document categoryHeader.appendChild(editActions); - let categoryImg = categoryHeader.querySelector(".category-img"); + let categoryImg = categoryHeader.querySelector("div:first-child"); categoryImg.querySelector("img").src = await processFile( data.get("icon") @@ -336,11 +338,11 @@ function closeModal() { .getElementById(activeModal + "-form") .querySelectorAll("[required]") .forEach((el) => { - el.classList.remove("invalid:border-[#861024]!"); + el.classList.remove("invalid"); }); } - targetCategoryID = null; + currentlyEditing = {}; } /** @@ -417,22 +419,23 @@ function cancelEdit() { * @param {HTMLElement} target The target element that was clicked */ function editLink(target) { - let startTime = performance.now(); - // we do it in this dynamic way so that if we add a new link without refreshing the page, it still works - let linkEl = target.closest(".link-card"); + let linkEl = target.closest("[data-card]"); let linkID = parseInt(linkEl.id); let categoryID = parseInt(linkEl.parentElement.previousElementSibling.id); - if (currentlyEditing.linkID !== undefined) { + if ( + currentlyEditing.linkID !== undefined || + currentlyEditing.categoryID !== undefined + ) { // cancel the edit if it's already in progress cancelEdit(); } - let linkImg = linkEl.querySelector("div[data-img-container] img"); - let linkName = linkEl.querySelector("div[data-text-container] h3"); - let linkDesc = linkEl.querySelector("div[data-text-container] p"); - let editActions = linkEl.querySelector("[data-edit-actions]"); + let linkImg = linkEl.querySelector("div:first-child img"); + let linkName = linkEl.querySelector("div:nth-child(2) h3"); + let linkDesc = linkEl.querySelector("div:nth-child(2) p"); + let editActions = linkEl.querySelector("div:nth-child(3)"); currentlyEditing = { type: "link", @@ -453,8 +456,7 @@ function editLink(target) { teleportElement(selectIconButton, linkImg.parentElement); teleportElement(confirmActions, editActions); - editActions.querySelector("div[data-primary-actions]").style.display = - "none"; + editActions.querySelector("div:first-child").style.display = "none"; requestAnimationFrame(() => { currentlyEditing.cleanup = replaceWithResizableTextarea([ @@ -498,6 +500,7 @@ async function confirmLinkEdit() { formData.get("description") === null && formData.get("icon") === null ) { + cancelEdit(); return; } @@ -527,14 +530,14 @@ function cancelLinkEdit( let linkEl = document.getElementById(`${currentlyEditing.linkID}_link`); let linkInput = linkEl.querySelector("textarea"); let linkTextarea = linkInput.nextElementSibling; - let linkImg = linkEl.querySelector("div[data-img-container] img"); - let editActions = linkEl.querySelector("[data-edit-actions]"); + let linkImg = linkEl.querySelector("div:first-child img"); + let editActions = linkEl.querySelector("div:nth-child(3)"); if (currentlyEditing.icon !== undefined) { linkImg.src = currentlyEditing.icon; } - editActions.querySelector("div[data-primary-actions]").style.display = ""; + editActions.querySelector("div:first-child").style.display = ""; // teleport the teleported elements back to the body for literally safe keeping unteleportElement(selectIconButton); @@ -557,7 +560,10 @@ function deleteLink(target) { let linkID = parseInt(linkEl.id); let categoryID = parseInt(linkEl.parentElement.previousElementSibling.id); - if (currentlyEditing.linkID !== undefined) { + if ( + currentlyEditing.linkID !== undefined || + currentlyEditing.categoryID !== undefined + ) { // cancel the edit if it's already in progress cancelEdit(); } @@ -596,14 +602,17 @@ function editCategory(target) { let categoryEl = target.closest(".category-header"); let categoryID = parseInt(categoryEl.id); - if (currentlyEditing.linkID !== undefined) { + if ( + currentlyEditing.linkID !== undefined || + currentlyEditing.categoryID !== undefined + ) { // cancel the edit if it's already in progress cancelEdit(); } let categoryName = categoryEl.querySelector("h2"); - let categoryIcon = categoryEl.querySelector("div[data-img-container] img"); - let editActions = categoryEl.querySelector("[data-edit-actions]"); + let categoryIcon = categoryEl.querySelector("div:first-child img"); + let editActions = categoryEl.querySelector("div:nth-child(3)"); currentlyEditing = { type: "category", @@ -622,8 +631,7 @@ function editCategory(target) { teleportElement(selectIconButton, categoryIcon.parentElement); teleportElement(confirmActions, editActions); - editActions.querySelector("div[data-primary-actions]").style.display = - "none"; + editActions.querySelector("div:first-child").style.display = "none"; requestAnimationFrame(() => { currentlyEditing.cleanup = replaceWithResizableTextarea([ @@ -659,6 +667,7 @@ async function confirmCategoryEdit() { // nothing to update if (formData.get("name") === null && formData.get("icon") === null) { + cancelEdit(); return; } @@ -686,8 +695,8 @@ function cancelCategoryEdit(text = currentlyEditing.originalText) { ); let categoryInput = categoryEl.querySelector("textarea"); - let categoryIcon = categoryEl.querySelector(".category-img img"); - let editActions = categoryEl.querySelector("[data-edit-actions]"); + let categoryIcon = categoryEl.querySelector("div:first-child img"); + let editActions = categoryEl.querySelector("div:nth-child(3)"); if (currentlyEditing.icon !== undefined) { categoryIcon.src = currentlyEditing.icon; @@ -696,7 +705,7 @@ function cancelCategoryEdit(text = currentlyEditing.originalText) { unteleportElement(selectIconButton); unteleportElement(confirmActions); - editActions.querySelector("div[data-primary-actions]").style.display = ""; + editActions.querySelector("div:first-child").style.display = ""; restoreElementFromInput(categoryInput, text); @@ -711,7 +720,10 @@ function cancelCategoryEdit(text = currentlyEditing.originalText) { function deleteCategory(target) { let categoryEl = target.closest(".category-header"); - if (currentlyEditing.categoryID !== undefined) { + if ( + currentlyEditing.categoryID !== undefined || + currentlyEditing.linkID !== undefined + ) { // cancel the edit if it's already in progress cancelEdit(); } @@ -815,8 +827,14 @@ function replaceWithResizableTextarea(targetEls) { let maxWidth = parentBoundingRect.width - borderWidth; // take care of category headers specifically because the parent bounding box contains two other elements if (targetEl.tagName === "H2") { + let imageComputedStyle = window.getComputedStyle( + targetEl.previousElementSibling + ); + let imageWidth = - targetEl.previousElementSibling.getBoundingClientRect().width; + targetEl.previousElementSibling.getBoundingClientRect().width + + parseFloat(imageComputedStyle.marginLeft) + + parseFloat(imageComputedStyle.marginRight); let actionButtonWidth = targetEl.nextElementSibling.getBoundingClientRect().width; @@ -898,11 +916,12 @@ function replaceWithResizableTextarea(targetEls) { // step 3: batch writes let inputElements = []; - elsInitialStyles.forEach((elInfo) => { + elsInitialStyles.forEach((elInfo, i) => { const inputElement = document.createElement("textarea"); inputElement.value = elInfo.originalText; inputElement.className = "resizable-input"; - inputElement.placeholder = elInfo.targetEl.dataset.placeholder; + inputElement.placeholder = + i == 0 ? "Enter title..." : "Enter description..."; inputElement.dataset.originalElementType = elInfo.targetEl.tagName; inputElement.dataset.originalClassName = elInfo.targetEl.className; @@ -951,9 +970,15 @@ function replaceWithResizableTextarea(targetEls) { // is it maybe a bit of some math that doesnt entirely make sense to me? you bet. But does it work? Hell yeah it does if (inputElement.dataset.originalElementType === "H2") { + let imageComputedStyle = window.getComputedStyle( + inputElement.previousElementSibling + ); + let imageWidth = inputElement.previousElementSibling.getBoundingClientRect() - .width; + .width + + imageComputedStyle.marginLeft + + imageComputedStyle.marginRight; let actionButtonWidth = inputElement.nextElementSibling.getBoundingClientRect().width; diff --git a/src/services/uptimeService.go b/src/services/uptimeService.go index 155be2b..81d06a9 100644 --- a/src/services/uptimeService.go +++ b/src/services/uptimeService.go @@ -24,6 +24,7 @@ type UptimeRobotSite struct { FriendlyName string `json:"friendly_name"` Url string `json:"url"` Status int `json:"status"` + Up bool `json:"-"` } type UptimeManager struct { @@ -104,6 +105,10 @@ func (u *UptimeManager) update() { return } + for i, monitor := range monitors.Monitors { + monitors.Monitors[i].Up = monitor.Status == 2 + } + u.mutex.Lock() u.sites = monitors.Monitors u.lastUpdate = time.Now() diff --git a/src/styles/adminUi.css b/src/styles/adminUi.css index ffbb209..dad923c 100644 --- a/src/styles/adminUi.css +++ b/src/styles/adminUi.css @@ -1,70 +1,238 @@ -.modal-bg { - visibility: hidden; - opacity: 0; -} +@import "./base.css"; +@import "./card.css"; -.modal-bg.is-visible { - visibility: visible; - opacity: 1; -} - -.modal { - opacity: 0; -} - -.modal.is-visible { - opacity: 1; -} - -@media (prefers-reduced-motion: no-preference) { +@layer components { .modal-bg { + position: fixed; visibility: hidden; opacity: 0; - - transition: opacity 0.3s ease, visibility 0s 0.3s; - transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + inset: 0; + background-color: color-mix(in srgb, #000 45%, #0000); + justify-content: center; + align-items: center; } .modal-bg.is-visible { visibility: visible; opacity: 1; - transition-delay: 0s; } .modal { opacity: 0; - transform: translateY(20px) scale(0.95); - - transition: opacity 0.3s ease, transform 0.3s ease; - transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + background-color: var(--color-overlay); + border-radius: calc(var(--spacing) * 3); + overflow: hidden; + padding: calc(var(--spacing) * 4); + width: 100%; + max-width: 24rem; } .modal.is-visible { opacity: 1; - visibility: visible; - transform: translateY(0) scale(1); - transition-delay: 0s; - } -} - -.action-button { - display: flex; - width: fit-content; - height: fit-content; - padding: 0.25rem; - background-color: var(--color-highlight-sm); - border: 1px solid color-mix(in srgb, var(--color-highlight) 70%, #0000); - border-radius: 9999px; - box-shadow: var(--shadow-sm); - cursor: pointer; - transition: filter 0.15s cubic-bezier(0.45, 0, 0.55, 1); - contain: layout style paint; - - &:hover { - filter: brightness(125%); - } - - &:active { - filter: brightness(95%); + } + + #blur-target { + transition: filter 300ms cubic-bezier(0.45, 0, 0.55, 1); + } + + @media (prefers-reduced-motion: no-preference) { + .modal-bg { + visibility: hidden; + opacity: 0; + + transition: opacity 0.3s ease, visibility 0s 0.3s; + transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + } + + .modal-bg.is-visible { + visibility: visible; + opacity: 1; + transition-delay: 0s; + } + + .modal { + opacity: 0; + transform: translateY(20px) scale(0.95); + + transition: opacity 0.3s ease, transform 0.3s ease; + transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + } + + .modal.is-visible { + opacity: 1; + visibility: visible; + transform: translateY(0) scale(1); + transition-delay: 0s; + } + + #blur-target { + transition: none; + } + } + + .modal-form { + display: flex; + flex-direction: column; + gap: calc(var(--spacing) * 2); + + & > div { + display: flex; + flex-direction: column; + gap: calc(var(--spacing) * 1); + } + + & > button { + background-color: var(--color-accent); + color: #fff; + border-radius: calc(var(--spacing) * 1.5); + padding-inline: calc(var(--spacing) * 4); + padding-block: calc(var(--spacing) * 2); + } + } + + .delete-modal { + text-align: center; + + & > p { + margin-bottom: calc(var(--spacing) * 3); + } + + & > div { + display: flex; + justify-content: end; + flex-direction: column; + row-gap: calc(var(--spacing) * 2); + + & > button { + padding-inline: calc(var(--spacing) * 4); + padding-block: calc(var(--spacing) * 2); + border-radius: calc(var(--spacing) * 1.5); + width: 100%; + color: #fff; + transition: filter 300ms cubic-bezier(0.45, 0, 0.55, 1); + + &:nth-child(1) { + background-color: var(--color-error); + } + + &:nth-child(2) { + border: 1px solid var(--color-highlight); + background-color: #0000; + } + + &:hover { + filter: brightness(125%); + } + + &:active { + filter: brightness(95%); + } + } + } + } + + input:invalid.invalid { + border: 1px solid var(--color-error); + } + + .new-link-card { + border: calc(var(--spacing) * 0.5) dashed var(--color-subtle); + cursor: pointer; + user-select: none; + + &:hover { + text-decoration: underline; + } + } + + .action-container { + display: flex; + flex-direction: row; + gap: calc(var(--spacing) * 2); + } + + .link-grid > div > div:nth-child(3) { + position: absolute; + right: var(--spacing); + top: var(--spacing); + } + + .category-header > div:nth-child(2) { + padding-left: calc(var(--spacing) * 2); + } + + .add-category-button { + width: fit-content; + display: flex; + align-items: center; + color: var(--color-subtle); + cursor: pointer; + } + + .add-category-button > h2 { + text-decoration: underline; + text-decoration-style: dashed; + text-decoration-thickness: calc(var(--spacing) * 0.5); + + &:hover { + text-decoration: none; + } + } + + .action-button { + display: flex; + width: fit-content; + height: fit-content; + padding: 0.25rem; + background-color: var(--color-highlight-sm); + border: 1px solid color-mix(in srgb, var(--color-highlight) 70%, #0000); + border-radius: 9999px; + box-shadow: var(--shadow-sm); + cursor: pointer; + transition: filter 0.15s cubic-bezier(0.45, 0, 0.55, 1); + contain: layout style paint; + + &:hover { + filter: brightness(125%); + } + + &:active { + filter: brightness(95%); + } + } + + .select-icon-button { + display: flex; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: color-mix(in srgb, var(--color-highlight) 70%, #0000); + color: var(--color-base); + justify-content: center; + align-items: center; + } + + header { + display: flex; + width: 100%; + padding: calc(var(--spacing) * 3); + + & > a { + text-decoration: none; + display: flex; + flex-direction: row; + align-items: center; + gap: calc(var(--spacing) * 2); + color: var(--color-text); + border-bottom: 1px solid var(--color-text); + justify-content: center; + line-height: var(--leading-condensed); + + &:hover { + border-bottom-color: transparent; + } + } } } diff --git a/src/styles/base.css b/src/styles/base.css new file mode 100644 index 0000000..530c130 --- /dev/null +++ b/src/styles/base.css @@ -0,0 +1,199 @@ +@layer reset, base, components, utilities; +@font-face { + font-family: "Instrument Sans"; + src: url("/assets/fonts/InstrumentSans-VariableFont_wdth,wght.woff2") + format("woff2"); + font-display: swap; +} + +@layer reset { + /* + Josh's Custom CSS Reset slightly Modified + https://www.joshwcomeau.com/css/custom-css-reset/ + */ + + *, + *::before, + *::after { + box-sizing: border-box; + } + + * { + border: 0 solid; + line-height: calc(1em + 0.5rem); + margin: 0; + padding: 0; + } + + body { + -webkit-font-smoothing: antialiased; + } + + img, + picture, + video, + canvas, + svg { + display: block; + max-width: 100%; + } + + input, + button, + textarea, + select { + font: inherit; + } + + button { + cursor: pointer; + } + + p, + h1, + h2, + h3, + h4, + h5, + h6 { + word-break: break-word; + } + + p { + text-wrap: pretty; + hyphens: auto; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + text-wrap: balance; + } + + a { + color: #fff; + } +} + +@layer base { + :root { + --family-sans: "Instrument Sans", ui-sans-serif, system-ui, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji"; + --color-accent: oklch(57.93% 0.258 294.12); + --color-success: oklch(70.19% 0.158 160.44); + --color-error: oklch(53% 0.251 28.48); + + --color-base: oklch(11% 0.007 285); + --color-surface: oklch(19% 0.007 285.66); + --color-overlay: oklch(26% 0.008 285.66); + + --color-muted: oklch(63% 0.015 286); + --color-subtle: oklch(72% 0.015 286); + --color-text: oklch(87% 0.015 286); + + --color-highlight-sm: oklch(30.67% 0.007 286); + --color-highlight: oklch(39.26% 0.01 286); + --color-highlight-lg: oklch(47.72% 0.011 286); + + --spacing: 0.25rem; + + --leading-condensed: normal; + } + + html, + body { + font-family: var(--family-sans); + color-scheme: dark; + color: var(--color-text); + background-color: var(--color-surface); + min-height: 100vh; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + font-weight: 600; + } + + h1 { + font-size: clamp(42px, 10vw, 64px); + } + + h2 { + font-size: clamp(30px, 6vw, 36px); + } + + h3 { + font-size: 1.25rem; + } + + input:not(.search) { + color: var(--color-text); + padding-inline: calc(var(--spacing) * 4); + padding-block: calc(var(--spacing) * 2); + + border-radius: calc(var(--spacing) * 1.5); + + width: 100%; + background-color: var(--color-surface); + border: 1px solid color-mix(in srgb, var(--color-highlight) 70%, #0000); + + transition-property: color, border, background-color; + transition-duration: 300ms; + transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + + overflow: hidden; + + &::placeholder { + font-style: italic; + color: var(--color-highlight); + } + + &:focus-visible { + outline: none; + } + + &[type="file"] { + padding: 0; + cursor: pointer; + + &::file-selector-button { + border: 0px; + padding: calc(var(--spacing) * 2); + margin-right: var(--spacing); + background-color: var(--color-highlight); + color: var(--color-subtle); + cursor: pointer; + } + } + } +} + +@layer utilities { + .flex { + display: flex; + } + + .hidden { + display: none; + } + + .leading-condensed { + line-height: var(--leading-condensed); + } + + .text-error { + color: var(--color-error); + } + + .text-success { + color: var(--color-success); + } +} diff --git a/src/styles/card.css b/src/styles/card.css new file mode 100644 index 0000000..96b49aa --- /dev/null +++ b/src/styles/card.css @@ -0,0 +1,148 @@ +/* All css related to the card and category stuff */ + +@layer components { + .link-grid > :is(a, div) { + display: flex; + flex-direction: row; + border-radius: calc(var(--spacing) * 4); + padding: calc(var(--spacing) * 2.5); + align-items: center; + transition-property: box-shadow, transform, translate; + transition-duration: 150ms; + transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), + 0 2px 4px -2px rgb(0 0 0 / 0.1); + contain: layout style paint; + + &:not(:is(div)) { + &:hover { + box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), + 0 4px 6px -4px rgb(0 0 0 / 0.1); + transform: translateY(-4px); + } + + &:active { + box-shadow: 0 2px 4px -2px rgb(0 0 0 / 0.1); + transform: translateY(2px); + } + } + + &:not(.new-link-card) { + text-decoration: none; + background: var(--color-overlay); + } + } + + @media (prefers-reduced-motion: reduce) { + .link-grid > :is(a, div) { + transition: none; + + &:hover { + transform: none; + } + + &:active { + transform: none; + } + } + } + + /* Div that holds the image */ + .link-grid > :is(a, div) > div:first-child { + position: relative; + flex-shrink: 0; + margin-right: calc(var(--spacing) * 2); + border-radius: calc(var(--spacing) * 2.5); + overflow: hidden; + } + + .link-grid > :is(a, div) > div:first-child img { + user-select: none; + aspect-ratio: 1/1; + object-fit: cover; + } + + /* Div that holds the text */ + .link-grid > :is(a, div) > div:nth-child(2) { + display: flex; + flex-grow: 1; + flex-direction: column; + row-gap: 1px; + overflow: hidden; + word-break: break-all; + } + + .link-grid > :is(a, div) > div:nth-child(2) h3 { + border: 1px solid transparent; + } + + .link-grid > :is(a, div) > div:nth-child(2) p { + color: var(--color-subtle); + white-space: pre-wrap; + border: 1px solid #0000; + min-height: calc(1em + 0.5rem); + border: 1px solid transparent; + min-height: 26px; + } + + .category-header { + display: flex; + align-items: center; + } + + .category-header > div:first-child { + display: flex; + flex-shrink: 0; + position: relative; + margin-right: calc(var(--spacing) * 2); + align-items: center; + justify-content: center; + width: calc(var(--spacing) * 8); + height: calc(var(--spacing) * 8); + border-radius: calc(var(--spacing) * 1.5); + overflow: hidden; + } + + .categoy-header > div:first-child img { + user-select: none; + object-fit: cover; + aspect-ratio: 1/1; + } + + .category-header h2 { + text-transform: capitalize; + word-break: break-all; + border-width: 1px; + border-color: #0000; + } + + .link-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); + gap: calc(var(--spacing) * 2); + padding: calc(var(--spacing) * 2.5); + contain: layout style paint; + } + + /* Empty state */ + .link-grid > p { + color: var(--color-subtle); + } + + .card-section { + display: flex; + justify-content: center; + width: 100%; + } + + .card-section > div { + width: 100%; + padding: calc(var(--spacing) * 2.5); + } + + @media (min-width: 640px) { + .card-section > div { + width: 80%; + } + } +} diff --git a/src/styles/login.css b/src/styles/login.css new file mode 100644 index 0000000..490b886 --- /dev/null +++ b/src/styles/login.css @@ -0,0 +1,58 @@ +@import "./base.css"; + +@layer base { + html, + body { + background-color: var(--color-base); + } + + body { + display: flex; + justify-content: center; + align-items: center; + } +} + +@layer components { + .login-container { + width: fit-content; + display: flex; + position: relative; + background-color: var(--color-surface); + border-radius: calc(var(--spacing) * 3); + overflow: hidden; + } + + .login-container > img { + height: calc(var(--spacing) * 96); + width: calc(var(--spacing) * 64); + object-fit: cover; + } + + .login-container > div { + display: flex; + flex-direction: column; + padding: calc(var(--spacing) * 4); + text-align: center; + } + + .login-form { + display: flex; + flex-direction: column; + row-gap: calc(var(--spacing) * 3); + margin-top: calc(var(--spacing) * 2); + margin-bottom: calc(var(--spacing) * 2); + } + + .login-form button { + padding-left: calc(var(--spacing) * 4); + padding-right: calc(var(--spacing) * 4); + padding-top: calc(var(--spacing) * 2); + padding-bottom: calc(var(--spacing) * 2); + + border-radius: calc(var(--spacing) * 2.5); + + background-color: var(--color-accent); + color: #fff; + } +} diff --git a/src/styles/main.css b/src/styles/main.css new file mode 100644 index 0000000..344e00f --- /dev/null +++ b/src/styles/main.css @@ -0,0 +1,133 @@ +@import "./base.css"; +@import "./card.css"; + +@layer components { + .hero { + /* grid grid-rows-3 grid-cols-[1fr] justify-center items-center h-screen bg-base */ + display: grid; + grid-template: repeat(3, minmax(0, 1fr)) / 1fr; + justify-content: center; + align-items: center; + height: 100vh; + background-color: var(--color-base); + } + + .glance-container { + display: flex; + color: var(--color-subtle); + height: 100%; + padding: calc(var(--spacing) * 2.5); + justify-content: space-between; + } + + .primary-hero-container { + display: flex; + flex-direction: column; + align-items: center; + grid-row-start: 2; + padding-left: calc(var(--spacing) * 3); + padding-right: calc(var(--spacing) * 3); + width: 100%; + } + + .primary-hero-container > div { + display: flex; + align-items: center; + margin-bottom: calc(var(--spacing) * 2.5); + + & > svg { + margin-right: calc(var(--spacing) * 3); + aspect-ratio: 1/1; + width: clamp(42px, 10vw, 60px); + } + } + + .primary-hero-container > form { + width: 100%; + max-width: 48rem; + + & > input { + color: #fff; + width: 100%; + background-color: var(--color-surface); + border: 1px solid + color-mix(in srgb, var(--color-highlight-sm) 70%, #0000); + padding-left: calc(var(--spacing) * 3); + padding-right: calc(var(--spacing) * 3); + padding-top: var(--spacing); + padding-bottom: var(--spacing); + height: calc(var(--spacing) * 7); + border-radius: 9999px; + + &::placeholder { + font-style: italic; + color: var(--color-highlight); + opacity: 1; + } + } + } + + .weather-data { + display: flex; + height: fit-content; + align-items: center; + font-weight: 600; + } + + .weather-data span { + margin-right: calc(var(--spacing) * 2); + } + + .uptime-data { + display: flex; + flex-direction: column; + align-items: end; + + & > div { + display: flex; + align-items: center; + + & > span { + margin-right: calc(var(--spacing) * 2); + line-height: var(--leading-condensed); + } + } + } + + .uptime-status { + position: relative; + display: flex; + margin-top: auto; + margin-bottom: auto; + width: calc(var(--spacing) * 2); + height: calc(var(--spacing) * 2); + } + + .uptime-status > svg { + position: relative; + display: inline-flex; + height: 100%; + width: 100%; + fill: currentColor; + } + + .uptime-status > svg:nth-child(1) { + position: absolute; + animation: ping 1s linear infinite; + opacity: 0.8; + } +} + +@layer utilities { + .animate-ping { + animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + } + + @keyframes ping { + 75%, + 100% { + transform: scale(2); + opacity: 0; + } + } +} diff --git a/src/styles/main.scss b/src/styles/main.scss deleted file mode 100644 index eef15fe..0000000 --- a/src/styles/main.scss +++ /dev/null @@ -1,195 +0,0 @@ -@import "tailwindcss"; - -@theme { - --color-accent: oklch(57.93% 0.258 294.12); - --color-success: oklch(70.19% 0.158 160.44); - --color-error: oklch(53% 0.251 28.48); - - --color-base: oklch(11% 0.007 285); - --color-surface: oklch(19% 0.007 285.66); - --color-overlay: oklch(26% 0.008 285.66); - - --color-muted: oklch(63% 0.015 286); - --color-subtle: oklch(72% 0.015 286); - --color-text: oklch(87% 0.015 286); - - --color-highlight-sm: oklch(30.67% 0.007 286); - --color-highlight: oklch(39.26% 0.01 286); - --color-highlight-lg: oklch(47.72% 0.011 286); -} - -@font-face { - font-family: "Instrument Sans"; - src: url("/assets/fonts/InstrumentSans-VariableFont_wdth,wght.woff2") - format("woff2"); - font-display: swap; -} - -:root { - --default-font-family: "Instrument Sans", ui-sans-serif, system-ui, - sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", - "Noto Color Emoji"; -} - -html { - line-height: normal; - color-scheme: dark; - color: var(--color-text); -} - -@layer base { - h1, - h2, - h3, - h4, - h5, - h6 { - font-weight: 600; - } - - h1 { - font-size: clamp(42px, 10vw, 64px); - } - - h2 { - font-size: clamp(30px, 6vw, 36px); - } - - h3 { - font-size: 1.25rem; - } -} - -button { - cursor: pointer; -} - -input:not(.search) { - @apply px-4 py-2 rounded-md w-full bg-surface border border-highlight/70 placeholder:text-highlight text-text focus-visible:outline-none transition-colors duration-300 ease-out overflow-hidden; - - &[type="file"] { - @apply p-0 cursor-pointer; - - &::file-selector-button { - @apply px-2 py-2 mr-1 bg-highlight text-subtle cursor-pointer; - } - } -} - -.link-card { - background: var(--color-overlay); - display: flex; - flex-direction: row; - text-decoration: none; - border-radius: 1rem; - padding: 0.625rem; - align-items: center; - transition-property: box-shadow, transform, translate; - transition-duration: 150ms; - transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1); - box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); - contain: layout style paint; - - &:not(.admin) { - &:hover { - box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), - 0 4px 6px -4px rgb(0 0 0 / 0.1); - transform: translateY(-4px); - } - - &:active { - box-shadow: 0 2px 4px -2px rgb(0 0 0 / 0.1); - transform: translateY(2px); - } - } -} - -@media (prefers-reduced-motion: reduce) { - .link-card { - transition: none; - - &:hover { - transform: none; - } - - &:active { - transform: none; - } - } -} - -/* Div that holds the image */ -.link-card div[data-img-container] { - flex-shrink: 0; - padding-right: 0.5rem; -} - -.link-card div[data-img-container] img { - user-select: none; - border-radius: 0.375rem; - aspect-ratio: 1/1; - object-fit: cover; -} - -/* Div that holds the text */ -.link-card div[data-text-container] { - display: flex; - flex-grow: 1; - flex-direction: column; - row-gap: 1px; - overflow: hidden; - word-break: break-all; -} - -.link-card div[data-text-container] p { - color: var(--color-subtle); - white-space: pre-wrap; - border: 1px solid #0000; - min-height: 22px; -} - -.new-link-card { - display: flex; - flex-direction: row; - align-items: center; - padding: 0.625rem; - border: 0.125rem dashed var(--color-subtle); - border-radius: 1rem; - transition: box-shadow, transofrm 150ms cubic-bezier(0.45, 0, 0.55, 1); - cursor: pointer; - user-select: none; - - &:hover { - text-decoration: underline; - } -} - -.categoy-header { - display: flex; - align-items: center; -} - -.category-header div[data-img-container] { - @apply shrink-0 relative mr-2 h-full flex items-center justify-center size-8; -} - -.categoy-header div[data-img-container] img { - user-select: none; - object-fit: cover; - aspect-ratio: 1/1; -} - -.category-header h2 { - text-transform: capitalize; - word-break: break-all; - border-width: 1px; - border-color: #0000; -} - -.link-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); - gap: 0.5rem; - padding: 0.625rem; - contain: layout style paint; -} diff --git a/src/templates/layouts/admin.hbs b/src/templates/layouts/admin.hbs deleted file mode 100644 index 3c1df89..0000000 --- a/src/templates/layouts/admin.hbs +++ /dev/null @@ -1,20 +0,0 @@ - - - - - Passport - - - - {{{embedFile "assets/tailwind.css"}}} - {{{embedFile "styles/adminUi.css"}}} - - - - {{embed}} - - -{{{devContent}}} - - \ No newline at end of file diff --git a/src/templates/layouts/main.hbs b/src/templates/layouts/main.hbs deleted file mode 100644 index 87a5675..0000000 --- a/src/templates/layouts/main.hbs +++ /dev/null @@ -1,19 +0,0 @@ - - - - - Passport - - - - {{{embedFile "assets/tailwind.css"}}} - - - - {{embed}} - - -{{{devContent}}} - - \ No newline at end of file diff --git a/src/templates/partials/category-grid.hbs b/src/templates/partials/category-grid.hbs new file mode 100644 index 0000000..4a85e28 --- /dev/null +++ b/src/templates/partials/category-grid.hbs @@ -0,0 +1,111 @@ +

+
+ {{#each Categories}} +
+
+ {{this.Name}} +
+

{{this.Name}}

+ {{#if IsAdmin}} +
+
+ + +
+
+ {{/if}} +
+ + {{/each}} + + {{#if IsAdmin}} +
+ + + +

+ Add a new category +

+
+ {{/if}} +
+
+ + +{{#if IsAdmin}} + +{{/if}} \ No newline at end of file diff --git a/src/templates/partials/modals/category-form.hbs b/src/templates/partials/modals/category-form.hbs index 746f3dd..78c923f 100644 --- a/src/templates/partials/modals/category-form.hbs +++ b/src/templates/partials/modals/category-form.hbs @@ -1,7 +1,6 @@