From 8381483f79967e8137e3b78302616c0cb49db1ba Mon Sep 17 00:00:00 2001 From: Ivan Fraixedes Date: Tue, 29 Aug 2023 17:20:27 +0200 Subject: [PATCH] satellite/admin: Add back-office UI sources Add the front-end sources of the new back-office. The front-end doesn't have any business logic, it only has the pages and the components, so it's purely UI. The front-end was developed in a separate repository until was completed. Change-Id: I382e50789d6b929a67b8a0b887563ef48cb1473d --- satellite/admin/back-office/ui/.gitignore | 5 + satellite/admin/back-office/ui/README.md | 57 + satellite/admin/back-office/ui/index.html | 16 + satellite/admin/back-office/ui/jsconfig.json | 19 + satellite/admin/back-office/ui/package.json | 30 + .../admin/back-office/ui/public/favicon.ico | Bin 0 -> 1182 bytes .../admin/back-office/ui/public/logo.svg | 6 + satellite/admin/back-office/ui/src/App.vue | 10 + .../back-office/ui/src/assets/icon-access.svg | 3 + .../ui/src/assets/icon-account.svg | 3 + .../ui/src/assets/icon-arrow-down.svg | 3 + .../ui/src/assets/icon-arrow-right.svg | 3 + .../ui/src/assets/icon-audio-color.svg | 4 + .../ui/src/assets/icon-audio-tonal.svg | 5 + .../ui/src/assets/icon-back-tonal.svg | 5 + .../ui/src/assets/icon-bookmark.svg | 3 + .../ui/src/assets/icon-bucket-color.svg | 6 + .../ui/src/assets/icon-bucket-tonal.svg | 6 + .../back-office/ui/src/assets/icon-bucket.svg | 3 + .../back-office/ui/src/assets/icon-card.svg | 3 + .../ui/src/assets/icon-check-color.svg | 3 + .../back-office/ui/src/assets/icon-close.svg | 3 + .../ui/src/assets/icon-dashboard.svg | 3 + .../back-office/ui/src/assets/icon-docs.svg | 3 + .../ui/src/assets/icon-download.svg | 3 + .../ui/src/assets/icon-dropdown.svg | 3 + .../ui/src/assets/icon-file-color.svg | 4 + .../ui/src/assets/icon-file-tonal.svg | 5 + .../back-office/ui/src/assets/icon-file.svg | 3 + .../ui/src/assets/icon-folder-color.svg | 6 + .../ui/src/assets/icon-folder-tonal.svg | 6 + .../back-office/ui/src/assets/icon-folder.svg | 3 + .../back-office/ui/src/assets/icon-forum.svg | 3 + .../ui/src/assets/icon-geo-distribution.svg | 3 + .../ui/src/assets/icon-image-color.svg | 4 + .../ui/src/assets/icon-image-tonal.svg | 5 + .../back-office/ui/src/assets/icon-info.svg | 3 + .../back-office/ui/src/assets/icon-lock.svg | 3 + .../back-office/ui/src/assets/icon-logout.svg | 3 + .../back-office/ui/src/assets/icon-more.svg | 3 + .../ui/src/assets/icon-pdf-color.svg | 7 + .../ui/src/assets/icon-pdf-tonal.svg | 8 + .../back-office/ui/src/assets/icon-plus.svg | 3 + .../ui/src/assets/icon-project-color.svg | 4 + .../ui/src/assets/icon-project-tonal.svg | 5 + .../ui/src/assets/icon-project.svg | 3 + .../ui/src/assets/icon-projects.svg | 6 + .../ui/src/assets/icon-quickstart.svg | 3 + .../ui/src/assets/icon-resources.svg | 3 + .../back-office/ui/src/assets/icon-right.svg | 3 + .../ui/src/assets/icon-satellite.svg | 3 + .../ui/src/assets/icon-settings.svg | 3 + .../back-office/ui/src/assets/icon-share.svg | 3 + .../ui/src/assets/icon-spreadsheet-color.svg | 4 + .../ui/src/assets/icon-spreadsheet-tonal.svg | 5 + .../ui/src/assets/icon-support.svg | 3 + .../back-office/ui/src/assets/icon-team.svg | 3 + .../ui/src/assets/icon-text-color.svg | 4 + .../ui/src/assets/icon-text-tonal.svg | 5 + .../ui/src/assets/icon-upgrade.svg | 3 + .../ui/src/assets/icon-user-color.svg | 4 + .../back-office/ui/src/assets/icon-user.svg | 4 + .../ui/src/assets/icon-video-color.svg | 4 + .../ui/src/assets/icon-video-tonal.svg | 5 + .../ui/src/assets/icon-zip-color.svg | 15 + .../ui/src/assets/icon-zip-tonal.svg | 16 + .../back-office/ui/src/assets/logo-dark.svg | 7 + .../admin/back-office/ui/src/assets/logo.svg | 7 + .../ui/src/components/AccountActionsMenu.vue | 110 ++ .../ui/src/components/AccountDeleteDialog.vue | 102 ++ .../src/components/AccountGeofenceDialog.vue | 91 ++ .../components/AccountInformationDialog.vue | 92 ++ .../ui/src/components/AccountLimitsDialog.vue | 105 ++ .../components/AccountNewProjectDialog.vue | 83 + .../AccountProjectsTableComponent.vue | 162 ++ .../src/components/AccountResetMFADialog.vue | 83 + .../ui/src/components/AccountStatusDialog.vue | 85 ++ .../src/components/AccountSuspendDialog.vue | 96 ++ .../components/AccountUserAgentsDialog.vue | 88 ++ .../src/components/AccountsTableComponent.vue | 279 ++++ .../ui/src/components/AdminAccountDialog.vue | 83 + .../ui/src/components/BucketActionsMenu.vue | 64 + .../ui/src/components/BucketDeleteDialog.vue | 98 ++ .../src/components/BucketGeofenceDialog.vue | 87 ++ .../components/BucketInformationDialog.vue | 78 + .../src/components/BucketUserAgentsDialog.vue | 87 ++ .../src/components/BucketsTableComponent.vue | 191 +++ .../ui/src/components/CardStatsComponent.vue | 16 + .../DashboardLimitsTableComponent.vue | 255 ++++ .../ui/src/components/LogsTableComponent.vue | 101 ++ .../ui/src/components/NewAccountDialog.vue | 98 ++ .../ui/src/components/NewProjectDialog.vue | 83 + .../src/components/PageSubtitleComponent.vue | 13 + .../ui/src/components/PageTitleComponent.vue | 12 + .../ui/src/components/ProjectActionsMenu.vue | 89 ++ .../src/components/ProjectAddUserDialog.vue | 85 ++ .../ui/src/components/ProjectDeleteDialog.vue | 98 ++ .../src/components/ProjectGeofenceDialog.vue | 87 ++ .../components/ProjectInformationDialog.vue | 81 + .../ui/src/components/ProjectLimitsDialog.vue | 105 ++ .../src/components/ProjectNewBucketDialog.vue | 83 + .../src/components/ProjectResetMFADialog.vue | 83 + .../src/components/ProjectSuspendDialog.vue | 90 ++ .../components/ProjectUserAgentsDialog.vue | 88 ++ .../src/components/ProjectsTableComponent.vue | 292 ++++ .../src/components/UsageProgressComponent.vue | 44 + .../ui/src/components/UsersTableComponent.vue | 163 ++ .../ui/src/layouts/default/AppBar.vue | 220 +++ .../ui/src/layouts/default/Default.vue | 14 + .../ui/src/layouts/default/Login.vue | 12 + .../ui/src/layouts/default/View.vue | 12 + satellite/admin/back-office/ui/src/main.js | 27 + .../admin/back-office/ui/src/plugins/index.js | 22 + .../back-office/ui/src/plugins/vuetify.js | 103 ++ .../ui/src/plugins/webfontloader.js | 18 + .../admin/back-office/ui/src/router/index.js | 68 + .../admin/back-office/ui/src/store/app.js | 11 + .../admin/back-office/ui/src/store/index.js | 7 + .../back-office/ui/src/styles/settings.scss | 31 + .../back-office/ui/src/styles/styles.scss | 296 ++++ .../ui/src/views/AccountDetails.vue | 181 +++ .../back-office/ui/src/views/Accounts.vue | 80 + .../ui/src/views/AdminSettings.vue | 73 + .../ui/src/views/BucketDetails.vue | 166 ++ .../back-office/ui/src/views/Dashboard.vue | 63 + .../admin/back-office/ui/src/views/Login.vue | 102 ++ .../ui/src/views/ProjectDetails.vue | 204 +++ .../back-office/ui/src/views/Projects.vue | 69 + satellite/admin/back-office/ui/vite.config.js | 45 + satellite/admin/back-office/ui/yarn.lock | 1347 +++++++++++++++++ 130 files changed, 7606 insertions(+) create mode 100644 satellite/admin/back-office/ui/.gitignore create mode 100644 satellite/admin/back-office/ui/README.md create mode 100644 satellite/admin/back-office/ui/index.html create mode 100644 satellite/admin/back-office/ui/jsconfig.json create mode 100644 satellite/admin/back-office/ui/package.json create mode 100644 satellite/admin/back-office/ui/public/favicon.ico create mode 100644 satellite/admin/back-office/ui/public/logo.svg create mode 100644 satellite/admin/back-office/ui/src/App.vue create mode 100644 satellite/admin/back-office/ui/src/assets/icon-access.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-account.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-arrow-down.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-arrow-right.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-audio-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-audio-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-back-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-bookmark.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-bucket-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-bucket-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-bucket.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-card.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-check-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-close.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-dashboard.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-docs.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-download.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-dropdown.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-file-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-file-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-file.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-folder-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-folder-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-folder.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-forum.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-geo-distribution.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-image-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-image-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-info.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-lock.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-logout.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-more.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-pdf-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-pdf-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-plus.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-project-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-project-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-project.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-projects.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-quickstart.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-resources.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-right.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-satellite.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-settings.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-share.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-spreadsheet-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-spreadsheet-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-support.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-team.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-text-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-text-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-upgrade.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-user-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-user.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-video-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-video-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-zip-color.svg create mode 100644 satellite/admin/back-office/ui/src/assets/icon-zip-tonal.svg create mode 100644 satellite/admin/back-office/ui/src/assets/logo-dark.svg create mode 100644 satellite/admin/back-office/ui/src/assets/logo.svg create mode 100644 satellite/admin/back-office/ui/src/components/AccountActionsMenu.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountDeleteDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountGeofenceDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountInformationDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountLimitsDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountNewProjectDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountProjectsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountResetMFADialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountStatusDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountSuspendDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountUserAgentsDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/AccountsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/AdminAccountDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketActionsMenu.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketDeleteDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketGeofenceDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketInformationDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketUserAgentsDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/BucketsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/CardStatsComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/DashboardLimitsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/LogsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/NewAccountDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/NewProjectDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/PageSubtitleComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/PageTitleComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectActionsMenu.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectAddUserDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectDeleteDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectGeofenceDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectInformationDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectLimitsDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectNewBucketDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectResetMFADialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectSuspendDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectUserAgentsDialog.vue create mode 100644 satellite/admin/back-office/ui/src/components/ProjectsTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/UsageProgressComponent.vue create mode 100644 satellite/admin/back-office/ui/src/components/UsersTableComponent.vue create mode 100644 satellite/admin/back-office/ui/src/layouts/default/AppBar.vue create mode 100644 satellite/admin/back-office/ui/src/layouts/default/Default.vue create mode 100644 satellite/admin/back-office/ui/src/layouts/default/Login.vue create mode 100644 satellite/admin/back-office/ui/src/layouts/default/View.vue create mode 100644 satellite/admin/back-office/ui/src/main.js create mode 100644 satellite/admin/back-office/ui/src/plugins/index.js create mode 100644 satellite/admin/back-office/ui/src/plugins/vuetify.js create mode 100644 satellite/admin/back-office/ui/src/plugins/webfontloader.js create mode 100644 satellite/admin/back-office/ui/src/router/index.js create mode 100644 satellite/admin/back-office/ui/src/store/app.js create mode 100644 satellite/admin/back-office/ui/src/store/index.js create mode 100644 satellite/admin/back-office/ui/src/styles/settings.scss create mode 100644 satellite/admin/back-office/ui/src/styles/styles.scss create mode 100644 satellite/admin/back-office/ui/src/views/AccountDetails.vue create mode 100644 satellite/admin/back-office/ui/src/views/Accounts.vue create mode 100644 satellite/admin/back-office/ui/src/views/AdminSettings.vue create mode 100644 satellite/admin/back-office/ui/src/views/BucketDetails.vue create mode 100644 satellite/admin/back-office/ui/src/views/Dashboard.vue create mode 100644 satellite/admin/back-office/ui/src/views/Login.vue create mode 100644 satellite/admin/back-office/ui/src/views/ProjectDetails.vue create mode 100644 satellite/admin/back-office/ui/src/views/Projects.vue create mode 100644 satellite/admin/back-office/ui/vite.config.js create mode 100644 satellite/admin/back-office/ui/yarn.lock diff --git a/satellite/admin/back-office/ui/.gitignore b/satellite/admin/back-office/ui/.gitignore new file mode 100644 index 000000000..9bfa63dd5 --- /dev/null +++ b/satellite/admin/back-office/ui/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +.idea +package-lock.json +dist diff --git a/satellite/admin/back-office/ui/README.md b/satellite/admin/back-office/ui/README.md new file mode 100644 index 000000000..f080963ff --- /dev/null +++ b/satellite/admin/back-office/ui/README.md @@ -0,0 +1,57 @@ +# essentials + +## Project setup + +``` +# yarn +yarn + +# npm +npm install + +# pnpm +pnpm install +``` + +### Compiles and hot-reloads for development + +``` +# yarn +yarn dev + +# npm +npm run dev + +# pnpm +pnpm dev +``` + +### Compiles and minifies for production + +``` +# yarn +yarn build + +# npm +npm run build + +# pnpm +pnpm build +``` + +### Lints and fixes files + +``` +# yarn +yarn lint + +# npm +npm run lint + +# pnpm +pnpm lint +``` + +### Customize configuration + +See [Configuration Reference](https://vitejs.dev/config/). diff --git a/satellite/admin/back-office/ui/index.html b/satellite/admin/back-office/ui/index.html new file mode 100644 index 000000000..7659ab753 --- /dev/null +++ b/satellite/admin/back-office/ui/index.html @@ -0,0 +1,16 @@ + + + + + + + + Storj - Admin + + + +
+ + + + diff --git a/satellite/admin/back-office/ui/jsconfig.json b/satellite/admin/back-office/ui/jsconfig.json new file mode 100644 index 000000000..4aafc5f6e --- /dev/null +++ b/satellite/admin/back-office/ui/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "baseUrl": "./", + "moduleResolution": "node", + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + } +} diff --git a/satellite/admin/back-office/ui/package.json b/satellite/admin/back-office/ui/package.json new file mode 100644 index 000000000..597097e66 --- /dev/null +++ b/satellite/admin/back-office/ui/package.json @@ -0,0 +1,30 @@ +{ + "name": "admin-ui", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "lint": "eslint . --fix --ignore-path .gitignore" + }, + "dependencies": { + "@fontsource-variable/inter": "^5.0.8", + "@mdi/font": "7.0.96", + "core-js": "^3.8.3", + "pinia": "^2.0.23", + "roboto-fontface": "*", + "vue": "^3.2.13", + "vue-router": "^4.1.6", + "vuetify": "^3.3.5", + "webfontloader": "^1.0.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^3.0.3", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "sass": "^1.63.6", + "vite": "^3.1.9", + "vite-plugin-vuetify": "^1.0.0-alpha.12" + } +} diff --git a/satellite/admin/back-office/ui/public/favicon.ico b/satellite/admin/back-office/ui/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0a95050946692c11dff38184466718f1e57e4a44 GIT binary patch literal 1182 zcmbu7|3B0R9LEpcR>~fav8$}EqLc4zj6~UW&Nz2F=j&;OrpHu^G+c;rt`my&#kaI< z^8L%v@||ir--a_q`4UYT$MS8HiqO6G>2K)uc)nln$NTYk|M*PgaUIlDKUF1>NNOxc zrYo^`yqmQuL^Jcww~>?P6W0*% zGXk$8C<~{4LGZ5-+`#D^gykYU7f}U>DMD;9L?sZHB2I$%G9;8E@g~mSMA9uJSKvxD zQV430T7$G&q}L&%4w?1HY`~31!pDrBhYLiL}h?MB^w zG(5oV9^CCk<3lt)g0v6K{b(6LE5RVz2Jy#Zv=5u#FI(<^$$j#3Pg8;J;UxCwPs8 zMZ8?X>o-^=SjN&a-mGAG6{~OYRsn_LodhS>Rof9lP(od~ZlpD2E1SLhY*W)SuI3jO z6_1U}R~3a?oiW6Nk{{cFSzdo4rI65Q8;iN$-AZ=kFpOS#G;_+oJ&e`3QeCYm)8#`ePNKH)84=luEZ&E%DgLS+@V0TOO$C9n*Rz*-0ge&10%90 zFFRY}e@JcOEJbo~z(2ppB;zBu&z!XjnH2(Rg-Gy_8N#ORqEkZIM&6|^2_@N{e)8}8 z42nd31rtB12Y1L~CE6OvbrE!HzDHB9XUMuPwYxc^4?9BzPW;Fcrmk19^YL4}?rT(2 z7nQJa_nx@veq-mf2mDO(quG4g$G?;G42F|R4twWGg7gyxbf;`Xs2j-|tv1<8+a@Ju zn=Xjdso_iI)!p}Uvf05K55>8uZzLPO4DEd(-C@eB((sTndr~9hXRKYgmX=damX?-^ z34=Wg<~mc~s`d{~Z)VGOnb?WPrvfPYRJ&X`kGxNPJ-;-UEXZoPlICQ=BZstf9?aX~ zLg9Q;7LYn~u3pRAmC=1;{Q)VBe_XRzuWsjnv5(nqN9|)K9BI?qb^mJ0G8pO`_I3zt z+K) + + + + + diff --git a/satellite/admin/back-office/ui/src/App.vue b/satellite/admin/back-office/ui/src/App.vue new file mode 100644 index 000000000..6ada651ad --- /dev/null +++ b/satellite/admin/back-office/ui/src/App.vue @@ -0,0 +1,10 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-access.svg b/satellite/admin/back-office/ui/src/assets/icon-access.svg new file mode 100644 index 000000000..26adca81f --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-access.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-account.svg b/satellite/admin/back-office/ui/src/assets/icon-account.svg new file mode 100644 index 000000000..9b44bdb3a --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-account.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-arrow-down.svg b/satellite/admin/back-office/ui/src/assets/icon-arrow-down.svg new file mode 100644 index 000000000..1e7ad766b --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-arrow-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-arrow-right.svg b/satellite/admin/back-office/ui/src/assets/icon-arrow-right.svg new file mode 100644 index 000000000..d717cfc9b --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-audio-color.svg b/satellite/admin/back-office/ui/src/assets/icon-audio-color.svg new file mode 100644 index 000000000..a98bffdb0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-audio-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-audio-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-audio-tonal.svg new file mode 100644 index 000000000..db322b9f4 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-audio-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-back-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-back-tonal.svg new file mode 100644 index 000000000..bb54b8bec --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-back-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-bookmark.svg b/satellite/admin/back-office/ui/src/assets/icon-bookmark.svg new file mode 100644 index 000000000..628903d8d --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-bookmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-bucket-color.svg b/satellite/admin/back-office/ui/src/assets/icon-bucket-color.svg new file mode 100644 index 000000000..09e5ef5ea --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-bucket-color.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-bucket-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-bucket-tonal.svg new file mode 100644 index 000000000..5bf8c6e52 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-bucket-tonal.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-bucket.svg b/satellite/admin/back-office/ui/src/assets/icon-bucket.svg new file mode 100644 index 000000000..9a5d73a8c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-bucket.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-card.svg b/satellite/admin/back-office/ui/src/assets/icon-card.svg new file mode 100644 index 000000000..0c4fab266 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-card.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-check-color.svg b/satellite/admin/back-office/ui/src/assets/icon-check-color.svg new file mode 100644 index 000000000..ade085053 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-check-color.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-close.svg b/satellite/admin/back-office/ui/src/assets/icon-close.svg new file mode 100644 index 000000000..e945b370c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-close.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-dashboard.svg b/satellite/admin/back-office/ui/src/assets/icon-dashboard.svg new file mode 100644 index 000000000..91f278493 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-dashboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-docs.svg b/satellite/admin/back-office/ui/src/assets/icon-docs.svg new file mode 100644 index 000000000..cc6e0caf0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-docs.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-download.svg b/satellite/admin/back-office/ui/src/assets/icon-download.svg new file mode 100644 index 000000000..4020cbd73 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-download.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-dropdown.svg b/satellite/admin/back-office/ui/src/assets/icon-dropdown.svg new file mode 100644 index 000000000..e657469cc --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-dropdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-file-color.svg b/satellite/admin/back-office/ui/src/assets/icon-file-color.svg new file mode 100644 index 000000000..ac39559d4 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-file-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-file-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-file-tonal.svg new file mode 100644 index 000000000..c67966344 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-file-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-file.svg b/satellite/admin/back-office/ui/src/assets/icon-file.svg new file mode 100644 index 000000000..39a78dd66 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-file.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-folder-color.svg b/satellite/admin/back-office/ui/src/assets/icon-folder-color.svg new file mode 100644 index 000000000..7a42057e3 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-folder-color.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-folder-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-folder-tonal.svg new file mode 100644 index 000000000..1a97fc594 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-folder-tonal.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-folder.svg b/satellite/admin/back-office/ui/src/assets/icon-folder.svg new file mode 100644 index 000000000..3b5df627c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-forum.svg b/satellite/admin/back-office/ui/src/assets/icon-forum.svg new file mode 100644 index 000000000..ebf451f4a --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-forum.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-geo-distribution.svg b/satellite/admin/back-office/ui/src/assets/icon-geo-distribution.svg new file mode 100644 index 000000000..c5a504352 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-geo-distribution.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-image-color.svg b/satellite/admin/back-office/ui/src/assets/icon-image-color.svg new file mode 100644 index 000000000..561eed2e7 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-image-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-image-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-image-tonal.svg new file mode 100644 index 000000000..b34a38190 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-image-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-info.svg b/satellite/admin/back-office/ui/src/assets/icon-info.svg new file mode 100644 index 000000000..6f665415c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-info.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-lock.svg b/satellite/admin/back-office/ui/src/assets/icon-lock.svg new file mode 100644 index 000000000..d74f582ca --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-lock.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-logout.svg b/satellite/admin/back-office/ui/src/assets/icon-logout.svg new file mode 100644 index 000000000..7cc488e0f --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-logout.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-more.svg b/satellite/admin/back-office/ui/src/assets/icon-more.svg new file mode 100644 index 000000000..b3217bea0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-more.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-pdf-color.svg b/satellite/admin/back-office/ui/src/assets/icon-pdf-color.svg new file mode 100644 index 000000000..f427c2fa4 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-pdf-color.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-pdf-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-pdf-tonal.svg new file mode 100644 index 000000000..51f40b770 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-pdf-tonal.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-plus.svg b/satellite/admin/back-office/ui/src/assets/icon-plus.svg new file mode 100644 index 000000000..84e0f3046 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-project-color.svg b/satellite/admin/back-office/ui/src/assets/icon-project-color.svg new file mode 100644 index 000000000..3ab929a8f --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-project-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-project-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-project-tonal.svg new file mode 100644 index 000000000..386b65d82 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-project-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-project.svg b/satellite/admin/back-office/ui/src/assets/icon-project.svg new file mode 100644 index 000000000..c5faed627 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-project.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-projects.svg b/satellite/admin/back-office/ui/src/assets/icon-projects.svg new file mode 100644 index 000000000..25134fd09 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-projects.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-quickstart.svg b/satellite/admin/back-office/ui/src/assets/icon-quickstart.svg new file mode 100644 index 000000000..0e55eb2ab --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-quickstart.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-resources.svg b/satellite/admin/back-office/ui/src/assets/icon-resources.svg new file mode 100644 index 000000000..19b95cc58 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-resources.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-right.svg b/satellite/admin/back-office/ui/src/assets/icon-right.svg new file mode 100644 index 000000000..6a545d96a --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-satellite.svg b/satellite/admin/back-office/ui/src/assets/icon-satellite.svg new file mode 100644 index 000000000..2734e333f --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-satellite.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-settings.svg b/satellite/admin/back-office/ui/src/assets/icon-settings.svg new file mode 100644 index 000000000..d9ef9f03b --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-share.svg b/satellite/admin/back-office/ui/src/assets/icon-share.svg new file mode 100644 index 000000000..02f284233 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-share.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-color.svg b/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-color.svg new file mode 100644 index 000000000..7f7ee7113 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-tonal.svg new file mode 100644 index 000000000..7d5d81fa8 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-spreadsheet-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-support.svg b/satellite/admin/back-office/ui/src/assets/icon-support.svg new file mode 100644 index 000000000..ba2d570a3 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-support.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-team.svg b/satellite/admin/back-office/ui/src/assets/icon-team.svg new file mode 100644 index 000000000..4a68ac76c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-team.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-text-color.svg b/satellite/admin/back-office/ui/src/assets/icon-text-color.svg new file mode 100644 index 000000000..5afca6cac --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-text-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-text-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-text-tonal.svg new file mode 100644 index 000000000..da1bb5b57 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-text-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-upgrade.svg b/satellite/admin/back-office/ui/src/assets/icon-upgrade.svg new file mode 100644 index 000000000..3c29d4cbc --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-upgrade.svg @@ -0,0 +1,3 @@ + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-user-color.svg b/satellite/admin/back-office/ui/src/assets/icon-user-color.svg new file mode 100644 index 000000000..2dff79be9 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-user-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-user.svg b/satellite/admin/back-office/ui/src/assets/icon-user.svg new file mode 100644 index 000000000..2dff79be9 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-user.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-video-color.svg b/satellite/admin/back-office/ui/src/assets/icon-video-color.svg new file mode 100644 index 000000000..eca8b9c1c --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-video-color.svg @@ -0,0 +1,4 @@ + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-video-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-video-tonal.svg new file mode 100644 index 000000000..8457b590a --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-video-tonal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-zip-color.svg b/satellite/admin/back-office/ui/src/assets/icon-zip-color.svg new file mode 100644 index 000000000..3d31c0375 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-zip-color.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/icon-zip-tonal.svg b/satellite/admin/back-office/ui/src/assets/icon-zip-tonal.svg new file mode 100644 index 000000000..50a58b299 --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/icon-zip-tonal.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/logo-dark.svg b/satellite/admin/back-office/ui/src/assets/logo-dark.svg new file mode 100644 index 000000000..6a3054b3f --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/logo-dark.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/satellite/admin/back-office/ui/src/assets/logo.svg b/satellite/admin/back-office/ui/src/assets/logo.svg new file mode 100644 index 000000000..a9fea8c3e --- /dev/null +++ b/satellite/admin/back-office/ui/src/assets/logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/satellite/admin/back-office/ui/src/components/AccountActionsMenu.vue b/satellite/admin/back-office/ui/src/components/AccountActionsMenu.vue new file mode 100644 index 000000000..a9138726c --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountActionsMenu.vue @@ -0,0 +1,110 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/AccountDeleteDialog.vue b/satellite/admin/back-office/ui/src/components/AccountDeleteDialog.vue new file mode 100644 index 000000000..5879758ec --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountDeleteDialog.vue @@ -0,0 +1,102 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountGeofenceDialog.vue b/satellite/admin/back-office/ui/src/components/AccountGeofenceDialog.vue new file mode 100644 index 000000000..42c7d812f --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountGeofenceDialog.vue @@ -0,0 +1,91 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountInformationDialog.vue b/satellite/admin/back-office/ui/src/components/AccountInformationDialog.vue new file mode 100644 index 000000000..4e5472128 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountInformationDialog.vue @@ -0,0 +1,92 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountLimitsDialog.vue b/satellite/admin/back-office/ui/src/components/AccountLimitsDialog.vue new file mode 100644 index 000000000..321002286 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountLimitsDialog.vue @@ -0,0 +1,105 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountNewProjectDialog.vue b/satellite/admin/back-office/ui/src/components/AccountNewProjectDialog.vue new file mode 100644 index 000000000..470e89c60 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountNewProjectDialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountProjectsTableComponent.vue b/satellite/admin/back-office/ui/src/components/AccountProjectsTableComponent.vue new file mode 100644 index 000000000..3e44b1c62 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountProjectsTableComponent.vue @@ -0,0 +1,162 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/AccountResetMFADialog.vue b/satellite/admin/back-office/ui/src/components/AccountResetMFADialog.vue new file mode 100644 index 000000000..5ff80d0cf --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountResetMFADialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountStatusDialog.vue b/satellite/admin/back-office/ui/src/components/AccountStatusDialog.vue new file mode 100644 index 000000000..825377d81 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountStatusDialog.vue @@ -0,0 +1,85 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/AccountSuspendDialog.vue b/satellite/admin/back-office/ui/src/components/AccountSuspendDialog.vue new file mode 100644 index 000000000..a0f3253db --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountSuspendDialog.vue @@ -0,0 +1,96 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountUserAgentsDialog.vue b/satellite/admin/back-office/ui/src/components/AccountUserAgentsDialog.vue new file mode 100644 index 000000000..802305fe3 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountUserAgentsDialog.vue @@ -0,0 +1,88 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/AccountsTableComponent.vue b/satellite/admin/back-office/ui/src/components/AccountsTableComponent.vue new file mode 100644 index 000000000..5f7c925af --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AccountsTableComponent.vue @@ -0,0 +1,279 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/AdminAccountDialog.vue b/satellite/admin/back-office/ui/src/components/AdminAccountDialog.vue new file mode 100644 index 000000000..31896d72e --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/AdminAccountDialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/BucketActionsMenu.vue b/satellite/admin/back-office/ui/src/components/BucketActionsMenu.vue new file mode 100644 index 000000000..4edf0e132 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketActionsMenu.vue @@ -0,0 +1,64 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/BucketDeleteDialog.vue b/satellite/admin/back-office/ui/src/components/BucketDeleteDialog.vue new file mode 100644 index 000000000..661e73b82 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketDeleteDialog.vue @@ -0,0 +1,98 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/BucketGeofenceDialog.vue b/satellite/admin/back-office/ui/src/components/BucketGeofenceDialog.vue new file mode 100644 index 000000000..e5b5675d7 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketGeofenceDialog.vue @@ -0,0 +1,87 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/BucketInformationDialog.vue b/satellite/admin/back-office/ui/src/components/BucketInformationDialog.vue new file mode 100644 index 000000000..ed4719a41 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketInformationDialog.vue @@ -0,0 +1,78 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/BucketUserAgentsDialog.vue b/satellite/admin/back-office/ui/src/components/BucketUserAgentsDialog.vue new file mode 100644 index 000000000..868807c99 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketUserAgentsDialog.vue @@ -0,0 +1,87 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/BucketsTableComponent.vue b/satellite/admin/back-office/ui/src/components/BucketsTableComponent.vue new file mode 100644 index 000000000..1ab52ffb6 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/BucketsTableComponent.vue @@ -0,0 +1,191 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/CardStatsComponent.vue b/satellite/admin/back-office/ui/src/components/CardStatsComponent.vue new file mode 100644 index 000000000..1a2271933 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/CardStatsComponent.vue @@ -0,0 +1,16 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/DashboardLimitsTableComponent.vue b/satellite/admin/back-office/ui/src/components/DashboardLimitsTableComponent.vue new file mode 100644 index 000000000..06460e00f --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/DashboardLimitsTableComponent.vue @@ -0,0 +1,255 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + diff --git a/satellite/admin/back-office/ui/src/components/LogsTableComponent.vue b/satellite/admin/back-office/ui/src/components/LogsTableComponent.vue new file mode 100644 index 000000000..5ccbff3e0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/LogsTableComponent.vue @@ -0,0 +1,101 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/NewAccountDialog.vue b/satellite/admin/back-office/ui/src/components/NewAccountDialog.vue new file mode 100644 index 000000000..1cec30bf0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/NewAccountDialog.vue @@ -0,0 +1,98 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/NewProjectDialog.vue b/satellite/admin/back-office/ui/src/components/NewProjectDialog.vue new file mode 100644 index 000000000..33b1933ab --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/NewProjectDialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/PageSubtitleComponent.vue b/satellite/admin/back-office/ui/src/components/PageSubtitleComponent.vue new file mode 100644 index 000000000..4caa8c74d --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/PageSubtitleComponent.vue @@ -0,0 +1,13 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/PageTitleComponent.vue b/satellite/admin/back-office/ui/src/components/PageTitleComponent.vue new file mode 100644 index 000000000..d64482893 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/PageTitleComponent.vue @@ -0,0 +1,12 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectActionsMenu.vue b/satellite/admin/back-office/ui/src/components/ProjectActionsMenu.vue new file mode 100644 index 000000000..e240a8d71 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectActionsMenu.vue @@ -0,0 +1,89 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/components/ProjectAddUserDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectAddUserDialog.vue new file mode 100644 index 000000000..3f5790b7f --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectAddUserDialog.vue @@ -0,0 +1,85 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectDeleteDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectDeleteDialog.vue new file mode 100644 index 000000000..53fa322f9 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectDeleteDialog.vue @@ -0,0 +1,98 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectGeofenceDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectGeofenceDialog.vue new file mode 100644 index 000000000..d921090c0 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectGeofenceDialog.vue @@ -0,0 +1,87 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectInformationDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectInformationDialog.vue new file mode 100644 index 000000000..fee3628fb --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectInformationDialog.vue @@ -0,0 +1,81 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectLimitsDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectLimitsDialog.vue new file mode 100644 index 000000000..8cb96a583 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectLimitsDialog.vue @@ -0,0 +1,105 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectNewBucketDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectNewBucketDialog.vue new file mode 100644 index 000000000..34f38b498 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectNewBucketDialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectResetMFADialog.vue b/satellite/admin/back-office/ui/src/components/ProjectResetMFADialog.vue new file mode 100644 index 000000000..5ff80d0cf --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectResetMFADialog.vue @@ -0,0 +1,83 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectSuspendDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectSuspendDialog.vue new file mode 100644 index 000000000..f3990b3ba --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectSuspendDialog.vue @@ -0,0 +1,90 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectUserAgentsDialog.vue b/satellite/admin/back-office/ui/src/components/ProjectUserAgentsDialog.vue new file mode 100644 index 000000000..b5c0e23d3 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectUserAgentsDialog.vue @@ -0,0 +1,88 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/ProjectsTableComponent.vue b/satellite/admin/back-office/ui/src/components/ProjectsTableComponent.vue new file mode 100644 index 000000000..d8f774a5a --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/ProjectsTableComponent.vue @@ -0,0 +1,292 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/UsageProgressComponent.vue b/satellite/admin/back-office/ui/src/components/UsageProgressComponent.vue new file mode 100644 index 000000000..532d556fd --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/UsageProgressComponent.vue @@ -0,0 +1,44 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/components/UsersTableComponent.vue b/satellite/admin/back-office/ui/src/components/UsersTableComponent.vue new file mode 100644 index 000000000..24951c8d5 --- /dev/null +++ b/satellite/admin/back-office/ui/src/components/UsersTableComponent.vue @@ -0,0 +1,163 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/layouts/default/AppBar.vue b/satellite/admin/back-office/ui/src/layouts/default/AppBar.vue new file mode 100644 index 000000000..92edb26e7 --- /dev/null +++ b/satellite/admin/back-office/ui/src/layouts/default/AppBar.vue @@ -0,0 +1,220 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/layouts/default/Default.vue b/satellite/admin/back-office/ui/src/layouts/default/Default.vue new file mode 100644 index 000000000..1c2b89cf2 --- /dev/null +++ b/satellite/admin/back-office/ui/src/layouts/default/Default.vue @@ -0,0 +1,14 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/layouts/default/Login.vue b/satellite/admin/back-office/ui/src/layouts/default/Login.vue new file mode 100644 index 000000000..d5929db65 --- /dev/null +++ b/satellite/admin/back-office/ui/src/layouts/default/Login.vue @@ -0,0 +1,12 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/layouts/default/View.vue b/satellite/admin/back-office/ui/src/layouts/default/View.vue new file mode 100644 index 000000000..73e12e472 --- /dev/null +++ b/satellite/admin/back-office/ui/src/layouts/default/View.vue @@ -0,0 +1,12 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/main.js b/satellite/admin/back-office/ui/src/main.js new file mode 100644 index 000000000..e1ced383a --- /dev/null +++ b/satellite/admin/back-office/ui/src/main.js @@ -0,0 +1,27 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +/** + * main.js + * + * Bootstraps Vuetify and other plugins then mounts the App` + */ + +// Components +import App from './App.vue' + +// Composables +import { createApp } from 'vue' + +// Styles +import './styles/settings.scss' +// import './styles/styles.scss' + +// Plugins +import { registerPlugins } from '@/plugins' + +const app = createApp(App) + +registerPlugins(app) + +app.mount('#app') diff --git a/satellite/admin/back-office/ui/src/plugins/index.js b/satellite/admin/back-office/ui/src/plugins/index.js new file mode 100644 index 000000000..bbd3bde7b --- /dev/null +++ b/satellite/admin/back-office/ui/src/plugins/index.js @@ -0,0 +1,22 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +/** + * plugins/index.js + * + * Automatically included in `./src/main.js` + */ + +// Plugins +// import { loadFonts } from './webfontloader' +import vuetify from './vuetify' +import pinia from '../store' +import router from '../router' + +export function registerPlugins (app) { + // loadFonts() + app + .use(vuetify) + .use(router) + .use(pinia) +} diff --git a/satellite/admin/back-office/ui/src/plugins/vuetify.js b/satellite/admin/back-office/ui/src/plugins/vuetify.js new file mode 100644 index 000000000..d6cd97be6 --- /dev/null +++ b/satellite/admin/back-office/ui/src/plugins/vuetify.js @@ -0,0 +1,103 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +/** + * plugins/vuetify.js + * + * Framework documentation: https://vuetifyjs.com` + */ + +// Styles +import '@mdi/font/css/materialdesignicons.css' +// import 'vuetify/styles' + +// Inter Font using FontSource +import '@fontsource-variable/inter'; + +// Composables +import { createVuetify } from 'vuetify' + +// Data Table +import { VDataTable } from 'vuetify/labs/VDataTable' + +// Matrial Design 3 +import { md3 } from 'vuetify/blueprints' + +// Storj Styles +import '../styles/styles.scss' + +// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides +export default createVuetify({ + // Use blueprint for Material Design 3 + blueprint: md3, + theme: { + themes: { + light: { + colors: { + primary: '#0149FF', + secondary: '#0218A7', + background: '#F9F9F9', + surface: '#FFF', + info: '#537CFF', + success: '#00AC26', + warning: '#FF8A00', + error: '#FF0149', + pink: '#FF458B', + purple: '#502EFF', + yellow: '#FFC600', + orange: '#FFA800', + green: '#00B150', + grey: '#F1F1F1', + }, + }, + dark: { + colors: { + primary: '#0149FF', + secondary: '#537CFF', + background: '#0d1116', + surface: '#0d1116', + warning: '#FF8A00', + error: '#FF0149', + pink: '#FF458B', + purple: '#502EFF', + yellow: '#FFC600', + orange: '#FFA800', + green: '#00B150', + } + }, + }, + }, + components: { + VDataTable, + }, + defaults: { + global: { + // ripple: false, + }, + VDataTable: { + fixedHeader: true, + noDataText: 'Results not found', + }, + VBtn: { + density: 'default', + rounded: 'lg', + class: 'text-capitalize font-weight-bold', + style: 'letter-spacing:0;' + }, + VDataTable: { + }, + VTooltip: { + transition: 'fade-transition', + }, + VChip: { + rounded: 'lg', + }, + VSelect: { + rounded: 'lg', + }, + VTextField: { + rounded: 'lg', + variant: 'outlined', + } + }, +}) \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/plugins/webfontloader.js b/satellite/admin/back-office/ui/src/plugins/webfontloader.js new file mode 100644 index 000000000..dac440907 --- /dev/null +++ b/satellite/admin/back-office/ui/src/plugins/webfontloader.js @@ -0,0 +1,18 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +/** + * plugins/webfontloader.js + * + * webfontloader documentation: https://github.com/typekit/webfontloader + */ + +export async function loadFonts () { + const webFontLoader = await import(/* webpackChunkName: "webfontloader" */'webfontloader') + + webFontLoader.load({ + google: { + families: ['Inter:400,500,700&display=swap'], + }, + }) +} diff --git a/satellite/admin/back-office/ui/src/router/index.js b/satellite/admin/back-office/ui/src/router/index.js new file mode 100644 index 000000000..def05902c --- /dev/null +++ b/satellite/admin/back-office/ui/src/router/index.js @@ -0,0 +1,68 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +// Composables +import { createRouter, createWebHistory } from 'vue-router' + +const routes = [ + { + path: '/', + redirect: '/login', // directly redirect + component: () => import('@/layouts/default/Login.vue'), + children: [ + { + path: '/login', + name: 'Login', + component: () => import(/* webpackChunkName: "Login" */ '@/views/Login.vue'), + }, + ], + }, + { + path: '/admin', + component: () => import('@/layouts/default/Default.vue'), + children: [ + { + path: '/dashboard', + name: 'Dashboard', + component: () => import(/* webpackChunkName: "Dashboard" */ '@/views/Dashboard.vue'), + }, + { + path: '/accounts', + name: 'Accounts', + component: () => import(/* webpackChunkName: "Users" */ '@/views/Accounts.vue'), + }, + { + path: '/account-details', + name: 'Account Details', + component: () => import(/* webpackChunkName: "AccountDetails" */ '@/views/AccountDetails.vue'), + }, + { + path: '/projects', + name: 'Projects', + component: () => import(/* webpackChunkName: "Projects" */ '@/views/Projects.vue'), + }, + { + path: '/project-details', + name: 'Project Details', + component: () => import(/* webpackChunkName: "ProjectDetails" */ '@/views/ProjectDetails.vue'), + }, + { + path: '/bucket-details', + name: 'Bucket Details', + component: () => import(/* webpackChunkName: "BucketDetails" */ '@/views/BucketDetails.vue'), + }, + { + path: '/admin-settings', + name: 'Admin Settings', + component: () => import(/* webpackChunkName: "AdminSettings" */ '@/views/AdminSettings.vue'), + }, + ], + }, +] + +const router = createRouter({ + history: createWebHistory(process.env.NODE_ENV === 'production' ? '/admin-ui/' : process.env.BASE_URL), + routes, +}) + +export default router diff --git a/satellite/admin/back-office/ui/src/store/app.js b/satellite/admin/back-office/ui/src/store/app.js new file mode 100644 index 000000000..1da57df43 --- /dev/null +++ b/satellite/admin/back-office/ui/src/store/app.js @@ -0,0 +1,11 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +// Utilities +import { defineStore } from 'pinia' + +export const useAppStore = defineStore('app', { + state: () => ({ + // + }), +}) diff --git a/satellite/admin/back-office/ui/src/store/index.js b/satellite/admin/back-office/ui/src/store/index.js new file mode 100644 index 000000000..ea85217c1 --- /dev/null +++ b/satellite/admin/back-office/ui/src/store/index.js @@ -0,0 +1,7 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + +// Utilities +import { createPinia } from 'pinia' + +export default createPinia() diff --git a/satellite/admin/back-office/ui/src/styles/settings.scss b/satellite/admin/back-office/ui/src/styles/settings.scss new file mode 100644 index 000000000..fc3a8597b --- /dev/null +++ b/satellite/admin/back-office/ui/src/styles/settings.scss @@ -0,0 +1,31 @@ +/** + * src/styles/settings.scss + * + * Configures SASS variables and Vuetify overwrites + */ + + +// Warning +// Duplicated CSS +// Placing actual styles or importing a regular stylesheet +// into the settings file will cause them to be +// duplicated everywhere the file is imported. + +// Only put variables, mixins, and functions in the settings file, +// styles should be placed in the main stylesheet or loaded another way. + + +// Use SASS https://vuetifyjs.com/en/features/sass-variables/ + +// @use 'vuetify' with ( +// // $utilities: false, +// $color-pack: false, +// $body-font-family: 'Inter', +// ); + +// To obtain settings from Vuetify, you must forward its variables from within your local stylesheet +@forward 'vuetify' with ( + // $utilities: false, + $color-pack: false, + $body-font-family: 'Inter Variable', +); \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/styles/styles.scss b/satellite/admin/back-office/ui/src/styles/styles.scss new file mode 100644 index 000000000..f7c4f0cf4 --- /dev/null +++ b/satellite/admin/back-office/ui/src/styles/styles.scss @@ -0,0 +1,296 @@ +/** + * src/styles/styles.scss + * + * Storj Stylesheet + * Work in progress + * + */ + +@use './settings'; + +// Light Theme +.v-theme--light { + --v-border-color: 0, 0, 0; + --v-border-opacity: 0.1; + --v-theme-overlay-multiplier: 0.75; + --v-border-color: #e0e0e0; + --v-activated-opacity: 0.1 !important; +} + +// Dark Theme +.v-theme--dark { + --v-theme-overlay-multiplier: 0.75; +} + +// Navigation +.v-navigation-drawer, +.v-navigation-drawer .v-list, +.v-navigation-drawer .v-list-item { + background-color: rgb(var(--v-theme-surface)) !important; +} + +.v-app-bar.v-toolbar { + border-bottom: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)); +} + +// Toggle visibility class +.show { + display: block; +} + +// Custom rounded class +.rounded-xlg { + border-radius: 12px !important; +} + +// Success button text +.v-btn.v-theme--light.bg-success { + color: #fff; +} + +// Button Shadow +.v-btn--elevated, +.v-btn--variant-flat { + // box-shadow: rgba(var(--v-border-color), 0.1) 0px 1px 0px 0px !important; + box-shadow: rgba(31, 35, 40, 0.04) 0px 1px 0px 0px, rgba(255, 255, 255, 0.25) 0px 1px 0px 0px inset; +} + +.v-btn--variant-outlined { + box-shadow: rgba(31, 35, 40, 0.04) 0px 1px 0px 0px; +} + +.v-btn--elevated:hover, +.v-btn--variant-flat:hover, +.v-btn--variant-outlined { + // box-shadow: rgba(var(--v-border-color), 0.1) 0px 1px 0px 0px !important; + box-shadow: rgba(31, 35, 40, 0.04) 0px 1px 0px 0px; +} + + +// Button Outlines +.v-btn.v-theme--light.text-default.v-btn--variant-outlined { + border-color: rgba(var(--v-border-color), 0.2); + background: rgb(var(--v-theme-surface)); +} + +.v-btn.v-theme--light.text-default.v-btn--variant-outlined:hover { + border-color: #9da3a7; + // color: rgb(var(--v-theme-primary)); + border-color: rgba(var(--v-border-color), 0.5); +} + +.v-btn.v-theme--dark.text-default.v-btn--variant-outlined { + border-color: #a9b0b949; + // border-color: rgba(var(--v-border-color), var(--v-border-opacity)); +} + +.v-btn.v-theme--dark.text-default.v-btn--variant-outlined:hover { + border-color: #a9b0b979; +} + +// Button focus style +.v-btn:focus { + // box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px, rgb(103, 146, 244) 0px 0px 0px 3px !important; + // box-shadow: rgb(255, 255, 255) 0px 0px 0px 1px, currentColor 0px 0px 0px 1px !important; + // outline: none !important; +} + +.v-btn--size-default { + --v-btn-size: 0.8rem; + --v-btn-height: 44px; +} + +.v-btn--size-large { + --v-btn-size: 0.875rem; + --v-btn-height: 48px; +} + +// Menu border +.v-menu>.v-overlay__content { + border: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)); + border-radius: 12px; +} + +// Menu list item +.v-list-item--active .v-list-item-title { + font-weight: 700 !important; +} + +// Menu list item active background +// .v-list-item--variant-text .v-list-item__overlay { +// background: rgb(var(--v-border-color)); +// } + + +// Card Light Theme +.v-card.v-theme--light { + border: 1px solid #e0e0e0; + box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 0px 0px; +} + +// Card dark Theme +.v-card.v-theme--dark { + background: --v-theme-surface; + box-shadow: rgba(255, 255, 255, 0.07) 0px 1px 0px 0px; +} + + +// Cards Padding +.v-card-item { + padding: 1rem; +} + +// Cards Title +.v-card-item .v-card-title { + font-weight: 700; + font-size: 1.1rem; + letter-spacing: 0; +} + +// Overlay behind modals/dialogs opacity and color +.v-overlay__scrim { + background: #000; + opacity: 0.75; +} + +// Align the checkboxes in the tables +.v-selection-control { + contain: inherit; +} + +// Make the checkbox selection square instead of rounded +.v-selection-control__input { + border-radius: 8px; +} + +.v-selection-control__input::before { + border-radius: 8px; +} + + +// Sorting icon +.mdi-arrow-up::before, +.mdi-arrow-down::before { + // content: "\F005D"; + font-size: 14px; +} + +// Breadcrumbs +.v-breadcrumbs { + min-height: 24px; +} + +.v-breadcrumbs-item { + padding: 0 !important; +} + +// Snackbar +.v-snackbar__content { + width: 100%; +} + +// Table Headers +.v-data-table-header__content { + text-transform: uppercase; + font-size: 0.7rem; + letter-spacing: 1px; +} + +// Table content +.v-list-item__content { + white-space: nowrap; + overflow: visible; +} + +// Table Footer +.v-data-table-footer { + font-size: 14px; +} + +.v-data-table-footer { + border-top: thin solid rgba(var(--v-border-color), var(--v-border-opacity)); +} + +.v-data-table-footer .v-field__field { + height: 2.25rem; +} + +.v-data-table-footer .v-field { + padding-right: 0.5rem; +} + +.v-data-table-footer .v-field__input { + padding-top: 0; + font-size: 14px; + line-height: 1; +} + +// Table Fonts +table { + font-size: 14px; +} + +// Table Pagination +.v-data-table-footer__pagination .v-btn { + width: auto; +} + +// Search styles +.v-field.v-field--prepended { + --v-field-padding-start: 8px; + padding-left: 16px; +} + + +// Links +.link { + color: rgb(var(--v-theme-primary)); + text-decoration: none; + background-image: linear-gradient(currentColor, currentColor); + background-size: 0 1px; + background-repeat: no-repeat; + background-position: 0 100%; + transition: background-size .15s ease; +} + +.link:hover { + color: rgb(var(--v-theme-secondary)); + background-size: 100% 1px; +} + + +// Tooltips +.v-tooltip>.v-overlay__content { + background: rgba(var(--v-theme-on-surface), 0.9) !important; + color: rgb(var(--v-theme-surface)) !important; + border: 1px solid rgba(var(--v-theme-surface), 0.2); + font-weight: 500; + border-radius: 20px !important; + padding: 6px 14px; + backdrop-filter: blur(12px); +} + +// Alerts + +.v-alert-title { + font-weight: bold !important; + letter-spacing: 0 !important; +} + +.v-alert__prepend { + margin-top: 12px; +} + +.v-alert__append, +.v-alert__close { + margin-top: 4px; +} + +.v-alert__close .v-btn { + color: rgb(var(--v-theme-on-surface)) !important; +} + +// Chips +.v-chip--variant-outlined { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); +} \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/views/AccountDetails.vue b/satellite/admin/back-office/ui/src/views/AccountDetails.vue new file mode 100644 index 000000000..b843a2b3a --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/AccountDetails.vue @@ -0,0 +1,181 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/views/Accounts.vue b/satellite/admin/back-office/ui/src/views/Accounts.vue new file mode 100644 index 000000000..bf9e2fef9 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/Accounts.vue @@ -0,0 +1,80 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/views/AdminSettings.vue b/satellite/admin/back-office/ui/src/views/AdminSettings.vue new file mode 100644 index 000000000..ded567354 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/AdminSettings.vue @@ -0,0 +1,73 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + diff --git a/satellite/admin/back-office/ui/src/views/BucketDetails.vue b/satellite/admin/back-office/ui/src/views/BucketDetails.vue new file mode 100644 index 000000000..536822f27 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/BucketDetails.vue @@ -0,0 +1,166 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/views/Dashboard.vue b/satellite/admin/back-office/ui/src/views/Dashboard.vue new file mode 100644 index 000000000..e2823f6de --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/Dashboard.vue @@ -0,0 +1,63 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/views/Login.vue b/satellite/admin/back-office/ui/src/views/Login.vue new file mode 100644 index 000000000..e6da7e7d9 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/Login.vue @@ -0,0 +1,102 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/views/ProjectDetails.vue b/satellite/admin/back-office/ui/src/views/ProjectDetails.vue new file mode 100644 index 000000000..d079c3f87 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/ProjectDetails.vue @@ -0,0 +1,204 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/src/views/Projects.vue b/satellite/admin/back-office/ui/src/views/Projects.vue new file mode 100644 index 000000000..5b06ce9a4 --- /dev/null +++ b/satellite/admin/back-office/ui/src/views/Projects.vue @@ -0,0 +1,69 @@ +// Copyright (C) 2023 Storj Labs, Inc. +// See LICENSE for copying information. + + + + \ No newline at end of file diff --git a/satellite/admin/back-office/ui/vite.config.js b/satellite/admin/back-office/ui/vite.config.js new file mode 100644 index 000000000..b9573a571 --- /dev/null +++ b/satellite/admin/back-office/ui/vite.config.js @@ -0,0 +1,45 @@ +// Copyright (C) 2020 Storj Labs, Inc. +// See LICENSE for copying information. + +// Plugins +import vue from '@vitejs/plugin-vue' +import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' + +// Utilities +import { defineConfig } from 'vite' +import { fileURLToPath, URL } from 'node:url' + +// https://vitejs.dev/config/ +export default defineConfig({ + base: process.env.NODE_ENV === 'production' ? '/admin-ui/' : '/', + plugins: [ + vue({ + template: { transformAssetUrls } + }), + // https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vite-plugin + vuetify({ + autoImport: true, + styles: { + configFile: 'src/styles/settings.scss', + }, + }), + ], + define: { 'process.env': {} }, + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + extensions: [ + '.js', + '.json', + '.jsx', + '.mjs', + '.ts', + '.tsx', + '.vue', + ], + }, + server: { + port: 3000, + }, +}) diff --git a/satellite/admin/back-office/ui/yarn.lock b/satellite/admin/back-office/ui/yarn.lock new file mode 100644 index 000000000..b59ed415e --- /dev/null +++ b/satellite/admin/back-office/ui/yarn.lock @@ -0,0 +1,1347 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/parser@^7.20.15", "@babel/parser@^7.21.3": + version "7.22.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" + integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== + +"@esbuild/android-arm@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" + integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== + +"@esbuild/linux-loong64@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" + integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@fontsource-variable/inter@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@fontsource-variable/inter/-/inter-5.0.8.tgz#bd6d61ece1019c59b0ac330a138d48a34dfa6d8c" + integrity sha512-WkYfFNccmEIeL2fNg0mYeLWqOoB7xD8MFxFRc4IwbSP2o8ZaBt36v5aW4by4MyrgGRMNk7uNi5LbvYKq6clPjw== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@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== + +"@mdi/font@7.0.96": + version "7.0.96" + resolved "https://registry.npmjs.org/@mdi/font/-/font-7.0.96.tgz" + integrity sha512-rzlxTfR64hqY8yiBzDjmANfcd8rv+T5C0Yedv/TWk2QyAQYdc66e0kaN1ipmnYU3RukHRTRcBARHzzm+tIhL7w== + +"@nodelib/fs.scandir@2.1.5": + 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" + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.8": + 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" + +"@vitejs/plugin-vue@^3.0.3": + version "3.2.0" + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz" + integrity sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw== + +"@vue/compiler-core@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" + integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g== + dependencies: + "@babel/parser" "^7.21.3" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151" + integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w== + dependencies: + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/compiler-sfc@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df" + integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== + dependencies: + "@babel/parser" "^7.20.15" + "@vue/compiler-core" "3.3.4" + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-ssr" "3.3.4" + "@vue/reactivity-transform" "3.3.4" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + magic-string "^0.30.0" + postcss "^8.1.10" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777" + integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ== + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/devtools-api@^6.4.5": + version "6.5.0" + resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz" + integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== + +"@vue/reactivity-transform@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929" + integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw== + dependencies: + "@babel/parser" "^7.20.15" + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + magic-string "^0.30.0" + +"@vue/reactivity@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253" + integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ== + dependencies: + "@vue/shared" "3.3.4" + +"@vue/runtime-core@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1" + integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA== + dependencies: + "@vue/reactivity" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/runtime-dom@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566" + integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ== + dependencies: + "@vue/runtime-core" "3.3.4" + "@vue/shared" "3.3.4" + csstype "^3.1.1" + +"@vue/server-renderer@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c" + integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ== + dependencies: + "@vue/compiler-ssr" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/shared@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780" + integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== + +"@vuetify/loader-shared@^1.7.1": + version "1.7.1" + resolved "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-1.7.1.tgz" + integrity sha512-kLUvuAed6RCvkeeTNJzuy14pqnkur8lTuner7v7pNE/kVhPR97TuyXwBSBMR1cJeiLiOfu6SF5XlCYbXByEx1g== + dependencies: + find-cache-dir "^3.3.2" + upath "^2.0.1" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + 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" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + 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" + +braces@~3.0.2: + 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" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +core-js@^3.8.3: + version "3.27.2" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.2.tgz" + integrity sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + 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" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +esbuild-android-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" + integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== + +esbuild-android-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" + integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== + +esbuild-darwin-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" + integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== + +esbuild-darwin-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz" + integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== + +esbuild-freebsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" + integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== + +esbuild-freebsd-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" + integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== + +esbuild-linux-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" + integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== + +esbuild-linux-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" + integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== + +esbuild-linux-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" + integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== + +esbuild-linux-arm@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" + integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== + +esbuild-linux-mips64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" + integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== + +esbuild-linux-ppc64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" + integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== + +esbuild-linux-riscv64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" + integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== + +esbuild-linux-s390x@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" + integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== + +esbuild-netbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" + integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== + +esbuild-openbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" + integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== + +esbuild-sunos-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" + integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== + +esbuild-windows-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" + integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== + +esbuild-windows-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" + integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== + +esbuild-windows-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" + integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== + +esbuild@^0.15.9: + version "0.15.18" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz" + integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.18" + "@esbuild/linux-loong64" "0.15.18" + esbuild-android-64 "0.15.18" + esbuild-android-arm64 "0.15.18" + esbuild-darwin-64 "0.15.18" + esbuild-darwin-arm64 "0.15.18" + esbuild-freebsd-64 "0.15.18" + esbuild-freebsd-arm64 "0.15.18" + esbuild-linux-32 "0.15.18" + esbuild-linux-64 "0.15.18" + esbuild-linux-arm "0.15.18" + esbuild-linux-arm64 "0.15.18" + esbuild-linux-mips64le "0.15.18" + esbuild-linux-ppc64le "0.15.18" + esbuild-linux-riscv64 "0.15.18" + esbuild-linux-s390x "0.15.18" + esbuild-netbsd-64 "0.15.18" + esbuild-openbsd-64 "0.15.18" + esbuild-sunos-64 "0.15.18" + esbuild-windows-32 "0.15.18" + esbuild-windows-64 "0.15.18" + esbuild-windows-arm64 "0.15.18" + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-plugin-vue@^9.3.0: + version "9.9.0" + resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz" + integrity sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + nth-check "^2.0.1" + postcss-selector-parser "^6.0.9" + semver "^7.3.5" + vue-eslint-parser "^9.0.1" + xml-name-validator "^4.0.0" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.22.0: + version "8.34.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.3.1, espree@^9.4.0: + version "9.4.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + 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" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + 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" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +glob-parent@^6.0.2: + 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" + +glob-parent@~5.1.2: + 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" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has@^1.0.3: + 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" + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immutable@^4.0.0: + version "4.2.4" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + 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" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-binary-path@~2.1.0: + 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" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + 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" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-sdsl@^4.1.4: + version "4.3.0" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.30.0: + version "0.30.3" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85" + integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + 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" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4, nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +once@^1.3.0: + 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" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +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== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pinia@^2.0.23: + version "2.0.30" + resolved "https://registry.npmjs.org/pinia/-/pinia-2.0.30.tgz" + integrity sha512-q6DUmxWwe/mQgg+55QQjykpKC+aGeGdaJV3niminl19V08dE+LRTvSEuqi6/NLSGCKHI49KGL6tMNEOssFiMyA== + dependencies: + "@vue/devtools-api" "^6.4.5" + vue-demi "*" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postcss-selector-parser@^6.0.9: + version "6.0.11" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss@^8.1.10: + version "8.4.30" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" + integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.18: + version "8.4.21" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +roboto-fontface@*: + version "0.10.0" + resolved "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz" + integrity sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g== + +rollup@^2.79.1: + version "2.79.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +sass@^1.63.6: + version "1.63.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea" + integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.5, semver@^7.3.6: + version "7.5.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + 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== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +to-regex-range@^5.0.1: + 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" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +upath@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite-plugin-vuetify@^1.0.0-alpha.12: + version "1.0.2" + resolved "https://registry.npmjs.org/vite-plugin-vuetify/-/vite-plugin-vuetify-1.0.2.tgz" + integrity sha512-MubIcKD33O8wtgQXlbEXE7ccTEpHZ8nPpe77y9Wy3my2MWw/PgehP9VqTp92BLqr0R1dSL970Lynvisx3UxBFw== + dependencies: + "@vuetify/loader-shared" "^1.7.1" + debug "^4.3.3" + upath "^2.0.1" + +vite@^3.1.9: + version "3.2.7" + resolved "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz" + integrity sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g== + dependencies: + esbuild "^0.15.9" + postcss "^8.4.18" + resolve "^1.22.1" + rollup "^2.79.1" + optionalDependencies: + fsevents "~2.3.2" + +vue-demi@*: + version "0.13.11" + resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz" + integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== + +vue-eslint-parser@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz" + integrity sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + +vue-router@^4.1.6: + version "4.1.6" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz" + integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ== + dependencies: + "@vue/devtools-api" "^6.4.5" + +vue@^3.2.13: + version "3.3.4" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6" + integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-sfc" "3.3.4" + "@vue/runtime-dom" "3.3.4" + "@vue/server-renderer" "3.3.4" + "@vue/shared" "3.3.4" + +vuetify@^3.3.5: + version "3.3.17" + resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.3.17.tgz#a7649c6f677beeed4b86baf6e3fece1596cc99e4" + integrity sha512-HO1Tl0saXb45Fi/PvpB8ZSn06Ix4JNiodEVkAdOyW6jq3MSIMho8xiOSQ0qQ7DoXyeTnWEvPuG3StbVAwH8tyw== + +webfontloader@^1.0.0: + version "1.6.28" + resolved "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz" + integrity sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==