From dc9abee715a57de63c727c17f7c68b32c569254f Mon Sep 17 00:00:00 2001
From: Danny Morabito
Date: Thu, 20 Mar 2025 09:46:13 +0100
Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20=E2=9C=A8=20=F0=9F=9A=80=20Overh?=
=?UTF-8?q?aul=20UI/UX=20with=20comprehensive=20design=20system=20improvem?=
=?UTF-8?q?ents?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
โจ Features added:
- ๐ Implement functional search in header navigation
- โ๏ธ Add basic user settings page
- ๐ฑ Make dashboard fully responsive
๐ง Enhancements:
- ๐ญ Standardize CSS with consistent theming across components
- ๐งน Remove unused CSS for better performance
- ๐ Improve dashboard layout and visual hierarchy
- ๐ฆ Redesign last block widget for better usability
๐
This commit introduces a cohesive design system with functional design-token components for a more โจ polished user experience.
---
bun.lock | 1294 ++++++++----------
package.json | 8 +-
src/components/AppGrid.ts | 52 +-
src/components/AppIcon.ts | 177 ++-
src/components/Arbor/Button.ts | 78 --
src/components/Arbor/ForumCategory.ts | 53 +-
src/components/Arbor/ForumPost.ts | 200 +--
src/components/Arbor/ForumTopic.ts | 71 +-
src/components/Breadcrumbs.ts | 32 +-
src/components/BreadcrumbsItem.ts | 20 +-
src/components/DateTimeSettings.ts | 296 ++++
src/components/ErrorView.ts | 58 +-
src/components/EveLink.ts | 13 +-
src/components/General/Button.ts | 257 ++++
src/components/General/Card.ts | 35 +
src/components/General/Fieldset.ts | 122 ++
src/components/General/Input.ts | 165 +++
src/components/{ => General}/Prompt.ts | 135 +-
src/components/General/Select.ts | 207 +++
src/components/General/Textarea.ts | 212 +++
src/components/General/Toggle.ts | 216 +++
src/components/General/Tooltip.ts | 241 ++++
src/components/Header.ts | 343 +++--
src/components/HeaderSugestion.ts | 52 +
src/components/InitialSetup.ts | 305 ++---
src/components/LoadingView.ts | 42 +-
src/components/NostrAvatar.ts | 8 +-
src/components/NostrProfile.ts | 20 +-
src/components/Widgets/BitcoinBlockWidget.ts | 160 ++-
src/components/profiles/CardProfile.ts | 102 +-
src/components/profiles/LargeProfile.ts | 62 +-
src/components/profiles/MediumProfile.ts | 46 +-
src/components/profiles/ShortProfile.ts | 35 +-
src/index.html | 1 -
src/main.ts | 3 +-
src/routes/404Page.ts | 212 ++-
src/routes/Arbor/Home.ts | 16 +-
src/routes/Arbor/NewPost.ts | 35 +-
src/routes/Arbor/NewTopic.ts | 39 +-
src/routes/Arbor/TopicView.ts | 64 +-
src/routes/Home.ts | 135 +-
src/routes/Profile.ts | 139 +-
src/routes/Settings.ts | 181 +++
src/routes/router.ts | 67 +-
src/style.css | 90 ++
src/style.scss | 443 ------
src/utils/formatDateTime.ts | 26 +-
src/utils/lastBlock.ts | 50 +
src/utils/lastBlockHeight.ts | 26 -
49 files changed, 4176 insertions(+), 2468 deletions(-)
delete mode 100644 src/components/Arbor/Button.ts
create mode 100644 src/components/DateTimeSettings.ts
create mode 100644 src/components/General/Button.ts
create mode 100644 src/components/General/Card.ts
create mode 100644 src/components/General/Fieldset.ts
create mode 100644 src/components/General/Input.ts
rename src/components/{ => General}/Prompt.ts (60%)
create mode 100644 src/components/General/Select.ts
create mode 100644 src/components/General/Textarea.ts
create mode 100644 src/components/General/Toggle.ts
create mode 100644 src/components/General/Tooltip.ts
create mode 100644 src/components/HeaderSugestion.ts
create mode 100644 src/routes/Settings.ts
create mode 100644 src/style.css
delete mode 100644 src/style.scss
create mode 100644 src/utils/lastBlock.ts
delete mode 100644 src/utils/lastBlockHeight.ts
diff --git a/bun.lock b/bun.lock
index 965188c..e9ae394 100644
--- a/bun.lock
+++ b/bun.lock
@@ -20,1303 +20,1135 @@
"@tsconfig/node22": "^22.0.0",
"@types/markdown-it": "^14.1.2",
"@types/node": "^22.13.10",
- "electron": "^34.3.2",
+ "electron": "^34.3.3",
"electron-builder": "^25.1.8",
"electron-vite": "^3.0.0",
- "lightningcss": "^1.29.2",
- "sass-embedded": "^1.85.1",
+ "lightningcss": "^1.29.3",
+ "sass-embedded": "^1.86.0",
"typescript": "~5.6.3",
- "vite": "^6.2.1",
+ "vite": "^6.2.2",
},
},
},
"packages": {
- "7zip-bin": ["7zip-bin@5.2.0", "", {}, "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A=="],
+ "7zip-bin": ["7zip-bin@5.2.0", "", {}, ""],
- "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="],
+ "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, ""],
- "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="],
+ "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, ""],
- "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="],
+ "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, ""],
- "@babel/core": ["@babel/core@7.26.9", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.9", "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw=="],
+ "@babel/core": ["@babel/core@7.26.9", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.9", "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, ""],
- "@babel/generator": ["@babel/generator@7.26.9", "", { "dependencies": { "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg=="],
+ "@babel/generator": ["@babel/generator@7.26.9", "", { "dependencies": { "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, ""],
- "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.26.5", "", { "dependencies": { "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA=="],
+ "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.26.5", "", { "dependencies": { "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, ""],
- "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw=="],
+ "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, ""],
- "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw=="],
+ "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, ""],
- "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="],
+ "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, ""],
- "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="],
+ "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, ""],
- "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="],
+ "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, ""],
- "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="],
+ "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, ""],
- "@babel/helpers": ["@babel/helpers@7.26.9", "", { "dependencies": { "@babel/template": "^7.26.9", "@babel/types": "^7.26.9" } }, "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA=="],
+ "@babel/helpers": ["@babel/helpers@7.26.9", "", { "dependencies": { "@babel/template": "^7.26.9", "@babel/types": "^7.26.9" } }, ""],
- "@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="],
+ "@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" } }, ""],
- "@babel/plugin-transform-arrow-functions": ["@babel/plugin-transform-arrow-functions@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg=="],
+ "@babel/plugin-transform-arrow-functions": ["@babel/plugin-transform-arrow-functions@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, ""],
- "@babel/template": ["@babel/template@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9" } }, "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA=="],
+ "@babel/template": ["@babel/template@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/parser": "^7.26.9", "@babel/types": "^7.26.9" } }, ""],
- "@babel/traverse": ["@babel/traverse@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg=="],
+ "@babel/traverse": ["@babel/traverse@7.26.9", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.9", "@babel/parser": "^7.26.9", "@babel/template": "^7.26.9", "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" } }, ""],
- "@babel/types": ["@babel/types@7.26.9", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw=="],
+ "@babel/types": ["@babel/types@7.26.9", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, ""],
- "@biomejs/biome": ["@biomejs/biome@1.9.4", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "1.9.4", "@biomejs/cli-darwin-x64": "1.9.4", "@biomejs/cli-linux-arm64": "1.9.4", "@biomejs/cli-linux-arm64-musl": "1.9.4", "@biomejs/cli-linux-x64": "1.9.4", "@biomejs/cli-linux-x64-musl": "1.9.4", "@biomejs/cli-win32-arm64": "1.9.4", "@biomejs/cli-win32-x64": "1.9.4" }, "bin": { "biome": "bin/biome" } }, "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog=="],
+ "@biomejs/biome": ["@biomejs/biome@1.9.4", "", { "optionalDependencies": { "@biomejs/cli-linux-x64": "1.9.4", "@biomejs/cli-linux-x64-musl": "1.9.4" }, "bin": { "biome": "bin/biome" } }, ""],
- "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@1.9.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw=="],
+ "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@1.9.4", "", { "os": "linux", "cpu": "x64" }, ""],
- "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@1.9.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg=="],
+ "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@1.9.4", "", { "os": "linux", "cpu": "x64" }, ""],
- "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g=="],
+ "@bufbuild/protobuf": ["@bufbuild/protobuf@2.2.3", "", {}, ""],
- "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA=="],
+ "@develar/schema-utils": ["@develar/schema-utils@2.6.5", "", { "dependencies": { "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } }, ""],
- "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg=="],
+ "@electron-toolkit/preload": ["@electron-toolkit/preload@3.0.1", "", { "peerDependencies": { "electron": ">=13.0.0" } }, ""],
- "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg=="],
+ "@electron-toolkit/utils": ["@electron-toolkit/utils@4.0.0", "", { "peerDependencies": { "electron": ">=13.0.0" } }, ""],
- "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@1.9.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg=="],
+ "@electron/asar": ["@electron/asar@3.3.1", "", { "dependencies": { "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, "bin": { "asar": "bin/asar.js" } }, ""],
- "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@1.9.4", "", { "os": "win32", "cpu": "x64" }, "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA=="],
+ "@electron/get": ["@electron/get@2.0.3", "", { "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "optionalDependencies": { "global-agent": "^3.0.0" } }, ""],
- "@bufbuild/protobuf": ["@bufbuild/protobuf@2.2.3", "", {}, "sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg=="],
+ "@electron/notarize": ["@electron/notarize@2.5.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.1", "promise-retry": "^2.0.1" } }, ""],
- "@develar/schema-utils": ["@develar/schema-utils@2.6.5", "", { "dependencies": { "ajv": "^6.12.0", "ajv-keywords": "^3.4.1" } }, "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig=="],
+ "@electron/osx-sign": ["@electron/osx-sign@1.3.1", "", { "dependencies": { "compare-version": "^0.1.2", "debug": "^4.3.4", "fs-extra": "^10.0.0", "isbinaryfile": "^4.0.8", "minimist": "^1.2.6", "plist": "^3.0.5" }, "bin": { "electron-osx-flat": "bin/electron-osx-flat.js", "electron-osx-sign": "bin/electron-osx-sign.js" } }, ""],
- "@electron-toolkit/preload": ["@electron-toolkit/preload@3.0.1", "", { "peerDependencies": { "electron": ">=13.0.0" } }, "sha512-EzoQmpK8jqqU8YnM5jRe0GJjGVJPke2KtANqz8QtN2JPT96ViOvProBdK5C6riCm0j1T8jjAGVQCZLQy9OVoIA=="],
+ "@electron/rebuild": ["@electron/rebuild@3.6.1", "", { "dependencies": { "@malept/cross-spawn-promise": "^2.0.0", "chalk": "^4.0.0", "debug": "^4.1.1", "detect-libc": "^2.0.1", "fs-extra": "^10.0.0", "got": "^11.7.0", "node-abi": "^3.45.0", "node-api-version": "^0.2.0", "node-gyp": "^9.0.0", "ora": "^5.1.0", "read-binary-file-arch": "^1.0.6", "semver": "^7.3.5", "tar": "^6.0.5", "yargs": "^17.0.1" }, "bin": { "electron-rebuild": "lib/cli.js" } }, ""],
- "@electron-toolkit/utils": ["@electron-toolkit/utils@4.0.0", "", { "peerDependencies": { "electron": ">=13.0.0" } }, "sha512-qXSntwEzluSzKl4z5yFNBknmPGjPa3zFhE4mp9+h0cgokY5ornAeP+CJQDBhKsL1S58aOQfcwkD3NwLZCl+64g=="],
+ "@electron/universal": ["@electron/universal@2.0.1", "", { "dependencies": { "@electron/asar": "^3.2.7", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "dir-compare": "^4.2.0", "fs-extra": "^11.1.1", "minimatch": "^9.0.3", "plist": "^3.1.0" } }, ""],
- "@electron/asar": ["@electron/asar@3.3.1", "", { "dependencies": { "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, "bin": { "asar": "bin/asar.js" } }, "sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg=="],
+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.24.2", "", { "os": "linux", "cpu": "x64" }, ""],
- "@electron/get": ["@electron/get@2.0.3", "", { "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "optionalDependencies": { "global-agent": "^3.0.0" } }, "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ=="],
+ "@gar/promisify": ["@gar/promisify@1.1.3", "", {}, ""],
- "@electron/notarize": ["@electron/notarize@2.5.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.1", "promise-retry": "^2.0.1" } }, "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A=="],
+ "@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" } }, ""],
- "@electron/osx-sign": ["@electron/osx-sign@1.3.1", "", { "dependencies": { "compare-version": "^0.1.2", "debug": "^4.3.4", "fs-extra": "^10.0.0", "isbinaryfile": "^4.0.8", "minimist": "^1.2.6", "plist": "^3.0.5" }, "bin": { "electron-osx-flat": "bin/electron-osx-flat.js", "electron-osx-sign": "bin/electron-osx-sign.js" } }, "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw=="],
+ "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, ""],
- "@electron/rebuild": ["@electron/rebuild@3.6.1", "", { "dependencies": { "@malept/cross-spawn-promise": "^2.0.0", "chalk": "^4.0.0", "debug": "^4.1.1", "detect-libc": "^2.0.1", "fs-extra": "^10.0.0", "got": "^11.7.0", "node-abi": "^3.45.0", "node-api-version": "^0.2.0", "node-gyp": "^9.0.0", "ora": "^5.1.0", "read-binary-file-arch": "^1.0.6", "semver": "^7.3.5", "tar": "^6.0.5", "yargs": "^17.0.1" }, "bin": { "electron-rebuild": "lib/cli.js" } }, "sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w=="],
+ "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, ""],
- "@electron/universal": ["@electron/universal@2.0.1", "", { "dependencies": { "@electron/asar": "^3.2.7", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "dir-compare": "^4.2.0", "fs-extra": "^11.1.1", "minimatch": "^9.0.3", "plist": "^3.1.0" } }, "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA=="],
+ "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, ""],
- "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.24.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA=="],
+ "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, ""],
- "@esbuild/android-arm": ["@esbuild/android-arm@0.24.2", "", { "os": "android", "cpu": "arm" }, "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q=="],
+ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, ""],
- "@esbuild/android-arm64": ["@esbuild/android-arm64@0.24.2", "", { "os": "android", "cpu": "arm64" }, "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg=="],
+ "@lit-labs/motion": ["@lit-labs/motion@1.0.8", "", { "dependencies": { "lit": "^3.1.2" } }, ""],
- "@esbuild/android-x64": ["@esbuild/android-x64@0.24.2", "", { "os": "android", "cpu": "x64" }, "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw=="],
+ "@lit-labs/ssr-dom-shim": ["@lit-labs/ssr-dom-shim@1.3.0", "", {}, ""],
- "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.24.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA=="],
+ "@lit/reactive-element": ["@lit/reactive-element@2.0.4", "", { "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0" } }, ""],
- "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.24.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA=="],
+ "@malept/cross-spawn-promise": ["@malept/cross-spawn-promise@2.0.0", "", { "dependencies": { "cross-spawn": "^7.0.1" } }, ""],
- "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.24.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg=="],
+ "@malept/flatpak-bundler": ["@malept/flatpak-bundler@0.4.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.0", "lodash": "^4.17.15", "tmp-promise": "^3.0.2" } }, ""],
- "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.24.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q=="],
+ "@noble/ciphers": ["@noble/ciphers@1.2.1", "", {}, ""],
- "@esbuild/linux-arm": ["@esbuild/linux-arm@0.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA=="],
+ "@noble/curves": ["@noble/curves@1.8.1", "", { "dependencies": { "@noble/hashes": "1.7.1" } }, ""],
- "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg=="],
+ "@noble/hashes": ["@noble/hashes@1.7.1", "", {}, ""],
- "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.24.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw=="],
+ "@noble/secp256k1": ["@noble/secp256k1@2.2.3", "", {}, ""],
- "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ=="],
+ "@nostr-dev-kit/ndk": ["@nostr-dev-kit/ndk@2.12.2", "", { "dependencies": { "@noble/curves": "^1.6.0", "@noble/hashes": "^1.5.0", "@noble/secp256k1": "^2.1.0", "@scure/base": "^1.1.9", "debug": "^4.3.6", "light-bolt11-decoder": "^3.2.0", "nostr-tools": "^2.7.1", "tseep": "^1.2.2", "typescript-lru-cache": "^2.0.0", "utf8-buffer": "^1.0.0", "websocket-polyfill": "^0.0.3" } }, ""],
- "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw=="],
+ "@nostr/tools": ["@jsr/nostr__tools@2.11.0", "https://npm.jsr.io/~/11/@jsr/nostr__tools/2.11.0.tgz", { "dependencies": { "@noble/ciphers": "^0.5.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", "@scure/bip32": "1.3.1", "@scure/bip39": "1.2.1", "nostr-wasm": "0.1.0" } }, "sha512-0iH7ctKv1clvaI+XyxQrtBBRH+yHh3AC7tse28+L0oRp6tetbZj847bExNMJNjjS6hRsIxHxr1gwWVftPd5WrQ=="],
- "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.24.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw=="],
+ "@npmcli/fs": ["@npmcli/fs@2.1.2", "", { "dependencies": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, ""],
- "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q=="],
+ "@npmcli/move-file": ["@npmcli/move-file@2.0.1", "", { "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, ""],
- "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.24.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw=="],
+ "@open-wc/lit-helpers": ["@open-wc/lit-helpers@0.7.0", "", { "peerDependencies": { "lit": "^2.0.0 || ^3.0.0" } }, ""],
- "@esbuild/linux-x64": ["@esbuild/linux-x64@0.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q=="],
+ "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, ""],
- "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.24.2", "", { "os": "none", "cpu": "arm64" }, "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw=="],
+ "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.34.8", "", { "os": "linux", "cpu": "x64" }, ""],
- "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.24.2", "", { "os": "none", "cpu": "x64" }, "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw=="],
+ "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.34.8", "", { "os": "linux", "cpu": "x64" }, ""],
- "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.24.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A=="],
+ "@scure/base": ["@scure/base@1.2.4", "", {}, ""],
- "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.24.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA=="],
+ "@scure/bip32": ["@scure/bip32@1.3.1", "", { "dependencies": { "@noble/curves": "~1.1.0", "@noble/hashes": "~1.3.1", "@scure/base": "~1.1.0" } }, ""],
- "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.24.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig=="],
+ "@scure/bip39": ["@scure/bip39@1.2.1", "", { "dependencies": { "@noble/hashes": "~1.3.0", "@scure/base": "~1.1.0" } }, ""],
- "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.24.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ=="],
+ "@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, ""],
- "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.24.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA=="],
+ "@std/encoding": ["@jsr/std__encoding@1.0.7", "", {}, ""],
- "@esbuild/win32-x64": ["@esbuild/win32-x64@0.24.2", "", { "os": "win32", "cpu": "x64" }, "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg=="],
+ "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, ""],
- "@gar/promisify": ["@gar/promisify@1.1.3", "", {}, "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="],
+ "@tootallnate/once": ["@tootallnate/once@2.0.0", "", {}, ""],
- "@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=="],
+ "@tsconfig/node22": ["@tsconfig/node22@22.0.0", "", {}, ""],
- "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="],
+ "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, ""],
- "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
+ "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, ""],
- "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="],
+ "@types/estree": ["@types/estree@1.0.6", "", {}, ""],
- "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
+ "@types/fs-extra": ["@types/fs-extra@9.0.13", "", { "dependencies": { "@types/node": "*" } }, ""],
- "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="],
+ "@types/http-cache-semantics": ["@types/http-cache-semantics@4.0.4", "", {}, ""],
- "@lit-labs/motion": ["@lit-labs/motion@1.0.8", "", { "dependencies": { "lit": "^3.1.2" } }, "sha512-sVwbJtkndmxre7RBKH+kWfHmYpqq2PJQ98RXgSxBAVUaKSLXvXTv9X5m4dhks2R50MUbpSygjEB14KO4tOn48A=="],
+ "@types/keyv": ["@types/keyv@3.1.4", "", { "dependencies": { "@types/node": "*" } }, ""],
- "@lit-labs/ssr-dom-shim": ["@lit-labs/ssr-dom-shim@1.3.0", "", {}, "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ=="],
+ "@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, ""],
- "@lit/reactive-element": ["@lit/reactive-element@2.0.4", "", { "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0" } }, "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ=="],
+ "@types/markdown-it": ["@types/markdown-it@14.1.2", "", { "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" } }, ""],
- "@malept/cross-spawn-promise": ["@malept/cross-spawn-promise@2.0.0", "", { "dependencies": { "cross-spawn": "^7.0.1" } }, "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg=="],
+ "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, ""],
- "@malept/flatpak-bundler": ["@malept/flatpak-bundler@0.4.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.0", "lodash": "^4.17.15", "tmp-promise": "^3.0.2" } }, "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q=="],
+ "@types/ms": ["@types/ms@2.1.0", "", {}, ""],
- "@noble/ciphers": ["@noble/ciphers@1.2.1", "", {}, "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA=="],
+ "@types/node": ["@types/node@22.13.10", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@noble/curves": ["@noble/curves@1.8.1", "", { "dependencies": { "@noble/hashes": "1.7.1" } }, "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ=="],
+ "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, ""],
- "@noble/hashes": ["@noble/hashes@1.7.1", "", {}, "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ=="],
+ "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, ""],
- "@noble/secp256k1": ["@noble/secp256k1@2.2.3", "", {}, "sha512-l7r5oEQym9Us7EAigzg30/PQAvynhMt2uoYtT3t26eGDVm9Yii5mZ5jWSWmZ/oSIR2Et0xfc6DXrG0bZ787V3w=="],
+ "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, ""],
- "@nostr-dev-kit/ndk": ["@nostr-dev-kit/ndk@2.12.2", "", { "dependencies": { "@noble/curves": "^1.6.0", "@noble/hashes": "^1.5.0", "@noble/secp256k1": "^2.1.0", "@scure/base": "^1.1.9", "debug": "^4.3.6", "light-bolt11-decoder": "^3.2.0", "nostr-tools": "^2.7.1", "tseep": "^1.2.2", "typescript-lru-cache": "^2.0.0", "utf8-buffer": "^1.0.0", "websocket-polyfill": "^0.0.3" } }, "sha512-uvautgwbpk3AgddoFpew67/FiaV/zpKwwvSnjCvbE/tAdJBpUUS+VjWR5WfUnJvxTy/ZZpPW+X2TkwVFHhUdvA=="],
+ "@xmldom/xmldom": ["@xmldom/xmldom@0.8.10", "", {}, ""],
- "@nostr/tools": ["@jsr/nostr__tools@2.10.4", "https://npm.jsr.io/~/11/@jsr/nostr__tools/2.10.4.tgz", { "dependencies": { "@noble/ciphers": "^0.5.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", "@scure/bip32": "1.3.1", "@scure/bip39": "1.2.1", "nostr-wasm": "0.1.0" } }, "sha512-vjgefYXVtr6+m+VEBRc1fxnYoL8iVYOSETsWUQNjLn8BA2v8kgQxEvMHHXMLl9cq4/vZXwGpG352rQoF7KqKxw=="],
+ "abbrev": ["abbrev@1.1.1", "", {}, ""],
- "@npmcli/fs": ["@npmcli/fs@2.1.2", "", { "dependencies": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ=="],
+ "agent-base": ["agent-base@7.1.3", "", {}, ""],
- "@npmcli/move-file": ["@npmcli/move-file@2.0.1", "", { "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ=="],
+ "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, ""],
- "@open-wc/lit-helpers": ["@open-wc/lit-helpers@0.7.0", "", { "peerDependencies": { "lit": "^2.0.0 || ^3.0.0" } }, "sha512-4NBlx5ve0EvZplCRJbESm0MdMbRCw16alP2y76KAAAwzmFFXXrUj5hFwhw55+sSg5qaRRx6sY+s7usKgnNo3TQ=="],
+ "aggregate-error": ["aggregate-error@3.1.0", "", { "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, ""],
- "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
+ "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, ""],
- "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.34.8", "", { "os": "android", "cpu": "arm" }, "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw=="],
+ "ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, ""],
- "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.34.8", "", { "os": "android", "cpu": "arm64" }, "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q=="],
+ "ansi-regex": ["ansi-regex@5.0.1", "", {}, ""],
- "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q=="],
+ "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, ""],
- "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.34.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw=="],
+ "app-builder-bin": ["app-builder-bin@5.0.0-alpha.10", "", {}, ""],
- "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.34.8", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA=="],
+ "app-builder-lib": ["app-builder-lib@25.1.8", "", { "dependencies": { "@develar/schema-utils": "~2.6.5", "@electron/notarize": "2.5.0", "@electron/osx-sign": "1.3.1", "@electron/rebuild": "3.6.1", "@electron/universal": "2.0.1", "@malept/flatpak-bundler": "^0.4.0", "@types/fs-extra": "9.0.13", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chromium-pickle-js": "^0.2.0", "config-file-ts": "0.2.8-rc1", "debug": "^4.3.4", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "ejs": "^3.1.8", "electron-publish": "25.1.7", "form-data": "^4.0.0", "fs-extra": "^10.1.0", "hosted-git-info": "^4.1.0", "is-ci": "^3.0.0", "isbinaryfile": "^5.0.0", "js-yaml": "^4.1.0", "json5": "^2.2.3", "lazy-val": "^1.0.5", "minimatch": "^10.0.0", "resedit": "^1.7.0", "sanitize-filename": "^1.6.3", "semver": "^7.3.8", "tar": "^6.1.12", "temp-file": "^3.4.0" }, "peerDependencies": { "dmg-builder": "25.1.8", "electron-builder-squirrel-windows": "25.1.8" } }, ""],
- "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.34.8", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q=="],
+ "aproba": ["aproba@2.0.0", "", {}, ""],
- "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g=="],
+ "archiver": ["archiver@5.3.2", "", { "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.4", "buffer-crc32": "^0.2.1", "readable-stream": "^3.6.0", "readdir-glob": "^1.1.2", "tar-stream": "^2.2.0", "zip-stream": "^4.1.0" } }, ""],
- "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.34.8", "", { "os": "linux", "cpu": "arm" }, "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA=="],
+ "archiver-utils": ["archiver-utils@2.1.0", "", { "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" } }, ""],
- "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A=="],
+ "are-we-there-yet": ["are-we-there-yet@3.0.1", "", { "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" } }, ""],
- "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.34.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q=="],
+ "argparse": ["argparse@2.0.1", "", {}, ""],
- "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ=="],
+ "async": ["async@3.2.6", "", {}, ""],
- "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.34.8", "", { "os": "linux", "cpu": "ppc64" }, "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw=="],
+ "async-exit-hook": ["async-exit-hook@2.0.1", "", {}, ""],
- "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.34.8", "", { "os": "linux", "cpu": "none" }, "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw=="],
+ "asynckit": ["asynckit@0.4.0", "", {}, ""],
- "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.34.8", "", { "os": "linux", "cpu": "s390x" }, "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA=="],
+ "at-least-node": ["at-least-node@1.0.0", "", {}, ""],
- "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA=="],
+ "balanced-match": ["balanced-match@1.0.2", "", {}, ""],
- "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.34.8", "", { "os": "linux", "cpu": "x64" }, "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ=="],
+ "base64-js": ["base64-js@1.5.1", "", {}, ""],
- "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.34.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ=="],
+ "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, ""],
- "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.34.8", "", { "os": "win32", "cpu": "ia32" }, "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w=="],
+ "bluebird": ["bluebird@3.7.2", "", {}, ""],
- "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.34.8", "", { "os": "win32", "cpu": "x64" }, "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g=="],
+ "bluebird-lst": ["bluebird-lst@1.0.9", "", { "dependencies": { "bluebird": "^3.5.5" } }, ""],
- "@scure/base": ["@scure/base@1.2.4", "", {}, "sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ=="],
+ "boolean": ["boolean@3.2.0", "", {}, ""],
- "@scure/bip32": ["@scure/bip32@1.3.1", "", { "dependencies": { "@noble/curves": "~1.1.0", "@noble/hashes": "~1.3.1", "@scure/base": "~1.1.0" } }, "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A=="],
+ "brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, ""],
- "@scure/bip39": ["@scure/bip39@1.2.1", "", { "dependencies": { "@noble/hashes": "~1.3.0", "@scure/base": "~1.1.0" } }, "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg=="],
+ "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": "cli.js" }, ""],
- "@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="],
+ "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, ""],
- "@std/encoding": ["@jsr/std__encoding@1.0.7", "https://npm.jsr.io/~/11/@jsr/std__encoding/1.0.7.tgz", {}, "sha512-eySTZkCAHjiKGgOMvhUyTL4aT22svaCO0eO6CAbz48kRECMtRGEfe3KWXkVy4fhlZ/4OTw/RQLrTYyEqpGQp/Q=="],
+ "buffer-builder": ["buffer-builder@0.2.0", "", {}, ""],
- "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="],
+ "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, ""],
- "@tootallnate/once": ["@tootallnate/once@2.0.0", "", {}, "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A=="],
+ "buffer-from": ["buffer-from@1.1.2", "", {}, ""],
- "@tsconfig/node22": ["@tsconfig/node22@22.0.0", "", {}, "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg=="],
+ "bufferutil": ["bufferutil@4.0.9", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, ""],
- "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="],
+ "builder-util": ["builder-util@25.1.7", "", { "dependencies": { "7zip-bin": "~5.2.0", "@types/debug": "^4.1.6", "app-builder-bin": "5.0.0-alpha.10", "bluebird-lst": "^1.0.9", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "fs-extra": "^10.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "source-map-support": "^0.5.19", "stat-mode": "^1.0.0", "temp-file": "^3.4.0" } }, ""],
- "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="],
+ "builder-util-runtime": ["builder-util-runtime@9.2.10", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, ""],
- "@types/estree": ["@types/estree@1.0.6", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="],
+ "cac": ["cac@6.7.14", "", {}, ""],
- "@types/fs-extra": ["@types/fs-extra@9.0.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA=="],
+ "cacache": ["cacache@16.1.3", "", { "dependencies": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "glob": "^8.0.1", "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11", "unique-filename": "^2.0.0" } }, ""],
- "@types/http-cache-semantics": ["@types/http-cache-semantics@4.0.4", "", {}, "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="],
+ "cacheable-lookup": ["cacheable-lookup@5.0.4", "", {}, ""],
- "@types/keyv": ["@types/keyv@3.1.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="],
+ "cacheable-request": ["cacheable-request@7.0.4", "", { "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, ""],
- "@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="],
+ "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, ""],
- "@types/markdown-it": ["@types/markdown-it@14.1.2", "", { "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" } }, "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog=="],
+ "caniuse-lite": ["caniuse-lite@1.0.30001700", "", {}, ""],
- "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="],
+ "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, ""],
- "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
+ "chownr": ["chownr@2.0.0", "", {}, ""],
- "@types/node": ["@types/node@22.13.10", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw=="],
+ "chromium-pickle-js": ["chromium-pickle-js@0.2.0", "", {}, ""],
- "@types/plist": ["@types/plist@3.0.5", "", { "dependencies": { "@types/node": "*", "xmlbuilder": ">=11.0.1" } }, "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA=="],
+ "ci-info": ["ci-info@3.9.0", "", {}, ""],
- "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw=="],
+ "clean-stack": ["clean-stack@2.2.0", "", {}, ""],
- "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="],
+ "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, ""],
- "@types/verror": ["@types/verror@1.10.10", "", {}, "sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg=="],
+ "cli-spinners": ["cli-spinners@2.9.2", "", {}, ""],
- "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="],
+ "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, ""],
- "@xmldom/xmldom": ["@xmldom/xmldom@0.8.10", "", {}, "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw=="],
+ "clone": ["clone@1.0.4", "", {}, ""],
- "abbrev": ["abbrev@1.1.1", "", {}, "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="],
+ "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, ""],
- "agent-base": ["agent-base@7.1.3", "", {}, "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="],
+ "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, ""],
- "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="],
+ "color-name": ["color-name@1.1.4", "", {}, ""],
- "aggregate-error": ["aggregate-error@3.1.0", "", { "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="],
+ "color-support": ["color-support@1.1.3", "", { "bin": "bin.js" }, ""],
- "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
+ "colorjs.io": ["colorjs.io@0.5.2", "", {}, ""],
- "ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="],
+ "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, ""],
- "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
+ "commander": ["commander@5.1.0", "", {}, ""],
- "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
+ "compare-version": ["compare-version@0.1.2", "", {}, ""],
- "app-builder-bin": ["app-builder-bin@5.0.0-alpha.10", "", {}, "sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw=="],
+ "compress-commons": ["compress-commons@4.1.2", "", { "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, ""],
- "app-builder-lib": ["app-builder-lib@25.1.8", "", { "dependencies": { "@develar/schema-utils": "~2.6.5", "@electron/notarize": "2.5.0", "@electron/osx-sign": "1.3.1", "@electron/rebuild": "3.6.1", "@electron/universal": "2.0.1", "@malept/flatpak-bundler": "^0.4.0", "@types/fs-extra": "9.0.13", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chromium-pickle-js": "^0.2.0", "config-file-ts": "0.2.8-rc1", "debug": "^4.3.4", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "ejs": "^3.1.8", "electron-publish": "25.1.7", "form-data": "^4.0.0", "fs-extra": "^10.1.0", "hosted-git-info": "^4.1.0", "is-ci": "^3.0.0", "isbinaryfile": "^5.0.0", "js-yaml": "^4.1.0", "json5": "^2.2.3", "lazy-val": "^1.0.5", "minimatch": "^10.0.0", "resedit": "^1.7.0", "sanitize-filename": "^1.6.3", "semver": "^7.3.8", "tar": "^6.1.12", "temp-file": "^3.4.0" }, "peerDependencies": { "dmg-builder": "25.1.8", "electron-builder-squirrel-windows": "25.1.8" } }, "sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg=="],
+ "concat-map": ["concat-map@0.0.1", "", {}, ""],
- "aproba": ["aproba@2.0.0", "", {}, "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="],
+ "config-file-ts": ["config-file-ts@0.2.8-rc1", "", { "dependencies": { "glob": "^10.3.12", "typescript": "^5.4.3" } }, ""],
- "archiver": ["archiver@5.3.2", "", { "dependencies": { "archiver-utils": "^2.1.0", "async": "^3.2.4", "buffer-crc32": "^0.2.1", "readable-stream": "^3.6.0", "readdir-glob": "^1.1.2", "tar-stream": "^2.2.0", "zip-stream": "^4.1.0" } }, "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw=="],
+ "console-control-strings": ["console-control-strings@1.1.0", "", {}, ""],
- "archiver-utils": ["archiver-utils@2.1.0", "", { "dependencies": { "glob": "^7.1.4", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" } }, "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw=="],
+ "convert-source-map": ["convert-source-map@2.0.0", "", {}, ""],
- "are-we-there-yet": ["are-we-there-yet@3.0.1", "", { "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" } }, "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg=="],
+ "core-util-is": ["core-util-is@1.0.2", "", {}, ""],
- "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
+ "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, ""],
- "assert-plus": ["assert-plus@1.0.0", "", {}, "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="],
+ "crc32-stream": ["crc32-stream@4.0.3", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" } }, ""],
- "astral-regex": ["astral-regex@2.0.0", "", {}, "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="],
+ "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, ""],
- "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
+ "d": ["d@1.0.2", "", { "dependencies": { "es5-ext": "^0.10.64", "type": "^2.7.2" } }, ""],
- "async-exit-hook": ["async-exit-hook@2.0.1", "", {}, "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw=="],
+ "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, ""],
- "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
+ "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, ""],
- "at-least-node": ["at-least-node@1.0.0", "", {}, "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="],
+ "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, ""],
- "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
+ "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, ""],
- "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
+ "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, ""],
- "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="],
+ "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, ""],
- "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="],
+ "delayed-stream": ["delayed-stream@1.0.0", "", {}, ""],
- "bluebird-lst": ["bluebird-lst@1.0.9", "", { "dependencies": { "bluebird": "^3.5.5" } }, "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw=="],
+ "delegates": ["delegates@1.0.0", "", {}, ""],
- "boolean": ["boolean@3.2.0", "", {}, "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="],
+ "detect-libc": ["detect-libc@2.0.3", "", {}, ""],
- "brace-expansion": ["brace-expansion@2.0.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="],
+ "detect-node": ["detect-node@2.1.0", "", {}, ""],
- "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" } }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="],
+ "dir-compare": ["dir-compare@4.2.0", "", { "dependencies": { "minimatch": "^3.0.5", "p-limit": "^3.1.0 " } }, ""],
- "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
+ "dmg-builder": ["dmg-builder@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "fs-extra": "^10.1.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" } }, ""],
- "buffer-builder": ["buffer-builder@0.2.0", "", {}, "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg=="],
+ "dotenv": ["dotenv@16.4.7", "", {}, ""],
- "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="],
+ "dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, ""],
- "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
+ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, ""],
- "bufferutil": ["bufferutil@4.0.9", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw=="],
+ "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, ""],
- "builder-util": ["builder-util@25.1.7", "", { "dependencies": { "7zip-bin": "~5.2.0", "@types/debug": "^4.1.6", "app-builder-bin": "5.0.0-alpha.10", "bluebird-lst": "^1.0.9", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "fs-extra": "^10.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "source-map-support": "^0.5.19", "stat-mode": "^1.0.0", "temp-file": "^3.4.0" } }, "sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww=="],
+ "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": "bin/cli.js" }, ""],
- "builder-util-runtime": ["builder-util-runtime@9.2.10", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, "sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw=="],
+ "electron": ["electron@34.3.3", "", { "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" } }, "sha512-7m1FiO1mwc1K/UqqnnkG7Ik/kAngDzmLfHwcl+xaWgCQ+Sts9rlEqzOh6g1GHhDqebrbs4bO/aU+NDi32fCciQ=="],
- "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
+ "electron-builder": ["electron-builder@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "dmg-builder": "25.1.8", "fs-extra": "^10.1.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "simple-update-notifier": "2.0.0", "yargs": "^17.6.2" }, "bin": { "electron-builder": "cli.js", "install-app-deps": "install-app-deps.js" } }, ""],
- "cacache": ["cacache@16.1.3", "", { "dependencies": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "glob": "^8.0.1", "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11", "unique-filename": "^2.0.0" } }, "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ=="],
+ "electron-builder-squirrel-windows": ["electron-builder-squirrel-windows@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "archiver": "^5.3.1", "builder-util": "25.1.7", "fs-extra": "^10.1.0" } }, ""],
- "cacheable-lookup": ["cacheable-lookup@5.0.4", "", {}, "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="],
+ "electron-publish": ["electron-publish@25.1.7", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, ""],
- "cacheable-request": ["cacheable-request@7.0.4", "", { "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="],
+ "electron-to-chromium": ["electron-to-chromium@1.5.103", "", {}, ""],
- "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
+ "electron-vite": ["electron-vite@3.0.0", "", { "dependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-arrow-functions": "^7.25.9", "cac": "^6.7.14", "esbuild": "^0.24.2", "magic-string": "^0.30.17", "picocolors": "^1.1.1" }, "peerDependencies": { "@swc/core": "^1.0.0", "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["@swc/core"], "bin": "bin/electron-vite.js" }, ""],
- "caniuse-lite": ["caniuse-lite@1.0.30001700", "", {}, "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ=="],
+ "emoji-regex": ["emoji-regex@8.0.0", "", {}, ""],
- "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
+ "encoding": ["encoding@0.1.13", "", { "dependencies": { "iconv-lite": "^0.6.2" } }, ""],
- "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="],
+ "end-of-stream": ["end-of-stream@1.4.4", "", { "dependencies": { "once": "^1.4.0" } }, ""],
- "chromium-pickle-js": ["chromium-pickle-js@0.2.0", "", {}, "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="],
+ "entities": ["entities@4.5.0", "", {}, ""],
- "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="],
+ "env-paths": ["env-paths@2.2.1", "", {}, ""],
- "clean-stack": ["clean-stack@2.2.0", "", {}, "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="],
+ "err-code": ["err-code@2.0.3", "", {}, ""],
- "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="],
+ "es-define-property": ["es-define-property@1.0.1", "", {}, ""],
- "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="],
+ "es-errors": ["es-errors@1.3.0", "", {}, ""],
- "cli-truncate": ["cli-truncate@2.1.0", "", { "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" } }, "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg=="],
+ "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, ""],
- "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=="],
+ "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, ""],
- "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="],
+ "es5-ext": ["es5-ext@0.10.64", "", { "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", "esniff": "^2.0.1", "next-tick": "^1.1.0" } }, ""],
- "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="],
+ "es6-error": ["es6-error@4.1.1", "", {}, ""],
- "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
+ "es6-iterator": ["es6-iterator@2.0.3", "", { "dependencies": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, ""],
- "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
+ "es6-symbol": ["es6-symbol@3.1.4", "", { "dependencies": { "d": "^1.0.2", "ext": "^1.7.0" } }, ""],
- "color-support": ["color-support@1.1.3", "", { "bin": { "color-support": "bin.js" } }, "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="],
+ "esbuild": ["esbuild@0.24.2", "", { "optionalDependencies": { "@esbuild/linux-x64": "0.24.2" }, "bin": "bin/esbuild" }, ""],
- "colorjs.io": ["colorjs.io@0.5.2", "", {}, "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw=="],
+ "escalade": ["escalade@3.2.0", "", {}, ""],
- "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
+ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, ""],
- "commander": ["commander@5.1.0", "", {}, "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="],
+ "esniff": ["esniff@2.0.1", "", { "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", "event-emitter": "^0.3.5", "type": "^2.7.2" } }, ""],
- "compare-version": ["compare-version@0.1.2", "", {}, "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A=="],
+ "event-emitter": ["event-emitter@0.3.5", "", { "dependencies": { "d": "1", "es5-ext": "~0.10.14" } }, ""],
- "compress-commons": ["compress-commons@4.1.2", "", { "dependencies": { "buffer-crc32": "^0.2.13", "crc32-stream": "^4.0.2", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg=="],
+ "exponential-backoff": ["exponential-backoff@3.1.2", "", {}, ""],
- "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="],
+ "ext": ["ext@1.7.0", "", { "dependencies": { "type": "^2.7.2" } }, ""],
- "config-file-ts": ["config-file-ts@0.2.8-rc1", "", { "dependencies": { "glob": "^10.3.12", "typescript": "^5.4.3" } }, "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg=="],
+ "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": "cli.js" }, ""],
- "console-control-strings": ["console-control-strings@1.1.0", "", {}, "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="],
+ "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, ""],
- "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
+ "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, ""],
- "core-util-is": ["core-util-is@1.0.2", "", {}, "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="],
+ "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, ""],
- "crc": ["crc@3.8.0", "", { "dependencies": { "buffer": "^5.1.0" } }, "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ=="],
+ "filelist": ["filelist@1.0.4", "", { "dependencies": { "minimatch": "^5.0.1" } }, ""],
- "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="],
+ "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, ""],
- "crc32-stream": ["crc32-stream@4.0.3", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" } }, "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw=="],
+ "form-data": ["form-data@4.0.2", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, ""],
- "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
+ "fs-constants": ["fs-constants@1.0.0", "", {}, ""],
- "d": ["d@1.0.2", "", { "dependencies": { "es5-ext": "^0.10.64", "type": "^2.7.2" } }, "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw=="],
+ "fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, ""],
- "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
+ "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, ""],
- "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="],
-
- "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="],
-
- "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="],
-
- "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
-
- "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="],
-
- "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
-
- "delegates": ["delegates@1.0.0", "", {}, "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="],
-
- "detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="],
-
- "detect-node": ["detect-node@2.1.0", "", {}, "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="],
-
- "dir-compare": ["dir-compare@4.2.0", "", { "dependencies": { "minimatch": "^3.0.5", "p-limit": "^3.1.0 " } }, "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ=="],
-
- "dmg-builder": ["dmg-builder@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "fs-extra": "^10.1.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" }, "optionalDependencies": { "dmg-license": "^1.0.11" } }, "sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ=="],
-
- "dmg-license": ["dmg-license@1.0.11", "", { "dependencies": { "@types/plist": "^3.0.1", "@types/verror": "^1.10.3", "ajv": "^6.10.0", "crc": "^3.8.0", "iconv-corefoundation": "^1.1.7", "plist": "^3.0.4", "smart-buffer": "^4.0.2", "verror": "^1.10.0" }, "os": "darwin", "bin": { "dmg-license": "bin/dmg-license.js" } }, "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q=="],
-
- "dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="],
-
- "dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="],
-
- "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
-
- "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
-
- "ejs": ["ejs@3.1.10", "", { "dependencies": { "jake": "^10.8.5" }, "bin": { "ejs": "bin/cli.js" } }, "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA=="],
-
- "electron": ["electron@34.3.2", "", { "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" } }, "sha512-n9tzmFexVLxipZXwMTY30H10f0X9k2OP0SkpSwL5VvnDZi0l/Hc+8CEArKkQPbbSf/IS7nxgc96gtTaR+XoSBg=="],
-
- "electron-builder": ["electron-builder@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "dmg-builder": "25.1.8", "fs-extra": "^10.1.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "simple-update-notifier": "2.0.0", "yargs": "^17.6.2" }, "bin": { "electron-builder": "cli.js", "install-app-deps": "install-app-deps.js" } }, "sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig=="],
-
- "electron-builder-squirrel-windows": ["electron-builder-squirrel-windows@25.1.8", "", { "dependencies": { "app-builder-lib": "25.1.8", "archiver": "^5.3.1", "builder-util": "25.1.7", "fs-extra": "^10.1.0" } }, "sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg=="],
-
- "electron-publish": ["electron-publish@25.1.7", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "builder-util": "25.1.7", "builder-util-runtime": "9.2.10", "chalk": "^4.1.2", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, "sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg=="],
-
- "electron-to-chromium": ["electron-to-chromium@1.5.103", "", {}, "sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA=="],
-
- "electron-vite": ["electron-vite@3.0.0", "", { "dependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-arrow-functions": "^7.25.9", "cac": "^6.7.14", "esbuild": "^0.24.2", "magic-string": "^0.30.17", "picocolors": "^1.1.1" }, "peerDependencies": { "@swc/core": "^1.0.0", "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["@swc/core"], "bin": { "electron-vite": "bin/electron-vite.js" } }, "sha512-Uf8NpF4OB2Juo1Vq8pobkLVp9BZTO70VwkW7fKXSCkod0SRkc7Dkw7ddR6b1fbsgT7lcZ0HD29WRxsCcbkHXUw=="],
-
- "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
-
- "encoding": ["encoding@0.1.13", "", { "dependencies": { "iconv-lite": "^0.6.2" } }, "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A=="],
-
- "end-of-stream": ["end-of-stream@1.4.4", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="],
-
- "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
-
- "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="],
-
- "err-code": ["err-code@2.0.3", "", {}, "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="],
-
- "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
-
- "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
-
- "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
-
- "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
-
- "es5-ext": ["es5-ext@0.10.64", "", { "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", "esniff": "^2.0.1", "next-tick": "^1.1.0" } }, "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg=="],
-
- "es6-error": ["es6-error@4.1.1", "", {}, "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="],
-
- "es6-iterator": ["es6-iterator@2.0.3", "", { "dependencies": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g=="],
-
- "es6-symbol": ["es6-symbol@3.1.4", "", { "dependencies": { "d": "^1.0.2", "ext": "^1.7.0" } }, "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg=="],
-
- "esbuild": ["esbuild@0.24.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.24.2", "@esbuild/android-arm": "0.24.2", "@esbuild/android-arm64": "0.24.2", "@esbuild/android-x64": "0.24.2", "@esbuild/darwin-arm64": "0.24.2", "@esbuild/darwin-x64": "0.24.2", "@esbuild/freebsd-arm64": "0.24.2", "@esbuild/freebsd-x64": "0.24.2", "@esbuild/linux-arm": "0.24.2", "@esbuild/linux-arm64": "0.24.2", "@esbuild/linux-ia32": "0.24.2", "@esbuild/linux-loong64": "0.24.2", "@esbuild/linux-mips64el": "0.24.2", "@esbuild/linux-ppc64": "0.24.2", "@esbuild/linux-riscv64": "0.24.2", "@esbuild/linux-s390x": "0.24.2", "@esbuild/linux-x64": "0.24.2", "@esbuild/netbsd-arm64": "0.24.2", "@esbuild/netbsd-x64": "0.24.2", "@esbuild/openbsd-arm64": "0.24.2", "@esbuild/openbsd-x64": "0.24.2", "@esbuild/sunos-x64": "0.24.2", "@esbuild/win32-arm64": "0.24.2", "@esbuild/win32-ia32": "0.24.2", "@esbuild/win32-x64": "0.24.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA=="],
-
- "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
-
- "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
-
- "esniff": ["esniff@2.0.1", "", { "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", "event-emitter": "^0.3.5", "type": "^2.7.2" } }, "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg=="],
-
- "event-emitter": ["event-emitter@0.3.5", "", { "dependencies": { "d": "1", "es5-ext": "~0.10.14" } }, "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA=="],
-
- "exponential-backoff": ["exponential-backoff@3.1.2", "", {}, "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA=="],
-
- "ext": ["ext@1.7.0", "", { "dependencies": { "type": "^2.7.2" } }, "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw=="],
-
- "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="],
-
- "extsprintf": ["extsprintf@1.4.1", "", {}, "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA=="],
-
- "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
-
- "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
-
- "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="],
-
- "filelist": ["filelist@1.0.4", "", { "dependencies": { "minimatch": "^5.0.1" } }, "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q=="],
-
- "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
-
- "form-data": ["form-data@4.0.2", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w=="],
-
- "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="],
-
- "fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="],
-
- "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="],
-
- "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="],
+ "fs.realpath": ["fs.realpath@1.0.0", "", {}, ""],
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
- "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
+ "function-bind": ["function-bind@1.1.2", "", {}, ""],
- "gauge": ["gauge@4.0.4", "", { "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", "signal-exit": "^3.0.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" } }, "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg=="],
+ "gauge": ["gauge@4.0.4", "", { "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", "signal-exit": "^3.0.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" } }, ""],
- "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
+ "gensync": ["gensync@1.0.0-beta.2", "", {}, ""],
- "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
+ "get-caller-file": ["get-caller-file@2.0.5", "", {}, ""],
- "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
+ "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, ""],
- "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
+ "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, ""],
- "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="],
+ "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, ""],
- "glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="],
+ "glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": "dist/esm/bin.mjs" }, ""],
- "global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="],
+ "global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, ""],
- "globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="],
+ "globals": ["globals@11.12.0", "", {}, ""],
- "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="],
+ "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, ""],
- "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
+ "gopd": ["gopd@1.2.0", "", {}, ""],
- "got": ["got@11.8.6", "", { "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" } }, "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="],
+ "got": ["got@11.8.6", "", { "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" } }, ""],
- "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
+ "graceful-fs": ["graceful-fs@4.2.11", "", {}, ""],
- "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
+ "has-flag": ["has-flag@4.0.0", "", {}, ""],
- "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="],
+ "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, ""],
- "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
+ "has-symbols": ["has-symbols@1.1.0", "", {}, ""],
- "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
+ "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, ""],
- "has-unicode": ["has-unicode@2.0.1", "", {}, "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="],
+ "has-unicode": ["has-unicode@2.0.1", "", {}, ""],
- "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
+ "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, ""],
- "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA=="],
+ "hosted-git-info": ["hosted-git-info@4.1.0", "", { "dependencies": { "lru-cache": "^6.0.0" } }, ""],
- "http-cache-semantics": ["http-cache-semantics@4.1.1", "", {}, "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="],
+ "http-cache-semantics": ["http-cache-semantics@4.1.1", "", {}, ""],
- "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
+ "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, ""],
- "http2-wrapper": ["http2-wrapper@1.0.3", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="],
+ "http2-wrapper": ["http2-wrapper@1.0.3", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, ""],
- "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
+ "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, ""],
- "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="],
+ "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, ""],
- "iconv-corefoundation": ["iconv-corefoundation@1.1.7", "", { "dependencies": { "cli-truncate": "^2.1.0", "node-addon-api": "^1.6.3" }, "os": "darwin" }, "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ=="],
+ "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, ""],
- "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
+ "ieee754": ["ieee754@1.2.1", "", {}, ""],
- "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
+ "immutable": ["immutable@5.0.3", "", {}, ""],
- "immutable": ["immutable@5.0.3", "", {}, "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw=="],
+ "imurmurhash": ["imurmurhash@0.1.4", "", {}, ""],
- "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
+ "indent-string": ["indent-string@4.0.0", "", {}, ""],
- "indent-string": ["indent-string@4.0.0", "", {}, "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="],
+ "infer-owner": ["infer-owner@1.0.4", "", {}, ""],
- "infer-owner": ["infer-owner@1.0.4", "", {}, "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="],
+ "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, ""],
- "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="],
+ "inherits": ["inherits@2.0.4", "", {}, ""],
- "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
+ "ip-address": ["ip-address@9.0.5", "", { "dependencies": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" } }, ""],
- "ip-address": ["ip-address@9.0.5", "", { "dependencies": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" } }, "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g=="],
+ "is-ci": ["is-ci@3.0.1", "", { "dependencies": { "ci-info": "^3.2.0" }, "bin": "bin.js" }, ""],
- "is-ci": ["is-ci@3.0.1", "", { "dependencies": { "ci-info": "^3.2.0" }, "bin": { "is-ci": "bin.js" } }, "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ=="],
+ "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, ""],
- "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
+ "is-interactive": ["is-interactive@1.0.0", "", {}, ""],
- "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="],
+ "is-lambda": ["is-lambda@1.0.1", "", {}, ""],
- "is-lambda": ["is-lambda@1.0.1", "", {}, "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="],
+ "is-typedarray": ["is-typedarray@1.0.0", "", {}, ""],
- "is-typedarray": ["is-typedarray@1.0.0", "", {}, "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="],
+ "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, ""],
- "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="],
+ "isarray": ["isarray@1.0.0", "", {}, ""],
- "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
+ "isbinaryfile": ["isbinaryfile@5.0.4", "", {}, ""],
- "isbinaryfile": ["isbinaryfile@5.0.4", "", {}, "sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ=="],
+ "isexe": ["isexe@2.0.0", "", {}, ""],
- "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
+ "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, ""],
- "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
+ "jake": ["jake@10.9.2", "", { "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", "filelist": "^1.0.4", "minimatch": "^3.1.2" }, "bin": "bin/cli.js" }, ""],
- "jake": ["jake@10.9.2", "", { "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", "filelist": "^1.0.4", "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" } }, "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA=="],
+ "js-tokens": ["js-tokens@4.0.0", "", {}, ""],
- "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
+ "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": "bin/js-yaml.js" }, ""],
- "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="],
+ "jsbn": ["jsbn@1.1.0", "", {}, ""],
- "jsbn": ["jsbn@1.1.0", "", {}, "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="],
+ "jsesc": ["jsesc@3.1.0", "", { "bin": "bin/jsesc" }, ""],
- "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
+ "json-buffer": ["json-buffer@3.0.1", "", {}, ""],
- "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
+ "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, ""],
- "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
+ "json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, ""],
- "json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="],
+ "json5": ["json5@2.2.3", "", { "bin": "lib/cli.js" }, ""],
- "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
+ "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, ""],
- "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="],
+ "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, ""],
- "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
+ "lazy-val": ["lazy-val@1.0.5", "", {}, ""],
- "lazy-val": ["lazy-val@1.0.5", "", {}, "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q=="],
+ "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, ""],
- "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="],
+ "light-bolt11-decoder": ["light-bolt11-decoder@3.2.0", "", { "dependencies": { "@scure/base": "1.1.1" } }, ""],
- "light-bolt11-decoder": ["light-bolt11-decoder@3.2.0", "", { "dependencies": { "@scure/base": "1.1.1" } }, "sha512-3QEofgiBOP4Ehs9BI+RkZdXZNtSys0nsJ6fyGeSiAGCBsMwHGUDS/JQlY/sTnWs91A2Nh0S9XXfA8Sy9g6QpuQ=="],
+ "lightningcss": ["lightningcss@1.29.3", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.3", "lightningcss-darwin-x64": "1.29.3", "lightningcss-freebsd-x64": "1.29.3", "lightningcss-linux-arm-gnueabihf": "1.29.3", "lightningcss-linux-arm64-gnu": "1.29.3", "lightningcss-linux-arm64-musl": "1.29.3", "lightningcss-linux-x64-gnu": "1.29.3", "lightningcss-linux-x64-musl": "1.29.3", "lightningcss-win32-arm64-msvc": "1.29.3", "lightningcss-win32-x64-msvc": "1.29.3" } }, "sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ=="],
- "lightningcss": ["lightningcss@1.29.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.2", "lightningcss-darwin-x64": "1.29.2", "lightningcss-freebsd-x64": "1.29.2", "lightningcss-linux-arm-gnueabihf": "1.29.2", "lightningcss-linux-arm64-gnu": "1.29.2", "lightningcss-linux-arm64-musl": "1.29.2", "lightningcss-linux-x64-gnu": "1.29.2", "lightningcss-linux-x64-musl": "1.29.2", "lightningcss-win32-arm64-msvc": "1.29.2", "lightningcss-win32-x64-msvc": "1.29.2" } }, "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA=="],
+ "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-fb7raKO3pXtlNbQbiMeEu8RbBVHnpyqAoxTyTRMEWFQWmscGC2wZxoHzZ+YKAepUuKT9uIW5vL2QbFivTgprZg=="],
- "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA=="],
+ "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.29.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-KF2XZ4ZdmDGGtEYmx5wpzn6u8vg7AdBHaEOvDKu8GOs7xDL/vcU2vMKtTeNe1d4dogkDdi3B9zC77jkatWBwEQ=="],
- "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.29.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w=="],
+ "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.29.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-VUWeVf+V1UM54jv9M4wen9vMlIAyT69Krl9XjI8SsRxz4tdNV/7QEPlW6JASev/pYdiynUCW0pwaFquDRYdxMw=="],
- "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.29.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg=="],
+ "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.29.3", "", { "os": "linux", "cpu": "arm" }, "sha512-UhgZ/XVNfXQVEJrMIWeK1Laj8KbhjbIz7F4znUk7G4zeGw7TRoJxhb66uWrEsonn1+O45w//0i0Fu0wIovYdYg=="],
- "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.29.2", "", { "os": "linux", "cpu": "arm" }, "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg=="],
+ "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.29.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Pqau7jtgJNmQ/esugfmAT1aCFy/Gxc92FOxI+3n+LbMHBheBnk41xHDhc0HeYlx9G0xP5tK4t0Koy3QGGNqypw=="],
- "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.29.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ=="],
+ "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.29.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-dxakOk66pf7KLS7VRYFO7B8WOJLecE5OPL2YOk52eriFd/yeyxt2Km5H0BjLfElokIaR+qWi33gB8MQLrdAY3A=="],
- "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.29.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ=="],
+ "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.29.3", "", { "os": "linux", "cpu": "x64" }, "sha512-ySZTNCpbfbK8rqpKJeJR2S0g/8UqqV3QnzcuWvpI60LWxnFN91nxpSSwCbzfOXkzKfar9j5eOuOplf+klKtINg=="],
- "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.29.2", "", { "os": "linux", "cpu": "x64" }, "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg=="],
+ "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.29.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3pVZhIzW09nzi10usAXfIGTTSTYQ141dk88vGFNCgawIzayiIzZQxEcxVtIkdvlEq2YuFsL9Wcj/h61JHHzuFQ=="],
- "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.29.2", "", { "os": "linux", "cpu": "x64" }, "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w=="],
+ "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.29.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-VRnkAvtIkeWuoBJeGOTrZxsNp4HogXtcaaLm8agmbYtLDOhQdpgxW6NjZZjDXbvGF+eOehGulXZ3C1TiwHY4QQ=="],
- "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.29.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw=="],
+ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.3", "", { "os": "win32", "cpu": "x64" }, "sha512-IszwRPu2cPnDQsZpd7/EAr0x2W7jkaWqQ1SwCVIZ/tSbZVXPLt6k8s6FkcyBjViCzvB5CW0We0QbbP7zp2aBjQ=="],
- "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.29.2", "", { "os": "win32", "cpu": "x64" }, "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA=="],
+ "linkify-it": ["linkify-it@5.0.0", "", { "dependencies": { "uc.micro": "^2.0.0" } }, ""],
- "linkify-it": ["linkify-it@5.0.0", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ=="],
+ "lit": ["lit@3.2.1", "", { "dependencies": { "@lit/reactive-element": "^2.0.4", "lit-element": "^4.1.0", "lit-html": "^3.2.0" } }, ""],
- "lit": ["lit@3.2.1", "", { "dependencies": { "@lit/reactive-element": "^2.0.4", "lit-element": "^4.1.0", "lit-html": "^3.2.0" } }, "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w=="],
+ "lit-element": ["lit-element@4.1.1", "", { "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0", "@lit/reactive-element": "^2.0.4", "lit-html": "^3.2.0" } }, ""],
- "lit-element": ["lit-element@4.1.1", "", { "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0", "@lit/reactive-element": "^2.0.4", "lit-html": "^3.2.0" } }, "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew=="],
+ "lit-html": ["lit-html@3.2.1", "", { "dependencies": { "@types/trusted-types": "^2.0.2" } }, ""],
- "lit-html": ["lit-html@3.2.1", "", { "dependencies": { "@types/trusted-types": "^2.0.2" } }, "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA=="],
+ "lodash": ["lodash@4.17.21", "", {}, ""],
- "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="],
+ "lodash.defaults": ["lodash.defaults@4.2.0", "", {}, ""],
- "lodash.defaults": ["lodash.defaults@4.2.0", "", {}, "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="],
+ "lodash.difference": ["lodash.difference@4.5.0", "", {}, ""],
- "lodash.difference": ["lodash.difference@4.5.0", "", {}, "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="],
+ "lodash.flatten": ["lodash.flatten@4.4.0", "", {}, ""],
- "lodash.flatten": ["lodash.flatten@4.4.0", "", {}, "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="],
+ "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, ""],
- "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="],
+ "lodash.union": ["lodash.union@4.6.0", "", {}, ""],
- "lodash.union": ["lodash.union@4.6.0", "", {}, "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw=="],
+ "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, ""],
- "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="],
+ "lowercase-keys": ["lowercase-keys@2.0.0", "", {}, ""],
- "lowercase-keys": ["lowercase-keys@2.0.0", "", {}, "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="],
+ "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="],
+ "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, ""],
- "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="],
+ "make-fetch-happen": ["make-fetch-happen@10.2.1", "", { "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" } }, ""],
- "make-fetch-happen": ["make-fetch-happen@10.2.1", "", { "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" } }, "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w=="],
+ "markdown-it": ["markdown-it@14.1.0", "", { "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" }, "bin": "bin/markdown-it.mjs" }, ""],
- "markdown-it": ["markdown-it@14.1.0", "", { "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg=="],
+ "matcher": ["matcher@3.0.0", "", { "dependencies": { "escape-string-regexp": "^4.0.0" } }, ""],
- "matcher": ["matcher@3.0.0", "", { "dependencies": { "escape-string-regexp": "^4.0.0" } }, "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="],
+ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, ""],
- "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
+ "mdurl": ["mdurl@2.0.0", "", {}, ""],
- "mdurl": ["mdurl@2.0.0", "", {}, "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w=="],
+ "mime": ["mime@2.6.0", "", { "bin": "cli.js" }, ""],
- "mime": ["mime@2.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="],
+ "mime-db": ["mime-db@1.52.0", "", {}, ""],
- "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
+ "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, ""],
- "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
+ "mimic-fn": ["mimic-fn@2.1.0", "", {}, ""],
- "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="],
+ "mimic-response": ["mimic-response@3.1.0", "", {}, ""],
- "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="],
+ "minimatch": ["minimatch@10.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "minimatch": ["minimatch@10.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ=="],
+ "minimist": ["minimist@1.2.8", "", {}, ""],
- "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
+ "minipass": ["minipass@5.0.0", "", {}, ""],
- "minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="],
+ "minipass-collect": ["minipass-collect@1.0.2", "", { "dependencies": { "minipass": "^3.0.0" } }, ""],
- "minipass-collect": ["minipass-collect@1.0.2", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA=="],
+ "minipass-fetch": ["minipass-fetch@2.1.2", "", { "dependencies": { "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "optionalDependencies": { "encoding": "^0.1.13" } }, ""],
- "minipass-fetch": ["minipass-fetch@2.1.2", "", { "dependencies": { "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "optionalDependencies": { "encoding": "^0.1.13" } }, "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA=="],
+ "minipass-flush": ["minipass-flush@1.0.5", "", { "dependencies": { "minipass": "^3.0.0" } }, ""],
- "minipass-flush": ["minipass-flush@1.0.5", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw=="],
+ "minipass-pipeline": ["minipass-pipeline@1.2.4", "", { "dependencies": { "minipass": "^3.0.0" } }, ""],
- "minipass-pipeline": ["minipass-pipeline@1.2.4", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A=="],
+ "minipass-sized": ["minipass-sized@1.0.3", "", { "dependencies": { "minipass": "^3.0.0" } }, ""],
- "minipass-sized": ["minipass-sized@1.0.3", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g=="],
+ "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, ""],
- "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="],
+ "mkdirp": ["mkdirp@1.0.4", "", { "bin": "bin/cmd.js" }, ""],
- "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="],
+ "ms": ["ms@2.1.3", "", {}, ""],
- "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
+ "nanoid": ["nanoid@3.3.8", "", { "bin": "bin/nanoid.cjs" }, ""],
- "nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="],
+ "negotiator": ["negotiator@0.6.4", "", {}, ""],
- "negotiator": ["negotiator@0.6.4", "", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="],
+ "next-tick": ["next-tick@1.1.0", "", {}, ""],
- "next-tick": ["next-tick@1.1.0", "", {}, "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="],
+ "node-abi": ["node-abi@3.74.0", "", { "dependencies": { "semver": "^7.3.5" } }, ""],
- "node-abi": ["node-abi@3.74.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w=="],
+ "node-api-version": ["node-api-version@0.2.0", "", { "dependencies": { "semver": "^7.3.5" } }, ""],
- "node-addon-api": ["node-addon-api@1.7.2", "", {}, "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="],
+ "node-gyp": ["node-gyp@9.4.1", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.2", "which": "^2.0.2" }, "bin": "bin/node-gyp.js" }, ""],
- "node-api-version": ["node-api-version@0.2.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg=="],
+ "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, ""],
- "node-gyp": ["node-gyp@9.4.1", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.2", "which": "^2.0.2" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ=="],
+ "node-releases": ["node-releases@2.0.19", "", {}, ""],
- "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="],
+ "nopt": ["nopt@6.0.0", "", { "dependencies": { "abbrev": "^1.0.0" }, "bin": "bin/nopt.js" }, ""],
- "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="],
+ "normalize-path": ["normalize-path@3.0.0", "", {}, ""],
- "nopt": ["nopt@6.0.0", "", { "dependencies": { "abbrev": "^1.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g=="],
+ "normalize-url": ["normalize-url@6.1.0", "", {}, ""],
- "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
+ "nostr-tools": ["nostr-tools@2.10.4", "", { "dependencies": { "@noble/ciphers": "^0.5.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", "@scure/bip32": "1.3.1", "@scure/bip39": "1.2.1" }, "optionalDependencies": { "nostr-wasm": "0.1.0" }, "peerDependencies": { "typescript": ">=5.0.0" } }, ""],
- "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="],
+ "nostr-wasm": ["nostr-wasm@0.1.0", "", {}, ""],
- "nostr-tools": ["nostr-tools@2.10.4", "", { "dependencies": { "@noble/ciphers": "^0.5.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.1", "@scure/base": "1.1.1", "@scure/bip32": "1.3.1", "@scure/bip39": "1.2.1" }, "optionalDependencies": { "nostr-wasm": "0.1.0" }, "peerDependencies": { "typescript": ">=5.0.0" }, "optionalPeers": ["typescript"] }, "sha512-biU7sk+jxHgVASfobg2T5ttxOGGSt69wEVBC51sHHOEaKAAdzHBLV/I2l9Rf61UzClhliZwNouYhqIso4a3HYg=="],
+ "npmlog": ["npmlog@6.0.2", "", { "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", "gauge": "^4.0.3", "set-blocking": "^2.0.0" } }, ""],
- "nostr-wasm": ["nostr-wasm@0.1.0", "", {}, "sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA=="],
+ "object-keys": ["object-keys@1.1.1", "", {}, ""],
- "npmlog": ["npmlog@6.0.2", "", { "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", "gauge": "^4.0.3", "set-blocking": "^2.0.0" } }, "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg=="],
+ "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, ""],
- "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="],
+ "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, ""],
- "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
+ "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, ""],
- "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="],
+ "p-cancelable": ["p-cancelable@2.1.1", "", {}, ""],
- "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="],
+ "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, ""],
- "p-cancelable": ["p-cancelable@2.1.1", "", {}, "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="],
+ "p-map": ["p-map@4.0.0", "", { "dependencies": { "aggregate-error": "^3.0.0" } }, ""],
- "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
+ "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, ""],
- "p-map": ["p-map@4.0.0", "", { "dependencies": { "aggregate-error": "^3.0.0" } }, "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ=="],
+ "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, ""],
- "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
+ "path-key": ["path-key@3.1.1", "", {}, ""],
- "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="],
+ "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, ""],
- "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
+ "pe-library": ["pe-library@0.4.1", "", {}, ""],
- "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
+ "pend": ["pend@1.2.0", "", {}, ""],
- "pe-library": ["pe-library@0.4.1", "", {}, "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw=="],
+ "picocolors": ["picocolors@1.1.1", "", {}, ""],
- "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="],
+ "plist": ["plist@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, ""],
- "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
+ "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, ""],
- "plist": ["plist@3.1.0", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ=="],
+ "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, ""],
- "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="],
+ "progress": ["progress@2.0.3", "", {}, ""],
- "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="],
+ "promise-inflight": ["promise-inflight@1.0.1", "", {}, ""],
- "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="],
+ "promise-retry": ["promise-retry@2.0.1", "", { "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, ""],
- "promise-inflight": ["promise-inflight@1.0.1", "", {}, "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="],
+ "pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, ""],
- "promise-retry": ["promise-retry@2.0.1", "", { "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g=="],
+ "punycode": ["punycode@2.3.1", "", {}, ""],
- "pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw=="],
+ "punycode.js": ["punycode.js@2.3.1", "", {}, ""],
- "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
+ "quick-lru": ["quick-lru@5.1.1", "", {}, ""],
- "punycode.js": ["punycode.js@2.3.1", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="],
+ "read-binary-file-arch": ["read-binary-file-arch@1.0.6", "", { "dependencies": { "debug": "^4.3.4" }, "bin": "cli.js" }, ""],
- "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="],
+ "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, ""],
- "read-binary-file-arch": ["read-binary-file-arch@1.0.6", "", { "dependencies": { "debug": "^4.3.4" }, "bin": { "read-binary-file-arch": "cli.js" } }, "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg=="],
+ "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, ""],
- "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
+ "require-directory": ["require-directory@2.1.1", "", {}, ""],
- "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="],
+ "resedit": ["resedit@1.7.2", "", { "dependencies": { "pe-library": "^0.4.1" } }, ""],
- "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
+ "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, ""],
- "resedit": ["resedit@1.7.2", "", { "dependencies": { "pe-library": "^0.4.1" } }, "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA=="],
+ "responselike": ["responselike@2.0.1", "", { "dependencies": { "lowercase-keys": "^2.0.0" } }, ""],
- "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="],
+ "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, ""],
- "responselike": ["responselike@2.0.1", "", { "dependencies": { "lowercase-keys": "^2.0.0" } }, "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="],
+ "retry": ["retry@0.12.0", "", {}, ""],
- "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="],
+ "rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": "bin.js" }, ""],
- "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="],
+ "roarr": ["roarr@2.15.4", "", { "dependencies": { "boolean": "^3.0.1", "detect-node": "^2.0.4", "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" } }, ""],
- "rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="],
+ "rollup": ["rollup@4.34.8", "", { "dependencies": { "@types/estree": "1.0.6" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.34.8", "@rollup/rollup-linux-x64-musl": "4.34.8" }, "bin": "dist/bin/rollup" }, ""],
- "roarr": ["roarr@2.15.4", "", { "dependencies": { "boolean": "^3.0.1", "detect-node": "^2.0.4", "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" } }, "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="],
+ "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, ""],
- "rollup": ["rollup@4.34.8", "", { "dependencies": { "@types/estree": "1.0.6" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.34.8", "@rollup/rollup-android-arm64": "4.34.8", "@rollup/rollup-darwin-arm64": "4.34.8", "@rollup/rollup-darwin-x64": "4.34.8", "@rollup/rollup-freebsd-arm64": "4.34.8", "@rollup/rollup-freebsd-x64": "4.34.8", "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", "@rollup/rollup-linux-arm-musleabihf": "4.34.8", "@rollup/rollup-linux-arm64-gnu": "4.34.8", "@rollup/rollup-linux-arm64-musl": "4.34.8", "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", "@rollup/rollup-linux-riscv64-gnu": "4.34.8", "@rollup/rollup-linux-s390x-gnu": "4.34.8", "@rollup/rollup-linux-x64-gnu": "4.34.8", "@rollup/rollup-linux-x64-musl": "4.34.8", "@rollup/rollup-win32-arm64-msvc": "4.34.8", "@rollup/rollup-win32-ia32-msvc": "4.34.8", "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ=="],
+ "safe-buffer": ["safe-buffer@5.1.2", "", {}, ""],
- "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="],
+ "safer-buffer": ["safer-buffer@2.1.2", "", {}, ""],
- "safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
+ "sanitize-filename": ["sanitize-filename@1.6.3", "", { "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, ""],
- "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
+ "sass-embedded": ["sass-embedded@1.86.0", "", { "dependencies": { "@bufbuild/protobuf": "^2.0.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-android-arm": "1.86.0", "sass-embedded-android-arm64": "1.86.0", "sass-embedded-android-ia32": "1.86.0", "sass-embedded-android-riscv64": "1.86.0", "sass-embedded-android-x64": "1.86.0", "sass-embedded-darwin-arm64": "1.86.0", "sass-embedded-darwin-x64": "1.86.0", "sass-embedded-linux-arm": "1.86.0", "sass-embedded-linux-arm64": "1.86.0", "sass-embedded-linux-ia32": "1.86.0", "sass-embedded-linux-musl-arm": "1.86.0", "sass-embedded-linux-musl-arm64": "1.86.0", "sass-embedded-linux-musl-ia32": "1.86.0", "sass-embedded-linux-musl-riscv64": "1.86.0", "sass-embedded-linux-musl-x64": "1.86.0", "sass-embedded-linux-riscv64": "1.86.0", "sass-embedded-linux-x64": "1.86.0", "sass-embedded-win32-arm64": "1.86.0", "sass-embedded-win32-ia32": "1.86.0", "sass-embedded-win32-x64": "1.86.0" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-Ibq5DzxjSf9f/IJmKeHVeXlVqiZWdRJF+RXy6v6UupvMYVMU5Ei+teSFBvvpPD5bB2QhhnU/OJlSM0EBCtfr9g=="],
- "sanitize-filename": ["sanitize-filename@1.6.3", "", { "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg=="],
+ "sass-embedded-android-arm": ["sass-embedded-android-arm@1.86.0", "", { "os": "android", "cpu": "arm" }, "sha512-NS8v6BCbzskXUMBtzfuB+j2yQMgiwg5edKHTYfQU7gAWai2hkRhS06YNEMff3aRxV0IFInxPRHOobd8xWPHqeA=="],
- "sass-embedded": ["sass-embedded@1.85.1", "", { "dependencies": { "@bufbuild/protobuf": "^2.0.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-android-arm": "1.85.1", "sass-embedded-android-arm64": "1.85.1", "sass-embedded-android-ia32": "1.85.1", "sass-embedded-android-riscv64": "1.85.1", "sass-embedded-android-x64": "1.85.1", "sass-embedded-darwin-arm64": "1.85.1", "sass-embedded-darwin-x64": "1.85.1", "sass-embedded-linux-arm": "1.85.1", "sass-embedded-linux-arm64": "1.85.1", "sass-embedded-linux-ia32": "1.85.1", "sass-embedded-linux-musl-arm": "1.85.1", "sass-embedded-linux-musl-arm64": "1.85.1", "sass-embedded-linux-musl-ia32": "1.85.1", "sass-embedded-linux-musl-riscv64": "1.85.1", "sass-embedded-linux-musl-x64": "1.85.1", "sass-embedded-linux-riscv64": "1.85.1", "sass-embedded-linux-x64": "1.85.1", "sass-embedded-win32-arm64": "1.85.1", "sass-embedded-win32-ia32": "1.85.1", "sass-embedded-win32-x64": "1.85.1" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-0i+3h2Df/c71afluxC1SXqyyMmJlnKWfu9ZGdzwuKRM1OftEa2XM2myt5tR36CF3PanYrMjFKtRIj8PfSf838w=="],
+ "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.86.0", "", { "os": "android", "cpu": "arm64" }, "sha512-r7MZtlAI2VFUnKE8B5UOrpoE6OGpdf1dIB6ndoxb3oiURgMyfTVU7yvJcL12GGvtVwQ2boCj6dq//Lqq9CXPlQ=="],
- "sass-embedded-android-arm": ["sass-embedded-android-arm@1.85.1", "", { "os": "android", "cpu": "arm" }, "sha512-GkcgUGMZtEF9gheuE1dxCU0ZSAifuaFXi/aX7ZXvjtdwmTl9Zc/OHR9oiUJkc8IW9UI7H8TuwlTAA8+SwgwIeQ=="],
+ "sass-embedded-android-ia32": ["sass-embedded-android-ia32@1.86.0", "", { "os": "android", "cpu": "ia32" }, "sha512-UjfElrGaOTNOnxLZLxf6MFndFIe7zyK+81f83BioZ7/jcoAd6iCHZT8yQMvu8wINyVodPcaXZl8KxlKcl62VAA=="],
- "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.85.1", "", { "os": "android", "cpu": "arm64" }, "sha512-27oRheqNA3SJM2hAxpVbs7mCKUwKPWmEEhyiNFpBINb5ELVLg+Ck5RsGg+SJmo130ul5YX0vinmVB5uPWc8X5w=="],
+ "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.86.0", "", { "os": "android", "cpu": "none" }, "sha512-TsqCLxHWLFS2mbpUkL/nge3jSkaPK2VmLkkoi5iO/EQT4SFvm1lNUgPwlLXu9DplZ+aqGVzRS9Y6Psjv+qW7kw=="],
- "sass-embedded-android-ia32": ["sass-embedded-android-ia32@1.85.1", "", { "os": "android", "cpu": "ia32" }, "sha512-f3x16NyRgtXFksIaO/xXKrUhttUBv8V0XsAR2Dhdb/yz4yrDrhzw9Wh8fmw7PlQqECcQvFaoDr3XIIM6lKzasw=="],
+ "sass-embedded-android-x64": ["sass-embedded-android-x64@1.86.0", "", { "os": "android", "cpu": "x64" }, "sha512-8Q263GgwGjz7Jkf7Eghp7NrwqskDL95WO9sKrNm9iOd2re/M48W7RN/lpdcZwrUnEOhueks0RRyYyZYBNRz8Tg=="],
- "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.85.1", "", { "os": "android", "cpu": "none" }, "sha512-IP6OijpJ8Mqo7XqCe0LsuZVbAxEFVboa0kXqqR5K55LebEplsTIA2GnmRyMay3Yr/2FVGsZbCb6Wlgkw23eCiA=="],
+ "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.86.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-d8oMEaIweq1tjrb/BT43igDviOMS1TeDpc51QF7vAHkt9drSjPmqEmbqStdFYPAGZj1j0RA4WCRoVl6jVixi/w=="],
- "sass-embedded-android-x64": ["sass-embedded-android-x64@1.85.1", "", { "os": "android", "cpu": "x64" }, "sha512-Mh7CA53wR3ADvXAYipFc/R3vV4PVOzoKwWzPxmq+7i8UZrtsVjKONxGtqWe9JG1mna0C9CRZAx0sv/BzbOJxWg=="],
+ "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.86.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-5NLRtn0ZUDBkfpKOsgLGl9B34po4Qui8Nff/lXTO+YkxBQFX4GoMkYNk9EJqHwoLLzICsxIhNDMMDiPGz7Fdrw=="],
- "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.85.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-msWxzhvcP9hqGVegxVePVEfv9mVNTlUgGr6k7O7Ihji702mbtrH/lKwF4aRkkt4g1j7tv10+JtQXmTNi/pi9kA=="],
+ "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.86.0", "", { "os": "linux", "cpu": "arm" }, "sha512-b6wm0+Il+blJDleRXAqA6JISGMjRb0/thTEg4NWgmiJwUoZjDycj5FTbfYPnLXjCEIMGaYmW3patrJ3JMJcT3Q=="],
- "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.85.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-J4UFHUiyI9Z+mwYMwz11Ky9TYr3hY1fCxeQddjNGL/+ovldtb0yAIHvoVM0BGprQDm5JqhtUk8KyJ3RMJqpaAA=="],
+ "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.86.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-50A+0rhahRDRkKkv+qS7GDAAkW1VPm2RCX4zY4JWydhV4NwMXr6HbkLnsJ2MGixCyibPh59iflMpNBhe7SEMNg=="],
- "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.85.1", "", { "os": "linux", "cpu": "arm" }, "sha512-X0fDh95nNSw1wfRlnkE4oscoEA5Au4nnk785s9jghPFkTBg+A+5uB6trCjf0fM22+Iw6kiP4YYmDdw3BqxAKLQ=="],
+ "sass-embedded-linux-ia32": ["sass-embedded-linux-ia32@1.86.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-h0mr9w71TV3BRPk9JHr0flnRCznhkraY14gaj5T+t78vUFByOUMxp4hTr+JpZAR5mv0mIeoMwrQYwWJoqKI0mw=="],
- "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.85.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jGadetB03BMFG2rq3OXub/uvC/lGpbQOiLGEz3NLb2nRZWyauRhzDtvZqkr6BEhxgIWtMtz2020yD8ZJSw/r2w=="],
+ "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.86.0", "", { "os": "linux", "cpu": "arm" }, "sha512-KZU70jBMVykC9HzS+o2FhrJaprFLDk3LWXVPtBFxgLlkcQ/apCkUCh2WVNViLhI2U4NrMSnTvd4kDnC/0m8qIw=="],
- "sass-embedded-linux-ia32": ["sass-embedded-linux-ia32@1.85.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-7HlYY90d9mitDtNi5s+S+5wYZrTVbkBH2/kf7ixrzh2BFfT0YM81UHLJRnGX93y9aOMBL6DSZAIfkt1RsV9bkQ=="],
+ "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.86.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-5OZjiJIUyhvKJIGNDEjyRUWDe+W91hq4Bji27sy8gdEuDzPWLx4NzwpKwsBUALUfyW/J5dxgi0ZAQnI3HieyQg=="],
- "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.85.1", "", { "os": "linux", "cpu": "arm" }, "sha512-5vcdEqE8QZnu6i6shZo7x2N36V7YUoFotWj2rGekII5ty7Nkaj+VtZhUEOp9tAzEOlaFuDp5CyO1kUCvweT64A=="],
+ "sass-embedded-linux-musl-ia32": ["sass-embedded-linux-musl-ia32@1.86.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-vq9wJ7kaELrsNU6Ld6kvrIHxoIUWaD+5T6TQVj4SJP/iw1NjonyCDMQGGs6UgsIEzvaIwtlSlDbRewAq+4PchA=="],
- "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.85.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-FLkIT0p18XOkR6wryJ13LqGBDsrYev2dRk9dtiU18NCpNXruKsdBQ1ZnWHVKB3h1dA9lFyEEisC0sooKdNfeOQ=="],
+ "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.86.0", "", { "os": "linux", "cpu": "none" }, "sha512-UZJPu4zKe3phEzoSVRh5jcSicBBPe+jEbVNALHSSz881iOAYnDQXHITGeQ4mM1/7e/LTyryHk6EPBoaLOv6JrA=="],
- "sass-embedded-linux-musl-ia32": ["sass-embedded-linux-musl-ia32@1.85.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-N1093T84zQJor1yyIAdYScB5eAuQarGK1tKgZ4uTnxVlgA7Xi1lXV8Eh7ox9sDqKCaWkVQ3MjqU26vYRBeRWyw=="],
+ "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.86.0", "", { "os": "linux", "cpu": "x64" }, "sha512-8taAgbWMk4QHneJcouWmWZJlmKa2O03g4I/CFo4bfMPL87bibY90pAsSDd+C+t81g0+2aK0/lY/BoB0r3qXLiA=="],
- "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.85.1", "", { "os": "linux", "cpu": "none" }, "sha512-WRsZS/7qlfYXsa93FBpSruieuURIu7ySfFhzYfF1IbKrNAGwmbduutkHZh2ddm5/vQMvQ0Rdosgv+CslaQHMcw=="],
+ "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.86.0", "", { "os": "linux", "cpu": "none" }, "sha512-yREY6o2sLwiiA03MWHVpnUliLscz0flEmFW/wzxYZJDqg9eZteB3hUWgZD63eLm2PTZsYxDQpjAHpa48nnIEmA=="],
- "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.85.1", "", { "os": "linux", "cpu": "x64" }, "sha512-+OlLIilA5TnP0YEqTQ8yZtkW+bJIQYvzoGoNLUEskeyeGuOiIyn2CwL6G4JQB4xZQFaxPHb7JD3EueFkQbH0Pw=="],
+ "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.86.0", "", { "os": "linux", "cpu": "x64" }, "sha512-sH0F8np9PTgTbFcJWxfr1NzPkL5ID2NcpMtZyKPTdnn9NkE/L2UwXSo6xOvY0Duc4Hg+58wSrDnj6KbvdeHCPg=="],
- "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.85.1", "", { "os": "linux", "cpu": "none" }, "sha512-mKKlOwMGLN7yP1p0gB5yG/HX4fYLnpWaqstNuOOXH+fOzTaNg0+1hALg0H0CDIqypPO74M5MS9T6FAJZGdT6dQ=="],
+ "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.86.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-4O1XVUxLTIjMOvrziYwEZgvFqC5sF6t0hTAPJ+h2uiAUZg9Joo0PvuEedXurjISgDBsb5W5DTL9hH9q1BbP4cQ=="],
- "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.85.1", "", { "os": "linux", "cpu": "x64" }, "sha512-uKRTv0z8NgtHV7xSren78+yoWB79sNi7TMqI7Bxd8fcRNIgHQSA8QBdF8led2ETC004hr8h71BrY60RPO+SSvA=="],
+ "sass-embedded-win32-ia32": ["sass-embedded-win32-ia32@1.86.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-zuSP2axkGm4VaJWt38P464H+4424Swr9bzFNfbbznxe3Ue4RuqSBqwiLiYdg9Q1cecTQ2WGH7G7WO56KK7WLwg=="],
- "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.85.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-/GMiZXBOc6AEMBC3g25Rp+x8fq9Z6Ql7037l5rajBPhZ+DdFwtdHY0Ou3oIU6XuWUwD06U3ii4XufXVFhsP6PA=="],
+ "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.86.0", "", { "os": "win32", "cpu": "x64" }, "sha512-GVX0CHtukr3kjqfqretSlPiJzV7V4JxUjpRZV+yC9gUMTiDErilJh2Chw1r0+MYiYvumCDUSDlticmvJs7v0tA=="],
- "sass-embedded-win32-ia32": ["sass-embedded-win32-ia32@1.85.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-L+4BWkKKBGFOKVQ2PQ5HwFfkM5FvTf1Xx2VSRvEWt9HxPXp6SPDho6zC8fqNQ3hSjoaoASEIJcSvgfdQYO0gdg=="],
+ "sax": ["sax@1.4.1", "", {}, ""],
- "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.85.1", "", { "os": "win32", "cpu": "x64" }, "sha512-/FO0AGKWxVfCk4GKsC0yXWBpUZdySe3YAAbQQL0lL6xUd1OiUY8Kow6g4Kc1TB/+z0iuQKKTqI/acJMEYl4iTQ=="],
+ "semver": ["semver@6.3.1", "", { "bin": "bin/semver.js" }, ""],
- "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="],
+ "semver-compare": ["semver-compare@1.0.0", "", {}, ""],
- "semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
+ "serialize-error": ["serialize-error@7.0.1", "", { "dependencies": { "type-fest": "^0.13.1" } }, ""],
- "semver-compare": ["semver-compare@1.0.0", "", {}, "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="],
+ "set-blocking": ["set-blocking@2.0.0", "", {}, ""],
- "serialize-error": ["serialize-error@7.0.1", "", { "dependencies": { "type-fest": "^0.13.1" } }, "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="],
+ "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, ""],
- "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="],
+ "shebang-regex": ["shebang-regex@3.0.0", "", {}, ""],
- "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
+ "signal-exit": ["signal-exit@4.1.0", "", {}, ""],
- "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
+ "simple-update-notifier": ["simple-update-notifier@2.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, ""],
- "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
+ "smart-buffer": ["smart-buffer@4.2.0", "", {}, ""],
- "simple-update-notifier": ["simple-update-notifier@2.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w=="],
+ "socks": ["socks@2.8.4", "", { "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, ""],
- "slice-ansi": ["slice-ansi@3.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" } }, "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ=="],
+ "socks-proxy-agent": ["socks-proxy-agent@7.0.0", "", { "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", "socks": "^2.6.2" } }, ""],
- "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],
+ "source-map": ["source-map@0.6.1", "", {}, ""],
- "socks": ["socks@2.8.4", "", { "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ=="],
+ "source-map-js": ["source-map-js@1.2.1", "", {}, ""],
- "socks-proxy-agent": ["socks-proxy-agent@7.0.0", "", { "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", "socks": "^2.6.2" } }, "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww=="],
+ "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, ""],
- "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
+ "sprintf-js": ["sprintf-js@1.1.3", "", {}, ""],
- "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
+ "ssri": ["ssri@9.0.1", "", { "dependencies": { "minipass": "^3.1.1" } }, ""],
- "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
+ "stat-mode": ["stat-mode@1.0.0", "", {}, ""],
- "sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="],
+ "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" } }, ""],
- "ssri": ["ssri@9.0.1", "", { "dependencies": { "minipass": "^3.1.1" } }, "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q=="],
+ "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" } }, ""],
- "stat-mode": ["stat-mode@1.0.0", "", {}, "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg=="],
+ "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, ""],
- "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=="],
+ "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, ""],
- "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-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, ""],
- "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
+ "sumchecker": ["sumchecker@3.0.1", "", { "dependencies": { "debug": "^4.1.0" } }, ""],
- "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
+ "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, ""],
- "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
+ "sync-child-process": ["sync-child-process@1.0.2", "", { "dependencies": { "sync-message-port": "^1.0.0" } }, ""],
- "sumchecker": ["sumchecker@3.0.1", "", { "dependencies": { "debug": "^4.1.0" } }, "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg=="],
+ "sync-message-port": ["sync-message-port@1.1.3", "", {}, ""],
- "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="],
+ "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, ""],
- "sync-child-process": ["sync-child-process@1.0.2", "", { "dependencies": { "sync-message-port": "^1.0.0" } }, "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA=="],
+ "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, ""],
- "sync-message-port": ["sync-message-port@1.1.3", "", {}, "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg=="],
+ "temp-file": ["temp-file@3.4.0", "", { "dependencies": { "async-exit-hook": "^2.0.1", "fs-extra": "^10.0.0" } }, ""],
- "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="],
+ "tmp": ["tmp@0.2.3", "", {}, ""],
- "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="],
+ "tmp-promise": ["tmp-promise@3.0.3", "", { "dependencies": { "tmp": "^0.2.0" } }, ""],
- "temp-file": ["temp-file@3.4.0", "", { "dependencies": { "async-exit-hook": "^2.0.1", "fs-extra": "^10.0.0" } }, "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg=="],
+ "truncate-utf8-bytes": ["truncate-utf8-bytes@1.0.2", "", { "dependencies": { "utf8-byte-length": "^1.0.1" } }, ""],
- "tmp": ["tmp@0.2.3", "", {}, "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w=="],
+ "tseep": ["tseep@1.3.1", "", {}, ""],
- "tmp-promise": ["tmp-promise@3.0.3", "", { "dependencies": { "tmp": "^0.2.0" } }, "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ=="],
+ "tslib": ["tslib@2.8.1", "", {}, ""],
- "truncate-utf8-bytes": ["truncate-utf8-bytes@1.0.2", "", { "dependencies": { "utf8-byte-length": "^1.0.1" } }, "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ=="],
+ "tstl": ["tstl@2.5.16", "", {}, ""],
- "tseep": ["tseep@1.3.1", "", {}, "sha512-ZPtfk1tQnZVyr7BPtbJ93qaAh2lZuIOpTMjhrYa4XctT8xe7t4SAW9LIxrySDuYMsfNNayE51E/WNGrNVgVicQ=="],
+ "type": ["type@2.7.3", "", {}, ""],
- "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
+ "type-fest": ["type-fest@0.13.1", "", {}, ""],
- "tstl": ["tstl@2.5.16", "", {}, "sha512-+O2ybLVLKcBwKm4HymCEwZIT0PpwS3gCYnxfSDEjJEKADvIFruaQjd3m7CAKNU1c7N3X3WjVz87re7TA2A5FUw=="],
+ "typedarray-to-buffer": ["typedarray-to-buffer@3.1.5", "", { "dependencies": { "is-typedarray": "^1.0.0" } }, ""],
- "type": ["type@2.7.3", "", {}, "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ=="],
+ "typescript": ["typescript@5.6.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, ""],
- "type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="],
+ "typescript-lru-cache": ["typescript-lru-cache@2.0.0", "", {}, ""],
- "typedarray-to-buffer": ["typedarray-to-buffer@3.1.5", "", { "dependencies": { "is-typedarray": "^1.0.0" } }, "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q=="],
+ "uc.micro": ["uc.micro@2.1.0", "", {}, ""],
- "typescript": ["typescript@5.6.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw=="],
+ "undici-types": ["undici-types@6.20.0", "", {}, ""],
- "typescript-lru-cache": ["typescript-lru-cache@2.0.0", "", {}, "sha512-Jp57Qyy8wXeMkdNuZiglE6v2Cypg13eDA1chHwDG6kq51X7gk4K7P7HaDdzZKCxkegXkVHNcPD0n5aW6OZH3aA=="],
+ "unique-filename": ["unique-filename@2.0.1", "", { "dependencies": { "unique-slug": "^3.0.0" } }, ""],
- "uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="],
+ "unique-slug": ["unique-slug@3.0.0", "", { "dependencies": { "imurmurhash": "^0.1.4" } }, ""],
- "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
+ "universalify": ["universalify@2.0.1", "", {}, ""],
- "unique-filename": ["unique-filename@2.0.1", "", { "dependencies": { "unique-slug": "^3.0.0" } }, "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A=="],
+ "update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": "cli.js" }, ""],
- "unique-slug": ["unique-slug@3.0.0", "", { "dependencies": { "imurmurhash": "^0.1.4" } }, "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w=="],
+ "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, ""],
- "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="],
+ "utf-8-validate": ["utf-8-validate@5.0.10", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, ""],
- "update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg=="],
+ "utf8-buffer": ["utf8-buffer@1.0.0", "", {}, ""],
- "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
+ "utf8-byte-length": ["utf8-byte-length@1.0.5", "", {}, ""],
- "utf-8-validate": ["utf-8-validate@5.0.10", "", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ=="],
+ "util-deprecate": ["util-deprecate@1.0.2", "", {}, ""],
- "utf8-buffer": ["utf8-buffer@1.0.0", "", {}, "sha512-ueuhzvWnp5JU5CiGSY4WdKbiN/PO2AZ/lpeLiz2l38qwdLy/cW40XobgyuIWucNyum0B33bVB0owjFCeGBSLqg=="],
+ "varint": ["varint@6.0.0", "", {}, ""],
- "utf8-byte-length": ["utf8-byte-length@1.0.5", "", {}, "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA=="],
+ "vite": ["vite@6.2.2", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ=="],
- "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
+ "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, ""],
- "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="],
+ "websocket": ["websocket@1.0.35", "", { "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", "es5-ext": "^0.10.63", "typedarray-to-buffer": "^3.1.5", "utf-8-validate": "^5.0.2", "yaeti": "^0.0.6" } }, ""],
- "verror": ["verror@1.10.1", "", { "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg=="],
+ "websocket-polyfill": ["websocket-polyfill@0.0.3", "", { "dependencies": { "tstl": "^2.0.7", "websocket": "^1.0.28" } }, ""],
- "vite": ["vite@6.2.1", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q=="],
+ "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "bin/node-which" } }, ""],
- "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="],
+ "wide-align": ["wide-align@1.1.5", "", { "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, ""],
- "websocket": ["websocket@1.0.35", "", { "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", "es5-ext": "^0.10.63", "typedarray-to-buffer": "^3.1.5", "utf-8-validate": "^5.0.2", "yaeti": "^0.0.6" } }, "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q=="],
+ "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, ""],
- "websocket-polyfill": ["websocket-polyfill@0.0.3", "", { "dependencies": { "tstl": "^2.0.7", "websocket": "^1.0.28" } }, "sha512-pF3kR8Uaoau78MpUmFfzbIRxXj9PeQrCuPepGE6JIsfsJ/o/iXr07Q2iQNzKSSblQJ0FiGWlS64N4pVSm+O3Dg=="],
+ "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, ""],
- "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
+ "wrappy": ["wrappy@1.0.2", "", {}, ""],
- "wide-align": ["wide-align@1.1.5", "", { "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg=="],
+ "xmlbuilder": ["xmlbuilder@15.1.1", "", {}, ""],
- "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=="],
+ "y18n": ["y18n@5.0.8", "", {}, ""],
- "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=="],
+ "yaeti": ["yaeti@0.0.6", "", {}, ""],
- "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
+ "yallist": ["yallist@4.0.0", "", {}, ""],
- "xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="],
+ "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" } }, ""],
- "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
+ "yargs-parser": ["yargs-parser@21.1.1", "", {}, ""],
- "yaeti": ["yaeti@0.0.6", "", {}, "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug=="],
+ "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, ""],
- "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="],
+ "yocto-queue": ["yocto-queue@0.1.0", "", {}, ""],
- "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=="],
+ "zip-stream": ["zip-stream@4.1.1", "", { "dependencies": { "archiver-utils": "^3.0.4", "compress-commons": "^4.1.2", "readable-stream": "^3.6.0" } }, ""],
- "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
+ "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, ""],
- "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="],
+ "@electron/asar/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, ""],
- "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
+ "@electron/asar/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "zip-stream": ["zip-stream@4.1.1", "", { "dependencies": { "archiver-utils": "^3.0.4", "compress-commons": "^4.1.2", "readable-stream": "^3.6.0" } }, "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ=="],
+ "@electron/get/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, ""],
- "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
+ "@electron/notarize/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, ""],
- "@electron/asar/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
+ "@electron/osx-sign/isbinaryfile": ["isbinaryfile@4.0.10", "", {}, ""],
- "@electron/asar/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "@electron/rebuild/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "@electron/get/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
+ "@electron/universal/fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, ""],
- "@electron/notarize/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
+ "@electron/universal/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "@electron/osx-sign/isbinaryfile": ["isbinaryfile@4.0.10", "", {}, "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw=="],
+ "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, ""],
- "@electron/rebuild/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, ""],
- "@electron/universal/fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="],
+ "@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" } }, ""],
- "@electron/universal/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
+ "@malept/flatpak-bundler/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, ""],
- "@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=="],
+ "@nostr/tools/@noble/ciphers": ["@noble/ciphers@0.5.3", "", {}, ""],
- "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
+ "@nostr/tools/@noble/curves": ["@noble/curves@1.2.0", "", { "dependencies": { "@noble/hashes": "1.3.2" } }, ""],
- "@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=="],
+ "@nostr/tools/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, ""],
- "@malept/flatpak-bundler/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="],
+ "@nostr/tools/@scure/base": ["@scure/base@1.1.1", "", {}, ""],
- "@nostr/tools/@noble/ciphers": ["@noble/ciphers@0.5.3", "", {}, "sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w=="],
+ "@npmcli/fs/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "@nostr/tools/@noble/curves": ["@noble/curves@1.2.0", "", { "dependencies": { "@noble/hashes": "1.3.2" } }, "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw=="],
+ "@scure/bip32/@noble/curves": ["@noble/curves@1.1.0", "", { "dependencies": { "@noble/hashes": "1.3.1" } }, ""],
- "@nostr/tools/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA=="],
+ "@scure/bip32/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, ""],
- "@nostr/tools/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="],
+ "@scure/bip32/@scure/base": ["@scure/base@1.1.1", "", {}, ""],
- "@npmcli/fs/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "@scure/bip39/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, ""],
- "@scure/bip32/@noble/curves": ["@noble/curves@1.1.0", "", { "dependencies": { "@noble/hashes": "1.3.1" } }, "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA=="],
+ "@scure/bip39/@scure/base": ["@scure/base@1.1.1", "", {}, ""],
- "@scure/bip32/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="],
+ "@types/cacheable-request/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@scure/bip32/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="],
+ "@types/fs-extra/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@scure/bip39/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="],
+ "@types/keyv/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@scure/bip39/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="],
+ "@types/responselike/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@types/cacheable-request/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "@types/yauzl/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, ""],
- "@types/fs-extra/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "app-builder-lib/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "@types/keyv/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "archiver-utils/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, ""],
- "@types/plist/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "archiver-utils/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, ""],
- "@types/responselike/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "cacache/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, ""],
- "@types/yauzl/@types/node": ["@types/node@22.13.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg=="],
+ "cacache/lru-cache": ["lru-cache@7.18.3", "", {}, ""],
- "app-builder-lib/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "cacache/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "archiver-utils/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
+ "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, ""],
- "archiver-utils/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="],
+ "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, ""],
- "cacache/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="],
+ "dir-compare/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "cacache/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
+ "electron/@types/node": ["@types/node@20.17.19", "", { "dependencies": { "undici-types": "~6.19.2" } }, ""],
- "cacache/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "filelist/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
+ "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="],
+ "gauge/signal-exit": ["signal-exit@3.0.7", "", {}, ""],
- "dir-compare/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "electron/@types/node": ["@types/node@20.17.19", "", { "dependencies": { "undici-types": "~6.19.2" } }, "sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A=="],
+ "glob/minipass": ["minipass@7.1.2", "", {}, ""],
- "filelist/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
+ "global-agent/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "jake/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "gauge/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
+ "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, ""],
- "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
+ "light-bolt11-decoder/@scure/base": ["@scure/base@1.1.1", "", {}, ""],
- "glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
+ "make-fetch-happen/http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, ""],
- "global-agent/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "make-fetch-happen/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, ""],
- "jake/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "make-fetch-happen/lru-cache": ["lru-cache@7.18.3", "", {}, ""],
- "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="],
+ "make-fetch-happen/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "light-bolt11-decoder/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="],
+ "minipass-collect/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "make-fetch-happen/http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w=="],
+ "minipass-fetch/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "make-fetch-happen/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="],
+ "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "make-fetch-happen/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
+ "minipass-pipeline/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "make-fetch-happen/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "minipass-sized/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "minipass-collect/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "minipass-fetch/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "node-abi/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "node-api-version/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "minipass-pipeline/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "node-gyp/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, ""],
- "minipass-sized/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "node-gyp/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "nostr-tools/@noble/ciphers": ["@noble/ciphers@0.5.3", "", {}, ""],
- "node-abi/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "nostr-tools/@noble/curves": ["@noble/curves@1.2.0", "", { "dependencies": { "@noble/hashes": "1.3.2" } }, ""],
- "node-api-version/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "nostr-tools/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, ""],
- "node-gyp/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
+ "nostr-tools/@scure/base": ["@scure/base@1.1.1", "", {}, ""],
- "node-gyp/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, ""],
- "nostr-tools/@noble/ciphers": ["@noble/ciphers@0.5.3", "", {}, "sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w=="],
+ "path-scurry/minipass": ["minipass@7.1.2", "", {}, ""],
- "nostr-tools/@noble/curves": ["@noble/curves@1.2.0", "", { "dependencies": { "@noble/hashes": "1.3.2" } }, "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw=="],
+ "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "nostr-tools/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA=="],
+ "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, ""],
- "nostr-tools/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="],
+ "rimraf/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, ""],
- "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
+ "simple-update-notifier/semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, ""],
- "path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
+ "socks-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, ""],
- "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
+ "ssri/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, ""],
- "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
+ "string_decoder/safe-buffer": ["safe-buffer@5.2.1", "", {}, ""],
- "rimraf/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
+ "vite/esbuild": ["esbuild@0.25.1", "", { "optionalDependencies": { "@esbuild/linux-x64": "0.25.1" }, "bin": "bin/esbuild" }, ""],
- "simple-update-notifier/semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+ "websocket/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, ""],
- "socks-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
+ "zip-stream/archiver-utils": ["archiver-utils@3.0.4", "", { "dependencies": { "glob": "^7.2.3", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, ""],
- "ssri/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+ "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, ""],
- "string_decoder/safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
+ "@electron/asar/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "vite/esbuild": ["esbuild@0.25.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.1", "@esbuild/android-arm": "0.25.1", "@esbuild/android-arm64": "0.25.1", "@esbuild/android-x64": "0.25.1", "@esbuild/darwin-arm64": "0.25.1", "@esbuild/darwin-x64": "0.25.1", "@esbuild/freebsd-arm64": "0.25.1", "@esbuild/freebsd-x64": "0.25.1", "@esbuild/linux-arm": "0.25.1", "@esbuild/linux-arm64": "0.25.1", "@esbuild/linux-ia32": "0.25.1", "@esbuild/linux-loong64": "0.25.1", "@esbuild/linux-mips64el": "0.25.1", "@esbuild/linux-ppc64": "0.25.1", "@esbuild/linux-riscv64": "0.25.1", "@esbuild/linux-s390x": "0.25.1", "@esbuild/linux-x64": "0.25.1", "@esbuild/netbsd-arm64": "0.25.1", "@esbuild/netbsd-x64": "0.25.1", "@esbuild/openbsd-arm64": "0.25.1", "@esbuild/openbsd-x64": "0.25.1", "@esbuild/sunos-x64": "0.25.1", "@esbuild/win32-arm64": "0.25.1", "@esbuild/win32-ia32": "0.25.1", "@esbuild/win32-x64": "0.25.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ=="],
+ "@electron/get/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, ""],
- "websocket/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
+ "@electron/get/fs-extra/universalify": ["universalify@0.1.2", "", {}, ""],
- "zip-stream/archiver-utils": ["archiver-utils@3.0.4", "", { "dependencies": { "glob": "^7.2.3", "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", "lodash.defaults": "^4.2.0", "lodash.difference": "^4.5.0", "lodash.flatten": "^4.4.0", "lodash.isplainobject": "^4.0.6", "lodash.union": "^4.6.0", "normalize-path": "^3.0.0", "readable-stream": "^3.6.0" } }, "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw=="],
+ "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, ""],
- "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
+ "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, ""],
- "@electron/asar/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
+ "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, ""],
- "@electron/get/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
+ "@nostr/tools/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, ""],
- "@electron/get/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
+ "@scure/bip32/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, ""],
- "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
+ "archiver-utils/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
+ "archiver-utils/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, ""],
- "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
+ "cacache/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, ""],
- "@nostr/tools/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="],
+ "dir-compare/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "@scure/bip32/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.1", "", {}, "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA=="],
+ "electron/@types/node/undici-types": ["undici-types@6.19.8", "", {}, ""],
- "archiver-utils/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "jake/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "archiver-utils/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
+ "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, ""],
- "cacache/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="],
+ "make-fetch-happen/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, ""],
- "dir-compare/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
+ "make-fetch-happen/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, ""],
- "electron/@types/node/undici-types": ["undici-types@6.19.8", "", {}, "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="],
+ "node-gyp/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "jake/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
+ "nostr-tools/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, ""],
- "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
+ "rimraf/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "make-fetch-happen/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
+ "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.1", "", { "os": "linux", "cpu": "x64" }, ""],
- "make-fetch-happen/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
+ "websocket/debug/ms": ["ms@2.0.0", "", {}, ""],
- "node-gyp/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "zip-stream/archiver-utils/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, ""],
- "nostr-tools/@noble/curves/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="],
+ "archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "rimraf/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
+ "node-gyp/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ=="],
+ "rimraf/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
- "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.1", "", { "os": "android", "cpu": "arm" }, "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q=="],
+ "zip-stream/archiver-utils/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, ""],
- "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.1", "", { "os": "android", "cpu": "arm64" }, "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA=="],
-
- "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.1", "", { "os": "android", "cpu": "x64" }, "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw=="],
-
- "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ=="],
-
- "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA=="],
-
- "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A=="],
-
- "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww=="],
-
- "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.1", "", { "os": "linux", "cpu": "arm" }, "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ=="],
-
- "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ=="],
-
- "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ=="],
-
- "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg=="],
-
- "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg=="],
-
- "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg=="],
-
- "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ=="],
-
- "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ=="],
-
- "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA=="],
-
- "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.1", "", { "os": "none", "cpu": "arm64" }, "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g=="],
-
- "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.1", "", { "os": "none", "cpu": "x64" }, "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA=="],
-
- "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg=="],
-
- "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw=="],
-
- "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg=="],
-
- "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ=="],
-
- "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A=="],
-
- "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg=="],
-
- "websocket/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="],
-
- "zip-stream/archiver-utils/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="],
-
- "archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
-
- "node-gyp/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
-
- "rimraf/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
-
- "zip-stream/archiver-utils/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
-
- "zip-stream/archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="],
+ "zip-stream/archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@1.1.11", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, ""],
}
}
diff --git a/package.json b/package.json
index 27f2427..39dd710 100644
--- a/package.json
+++ b/package.json
@@ -31,13 +31,13 @@
"@tsconfig/node22": "^22.0.0",
"@types/markdown-it": "^14.1.2",
"@types/node": "^22.13.10",
- "electron": "^34.3.2",
+ "electron": "^34.3.3",
"electron-builder": "^25.1.8",
"electron-vite": "^3.0.0",
- "lightningcss": "^1.29.2",
- "sass-embedded": "^1.85.1",
+ "lightningcss": "^1.29.3",
+ "sass-embedded": "^1.86.0",
"typescript": "~5.6.3",
- "vite": "^6.2.1"
+ "vite": "^6.2.2"
},
"dependencies": {
"@lit-labs/motion": "^1.0.8",
diff --git a/src/components/AppGrid.ts b/src/components/AppGrid.ts
index 7e282e6..30c8ba7 100644
--- a/src/components/AppGrid.ts
+++ b/src/components/AppGrid.ts
@@ -1,5 +1,6 @@
import { LitElement, css, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
+import { map } from 'lit/directives/map.js';
import '@components/AppIcon';
@@ -15,34 +16,24 @@ export class AppGrid extends LitElement {
static override styles = [
css`
- .app-grid {
+ :host {
display: grid;
- grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
+ grid-template-columns: 80px;
+ justify-content: space-around;
gap: 20px;
padding: 30px;
- width: minmax(800px, 100cqw);
margin-top: 10px;
- }
- @media (min-width: 1024px) {
- .app-grid {
- width: 500px;
+ @media (min-width: 500px) {
+ grid-template-columns: repeat(2, 80px);
}
- }
- @media (max-width: 768px) {
- .app-grid {
- grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
- gap: 15px;
- padding: 20px;
+ @media (min-width: 768px) {
+ grid-template-columns: repeat(3, 80px);
}
- }
- @media (max-width: 480px) {
- .app-grid {
- grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
- gap: 10px;
- padding: 15px;
+ @media (min-width: 1024px) {
+ grid-template-columns: repeat(4, 80px);
}
}
`,
@@ -50,18 +41,17 @@ export class AppGrid extends LitElement {
override render() {
return html`
-
- ${this.apps.map(
- (app) => html`
-
- `,
- )}
-
+ ${map(
+ this.apps,
+ (app) => html`
+
+ `,
+ )}
`;
}
}
diff --git a/src/components/AppIcon.ts b/src/components/AppIcon.ts
index 2183e66..30f6990 100644
--- a/src/components/AppIcon.ts
+++ b/src/components/AppIcon.ts
@@ -2,6 +2,7 @@ import { LitElement, css, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import '@components/EveLink';
+import { when } from 'lit/directives/when.js';
@customElement('arx-app-icon')
export class AppIcon extends LitElement {
@@ -17,83 +18,157 @@ export class AppIcon extends LitElement {
@property()
name = 'App';
+ private iconElement?: HTMLElement;
+
static override styles = [
css`
- .app-name {
- font-size: 12px;
- color: #000;
- text-shadow: 0px 0px 5px #ffffff;
- text-align: center;
- max-width: 70px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- transition: all 0.2s ease-in-out;
+ :host {
+ display: flex;
+ --animation-speed: 0.25s;
}
.app-icon {
display: flex;
flex-direction: column;
align-items: center;
- gap: 5px;
- color: #fff;
- text-align: center;
+ gap: 8px;
+ text-decoration: none;
+ padding: 6px;
+ border-radius: 18px;
+ transition: transform var(--animation-speed)
+ cubic-bezier(0.175, 0.885, 0.32, 1.275);
+ }
- &:hover {
- .icon {
- transform: scale(1.1);
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
- border: 2px solid #000;
- border-radius: 10px;
- }
-
- .app-name {
- color: white;
- text-shadow: 0px 0px 5px black;
- }
- }
+ .app-icon:hover {
+ transform: translateY(-2px);
}
.icon {
- width: clamp(48px, 8vw, 64px);
- height: clamp(48px, 8vw, 64px);
- border-radius: 15px;
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
+ width: 96px;
+ height: 96px;
+ border-radius: 24px;
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
display: flex;
justify-content: center;
align-items: center;
- border: 1px solid #aaa;
- transition: all 0.2s ease-in-out;
+ border: 1px solid rgba(255, 255, 255, 0.2);
+ overflow: hidden;
+ position: relative;
+ transition: all var(--animation-speed) ease-out;
+ &::before {
+ content: "";
+ position: absolute;
+ inset: 0;
+ background: linear-gradient(
+ 145deg,
+ rgba(255, 255, 255, 0.25) 20%,
+ rgba(255, 255, 255, 0) 60%
+ );
+ pointer-events: none;
+ opacity: 1;
+ transition: opacity var(--animation-speed) ease-out;
+ }
- .app-icon {
- width: 75%;
- height: 75%;
+ &::after {
+ content: "";
+ position: absolute;
+ inset: 0;
+ background: linear-gradient(
+ var(--gradient-angle),
+ rgba(255, 255, 255, 0.25) 20%,
+ rgba(255, 255, 255, 0) 60%
+ );
+ pointer-events: none;
+ opacity: 0;
+ transition: opacity var(--animation-speed) ease-out;
+ }
+
+ &:hover::before {
+ opacity: 0;
+ }
+
+ &:hover::after {
+ opacity: 1;
}
}
- @media (max-width: 480px) {
- .app-name {
- font-size: 11px;
- }
+ .icon-svg {
+ color: white;
+ filter: drop-shadow(
+ calc(cos(var(--gradient-angle)) * 2px)
+ calc(sin(var(--gradient-angle)) * 2px) rgba(0, 0, 0, 0.2)
+ );
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ height: 100%;
+ }
+
+ .app-name {
+ display: block;
+ width: 100%;
+ text-align: center;
+ font-size: 18px;
+ font-weight: 500;
+ color: var(--color-base-content);
+ white-space: nowrap;
+ text-decoration: none;
+ transition: all var(--animation-speed) ease-out;
+ }
+
+ .app-icon:hover .icon {
+ transform: scale(1.08);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
+ }
+
+ .app-icon:active .icon {
+ transform: scale(0.96);
}
`,
];
+ override firstUpdated() {
+ this.iconElement = this.shadowRoot?.querySelector('.icon') as HTMLElement;
+ if (this.iconElement) {
+ this.iconElement.addEventListener('mousemove', this.handleMouseMove);
+ }
+ }
+
+ override disconnectedCallback() {
+ super.disconnectedCallback();
+ if (this.iconElement) {
+ this.iconElement.removeEventListener('mousemove', this.handleMouseMove);
+ }
+ }
+
+ handleMouseMove = (e: MouseEvent) => {
+ if (!this.iconElement) return;
+
+ const rect = this.iconElement.getBoundingClientRect();
+ const centerX = rect.left + rect.width / 2;
+ const centerY = rect.top + rect.height / 2;
+
+ const dx = e.clientX - centerX;
+ const dy = e.clientY - centerY;
+ const angle = Math.atan2(dy, dx) * (180 / Math.PI);
+
+ this.iconElement.style.setProperty('--gradient-angle', `${angle}deg`);
+ };
+
override render() {
return html`
-
- ${
- this.icon
- ? html`
`
- : ''
- }
+
+ ${when(
+ this.icon,
+ () => html``,
+ )}
${this.name}
diff --git a/src/components/Arbor/Button.ts b/src/components/Arbor/Button.ts
deleted file mode 100644
index 596f301..0000000
--- a/src/components/Arbor/Button.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import { LitElement, css, html } from 'lit';
-import { customElement, property } from 'lit/decorators.js';
-
-import '@components/EveLink';
-
-@customElement('arx-arbor-button')
-export class ArborButton extends LitElement {
- @property({ type: String }) href = '';
- @property({ type: String }) target = '';
- @property({ type: String }) rel = '';
- @property({ type: Boolean }) disabled = false;
-
- get hrefValue() {
- if (!this.href || this.disabled) return 'javascript:void(0)';
- return this.href;
- }
-
- static override styles = [
- css`
- arx-eve-link::part(link) {
- color: white;
- text-decoration: none;
- }
-
- arx-eve-link {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- background: var(--accent);
- border: none;
- padding: 0.75rem 0.75rem;
- border-radius: 0.25rem;
- text-decoration: none;
- font-size: 0.9rem;
- font-weight: 500;
- line-height: 1.2;
- cursor: pointer;
- transition: all 0.2s ease-in-out;
- box-shadow: var(--shadow-sm);
- gap: 5px;
- }
-
- arx-eve-link:hover {
- transform: translateY(-1px);
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
- background: color-mix(in oklch, var(--accent), black 15%);
- }
-
- arx-eve-link:focus {
- outline: none;
- box-shadow: var(--shadow-md);
- }
-
- arx-eve-link:active {
- transform: translateY(0);
- box-shadow: var(--shadow-md);
- }
-
- arx-eve-link.disabled {
- opacity: 0.6;
- cursor: not-allowed;
- }
- `,
- ];
-
- override render() {
- return html`
-
-
-
- `;
- }
-}
diff --git a/src/components/Arbor/ForumCategory.ts b/src/components/Arbor/ForumCategory.ts
index f9dd5e3..06609ba 100644
--- a/src/components/Arbor/ForumCategory.ts
+++ b/src/components/Arbor/ForumCategory.ts
@@ -1,6 +1,8 @@
import { LitElement, css, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
+import '@components/General/Button';
+
@customElement('arx-arbor-forum-category')
export class ArborForumCategory extends LitElement {
@property({ type: String }) override title = '';
@@ -9,21 +11,45 @@ export class ArborForumCategory extends LitElement {
static override styles = [
css`
.forum-category {
- background: oklch(100% 0 0);
- border-radius: 0.5rem;
- box-shadow: var(--shadow-xl);
- margin-block-end: 1.5rem;
+ background: var(--color-base-100);
+ border-radius: var(--radius-box);
+ border: var(--border) solid var(--color-base-300);
+ margin-block-end: 2rem;
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px)
+ oklch(from var(--color-base-100) l c h / 0.4);
+ overflow: hidden;
}
.category-header {
- background: var(--primary);
- color: oklch(100% 0 0);
- padding: 1rem 1.5rem;
- border-radius: 0.5rem 0.5rem 0 0;
- font-weight: 500;
+ background: var(--color-secondary);
+ color: var(--color-secondary-content);
+ padding: 1.25rem 1.75rem;
+ font-weight: 600;
+ font-size: 1.1rem;
+ letter-spacing: 0.01em;
display: flex;
justify-content: space-between;
align-items: center;
+ border-bottom: var(--border) solid var(--color-base-300);
+ }
+
+ ::slotted(:first-child) {
+ margin-top: 1rem;
+ }
+
+ ::slotted(:last-child) {
+ margin-bottom: 1rem;
+ }
+
+ .empty-state {
+ padding: 2rem 1.75rem;
+ color: var(--color-secondary);
+ font-style: italic;
+ text-align: center;
}
`,
];
@@ -33,12 +59,13 @@ export class ArborForumCategory extends LitElement {
- No topics...
+ No topics yet...
`;
diff --git a/src/components/Arbor/ForumPost.ts b/src/components/Arbor/ForumPost.ts
index aeab7c6..280c5b1 100644
--- a/src/components/Arbor/ForumPost.ts
+++ b/src/components/Arbor/ForumPost.ts
@@ -19,47 +19,50 @@ export class ForumPost extends LitElement {
.post {
display: flex;
flex-direction: row;
- border-radius: 16px;
- background: #ffffff;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04),
- 0 1px 3px rgba(0, 0, 0, 0.03);
- margin-block-end: 0.75rem;
+ border-radius: var(--radius-box);
+ background: var(--color-base-100);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1);
+ margin-block-end: 1rem;
overflow: hidden;
transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
isolation: isolate;
+ border: var(--border) solid var(--color-base-300);
will-change: transform;
+ }
- &:hover {
- transform: translateY(2px);
- box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07),
- 0 2px 4px rgba(0, 0, 0, 0.04);
- }
+ .post:hover {
+ transform: translateY(-2px);
+ box-shadow: calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 6px)
+ oklch(from var(--color-base-content) l c h / 0.15);
}
.post--highlighted {
position: relative;
border-inline-start: none;
+ }
- &::before {
- content: "";
- position: absolute;
- inset-inline-start: 0;
- top: 0;
- bottom: 0;
- width: 4px;
- background: #4361ee;
- border-radius: 4px 0 0 4px;
- }
+ .post--highlighted::before {
+ content: "";
+ position: absolute;
+ inset-inline-start: 0;
+ top: 0;
+ bottom: 0;
+ width: 4px;
+ background: var(--color-accent);
+ border-radius: 4px 0 0 4px;
}
.post__sidebar {
padding: clamp(1rem, 4vw, 1.5rem);
- border-right: 1px solid rgba(0, 0, 0, 0.06);
+ border-right: var(--border) solid var(--color-base-300);
flex: 0 0 auto;
display: flex;
flex-direction: column;
align-items: center;
- background: rgba(0, 0, 0, 0.01);
+ background: var(--color-base-200);
}
.post__main {
@@ -73,10 +76,8 @@ export class ForumPost extends LitElement {
display: flex;
align-items: center;
padding: 1rem clamp(1rem, 4vw, 1.5rem);
- border-bottom: 1px solid rgba(0, 0, 0, 0.06);
- background: rgba(0, 0, 0, 0.01);
- backdrop-filter: blur(8px);
- -webkit-backdrop-filter: blur(8px);
+ border-bottom: var(--border) solid var(--color-base-300);
+ background: var(--color-base-200);
}
.post__time {
@@ -84,17 +85,18 @@ export class ForumPost extends LitElement {
align-items: center;
gap: 0.5rem;
font-size: 0.875rem;
- color: rgba(0, 0, 0, 0.6);
+ color: var(--color-secondary);
font-weight: 500;
+ }
- & iconify-icon {
- color: rgba(0, 0, 0, 0.4);
- }
+ .post__time iconify-icon {
+ color: var(--color-secondary);
+ opacity: 0.7;
}
.post__permalink {
margin-inline-start: auto;
- color: #4361ee;
+ color: var(--color-accent);
border: none;
background: transparent;
cursor: pointer;
@@ -104,22 +106,16 @@ export class ForumPost extends LitElement {
display: grid;
place-items: center;
transition: all 0.2s ease;
+ }
- &:hover {
- background: rgba(67, 97, 238, 0.08);
- transform: scale(1.05);
- }
-
- &:focus-visible {
- outline: 2px solid #4361ee;
- outline-offset: 2px;
- }
+ .post__permalink:hover {
+ transform: scale(1.05);
}
.post__content {
padding: clamp(1.25rem, 5vw, 1.75rem);
line-height: 1.7;
- color: rgba(0, 0, 0, 0.87);
+ color: var(--color-base-content);
overflow-wrap: break-word;
flex: 1;
font-size: clamp(0.95rem, 2vw, 1rem);
@@ -129,90 +125,25 @@ export class ForumPost extends LitElement {
.post__actions {
display: flex;
padding: 0.75rem clamp(0.75rem, 3vw, 1.25rem);
- border-top: 1px solid rgba(0, 0, 0, 0.06);
+ border-top: var(--border) solid var(--color-base-300);
gap: clamp(0.5rem, 2vw, 0.75rem);
- background: rgba(0, 0, 0, 0.01);
- }
-
- .action-button {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- padding: 0.5rem 0.75rem;
- border-radius: 10px;
- background: transparent;
- border: none;
- font-family: inherit;
- font-size: 0.875rem;
- font-weight: 500;
- color: rgba(0, 0, 0, 0.6);
- cursor: pointer;
- transition: all 0.2s ease;
-
- & iconify-icon {
- font-size: 1.25rem;
- }
-
- &:hover:not(:disabled) {
- background: rgba(0, 0, 0, 0.04);
- color: rgba(0, 0, 0, 0.87);
- transform: translateY(-1px);
- }
-
- &:focus-visible {
- outline: 2px solid rgba(0, 0, 0, 0.2);
- outline-offset: 1px;
- }
-
- &:active:not(:disabled) {
- transform: translateY(1px) scale(0.98);
- }
-
- &:disabled {
- opacity: 0.5;
- cursor: not-allowed;
- }
- }
-
- .action-button--primary {
- color: #4361ee;
-
- &:hover:not(:disabled) {
- background: rgba(67, 97, 238, 0.08);
- }
-
- &:focus-visible {
- outline-color: #4361ee;
- }
+ background: var(--color-base-200);
}
@media (max-width: 768px) {
.post {
flex-direction: column;
- margin-inline: -1rem;
- border-radius: 0;
margin-block-end: 1.5rem;
}
.post__sidebar {
border-right: none;
- border-bottom: 1px solid rgba(0, 0, 0, 0.06);
+ border-bottom: var(--border) solid var(--color-base-300);
padding: 1rem;
flex-direction: row;
justify-content: flex-start;
gap: 1rem;
}
-
- .action-button {
- padding: 0.625rem;
- justify-content: center;
- flex: 1;
- border-radius: 10px;
-
- & span {
- display: none;
- }
- }
}
@media (max-width: 480px) {
@@ -290,13 +221,13 @@ export class ForumPost extends LitElement {
${formatDateTime(this.date)}
-
+
+
@@ -306,33 +237,30 @@ export class ForumPost extends LitElement {
-
+
+
+
-
-
- Permalink
-
+
+
+
-
+
+
+
-
+
+
+
diff --git a/src/components/Arbor/ForumTopic.ts b/src/components/Arbor/ForumTopic.ts
index fd51093..d101e41 100644
--- a/src/components/Arbor/ForumTopic.ts
+++ b/src/components/Arbor/ForumTopic.ts
@@ -12,26 +12,40 @@ export class ArborForumTopic extends LitElement {
display: grid;
grid-template-columns: 3fr 1fr;
padding: 1.75rem;
- border-radius: 12px;
+ border-radius: var(--radius-box);
margin-bottom: 1rem;
- box-shadow: var(--shadow-md);
+ border: var(--border) solid var(--color-base-300);
+ background-color: var(--color-base-200);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px)
+ oklch(from var(--color-base-100) l c h / 0.4);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.topic:hover {
transform: translateY(-2px);
- box-shadow: var(--shadow-lg);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-100) l c h / 0.5);
}
.topic-icon {
inline-size: 40px;
block-size: 40px;
- background: var(--accent);
- border-radius: 10px;
+ background: var(--color-accent);
+ border-radius: calc(var(--radius-selector) * 1.5);
flex-shrink: 0;
position: relative;
overflow: hidden;
- box-shadow: var(--shadow-sm);
+ box-shadow: calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.15);
}
.topic-icon::after {
@@ -41,7 +55,7 @@ export class ArborForumTopic extends LitElement {
background: linear-gradient(
45deg,
transparent,
- oklch(from var(--accent) l c h / 0.2)
+ oklch(from var(--color-accent) l c h / 0.2)
);
}
@@ -62,24 +76,25 @@ export class ArborForumTopic extends LitElement {
font-weight: 600;
letter-spacing: -0.01em;
text-decoration: none;
- color: var(--primary);
+ color: var(--color-base-content);
transition: all 0.2s ease;
- &:hover {
- color: var(--secondary);
- transform: translateX(4px);
- }
+ }
+
+ arx-eve-link:hover::part(link) {
+ color: var(--color-accent);
+ transform: translateX(4px);
}
.topic-details p {
margin: 0;
font-size: 0.975rem;
line-height: 1.6;
- color: var(--secondary);
+ color: var(--color-secondary);
}
.new-status {
position: relative;
- color: var(--accent);
+ color: var(--color-accent);
}
.new-status::after {
@@ -90,15 +105,17 @@ export class ArborForumTopic extends LitElement {
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
- background: var(--accent);
- color: var(--light);
+ background: var(--color-accent);
+ color: var(--color-accent-content);
padding: 2px 8px;
border-radius: 12px;
- box-shadow: var(--shadow-sm);
+ box-shadow: calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.15);
}
.hot-status {
- color: var(--error);
+ color: var(--color-error);
}
.hot-status::before {
@@ -111,29 +128,31 @@ export class ArborForumTopic extends LitElement {
flex-direction: column;
gap: 1rem;
padding-left: 1.5rem;
- border-left: 2px solid var(--border);
+ border-left: var(--border) solid var(--color-base-300);
}
.last-post-section {
- background: oklch(from var(--primary) 98% calc(c * 0.2) h);
+ background: oklch(from var(--color-base-200) l c h);
padding: 0.875rem;
- border-radius: 8px;
- box-shadow: var(--shadow-sm);
+ border-radius: var(--radius-field);
+ box-shadow: calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.1);
}
.last-post-section > div:first-of-type {
font-size: 0.875rem;
font-weight: 500;
- color: var(--secondary);
+ color: var(--color-secondary);
margin-bottom: 0.5rem;
}
.last-post-info {
- color: var(--secondary);
+ color: var(--color-secondary);
font-size: 0.875rem;
margin-top: 0.625rem;
padding-top: 0.625rem;
- border-top: 1px solid var(--border);
+ border-top: var(--border) solid var(--color-base-300);
}
@media (max-width: 968px) {
@@ -147,7 +166,7 @@ export class ArborForumTopic extends LitElement {
padding-left: 0;
border-left: none;
padding-top: 1rem;
- border-top: 2px solid var(--border);
+ border-top: var(--border) solid var(--color-base-300);
}
}
`,
diff --git a/src/components/Breadcrumbs.ts b/src/components/Breadcrumbs.ts
index 4423a11..2479f6a 100644
--- a/src/components/Breadcrumbs.ts
+++ b/src/components/Breadcrumbs.ts
@@ -1,8 +1,9 @@
import { LitElement, css, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
-import './BreadcrumbsItem';
import { map } from 'lit/directives/map.js';
+import '@components/BreadcrumbsItem';
+
@customElement('arx-breadcrumbs')
export class Breadcrumbs extends LitElement {
@property({ type: Array }) items: { text: string; href?: string }[] = [];
@@ -11,27 +12,23 @@ export class Breadcrumbs extends LitElement {
css`
:host {
display: block;
- --breadcrumb-bg: var(--surface, #ffffff);
- --breadcrumb-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
- --breadcrumb-border: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
- --breadcrumb-radius: 8px;
- --breadcrumb-padding: 0.75rem 1.25rem;
- --breadcrumb-font: var(--font-family, system-ui, sans-serif);
- --breadcrumb-text-color: var(--text-primary, #333);
- --breadcrumb-separator-color: var(--text-secondary, #666);
- --breadcrumb-accent-color: var(--accent, #0066cc);
- --breadcrumb-hover-color: var(--accent-dark, #004c99);
- --breadcrumb-active-bg: var(--accent-light, rgba(0, 102, 204, 0.1));
}
+
nav {
max-width: 1200px;
margin: 1.25rem auto;
- background-color: var(--breadcrumb-bg);
- border-radius: var(--breadcrumb-radius);
- box-shadow: var(--breadcrumb-shadow);
+ background-color: var(--color-base-200);
+ border-radius: var(--radius-box);
+ border: var(--border) solid var(--color-base-300);
padding: 0.75rem 1.25rem;
font-size: 0.95rem;
transition: all 0.3s ease;
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px)
+ oklch(from var(--color-base-100) l c h / 0.4);
}
ol {
@@ -43,6 +40,11 @@ export class Breadcrumbs extends LitElement {
align-items: center;
overflow-x: auto;
scrollbar-width: none;
+ color: var(--color-base-content);
+ }
+
+ ol::-webkit-scrollbar {
+ display: none;
}
@media (max-width: 640px) {
diff --git a/src/components/BreadcrumbsItem.ts b/src/components/BreadcrumbsItem.ts
index 4f88882..689969e 100644
--- a/src/components/BreadcrumbsItem.ts
+++ b/src/components/BreadcrumbsItem.ts
@@ -26,7 +26,7 @@ export class BreadcrumbsItem extends LitElement {
display: flex;
align-items: center;
margin-inline: 0.75rem;
- color: var(--breadcrumb-separator);
+ color: var(--color-secondary);
user-select: none;
font-size: 0.85rem;
}
@@ -42,29 +42,29 @@ export class BreadcrumbsItem extends LitElement {
display: inline-flex;
align-items: center;
padding: 0.4rem 0.7rem;
- border-radius: 6px;
+ border-radius: calc(var(--radius-selector) / 2);
transition: all 0.2s ease;
}
.active {
- background-color: var(--breadcrumb-active-bg);
+ background-color: oklch(from var(--color-base-300) l c h / 0.5);
font-weight: 500;
- color: var(--breadcrumb-text);
+ color: var(--color-base-content);
}
.link {
- color: var(--breadcrumb-accent);
+ color: var(--color-accent);
text-decoration: none;
}
.link:hover .breadcrumb-content {
- background-color: var(--breadcrumb-active-bg);
+ background-color: oklch(from var(--color-accent) l c h / 0.1);
}
.link:focus-visible {
- outline: 2px solid var(--breadcrumb-accent);
+ outline: var(--border) solid var(--color-accent);
outline-offset: 2px;
- border-radius: 6px;
+ border-radius: calc(var(--radius-selector) / 2);
}
.item-text {
@@ -77,8 +77,8 @@ export class BreadcrumbsItem extends LitElement {
bottom: -2px;
left: 0;
width: 0;
- height: 2px;
- background-color: var(--breadcrumb-accent);
+ height: var(--border);
+ background-color: var(--color-accent);
transition: width 0.25s ease;
}
diff --git a/src/components/DateTimeSettings.ts b/src/components/DateTimeSettings.ts
new file mode 100644
index 0000000..2bebba0
--- /dev/null
+++ b/src/components/DateTimeSettings.ts
@@ -0,0 +1,296 @@
+import { StyledToggle } from '@/components/General/Toggle';
+import { LitElement, html } from 'lit';
+import { customElement, state } from 'lit/decorators.js';
+
+import '@components/General/Input';
+import '@components/General/Fieldset';
+import '@components/General/Select';
+
+interface DateTimeFormatOptions {
+ locale: string;
+ weekday: 'long' | 'short' | 'narrow' | '';
+ year: 'numeric' | '2-digit' | '';
+ month: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | '';
+ day: 'numeric' | '2-digit' | '';
+ hour: 'numeric' | '2-digit' | '';
+ minute: 'numeric' | '2-digit' | '';
+ second: 'numeric' | '2-digit' | '';
+ hour12: boolean;
+}
+
+const DEFAULT_OPTIONS: DateTimeFormatOptions = {
+ locale: 'en-US',
+ weekday: 'short',
+ year: 'numeric',
+ month: 'long',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit',
+ hour12: true,
+};
+
+@customElement('arx-date-time-settings')
+export class DateTimeSettings extends LitElement {
+ @state()
+ private options: DateTimeFormatOptions = { ...DEFAULT_OPTIONS };
+
+ @state()
+ private previewDate = new Date();
+
+ override connectedCallback() {
+ super.connectedCallback();
+ this.loadFromLocalStorage();
+ setInterval(() => {
+ this.previewDate = new Date();
+ this.requestUpdate();
+ }, 1000);
+ }
+
+ private loadFromLocalStorage() {
+ const savedOptions = localStorage.getItem('dateTimeFormatOptions');
+ if (savedOptions) {
+ try {
+ this.options = { ...DEFAULT_OPTIONS, ...JSON.parse(savedOptions) };
+ } catch (e) {
+ console.error('Failed to parse saved options', e);
+ this.options = { ...DEFAULT_OPTIONS };
+ }
+ }
+ }
+
+ private saveToLocalStorage() {
+ localStorage.setItem('dateTimeFormatOptions', JSON.stringify(this.options));
+ this.dispatchEvent(
+ new CustomEvent('settings-changed', {
+ bubbles: true,
+ composed: true,
+ detail: { options: this.options },
+ }),
+ );
+ }
+
+ private handleChange(key: keyof DateTimeFormatOptions, e: Event) {
+ const target = e.target as HTMLSelectElement | HTMLInputElement | StyledToggle;
+ let value: string | boolean | undefined = target.value;
+
+ if (key === 'hour12' && target instanceof StyledToggle) value = target.checked;
+
+ this.options = {
+ ...this.options,
+ [key]: value,
+ };
+
+ if (key === 'locale') this.requestUpdate();
+
+ this.saveToLocalStorage();
+ }
+
+ private formatWithOption(option: string, type: keyof DateTimeFormatOptions): string {
+ if (option === '') return '';
+ const date = this.previewDate;
+ const locale = this.options.locale;
+
+ const formatterOptions: Intl.DateTimeFormatOptions = {
+ [type]: option,
+ };
+
+ // Special case for hour to respect hour12 setting
+ if (type === 'hour') formatterOptions.hour12 = this.options.hour12;
+
+ try {
+ return new Intl.DateTimeFormat(locale, formatterOptions).format(date);
+ } catch (e) {
+ console.error(`Error formatting with option ${option} for ${type}`, e);
+ return 'Error: Invalid format';
+ }
+ }
+
+ private formatPreview(): string {
+ return new Date(this.previewDate).toLocaleString(this.options.locale, {
+ weekday: this.options.weekday === '' ? undefined : this.options.weekday,
+ year: this.options.year === '' ? undefined : this.options.year,
+ month: this.options.month === '' ? undefined : this.options.month,
+ day: this.options.day === '' ? undefined : this.options.day,
+ hour: this.options.hour === '' ? undefined : this.options.hour,
+ minute: this.options.minute === '' ? undefined : this.options.minute,
+ second: this.options.second === '' ? undefined : this.options.second,
+ hour12: this.options.hour12,
+ });
+ }
+
+ override render() {
+ return html`
+
+ this.handleChange('locale', e)}
+ >
+
+
+ this.handleChange('weekday', e)}
+ .options=${[
+ {
+ value: 'long',
+ label: `Long (${this.formatWithOption('long', 'weekday')})`,
+ },
+ {
+ value: 'short',
+ label: `Short (${this.formatWithOption('short', 'weekday')})`,
+ },
+ {
+ value: 'narrow',
+ label: `Narrow (${this.formatWithOption('narrow', 'weekday')})`,
+ },
+ ]}
+ >
+
+ this.handleChange('year', e)}
+ .options=${[
+ {
+ value: 'numeric',
+ label: `Numeric (${this.formatWithOption('numeric', 'year')})`,
+ },
+ {
+ value: '2-digit',
+ label: `2-digit (${this.formatWithOption('2-digit', 'year')})`,
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('month', e)}
+ .options=${[
+ {
+ value: 'long',
+ label: `Long (${this.formatWithOption('long', 'month')})`,
+ },
+ {
+ value: 'short',
+ label: `Short (${this.formatWithOption('short', 'month')})`,
+ },
+ {
+ value: 'narrow',
+ label: `Narrow (${this.formatWithOption('narrow', 'month')})`,
+ },
+ {
+ value: 'numeric',
+ label: `Numeric (${this.formatWithOption('numeric', 'month')})`,
+ },
+ {
+ value: '2-digit',
+ label: `2-digit (${this.formatWithOption('2-digit', 'month')})`,
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('day', e)}
+ .options=${[
+ {
+ value: 'numeric',
+ label: `Numeric (${this.formatWithOption('numeric', 'day')})`,
+ },
+ {
+ value: '2-digit',
+ label: `2-digit (${this.formatWithOption('2-digit', 'day')})`,
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('hour', e)}
+ .options=${[
+ {
+ value: 'numeric',
+ label: 'Numeric',
+ },
+ {
+ value: '2-digit',
+ label: '2-digit',
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('minute', e)}
+ .options=${[
+ {
+ value: 'numeric',
+ label: 'Numeric',
+ },
+ {
+ value: '2-digit',
+ label: '2-digit',
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('second', e)}
+ .options=${[
+ {
+ value: 'numeric',
+ label: 'Numeric',
+ },
+ {
+ value: '2-digit',
+ label: '2-digit',
+ },
+ {
+ value: '',
+ label: 'None',
+ },
+ ]}
+ >
+
+ this.handleChange('hour12', e)}
+ >
+
+ Preview
+ ${this.formatPreview()}
+
+ `;
+ }
+}
diff --git a/src/components/ErrorView.ts b/src/components/ErrorView.ts
index 90640e4..2358231 100644
--- a/src/components/ErrorView.ts
+++ b/src/components/ErrorView.ts
@@ -7,17 +7,55 @@ export class ErrorView extends LitElement {
error!: string;
static override styles = css`
- .error {
- color: var(--error);
- }`;
+ :host {
+ display: block;
+ margin: 0.75rem 0;
+ }
+
+ .error-container {
+ display: flex;
+ align-items: flex-start;
+ gap: 0.75rem;
+ padding: 0.75rem 1rem;
+ border-radius: var(--radius-field);
+ background-color: var(--color-error);
+ color: var(--color-error-content);
+ box-shadow: 0 2px 5px oklch(from var(--color-error) l c h / 0.2);
+ border-left: calc(var(--border) * 2) solid
+ oklch(from var(--color-error-content) l c h / 0.8);
+ animation: fadeIn 0.3s ease-out forwards;
+ }
+
+ .error-message {
+ flex: 1;
+ font-weight: 500;
+ line-height: 1.5;
+ }
+
+ @keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(-4px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+ }
+
+ @media (max-width: 640px) {
+ .error-container {
+ padding: 0.625rem 0.875rem;
+ }
+ }
+ `;
override render() {
- return html`${this.error}`;
- }
-}
-
-declare global {
- interface HTMLElementTagNameMap {
- 'arx-error-view': ErrorView;
+ return html`
+
+ `;
}
}
diff --git a/src/components/EveLink.ts b/src/components/EveLink.ts
index 64b62d5..48ade91 100644
--- a/src/components/EveLink.ts
+++ b/src/components/EveLink.ts
@@ -7,6 +7,13 @@ export class EveLink extends LitElement {
@property({ type: String }) target = '';
@property({ type: String }) rel = '';
+ static override styles = css`
+ a {
+ display: inline-block;
+ color: var(--color-primary);
+ }
+ `;
+
get hrefValue() {
let href = this.href;
if (href.startsWith('javascript:')) return href;
@@ -16,12 +23,6 @@ export class EveLink extends LitElement {
return href;
}
- static override styles = css`
- a {
- part: link;
- }
- `;
-
override render() {
return html`
+
+
+
+ ${this.label}
+
+
+
+ `;
+ }
+
+ private _handleClick(e: MouseEvent) {
+ if (this.disabled || this.loading) {
+ e.preventDefault();
+ return;
+ }
+
+ if (this.href) {
+ let href = this.href;
+ if (href.startsWith('javascript:')) return href;
+ if (href.startsWith('eve://')) href = href.replace('eve://', '#');
+ if (href.startsWith('/')) href = href.replace('/', '#');
+ if (!href.startsWith('#')) href = `#${href}`;
+ window.location.href = href;
+ return;
+ }
+
+ this.dispatchEvent(
+ new CustomEvent('click', {
+ detail: {
+ name: this.name,
+ value: this.value,
+ },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleKeyDown(e: KeyboardEvent) {
+ if ((e.key === 'Enter' || e.key === ' ') && !this.disabled && !this.loading) {
+ e.preventDefault();
+ this.dispatchEvent(
+ new CustomEvent('click', {
+ detail: {
+ name: this.name,
+ value: this.value,
+ },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ this.dispatchEvent(
+ new CustomEvent('keydown', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleFocus() {
+ this.dispatchEvent(
+ new CustomEvent('focus', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleBlur() {
+ this.dispatchEvent(
+ new CustomEvent('blur', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+}
diff --git a/src/components/General/Card.ts b/src/components/General/Card.ts
new file mode 100644
index 0000000..88250bc
--- /dev/null
+++ b/src/components/General/Card.ts
@@ -0,0 +1,35 @@
+import { LitElement, css, html } from 'lit';
+import { customElement } from 'lit/decorators.js';
+
+@customElement('arx-card')
+export class StyledFieldset extends LitElement {
+ static override styles = css`
+ :host {
+ display: block;
+ background: var(--color-base-200);
+ border-radius: var(--radius-box);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 6px) oklch(from var(--color-base-100) l c h / 0.6);
+ padding: 32px;
+ margin-bottom: 32px;
+ border: var(--border) solid var(--color-base-300);
+ transition: all 0.3s ease;
+ &:hover {
+ box-shadow: calc(var(--depth) * 6px) calc(var(--depth) * 6px)
+ calc(var(--depth) * 12px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ calc(var(--depth) * -3px) calc(var(--depth) * -3px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-100) l c h / 0.7);
+ transform: translateY(-2px);
+ }
+ }
+ `;
+
+ override render() {
+ return html``;
+ }
+}
diff --git a/src/components/General/Fieldset.ts b/src/components/General/Fieldset.ts
new file mode 100644
index 0000000..d75bd4d
--- /dev/null
+++ b/src/components/General/Fieldset.ts
@@ -0,0 +1,122 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+@customElement('arx-fieldset')
+export class StyledFieldset extends LitElement {
+ @property() legend = '';
+ @property({ type: Boolean }) disabled = false;
+ @property() variant = 'default'; // default, primary, secondary, accent
+
+ static override styles = css`
+ :host {
+ display: block;
+ width: 100%;
+ margin-bottom: 24px;
+ }
+
+ .fieldset-container {
+ background: var(--color-base-100);
+ border: var(--border) solid var(--color-base-300);
+ border-radius: var(--radius-box);
+ padding: 24px;
+ position: relative;
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.5);
+ transition: all 0.25s ease;
+ }
+
+ :host([variant="primary"]) .fieldset-container {
+ border-left: calc(var(--border) * 3) solid var(--color-primary);
+ }
+
+ :host([variant="secondary"]) .fieldset-container {
+ border-left: calc(var(--border) * 3) solid var(--color-secondary);
+ }
+
+ :host([variant="accent"]) .fieldset-container {
+ border-left: calc(var(--border) * 3) solid var(--color-accent);
+ }
+
+ .legend {
+ position: absolute;
+ top: -10px;
+ left: 50%;
+ transform: translateX(-50%);
+ background: var(--color-base-100);
+ border: var(--border) solid var(--color-base-300);
+ padding: 0 10px;
+ font-size: 14px;
+ font-weight: 600;
+ color: var(--color-base-content);
+ border-radius: calc(var(--radius-selector) / 2);
+ transition: all 0.25s ease;
+ }
+
+ :host([variant="primary"]) .legend {
+ color: var(--color-primary);
+ }
+
+ :host([variant="secondary"]) .legend {
+ color: var(--color-secondary);
+ }
+
+ :host([variant="accent"]) .legend {
+ color: var(--color-accent);
+ }
+
+ .fieldset-content {
+ padding-top: 8px;
+ }
+
+ :host([disabled]) .fieldset-container {
+ opacity: 0.7;
+ cursor: not-allowed;
+ box-shadow: calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.05),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.3);
+ }
+
+ :host([disabled]) .legend {
+ opacity: 0.7;
+ }
+
+ :host(:not([disabled])) .fieldset-container:hover {
+ box-shadow: calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 6px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ calc(var(--depth) * -3px) calc(var(--depth) * -3px)
+ calc(var(--depth) * 6px) oklch(from var(--color-base-100) l c h / 0.6);
+ }
+
+ :host(:not([disabled])) .fieldset-container:focus-within {
+ border-color: var(--color-accent);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.5),
+ 0 0 0 2px oklch(from var(--color-accent) l c h / 0.2);
+ }
+
+ :host(:not([disabled])) .fieldset-container:focus-within .legend {
+ color: var(--color-accent);
+ }
+ `;
+
+ override render() {
+ return html`
+
+ ${when(this.legend, () => html`
${this.legend}
`)}
+
+
+
+
+ `;
+ }
+}
diff --git a/src/components/General/Input.ts b/src/components/General/Input.ts
new file mode 100644
index 0000000..2936518
--- /dev/null
+++ b/src/components/General/Input.ts
@@ -0,0 +1,165 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+@customElement('arx-input')
+export class StyledInput extends LitElement {
+ @property() placeholder = '';
+ @property() value = '';
+ @property({ type: Boolean }) disabled = false;
+ @property() type = 'text';
+ @property() name = '';
+ @property({ type: Boolean }) required = false;
+ @property() label = '';
+
+ static override styles = css`
+ :host {
+ display: inline-block;
+ width: 100%;
+ margin-bottom: 8px;
+ }
+
+ label {
+ display: block;
+ margin-bottom: 8px;
+ font-size: 14px;
+ color: var(--color-base-content);
+ font-weight: 500;
+ }
+
+ input {
+ width: 100%;
+ padding: 14px 16px;
+ font-size: 16px;
+ color: var(--color-base-content);
+ background: var(--color-base-100);
+ border: var(--border) solid var(--color-base-300);
+ border-radius: var(--radius-field);
+ box-shadow: inset calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ inset calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.7),
+ 0 0 0 transparent;
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
+ }
+
+ input::placeholder {
+ color: var(--color-secondary);
+ transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1.1);
+ }
+
+ input:hover {
+ transform: translateY(-1px);
+ background: oklch(from var(--color-base-100) calc(l + 0.02) c h);
+ }
+
+ input:hover::placeholder {
+ transform: translateX(3px);
+ }
+
+ input:focus {
+ outline: none;
+ transform: translateY(1px);
+ border-top: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-left: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-bottom: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ border-right: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ box-shadow: inset calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.5),
+ 0 0 0 transparent;
+ background: linear-gradient(
+ 145deg,
+ oklch(from var(--color-base-100) calc(l - 0.03) c h),
+ oklch(from var(--color-base-100) l c h)
+ );
+ }
+
+ input:disabled {
+ opacity: 0.7;
+ cursor: not-allowed;
+ box-shadow: inset calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.05),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.4);
+ transform: none;
+ }
+ `;
+
+ override render() {
+ return html`
+ ${when(this.label, () => html``)}
+
+ `;
+ }
+
+ private _handleKeyDown(e: KeyboardEvent) {
+ this.dispatchEvent(
+ new CustomEvent('keydown', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleKeyUp(e: KeyboardEvent) {
+ this.dispatchEvent(
+ new CustomEvent('keyup', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleFocus() {
+ this.dispatchEvent(
+ new CustomEvent('focus', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleBlur() {
+ this.dispatchEvent(
+ new CustomEvent('blur', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleInput(e: InputEvent) {
+ const input = e.target as HTMLInputElement;
+ this.value = input.value;
+ this.dispatchEvent(
+ new CustomEvent('input', {
+ detail: { value: this.value },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+}
diff --git a/src/components/Prompt.ts b/src/components/General/Prompt.ts
similarity index 60%
rename from src/components/Prompt.ts
rename to src/components/General/Prompt.ts
index 44b0bb3..340bc64 100644
--- a/src/components/Prompt.ts
+++ b/src/components/General/Prompt.ts
@@ -2,6 +2,8 @@ import { LitElement, css, html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';
+import '@components/General/Input';
+
@customElement('arx-prompt')
export class EvePrompt extends LitElement {
@property({ type: String }) promptText = 'Please provide input';
@@ -17,18 +19,7 @@ export class EvePrompt extends LitElement {
static override styles = css`
:host {
- --prompt-primary: #3b82f6;
- --prompt-primary-hover: #2563eb;
- --prompt-bg: #ffffff;
- --prompt-text: #1f2937;
- --prompt-border: #e5e7eb;
- --prompt-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
- --prompt-cancel-bg: #f3f4f6;
- --prompt-cancel-hover: #e5e7eb;
- --prompt-overlay: rgba(15, 23, 42, 0.6);
-
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
- sans-serif;
+ display: block;
}
.overlay {
@@ -37,7 +28,7 @@ export class EvePrompt extends LitElement {
left: 0;
width: 100%;
height: 100%;
- background-color: var(--prompt-overlay);
+ background-color: oklch(from var(--color-base-content) l c h / 0.6);
display: flex;
align-items: center;
justify-content: center;
@@ -54,15 +45,20 @@ export class EvePrompt extends LitElement {
}
.prompt-container {
- background-color: var(--prompt-bg);
- border-radius: 12px;
- box-shadow: var(--prompt-shadow);
+ background-color: var(--color-base-100);
+ border-radius: var(--radius-box);
+ border: var(--border) solid var(--color-base-300);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.4);
width: 90%;
max-width: 420px;
padding: 28px;
transform: scale(0.95) translateY(10px);
transition: transform 0.25s cubic-bezier(0.1, 1, 0.2, 1);
- color: var(--prompt-text);
+ color: var(--color-base-content);
}
.overlay.active .prompt-container {
@@ -74,28 +70,7 @@ export class EvePrompt extends LitElement {
font-weight: 600;
margin: 0 0 16px 0;
line-height: 1.4;
- }
-
- .input-container {
- margin: 20px 0;
- }
-
- .input-field {
- width: 100%;
- padding: 12px 14px;
- border-radius: 8px;
- border: 1px solid var(--prompt-border);
- font-size: 15px;
- transition: border-color 0.2s ease, box-shadow 0.2s ease;
- color: inherit;
- background-color: transparent;
- outline: none;
- box-sizing: border-box;
- }
-
- .input-field:focus {
- border-color: var(--prompt-primary);
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
+ color: var(--color-base-content);
}
.buttons {
@@ -105,47 +80,13 @@ export class EvePrompt extends LitElement {
margin-top: 24px;
}
- button {
- padding: 10px 18px;
- border-radius: 8px;
- font-size: 14px;
- font-weight: 500;
- cursor: pointer;
- transition: all 0.2s ease;
- border: none;
- outline: none;
- }
-
- button:focus-visible {
- box-shadow: 0 0 0 2px var(--prompt-bg), 0 0 0 4px var(--prompt-primary);
- }
-
- .cancel-btn {
- background-color: var(--prompt-cancel-bg);
- color: var(--prompt-text);
- }
-
- .cancel-btn:hover {
- background-color: var(--prompt-cancel-hover);
- }
-
- .save-btn {
- background-color: var(--prompt-primary);
- color: white;
- }
-
- .save-btn:hover {
- background-color: var(--prompt-primary-hover);
- }
-
- @media (prefers-color-scheme: dark) {
- :host {
- --prompt-bg: #1e1e1e;
- --prompt-text: #e5e7eb;
- --prompt-border: #374151;
- --prompt-cancel-bg: #374151;
- --prompt-cancel-hover: #4b5563;
- }
+ .prompt-container:focus-within {
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.4),
+ 0 0 0 2px oklch(from var(--color-accent) l c h / 0.2);
}
`;
@@ -221,26 +162,30 @@ export class EvePrompt extends LitElement {
${
this.showInput
? html`
-
-
-
+
`
: ''
}
diff --git a/src/components/General/Select.ts b/src/components/General/Select.ts
new file mode 100644
index 0000000..f387ecc
--- /dev/null
+++ b/src/components/General/Select.ts
@@ -0,0 +1,207 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { map } from 'lit/directives/map.js';
+import { when } from 'lit/directives/when.js';
+
+@customElement('arx-select')
+export class StyledSelect extends LitElement {
+ @property() placeholder = '';
+ @property() value = '';
+ @property({ type: Boolean }) disabled = false;
+ @property() name = '';
+ @property({ type: Boolean }) required = false;
+ @property() label = '';
+ @property({ type: Array }) options = [];
+ @property() valueMapper?: (option: T) => string;
+ @property() textMapper?: (option: T) => string;
+
+ static override styles = css`
+ :host {
+ display: inline-block;
+ width: 100%;
+ margin-bottom: 8px;
+ }
+
+ label {
+ display: block;
+ margin-bottom: 8px;
+ font-size: 14px;
+ color: var(--color-base-content);
+ font-weight: 500;
+ }
+
+ select {
+ width: 100%;
+ padding: 14px 16px;
+ font-size: 16px;
+ color: var(--color-base-content);
+ appearance: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background-color: var(--color-base-100);
+ border: var(--border) solid var(--color-base-300);
+ border-radius: var(--radius-field);
+ box-shadow: inset calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ inset calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.7),
+ 0 0 0 transparent;
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
+ cursor: pointer;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
+ background-repeat: no-repeat;
+ background-position: right 16px center;
+ padding-right: 40px;
+ }
+
+ select:hover {
+ transform: translateY(-1px);
+ background-color: oklch(from var(--color-base-100) calc(l + 0.02) c h);
+ }
+
+ select:focus {
+ outline: none;
+ transform: translateY(1px);
+ border-top: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-left: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-bottom: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ border-right: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ box-shadow: inset calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.5),
+ 0 0 0 transparent;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
+ background-repeat: no-repeat;
+ background-position: right 16px center;
+ background-color: linear-gradient(
+ 145deg,
+ oklch(from var(--color-base-100) calc(l - 0.03) c h),
+ oklch(from var(--color-base-100) l c h)
+ );
+ }
+
+ select:disabled {
+ opacity: 0.7;
+ cursor: not-allowed;
+ box-shadow: inset calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.05),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.4);
+ transform: none;
+ }
+
+ select option[value=""] {
+ color: var(--color-secondary);
+ }
+ `;
+
+ private _getOptionValue(option: T) {
+ if (option === undefined || option === null) return '';
+ if (this.valueMapper) return this.valueMapper(option);
+ if (typeof option === 'object' && 'value' in option) return option.value;
+ return option;
+ }
+
+ private _getOptionText(option: T) {
+ if (option === undefined || option === null) return '';
+ if (this.textMapper) return this.textMapper(option);
+ if (typeof option === 'object' && 'label' in option) return option.label;
+ return option;
+ }
+
+ override render() {
+ return html`
+ ${when(this.label, () => html``)}
+
+ `;
+ }
+
+ private _handleKeyDown(e: KeyboardEvent) {
+ this.dispatchEvent(
+ new CustomEvent('keydown', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleKeyUp(e: KeyboardEvent) {
+ this.dispatchEvent(
+ new CustomEvent('keyup', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleFocus() {
+ this.dispatchEvent(
+ new CustomEvent('focus', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleBlur() {
+ this.dispatchEvent(
+ new CustomEvent('blur', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleChange(e: Event) {
+ const select = e.target as HTMLSelectElement;
+ this.value = select.value;
+ this.dispatchEvent(
+ new CustomEvent('change', {
+ detail: { value: this.value },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+}
diff --git a/src/components/General/Textarea.ts b/src/components/General/Textarea.ts
new file mode 100644
index 0000000..93e2791
--- /dev/null
+++ b/src/components/General/Textarea.ts
@@ -0,0 +1,212 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+@customElement('arx-textarea')
+export class StyledTextarea extends LitElement {
+ @property() placeholder = '';
+ @property() value = '';
+ @property({ type: Boolean }) disabled = false;
+ @property() name = '';
+ @property({ type: Boolean }) required = false;
+ @property() label = '';
+ @property() rows = 4;
+ @property() maxlength = '';
+ @property({ type: Boolean }) resizable = true;
+
+ static override styles = css`
+ :host {
+ display: block;
+ width: 100%;
+ margin-bottom: 8px;
+ }
+
+ label {
+ display: block;
+ margin-bottom: 8px;
+ font-size: 14px;
+ color: var(--color-base-content);
+ font-weight: 500;
+ }
+
+ textarea {
+ width: 100%;
+ min-height: 80px;
+ padding: 14px 16px;
+ font-size: 16px;
+ color: var(--color-base-content);
+ font-family: inherit;
+ line-height: 1.5;
+ background: var(--color-base-100);
+ border: var(--border) solid var(--color-base-300);
+ border-radius: var(--radius-field);
+ box-shadow: inset calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ inset calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.7),
+ 0 0 0 transparent;
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
+ resize: vertical;
+ }
+
+ :host(:not([resizable])) textarea {
+ resize: none;
+ }
+
+ textarea::placeholder {
+ color: var(--color-secondary);
+ transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1.1);
+ }
+
+ textarea:hover {
+ transform: translateY(-1px);
+ background: oklch(from var(--color-base-100) calc(l + 0.02) c h);
+ }
+
+ textarea:hover::placeholder {
+ transform: translateX(3px);
+ }
+
+ textarea:focus {
+ outline: none;
+ transform: translateY(1px);
+ border-top: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-left: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-bottom: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ border-right: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ box-shadow: inset calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.5),
+ 0 0 0 transparent;
+ background: linear-gradient(
+ 145deg,
+ oklch(from var(--color-base-100) calc(l - 0.03) c h),
+ oklch(from var(--color-base-100) l c h)
+ );
+ }
+
+ textarea:disabled {
+ opacity: 0.7;
+ cursor: not-allowed;
+ box-shadow: inset calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.05),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.4);
+ transform: none;
+ }
+
+ .character-count {
+ display: none;
+ text-align: right;
+ margin-top: 4px;
+ font-size: 12px;
+ color: var(--color-secondary);
+ }
+
+ .has-maxlength .character-count {
+ display: block;
+ }
+
+ .character-count.near-limit {
+ color: var(--color-warning);
+ }
+
+ .character-count.at-limit {
+ color: var(--color-error);
+ }
+ `;
+
+ override render() {
+ const charCount = this.value?.length || 0;
+ const maxLen = Number.parseInt(this.maxlength) || 0;
+ const nearLimit = maxLen && charCount >= maxLen * 0.8;
+ const atLimit = maxLen && charCount >= maxLen * 0.95;
+ const hasMaxlength = !!this.maxlength;
+
+ return html`
+ ${when(this.label, () => html``)}
+
+
+
+ ${charCount}/${this.maxlength}
+
+
+ `;
+ }
+
+ private _handleKeyDown(e: KeyboardEvent) {
+ if (e.key === 'Tab' && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) {
+ e.preventDefault();
+ const textarea = e.target as HTMLTextAreaElement;
+ const start = textarea.selectionStart;
+ const end = textarea.selectionEnd;
+
+ this.value = `${this.value.substring(0, start)}\t${this.value.substring(end)}`;
+
+ setTimeout(() => {
+ textarea.selectionStart = textarea.selectionEnd = start + 1;
+ }, 0);
+ }
+
+ this.dispatchEvent(
+ new CustomEvent('keydown', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleFocus() {
+ this.dispatchEvent(
+ new CustomEvent('focus', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleBlur() {
+ this.dispatchEvent(
+ new CustomEvent('blur', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleInput(e: InputEvent) {
+ const textarea = e.target as HTMLTextAreaElement;
+ this.value = textarea.value;
+ this.dispatchEvent(
+ new CustomEvent('input', {
+ detail: { value: this.value },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+}
diff --git a/src/components/General/Toggle.ts b/src/components/General/Toggle.ts
new file mode 100644
index 0000000..ed9fac5
--- /dev/null
+++ b/src/components/General/Toggle.ts
@@ -0,0 +1,216 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+@customElement('arx-toggle')
+export class StyledToggle extends LitElement {
+ @property() label = '';
+ @property({ type: Boolean, reflect: true }) checked = false;
+ @property({ type: Boolean }) disabled = false;
+ @property() name = '';
+ @property({ type: Boolean }) required = false;
+ @property() value = 'on';
+
+ static override styles = css`
+ :host {
+ display: inline-block;
+ width: 100%;
+ margin-bottom: 8px;
+ }
+
+ .toggle-container {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ }
+
+ label {
+ font-size: 14px;
+ color: var(--color-base-content);
+ font-weight: 500;
+ cursor: pointer;
+ }
+
+ .toggle-wrapper {
+ position: relative;
+ display: inline-block;
+ width: 48px;
+ height: 24px;
+ }
+
+ .toggle-input {
+ opacity: 0;
+ width: 0;
+ height: 0;
+ position: absolute;
+ }
+
+ .toggle-track {
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: var(--color-base-100);
+ border-radius: 24px;
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
+ border: var(--border) solid var(--color-base-300);
+ box-shadow: inset calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ inset calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.7);
+ }
+
+ .toggle-track:hover {
+ background-color: oklch(from var(--color-base-100) calc(l + 0.02) c h);
+ }
+
+ .toggle-knob {
+ position: absolute;
+ height: 18px;
+ width: 18px;
+ left: 3px;
+ bottom: 2px;
+ background-color: var(--color-base-content);
+ border-radius: 50%;
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.3);
+ }
+
+ .toggle-input:checked + .toggle-track {
+ background-color: var(--color-base-100);
+ border-top: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-left: var(--border) solid
+ oklch(from var(--color-base-300) l c h / 0.8);
+ border-bottom: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ border-right: var(--border) solid
+ oklch(from var(--color-base-200) l c h / 0.8);
+ box-shadow: inset calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.5);
+ }
+
+ .toggle-input:checked + .toggle-track .toggle-knob {
+ transform: translateX(24px);
+ background-color: var(--color-accent);
+ }
+
+ .toggle-input:focus + .toggle-track {
+ outline: none;
+ box-shadow: inset calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 5px)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.5),
+ 0 0 0 2px oklch(from var(--color-accent) l c h / 0.3);
+ }
+
+ .toggle-input:disabled + .toggle-track {
+ opacity: 0.7;
+ cursor: not-allowed;
+ box-shadow: inset calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.05),
+ inset calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.4);
+ }
+
+ .toggle-input:disabled + .toggle-track .toggle-knob {
+ background-color: var(--color-secondary);
+ box-shadow: calc(var(--depth) * 1px) calc(var(--depth) * 1px)
+ calc(var(--depth) * 2px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 2px) oklch(from var(--color-base-100) l c h / 0.2);
+ }
+ `;
+
+ override render() {
+ return html`
+
+ ${when(this.label, () => html`
`)}
+
+
+
+
+
+ `;
+ }
+
+ private _handleChange(e: Event) {
+ const checkbox = e.target as HTMLInputElement;
+ this.checked = checkbox.checked;
+ this.dispatchEvent(
+ new CustomEvent('change', {
+ detail: { checked: this.checked, value: this.value },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleFocus() {
+ this.dispatchEvent(
+ new CustomEvent('focus', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleBlur() {
+ this.dispatchEvent(
+ new CustomEvent('blur', {
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ private _handleKeyDown(e: KeyboardEvent) {
+ if (e.key === ' ' || e.key === 'Enter') {
+ e.preventDefault();
+ this.checked = !this.checked;
+ this.dispatchEvent(
+ new CustomEvent('change', {
+ detail: { checked: this.checked, value: this.value },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+
+ this.dispatchEvent(
+ new CustomEvent('keydown', {
+ detail: { key: e.key },
+ bubbles: true,
+ composed: true,
+ }),
+ );
+ }
+}
diff --git a/src/components/General/Tooltip.ts b/src/components/General/Tooltip.ts
new file mode 100644
index 0000000..447c56e
--- /dev/null
+++ b/src/components/General/Tooltip.ts
@@ -0,0 +1,241 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property, state } from 'lit/decorators.js';
+
+@customElement('arx-tooltip')
+export class Tooltip extends LitElement {
+ @property() content = '';
+ @property() position = 'top';
+ @property() delay = 100; // Delay before showing tooltip (ms)
+ @property() offset = 8; // Distance from target element
+ @property() variant = 'default'; // default, primary, secondary, accent, error, warning, success
+ @property({ type: Boolean }) arrow = true;
+ @property({ type: Boolean }) allowHtml = false;
+ @property({ type: Boolean }) interactive = false;
+ @property({ type: Boolean }) disabled = false;
+
+ @state() private isVisible = false;
+ @state() private timer: ReturnType | null = null;
+
+ static override styles = css`
+ :host {
+ display: inline-block;
+ position: relative;
+ }
+
+ .tooltip-container {
+ position: relative;
+ display: inline-block;
+ }
+
+ .tooltip {
+ position: absolute;
+ z-index: 999;
+ max-width: 300px;
+ width: 100%;
+ padding: 0.5rem 0.75rem;
+ border-radius: var(--radius-field);
+ font-size: 0.875rem;
+ line-height: 1.4;
+ text-align: center;
+ pointer-events: none;
+ opacity: 0;
+ visibility: hidden;
+ transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.2);
+ transform: scale(0.95);
+ transform-origin: center;
+ }
+
+ .tooltip.interactive {
+ pointer-events: auto;
+ }
+
+ .tooltip.visible {
+ opacity: 1;
+ visibility: visible;
+ transform: scale(1);
+ }
+
+ /* Default variant */
+ .tooltip.default {
+ background-color: var(--color-base-content);
+ color: var(--color-base-100);
+ }
+
+ /* Primary variant */
+ .tooltip.primary {
+ background-color: var(--color-primary);
+ color: var(--color-primary-content);
+ }
+
+ /* Secondary variant */
+ .tooltip.secondary {
+ background-color: var(--color-secondary);
+ color: var(--color-secondary-content);
+ }
+
+ /* Accent variant */
+ .tooltip.accent {
+ background-color: var(--color-accent);
+ color: var(--color-accent-content);
+ }
+
+ /* Error variant */
+ .tooltip.error {
+ background-color: var(--color-error);
+ color: var(--color-error-content);
+ }
+
+ /* Warning variant */
+ .tooltip.warning {
+ background-color: var(--color-warning);
+ color: var(--color-warning-content);
+ }
+
+ /* Success variant */
+ .tooltip.success {
+ background-color: var(--color-success);
+ color: var(--color-success-content);
+ }
+
+ /* Positions */
+ .tooltip.top {
+ bottom: calc(100% + var(--offset, 8px));
+ left: 50%;
+ transform: translateX(-50%) scale(0.95);
+ }
+
+ .tooltip.top.visible {
+ transform: translateX(-50%) scale(1);
+ }
+
+ .tooltip.right {
+ left: calc(100% + var(--offset, 8px));
+ top: 50%;
+ transform: translateY(-50%) scale(0.95);
+ }
+
+ .tooltip.right.visible {
+ transform: translateY(-50%) scale(1);
+ }
+
+ .tooltip.bottom {
+ top: calc(100% + var(--offset, 8px));
+ left: 50%;
+ transform: translateX(-50%) scale(0.95);
+ }
+
+ .tooltip.bottom.visible {
+ transform: translateX(-50%) scale(1);
+ }
+
+ .tooltip.left {
+ right: calc(100% + var(--offset, 8px));
+ top: 50%;
+ transform: translateY(-50%) scale(0.95);
+ }
+
+ .tooltip.left.visible {
+ transform: translateY(-50%) scale(1);
+ }
+
+ /* Arrow */
+ .tooltip::after {
+ content: "";
+ position: absolute;
+ width: 8px;
+ height: 8px;
+ background: inherit;
+ transform: rotate(45deg);
+ }
+
+ .tooltip.top::after {
+ bottom: -4px;
+ left: 50%;
+ margin-left: -4px;
+ }
+
+ .tooltip.right::after {
+ left: -4px;
+ top: 50%;
+ margin-top: -4px;
+ }
+
+ .tooltip.bottom::after {
+ top: -4px;
+ left: 50%;
+ margin-left: -4px;
+ }
+
+ .tooltip.left::after {
+ right: -4px;
+ top: 50%;
+ margin-top: -4px;
+ }
+
+ .tooltip.no-arrow::after {
+ display: none;
+ }
+
+ @media (max-width: 640px) {
+ .tooltip {
+ max-width: 200px;
+ font-size: 0.75rem;
+ padding: 0.4rem 0.6rem;
+ }
+ }
+ `;
+
+ override render() {
+ return html`
+
+ `;
+ }
+
+ private _onMouseEnter() {
+ if (this.timer) {
+ clearTimeout(this.timer);
+ }
+
+ this.timer = setTimeout(() => {
+ this.isVisible = true;
+ }, this.delay);
+ }
+
+ private _onMouseLeave() {
+ if (this.timer) {
+ clearTimeout(this.timer);
+ this.timer = null;
+ }
+
+ this.isVisible = false;
+ }
+
+ override disconnectedCallback() {
+ super.disconnectedCallback();
+ if (this.timer) {
+ clearTimeout(this.timer);
+ this.timer = null;
+ }
+ }
+}
diff --git a/src/components/Header.ts b/src/components/Header.ts
index 4825408..4834ab3 100644
--- a/src/components/Header.ts
+++ b/src/components/Header.ts
@@ -1,141 +1,302 @@
+import { ndk } from '@/ndk';
+import type { NDKEvent } from '@nostr-dev-kit/ndk';
+import * as nip19 from '@nostr/tools/nip19';
import { LitElement, css, html } from 'lit';
-import { customElement, property } from 'lit/decorators.js';
+import { customElement, property, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+import { keyed } from 'lit/directives/keyed.js';
+import { map } from 'lit/directives/map.js';
+import { when } from 'lit/directives/when.js';
+
+import '@components/HeaderSugestion';
+import '@components/General/Input';
@customElement('arx-header')
export class Header extends LitElement {
@property({ type: String }) override title = 'Eve';
@property({ type: String }) url = 'eve://home';
-
@property({ type: Boolean }) canGoBack = false;
@property({ type: Boolean }) canGoForward = false;
private searchQuery = '';
- private searchInput: HTMLInputElement | null = null;
+ private _debounceTimeout?: ReturnType;
- static override styles = [
- css`
- header {
- background: rgba(255, 255, 255, 0.5);
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.6);
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
- z-index: 999999;
- background: var(--primary);
- height: var(--font-2xl);
- font-size: var(--header-height);
- transition: all 0.3s ease;
- display: flex;
- align-items: center;
- padding: 0 var(--space-md);
- }
+ @state() private showSuggestions = false;
+ @state() private events: NDKEvent[] = [];
+ @state() private suggestions: NDKEvent[] = [];
- .nav-buttons {
- display: flex;
- gap: var(--space-xs);
- padding-right: var(--space-xs);
+ static override styles = css`
+ :host {
+ display: block;
+ z-index: 999999;
+ }
- button {
- text-decoration: none;
- color: var(--light);
- background: rgba(255, 255, 255, 0.1);
- border: 1px solid rgba(255, 255, 255, 0.2);
- padding: var(--space-xs);
- border-radius: 100%;
- font-size: var(--font-md);
- backdrop-filter: blur(10px);
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
+ header {
+ background: var(--color-primary);
+ backdrop-filter: blur(10px);
+ border: var(--border) solid var(--color-primary-content);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.2);
+ height: var(--font-2xl, 3rem);
+ font-size: var(--font-md, 1rem);
+ transition: all 0.3s ease;
+ display: flex;
+ align-items: space-between;
+ padding: 0 var(--space-md, 1rem);
+ }
- &:hover {
- background: rgba(255, 255, 255, 0.2);
- }
+ .nav-buttons {
+ display: flex;
+ gap: var(--space-xs, 0.5rem);
+ padding-right: var(--space-xs, 0.5rem);
+ }
- &.disabled {
- opacity: 0.5;
- pointer-events: none;
- }
- }
- }
+ .nav-buttons button {
+ text-decoration: none;
+ color: var(--color-primary-content);
+ background: oklch(from var(--color-primary-content) l c h / 0.1);
+ border: var(--border) solid
+ oklch(from var(--color-primary-content) l c h / 0.2);
+ padding: var(--space-xs, 0.5rem);
+ border-radius: 50%;
+ font-size: var(--font-md, 1rem);
+ backdrop-filter: blur(10px);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: all 0.2s ease;
+ }
- .search-container {
- flex: 1;
- position: relative;
+ .nav-buttons button:hover {
+ background: oklch(from var(--color-primary-content) l c h / 0.2);
+ transform: translateY(-2px);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15);
+ }
- input {
- background: rgba(255, 255, 255, 0.5);
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.6);
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
- color: var(--light);
- width: 100%;
- text-align: center;
- cursor: text;
- font-size: 0.9rem;
- width: 100%;
- padding: var(--space-xs);
- text-align: center;
+ .nav-buttons button:active {
+ transform: translateY(1px);
+ }
- &:not(:focus)::placeholder {
- color: var(--light);
- opacity: 1;
- }
+ .nav-buttons button.disabled {
+ opacity: 0.5;
+ pointer-events: none;
+ }
- &:focus {
- background: rgba(0, 0, 0, 0.2);
- }
- }
- }
- `,
- ];
+ .search-container {
+ flex: 1;
+ position: relative;
+ }
+
+ arx-input {
+ transform: translateY(3px);
+ }
+
+ .suggestions {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ right: 0;
+ background: oklch(from var(--color-base-100) l c h / 0.9);
+ backdrop-filter: blur(10px);
+ border: var(--border) solid var(--color-base-200);
+ border-top: none;
+ border-radius: 0 0 var(--radius-field) var(--radius-field);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px)
+ oklch(from var(--color-base-content) l c h / 0.2);
+ z-index: 9999;
+ max-height: 200px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
+ `;
+
+ override firstUpdated() {
+ ndk
+ .fetchEvents({
+ limit: 50_000,
+ })
+ .then((events) => {
+ this.events = [...events];
+ });
+ }
override render() {
return html`
-
-
-
+
+ placeholder=${this.url}
+ @keyup=${this._handleSearch}
+ @focus=${this._handleFocus}
+ @input=${this._handleInput}
+ >
+ ${when(
+ this.showSuggestions,
+ () => html`
+
+ ${map(this.suggestions, (suggestion: NDKEvent) =>
+ keyed(
+ suggestion.id,
+ html`
+
this._handleSuggestionClick(suggestion)}
+ >
+ `,
+ ),
+ )}
+
+ `,
+ )}
`;
}
- private focusSearch() {
- this.searchInput?.focus();
+ private _handleFocus() {
+ this.showSuggestions = true;
}
- private handleSearch(e: KeyboardEvent) {
+ private _handleInput(e: InputEvent) {
+ this.searchQuery = (e.target as HTMLInputElement).value;
+ if (this._debounceTimeout) {
+ clearTimeout(this._debounceTimeout);
+ }
+
+ if (!this.searchQuery.trim()) {
+ this.suggestions = [];
+ this.showSuggestions = false;
+ return;
+ }
+
+ this._debounceTimeout = setTimeout(() => {
+ const query = this.searchQuery.toLowerCase();
+
+ const isNoteSearch = query.startsWith('note1');
+ const isEventSearch = query.startsWith('nevent1');
+ const isPubkeySearch = query.startsWith('npub1');
+
+ this.suggestions = this.events
+ .filter((event: NDKEvent) => {
+ if (event.kind === 11 || event.kind === 1111) return false; // hide old forum events
+ if (event.kind === 30890 || event.kind === 30891) return false; // ignore old-in-dev events
+ if (event.kind === 60890) return false; // don't include the actual forum
+ if (event.kind === 60891) {
+ const categoryId = event.tags.find((tag) => tag[0] === 'd')?.[1] || '';
+ const forum = this.events.find(
+ (e) => e.kind === 60890 && e.tags.some((tag) => tag[0] === 'forum' && tag[1] === `60891:${categoryId}`),
+ );
+ if (!forum) return false; // ignore orphan forum categories
+ }
+
+ if (event.id.includes(query)) return true;
+
+ if (isNoteSearch) {
+ const noteId = nip19.noteEncode(event.id);
+ return noteId.includes(query);
+ }
+
+ if (isEventSearch) {
+ const eventId = event.encode();
+ return eventId.includes(query);
+ }
+
+ if (isPubkeySearch && event.kind === 0) {
+ const pubkey = nip19.npubEncode(event.pubkey);
+ return pubkey.includes(query);
+ }
+
+ if (event.content.toLowerCase().includes(query)) return true;
+ return event.tags.some((tag) => tag.length > 1 && tag[1].toLowerCase().includes(query));
+ })
+ .slice(0, 20);
+
+ this.showSuggestions = this.suggestions.length > 0;
+ }, 50);
+ this.showSuggestions = true;
+ }
+
+ private _handleSearch(e: KeyboardEvent) {
if (e.key !== 'Enter') return;
- const hash = (e.target as HTMLInputElement).value.replace('eve://', '#');
+
+ const target = e.target as HTMLInputElement;
+ this.searchQuery = target.value;
+ this.showSuggestions = false;
+
+ if (this.searchQuery.startsWith('npub1')) {
+ try {
+ const { type } = nip19.decode(this.searchQuery);
+ if (type === 'npub') {
+ window.location.hash = `profile/${this.searchQuery}`;
+ return;
+ }
+ } catch (e) {}
+ }
+
+ const hash = this.searchQuery.replace('eve://', '#');
window.location.hash = hash;
}
+
+ private _handleGoBack() {
+ this.dispatchEvent(new CustomEvent('go-back'));
+ }
+
+ private _handleGoForward() {
+ this.dispatchEvent(new CustomEvent('go-forward'));
+ }
+
+ private _handleGoHome() {
+ window.location.hash = '#';
+ }
+
+ private _handleSuggestionClick(suggestion: NDKEvent) {
+ window.location.hash = '#';
+ this.showSuggestions = false;
+ console.log(suggestion);
+ switch (suggestion.kind) {
+ case 0:
+ window.location.hash = `profile/${suggestion.pubkey}`;
+ break;
+ case 60890:
+ case 60891:
+ window.location.hash = 'arbor';
+ break;
+ case 892:
+ window.location.hash = `arbor/topics/${suggestion.id}`;
+ break;
+ case 893: {
+ const threadId = suggestion.tags.find((tag) => tag[0] === 'E')?.[1]!;
+ window.location.hash = `arbor/topics/${threadId}`;
+ break;
+ }
+ default:
+ window.location.hash = `event/${suggestion.id}`;
+ }
+ }
}
diff --git a/src/components/HeaderSugestion.ts b/src/components/HeaderSugestion.ts
new file mode 100644
index 0000000..ac16c5b
--- /dev/null
+++ b/src/components/HeaderSugestion.ts
@@ -0,0 +1,52 @@
+import { NDKEvent } from '@nostr-dev-kit/ndk';
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+
+import '@components/NostrProfile';
+
+@customElement('arx-header-suggestion')
+export class HeaderSuggestion extends LitElement {
+ @property({ type: NDKEvent }) event: NDKEvent | undefined;
+ @property({ type: Array }) allEvents: NDKEvent[] | undefined;
+
+ static override styles = css`
+ :host {
+ display: block;
+ padding: var(--space-xs) var(--space-sm);
+ cursor: pointer;
+ transition: background 0.2s ease;
+ }
+ `;
+
+ override render() {
+ if (!this.event) return html``;
+ if (this.event.kind === 0)
+ return html``;
+ if (this.event.kind === 892) {
+ const threadName = this.event.tags.find((tag) => tag[0] === 'name')?.[1] || '';
+ return html`Arbor Thread: ${threadName}`;
+ }
+ if (this.event.kind === 893) {
+ const threadId = this.event.tags.find((tag) => tag[0] === 'E')?.[1] || '';
+ const thread = this.allEvents?.find((event) => event.id === threadId);
+ const threadName = thread?.tags.find((tag) => tag[0] === 'name')?.[1] || '';
+ return html`Arbor Post in ${threadName}:
+ ${this.event.content.substring(0, 100)}`;
+ }
+ if (this.event.kind === 60891) {
+ const categoryId = this.event.tags.find((tag) => tag[0] === 'd')?.[1] || '';
+ const forum = this.allEvents?.find(
+ (event) =>
+ event.kind === 60890 && event.tags.some((tag) => tag[0] === 'forum' && tag[1] === `60891:${categoryId}`),
+ );
+ if (!forum) return html`Orphan (deleted) forum category`;
+ const forumName = forum.tags.find((tag) => tag[0] === 'd')?.[1] || '';
+ const arborText = `Arbor${forumName === 'arbor' ? '' : ` [${forumName}]`}`;
+ const categoryName = this.event.tags.find((tag) => tag[0] === 'name')?.[1] || '';
+ return html`${arborText} Category: ${categoryName}`;
+ }
+ return html`Event kind ${this.event.kind}`;
+ }
+}
diff --git a/src/components/InitialSetup.ts b/src/components/InitialSetup.ts
index a681770..a947959 100644
--- a/src/components/InitialSetup.ts
+++ b/src/components/InitialSetup.ts
@@ -10,6 +10,11 @@ import { encodeBase64 } from '@std/encoding/base64';
import { LitElement, css, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
+import '@components/LoadingView';
+import '@components/General/Button';
+import '@components/General/Input';
+import '@components/General/Fieldset';
+
@customElement('arx-initial-setup')
export class InitialSetup extends LitElement {
@state() private currentPage = 1;
@@ -32,32 +37,18 @@ export class InitialSetup extends LitElement {
:host {
display: block;
width: 100%;
- --primary-color: var(--eve-primary-color, #4a90e2);
- --primary-hover: var(--eve-primary-hover, #357abd);
- --secondary-color: var(--eve-secondary-color, #6c757d);
- --secondary-hover: var(--eve-secondary-hover, #5a6268);
- --text-color: var(--eve-text-color, #2c3e50);
- --text-secondary: var(--eve-text-secondary, #64748b);
- --background-color: var(--eve-background-color, #ffffff);
- --error-color: var(--eve-error-color, #dc3545);
- --success-color: var(--eve-success-color, #28a745);
- --spacing-unit: 0.25rem;
- --border-radius: 8px;
- --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
- --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
- --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
-
font-family: system-ui, -apple-system, sans-serif;
-webkit-font-smoothing: antialiased;
- color: var(--text-color);
+ color: var(--color-base-content);
+
+ --spacing-unit: 0.25rem;
}
.welcome-container {
max-width: min(800px, 90vw);
margin: 0 auto;
padding: calc(var(--spacing-unit) * 8);
- animation: fadeIn var(--transition-normal);
+ animation: fadeIn var(--transition);
}
section {
@@ -67,8 +58,8 @@ export class InitialSetup extends LitElement {
.alpha-badge {
display: inline-flex;
align-items: center;
- background: var(--primary-color);
- color: white;
+ background: var(--color-accent);
+ color: var(--color-accent-content);
padding: 0.15em 0.5em;
border-radius: 999px;
font-size: 0.75em;
@@ -89,8 +80,8 @@ export class InitialSetup extends LitElement {
font-weight: 700;
background: linear-gradient(
45deg,
- var(--primary-color),
- var(--primary-hover)
+ var(--color-accent),
+ oklch(from var(--color-accent) l calc(c * 1.2) h)
);
-webkit-background-clip: text;
color: transparent;
@@ -101,18 +92,20 @@ export class InitialSetup extends LitElement {
font-size: clamp(1.5rem, 3vw, 1.75rem);
font-weight: 600;
margin-bottom: calc(var(--spacing-unit) * 4);
+ color: var(--color-base-content);
}
h3 {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: calc(var(--spacing-unit) * 4);
+ color: var(--color-base-content);
}
p {
margin: 0 0 calc(var(--spacing-unit) * 4);
line-height: 1.6;
- color: var(--text-secondary);
+ color: var(--color-secondary);
}
.input-group {
@@ -121,65 +114,6 @@ export class InitialSetup extends LitElement {
margin-top: calc(var(--spacing-unit) * 6);
}
- input {
- flex: 1;
- padding: calc(var(--spacing-unit) * 4);
- border: 2px solid var(--text-secondary);
- border-radius: var(--border-radius);
- font-size: 1rem;
- transition: all var(--transition-fast);
- }
-
- input:focus {
- outline: none;
- border-color: var(--primary-color);
- box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
- }
-
- .button {
- position: relative;
- display: inline-flex;
- align-items: center;
- gap: calc(var(--spacing-unit) * 2);
- padding: calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 6);
- border: none;
- border-radius: var(--border-radius);
- font-weight: 500;
- cursor: pointer;
- transition: all var(--transition-fast);
- &:disabled {
- opacity: 0.5;
- cursor: not-allowed;
- }
- }
-
- .button.primary {
- background: linear-gradient(
- 45deg,
- var(--primary-color),
- var(--primary-hover)
- );
- color: white;
- box-shadow: var(--shadow-md);
- }
-
- .button.secondary {
- background: linear-gradient(
- 45deg,
- var(--secondary-color),
- var(--secondary-hover)
- );
- color: white;
- }
-
- .button:hover {
- transform: translateY(-2px);
- }
-
- .button:active {
- transform: translateY(0);
- }
-
.navigation {
display: flex;
justify-content: space-between;
@@ -201,75 +135,52 @@ export class InitialSetup extends LitElement {
.welcome-container {
padding: calc(var(--spacing-unit) * 4);
}
-
- .input-group {
- flex-direction: column;
- }
-
- .button {
- width: 100%;
- justify-content: center;
- }
}
pre {
white-space: normal;
+ background-color: var(--color-base-200);
+ padding: calc(var(--spacing-unit) * 4);
+ border-radius: var(--radius-field);
}
+
code {
white-space: pre;
+ font-family: monospace;
+ background-color: var(--color-base-200);
+ padding: calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);
+ border-radius: var(--radius-field);
}
.note {
display: block;
- color: #666;
+ color: var(--color-secondary);
font-size: 0.875rem;
margin-top: 0.5rem;
padding-left: 0.5rem;
- border-left: 2px solid #ddd;
+ border-left: var(--border) solid var(--color-base-300);
font-style: italic;
line-height: 1.4;
max-width: 600px;
opacity: 0.9;
+ transition: all 0.2s ease;
}
.note:hover {
opacity: 1;
- border-left-color: #999;
- }
-
- fieldset {
- border: 2px solid #3498db;
- border-radius: 8px;
- padding: 20px;
- margin: 20px 0;
- background-color: #f8f9fa;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- }
-
- legend {
- padding: 0 10px;
- background-color: #3498db;
- color: white;
- font-weight: bold;
- border-radius: 4px;
- font-size: 1.1em;
- }
-
- fieldset:hover {
- border-color: #2980b9;
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
- transition: all 0.3s ease;
+ border-left-color: var(--color-accent);
}
.external-link {
- color: #2970ff;
+ color: var(--color-accent);
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
+ position: relative;
}
.external-link:hover {
- color: #1a56db;
+ color: oklch(from var(--color-accent) l calc(c * 1.2) h);
text-decoration: underline;
}
@@ -328,27 +239,28 @@ export class InitialSetup extends LitElement {
-
+ window.open('https://arx-ccn.com/eve-feedback')}
+ >
+
+
+ window.open('https://arx-ccn.com/report-eve-bug')}
+ >
+
+
- this.handleNavigation(2)}
- class="button primary"
- >
- Next
-
+ >
`;
@@ -387,36 +299,36 @@ export class InitialSetup extends LitElement {
well as improve your community's security.
-
this.handleNavigation(1)}
- class="button secondary"
+ label="Back"
+ variant="secondary"
>
- Back
-
-
+ this.handleNavigation(3)}
?disabled=${!this.isValidSeedPhrase()}
- class="button primary"
+ label="Continue"
+ variant="primary"
>
- Continue
-
+
`;
@@ -437,9 +349,13 @@ export class InitialSetup extends LitElement {
This process will be automated in future releases.
Please press the button below to start the relay.
- this.startRelay()} class="button primary">
+ this.startRelay()}
+ >
Start Relay
-
+
Having trouble? Our team is here to help if you encounter any
issues.
@@ -448,18 +364,18 @@ export class InitialSetup extends LitElement {
-
this.handleNavigation(2)}
- class="button secondary"
+ variant="secondary"
+ label="Back"
>
- Back
-
-
+ this.handleNavigation(4)}
- class="button primary"
+ variant="primary"
+ label="Continue"
>
- Continue
-
+
`;
@@ -488,45 +404,43 @@ export class InitialSetup extends LitElement {
community members.
-
this.handleNavigation(3)}
- class="button secondary"
+ variant="secondary"
+ label="Back"
>
- Back
-
-
+ this.handleNavigation(5)}
- class="button primary"
+ variant="primary"
+ label="Final Step"
>
- Final Step
-
+
`;
@@ -546,13 +460,13 @@ export class InitialSetup extends LitElement {
>npub.cash.
-
+ />
Your Lightning address enables secure, instant payments within the
community.
@@ -560,15 +474,14 @@ export class InitialSetup extends LitElement {
-
this.handleNavigation(4)}
- class="button secondary"
+ variant="secondary"
+ label="Back"
>
- Back
-
-
this.goToFinalStep()} class="button primary">
- Next
-
+
+
this.goToFinalStep()}>
+
`;
@@ -625,13 +538,17 @@ export class InitialSetup extends LitElement {
-
this.handleNavigation(5)}
- class="button secondary"
+ variant="secondary"
+ label="Back"
>
- Back
-
-
Finish
+
+
`;
@@ -666,7 +583,9 @@ export class InitialSetup extends LitElement {
case 6:
return this.renderPageSix();
default:
- return html`Loading...
`;
+ return html``;
}
}
}
diff --git a/src/components/LoadingView.ts b/src/components/LoadingView.ts
index 33f177c..8ec8d7f 100644
--- a/src/components/LoadingView.ts
+++ b/src/components/LoadingView.ts
@@ -1,17 +1,43 @@
-import { LitElement, html } from 'lit';
+import { LitElement, css, html } from 'lit';
import { customElement } from 'lit/decorators.js';
@customElement('arx-loading-view')
export class LoadingView extends LitElement {
+ static override styles = [
+ css`
+ :host {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+ padding: 16px;
+ color: var(--color-accent);
+ }
+
+ @keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+ }
+
+ .spinner {
+ animation: spin 1.5s linear infinite;
+ width: 18px;
+ height: 18px;
+ border: 2px solid var(--color-accent-content);
+ border-top: 2px solid var(--color-accent);
+ border-radius: 50%;
+ }
+ `,
+ ];
+
override render() {
return html`
- Loading...
+
+ Loading...
`;
}
}
-
-declare global {
- interface HTMLElementTagNameMap {
- 'arx-loading-view': LoadingView;
- }
-}
diff --git a/src/components/NostrAvatar.ts b/src/components/NostrAvatar.ts
index 63b4295..fbd43d3 100644
--- a/src/components/NostrAvatar.ts
+++ b/src/components/NostrAvatar.ts
@@ -20,13 +20,13 @@ export class ArxNostrAvatar extends LitElement {
--avatar-size: 2rem;
}
.medium-avatar {
- --avatar-size: 3rem;
- }
- .large-avatar {
--avatar-size: 4rem;
}
+ .large-avatar {
+ --avatar-size: 6rem;
+ }
.huge-avatar {
- --avatar-size: 5rem;
+ --avatar-size: 10rem;
}
`,
];
diff --git a/src/components/NostrProfile.ts b/src/components/NostrProfile.ts
index 0f059c5..41cc4fe 100644
--- a/src/components/NostrProfile.ts
+++ b/src/components/NostrProfile.ts
@@ -52,13 +52,25 @@ export class NostrProfile extends LitElement {
switch (this.renderType) {
case 'short':
- return html``;
+ return html``;
case 'medium':
- return html``;
+ return html``;
case 'large':
- return html``;
+ return html``;
case 'card':
- return html``;
+ return html``;
default:
return html`Invalid render type
`;
}
diff --git a/src/components/Widgets/BitcoinBlockWidget.ts b/src/components/Widgets/BitcoinBlockWidget.ts
index d1a0017..2a0ec6e 100644
--- a/src/components/Widgets/BitcoinBlockWidget.ts
+++ b/src/components/Widgets/BitcoinBlockWidget.ts
@@ -1,11 +1,16 @@
-import { getLastBlockHeight } from '@utils/lastBlockHeight';
+import formatDateTime from '@/utils/formatDateTime';
+import { type LastBlock, getLastBlock } from '@/utils/lastBlock';
import { LitElement, css, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+import '@components/LoadingView';
+import '@components/General/Tooltip';
+import '@components/General/Fieldset';
@customElement('arx-bitcoin-block-widget')
export class BitcoinBlockWidget extends LitElement {
@state()
- private lastBlock: number | null = null;
+ private lastBlock: LastBlock | null = null;
@state()
private isLoading = true;
@@ -13,15 +18,16 @@ export class BitcoinBlockWidget extends LitElement {
@state()
private error: string | null = null;
- private REFRESH_INTERVAL = 5000;
+ private REFRESH_INTERVAL = 30000;
@state()
private timer: number | null = null;
constructor() {
super();
- this.loadBlockHeight();
- this.timer = window.setInterval(this.loadBlockHeight, this.REFRESH_INTERVAL);
+ this.loadBlock = this.loadBlock.bind(this);
+ this.loadBlock();
+ this.timer = window.setInterval(this.loadBlock, this.REFRESH_INTERVAL);
}
override disconnectedCallback() {
@@ -29,70 +35,138 @@ export class BitcoinBlockWidget extends LitElement {
if (this.timer) clearInterval(this.timer);
}
- async loadBlockHeight() {
+ async loadBlock() {
+ this.isLoading = true;
try {
- const response = await getLastBlockHeight();
- this.lastBlock = response.height;
+ const response = await getLastBlock();
+ this.lastBlock = response;
this.error = null;
} catch (error) {
- this.error = 'Failed to load block height';
+ this.error = 'Failed to load block data';
console.error(error);
} finally {
this.isLoading = false;
}
}
+ private formatBlockId(id: string): string {
+ if (!id) return '';
+ if (id.length <= 16) return id;
+ return `${id.substring(0, 8)}...${id.substring(id.length - 8)}`;
+ }
+
+ private formatSize(size: number): string {
+ if (size < 1024) return `${size} Bytes`;
+ if (size < 1024 * 1024) return `${(size / 1024).toFixed(2)} KB`;
+ return `${(size / (1024 * 1024)).toFixed(2)} MB`;
+ }
+
+ private copyToClipboard(text: string) {
+ navigator.clipboard.writeText(text).catch((err) => {
+ console.error('Could not copy text: ', err);
+ });
+ }
+
static override styles = [
css`
- .error {
- color: #dc3545;
- padding: 0.5rem;
- border-radius: 4px;
- background: #f8d7da;
+ :host {
+ display: block;
}
- .loading {
+ .widget-header {
display: flex;
+ justify-content: space-between;
align-items: center;
- gap: 0.5rem;
+ margin-bottom: 12px;
+ border-bottom: var(--border) solid var(--color-base-300);
+ padding-bottom: 8px;
}
- .block-height {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- }
-
- .label {
- font-weight: 500;
- }
-
- .value {
- font-size: 1.25rem;
+ .widget-title {
+ font-size: 1.2rem;
font-weight: 600;
+ margin: 0;
+ color: var(--color-base-content);
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ }
+
+ .bitcoin-icon {
+ color: var(--color-warning);
+ font-size: 1.4rem;
+ }
+
+ .error {
+ color: var(--color-error-content);
+ padding: 12px;
+ border-radius: var(--radius-field);
+ background: var(--color-error);
+ margin-bottom: 12px;
}
`,
];
- override render() {
- if (this.error) {
- return html`${this.error}
`;
- }
+ private renderError() {
+ return html`${this.error}
`;
+ }
- if (this.isLoading) {
- return html`
-
-
- Loading latest block...
-
- `;
- }
+ private renderLoading() {
+ return html``;
+ }
+
+ private renderEmptyState() {
+ return html`No block data available
`;
+ }
+
+ private renderBlockData() {
+ if (!this.lastBlock) return this.renderEmptyState();
return html`
-
-
Last Block:
-
${this.lastBlock?.toLocaleString()}
+
+ ${this.lastBlock.height.toLocaleString()}
+
+
+
+ this.copyToClipboard(this.lastBlock!.id)}
+ >
+ ${this.formatBlockId(this.lastBlock.id)}
+
+
+
+
+ ${formatDateTime(this.lastBlock.timestamp * 1000)}
+
+
+
+
+ ${this.formatSize(this.lastBlock.size)}
+ (${this.lastBlock.tx_count.toLocaleString()} txs)
+
+
+ `;
+ }
+
+ override render() {
+ return html`
+
+
+ ${when(
+ this.error,
+ () => this.renderError(),
+ () =>
+ when(
+ this.isLoading && !this.lastBlock,
+ () => this.renderLoading(),
+ () => this.renderBlockData(),
+ ),
+ )}
`;
}
}
diff --git a/src/components/profiles/CardProfile.ts b/src/components/profiles/CardProfile.ts
index b1354fe..aa9cc57 100644
--- a/src/components/profiles/CardProfile.ts
+++ b/src/components/profiles/CardProfile.ts
@@ -2,6 +2,10 @@ import type { NDKUserProfile } from '@nostr-dev-kit/ndk';
import { getProfile } from '@utils/profileUtils';
import { LitElement, css, html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+import '@components/EveLink';
+import '@components/General/Card';
@customElement('arx-nostr-card-profile')
export class CardProfile extends LitElement {
@@ -25,50 +29,82 @@ export class CardProfile extends LitElement {
static override styles = [
css`
- .card {
- padding: 1rem;
- border: 1px solid var(--border);
- border-radius: 8px;
- max-width: 300px;
- }
-
a {
- color: var(--primary);
+ color: var(--color-accent);
text-decoration: none;
display: inline-flex;
align-items: center;
- gap: 0.5rem;
+ gap: 0.75rem;
+ transition: all 0.2s ease;
}
h3 {
margin: 0;
font-size: 1.2rem;
+ color: var(--color-base-content);
+ font-weight: 600;
}
p {
margin: 0.25rem 0;
- color: var(--secondary);
+ color: var(--color-secondary);
font-size: 0.9rem;
}
.bio {
white-space: pre-line;
font-size: 0.9rem;
- color: var(--primary);
- margin: 0.5rem 0;
- padding-top: 0.5rem;
- border-top: 1px solid var(--border);
+ color: var(--color-base-content);
+ margin: 0.75rem 0 0.5rem;
+ padding-top: 0.75rem;
+ border-top: var(--border) solid var(--color-base-300);
+ line-height: 1.5;
}
.website-link {
display: block;
- margin-top: 0.5rem;
+ margin-top: 0.75rem;
font-size: 0.9rem;
- color: var(--accent);
+ color: var(--color-accent);
+ position: relative;
+ width: fit-content;
+ padding: 0.25rem 0;
+ }
+
+ .website-link::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 0;
+ height: var(--border);
+ background-color: var(--color-accent);
+ transition: width 0.25s ease;
}
.website-link:hover {
- text-decoration: underline;
+ color: oklch(from var(--color-accent) l calc(c * 1.1) h);
+ }
+
+ .website-link:hover::after {
+ width: 100%;
+ }
+
+ router-link {
+ display: flex;
+ align-items: center;
+ border-radius: calc(var(--radius-selector) / 2);
+ padding: 0.25rem;
+ transition: all 0.2s ease;
+ }
+
+ router-link:hover {
+ background-color: oklch(from var(--color-base-300) l c h / 0.5);
+ }
+
+ router-link:focus-visible {
+ outline: var(--border) solid var(--color-accent);
+ outline-offset: 2px;
}
`,
];
@@ -101,21 +137,31 @@ export class CardProfile extends LitElement {
override render() {
return html`
-
-
-
+
+
+
${this.displayName}
-
${this.firstLineOfAbout}
+ ${when(this.firstLineOfAbout, () => html`
${this.firstLineOfAbout}
`)}
-
+
-
${this.about}
-
-
- ${this.website}
-
-
+ ${when(this.about, () => html`
${this.about}
`)}
+ ${when(
+ this.website,
+ () => html`
+ ${this.website}
+ `,
+ )}
+
`;
}
}
diff --git a/src/components/profiles/LargeProfile.ts b/src/components/profiles/LargeProfile.ts
index c3f5944..f2b70dd 100644
--- a/src/components/profiles/LargeProfile.ts
+++ b/src/components/profiles/LargeProfile.ts
@@ -4,6 +4,8 @@ import { getProfile } from '@utils/profileUtils';
import { LitElement, css, html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
+import '@components/EveLink';
+
@customElement('arx-nostr-large-profile')
export class LargeProfile extends LitElement {
@property() profile!: NDKUserProfile;
@@ -20,19 +22,58 @@ export class LargeProfile extends LitElement {
static override styles = [
css`
- a {
- color: var(--primary);
+ :host {
+ display: block;
+ }
+
+ arx-eve-link {
+ color: var(--color-base-content);
text-decoration: none;
- display: inline-flex;
+ display: flex;
align-items: center;
- gap: 0.5rem;
+ gap: 0.75rem;
+ padding: 0.75rem;
+ border-radius: var(--radius-selector);
+ transition: all 0.2s ease;
+ }
+
+ arx-eve-link:hover {
+ background-color: oklch(from var(--color-base-300) l c h / 0.5);
+ }
+
+ arx-eve-link:focus-visible {
+ outline: var(--border) solid var(--color-accent);
+ outline-offset: 2px;
+ }
+
+ h3 {
+ margin: 0 0 0.35rem 0;
+ font-size: 1.1rem;
+ font-weight: 600;
+ color: var(--color-base-content);
}
.bio {
white-space: pre-line;
font-size: 0.9rem;
- color: var(--primary);
- margin: 0.5rem 0;
+ color: var(--color-secondary);
+ margin: 0;
+ line-height: 1.4;
+ max-width: 24rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ }
+
+ arx-nostr-avatar {
+ flex-shrink: 0;
+ transition: transform 0.2s ease;
+ }
+
+ arx-eve-link:hover arx-nostr-avatar {
+ transform: scale(1.05);
}
`,
];
@@ -49,13 +90,16 @@ export class LargeProfile extends LitElement {
override render() {
return html`
-
-
+
+
${this.displayName}
${this.about}
-
+
`;
}
}
diff --git a/src/components/profiles/MediumProfile.ts b/src/components/profiles/MediumProfile.ts
index d25b8eb..a878ffb 100644
--- a/src/components/profiles/MediumProfile.ts
+++ b/src/components/profiles/MediumProfile.ts
@@ -22,12 +22,52 @@ export class MediumProfile extends LitElement {
static override styles = [
css`
- arx-eve-link::part(link) {
- color: var(--primary);
+ :host {
+ display: block;
+ }
+
+ arx-eve-link {
+ color: var(--color-base-content);
text-decoration: none;
- display: inline-flex;
+ display: flex;
align-items: center;
gap: 0.5rem;
+ padding: 0.5rem;
+ border-radius: var(--radius-selector);
+ transition: all 0.2s ease;
+ }
+
+ arx-eve-link:hover {
+ background-color: oklch(from var(--color-base-300) l c h / 0.5);
+ }
+
+ arx-eve-link:focus-visible {
+ outline: var(--border) solid var(--color-accent);
+ outline-offset: 2px;
+ }
+
+ .display-name {
+ font-weight: 500;
+ color: var(--color-base-content);
+ margin-bottom: 0.25rem;
+ }
+
+ .bio {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 0.85rem;
+ color: var(--color-secondary);
+ max-width: 180px;
+ }
+
+ arx-nostr-avatar {
+ flex-shrink: 0;
+ transition: transform 0.2s ease;
+ }
+
+ arx-eve-link:hover arx-nostr-avatar {
+ transform: scale(1.05);
}
`,
];
diff --git a/src/components/profiles/ShortProfile.ts b/src/components/profiles/ShortProfile.ts
index d449fcf..9768181 100644
--- a/src/components/profiles/ShortProfile.ts
+++ b/src/components/profiles/ShortProfile.ts
@@ -18,12 +18,43 @@ export class ShortProfile extends LitElement {
static override styles = [
css`
- arx-eve-link::part(link) {
- color: var(--primary);
+ :host {
+ display: inline-block;
+ }
+
+ arx-eve-link {
+ color: var(--color-base-content);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.5rem;
+ padding: 0.25rem 0.5rem;
+ border-radius: var(--radius-selector);
+ transition: all 0.2s ease;
+ white-space: nowrap;
+ }
+
+ arx-eve-link:hover {
+ background-color: oklch(from var(--color-base-300) l c h / 0.5);
+ }
+
+ arx-eve-link:focus-visible {
+ outline: var(--border) solid var(--color-accent);
+ outline-offset: 2px;
+ }
+
+ span {
+ font-weight: 500;
+ font-size: 0.95rem;
+ }
+
+ arx-nostr-avatar {
+ flex-shrink: 0;
+ transition: transform 0.2s ease;
+ }
+
+ arx-eve-link:hover arx-nostr-avatar {
+ transform: scale(1.05);
}
`,
];
diff --git a/src/index.html b/src/index.html
index 44a6910..5318948 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2,7 +2,6 @@
-
diff --git a/src/main.ts b/src/main.ts
index c2324f2..001d8e7 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,5 +1,4 @@
-import './style.scss';
-
+import './style.css';
import '@components/ErrorView';
import '@components/NostrAvatar';
import '@components/LoadingView';
diff --git a/src/routes/404Page.ts b/src/routes/404Page.ts
index 2b7b267..a14c1c0 100644
--- a/src/routes/404Page.ts
+++ b/src/routes/404Page.ts
@@ -2,7 +2,9 @@ import { LitElement, css, html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import type { RouteParams } from './router';
-import '@components/EveLink';
+import '@components/General/Button';
+import '@components/General/Card';
+import '@components/General/Fieldset';
@customElement('arx-404-page')
export class FourOhFourPage extends LitElement {
@@ -17,30 +19,27 @@ export class FourOhFourPage extends LitElement {
static override styles = [
css`
- .not-found {
+ :host {
display: flex;
align-items: center;
justify-content: center;
- font-family: "Inter", sans-serif;
- padding: 1rem;
- }
-
- .content {
- max-width: 600px;
- text-align: center;
+ font-family: system-ui, -apple-system, sans-serif;
+ padding: 2rem 1rem;
+ min-height: 80vh;
+ background-color: var(--color-base-100);
}
.error-container h1 {
margin: 0;
- }
-
- .error-container h1 * {
- position: relative;
- margin: 0 -20px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
.spinning-gear {
- animation: spin 5s linear infinite;
+ animation: spin 8s linear infinite;
+ font-size: 7rem;
+ margin: 0 -10px;
}
@keyframes spin {
@@ -52,37 +51,34 @@ export class FourOhFourPage extends LitElement {
}
}
- .path-container {
- background: rgba(255, 255, 255, 0.5);
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.6);
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
- margin-bottom: 2rem;
- padding: 1rem;
- backdrop-filter: blur(10px);
- }
-
- .path-text {
- color: var(--secondary);
- margin: 0 0 0.5rem 0;
- font-size: 0.9rem;
+ arx-fieldset {
+ margin-top: 1rem;
+ text-align: center;
}
.path {
- font-family: "JetBrains Mono", monospace;
- color: var(--primary);
+ font-family: monospace;
+ color: var(--color-accent);
word-break: break-all;
- font-size: 1.1rem;
- padding: 0.5rem;
- background: rgba(0, 0, 0, 0.2);
- border-radius: 4px;
+ font-size: 1rem;
+ padding: 0.75rem;
+ background: oklch(from var(--color-base-content) l c h / 0.1);
+ border-radius: var(--radius-field);
display: inline-block;
max-width: 100%;
+ text-align: left;
}
h1 {
- font-size: 8rem;
+ font-size: 7rem;
font-weight: 800;
+ color: var(--color-base-content);
+ line-height: 1;
+ margin-bottom: 1rem;
+ }
+
+ .four {
+ padding: 0 0.25rem;
}
.message-text {
@@ -92,108 +88,100 @@ export class FourOhFourPage extends LitElement {
gap: 0.75rem;
}
- .message-text .inline-icon {
- font-size: 1.25rem;
- flex-shrink: 0;
- }
-
.status {
- font-size: 1.25rem;
- color: #94a3b8;
- margin: 1rem 0;
+ font-size: 1.5rem;
+ color: var(--color-base-content);
+ margin: 0.5rem 0;
+ font-weight: 600;
}
.sub-text {
- color: #64748b;
+ color: var(--color-secondary);
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
- margin-bottom: 2rem;
- }
-
- .inline-icon {
- font-size: 1.25rem;
+ margin-bottom: 2.5rem;
+ font-size: 1.1rem;
}
.actions {
display: flex;
- gap: 1rem;
+ gap: 1.25rem;
justify-content: center;
flex-wrap: wrap;
}
- .primary-button {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- padding: 0.75rem 1.5rem;
- border-radius: 8px;
- font-weight: 600;
- transition: all 0.3s ease;
- text-decoration: none;
- background: var(--accent);
- color: white;
-
- &:hover {
- background: var(--secondary);
- transform: translateY(-2px);
+ @media (max-width: 640px) {
+ h1 {
+ font-size: 5rem;
}
- }
- arx-eve-link::part(link) {
- color: white;
- text-decoration: none;
+ .spinning-gear {
+ font-size: 5rem;
+ }
+
+ .status {
+ font-size: 1.25rem;
+ }
+
+ .sub-text {
+ font-size: 1rem;
+ }
+
+ .actions {
+ flex-direction: column;
+ align-items: center;
+ }
}
`,
];
override render() {
return html`
-
-
-
-
- 4
-
- 4
-
-
-
-
-
Page not found.
-
- The page you are looking for does not exist.
-
-
-
+
+
+ this.dispatchEvent(
+ new CustomEvent('go-back', {
+ bubbles: true,
+ composed: true,
+ }),
+ )}"
+ variant="primary"
+ label="Go Back"
+ >
+
+
+
+
+ Home
+
+
+
`;
}
}
diff --git a/src/routes/Arbor/Home.ts b/src/routes/Arbor/Home.ts
index f939751..4d7e636 100644
--- a/src/routes/Arbor/Home.ts
+++ b/src/routes/Arbor/Home.ts
@@ -2,16 +2,13 @@ import { getSigner, ndk } from '@/ndk';
import { NDKEvent, type NDKKind, type NDKSubscription } from '@nostr-dev-kit/ndk';
import { LitElement, css, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
+import { map } from 'lit/directives/map.js';
+import { when } from 'lit/directives/when.js';
import '@components/Breadcrumbs';
import '@components/Arbor/ForumTopic';
import '@components/Arbor/ForumCategory';
-import '@components/Arbor/Button';
-import '@components/Prompt';
-
-import type { EvePrompt } from '@components/Prompt';
-import { map } from 'lit/directives/map.js';
-import { when } from 'lit/directives/when.js';
+import '@components/General/Prompt';
interface ForumTopic {
id: string;
@@ -164,9 +161,10 @@ export class ArborForum extends LitElement {
>
-
- New Category
-
+
Topic ID: ${this.topicId}
-
+ >
${this.error ? html` ${this.error}
` : null}
-
this.dispatchEvent(new CustomEvent('cancel'))}
?disabled=${this.isCreating}
- >
- Cancel
-
+ >
-
${this.isCreating ? 'Creating...' : 'Create'}
-
+
`;
diff --git a/src/routes/Arbor/NewTopic.ts b/src/routes/Arbor/NewTopic.ts
index f508e82..23f3403 100644
--- a/src/routes/Arbor/NewTopic.ts
+++ b/src/routes/Arbor/NewTopic.ts
@@ -3,6 +3,10 @@ import { NDKEvent } from '@nostr-dev-kit/ndk';
import { LitElement, css, html } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
+import '@components/General/Input';
+import '@components/General/Textarea';
+import '@components/General/Button';
+
@customElement('arx-arbor-topic-creator')
export class ArborTopicCreator extends LitElement {
@property({ type: String })
@@ -22,20 +26,6 @@ export class ArborTopicCreator extends LitElement {
display: block;
}
- input,
- textarea {
- width: 100%;
- margin-bottom: 1rem;
- padding: 0.5rem;
- border: 1px solid #ccc;
- border-radius: 4px;
- }
-
- textarea {
- min-height: 200px;
- resize: vertical;
- }
-
.error {
color: red;
margin-bottom: 1rem;
@@ -108,35 +98,34 @@ export class ArborTopicCreator extends LitElement {
return html`
Category ID: ${this.categoryId}
-
+ >
-
+ >
`;
}
diff --git a/src/routes/Arbor/TopicView.ts b/src/routes/Arbor/TopicView.ts
index 94e8fc3..f522906 100644
--- a/src/routes/Arbor/TopicView.ts
+++ b/src/routes/Arbor/TopicView.ts
@@ -5,7 +5,7 @@ import { customElement, property, state } from 'lit/decorators.js';
import '@components/Breadcrumbs';
import '@components/Arbor/ForumPost';
-import '@components/Arbor/Button';
+import '@components/General/Button';
import { map } from 'lit/directives/map.js';
import { when } from 'lit/directives/when.js';
@@ -34,23 +34,24 @@ export class ArborTopicView extends LitElement {
:host {
display: block;
margin: 0 auto;
- padding: 1rem;
- color: #1a1a1a;
- font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
.topic-container {
- background: #ffffff;
- border-radius: 12px;
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
+ background: var(--color-base-100);
+ border-radius: var(--radius-box);
+ border: var(--border) solid var(--color-base-300);
overflow: hidden;
margin-top: 1.5rem;
- border: 1px solid rgba(0, 0, 0, 0.08);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1),
+ calc(var(--depth) * -1px) calc(var(--depth) * -1px)
+ calc(var(--depth) * 3px) oklch(from var(--color-base-100) l c h / 0.4);
}
.header {
- background: var(--primary);
- color: oklch(100% 0 0);
+ background: var(--color-secondary);
+ color: var(--color-secondary-content);
padding: 1.5rem 2rem;
font-weight: 600;
font-size: 1.25rem;
@@ -58,32 +59,54 @@ export class ArborTopicView extends LitElement {
justify-content: space-between;
align-items: center;
position: relative;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
+ text-shadow: 0 1px 2px oklch(from var(--color-base-content) l c h / 0.2);
letter-spacing: 0.01em;
+ border-bottom: var(--border) solid var(--color-base-300);
}
.posts-container {
display: flex;
flex-direction: column;
gap: 0;
- background: #f9f9f9;
+ background: var(--color-base-200);
padding: 1.5rem;
min-height: 300px;
}
.actions {
- background: #f9f9f9;
+ background: var(--color-base-200);
padding: 1.25rem 1.5rem;
display: flex;
justify-content: flex-end;
- border-top: 1px solid rgba(0, 0, 0, 0.06);
+ border-top: var(--border) solid var(--color-base-300);
}
.empty-state {
padding: 3rem;
text-align: center;
- color: #666;
+ color: var(--color-secondary);
font-style: italic;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 200px;
+ background: var(--color-base-100);
+ border-radius: var(--radius-field);
+ margin: 1rem 0;
+ border: var(--border) dashed var(--color-base-300);
+ }
+
+ arx-breadcrumbs {
+ margin-bottom: 1rem;
+ }
+
+ arx-forum-post {
+ border-bottom: var(--border) solid var(--color-base-300);
+ }
+
+ arx-forum-post:last-child {
+ border-bottom: none;
}
@media (max-width: 768px) {
@@ -108,6 +131,13 @@ export class ArborTopicView extends LitElement {
.header {
padding: 1rem;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 0.5rem;
+ }
+
+ .empty-state {
+ padding: 2rem 1rem;
}
}
`;
@@ -199,9 +229,9 @@ export class ArborTopicView extends LitElement {
`;
diff --git a/src/routes/Home.ts b/src/routes/Home.ts
index baa3563..dc0736d 100644
--- a/src/routes/Home.ts
+++ b/src/routes/Home.ts
@@ -2,9 +2,13 @@ import { getNpub, getUserProfile } from '@/ndk';
import type { NDKUserProfile } from '@nostr-dev-kit/ndk';
import { LitElement, css } from 'lit';
import { customElement, state } from 'lit/decorators.js';
+import { map } from 'lit/directives/map.js';
import { html, literal } from 'lit/static-html.js';
+
import '@widgets/BitcoinBlockWidget';
import '@components/AppGrid';
+import '@components/NostrAvatar';
+import '@components/General/Card';
@customElement('arx-eve-home')
export class Home extends LitElement {
@@ -20,57 +24,57 @@ export class Home extends LitElement {
id: 0,
href: 'letters',
name: 'Letters',
- color: '#FF33BB',
- icon: 'bxs:envelope',
+ color: '#FF3E96',
+ icon: 'fa-solid:leaf',
},
{
id: 1,
href: 'messages',
- name: 'Messages',
- color: '#34C759',
- icon: 'bxs:chat',
+ name: 'Murmur',
+ color: '#00CD66',
+ icon: 'fa-solid:seedling',
},
{
id: 2,
href: 'calendar',
name: 'Calendar',
- color: '#FF9500',
- icon: 'bxs:calendar',
+ color: '#FF8C00',
+ icon: 'fa-solid:sun',
},
{
id: 3,
href: 'arbor',
name: 'Arbor',
- color: '#FF3B30',
- icon: 'bxs:conversation',
+ color: '#FF4040',
+ icon: 'fa-solid:tree',
},
{
id: 5,
- href: 'agora',
- name: 'Agora',
- color: '#5856D6',
- icon: 'bxs:store',
+ href: 'grove',
+ name: 'Grove',
+ color: '#9370DB',
+ icon: 'fa-solid:store-alt',
},
{
id: 6,
href: 'wallet',
name: 'Wallet',
- color: '#007AFF',
- icon: 'bxs:wallet',
+ color: '#1E90FF',
+ icon: 'fa-solid:spa',
},
{
id: 7,
- href: 'consortium',
- name: 'Consortium',
- color: '#FFCC00',
- icon: 'bxs:landmark',
+ href: 'oracle',
+ name: 'Oracle',
+ color: '#FFD700',
+ icon: 'bxs:landscape',
},
{
id: 8,
href: 'settings',
name: 'Settings',
- color: '#deadbeef',
- icon: 'bxs:wrench',
+ color: '#7B68EE',
+ icon: 'fa-solid:tools',
},
];
@@ -91,26 +95,12 @@ export class Home extends LitElement {
static override styles = [
css`
- @keyframes gradient {
- 0% {
- background-position: 0% 50%;
- }
-
- 50% {
- background-position: 100% 50%;
- }
-
- 100% {
- background-position: 0% 50%;
- }
- }
-
.content-wrapper {
display: flex;
gap: 20px;
+ width: 100%;
max-width: 1200px;
- margin: 0 auto;
- padding: 20px;
+ margin: auto;
}
.home {
@@ -126,36 +116,17 @@ export class Home extends LitElement {
.home-container {
flex: 1;
- background: rgba(255, 255, 255, 0.5);
- border-radius: 20px;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+ padding: 0;
}
.widgets-container {
- width: 300px;
+ width: 350px;
display: flex;
flex-direction: column;
gap: 20px;
- }
- .widget {
- background: rgba(255, 255, 255, 0.5);
- border-radius: 15px;
- padding: 20px;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
- backdrop-filter: blur(10px);
-
- h3 {
- margin: 0 0 10px 0;
- font-size: 18px;
- color: #1c1c1e;
- }
-
- p {
- margin: 0;
- font-size: 14px;
- color: #333;
- line-height: 1.4;
+ & > * {
+ flex: 1;
}
}
@@ -170,20 +141,12 @@ export class Home extends LitElement {
overflow-x: auto;
padding-bottom: 10px;
}
-
- .widget {
- min-width: 250px;
- }
}
@media (max-width: 768px) {
.widgets-container {
flex-direction: column;
}
-
- .widget {
- width: auto;
- }
}
.welcome-section {
@@ -193,21 +156,12 @@ export class Home extends LitElement {
justify-content: center;
gap: 20px;
padding: 20px;
- background: rgba(255, 255, 255, 0.5);
border-radius: 20px;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.welcome-text h1 {
margin: 0;
font-size: 24px;
- color: #1c1c1e;
- }
-
- .welcome-text p {
- margin: 5px 0 0;
- color: #666;
- font-size: 14px;
}
`,
];
@@ -221,29 +175,20 @@ export class Home extends LitElement {
return html`
-
-
-
+
+
+
Welcome, ${this.username}
-
+
-
+
diff --git a/src/routes/Profile.ts b/src/routes/Profile.ts
index 457f4ce..e9e14eb 100644
--- a/src/routes/Profile.ts
+++ b/src/routes/Profile.ts
@@ -4,6 +4,8 @@ import { customElement, property, state } from 'lit/decorators.js';
import { when } from 'lit/directives/when.js';
import { getUserProfile } from '../ndk';
+import '@components/General/Card';
+
@customElement('arx-profile-route')
export class NostrProfile extends LitElement {
@property({ type: String })
@@ -24,13 +26,16 @@ export class NostrProfile extends LitElement {
position: relative;
height: 20rem;
overflow: hidden;
+ border-radius: var(--radius-box) var(--radius-box) 0 0;
+ border: var(--border) solid var(--color-base-300);
+ border-bottom: none;
}
.banner-image {
position: absolute;
inset: 0;
transform: scale(1);
- transition: transform 700ms;
+ transition: transform 700ms cubic-bezier(0.4, 0, 0.2, 1);
}
.banner-image:hover {
@@ -49,8 +54,8 @@ export class NostrProfile extends LitElement {
background: linear-gradient(
to bottom,
transparent,
- rgba(0, 0, 0, 0.2),
- rgba(0, 0, 0, 0.4)
+ oklch(from var(--color-base-content) l c h / 0.2),
+ oklch(from var(--color-base-content) l c h / 0.4)
);
}
@@ -70,14 +75,6 @@ export class NostrProfile extends LitElement {
margin-top: 4rem;
}
- .profile-card {
- background-color: rgba(255, 255, 255, 0.95);
- border-radius: 0.75rem;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
- padding: 1.5rem;
- backdrop-filter: blur(8px);
- }
-
.profile-content {
display: flex;
flex-direction: column;
@@ -100,9 +97,11 @@ export class NostrProfile extends LitElement {
height: 10rem;
border-radius: 50%;
object-fit: cover;
- border: 4px solid white;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- transition: transform 300ms;
+ border: calc(var(--border) * 2) solid var(--color-base-100);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15);
+ transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.profile-image:hover {
@@ -113,16 +112,24 @@ export class NostrProfile extends LitElement {
width: 10rem;
height: 10rem;
border-radius: 50%;
- background: linear-gradient(to bottom right, #e5e7eb, #d1d5db);
+ background: linear-gradient(
+ 135deg,
+ var(--color-base-200),
+ var(--color-base-300)
+ );
display: flex;
align-items: center;
justify-content: center;
+ border: calc(var(--border) * 2) solid var(--color-base-100);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.15);
}
.placeholder-icon {
width: 5rem;
height: 5rem;
- color: #9ca3af;
+ color: var(--color-secondary);
}
.profile-info {
@@ -145,18 +152,19 @@ export class NostrProfile extends LitElement {
.display-name {
font-size: 1.875rem;
font-weight: bold;
- color: #111827;
+ color: var(--color-base-content);
display: flex;
align-items: center;
gap: 0.5rem;
+ margin: 0;
}
.verified-icon {
- color: #3b82f6;
+ color: var(--color-accent);
}
.nip05 {
- color: #4b5563;
+ color: var(--color-secondary);
display: flex;
align-items: center;
gap: 0.25rem;
@@ -175,51 +183,13 @@ export class NostrProfile extends LitElement {
}
}
- .follow-button {
- padding: 0.5rem 1.5rem;
- border-radius: 9999px;
- font-weight: 500;
- transition: all 300ms;
- background-color: #3b82f6;
- color: white;
- }
-
- .follow-button:hover {
- background-color: #2563eb;
- }
-
- .follow-button.following {
- background-color: #e5e7eb;
- color: #1f2937;
- }
-
- .follow-button.following:hover {
- background-color: #d1d5db;
- }
-
- .copy-button {
- padding: 0.5rem;
- border-radius: 9999px;
- background-color: #f3f4f6;
- transition: background-color 300ms;
- }
-
- .copy-button:hover {
- background-color: #e5e7eb;
- }
-
- .copy-icon {
- width: 1.25rem;
- height: 1.25rem;
- }
-
.links-section {
display: grid;
- grid-auto-columns: minmax(300px, 1fr);
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
padding-top: 1.5rem;
- border-top: 1px solid #e5e7eb;
+ border-top: var(--border) solid var(--color-base-300);
}
.link-item {
@@ -227,13 +197,19 @@ export class NostrProfile extends LitElement {
align-items: center;
gap: 0.5rem;
padding: 1rem;
- border-radius: 0.5rem;
- background-color: #f9fafb;
- transition: background-color 300ms;
+ border-radius: var(--radius-field);
+ background-color: var(--color-base-200);
+ transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
+ text-decoration: none;
+ color: var(--color-base-content);
}
.link-item:hover {
- background-color: #f3f4f6;
+ background-color: var(--color-base-300);
+ transform: translateY(-2px);
+ box-shadow: calc(var(--depth) * 2px) calc(var(--depth) * 2px)
+ calc(var(--depth) * 4px)
+ oklch(from var(--color-base-content) l c h / 0.1);
}
.link-icon {
@@ -242,39 +218,23 @@ export class NostrProfile extends LitElement {
}
.link-icon.website {
- color: #3b82f6;
+ color: var(--color-accent);
}
.link-icon.lightning {
- color: #eab308;
+ color: var(--color-warning);
}
.bio {
white-space: pre-line;
font-size: 0.9rem;
- color: #4b5563;
+ color: var(--color-secondary);
margin: 1rem 0;
- padding-top: 1rem;
- line-height: 1.5;
- }
-
- .animate-gradient {
- background-size: 200% 200%;
- animation: gradient 15s ease infinite;
- }
-
- @keyframes gradient {
- 0% {
- background-position: 0% 50%;
- }
-
- 50% {
- background-position: 100% 50%;
- }
-
- 100% {
- background-position: 0% 50%;
- }
+ padding: 1rem;
+ line-height: 1.6;
+ background-color: var(--color-base-200);
+ border-radius: var(--radius-field);
+ border-left: 3px solid var(--color-accent);
}
`;
@@ -317,7 +277,7 @@ export class NostrProfile extends LitElement {
-
`;
}
diff --git a/src/routes/Settings.ts b/src/routes/Settings.ts
new file mode 100644
index 0000000..cdcb210
--- /dev/null
+++ b/src/routes/Settings.ts
@@ -0,0 +1,181 @@
+import defaultAvatar from '@/default-avatar.png';
+import { getSigner, getUserProfile, ndk } from '@/ndk';
+import { NDKEvent, type NDKUserProfile } from '@nostr-dev-kit/ndk';
+import { LitElement, css, html } from 'lit';
+import { customElement, state } from 'lit/decorators.js';
+import { when } from 'lit/directives/when.js';
+
+import '@components/DateTimeSettings';
+import '@components/General/Input';
+import '@components/General/Button';
+import '@components/General/Fieldset';
+import '@components/General/Card';
+import '@components/Breadcrumbs';
+
+@customElement('arx-settings')
+export class EveSettings extends LitElement {
+ static override styles = css`
+ :host {
+ display: block;
+ font-family: var(--font-family, "Inter", system-ui, sans-serif);
+ margin: 0 auto;
+ line-height: 1.6;
+ color: var(--color-base-content);
+ background-color: var(--color-base-100);
+ }
+
+ .profile-image {
+ width: 140px;
+ height: 140px;
+ border-radius: 50%;
+ object-fit: cover;
+ border: calc(var(--border) * 2) solid var(--color-base-100);
+ box-shadow: calc(var(--depth) * 3px) calc(var(--depth) * 3px)
+ calc(var(--depth) * 6px)
+ oklch(from var(--color-base-content) l c h / 0.15),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 4px) oklch(from var(--color-base-100) l c h / 0.6);
+ transition: transform 0.3s, box-shadow 0.3s;
+ margin: 0 auto;
+ }
+
+ .profile-image:hover {
+ transform: scale(1.05);
+ box-shadow: calc(var(--depth) * 4px) calc(var(--depth) * 4px)
+ calc(var(--depth) * 8px) oklch(from var(--color-accent) l c h / 0.3),
+ calc(var(--depth) * -2px) calc(var(--depth) * -2px)
+ calc(var(--depth) * 6px) oklch(from var(--color-base-100) l c h / 0.6);
+ }
+
+ .profile-header {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
+ `;
+
+ @state() private loading = true;
+ @state() private saving = false;
+ @state() private profile: NDKUserProfile | undefined;
+ @state() private error: string | undefined;
+ @state() private darkMode = false;
+
+ protected override async firstUpdated() {
+ try {
+ this.profile = await getUserProfile();
+ this.darkMode = localStorage.getItem('darkMode') === 'true';
+ this.loading = false;
+ } catch (err) {
+ this.error = 'Failed to load profile';
+ console.error(err);
+ this.loading = false;
+ }
+ }
+
+ private handleInputChange(e: Event) {
+ const target = e.target as HTMLInputElement;
+ this.profile = {
+ ...this.profile,
+ [target.name]: target.value,
+ };
+ }
+
+ private async saveProfile() {
+ if (this.saving) return;
+ this.saving = true;
+ try {
+ await getSigner();
+ const event = new NDKEvent(ndk);
+ event.kind = 0;
+ event.content = JSON.stringify(this.profile);
+ await event.sign();
+ await event.publish();
+ } catch (err) {
+ alert(err);
+ console.error(err);
+ } finally {
+ this.saving = false;
+ }
+ }
+
+ private toggleDarkMode() {
+ this.darkMode = !this.darkMode;
+ localStorage.setItem('darkMode', this.darkMode.toString());
+ document.body.classList.toggle('dark', this.darkMode);
+ }
+
+ override render() {
+ if (this.error) return html`
`;
+
+ if (this.loading) return html`
`;
+
+ const breadcrumbItems = [{ text: 'Home', href: '/' }, { text: 'Settings' }];
+
+ return html`
+
+
+
+ this.toggleDarkMode()}
+ >
+
+
+ ${when(
+ this.profile.picture,
+ () => html`
+
+ `,
+ )}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ }
+}
diff --git a/src/routes/router.ts b/src/routes/router.ts
index 7b3fb0b..235a129 100644
--- a/src/routes/router.ts
+++ b/src/routes/router.ts
@@ -1,6 +1,7 @@
import '@routes/404Page';
import '@routes/Home';
import '@routes/Profile';
+import '@routes/Settings';
import '@routes/Arbor/Home';
import '@routes/Arbor/NewTopic';
import '@routes/Arbor/TopicView';
@@ -10,6 +11,7 @@ import '@components/InitialSetup';
import { spread } from '@open-wc/lit-helpers';
import { LitElement, css } from 'lit';
import { customElement, property, state } from 'lit/decorators.js';
+import { keyed } from 'lit/directives/keyed.js';
import { type StaticValue, html, literal } from 'lit/static-html.js';
export interface RouteParams {
@@ -58,6 +60,11 @@ export default class EveRouter extends LitElement {
params: {},
component: literal`arx-arbor-post-creator`,
},
+ {
+ pattern: 'settings',
+ params: {},
+ component: literal`arx-settings`,
+ },
{
pattern: '404',
params: {},
@@ -85,25 +92,16 @@ export default class EveRouter extends LitElement {
overflow: hidden;
}
- input {
- width: 100%;
- }
-
- button {
- background: var(--primary);
- color: white;
- border: 1px solid var(--border);
- margin: 1rem 0;
- width: 100%;
- }
-
.window {
- max-width: 1200px;
overflow: auto;
+ }
+
+ .window-content {
+ max-width: 1200px;
+ overflow: visible;
height: 100%;
- position: relative;
- left: 50%;
- transform: translateX(-50%);
+ margin: 0 auto;
+ padding: 1rem;
}
`;
@@ -261,24 +259,29 @@ export default class EveRouter extends LitElement {
override render() {
if (!this.ccnSetup) return this.renderSetup();
return html`
-
0}
- ?canGoForward=${this.currentIndex < this.history.length - 1}
- url="eve://${this.currentPath}"
- @navigate=${(e: CustomEvent) => this.navigate(e.detail)}
- @go-back=${this.goBack}
- @go-forward=${this.goForward}
- title="Eve"
- >
+
0}
+ ?canGoForward=${this.currentIndex < this.history.length - 1}
+ url="eve://${this.currentPath}"
+ @navigate=${(e: CustomEvent) => this.navigate(e.detail)}
+ @go-back=${this.goBack}
+ @go-forward=${this.goForward}
+ title="Eve"
+ >
- <${this.currentRoute.component}
- ${spread(this.currentRoute.params)}
- path=${this.currentPath}
- @navigate=${this.navigate}
- @go-back=${this.goBack}
- @go-forward=${this.goForward}
- >${this.currentRoute.component}>
+ ${keyed(
+ this.currentRoute.params,
+ html`
+ <${this.currentRoute.component}
+ ${spread(this.currentRoute.params)}
+ path=${this.currentPath}
+ @navigate=${this.navigate}
+ @go-back=${this.goBack}
+ @go-forward=${this.goForward}
+ >${this.currentRoute.component}>
+ `,
+ )}
`;
diff --git a/src/style.css b/src/style.css
new file mode 100644
index 0000000..a6a8efb
--- /dev/null
+++ b/src/style.css
@@ -0,0 +1,90 @@
+:root {
+ --font-md: clamp(1.333rem, 1.5vw, 1.5rem);
+ --font-2xl: clamp(3.157rem, 3.6vw, 3.555rem);
+
+ --space-xs: clamp(0.5rem, 0.75vw, 0.75rem);
+ --space-sm: clamp(1rem, 1.5vw, 1.5rem);
+ --space-md: clamp(2rem, 3vw, 3rem);
+
+ --animation-curve: cubic-bezier(0.68, -0.55, 0.265, 1.55);
+ --transition: 0.3s var(--animation-curve);
+
+ --color-base-100: oklch(98% 0.016 73.684);
+ --color-base-200: oklch(95% 0.038 75.164);
+ --color-base-300: oklch(90% 0.076 70.697);
+ --color-base-content: oklch(40% 0.123 38.172);
+
+ --color-primary: oklch(0% 0 0);
+ --color-primary-content: oklch(100% 0 0);
+
+ --color-secondary: oklch(22.45% 0.075 37.85);
+ --color-secondary-content: oklch(90% 0.076 70.697);
+
+ --color-accent: oklch(46.44% 0.111 37.85);
+ --color-accent-content: oklch(90% 0.076 70.697);
+
+ --color-neutral: oklch(55% 0.195 38.402);
+ --color-neutral-content: oklch(98% 0.016 73.684);
+
+ --color-info: oklch(42% 0.199 265.638);
+ --color-info-content: oklch(90% 0.076 70.697);
+ --color-success: oklch(43% 0.095 166.913);
+ --color-success-content: oklch(90% 0.076 70.697);
+ --color-warning: oklch(82% 0.189 84.429);
+ --color-warning-content: oklch(41% 0.112 45.904);
+ --color-error: oklch(70% 0.191 22.216);
+ --color-error-content: oklch(39% 0.141 25.723);
+
+ --radius-selector: 1rem;
+ --radius-field: 0.5rem;
+ --radius-box: 1rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 2px;
+ --depth: 1;
+ --noise: 1;
+}
+
+body.dark {
+ --color-base-100: oklch(28.822% 0.022 277.508);
+ --color-base-200: oklch(26.805% 0.02 277.508);
+ --color-base-300: oklch(24.787% 0.019 277.508);
+ --color-base-content: oklch(97.747% 0.007 106.545);
+ --color-primary: oklch(75.461% 0.183 346.812);
+ --color-primary-content: oklch(15.092% 0.036 346.812);
+ --color-secondary: oklch(74.202% 0.148 301.883);
+ --color-secondary-content: oklch(14.84% 0.029 301.883);
+ --color-accent: oklch(83.392% 0.124 66.558);
+ --color-accent-content: oklch(16.678% 0.024 66.558);
+ --color-neutral: oklch(39.445% 0.032 275.524);
+ --color-neutral-content: oklch(87.889% 0.006 275.524);
+ --color-info: oklch(88.263% 0.093 212.846);
+ --color-info-content: oklch(17.652% 0.018 212.846);
+ --color-success: oklch(87.099% 0.219 148.024);
+ --color-success-content: oklch(17.419% 0.043 148.024);
+ --color-warning: oklch(95.533% 0.134 112.757);
+ --color-warning-content: oklch(19.106% 0.026 112.757);
+ --color-error: oklch(68.22% 0.206 24.43);
+ --color-error-content: oklch(13.644% 0.041 24.43);
+ --radius-selector: 1rem;
+ --radius-field: 0.5rem;
+ --radius-box: 1rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 1px;
+ --depth: 0;
+ --noise: 0;
+}
+
+body {
+ background-color: var(--color-base-100);
+ color: var(--color-base-content);
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ line-height: 1.5;
+ box-sizing: border-box;
+ border: var(--border) solid var(--color-base-300);
+ border-radius: var(--radius-box);
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+}
diff --git a/src/style.scss b/src/style.scss
deleted file mode 100644
index aeb05a0..0000000
--- a/src/style.scss
+++ /dev/null
@@ -1,443 +0,0 @@
-:root {
- --primary: oklch(25% 0.09 210);
- --secondary: oklch(from var(--primary) calc(l + 0.05) calc(c * 1.1) h);
- --accent: oklch(from var(--primary) calc(l + 0.35) calc(c + 0.15) h);
- --light: oklch(from var(--primary) 96% calc(c * 0.3) h);
- --dark: oklch(from var(--primary) 20% calc(c * 0.3) h);
- --border: oklch(from var(--primary) 80% calc(c * 0.5) h);
- --success: oklch(from var(--primary) 70% calc(c + 0.2) 142);
- --warning: oklch(from var(--primary) 85% calc(c + 0.2) 85);
- --error: oklch(from var(--primary) 65% calc(c + 0.2) 25);
-
- --shadow-color: oklch(from var(--primary) 20% calc(c * 0.3) h);
- --shadow-sm: 0 1px 2px rgba(var(--shadow-color), 0.1);
- --shadow-md: 0 2px 4px oklch(from var(--shadow-color) l c h / 0.1),
- 0 1px 2px oklch(from var(--shadow-color) l c h / 0.05);
- --shadow-lg: 0 4px 6px oklch(from var(--shadow-color) l c h / 0.1),
- 0 2px 4px oklch(from var(--shadow-color) l c h / 0.06);
- --shadow-xl: 0 10px 15px oklch(from var(--shadow-color) l c h / 0.1),
- 0 4px 6px oklch(from var(--shadow-color) l c h / 0.08);
-
- --font-xs: clamp(0.65rem, 0.7vw, 0.8rem);
- --font-sm: clamp(0.8rem, 0.9vw, 0.9rem);
- --font-base: clamp(1rem, 1.1vw, 1.125rem);
- --font-md: clamp(1.333rem, 1.5vw, 1.5rem);
- --font-lg: clamp(1.777rem, 2vw, 2rem);
- --font-xl: clamp(2.369rem, 2.7vw, 2.666rem);
- --font-2xl: clamp(3.157rem, 3.6vw, 3.555rem);
- --font-3xl: clamp(4.209rem, 4.8vw, 4.74rem);
-
- --space-xs: clamp(0.5rem, 0.75vw, 0.75rem);
- --space-sm: clamp(1rem, 1.5vw, 1.5rem);
- --space-md: clamp(2rem, 3vw, 3rem);
- --space-lg: clamp(3rem, 4.5vw, 4.5rem);
-
- --header-height: var(--font-2xl);
-}
-
-.window {
- display: grid;
- gap: 0;
- grid-template-rows: var(--header-height) 1fr;
- height: 100vh;
- width: 100vw;
- overflow: hidden;
-}
-
-header {
- background: rgba(255, 255, 255, 0.5);
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.6);
- border-bottom-left-radius: 16px;
- border-bottom-right-radius: 16px;
- z-index: 999999;
- margin-bottom: var(--font-2xl);
- background: var(--primary);
- height: var(--font-2xl);
- font-size: var(--header-height);
- transition: all 0.3s ease;
- display: flex;
- align-items: center;
- padding: 0 var(--space-md);
-
- .search-container {
- flex: 1;
- position: relative;
-
- input {
- background: rgba(255, 255, 255, 0.5);
- backdrop-filter: blur(10px);
- border: 1px solid rgba(255, 255, 255, 0.6);
- border-radius: 16px;
- color: var(--light);
- width: 100%;
- text-align: center;
- cursor: text;
- font-size: 0.9rem;
- width: 100%;
- padding: var(--space-xs);
- text-align: center;
-
- &:not(:focus)::placeholder {
- color: var(--light);
- opacity: 1;
- }
-
- &:focus {
- background: rgba(0, 0, 0, 0.2);
- }
- }
- }
-
- .nav-buttons {
- display: flex;
- gap: var(--space-xs);
- padding-right: var(--space-xs);
-
- button {
- text-decoration: none;
- color: var(--light);
- background: rgba(255, 255, 255, 0.1);
- border: 1px solid rgba(255, 255, 255, 0.2);
- padding: var(--space-xs);
- border-radius: 100%;
- font-size: var(--font-md);
- backdrop-filter: blur(10px);
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s ease;
-
- &:hover {
- background: rgba(255, 255, 255, 0.2);
- }
-
- &.disabled {
- pointer-events: none;
- opacity: 0.5;
- }
- }
- }
-}
-
-::selection {
- background: oklch(from var(--accent) l c h / 0.2);
- color: var(--accent);
-}
-
-* {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
-}
-
-body {
- font-family: "Inter var", system-ui, -apple-system, sans-serif;
- font-size: var(--font-base);
- line-height: 1.7;
- font-feature-settings: "liga" 1, "kern" 1, "calt" 1;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-
- margin: 0;
- background: oklch(from var(--primary) 97% calc(c * 0.25) h);
- color: oklch(from var(--primary) 20% calc(c * 0.1) h);
- letter-spacing: -0.01em;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- font-family: "Inter var", system-ui, sans-serif;
- font-weight: 700;
- line-height: 1.1;
- letter-spacing: -0.03em;
- background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- margin: 0;
-}
-
-h1 {
- font-size: var(--font-2xl);
- font-weight: 800;
- letter-spacing: -0.04em;
-}
-
-h2 {
- font-size: var(--font-xl);
- font-weight: 700;
-}
-
-h3 {
- font-size: var(--font-lg);
- font-weight: 600;
-}
-
-section {
- max-width: 1200px;
- margin-inline: auto;
- padding-inline: 1rem;
- display: flex;
- justify-content: center;
- place-items: center;
- align-items: center;
-}
-
-ul,
-ol {
- margin: var(--space-sm) 0;
- padding-left: var(--space-md);
-
- & li {
- margin-bottom: var(--space-xs);
- position: relative;
- }
-
- & li::marker {
- color: var(--accent);
- }
-}
-
-code {
- font-family: "JetBrains Mono", "SF Mono", monospace;
- font-size: 0.9em;
- padding: 0.2em 0.4em;
- border-radius: 4px;
- background: oklch(from var(--primary) 97% calc(c * 0.15) h);
- border: 1px solid oklch(from var(--primary) 90% calc(c * 0.2) h);
-}
-
-blockquote {
- position: relative;
- padding: var(--space-md);
- border-radius: 1rem;
- background: linear-gradient(135deg,
- oklch(from var(--primary) calc(l + 0.02) calc(c * 0.8) h),
- oklch(from var(--secondary) calc(l + 0.02) calc(c * 0.8) h));
- backdrop-filter: blur(10px);
- box-shadow: var(--shadow-lg), inset 0 2px 4px oklch(from var(--primary) 100% 0 h / 0.1);
- color: var(--light);
-
- & p {
- font-size: var(--font-md);
- font-weight: 500;
- font-style: italic;
- line-height: 1.6;
- margin-bottom: var(--space-sm);
- color: var(--light);
- }
-
- &::before {
- position: absolute;
- font-family: Georgia, serif;
- opacity: 0.15;
- content: "โ";
- bottom: -1rem;
- right: 1rem;
- font-size: 5rem;
- color: var(--light);
- }
-}
-
-small {
- font-size: var(--font-xs);
- line-height: var(--leading-normal);
-}
-
-p {
- margin: 0 auto;
- margin-bottom: var(--space-md);
- max-width: 80ch;
- opacity: 0.9;
-}
-
-a {
- color: var(--accent);
- text-decoration: none;
- background-image: linear-gradient(transparent calc(100% - 2px),
- var(--accent) 2px);
- background-size: 0% 100%;
- background-repeat: no-repeat;
- transition: background-size 0.3s ease-in-out;
-
- &:hover {
- background-size: 100% 100%;
- }
-}
-
-hr {
- height: 5px;
- border: 0;
- margin: var(--space-md);
- background: linear-gradient(90deg,
- transparent,
- var(--primary) 20%,
- var(--accent) 50%,
- var(--primary) 80%,
- transparent);
- position: relative;
-
- &::after {
- content: "";
- position: absolute;
- width: 100%;
- height: 1px;
- background: inherit;
- top: 2px;
- filter: blur(2px);
- opacity: 0.7;
- }
-}
-
-.blurfade-enter-active {
- transition: all 0.5s ease-out;
-}
-
-.blurfade-leave-active {
- transition: all 0.25s cubic-bezier(1, 0.5, 0.8, 1);
-}
-
-.blurfade-enter-from,
-.blurfade-leave-to {
- overflow: hidden;
- position: fixed;
- width: 100vw;
- height: 100vh;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- transform: translate(0, 0) !important;
- transform-style: preserve-3d;
- z-index: 9999;
- opacity: 0;
- backdrop-filter: blur(1000px);
- filter: blur(1000px);
-}
-
-.w-full {
- width: 100%;
-}
-
-input {
- font-family: "Inter var", system-ui, -apple-system, sans-serif;
- font-size: var(--font-base);
- line-height: 1.7;
- color: oklch(from var(--primary) 20% calc(c * 0.1) h);
- background: oklch(from var(--primary) 97% calc(c * 0.25) h);
- border: 1px solid oklch(from var(--primary) 90% calc(c * 0.2) h);
- border-radius: 6px;
- padding: var(--space-xs) var(--space-sm);
- outline: none;
- transition: all 0.2s ease-in-out;
-
- &:focus {
- border-color: var(--accent);
- box-shadow: 0 0 0 3px oklch(from var(--accent) l c h / 0.2);
- }
-
- &:hover {
- border-color: oklch(from var(--primary) 80% calc(c * 0.3) h);
- }
-
- &::placeholder {
- color: oklch(from var(--primary) 60% calc(c * 0.2) h);
- opacity: 0.7;
- }
-
- &[type="submit"],
- &[type="button"] {
- background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
- color: var(--light);
- border: none;
- font-weight: 600;
- cursor: pointer;
-
- &:hover {
- background: linear-gradient(135deg, var(--secondary) 0%, var(--accent) 100%);
- }
-
- &:active {
- transform: scale(0.98);
- }
- }
-
- &[type="checkbox"],
- &[type="radio"] {
- width: 1.2em;
- height: 1.2em;
- accent-color: var(--accent);
- margin-right: var(--space-xs);
- }
-
- &[type="range"] {
- -webkit-appearance: none;
- appearance: none;
- background: transparent;
- cursor: pointer;
-
- &::-webkit-slider-runnable-track {
- height: 6px;
- background: oklch(from var(--primary) 90% calc(c * 0.2) h);
- border-radius: 3px;
- }
-
- &::-webkit-slider-thumb {
- -webkit-appearance: none;
- appearance: none;
- width: 16px;
- height: 16px;
- background: var(--accent);
- border-radius: 50%;
- margin-top: -5px;
- }
-
- &::-moz-range-track {
- height: 6px;
- background: oklch(from var(--primary) 90% calc(c * 0.2) h);
- border-radius: 3px;
- }
-
- &::-moz-range-thumb {
- width: 16px;
- height: 16px;
- background: var(--accent);
- border-radius: 50%;
- }
- }
-}
-
-textarea {
- font-family: "Inter var", system-ui, -apple-system, sans-serif;
- font-size: var(--font-base);
- line-height: 1.7;
- color: oklch(from var(--primary) 20% calc(c * 0.1) h);
- background: oklch(from var(--primary) 97% calc(c * 0.25) h);
- border: 1px solid oklch(from var(--primary) 90% calc(c * 0.2) h);
- border-radius: 6px;
- padding: var(--space-xs) var(--space-sm);
- outline: none;
- transition: all 0.2s ease-in-out;
- resize: vertical;
- min-height: 120px;
-
- &:focus {
- border-color: var(--accent);
- box-shadow: 0 0 0 3px oklch(from var(--accent) l c h / 0.2);
- }
-
- &:hover {
- border-color: oklch(from var(--primary) 80% calc(c * 0.3) h);
- }
-
- &::placeholder {
- color: oklch(from var(--primary) 60% calc(c * 0.2) h);
- opacity: 0.7;
- }
-}
\ No newline at end of file
diff --git a/src/utils/formatDateTime.ts b/src/utils/formatDateTime.ts
index 8cbc5a9..2b7010e 100644
--- a/src/utils/formatDateTime.ts
+++ b/src/utils/formatDateTime.ts
@@ -1,6 +1,8 @@
export default function formatDateTime(date: Date | string | number): string {
const properDate = new Date(date);
- return properDate.toLocaleString('en-US', {
+
+ const defaultOptions = {
+ locale: 'en-US',
weekday: 'short',
year: 'numeric',
month: 'long',
@@ -8,5 +10,27 @@ export default function formatDateTime(date: Date | string | number): string {
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
+ hour12: true,
+ };
+
+ let formattingOptions = defaultOptions;
+ const savedOptions = localStorage.getItem('dateTimeFormatOptions');
+
+ if (savedOptions)
+ try {
+ formattingOptions = { ...defaultOptions, ...JSON.parse(savedOptions) };
+ } catch (e) {
+ console.error('Failed to parse date format options from localStorage', e);
+ }
+
+ return properDate.toLocaleString(formattingOptions.locale, {
+ weekday: formattingOptions.weekday === '' ? undefined : formattingOptions.weekday,
+ year: formattingOptions.year === '' ? undefined : formattingOptions.year,
+ month: formattingOptions.month === '' ? undefined : formattingOptions.month,
+ day: formattingOptions.day === '' ? undefined : formattingOptions.day,
+ hour: formattingOptions.hour === '' ? undefined : formattingOptions.hour,
+ minute: formattingOptions.minute === '' ? undefined : formattingOptions.minute,
+ second: formattingOptions.second === '' ? undefined : formattingOptions.second,
+ hour12: formattingOptions.hour12,
});
}
diff --git a/src/utils/lastBlock.ts b/src/utils/lastBlock.ts
new file mode 100644
index 0000000..b2456f3
--- /dev/null
+++ b/src/utils/lastBlock.ts
@@ -0,0 +1,50 @@
+const MEMPOOL_API = 'https://mempool.space/api/blocks/tip';
+
+export interface LastBlock {
+ id: string;
+ height: number;
+ version: number;
+ timestamp: number;
+ tx_count: number;
+ size: number;
+ weight: number;
+ merkle_root: string;
+ previousblockhash: string;
+ mediantime: number;
+ nonce: number;
+ bits: number;
+ difficulty: number;
+ error?: string;
+}
+
+export async function getLastBlock(): Promise
{
+ try {
+ const response = await fetch(MEMPOOL_API);
+
+ if (!response.ok) {
+ throw new Error('Network response was not ok');
+ }
+
+ const data = await response.json();
+ const latestBlock = data[0];
+ if (!latestBlock) throw new Error('Failed to fetch block');
+ return latestBlock;
+ } catch (e) {
+ return {
+ id: '',
+ height: 0,
+ version: 0,
+ timestamp: 0,
+ tx_count: 0,
+ size: 0,
+ weight: 0,
+ merkle_root: '',
+ previousblockhash: '',
+ mediantime: 0,
+ nonce: 0,
+ bits: 0,
+ difficulty: 0,
+ error: e instanceof Error ? e.message : 'Failed to fetch block',
+ };
+ }
+}
diff --git a/src/utils/lastBlockHeight.ts b/src/utils/lastBlockHeight.ts
deleted file mode 100644
index 118e77c..0000000
--- a/src/utils/lastBlockHeight.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-const MEMPOOL_API = 'https://mempool.space/api/blocks/tip/height';
-
-export interface LastBlockHeight {
- height: number;
- error?: string;
-}
-
-export async function getLastBlockHeight(): Promise {
- try {
- const response = await fetch(MEMPOOL_API);
-
- if (!response.ok) {
- throw new Error('Network response was not ok');
- }
-
- const data = await response.text();
- return {
- height: Number.parseInt(data, 10),
- };
- } catch (e) {
- return {
- height: 0,
- error: e instanceof Error ? e.message : 'Failed to fetch block height',
- };
- }
-}