From acdeb73db768638a8183b26c954c54e201996654 Mon Sep 17 00:00:00 2001 From: thecodebranch Date: Thu, 27 Jun 2024 20:07:23 +0000 Subject: [PATCH] add-svelte-blog-post (#1) Add svelte blog post code sample for reference. --- .gitignore | 2 + README.md | 3 + svelte-introduction/README.md | 21 + svelte-introduction/images/todo-component.png | Bin 0 -> 29729 bytes svelte-introduction/index.html | 12 + svelte-introduction/jsconfig.json | 32 ++ svelte-introduction/package.json | 16 + svelte-introduction/src/App.svelte | 7 + svelte-introduction/src/lib/ShopList.svelte | 93 ++++ svelte-introduction/src/main.js | 7 + svelte-introduction/svelte.config.js | 5 + svelte-introduction/vite.config.js | 6 + svelte-introduction/yarn.lock | 492 ++++++++++++++++++ 13 files changed, 696 insertions(+) create mode 100644 .gitignore create mode 100644 svelte-introduction/README.md create mode 100644 svelte-introduction/images/todo-component.png create mode 100644 svelte-introduction/index.html create mode 100644 svelte-introduction/jsconfig.json create mode 100644 svelte-introduction/package.json create mode 100644 svelte-introduction/src/App.svelte create mode 100644 svelte-introduction/src/lib/ShopList.svelte create mode 100644 svelte-introduction/src/main.js create mode 100644 svelte-introduction/svelte.config.js create mode 100644 svelte-introduction/vite.config.js create mode 100644 svelte-introduction/yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f32e4b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode +node_modules \ No newline at end of file diff --git a/README.md b/README.md index e69de29..be4d3c5 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,3 @@ +# General Blog Posts Repository + +This repository contains code samples that are related to blog. This might change in the future, since I'm not sure if I want to keep everything in one repo or break it out into invidivual repos. For now, this seems to be the easiest way to share the code samples with our readers. The repository contains a collection of diverse code samples covering topics such as Python, Svelte, JavaScript, and general topics. Each directory represents a different topic or project discussed in the blog. diff --git a/svelte-introduction/README.md b/svelte-introduction/README.md new file mode 100644 index 0000000..35b248b --- /dev/null +++ b/svelte-introduction/README.md @@ -0,0 +1,21 @@ +# Svelte Introduction + +This sample code is relate to the following blog post: + +- https://thecodebranch.com/posts/svelte/why-svelte + +Here, we showcase a simple todo component that highlights some basic features Svelte. It also uses a development server called Vite, which helps to facilitate local development and project bundling. For example, it provides hot-reloading capabailities, local server proxying, and more! + + +## Setup + +Navigate to this directory and run: + +```bash +yarn install +yarn dev +``` + +## Demo + +![svelte todo component](./images/todo-component.png "Svelte Todo Component") \ No newline at end of file diff --git a/svelte-introduction/images/todo-component.png b/svelte-introduction/images/todo-component.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c9553909fa596ed7b26043e6cb3443f4d0073c GIT binary patch literal 29729 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 V2d6x@!1A3KG7|FQMPmA|{s*S=T^s-a literal 0 HcmV?d00001 diff --git a/svelte-introduction/index.html b/svelte-introduction/index.html new file mode 100644 index 0000000..7616747 --- /dev/null +++ b/svelte-introduction/index.html @@ -0,0 +1,12 @@ + + + + + + Basic Todo + + +
+ + + diff --git a/svelte-introduction/jsconfig.json b/svelte-introduction/jsconfig.json new file mode 100644 index 0000000..3f145a3 --- /dev/null +++ b/svelte-introduction/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": false + }, + /** + * Use global.d.ts instead of compilerOptions.types + * to avoid limiting type declarations. + */ + "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/svelte-introduction/package.json b/svelte-introduction/package.json new file mode 100644 index 0000000..c6b2410 --- /dev/null +++ b/svelte-introduction/package.json @@ -0,0 +1,16 @@ +{ + "name": "svelte-demo", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.1.1", + "svelte": "^4.2.18", + "vite": "^5.3.1" + } +} diff --git a/svelte-introduction/src/App.svelte b/svelte-introduction/src/App.svelte new file mode 100644 index 0000000..fba93b1 --- /dev/null +++ b/svelte-introduction/src/App.svelte @@ -0,0 +1,7 @@ + + +
+ +
diff --git a/svelte-introduction/src/lib/ShopList.svelte b/svelte-introduction/src/lib/ShopList.svelte new file mode 100644 index 0000000..3396d60 --- /dev/null +++ b/svelte-introduction/src/lib/ShopList.svelte @@ -0,0 +1,93 @@ + + + +
+ {#each todos as todo} + {#if $pickedUp[todo.id]} +
+

{todo.id}

+

{todo.item}

+

Completed

+
+ {:else} +
+

{todo.id}

+

{todo.item}

+ +
+ {/if} + {/each} +
+ + + diff --git a/svelte-introduction/src/main.js b/svelte-introduction/src/main.js new file mode 100644 index 0000000..fb36356 --- /dev/null +++ b/svelte-introduction/src/main.js @@ -0,0 +1,7 @@ +import App from './App.svelte' + +const app = new App({ + target: document.getElementById('app'), +}) + +export default app diff --git a/svelte-introduction/svelte.config.js b/svelte-introduction/svelte.config.js new file mode 100644 index 0000000..8abe436 --- /dev/null +++ b/svelte-introduction/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' + +export default { + preprocess: vitePreprocess(), +} diff --git a/svelte-introduction/vite.config.js b/svelte-introduction/vite.config.js new file mode 100644 index 0000000..951a9ba --- /dev/null +++ b/svelte-introduction/vite.config.js @@ -0,0 +1,6 @@ +import { defineConfig } from 'vite' +import { svelte } from '@sveltejs/vite-plugin-svelte' + +export default defineConfig({ + plugins: [svelte()], +}) diff --git a/svelte-introduction/yarn.lock b/svelte-introduction/yarn.lock new file mode 100644 index 0000000..af3495a --- /dev/null +++ b/svelte-introduction/yarn.lock @@ -0,0 +1,492 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.1": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@rollup/rollup-android-arm-eabi@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27" + integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== + +"@rollup/rollup-android-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203" + integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== + +"@rollup/rollup-darwin-arm64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096" + integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== + +"@rollup/rollup-darwin-x64@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c" + integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== + +"@rollup/rollup-linux-arm-gnueabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8" + integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== + +"@rollup/rollup-linux-arm-musleabihf@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549" + integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== + +"@rollup/rollup-linux-arm64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577" + integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== + +"@rollup/rollup-linux-arm64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c" + integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf" + integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== + +"@rollup/rollup-linux-riscv64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9" + integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== + +"@rollup/rollup-linux-s390x-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec" + integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== + +"@rollup/rollup-linux-x64-gnu@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942" + integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== + +"@rollup/rollup-linux-x64-musl@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d" + integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== + +"@rollup/rollup-win32-arm64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf" + integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== + +"@rollup/rollup-win32-ia32-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54" + integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== + +"@rollup/rollup-win32-x64-msvc@4.18.0": + version "4.18.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4" + integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== + +"@sveltejs/vite-plugin-svelte-inspector@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz#116ba2b73be43c1d7d93de749f37becc7e45bb8c" + integrity sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg== + dependencies: + debug "^4.3.4" + +"@sveltejs/vite-plugin-svelte@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz#e71bb0631ca40a3a1d272315beaff9bdd5482841" + integrity sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A== + dependencies: + "@sveltejs/vite-plugin-svelte-inspector" "^2.1.0" + debug "^4.3.4" + deepmerge "^4.3.1" + kleur "^4.1.5" + magic-string "^0.30.10" + svelte-hmr "^0.16.0" + vitefu "^0.2.5" + +"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0", "@types/estree@^1.0.1": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +acorn@^8.10.0, acorn@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" + integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== + +aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +axobject-query@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.0.0.tgz#04a4c90dce33cc5d606c76d6216e3b250ff70dab" + integrity sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw== + dependencies: + dequal "^2.0.3" + +code-red@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.4.tgz#59ba5c9d1d320a4ef795bc10a28bd42bfebe3e35" + integrity sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + "@types/estree" "^1.0.1" + acorn "^8.10.0" + estree-walker "^3.0.3" + periscopic "^3.1.0" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +debug@^4.3.4: + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + dependencies: + ms "2.1.2" + +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" + +estree-walker@^3.0.0, estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +is-reference@^3.0.0, is-reference@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" + integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== + dependencies: + "@types/estree" "*" + +kleur@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +locate-character@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974" + integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA== + +magic-string@^0.30.10, magic-string@^0.30.4: + version "0.30.10" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" + integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +periscopic@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" + integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^3.0.0" + is-reference "^3.0.0" + +picocolors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +rollup@^4.13.0: + version "4.18.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda" + integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.18.0" + "@rollup/rollup-android-arm64" "4.18.0" + "@rollup/rollup-darwin-arm64" "4.18.0" + "@rollup/rollup-darwin-x64" "4.18.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.18.0" + "@rollup/rollup-linux-arm-musleabihf" "4.18.0" + "@rollup/rollup-linux-arm64-gnu" "4.18.0" + "@rollup/rollup-linux-arm64-musl" "4.18.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0" + "@rollup/rollup-linux-riscv64-gnu" "4.18.0" + "@rollup/rollup-linux-s390x-gnu" "4.18.0" + "@rollup/rollup-linux-x64-gnu" "4.18.0" + "@rollup/rollup-linux-x64-musl" "4.18.0" + "@rollup/rollup-win32-arm64-msvc" "4.18.0" + "@rollup/rollup-win32-ia32-msvc" "4.18.0" + "@rollup/rollup-win32-x64-msvc" "4.18.0" + fsevents "~2.3.2" + +source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +svelte-hmr@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.16.0.tgz#9f345b7d1c1662f1613747ed7e82507e376c1716" + integrity sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA== + +svelte@^4.2.18: + version "4.2.18" + resolved "https://registry.yarnpkg.com/svelte/-/svelte-4.2.18.tgz#33dbce74e83eb6dcc54dbea25f9758b1d8e8bb78" + integrity sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@jridgewell/sourcemap-codec" "^1.4.15" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/estree" "^1.0.1" + acorn "^8.9.0" + aria-query "^5.3.0" + axobject-query "^4.0.0" + code-red "^1.0.3" + css-tree "^2.3.1" + estree-walker "^3.0.3" + is-reference "^3.0.1" + locate-character "^3.0.0" + magic-string "^0.30.4" + periscopic "^3.1.0" + +vite@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.1.tgz#bb2ca6b5fd7483249d3e86b25026e27ba8a663e6" + integrity sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +vitefu@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" + integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==