commit 51dec75bafdde4974c0f841561404e453648493a Author: cymon Date: Sat Jun 17 16:52:16 2023 +0000 create package, create onboarding and account pages diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md new file mode 100644 index 0000000..382941e --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# Svelte + Vite + +This template should help get you started developing with Svelte in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). + +## Need an official Svelte framework? + +Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more. + +## Technical considerations + +**Why use this over SvelteKit?** + +- It brings its own routing solution which might not be preferable for some users. +- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app. + +This template contains as little as possible to get started with Vite + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project. + +Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate. + +**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?** + +Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information. + +**Why include `.vscode/extensions.json`?** + +Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project. + +**Why enable `checkJs` in the JS template?** + +It is likely that most cases of changing variable types in runtime are likely to be accidental, rather than deliberate. This provides advanced typechecking out of the box. Should you like to take advantage of the dynamically-typed nature of JavaScript, it is trivial to change the configuration. + +**Why is HMR not preserving my local component state?** + +HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/sveltejs/svelte-hmr/tree/master/packages/svelte-hmr#preservation-of-local-state). + +If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR. + +```js +// store.js +// An extremely simple external store +import { writable } from 'svelte/store' +export default writable(0) +``` diff --git a/account.html b/account.html new file mode 100644 index 0000000..c1503a3 --- /dev/null +++ b/account.html @@ -0,0 +1,11 @@ + + + + + Lume Account + + +
+ + + diff --git a/dashboard.html b/dashboard.html new file mode 100644 index 0000000..15c2548 --- /dev/null +++ b/dashboard.html @@ -0,0 +1,11 @@ + + + + + Lume Dashboard + + +
+ + + diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..5696a2d --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "moduleResolution": "bundler", + "target": "ESNext", + "module": "ESNext", + /** + * svelte-preprocess cannot figure out whether you have + * a value or a type, so tell TypeScript to enforce using + * `import type` instead of `import` for Types. + */ + "verbatimModuleSyntax": true, + "isolatedModules": true, + "resolveJsonModule": true, + /** + * To have warnings / errors of the Svelte compiler at the + * correct position, enable source maps by default. + */ + "sourceMap": true, + "esModuleInterop": true, + "skipLibCheck": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable this if you'd like to use dynamic types. + */ + "checkJs": true + }, + /** + * Use global.d.ts instead of compilerOptions.types + * to avoid limiting type declarations. + */ + "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/onboarding.html b/onboarding.html new file mode 100644 index 0000000..1a68244 --- /dev/null +++ b/onboarding.html @@ -0,0 +1,11 @@ + + + + + Lume Onboarding + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..68f9846 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1655 @@ +{ + "name": "lume-extension", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "lume-extension", + "version": "0.0.1", + "dependencies": { + "@scure/bip39": "^1.2.0", + "@sveltejs/vite-plugin-svelte": "^2.0.4", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.24", + "sass": "^1.63.3", + "svelte": "^3.58.0", + "tailwindcss": "^3.3.2", + "vite": "^4.3.9" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@noble/hashes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip39": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.0.tgz", + "integrity": "sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.1.tgz", + "integrity": "sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^1.0.2", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.0", + "svelte-hmr": "^0.15.1", + "vitefu": "^0.2.4" + }, + "engines": { + "node": "^14.18.0 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.54.0 || ^4.0.0-next.0", + "vite": "^4.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.2.tgz", + "integrity": "sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^14.18.0 || >= 16" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^2.2.0", + "svelte": "^3.54.0 || ^4.0.0-next.0", + "vite": "^4.0.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001503", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001503.tgz", + "integrity": "sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.433", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.433.tgz", + "integrity": "sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ==" + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.1.tgz", + "integrity": "sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.63.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz", + "integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "3.59.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.59.1.tgz", + "integrity": "sha512-pKj8fEBmqf6mq3/NfrB9SLtcJcUvjYSWyePlfCqN9gujLB25RitWK8PvFzlwim6hD/We35KbPlRteuA6rnPGcQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/svelte-hmr": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.2.tgz", + "integrity": "sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==", + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0-next.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz", + "integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fea9235 --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "lume-extension", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@scure/bip39": "^1.2.0", + "@sveltejs/vite-plugin-svelte": "^2.0.4", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.24", + "sass": "^1.63.3", + "svelte": "^3.58.0", + "tailwindcss": "^3.3.2", + "vite": "^4.3.9" + } +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..f35c582 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,7 @@ +module.exports = { + plugins: [ + require('tailwindcss/nesting'), + require('tailwindcss'), + require('autoprefixer') + ] +} diff --git a/public/fonts/Jaldi-Regular.woff2 b/public/fonts/Jaldi-Regular.woff2 new file mode 100644 index 0000000..24e6d58 Binary files /dev/null and b/public/fonts/Jaldi-Regular.woff2 differ diff --git a/public/fonts/JetBrainsMono-Bold.woff2 b/public/fonts/JetBrainsMono-Bold.woff2 new file mode 100644 index 0000000..4917f43 Binary files /dev/null and b/public/fonts/JetBrainsMono-Bold.woff2 differ diff --git a/public/fonts/JetBrainsMono-Light.woff2 b/public/fonts/JetBrainsMono-Light.woff2 new file mode 100644 index 0000000..6538498 Binary files /dev/null and b/public/fonts/JetBrainsMono-Light.woff2 differ diff --git a/public/fonts/JetBrainsMono-Regular.woff2 b/public/fonts/JetBrainsMono-Regular.woff2 new file mode 100644 index 0000000..40da427 Binary files /dev/null and b/public/fonts/JetBrainsMono-Regular.woff2 differ diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..26b4d70 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-Agent: * +Allow: / \ No newline at end of file diff --git a/src/account.js b/src/account.js new file mode 100644 index 0000000..0a78efc --- /dev/null +++ b/src/account.js @@ -0,0 +1,7 @@ +import Account from '/src/components/account/Account.svelte' + +const app = new Account({ + target: document.getElementById('app'), +}) + +export default app diff --git a/src/assets/lume-logo.png b/src/assets/lume-logo.png new file mode 100644 index 0000000..54e05aa Binary files /dev/null and b/src/assets/lume-logo.png differ diff --git a/src/assets/onboarding-1.jpg b/src/assets/onboarding-1.jpg new file mode 100644 index 0000000..e90b614 Binary files /dev/null and b/src/assets/onboarding-1.jpg differ diff --git a/src/assets/onboarding-2.jpg b/src/assets/onboarding-2.jpg new file mode 100644 index 0000000..7008775 Binary files /dev/null and b/src/assets/onboarding-2.jpg differ diff --git a/src/assets/onboarding-3.jpg b/src/assets/onboarding-3.jpg new file mode 100644 index 0000000..3952845 Binary files /dev/null and b/src/assets/onboarding-3.jpg differ diff --git a/src/assets/onboarding-4.jpg b/src/assets/onboarding-4.jpg new file mode 100644 index 0000000..cab1314 Binary files /dev/null and b/src/assets/onboarding-4.jpg differ diff --git a/src/components/Header.svelte b/src/components/Header.svelte new file mode 100644 index 0000000..da9c6e5 --- /dev/null +++ b/src/components/Header.svelte @@ -0,0 +1,22 @@ + + +
+ Lume +
+ + diff --git a/src/components/account/Account.svelte b/src/components/account/Account.svelte new file mode 100644 index 0000000..4c4beee --- /dev/null +++ b/src/components/account/Account.svelte @@ -0,0 +1,1010 @@ + + +
+
+
+
+
+
+
+
+
+
+
+
+

Access the open web with ease

+

Seamless access to the open web with Lume, integrated Handshake (HNS) and Ethereum (ENS) Support.

+
+
+

Set up your account key

+

Let’s create your account key or seed phrase. This phrase will be used to access your Lume account. Make sure to keep it safe at all times.

+
+
+

Here’s your account key

+

Make sure to keep it safe at all times.

+
+
+
+
+
+ + +
+
+ OR +
+
+ + + +
+
+
+ {#if createAccountStep > 2} +
+
+ {#each generatedKey as word, index} +
+ {index + 1} + {word} +
+ {/each} +
+
+ + + +
Make sure to write this key down for safe keeping.
+
+
+ +
+
+
+ +
+ +
+
+ {/if} +
+
+
+
+
+ Lume is a 503c Grant recepient, learn more about the work we’re doing to provide accessible access to the open web for everyone. +
+
+
+ + diff --git a/src/components/dashboard/Dashboard.svelte b/src/components/dashboard/Dashboard.svelte new file mode 100644 index 0000000..b1260dc --- /dev/null +++ b/src/components/dashboard/Dashboard.svelte @@ -0,0 +1,13 @@ + + +
+ +
+ + diff --git a/src/components/onboarding/Onboarding.svelte b/src/components/onboarding/Onboarding.svelte new file mode 100644 index 0000000..da2e69b --- /dev/null +++ b/src/components/onboarding/Onboarding.svelte @@ -0,0 +1,240 @@ + + +
+
+
+
+
+
+
+
+
+

Thank you for supporting an open web.

+

We are an independent, pure organization. We have decided not to take money from venture capitalists. Nor do we have a large treasury funding our work.

+
+ +
+
+
+

Gateway for easy access to the open web.

+

Easy Access to Web3. With native Handshake (HNS) and Ethereum (ENS) support, you can forget eth.link and hns.is. This is your gateway.

+
+ + +
+
+
+

Universal storage drive slide.

+

Stop worrying about being vendor-locked. Remain flexible and reduce your storage costs by 50% or more. Lume is affordable storage on-demand.

+
+ + +
+
+
+

Create decentralized websites.

+

Stop worrying about being vendor-locked. Remain flexible and reduce your storage costs by 50% or more. Lume is affordable storage on-demand. Stop worrying about being vendor-locked.

+
+ + +
+
+
+
+ Lume is a 503c Grant recepient, learn more about the work we’re doing to provide accessible access to the open web for everyone. +
+
+
+ + diff --git a/src/dashboard.js b/src/dashboard.js new file mode 100644 index 0000000..b52ed74 --- /dev/null +++ b/src/dashboard.js @@ -0,0 +1,7 @@ +import Dashboard from '/src/components/dashboard/Dashboard.svelte' + +const app = new Dashboard({ + target: document.getElementById('app'), +}) + +export default app diff --git a/src/onboarding.js b/src/onboarding.js new file mode 100644 index 0000000..e69318f --- /dev/null +++ b/src/onboarding.js @@ -0,0 +1,7 @@ +import Onboarding from '/src/components/onboarding/Onboarding.svelte' + +const app = new Onboarding({ + target: document.getElementById('app'), +}) + +export default app diff --git a/src/styles/artwork.scss b/src/styles/artwork.scss new file mode 100644 index 0000000..bcb2ce9 --- /dev/null +++ b/src/styles/artwork.scss @@ -0,0 +1 @@ +$lume-base64: url('data:image/png;base64,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'); diff --git a/src/styles/global.scss b/src/styles/global.scss new file mode 100644 index 0000000..bfb0dcd --- /dev/null +++ b/src/styles/global.scss @@ -0,0 +1,115 @@ +@import "./mixins.scss"; +@import "./vars.scss"; + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("/fonts/JetBrainsMono-Light.woff2") format('woff2'); +} + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("/fonts/JetBrainsMono-Regular.woff2") format('woff2'); +} + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("/fonts/JetBrainsMono-Bold.woff2") format('woff2'); +} + +@font-face { + font-family: 'JetBrains Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("/fonts/JetBrainsMono-Regular.woff2") format('woff2'); +} + +@font-face { + font-family: 'Jaldi'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("/fonts/Jaldi-Regular.woff2") format('woff2'); +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + background: #080808; +} + +#app { + display: flex; + flex-direction: column; + min-height: 100vh; + font-family: $font-family-jaldi; + @include fluid-font-size(0.625rem); +} + +main { + flex-grow: 1; +} + +.btn-wrapper { + display: flex; + gap: 2em; + + button { + flex: 1; + } +} + +.btn-main { + display: inline-block; + padding: 1em; + @include fluid-font-size(1.25rem); + line-height: 1; + color: #fff; + background: #252525; + border: 0.05em solid #252525; + border-radius: 0.25em; + transition: color $transition-duration, background $transition-duration, border-color $transition-duration; + white-space: nowrap; + + &:hover { + background: #2e2e2e; + } + + &.btn-green { + color: #080808; + background: #62c554; + border-color: #62c554; + + &:hover { + background: #6ee65d; + } + } + + &.btn-black { + background: #080808; + border-color: #777; + + &:hover { + border-color: #a1a1a1; + } + + &.gray-text { + color: #777; + + &:hover { + color: #a1a1a1; + } + } + } +} diff --git a/src/styles/mixins.scss b/src/styles/mixins.scss new file mode 100644 index 0000000..38ebc61 --- /dev/null +++ b/src/styles/mixins.scss @@ -0,0 +1,137 @@ +@use "sass:math"; + +$min-vw: 56rem; +$max-vw: 476rem; // 336rem, 616rem + +@function strip-unit($value) { + @return math.div($value, ($value * 0 + 1)); +} + +@mixin fluid-font-size($font-size) { + $min-font-size: calc($font-size * 0.75); + $max-font-size: calc($font-size * 2.5); + + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($font-size); + + @if $u1 == $u2 and $u1 == $u3 { + & { + font-size: $min-font-size; + + @media screen and (min-width: $min-vw) { + font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + font-size: $max-font-size; + } + } + } +} + +@mixin fluid-width-height($width, $height) { + $min-width: calc($width * 0.75); + $max-width: calc($width * 2.5); + + $min-height: calc($height * 0.75); + $max-height: calc($height * 2.5); + + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($width); + $u4: unit($height); + + @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 { + & { + width: $min-width; + height: $min-height; + + @media screen and (min-width: $min-vw) { + width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + width: $max-width; + height: $max-height; + } + } + } +} + +@mixin fluid-width($width) { + $min-width: calc($width * 0.75); + $max-width: calc($width * 2.5); + + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($width); + + @if $u1 == $u2 and $u1 == $u3 { + & { + width: $min-width; + + @media screen and (min-width: $min-vw) { + width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + width: $max-width; + } + } + } +} + +@mixin fluid-height($height) { + $min-height: calc($height * 0.75); + $max-height: calc($height * 2.5); + + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($height); + + @if $u1 == $u2 and $u1 == $u3 { + & { + height: $min-height; + + @media screen and (min-width: $min-vw) { + height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + height: $max-height; + } + } + } +} + +@mixin fluid-max-width-height($width, $height) { + $min-width: calc($width * 0.75); + $max-width: calc($width * 2.5); + + $min-height: calc($height * 0.75); + $max-height: calc($height * 2.5); + + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($width); + $u4: unit($height); + + @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 { + & { + max-width: $min-width; + max-height: $min-height; + + @media screen and (min-width: $min-vw) { + max-width: calc(#{$min-width} + #{strip-unit($max-width - $min-width)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + max-height: calc(#{$min-height} + #{strip-unit($max-height - $min-height)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + max-width: $max-width; + max-height: $max-height; + } + } + } +} diff --git a/src/styles/vars.scss b/src/styles/vars.scss new file mode 100644 index 0000000..193d8c9 --- /dev/null +++ b/src/styles/vars.scss @@ -0,0 +1,5 @@ +$font-family-jaldi: "Jaldi", sans-serif; +$font-family-jetbrains-mono: "JetBrains Mono", monospace; + +$transition-duration: 250ms; +$transition-duration-double: 500ms; diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..4078e74 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..c847102 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,7 @@ +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +export default { + // Consult https://svelte.dev/docs#compile-time-svelte-preprocess + // for more information about preprocessors + preprocess: vitePreprocess() +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..9f3d60e --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,16 @@ +module.exports = { + content: [ + './onboarding.html', + './account.html', + './dashboard.html', + './src/**/*.{svelte,js,ts}' + ], + mode: 'jit', + theme: { + extend: {} + }, + variants: { + extend: {} + }, + plugins: [] +}; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..7452152 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite'; +import { svelte } from '@sveltejs/vite-plugin-svelte'; +import { resolve } from 'path'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [svelte()], + build: { + rollupOptions: { + input: { + onboarding: resolve(__dirname, 'onboarding.html'), + account: resolve(__dirname, 'account.html'), + dashboard: resolve(__dirname, 'dashboard.html') + } + }, + }, +});