From 476a4517849fe56f7bffc369bbe6c114587d1906 Mon Sep 17 00:00:00 2001 From: core Date: Fri, 24 Nov 2023 20:47:52 -0500 Subject: [PATCH] client main page ui --- starkingdoms-client/.gitignore | 24 ++ starkingdoms-client/index.html | 43 +++ starkingdoms-client/package.json | 15 + starkingdoms-client/public/footer.css | 13 + starkingdoms-client/public/form.css | 138 +++++++++ starkingdoms-client/public/globals.css | 25 ++ starkingdoms-client/public/grid.css | 5 + starkingdoms-client/public/popup.css | 22 ++ starkingdoms-client/public/style.css | 5 + .../themes/catppuccin-common/definitions.css | 34 +++ .../public/themes/catppuccin-mocha/colors.css | 32 +++ starkingdoms-client/src/config.json | 8 + starkingdoms-client/src/env.d.ts | 2 + starkingdoms-client/src/main.ts | 65 +++++ starkingdoms-client/tsconfig.json | 23 ++ starkingdoms-client/vite.config.ts | 12 + starkingdoms-client/yarn.lock | 265 ++++++++++++++++++ 17 files changed, 731 insertions(+) create mode 100644 starkingdoms-client/.gitignore create mode 100644 starkingdoms-client/index.html create mode 100644 starkingdoms-client/package.json create mode 100644 starkingdoms-client/public/footer.css create mode 100644 starkingdoms-client/public/form.css create mode 100644 starkingdoms-client/public/globals.css create mode 100644 starkingdoms-client/public/grid.css create mode 100644 starkingdoms-client/public/popup.css create mode 100644 starkingdoms-client/public/style.css create mode 100644 starkingdoms-client/public/themes/catppuccin-common/definitions.css create mode 100644 starkingdoms-client/public/themes/catppuccin-mocha/colors.css create mode 100644 starkingdoms-client/src/config.json create mode 100644 starkingdoms-client/src/env.d.ts create mode 100644 starkingdoms-client/src/main.ts create mode 100644 starkingdoms-client/tsconfig.json create mode 100644 starkingdoms-client/vite.config.ts create mode 100644 starkingdoms-client/yarn.lock diff --git a/starkingdoms-client/.gitignore b/starkingdoms-client/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a547bf36d8d11a4f89c59c144f24795749086dd1 --- /dev/null +++ b/starkingdoms-client/.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/starkingdoms-client/index.html b/starkingdoms-client/index.html new file mode 100644 index 0000000000000000000000000000000000000000..e1f0d1c855efab9c33e411292896ef06e739117e --- /dev/null +++ b/starkingdoms-client/index.html @@ -0,0 +1,43 @@ + + + + + + + + StarKingdoms + + + + +
+ +
+ + + + + + diff --git a/starkingdoms-client/package.json b/starkingdoms-client/package.json new file mode 100644 index 0000000000000000000000000000000000000000..da0cabd5b38482ec5f3dab55e30ba9951847d9b7 --- /dev/null +++ b/starkingdoms-client/package.json @@ -0,0 +1,15 @@ +{ + "name": "starkingdoms-client", + "private": true, + "version": "0.1.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "typescript": "^5.2.2", + "vite": "^5.0.0" + } +} diff --git a/starkingdoms-client/public/footer.css b/starkingdoms-client/public/footer.css new file mode 100644 index 0000000000000000000000000000000000000000..1f2645781dba0cec7082f6b20faa2e2d7876015d --- /dev/null +++ b/starkingdoms-client/public/footer.css @@ -0,0 +1,13 @@ +.footer { + font-size: 0.75rem; + line-height: 1rem; + position: absolute; + bottom: 1vh; + left: 1vw; +} +.footer-icon { + vertical-align: middle; + display: inline-block; + width: 1rem; + height: 1rem; +} \ No newline at end of file diff --git a/starkingdoms-client/public/form.css b/starkingdoms-client/public/form.css new file mode 100644 index 0000000000000000000000000000000000000000..052b7ec91474a274d81e54ed3ca6af468fe071a4 --- /dev/null +++ b/starkingdoms-client/public/form.css @@ -0,0 +1,138 @@ +.launch-btn { + appearance: none; + width: 100%; + padding: 1vh 1vw; + margin-top: 1vw; + color: var(--text); + background: transparent; + border: 2px solid var(--links); + border-radius: 5px; + transition: 0.1s ease-in-out; +} +.launch-btn:hover { + cursor: pointer; + background-color: var(--links-transparent); +} + +.username-label { + margin-top: 1vh; +} +.fm-select { + margin-bottom: 1vh; +} + +.username-box { + appearance: none; + background: transparent; + color: var(--text); + padding: 0.675em 1em; + border: 1px solid var(--links); + border-radius: 0.25rem; + cursor: text; + width: 100%; + max-width: 100%; +} +.username-box:focus { + outline: none; + background-color: var(--links-ultratransparent); +} + +.fm-select-button { + appearance: none; + background: transparent; + color: var(--text); + width: 100%; + padding: 0.675em 1em; + border: 1px solid var(--links); + border-radius: 0.25rem; + cursor: pointer; + display: flex; + justify-content: space-between; + align-items: center; +} +.fm-selected-value { + text-align: left; +} +.fm-arrow { + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 6px solid var(--links); + transition: transform ease-in-out 0.3s; +} +.fm-select-dropdown { + position: absolute; + list-style: none; + width: 100%; + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); + background-color: var(--bg-secondary-1); + border: 1px solid var(--links); + border-radius: 4px; + padding: 10px; + margin-top: 10px; + max-height: 200px; + overflow-y: auto; + transition: 0.2s ease; + + /*transform: scaleY(0);*/ + opacity: 0; + visibility: hidden; +} +.fm-select-dropdown:focus-within { + box-shadow: 0 10px 25px var(--links-ultratransparent); +} + +.fm-select-dropdown li { + position: relative; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; +} + +.fm-select-dropdown li label { + width: 100%; + padding: 8px 10px; + cursor: pointer; +} + +.fm-select-dropdown::-webkit-scrollbar { + width: 7px; +} +.fm-select-dropdown::-webkit-scrollbar-track { + background: #f1f1f1; + border-radius: 25px; +} + +.fm-select-dropdown::-webkit-scrollbar-thumb { + background: #ccc; + border-radius: 25px; +} + +.fm-select-dropdown li + li { + margin-top: 5px; +} + +.fm-select-dropdown li, .fm-select-dropdown input ~ label { + border-radius: 5px; +} + +.fm-select-dropdown li:hover, .fm-select-dropdown input:checked ~ label { + background-color: var(--surface-0); +} +.fm-select-dropdown input:focus ~ label { + background-color: var(--surface-1); +} + +.fm-select-dropdown input[type="radio"] { + position: absolute; + left: 0; + opacity: 0; +} +.fm-select.active .fm-arrow { + transform: rotate(180deg); +} +.fm-select.active .fm-select-dropdown { + opacity: 1; + visibility: visible; + /*transform: scaleY(1);*/ +} \ No newline at end of file diff --git a/starkingdoms-client/public/globals.css b/starkingdoms-client/public/globals.css new file mode 100644 index 0000000000000000000000000000000000000000..86d42fb4b30b276881ae3cefb8674e5a6a729d7e --- /dev/null +++ b/starkingdoms-client/public/globals.css @@ -0,0 +1,25 @@ +html { + box-sizing: border-box; +} +*, *:before, *:after { + box-sizing: inherit; +} + + +body { + background-color: var(--bg); + color: var(--body); + /* Stolen from Tailwind. Looks good in most places. */ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + line-height: 1.5rem; +} + +h1 { + font-size: 1.25rem; + line-height: 1.75rem; +} +h2 { + font-size: 1.125rem; + line-height: 1.75rem; +} \ No newline at end of file diff --git a/starkingdoms-client/public/grid.css b/starkingdoms-client/public/grid.css new file mode 100644 index 0000000000000000000000000000000000000000..24007545d0f3e3956cc41f2aa54365a917143d37 --- /dev/null +++ b/starkingdoms-client/public/grid.css @@ -0,0 +1,5 @@ +.bg-grid { + background-image: linear-gradient(to right, #80808012 1px, transparent 1px), + linear-gradient(to bottom, #80808012 1px, transparent 1px); + background-size: 24px 24px; +} \ No newline at end of file diff --git a/starkingdoms-client/public/popup.css b/starkingdoms-client/public/popup.css new file mode 100644 index 0000000000000000000000000000000000000000..b7828a6eca3b59f6a54a37b566f0424748873fad --- /dev/null +++ b/starkingdoms-client/public/popup.css @@ -0,0 +1,22 @@ +.popup { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; + + padding: 2vh 1vw; + + background-color: var(--bg-secondary-1); + width: 19%; + height: min-content; + border-radius: 5px; +} +.popup > h1 { + margin: 0; +} +.popup > h2 { + margin: 0 0 1vh; + color: var(--sub-headline); +} \ No newline at end of file diff --git a/starkingdoms-client/public/style.css b/starkingdoms-client/public/style.css new file mode 100644 index 0000000000000000000000000000000000000000..43f726ba513cd5cef907037ec3082df56a6b2d51 --- /dev/null +++ b/starkingdoms-client/public/style.css @@ -0,0 +1,5 @@ +@import "globals.css"; +@import "grid.css"; +@import "popup.css"; +@import "footer.css"; +@import "form.css"; \ No newline at end of file diff --git a/starkingdoms-client/public/themes/catppuccin-common/definitions.css b/starkingdoms-client/public/themes/catppuccin-common/definitions.css new file mode 100644 index 0000000000000000000000000000000000000000..c212df55d9ff15b7f8fc085b50010e9f58535a06 --- /dev/null +++ b/starkingdoms-client/public/themes/catppuccin-common/definitions.css @@ -0,0 +1,34 @@ +/* Common name definitions for all Catppuccin-based themes. */ +/* This is also a good reference if you want to make your own themes, for what variables you *must* define. */ + +:root { + /* Background colors */ + --bg: rgb(var(--base)); + --bg-secondary-1: rgb(var(--crust)); + --bg-secondary-2: rgb(var(--mantle)); + + --surface-0: rgb(var(--surface0)); + --surface-1: rgb(var(--surface1)); + --surface-2: rgb(var(--surface2)); + + --overlay-0: rgb(var(--overlay0)); + --overlay-1: rgb(var(--overlay1)); + --overlay-2: rgb(var(--overlay2)); + + /* Typography */ + --body: rgb(var(--text)); + --headline: rgb(var(--text)); + --sub-headline: rgb(var(--subtext0)); + --label: rgb(var(--subtext0)); + --subtle: rgb(var(--overlay1)); + --links: rgb(var(--blue)); + --links-transparent: rgba(var(--blue), 0.35); + --links-ultratransparent: rgba(var(--blue), 0.15); + --success: rgb(var(--green)); + --warning: rgb(var(--yellow)); + --error: rgb(var(--red)); + --tag: rgb(var(--blue)); + --pill: rgb(var(--blue)); + --sel-bg: rgba(var(--surface2), 0.4); + --cursor: rgb(var(--rosewater)); +} \ No newline at end of file diff --git a/starkingdoms-client/public/themes/catppuccin-mocha/colors.css b/starkingdoms-client/public/themes/catppuccin-mocha/colors.css new file mode 100644 index 0000000000000000000000000000000000000000..9b3bca6266e0f8fed68b09eb75f8ed873b52027d --- /dev/null +++ b/starkingdoms-client/public/themes/catppuccin-mocha/colors.css @@ -0,0 +1,32 @@ +/* Color palette from Catppuccin Mocha. Thanks! */ +@import "../catppuccin-common/definitions.css"; + +:root { + --rosewater: 245, 224, 220; + --flamingo: 242, 205, 205; + --pink: 245, 194, 231; + --mauve: 203, 166, 247; + --red: 243, 139, 169; + --maroon: 235, 160, 172; + --peach: 250, 179, 135; + --yellow: 249, 226, 175; + --green: 166, 227, 161; + --teal: 148, 226, 213; + --sky: 137, 220, 235; + --sapphire: 116, 199, 236; + --blue: 137, 180, 250; + --lavender: 180, 190, 254; + --text: 205, 214, 244; + --subtext1: 186, 194, 222; + --subtext0: 166, 173, 200; + --overlay2: 147, 153, 178; + --overlay1: 127, 132, 156; + --overlay0: 108, 112, 134; + --surface2: 88, 91, 112; + --surface1: 69, 71, 90; + --surface0: 49, 50, 68; + --base: 30, 30, 46; + --mantle: 24, 24, 37; + --crust: 17, 17, 27; +} + diff --git a/starkingdoms-client/src/config.json b/starkingdoms-client/src/config.json new file mode 100644 index 0000000000000000000000000000000000000000..d8cf10c2e39b152aaf6deac260875505b45f5fd2 --- /dev/null +++ b/starkingdoms-client/src/config.json @@ -0,0 +1,8 @@ +{ + "servers": { + "stk-prod": {"name": "StarKingdoms", "url": "wss://starkingdoms.io/", "api": "https://api.starkingdoms.io"}, + "stk-beta": {"name": "StarKingdoms Beta", "url": "wss://beta.starkingdoms.io/", "api": "https://api.beta.starkingdoms.io"}, + "stk-unstable": {"name": "StarKingdoms Unstable", "url": "wss://unstable.starkingdoms.io/", "api": "https://api.unstable.starkingdoms.io"}, + "dev": {"name": "Local", "url": "ws://localhost:3000/", "api": "http://localhost:8080"} + } +} \ No newline at end of file diff --git a/starkingdoms-client/src/env.d.ts b/starkingdoms-client/src/env.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c10a6231aea681dd4fd0b445c26d2ee292b4453e --- /dev/null +++ b/starkingdoms-client/src/env.d.ts @@ -0,0 +1,2 @@ +declare const APP_VERSION: string; +declare const COMMIT_HASH: string; \ No newline at end of file diff --git a/starkingdoms-client/src/main.ts b/starkingdoms-client/src/main.ts new file mode 100644 index 0000000000000000000000000000000000000000..5681de4cbf8d8ce8191eb883a3c84e0048d09a0b --- /dev/null +++ b/starkingdoms-client/src/main.ts @@ -0,0 +1,65 @@ +import CONFIG from "./config.json"; + +const version_string = `StarKingdoms ${APP_VERSION} (${COMMIT_HASH}) made with by the StarKingdoms team`; +document.getElementById("footer")!.innerHTML = version_string; + +// Dropdown stuff +const custom_select = document.querySelector(".fm-select")!; +const custom_select_btn = document.querySelector(".fm-select-button")!; +custom_select_btn.addEventListener("click", (e) => { + e.preventDefault(); + custom_select.classList.toggle("active"); + custom_select_btn.setAttribute("aria-expanded", custom_select_btn.getAttribute("aria-expanded") === "true" ? "false" : "true"); +}); + +const selected_value = document.querySelector(".fm-selected-value")!; + +// Populate the main page server selector +interface ConfigServer { + name: string; + url: string; + api: string; +} + +let inverse_server_lookup: {[name: string]: string} = {}; + +const dropdown = document.getElementById("fm-select-dropdown")!; + +for (let server_id in CONFIG.servers) { + // @ts-ignore not sure why this complains + let server: ConfigServer = CONFIG.servers[server_id]; + let is_first = Object.keys(inverse_server_lookup).length == 0; + let html_text = ` +
  • + + +
  • + `; + inverse_server_lookup[server.name] = server_id; + dropdown.innerHTML += html_text; + if (is_first) { + selected_value.textContent = server.name; + } +} + +console.log(inverse_server_lookup); + +const options_list = document.querySelectorAll(".fm-select-dropdown li"); +options_list.forEach((option) => { + function handler(e: Event) { + if (e.type === "click" && (e).clientX !== 0 && (e).clientY !== 0) { + // @ts-ignore + selected_value.textContent = this.children[1].textContent; + custom_select.classList.remove("active"); + } + if (e.type === "keyup") { + console.log((e).target!); + // @ts-ignore + selected_value.textContent = this.textContent; + custom_select.classList.remove("active"); + } + } + option.addEventListener("keyup", handler); + option.addEventListener("click", handler); +}) + diff --git a/starkingdoms-client/tsconfig.json b/starkingdoms-client/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..75abdef26594460f62f904bf54b54377573c9209 --- /dev/null +++ b/starkingdoms-client/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/starkingdoms-client/vite.config.ts b/starkingdoms-client/vite.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..ade4a004b24749fe02445626b72d399fbf7d9fa7 --- /dev/null +++ b/starkingdoms-client/vite.config.ts @@ -0,0 +1,12 @@ +import {defineConfig} from "vite"; +import * as child from "child_process"; + +const commitHash = child.execSync('git describe --no-match --always --abbrev=8 --dirty').toString().trim(); + +export default defineConfig({ + plugins: [], + define: { + APP_VERSION: JSON.stringify(process.env.npm_package_version), + COMMIT_HASH: JSON.stringify(commitHash) + } +}) \ No newline at end of file diff --git a/starkingdoms-client/yarn.lock b/starkingdoms-client/yarn.lock new file mode 100644 index 0000000000000000000000000000000000000000..71dd06e20832a84532d2edc1499a156a7afcaebc --- /dev/null +++ b/starkingdoms-client/yarn.lock @@ -0,0 +1,265 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@esbuild/android-arm64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.7.tgz#646156aea43e8e6723de6e94a4ac07c5aed41be1" + integrity sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w== + +"@esbuild/android-arm@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.7.tgz#0827b49aed813c33ea18ee257c1728cdc4a01030" + integrity sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww== + +"@esbuild/android-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.7.tgz#fa294ed5214d88219d519e0ab1bbb0253a89b864" + integrity sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw== + +"@esbuild/darwin-arm64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.7.tgz#e24d2ed545749ff251eabe8bce11fefa688892d3" + integrity sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw== + +"@esbuild/darwin-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.7.tgz#02d1f8a572874c90d8f55dde8a859e5145bd06f6" + integrity sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ== + +"@esbuild/freebsd-arm64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.7.tgz#bc6a69b9a7915da278f0a5ebaec069c813982c22" + integrity sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ== + +"@esbuild/freebsd-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.7.tgz#ec3708488625d70e565968ceea1355e7c8613865" + integrity sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA== + +"@esbuild/linux-arm64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.7.tgz#8e04b66c306858f92d4f90f8222775270755e88a" + integrity sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g== + +"@esbuild/linux-arm@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.7.tgz#12d5b65e089029ee1fe4c591b60969c9b1a85355" + integrity sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww== + +"@esbuild/linux-ia32@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.7.tgz#01eabc2a3ad9039e115db650268e4f48f910dbe2" + integrity sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g== + +"@esbuild/linux-loong64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.7.tgz#70681113632970e6a5766607bbdb98aa18cf4d5f" + integrity sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw== + +"@esbuild/linux-mips64el@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.7.tgz#f63c022a71a3d70c482d1943a27cb8997021e230" + integrity sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w== + +"@esbuild/linux-ppc64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.7.tgz#614eafd08b0c50212f287b948b3c08d6e60f221f" + integrity sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ== + +"@esbuild/linux-riscv64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.7.tgz#31d3b63f92f65968268a8e61ba59872538e80e88" + integrity sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw== + +"@esbuild/linux-s390x@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.7.tgz#be94974e0caa0783ae05f9477fd7170b9ac29cb0" + integrity sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg== + +"@esbuild/linux-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.7.tgz#84e8018a913dd4ecee954623e395984aef3d0007" + integrity sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ== + +"@esbuild/netbsd-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.7.tgz#98898ba8800374c9df9bb182ca4f69fcecaf4411" + integrity sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ== + +"@esbuild/openbsd-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.7.tgz#46dc4eda2adb51f16361b1ad10e9b3f4938c4573" + integrity sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ== + +"@esbuild/sunos-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.7.tgz#1650d40dd88412ecc11490119cd23cbaf661a591" + integrity sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw== + +"@esbuild/win32-arm64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.7.tgz#e61de6c4eb204d83fd912f3ae6812cc8c7d32d25" + integrity sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw== + +"@esbuild/win32-ia32@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.7.tgz#3d9c159d42c67e37a433e44ef8217c661cb6f6d0" + integrity sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A== + +"@esbuild/win32-x64@0.19.7": + version "0.19.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.7.tgz#02c4446f802706098d8e6ee70cf2b7aba96ded0b" + integrity sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ== + +"@rollup/rollup-android-arm-eabi@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.2.tgz#fa3e9ba323449f098b8d144ecaa4f044d2ff2ee3" + integrity sha512-ee7BudTwwrglFYSc3UnqInDDjCLWHKrFmGNi4aK7jlEyg4CyPa1DCMrZfsN1O13YT76UFEqXz2CoN7BCGpUlJw== + +"@rollup/rollup-android-arm64@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.5.2.tgz#961089fe117ceca642b6432fadd093048da93ae8" + integrity sha512-xOuhj9HHtn8128ir8veoQsBbAUBasDbHIBniYTEx02pAmu9EXL+ZjJqngnNEy6ZgZ4h1JwL33GMNu3yJL5Mzow== + +"@rollup/rollup-darwin-arm64@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.5.2.tgz#a8c13123b830aa743f604b732d72b260dd9de0f6" + integrity sha512-NTGJWoL8bKyqyWFn9/RzSv4hQ4wTbaAv0lHHRwf4OnpiiP4P8W0jiXbm8Nc5BCXKmWAwuvJY82mcIU2TayC20g== + +"@rollup/rollup-darwin-x64@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.5.2.tgz#ab3a46c846bed784e8f52f253c59dcd70175ef24" + integrity sha512-hlKqj7bpPvU15sZo4za14u185lpMzdwWLMc9raMqPK4wywt0wR23y1CaVQ4oAFXat3b5/gmRntyfpwWTKl+vvA== + +"@rollup/rollup-linux-arm-gnueabihf@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.5.2.tgz#aa98197f06d9d795a317152ec8d95e65a369053b" + integrity sha512-7ZIZx8c3u+pfI0ohQsft/GywrXez0uR6dUP0JhBuCK3sFO5TfdLn/YApnVkvPxuTv3+YKPIZend9Mt7Cz6sS3Q== + +"@rollup/rollup-linux-arm64-gnu@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.5.2.tgz#a0dc66fa46553b8bb1c96df41ae8308770aebecf" + integrity sha512-7Pk/5mO11JW/cH+a8lL/i0ZxmRGrbpYqN0VwO2DHhU+SJWWOH2zE1RAcPaj8KqiwC8DCDIJOSxjV9+9lLb6aeA== + +"@rollup/rollup-linux-arm64-musl@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.5.2.tgz#32117bb51bdd761b8f759c9fed9eab493154cdfd" + integrity sha512-KrRnuG5phJx756e62wxvWH2e+TK84MP2IVuPwfge+GBvWqIUfVzFRn09TKruuQBXzZp52Vyma7FjMDkwlA9xpg== + +"@rollup/rollup-linux-x64-gnu@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.5.2.tgz#566cda292f95d6ef995344887217a82e9fd20ad6" + integrity sha512-My+53GasPa2D2tU5dXiyHYwrELAUouSfkNlZ3bUKpI7btaztO5vpALEs3mvFjM7aKTvEbc7GQckuXeXIDKQ0fg== + +"@rollup/rollup-linux-x64-musl@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.5.2.tgz#d5dcc18af0388209e11586d3c0c9626ba7577b04" + integrity sha512-/f0Q6Sc+Vw54Ws6N8fxaEe4R7at3b8pFyv+O/F2VaQ4hODUJcRUcCBJh6zuqtgQQt7w845VTkGLFgWZkP3tUoQ== + +"@rollup/rollup-win32-arm64-msvc@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.5.2.tgz#b880eb1d349f166939ffbe27cbf1efd2e1923819" + integrity sha512-NCKuuZWLht6zj7s6EIFef4BxCRX1GMr83S2W4HPCA0RnJ4iHE4FS1695q6Ewoa6A9nFjJe1//yUu0kgBU07Edw== + +"@rollup/rollup-win32-ia32-msvc@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.5.2.tgz#4b799c851864a10491a4755b5b8eadceae3e9889" + integrity sha512-J5zL3riR4AOyU/J3M/i4k/zZ8eP1yT+nTmAKztCXJtnI36jYH0eepvob22mAQ/kLwfsK2TB6dbyVY1F8c/0H5A== + +"@rollup/rollup-win32-x64-msvc@4.5.2": + version "4.5.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.5.2.tgz#7e59216d929a6b444304000be40c32d2d127fe4f" + integrity sha512-pL0RXRHuuGLhvs7ayX/SAHph1hrDPXOM5anyYUQXWJEENxw3nfHkzv8FfVlEVcLyKPAEgDRkd6RKZq2SMqS/yg== + +esbuild@^0.19.3: + version "0.19.7" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.7.tgz#b9a7235097b81278dcf090e2532ed13c95a2ee84" + integrity sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ== + optionalDependencies: + "@esbuild/android-arm" "0.19.7" + "@esbuild/android-arm64" "0.19.7" + "@esbuild/android-x64" "0.19.7" + "@esbuild/darwin-arm64" "0.19.7" + "@esbuild/darwin-x64" "0.19.7" + "@esbuild/freebsd-arm64" "0.19.7" + "@esbuild/freebsd-x64" "0.19.7" + "@esbuild/linux-arm" "0.19.7" + "@esbuild/linux-arm64" "0.19.7" + "@esbuild/linux-ia32" "0.19.7" + "@esbuild/linux-loong64" "0.19.7" + "@esbuild/linux-mips64el" "0.19.7" + "@esbuild/linux-ppc64" "0.19.7" + "@esbuild/linux-riscv64" "0.19.7" + "@esbuild/linux-s390x" "0.19.7" + "@esbuild/linux-x64" "0.19.7" + "@esbuild/netbsd-x64" "0.19.7" + "@esbuild/openbsd-x64" "0.19.7" + "@esbuild/sunos-x64" "0.19.7" + "@esbuild/win32-arm64" "0.19.7" + "@esbuild/win32-ia32" "0.19.7" + "@esbuild/win32-x64" "0.19.7" + +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== + +nanoid@^3.3.6: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +postcss@^8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +rollup@^4.2.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.5.2.tgz#2cf0ef0a57cb4038c50a66356684fd30071d0595" + integrity sha512-CRK1uoROBfkcqrZKyaFcqCcZWNsvJ6yVYZkqTlRocZhO2s5yER6Z3f/QaYtO8RGyloPnmhwgzuPQpNGeK210xQ== + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.5.2" + "@rollup/rollup-android-arm64" "4.5.2" + "@rollup/rollup-darwin-arm64" "4.5.2" + "@rollup/rollup-darwin-x64" "4.5.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.5.2" + "@rollup/rollup-linux-arm64-gnu" "4.5.2" + "@rollup/rollup-linux-arm64-musl" "4.5.2" + "@rollup/rollup-linux-x64-gnu" "4.5.2" + "@rollup/rollup-linux-x64-musl" "4.5.2" + "@rollup/rollup-win32-arm64-msvc" "4.5.2" + "@rollup/rollup-win32-ia32-msvc" "4.5.2" + "@rollup/rollup-win32-x64-msvc" "4.5.2" + fsevents "~2.3.2" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +typescript@^5.2.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43" + integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ== + +vite@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.2.tgz#3c94627dace83b9bf04b64eaf618038e30fb95c0" + integrity sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g== + dependencies: + esbuild "^0.19.3" + postcss "^8.4.31" + rollup "^4.2.0" + optionalDependencies: + fsevents "~2.3.3"