From b04b12c7a015a9036b7a030eb182f81f4fa58f2b Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Tue, 6 Dec 2022 12:09:20 +0530 Subject: [PATCH 01/22] fix: broken links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ea412aa6b..713f06d5c 100644 --- a/README.md +++ b/README.md @@ -36,14 +36,14 @@

Hoppscotch Hoppscotch @@ -317,7 +317,7 @@ docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest 3. Install dependencies by running `pnpm install` within the directory that you cloned (probably `hoppscotch`). 4. Update [`.env.example`](https://github.com/hoppscotch/hoppscotch/blob/main/.env.example) file found in the root of repository with your own keys and rename it to `.env`. 5. Build the release files with `pnpm run generate`. -6. Find the built project in `packages/hoppscotch-app/dist`. Host these files on any [static hosting servers](https://www.pluralsight.com/blog/software-development/where-to-host-your-jamstack-site). +6. Find the built project in `packages/hoppscotch-web/dist`. Host these files on any [static hosting servers](https://www.pluralsight.com/blog/software-development/where-to-host-your-jamstack-site). ## **Contributing** From e7e8c397ef1fca86df9082b382ff96e4a9c93851 Mon Sep 17 00:00:00 2001 From: Akash K <57758277+amk-dev@users.noreply.github.com> Date: Wed, 7 Dec 2022 02:29:38 +0530 Subject: [PATCH 02/22] fix: circular watcher dependencies on invite.vue causing infinite loop (#2871) --- .../src/composables/graphql.ts | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/hoppscotch-common/src/composables/graphql.ts b/packages/hoppscotch-common/src/composables/graphql.ts index 64794cd1c..7e80f4ca5 100644 --- a/packages/hoppscotch-common/src/composables/graphql.ts +++ b/packages/hoppscotch-common/src/composables/graphql.ts @@ -9,6 +9,7 @@ import { watchEffect, WatchStopHandle, watchSyncEffect, + watch, } from "vue" import { client, @@ -60,9 +61,6 @@ export const useGQLQuery = ( const source: Ref | undefined> = ref() - // A ref used to force re-execution of the query - const updateTicker: Ref = ref(true) - // Toggles between true and false to cause the polling operation to tick const pollerTick: Ref = ref(true) @@ -96,24 +94,23 @@ export const useGQLQuery = ( ) ) + const rerunQuery = () => { + source.value = !isPaused.value + ? client.value.executeQuery(request.value, { + requestPolicy: "network-only", + }) + : undefined + } + stops.push( - watchEffect( + watch( + pollerTick, () => { - // Just listen to the polling ticks - // eslint-disable-next-line no-unused-expressions - pollerTick.value - - // Just keep track of update ticking, but don't do anything - // eslint-disable-next-line no-unused-expressions - updateTicker.value - - source.value = !isPaused.value - ? client.value.executeQuery(request.value, { - requestPolicy: "network-only", - }) - : undefined + rerunQuery() }, - { flush: "pre" } + { + flush: "pre", + } ) ) @@ -192,7 +189,7 @@ export const useGQLQuery = ( } isPaused.value = false - updateTicker.value = !updateTicker.value + rerunQuery() } const pause = () => { From 0d33758ba4dddbcba5f37fcd14c4e1fa0acba504 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 7 Dec 2022 12:11:06 +0530 Subject: [PATCH 03/22] ci: introduce staging deployment actions --- .github/workflows/codeql-analysis.yml | 93 +++++++++---------- ...rod.yml => deploy-firebase-production.yml} | 5 +- ...lify.yml => deploy-netlify-production.yml} | 2 +- ...netlify.yml => deploy-netlify-staging.yml} | 7 +- .github/workflows/deploy-preview-netlify.yml | 60 ------------ .github/workflows/tests.yml | 4 +- 6 files changed, 51 insertions(+), 120 deletions(-) rename .github/workflows/{deploy-prod.yml => deploy-firebase-production.yml} (88%) rename .github/workflows/{deploy-netlify.yml => deploy-netlify-production.yml} (97%) rename .github/workflows/{deploy-staging-netlify.yml => deploy-netlify-staging.yml} (95%) delete mode 100644 .github/workflows/deploy-preview-netlify.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ab9c411a2..8f4524e27 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,72 +1,63 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" +name: "CodeQL analysis" on: push: - branches: [ main ] + branches: [main] pull_request: - # The branches below must be a subset of the branches above - branches: [ main ] + branches: [main] schedule: - - cron: '39 7 * * 2' + # ┌───────────── minute (0 - 59) + # │ ┌───────────── hour (0 - 23) + # │ │ ┌───────────── day of the month (1 - 31) + # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) + # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) + # │ │ │ │ │ + # │ │ │ │ │ + # │ │ │ │ │ + # * * * * * + - cron: '30 1 * * 0' jobs: analyze: name: Analyze + # CodeQL runs on ubuntu-latest, windows-latest, and macos-latest runs-on: ubuntu-latest + permissions: - actions: read - contents: read + # required for all workflows security-events: write - strategy: - fail-fast: false - matrix: - language: [ 'javascript' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://git.io/codeql-language-support + # only required for workflows in private repositories + actions: read + contents: read steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v3 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - # Run extended queries including queries using machine learning - queries: security-extended - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + # Run extended queries including queries using machine learning + queries: security-extended + languages: ${{ matrix.language }} - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below). + - name: Autobuild + uses: github/codeql-action/autobuild@v2 - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language + # ✏️ If the Autobuild fails above, remove it and uncomment the following + # three lines and modify them (or add more) to build your code if your + # project uses a compiled language - #- run: | - # make bootstrap - # make release + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-firebase-production.yml similarity index 88% rename from .github/workflows/deploy-prod.yml rename to .github/workflows/deploy-firebase-production.yml index 3a111d765..e8dd9d6cc 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-firebase-production.yml @@ -1,9 +1,8 @@ -name: Deploy to Live Channel +name: Deploy to Firebase (production) on: push: - branches: - - main + branches: [main] jobs: deploy_live_website: diff --git a/.github/workflows/deploy-netlify.yml b/.github/workflows/deploy-netlify-production.yml similarity index 97% rename from .github/workflows/deploy-netlify.yml rename to .github/workflows/deploy-netlify-production.yml index 9a8b70648..d5d0136da 100644 --- a/.github/workflows/deploy-netlify.yml +++ b/.github/workflows/deploy-netlify-production.yml @@ -1,4 +1,4 @@ -name: Deploy to Netlify +name: Deploy to Netlify (production) on: push: diff --git a/.github/workflows/deploy-staging-netlify.yml b/.github/workflows/deploy-netlify-staging.yml similarity index 95% rename from .github/workflows/deploy-staging-netlify.yml rename to .github/workflows/deploy-netlify-staging.yml index 0e1d875ae..510233ac5 100644 --- a/.github/workflows/deploy-staging-netlify.yml +++ b/.github/workflows/deploy-netlify-staging.yml @@ -1,9 +1,10 @@ -name: Deploy to Staging Netlify +name: Deploy to Netlify (staging) on: push: - # TODO: Migrate to staging branch only - branches: [main] + branches: [staging] + pull_request: + branches: [staging] jobs: build: diff --git a/.github/workflows/deploy-preview-netlify.yml b/.github/workflows/deploy-preview-netlify.yml deleted file mode 100644 index 6be28db1f..000000000 --- a/.github/workflows/deploy-preview-netlify.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Deploy to Preview Netlify - -on: - pull_request: - branches: - - main - -jobs: - build: - name: Push build files to Netlify - runs-on: ubuntu-latest - steps: - - name: Checkout Repository - uses: actions/checkout@v3 - - - name: Setup and run pnpm install - uses: pnpm/action-setup@v2.2.4 - env: - VITE_BACKEND_GQL_URL: ${{ secrets.STAGING_BACKEND_GQL_URL }} - with: - version: 7 - run_install: true - - - name: Build Site - env: - VITE_GA_ID: ${{ secrets.STAGING_GA_ID }} - VITE_GTM_ID: ${{ secrets.STAGING_GTM_ID }} - VITE_API_KEY: ${{ secrets.STAGING_FB_API_KEY }} - VITE_AUTH_DOMAIN: ${{ secrets.STAGING_FB_AUTH_DOMAIN }} - VITE_DATABASE_URL: ${{ secrets.STAGING_FB_DATABASE_URL }} - VITE_PROJECT_ID: ${{ secrets.STAGING_FB_PROJECT_ID }} - VITE_STORAGE_BUCKET: ${{ secrets.STAGING_FB_STORAGE_BUCKET }} - VITE_MESSAGING_SENDER_ID: ${{ secrets.STAGING_FB_MESSAGING_SENDER_ID }} - VITE_APP_ID: ${{ secrets.STAGING_FB_APP_ID }} - VITE_BASE_URL: ${{ secrets.STAGING_BASE_URL }} - VITE_BACKEND_GQL_URL: ${{ secrets.STAGING_BACKEND_GQL_URL }} - VITE_BACKEND_WS_URL: ${{ secrets.STAGING_BACKEND_WS_URL }} - VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - VITE_SENTRY_RELEASE_TAG: ${{ github.sha }} - VITE_SENTRY_ENVIRONMENT: staging - run: pnpm run generate - - # Deploy the preview site with netlify-cli - - name: Deploy to Netlify (preview) - run: npx netlify-cli deploy --dir=packages/hoppscotch-web/dist --alias=preview - env: - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_STAGING_SITE_ID }} - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - - - name: Create Sentry Release - uses: getsentry/action-release@v1 - env: - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - with: - environment: preview - ignore_missing: true - ignore_empty: true - version: ${{ github.sha }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4a09c24e3..2c0984aa6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,9 +2,9 @@ name: Node.js CI on: push: - branches: [main] + branches: [main, staging] pull_request: - branches: [main] + branches: [main, staging] jobs: build: From c3f18671eca1a528e22acd50cc5db6fcb62e91ba Mon Sep 17 00:00:00 2001 From: Akash K <57758277+amk-dev@users.noreply.github.com> Date: Fri, 9 Dec 2022 20:39:36 +0530 Subject: [PATCH 04/22] fix: cannot write to body when a request is loaded from history (#2873) * fix: cannot write body when a request is loaded from history * fix: import `toRaw()` from vue Co-authored-by: Liyas Thomas --- packages/hoppscotch-common/src/components/history/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/hoppscotch-common/src/components/history/index.vue b/packages/hoppscotch-common/src/components/history/index.vue index 1e302f089..462150c3c 100644 --- a/packages/hoppscotch-common/src/components/history/index.vue +++ b/packages/hoppscotch-common/src/components/history/index.vue @@ -99,7 +99,7 @@ :show-more="showMore" @toggle-star="toggleStar(entry.entry)" @delete-entry="deleteHistory(entry.entry)" - @use-entry="useHistory(entry.entry)" + @use-entry="useHistory(toRaw(entry.entry))" /> @@ -164,7 +164,7 @@ import IconHelpCircle from "~icons/lucide/help-circle" import IconTrash2 from "~icons/lucide/trash-2" import IconTrash from "~icons/lucide/trash" import IconFilter from "~icons/lucide/filter" -import { computed, ref, Ref } from "vue" +import { computed, ref, Ref, toRaw } from "vue" import { useColorMode } from "@composables/theming" import { HoppGQLRequest, From 830373efb3aab34fcdbd4ae85921cd921e7b0c9e Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Sat, 10 Dec 2022 21:10:45 -0500 Subject: [PATCH 05/22] chore: reintroduce sitemap generation (#2874) --- .../hoppscotch-common/src/components.d.ts | 4 +-- packages/hoppscotch-web/.gitignore | 3 ++ packages/hoppscotch-web/package.json | 1 + packages/hoppscotch-web/vite.config.ts | 30 ++++++++++++------- pnpm-lock.yaml | 15 ++++++++++ 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index c78414770..ed96a3671 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -99,7 +99,6 @@ declare module '@vue/runtime-core' { HttpTests: typeof import('./components/http/Tests.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] - IconLucideBrush: typeof import('~icons/lucide/brush')['default'] IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] @@ -108,11 +107,9 @@ declare module '@vue/runtime-core' { IconLucideLayers: typeof import('~icons/lucide/layers')['default'] IconLucideLoader: typeof import('~icons/lucide/loader')['default'] IconLucideMinus: typeof import('~icons/lucide/minus')['default'] - IconLucideRss: typeof import('~icons/lucide/rss')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] - IconLucideVerified: typeof import('~icons/lucide/verified')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] @@ -122,6 +119,7 @@ declare module '@vue/runtime-core' { LensesRenderersRawLensRenderer: typeof import('./components/lenses/renderers/RawLensRenderer.vue')['default'] LensesRenderersXMLLensRenderer: typeof import('./components/lenses/renderers/XMLLensRenderer.vue')['default'] LensesResponseBodyRenderer: typeof import('./components/lenses/ResponseBodyRenderer.vue')['default'] + Newcollections: typeof import('./components/newcollections/index.vue')['default'] ProfilePicture: typeof import('./components/profile/Picture.vue')['default'] ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default'] RealtimeCommunication: typeof import('./components/realtime/Communication.vue')['default'] diff --git a/packages/hoppscotch-web/.gitignore b/packages/hoppscotch-web/.gitignore index a547bf36d..5b70e816d 100644 --- a/packages/hoppscotch-web/.gitignore +++ b/packages/hoppscotch-web/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +# Sitemap Generation Artifacts (see vite.config.ts) +.sitemap-gen diff --git a/packages/hoppscotch-web/package.json b/packages/hoppscotch-web/package.json index 5f5b20ef4..99c153c8c 100644 --- a/packages/hoppscotch-web/package.json +++ b/packages/hoppscotch-web/package.json @@ -49,6 +49,7 @@ "vite-plugin-pages": "^0.26.0", "vite-plugin-pages-sitemap": "^1.4.0", "vite-plugin-pwa": "^0.13.1", + "vite-plugin-static-copy": "^0.12.0", "vite-plugin-vue-layouts": "^0.7.0", "vite-plugin-windicss": "^1.8.8", "vue-tsc": "^1.0.9", diff --git a/packages/hoppscotch-web/vite.config.ts b/packages/hoppscotch-web/vite.config.ts index 7ad79b9ae..1b2ffaf76 100644 --- a/packages/hoppscotch-web/vite.config.ts +++ b/packages/hoppscotch-web/vite.config.ts @@ -1,6 +1,7 @@ -import { defineConfig, loadEnv } from "vite" +import { defineConfig, loadEnv, normalizePath } from "vite" import { APP_INFO, META_TAGS } from "./meta" -// import generateSitemap from "vite-plugin-pages-sitemap" +import { viteStaticCopy as StaticCopy } from "vite-plugin-static-copy" +import generateSitemap from "vite-plugin-pages-sitemap" import HtmlConfig from "vite-plugin-html-config" import Vue from "@vitejs/plugin-vue" import VueI18n from "@intlify/vite-plugin-vue-i18n" @@ -73,16 +74,25 @@ export default defineConfig({ routeStyle: "nuxt", dirs: "../hoppscotch-common/src/pages", importMode: "async", - onRoutesGenerated() { - // TODO: Figure this out ? - // return generateSitemap({ - // routes, - // nuxtStyle: true, - // allowRobots: true, - // hostname: ENV.VITE_BASE_URL, - // }) + onRoutesGenerated(routes) { + // HACK: See: https://github.com/jbaubree/vite-plugin-pages-sitemap/issues/173 + return ((generateSitemap as any).default as typeof generateSitemap)({ + routes, + nuxtStyle: true, + allowRobots: true, + dest: ".sitemap-gen", + hostname: ENV.VITE_BASE_URL, + }) }, }), + StaticCopy({ + targets: [ + { + src: normalizePath(path.resolve(__dirname, "./.sitemap-gen/*")), + dest: normalizePath(path.resolve(__dirname, "./dist")), + }, + ], + }), Layouts({ layoutsDirs: "../hoppscotch-common/src/layouts", defaultLayout: "default", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba5594a12..546ffbfcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -441,6 +441,7 @@ importers: vite-plugin-pages: ^0.26.0 vite-plugin-pages-sitemap: ^1.4.0 vite-plugin-pwa: ^0.13.1 + vite-plugin-static-copy: ^0.12.0 vite-plugin-vue-layouts: ^0.7.0 vite-plugin-windicss: ^1.8.8 vue: ^3.2.41 @@ -477,6 +478,7 @@ importers: vite-plugin-pages: 0.26.0_vite@3.2.4 vite-plugin-pages-sitemap: 1.4.0 vite-plugin-pwa: 0.13.1_3kw35epztoiwny7qtfesjexvtu + vite-plugin-static-copy: 0.12.0_vite@3.2.4 vite-plugin-vue-layouts: 0.7.0_vite@3.2.4+vue@3.2.45 vite-plugin-windicss: 1.8.8_vite@3.2.4 vue-tsc: 1.0.9_typescript@4.7.4 @@ -12955,6 +12957,19 @@ packages: - supports-color dev: true + /vite-plugin-static-copy/0.12.0_vite@3.2.4: + resolution: {integrity: sha512-5a8hCjYJdf/rl8s7ct/YWt97gXdGPGNSOoJtkY5IYhbnSq04X1gTt5GpFHKfAxhHoed1Grfw3Ed13t7AjJi7gw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^3.0.0 + dependencies: + chokidar: 3.5.3 + fast-glob: 3.2.11 + fs-extra: 10.1.0 + picocolors: 1.0.0 + vite: 3.2.4 + dev: true + /vite-plugin-vue-layouts/0.7.0_oewzdqozxqnqgsrjzmwikx34vi: resolution: {integrity: sha512-k5XDmRNFo4M/GmUjhbRXj2WmJiFcGoVI8l/uZ72RHyRDQr4wE/6Zq/KFq0lqXomWQxTSzakQRUswzNwtvZLE8A==} peerDependencies: From 4b920feffa97aefc4d79809633fb69ac35098587 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 14 Dec 2022 16:33:33 +0530 Subject: [PATCH 06/22] ci: maximize build space --- .github/workflows/publish-docker.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index 5055cf578..5910a7e18 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -11,6 +11,15 @@ jobs: name: Push Docker image to Docker Hub runs-on: ubuntu-latest steps: + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + root-reserve-mb: 8192 + swap-size-mb: 18432 + remove-dotnet: 'true' + remove-android: 'true' + remove-haskell: 'true' + - name: Check out the repo uses: actions/checkout@v3 @@ -41,6 +50,6 @@ jobs: with: context: . push: true - platforms: linux/amd64,linux/arm64/v8,linux/arm/v7 + platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 0d26d4cdbd051337de824b9113cb0473dbec456c Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 14 Dec 2022 19:10:52 +0530 Subject: [PATCH 07/22] ci: updated workflow comments --- .github/workflows/codeql-analysis.yml | 2 +- .../workflows/deploy-firebase-production.yml | 5 +++-- .../workflows/deploy-netlify-production.yml | 20 ++++++++++++------- .github/workflows/deploy-netlify-staging.yml | 18 +++++++++++------ .github/workflows/publish-docker.yml | 6 +++--- .github/workflows/tests.yml | 13 ++++++------ 6 files changed, 39 insertions(+), 25 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8f4524e27..ec5e254ef 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -32,7 +32,7 @@ jobs: contents: read steps: - - name: Checkout repository + - name: Checkout uses: actions/checkout@v3 # Initializes the CodeQL tools for scanning. diff --git a/.github/workflows/deploy-firebase-production.yml b/.github/workflows/deploy-firebase-production.yml index e8dd9d6cc..c72ccb2db 100644 --- a/.github/workflows/deploy-firebase-production.yml +++ b/.github/workflows/deploy-firebase-production.yml @@ -5,10 +5,11 @@ on: branches: [main] jobs: - deploy_live_website: + deploy: + name: Deploy runs-on: ubuntu-latest steps: - - name: Checkout Repository + - name: Checkout uses: actions/checkout@v3 - name: Deploy to Firebase (production) diff --git a/.github/workflows/deploy-netlify-production.yml b/.github/workflows/deploy-netlify-production.yml index d5d0136da..6e4309792 100644 --- a/.github/workflows/deploy-netlify-production.yml +++ b/.github/workflows/deploy-netlify-production.yml @@ -5,23 +5,29 @@ on: branches: [main] jobs: - build: - name: Push build files to Netlify + deploy: + name: Deploy runs-on: ubuntu-latest steps: - - name: Checkout Repository + - name: Checkout uses: actions/checkout@v3 - - name: Setup Environment + - name: Setup environment run: mv .env.example .env - - name: Setup and run pnpm install + - name: Setup pnpm uses: pnpm/action-setup@v2.2.4 with: version: 7 run_install: true - - name: Build Site + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: pnpm + + - name: Build site env: VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} VITE_SENTRY_ENVIRONMENT: production @@ -35,7 +41,7 @@ jobs: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_PRODUCTION_SITE_ID }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - - name: Create Sentry Release + - name: Create Sentry release uses: getsentry/action-release@v1 env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} diff --git a/.github/workflows/deploy-netlify-staging.yml b/.github/workflows/deploy-netlify-staging.yml index 510233ac5..a0b70e4a7 100644 --- a/.github/workflows/deploy-netlify-staging.yml +++ b/.github/workflows/deploy-netlify-staging.yml @@ -7,14 +7,14 @@ on: branches: [staging] jobs: - build: - name: Push build files to Netlify + deploy: + name: Deploy runs-on: ubuntu-latest steps: - - name: Checkout Repository + - name: Checkout uses: actions/checkout@v3 - - name: Setup and run pnpm install + - name: Setup pnpm uses: pnpm/action-setup@v2.2.4 env: VITE_BACKEND_GQL_URL: ${{ secrets.STAGING_BACKEND_GQL_URL }} @@ -22,7 +22,13 @@ jobs: version: 7 run_install: true - - name: Build Site + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + cache: pnpm + + - name: Build site env: VITE_GA_ID: ${{ secrets.STAGING_GA_ID }} VITE_GTM_ID: ${{ secrets.STAGING_GTM_ID }} @@ -48,7 +54,7 @@ jobs: NETLIFY_SITE_ID: ${{ secrets.NETLIFY_STAGING_SITE_ID }} NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - - name: Create Sentry Release + - name: Create Sentry release uses: getsentry/action-release@v1 env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index 5910a7e18..01566d59e 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -7,8 +7,8 @@ on: types: [published] jobs: - push_to_registry: - name: Push Docker image to Docker Hub + publish: + name: Publish runs-on: ubuntu-latest steps: - name: Maximize build space @@ -20,7 +20,7 @@ jobs: remove-android: 'true' remove-haskell: 'true' - - name: Check out the repo + - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2c0984aa6..2faac5bbd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,8 @@ on: branches: [main, staging] jobs: - build: + test: + name: Test runs-on: ubuntu-latest strategy: @@ -15,22 +16,22 @@ jobs: node-version: ["lts/*"] steps: - - name: Checkout Repository + - name: Checkout uses: actions/checkout@v3 - - name: Setup Environment + - name: Setup environment run: mv .env.example .env - - name: Setup and run pnpm install + - name: Setup pnpm uses: pnpm/action-setup@v2.2.4 with: version: 7 run_install: true - - name: Use Node.js ${{ matrix.node-version }} + - name: Setup node uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node }} cache: pnpm - name: Run tests From ba6069324ff828496ada8c4abb550ac4e1d920a3 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Wed, 14 Dec 2022 19:29:04 +0530 Subject: [PATCH 08/22] chore: minor ui improvements --- packages/hoppscotch-common/src/components.d.ts | 3 ++- .../hoppscotch-common/src/components/app/Footer.vue | 6 ++++++ .../hoppscotch-common/src/components/app/Header.vue | 6 ++---- .../src/components/app/PaneLayout.vue | 8 ++++---- .../src/components/collections/ChooseType.vue | 11 +++++++---- .../src/components/environments/ChooseType.vue | 9 ++++++--- .../src/components/environments/index.vue | 3 +-- .../src/components/environments/teams/Environment.vue | 1 - .../hoppscotch-common/src/components/teams/Edit.vue | 10 ++++------ packages/hoppscotch-common/src/helpers/actions.ts | 1 + .../src/helpers/editor/themes/baseTheme.ts | 1 + packages/hoppscotch-common/src/helpers/keybindings.ts | 2 +- packages/hoppscotch-common/src/index.ts | 6 +++--- packages/hoppscotch-common/src/pages/join-team.vue | 6 +++--- packages/hoppscotch-common/src/pages/profile.vue | 6 ++---- 15 files changed, 43 insertions(+), 36 deletions(-) diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index ed96a3671..d90e016fa 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -99,6 +99,7 @@ declare module '@vue/runtime-core' { HttpTests: typeof import('./components/http/Tests.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] + IconLucideBrush: typeof import('~icons/lucide/brush')['default'] IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] @@ -107,6 +108,7 @@ declare module '@vue/runtime-core' { IconLucideLayers: typeof import('~icons/lucide/layers')['default'] IconLucideLoader: typeof import('~icons/lucide/loader')['default'] IconLucideMinus: typeof import('~icons/lucide/minus')['default'] + IconLucideRss: typeof import('~icons/lucide/rss')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] @@ -119,7 +121,6 @@ declare module '@vue/runtime-core' { LensesRenderersRawLensRenderer: typeof import('./components/lenses/renderers/RawLensRenderer.vue')['default'] LensesRenderersXMLLensRenderer: typeof import('./components/lenses/renderers/XMLLensRenderer.vue')['default'] LensesResponseBodyRenderer: typeof import('./components/lenses/ResponseBodyRenderer.vue')['default'] - Newcollections: typeof import('./components/newcollections/index.vue')['default'] ProfilePicture: typeof import('./components/profile/Picture.vue')['default'] ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default'] RealtimeCommunication: typeof import('./components/realtime/Communication.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/app/Footer.vue b/packages/hoppscotch-common/src/components/app/Footer.vue index 6332aa762..76426a05d 100644 --- a/packages/hoppscotch-common/src/components/app/Footer.vue +++ b/packages/hoppscotch-common/src/components/app/Footer.vue @@ -194,6 +194,7 @@ :show="showDeveloperOptions" @hide-modal="showDeveloperOptions = false" /> + @@ -231,6 +232,7 @@ const t = useI18n() const showShortcuts = ref(false) const showShare = ref(false) const showDeveloperOptions = ref(false) +const showLogin = ref(false) defineActionHandler("flyouts.keybinds.toggle", () => { showShortcuts.value = !showShortcuts.value @@ -240,6 +242,10 @@ defineActionHandler("modals.share.toggle", () => { showShare.value = !showShare.value }) +defineActionHandler("modals.login.toggle", () => { + showLogin.value = !showLogin.value +}) + const EXPAND_NAVIGATION = useSetting("EXPAND_NAVIGATION") const SIDEBAR = useSetting("SIDEBAR") const ZEN_MODE = useSetting("ZEN_MODE") diff --git a/packages/hoppscotch-common/src/components/app/Header.vue b/packages/hoppscotch-common/src/components/app/Header.vue index caeb28eee..ba4c40d20 100644 --- a/packages/hoppscotch-common/src/components/app/Header.vue +++ b/packages/hoppscotch-common/src/components/app/Header.vue @@ -42,12 +42,12 @@ :label="t('header.save_workspace')" filled class="hidden md:flex" - @click="showLogin = true" + @click="invokeAction('modals.login.toggle')" />

-
@@ -181,7 +180,6 @@ const t = useI18n() const showInstallButton = computed(() => !!pwaDefferedPrompt.value) -const showLogin = ref(false) const showTeamsModal = ref(false) const breakpoints = useBreakpoints(breakpointsTailwind) diff --git a/packages/hoppscotch-common/src/components/app/PaneLayout.vue b/packages/hoppscotch-common/src/components/app/PaneLayout.vue index e087ed636..7763abe1c 100644 --- a/packages/hoppscotch-common/src/components/app/PaneLayout.vue +++ b/packages/hoppscotch-common/src/components/app/PaneLayout.vue @@ -76,10 +76,10 @@ type PaneEvent = { size: number } -const PANE_SIDEBAR_SIZE = ref(25) -const PANE_MAIN_SIZE = ref(75) -const PANE_MAIN_TOP_SIZE = ref(45) -const PANE_MAIN_BOTTOM_SIZE = ref(65) +const PANE_MAIN_SIZE = ref(74) +const PANE_SIDEBAR_SIZE = ref(26) +const PANE_MAIN_TOP_SIZE = ref(42) +const PANE_MAIN_BOTTOM_SIZE = ref(58) if (!COLUMN_LAYOUT.value) { PANE_MAIN_TOP_SIZE.value = 50 diff --git a/packages/hoppscotch-common/src/components/collections/ChooseType.vue b/packages/hoppscotch-common/src/components/collections/ChooseType.vue index 01729110a..52974141a 100644 --- a/packages/hoppscotch-common/src/components/collections/ChooseType.vue +++ b/packages/hoppscotch-common/src/components/collections/ChooseType.vue @@ -12,7 +12,6 @@ import IconUsers from "~icons/lucide/users" import IconDone from "~icons/lucide/check" -import { ref, watch } from "vue" +import { nextTick, ref, watch } from "vue" import { GetMyTeamsQuery, Team } from "~/helpers/backend/graphql" import { currentUserInfo$ } from "~/helpers/teams/BackendUserInfo" import TeamListAdapter from "~/helpers/teams/TeamListAdapter" @@ -86,6 +85,7 @@ import { useReadonlyStream } from "@composables/stream" import { onLoggedIn } from "@composables/auth" import { useI18n } from "@composables/i18n" import { useLocalState } from "~/newstore/localstate" +import { invokeAction } from "~/helpers/actions" type TeamData = GetMyTeamsQuery["myTeams"][number] @@ -153,7 +153,10 @@ const updateSelectedTeam = (team: TeamData | undefined) => { emit("update-selected-team", team) } -watch(selectedCollectionTab, (newValue: string) => { - updateCollectionsType(newValue) +watch(selectedCollectionTab, (newValue: CollectionTabs) => { + if (newValue === "team-collections" && !currentUser.value) { + invokeAction("modals.login.toggle") + nextTick(() => (selectedCollectionTab.value = "my-collections")) + } else updateCollectionsType(newValue) }) diff --git a/packages/hoppscotch-common/src/components/environments/ChooseType.vue b/packages/hoppscotch-common/src/components/environments/ChooseType.vue index b88fab444..0aae6bfa0 100644 --- a/packages/hoppscotch-common/src/components/environments/ChooseType.vue +++ b/packages/hoppscotch-common/src/components/environments/ChooseType.vue @@ -12,7 +12,6 @@ diff --git a/packages/hoppscotch-common/src/components/environments/index.vue b/packages/hoppscotch-common/src/components/environments/index.vue index bcc0b1c0c..881e6e130 100644 --- a/packages/hoppscotch-common/src/components/environments/index.vue +++ b/packages/hoppscotch-common/src/components/environments/index.vue @@ -8,7 +8,6 @@ interactive trigger="click" theme="popover" - arrow :on-shown="() => tippyActions!.focus()" > - + -
- - {{ t("state.loading") }} +
+
+ +
@@ -138,7 +138,6 @@ to="/" />
-
@@ -163,6 +162,7 @@ import { useReadonlyStream } from "@composables/stream" import { useToast } from "@composables/toast" import { useI18n } from "~/composables/i18n" import IconHome from "~icons/lucide/home" +import { invokeAction } from "~/helpers/actions" type GetInviteDetailsError = | "team_invite/not_valid_viewer" @@ -214,12 +214,12 @@ export default defineComponent({ toast: useToast(), t: useI18n(), IconHome, + invokeAction, } }, data() { return { invalidLink: false, - showLogin: false, loading: false, revokedLink: false, inviteID: "", diff --git a/packages/hoppscotch-common/src/pages/profile.vue b/packages/hoppscotch-common/src/pages/profile.vue index d6f0c9a09..07475c782 100644 --- a/packages/hoppscotch-common/src/pages/profile.vue +++ b/packages/hoppscotch-common/src/pages/profile.vue @@ -24,7 +24,7 @@
@@ -285,7 +285,6 @@
- @@ -317,6 +316,7 @@ import { deleteShortcode as backendDeleteShortcode } from "~/helpers/backend/mut import IconVerified from "~icons/lucide/verified" import IconSettings from "~icons/lucide/settings" import IconHelpCircle from "~icons/lucide/help-circle" +import { invokeAction } from "~/helpers/actions" type ProfileTabs = "sync" | "teams" @@ -330,8 +330,6 @@ usePageHead({ title: computed(() => t("navigation.profile")), }) -const showLogin = ref(false) - const SYNC_COLLECTIONS = useSetting("syncCollections") const SYNC_ENVIRONMENTS = useSetting("syncEnvironments") const SYNC_HISTORY = useSetting("syncHistory") From 012f9b5314694151f82c128803dd4c7ad79d75b9 Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Thu, 15 Dec 2022 17:06:18 +0530 Subject: [PATCH 09/22] feat: prettify xml request body - fixed #2878 --- .../src/components/http/RawBody.vue | 53 ++++++++++++++++--- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/packages/hoppscotch-common/src/components/http/RawBody.vue b/packages/hoppscotch-common/src/components/http/RawBody.vue index 8d3225a68..d560b462e 100644 --- a/packages/hoppscotch-common/src/components/http/RawBody.vue +++ b/packages/hoppscotch-common/src/components/http/RawBody.vue @@ -28,7 +28,15 @@ @click.prevent="linewrapEnabled = !linewrapEnabled" /> @@ -86,6 +94,8 @@ type PossibleContentTypes = Exclude< const t = useI18n() +const payload = ref(null) + const props = defineProps<{ contentType: PossibleContentTypes }>() @@ -145,7 +155,7 @@ const clearContent = () => { rawParamsBody.value = "" } -const uploadPayload = async (e: InputEvent) => { +const uploadPayload = async (e: Event) => { await pipe( (e.target as HTMLInputElement).files?.[0], TO.of, @@ -161,10 +171,17 @@ const uploadPayload = async (e: InputEvent) => { ) )() } + const prettifyRequestBody = () => { + let prettifyBody = "" try { - const jsonObj = JSON.parse(rawParamsBody.value) - rawParamsBody.value = JSON.stringify(jsonObj, null, 2) + if (props.contentType.endsWith("json")) { + const jsonObj = JSON.parse(rawParamsBody.value as string) + prettifyBody = JSON.stringify(jsonObj, null, 2) + } else if (props.contentType == "application/xml") { + prettifyBody = prettifyXML(rawParamsBody.value as string) + } + rawParamsBody.value = prettifyBody prettifyIcon.value = IconCheck } catch (e) { console.error(e) @@ -172,4 +189,28 @@ const prettifyRequestBody = () => { toast.error(`${t("error.json_prettify_invalid_body")}`) } } + +const prettifyXML = (xml: string) => { + const PADDING = " ".repeat(2) // set desired indent size here + const reg = /(>)(<)(\/*)/g + let pad = 0 + xml = xml.replace(reg, "$1\r\n$2$3") + return xml + .split("\r\n") + .map((node) => { + let indent = 0 + if (node.match(/.+<\/\w[^>]*>$/)) { + indent = 0 + } else if (node.match(/^<\/\w/) && pad > 0) { + pad -= 1 + } else if (node.match(/^<\w[^>]*[^\/]>.*$/)) { + indent = 1 + } else { + indent = 0 + } + pad += indent + return PADDING.repeat(pad - indent) + node + }) + .join("\r\n") +} From d36ab337d78dee62b84f756bb2e421f48562a55a Mon Sep 17 00:00:00 2001 From: Anwarul Islam Date: Sat, 17 Dec 2022 10:01:39 +0600 Subject: [PATCH 10/22] feat: ability to delete user account and data (#2863) * feat: add gql mutation * feat: added delete account section in profile page * feat: separate shortcodes section to a component * feat: delete user modal * feat: delete user account * feat: navigate to homepage after delete * chore: improve ui * fix: delete user mutation * chore: minor ui improvements * chore: correct grammar in certain i18n strings * feat: delection section separated to component * feat: separate user delete section into component * feat: defer fetch my teams * feat: disable delete account button on loading state * Update Shortcodes.vue Co-authored-by: Liyas Thomas Co-authored-by: Andrew Bastin --- packages/hoppscotch-common/locales/en.json | 6 + .../hoppscotch-common/src/components.d.ts | 9 +- .../src/components/profile/Shortcodes.vue | 170 ++++++++++++++++ .../src/components/profile/UserDelete.vue | 187 ++++++++++++++++++ .../backend/gql/mutations/DeleteUser.graphql | 3 + .../src/helpers/backend/mutations/Profile.ts | 15 ++ .../hoppscotch-common/src/pages/profile.vue | 158 +-------------- 7 files changed, 390 insertions(+), 158 deletions(-) create mode 100644 packages/hoppscotch-common/src/components/profile/Shortcodes.vue create mode 100644 packages/hoppscotch-common/src/components/profile/UserDelete.vue create mode 100644 packages/hoppscotch-common/src/helpers/backend/gql/mutations/DeleteUser.graphql create mode 100644 packages/hoppscotch-common/src/helpers/backend/mutations/Profile.ts diff --git a/packages/hoppscotch-common/locales/en.json b/packages/hoppscotch-common/locales/en.json index 8dbd78357..a8b48ca9e 100644 --- a/packages/hoppscotch-common/locales/en.json +++ b/packages/hoppscotch-common/locales/en.json @@ -203,6 +203,9 @@ "browser_support_sse": "This browser doesn't seems to have Server Sent Events support.", "check_console_details": "Check console log for details.", "curl_invalid_format": "cURL is not formatted properly", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Empty Request Name", "f12_details": "(F12 for details)", "gql_prettify_invalid_query": "Couldn't prettify an invalid query, solve query syntax errors and try again", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accent color", "account": "Account", + "account_deleted": "Your account has been deleted", "account_description": "Customize your account settings.", "account_email_description": "Your primary email address.", "account_name_description": "This is your display name.", @@ -445,6 +449,8 @@ "change_font_size": "Change font size", "choose_language": "Choose language", "dark_mode": "Dark", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experiments", "experiments_notice": "This is a collection of experiments we're working on that might turn out to be useful, fun, both, or neither. They're not final and may not be stable, so if something overly weird happens, don't panic. Just turn the dang thing off. Jokes aside, ", diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index d90e016fa..48229a088 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -98,20 +98,14 @@ declare module '@vue/runtime-core' { HttpTestResultReport: typeof import('./components/http/TestResultReport.vue')['default'] HttpTests: typeof import('./components/http/Tests.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] - IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] - IconLucideBrush: typeof import('~icons/lucide/brush')['default'] - IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] - IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] IconLucideInbox: typeof import('~icons/lucide/inbox')['default'] IconLucideInfo: typeof import('~icons/lucide/info')['default'] - IconLucideLayers: typeof import('~icons/lucide/layers')['default'] IconLucideLoader: typeof import('~icons/lucide/loader')['default'] - IconLucideMinus: typeof import('~icons/lucide/minus')['default'] - IconLucideRss: typeof import('~icons/lucide/rss')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] + IconLucideVerified: typeof import('~icons/lucide/verified')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] @@ -123,6 +117,7 @@ declare module '@vue/runtime-core' { LensesResponseBodyRenderer: typeof import('./components/lenses/ResponseBodyRenderer.vue')['default'] ProfilePicture: typeof import('./components/profile/Picture.vue')['default'] ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default'] + ProfileShortcodes: typeof import('./components/profile/Shortcodes.vue')['default'] RealtimeCommunication: typeof import('./components/realtime/Communication.vue')['default'] RealtimeConnectionConfig: typeof import('./components/realtime/ConnectionConfig.vue')['default'] RealtimeLog: typeof import('./components/realtime/Log.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/profile/Shortcodes.vue b/packages/hoppscotch-common/src/components/profile/Shortcodes.vue new file mode 100644 index 000000000..159a003b9 --- /dev/null +++ b/packages/hoppscotch-common/src/components/profile/Shortcodes.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/packages/hoppscotch-common/src/components/profile/UserDelete.vue b/packages/hoppscotch-common/src/components/profile/UserDelete.vue new file mode 100644 index 000000000..eb73efd06 --- /dev/null +++ b/packages/hoppscotch-common/src/components/profile/UserDelete.vue @@ -0,0 +1,187 @@ + + + diff --git a/packages/hoppscotch-common/src/helpers/backend/gql/mutations/DeleteUser.graphql b/packages/hoppscotch-common/src/helpers/backend/gql/mutations/DeleteUser.graphql new file mode 100644 index 000000000..8e529696b --- /dev/null +++ b/packages/hoppscotch-common/src/helpers/backend/gql/mutations/DeleteUser.graphql @@ -0,0 +1,3 @@ +mutation DeleteUser { + deleteUser +} diff --git a/packages/hoppscotch-common/src/helpers/backend/mutations/Profile.ts b/packages/hoppscotch-common/src/helpers/backend/mutations/Profile.ts new file mode 100644 index 000000000..82a4ddfd6 --- /dev/null +++ b/packages/hoppscotch-common/src/helpers/backend/mutations/Profile.ts @@ -0,0 +1,15 @@ +import { runMutation } from "../GQLClient" +import { + DeleteUserDocument, + DeleteUserMutation, + DeleteUserMutationVariables, +} from "../graphql" + +type DeleteUserErrors = "user/not_found" + +export const deleteUser = () => + runMutation< + DeleteUserMutation, + DeleteUserMutationVariables, + DeleteUserErrors + >(DeleteUserDocument, {}) diff --git a/packages/hoppscotch-common/src/pages/profile.vue b/packages/hoppscotch-common/src/pages/profile.vue index 07475c782..5ec484ba8 100644 --- a/packages/hoppscotch-common/src/pages/profile.vue +++ b/packages/hoppscotch-common/src/pages/profile.vue @@ -64,7 +64,7 @@ v-if="currentUser.emailVerified" v-tippy="{ theme: 'tooltip' }" :title="t('settings.verified_email')" - class="ml-2 text-green-500 svg-icons cursor-help" + class="ml-2 text-green-500 svg-icons focus:outline-none cursor-help" /> + + +

{{ t("settings.sync") }} @@ -192,90 +195,8 @@

-
-

- {{ t("settings.short_codes") }} -

-
- {{ t("settings.short_codes_description") }} -
-
-
- - {{ - t("state.loading") - }} -
-
- - - {{ t("empty.shortcodes") }} - -
-
- -
- - -
- -
-
-
-
-
- - {{ getErrorMessage(adapterError) }} -
-
-
+ +
@@ -284,15 +205,13 @@ + - - From 3d7b057026cf03c0fd905b59bc48b958b2c8600e Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Sat, 17 Dec 2022 09:57:57 +0530 Subject: [PATCH 11/22] chore: updated i18n translation, minor ux improvements --- packages/hoppscotch-common/locales/af.json | 6 ++++++ packages/hoppscotch-common/locales/ar.json | 6 ++++++ packages/hoppscotch-common/locales/ca.json | 6 ++++++ packages/hoppscotch-common/locales/cn.json | 6 ++++++ packages/hoppscotch-common/locales/cs.json | 6 ++++++ packages/hoppscotch-common/locales/da.json | 6 ++++++ packages/hoppscotch-common/locales/de.json | 6 ++++++ packages/hoppscotch-common/locales/el.json | 6 ++++++ packages/hoppscotch-common/locales/es.json | 6 ++++++ packages/hoppscotch-common/locales/fi.json | 6 ++++++ packages/hoppscotch-common/locales/fr.json | 6 ++++++ packages/hoppscotch-common/locales/he.json | 6 ++++++ packages/hoppscotch-common/locales/hi.json | 6 ++++++ packages/hoppscotch-common/locales/hu.json | 6 ++++++ packages/hoppscotch-common/locales/id.json | 6 ++++++ packages/hoppscotch-common/locales/it.json | 6 ++++++ packages/hoppscotch-common/locales/ja.json | 6 ++++++ packages/hoppscotch-common/locales/ko.json | 6 ++++++ packages/hoppscotch-common/locales/nl.json | 6 ++++++ packages/hoppscotch-common/locales/no.json | 6 ++++++ packages/hoppscotch-common/locales/pl.json | 6 ++++++ packages/hoppscotch-common/locales/pt-br.json | 6 ++++++ packages/hoppscotch-common/locales/pt.json | 6 ++++++ packages/hoppscotch-common/locales/ro.json | 6 ++++++ packages/hoppscotch-common/locales/ru.json | 6 ++++++ packages/hoppscotch-common/locales/sr.json | 6 ++++++ packages/hoppscotch-common/locales/sv.json | 6 ++++++ packages/hoppscotch-common/locales/tr.json | 6 ++++++ packages/hoppscotch-common/locales/tw.json | 6 ++++++ packages/hoppscotch-common/locales/uk.json | 6 ++++++ packages/hoppscotch-common/locales/vi.json | 6 ++++++ packages/hoppscotch-common/src/components.d.ts | 7 +++++++ .../src/components/profile/UserDelete.vue | 9 +++------ packages/hoppscotch-common/src/pages/profile.vue | 2 +- 34 files changed, 197 insertions(+), 7 deletions(-) diff --git a/packages/hoppscotch-common/locales/af.json b/packages/hoppscotch-common/locales/af.json index 209da7fb5..da092bb53 100644 --- a/packages/hoppscotch-common/locales/af.json +++ b/packages/hoppscotch-common/locales/af.json @@ -203,6 +203,9 @@ "browser_support_sse": "Dit lyk nie asof hierdie blaaier ondersteuning vir bedieners gestuurde geleenthede het nie.", "check_console_details": "Kyk na die konsole -log vir meer inligting.", "curl_invalid_format": "cURL is nie behoorlik geformateer nie", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Leë versoeknaam", "f12_details": "(F12 vir meer inligting)", "gql_prettify_invalid_query": "Kon nie 'n ongeldige navraag mooi maak nie, los sintaksisfoute op en probeer weer", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Aksent kleur", "account": "Rekening", + "account_deleted": "Your account has been deleted", "account_description": "Pas u rekeninginstellings aan.", "account_email_description": "Jou primêre e -posadres.", "account_name_description": "Dit is u vertoonnaam.", @@ -445,6 +449,8 @@ "change_font_size": "Verander lettergrootte", "choose_language": "Kies taal", "dark_mode": "Donker", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Eksperimente", "experiments_notice": "Dit is 'n versameling eksperimente waaraan ons werk, wat nuttig, pret of beide kan wees. Hulle is nie finaal nie en is moontlik nie stabiel nie, dus moenie paniekerig raak as iets te vreemd gebeur nie. Skakel net die ding uit. Grappies eenkant,", diff --git a/packages/hoppscotch-common/locales/ar.json b/packages/hoppscotch-common/locales/ar.json index 88a253c1c..8d3620c5d 100644 --- a/packages/hoppscotch-common/locales/ar.json +++ b/packages/hoppscotch-common/locales/ar.json @@ -203,6 +203,9 @@ "browser_support_sse": "يبدو أن هذا المستعرض لا يدعم أحداث إرسال الخادم.", "check_console_details": "تحقق من سجل وحدة التحكم للحصول على التفاصيل.", "curl_invalid_format": "لم يتم تنسيق cURL بشكل صحيح", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "اسم الطلب فارغ", "f12_details": "(للحصول على تفاصيل F12)", "gql_prettify_invalid_query": "تعذر تحسين استعلام غير صالح وحل أخطاء بنية الاستعلام وحاول مرة أخرى", @@ -437,6 +440,7 @@ "settings": { "accent_color": "لون التمييز", "account": "حساب", + "account_deleted": "Your account has been deleted", "account_description": "تخصيص إعدادات حسابك.", "account_email_description": "عنوان بريدك الإلكتروني الأساسي.", "account_name_description": "هذا هو اسم العرض الخاص بك.", @@ -445,6 +449,8 @@ "change_font_size": "تغيير حجم الخط", "choose_language": "اختر اللغة", "dark_mode": "داكن", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "توسيع التنقل", "experiments": "التجارب", "experiments_notice": "هذه مجموعة من التجارب التي نعمل عليها والتي قد تكون مفيدة ، أو ممتعة ، أو كليهما ، أو لا شيء. إنها ليست نهائية وقد لا تكون مستقرة ، لذلك إذا حدث شيء غريب للغاية ، فلا داعي للذعر. فقط قم بإيقاف تشغيل الشيء. النكات جانبا،", diff --git a/packages/hoppscotch-common/locales/ca.json b/packages/hoppscotch-common/locales/ca.json index 9a840ae6a..7e026f592 100644 --- a/packages/hoppscotch-common/locales/ca.json +++ b/packages/hoppscotch-common/locales/ca.json @@ -203,6 +203,9 @@ "browser_support_sse": "Sembla que aquest navegador no és compatible amb els Esdeveniments Enviats pel Servidor (Server Sent Events).", "check_console_details": "Consulta el registre de la consola per obtenir més informació.", "curl_invalid_format": "cURL no està formatat correctament", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nom de la sol·licitud buida", "f12_details": "(F12 per obtenir més informació)", "gql_prettify_invalid_query": "No s'ha pogut definir una consulta no vàlida, resoldre els errors de sintaxi de la consulta i tornar-ho a provar", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Color d'accent", "account": "Compte", + "account_deleted": "Your account has been deleted", "account_description": "Personalitzeu la configuració del compte.", "account_email_description": "La vostra adreça de correu electrònic principal.", "account_name_description": "Aquest és el vostre nom d'exposició", @@ -445,6 +449,8 @@ "change_font_size": "Canvia la mida de la lletra", "choose_language": "Tria l'idioma", "dark_mode": "Fosc", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Ampliar navegació", "experiments": "Experiments", "experiments_notice": "Es tracta d'una col·lecció d'experiments en què estem treballant que poden resultar útils, divertits, o ambdós. No són finals i potser no són estables, de manera que si passa alguna cosa massa estrany, no us espanteu. Només cal que el desactiveu. Bromes a part,", diff --git a/packages/hoppscotch-common/locales/cn.json b/packages/hoppscotch-common/locales/cn.json index f260cdd4f..7dc4fee7f 100644 --- a/packages/hoppscotch-common/locales/cn.json +++ b/packages/hoppscotch-common/locales/cn.json @@ -203,6 +203,9 @@ "browser_support_sse": "该浏览器似乎不支持 SSE。", "check_console_details": "检查控制台日志以获悉详情", "curl_invalid_format": "cURL 格式不正确", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "空请求名称", "f12_details": "(F12 详情)", "gql_prettify_invalid_query": "无法美化无效的查询,处理查询语法错误并重试", @@ -437,6 +440,7 @@ "settings": { "accent_color": "强调色", "account": "帐户", + "account_deleted": "Your account has been deleted", "account_description": "自定义您的帐户设置。", "account_email_description": "您的主要电子邮箱地址。", "account_name_description": "这是您的显示名称。", @@ -445,6 +449,8 @@ "change_font_size": "更改字体大小", "choose_language": "选择语言", "dark_mode": "暗色", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "展开导航栏", "experiments": "实验功能", "experiments_notice": "下面是我们正在开发中的一些实验功能,这些功能可能会很有用,可能很有趣,又或者二者都是或都不是。这些功能并非最终版本且可能不稳定,所以如果发生了一些过于奇怪的事情,不要惊慌,关掉它们就好了。玩笑归玩笑,", diff --git a/packages/hoppscotch-common/locales/cs.json b/packages/hoppscotch-common/locales/cs.json index 5145085a7..f64858a3b 100644 --- a/packages/hoppscotch-common/locales/cs.json +++ b/packages/hoppscotch-common/locales/cs.json @@ -203,6 +203,9 @@ "browser_support_sse": "Zdá se, že tento prohlížeč nemá podporu událostí odeslaných serverem.", "check_console_details": "Podrobnosti najdete v protokolu konzoly.", "curl_invalid_format": "cURL nemá správný formát", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Název prázdného požadavku", "f12_details": "(F12 pro podrobnosti)", "gql_prettify_invalid_query": "Neplatný dotaz nelze předběžně upravit, vyřešit chyby syntaxe dotazu a zkusit to znovu", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Akcentní barva", "account": "Účet", + "account_deleted": "Your account has been deleted", "account_description": "Přizpůsobte si nastavení účtu.", "account_email_description": "Vaše primární e -mailová adresa.", "account_name_description": "Toto je vaše zobrazované jméno.", @@ -445,6 +449,8 @@ "change_font_size": "Změnit velikost písma", "choose_language": "Vyber jazyk", "dark_mode": "Temný", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experimenty", "experiments_notice": "Toto je sbírka experimentů, na kterých pracujeme a které se mohou ukázat jako užitečné, zábavné, obojí, nebo ani jedno. Nejsou konečné a nemusí být stabilní, takže pokud se stane něco příliš divného, nepanikařte. Prostě vypni tu nebezpečnou věc. Vtipy stranou,", diff --git a/packages/hoppscotch-common/locales/da.json b/packages/hoppscotch-common/locales/da.json index a60638a2d..001813592 100644 --- a/packages/hoppscotch-common/locales/da.json +++ b/packages/hoppscotch-common/locales/da.json @@ -203,6 +203,9 @@ "browser_support_sse": "Det ser ikke ud til, at denne browser understøtter Server Sent Events.", "check_console_details": "Tjek konsollog for at få flere oplysninger.", "curl_invalid_format": "cURL er ikke formateret korrekt", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Tom anmodningsnavn", "f12_details": "(F12 for detaljer)", "gql_prettify_invalid_query": "Kunne ikke prætificere en ugyldig forespørgsel, løse forespørgselssyntaksfejl og prøve igen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accent farve", "account": "Konto", + "account_deleted": "Your account has been deleted", "account_description": "Tilpas dine kontoindstillinger.", "account_email_description": "Din primære e -mail -adresse.", "account_name_description": "Dette er dit visningsnavn.", @@ -445,6 +449,8 @@ "change_font_size": "Skift skriftstørrelse", "choose_language": "Vælg sprog", "dark_mode": "Mørk", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Eksperimenter", "experiments_notice": "Dette er en samling af eksperimenter, vi arbejder på, der kan vise sig at være nyttige, sjove, begge dele eller ingen af dem. De er ikke endelige og er muligvis ikke stabile, så hvis der sker noget alt for mærkeligt, skal du ikke gå i panik. Bare sluk for dang -tingen. Vittigheder til side,", diff --git a/packages/hoppscotch-common/locales/de.json b/packages/hoppscotch-common/locales/de.json index b7304770c..00bc28dfe 100644 --- a/packages/hoppscotch-common/locales/de.json +++ b/packages/hoppscotch-common/locales/de.json @@ -203,6 +203,9 @@ "browser_support_sse": "Dieser Browser scheint keine Unterstützung für die vom Server gesendete Ereignisse zu haben.", "check_console_details": "Einzelheiten findest Du in der Browser-Konsole.", "curl_invalid_format": "cURL ist nicht richtig formatiert", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Leerer Anfragename", "f12_details": "(F12 für Details)", "gql_prettify_invalid_query": "Eine ungültige Abfrage konnte nicht verschönert werden. Fehler in der Abfragesyntax beheben und erneut versuchen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Akzentfarbe", "account": "Konto", + "account_deleted": "Your account has been deleted", "account_description": "Passe Deine Kontoeinstellungen an.", "account_email_description": "Deine primäre E-Mail-Adresse.", "account_name_description": "Dies ist Dein Anzeigename.", @@ -445,6 +449,8 @@ "change_font_size": "Schriftgröße ändern", "choose_language": "Sprache wählen", "dark_mode": "Dunkel", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Menüpunkte vergrößern", "experiments": "Experimente", "experiments_notice": "Dies ist eine Sammlung von Experimenten, an denen wir aktuell arbeiten und die sich als nützlich erweisen könnten, Spaß machen, beides oder keines von beiden. Sie sind nicht endgültig und möglicherweise nicht stabil. Wenn also etwas übermäßig Seltsames passiert, gerate nicht in Panik. Schalte das verdammte Ding einfach aus. Scherz beiseite,", diff --git a/packages/hoppscotch-common/locales/el.json b/packages/hoppscotch-common/locales/el.json index d8915afe7..206064571 100644 --- a/packages/hoppscotch-common/locales/el.json +++ b/packages/hoppscotch-common/locales/el.json @@ -203,6 +203,9 @@ "browser_support_sse": "Αυτό το πρόγραμμα περιήγησης δεν φαίνεται να υποστηρίζει διακομιστές που έχουν σταλεί συμβάντα.", "check_console_details": "Ελέγξτε το αρχείο καταγραφής της κονσόλας για λεπτομέρειες.", "curl_invalid_format": "Το cURL δεν έχει μορφοποιηθεί σωστά", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Όνομα κενού αιτήματος", "f12_details": "(F12 για λεπτομέρειες)", "gql_prettify_invalid_query": "Δεν ήταν δυνατή η προεπιλογή ενός μη έγκυρου ερωτήματος, η επίλυση σφαλμάτων σύνταξης ερωτήματος και η δοκιμή ξανά", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Χρώμα προφοράς", "account": "λογαριασμός", + "account_deleted": "Your account has been deleted", "account_description": "Προσαρμόστε τις ρυθμίσεις του λογαριασμού σας.", "account_email_description": "Η κύρια διεύθυνση email σας.", "account_name_description": "Αυτό είναι το εμφανιζόμενο όνομά σας.", @@ -445,6 +449,8 @@ "change_font_size": "Αλλαγή μεγέθους γραμματοσειράς", "choose_language": "Διάλεξε γλώσσα", "dark_mode": "Σκοτάδι", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Επέκταση navigation", "experiments": "Πειράματα", "experiments_notice": "Αυτή είναι μια συλλογή πειραμάτων που δουλεύουμε και που μπορεί να αποδειχθούν χρήσιμα, διασκεδαστικά, και τα δύο ή κανένα από τα δύο. Δεν είναι οριστικά και μπορεί να μην είναι σταθερά, οπότε αν συμβεί κάτι υπερβολικά περίεργο, μην πανικοβληθείτε. Απλώς απενεργοποιήστε το πράγμα. Τα αστεία στην άκρη,", diff --git a/packages/hoppscotch-common/locales/es.json b/packages/hoppscotch-common/locales/es.json index 7d0946b26..ae30b94cb 100644 --- a/packages/hoppscotch-common/locales/es.json +++ b/packages/hoppscotch-common/locales/es.json @@ -203,6 +203,9 @@ "browser_support_sse": "Este navegador no parece ser compatible con los eventos enviados por el servidor.", "check_console_details": "Consulta el registro de la consola para obtener más detalles.", "curl_invalid_format": "cURL no está formateado correctamente", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nombre de petición vacío", "f12_details": "(F12 para más detalles)", "gql_prettify_invalid_query": "No se puede aplicar embellecedor a una consulta no válida, resuelve los errores de sintaxis de la consulta y vuelve a intentarlo", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Color de acentuación", "account": "Cuenta", + "account_deleted": "Your account has been deleted", "account_description": "Personaliza la configuración de tu cuenta.", "account_email_description": "Tu dirección de correo electrónico principal.", "account_name_description": "Este es tu nombre para mostrar.", @@ -445,6 +449,8 @@ "change_font_size": "Cambiar tamaño de fuente", "choose_language": "Elegir idioma", "dark_mode": "Oscuro", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expandir la navegación", "experiments": "Experimentos", "experiments_notice": "Esta es una colección de experimentos en los que estamos trabajando que podrían resultar útiles, divertidos, ambos o ninguno. No son definitivos y es posible que no sean estables, por lo que si sucede algo demasiado extraño, no se asuste. Solo apaga la maldita cosa. Fuera de bromas,", diff --git a/packages/hoppscotch-common/locales/fi.json b/packages/hoppscotch-common/locales/fi.json index 500a9c968..b766fdf9d 100644 --- a/packages/hoppscotch-common/locales/fi.json +++ b/packages/hoppscotch-common/locales/fi.json @@ -203,6 +203,9 @@ "browser_support_sse": "Tämä selain ei näytä tukevan palvelimen lähettämiä tapahtumia.", "check_console_details": "Katso lisätietoja konsolilokista.", "curl_invalid_format": "cURL ei ole alustettu oikein", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Tyhjä pyynnön nimi", "f12_details": "(F12 lisätietoja)", "gql_prettify_invalid_query": "Virheellistä kyselyä ei voitu määrittää, ratkaista kyselyn syntaksivirheet ja yrittää uudelleen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Korostusväri", "account": "Tili", + "account_deleted": "Your account has been deleted", "account_description": "Muokkaa tilisi asetuksia.", "account_email_description": "Ensisijainen sähköpostiosoitteesi.", "account_name_description": "Tämä on näyttönimesi.", @@ -445,6 +449,8 @@ "change_font_size": "Vaihda fontin kokoa", "choose_language": "Valitse kieli", "dark_mode": "Tumma", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Kokeet", "experiments_notice": "Tämä on kokoelma kokeiluja, joita parhaillaan käsittelemme ja jotka voivat osoittautua hyödyllisiksi, hauskoiksi, molemmiksi tai kumpikaan. Ne eivät ole lopullisia eivätkä ehkä vakaita, joten jos jotain liian outoa tapahtuu, älä panikoi. Kytke vain paska pois päältä. Vitsit sivuun,", diff --git a/packages/hoppscotch-common/locales/fr.json b/packages/hoppscotch-common/locales/fr.json index d03bb0b8b..58dcb4f0a 100644 --- a/packages/hoppscotch-common/locales/fr.json +++ b/packages/hoppscotch-common/locales/fr.json @@ -203,6 +203,9 @@ "browser_support_sse": "Ce navigateur ne semble pas prendre en charge les événements envoyés par le serveur.", "check_console_details": "Consultez le journal de la console pour plus de détails.", "curl_invalid_format": "cURL n'est pas formaté correctement", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nom de la requête vide", "f12_details": "(F12 pour les détails)", "gql_prettify_invalid_query": "Impossible de formater une requête non valide, résolvez les erreurs de syntaxe de la requête et réessayer", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Couleur d'accent", "account": "Compte", + "account_deleted": "Your account has been deleted", "account_description": "Personnalisez les paramètres de votre compte.", "account_email_description": "Votre adresse e-mail principale.", "account_name_description": "Ceci est votre nom d'affichage.", @@ -445,6 +449,8 @@ "change_font_size": "Changer la taille de la police", "choose_language": "Choisissez la langue", "dark_mode": "Sombre", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Expériences", "experiments_notice": "Il s'agit d'une collection d'expériences sur lesquelles nous travaillons et qui pourraient s'avérer utiles, amusantes, les deux ou aucune. Ils ne sont pas définitifs et peuvent ne pas être stables, donc si quelque chose de trop étrange se produit, ne paniquez pas. Il suffit d'éteindre le truc. Blague à part,", diff --git a/packages/hoppscotch-common/locales/he.json b/packages/hoppscotch-common/locales/he.json index 060e6c106..b5fd6ad70 100644 --- a/packages/hoppscotch-common/locales/he.json +++ b/packages/hoppscotch-common/locales/he.json @@ -203,6 +203,9 @@ "browser_support_sse": "נראה שלדפדפן זה אין תמיכה באירועי שרת נשלח.", "check_console_details": "בדוק את יומן המסוף לפרטים.", "curl_invalid_format": "cURL אינו בפורמט תקין", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "שם הבקשה ריק", "f12_details": "(F12 לפרטים)", "gql_prettify_invalid_query": "לא ניתן היה לייפות שאילתה לא חוקית, לפתור שגיאות תחביר שאילתות ולנסות שוב", @@ -437,6 +440,7 @@ "settings": { "accent_color": "צבע הדגשה", "account": "חֶשְׁבּוֹן", + "account_deleted": "Your account has been deleted", "account_description": "התאם אישית את הגדרות החשבון שלך.", "account_email_description": "כתובת הדוא\"ל הראשית שלך.", "account_name_description": "זהו שם התצוגה שלך.", @@ -445,6 +449,8 @@ "change_font_size": "שנה גודל פונט", "choose_language": "בחר שפה", "dark_mode": "אפל", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "ניסויים", "experiments_notice": "זהו אוסף של ניסויים שעליהם אנו עובדים שעשויים להיות שימושיים, מהנים, שניהם או לא. הם לא סופיים ואולי לא יציבים, אז אם קורה משהו מוזר מדי, אל תיבהל. פשוט כבה את העניין המטומטם. בדיחות בצד,", diff --git a/packages/hoppscotch-common/locales/hi.json b/packages/hoppscotch-common/locales/hi.json index 054aed00d..baa7bb964 100644 --- a/packages/hoppscotch-common/locales/hi.json +++ b/packages/hoppscotch-common/locales/hi.json @@ -203,6 +203,9 @@ "browser_support_sse": " ऐसा लगता है कि इस ब्राउज़र में सर्वर से भेजे गए इवेंट का समर्थन नहीं है।", "check_console_details": " विवरण के लिए कंसोल लॉग की जाँच करें।", "curl_invalid_format": " कर्ल ठीक से स्वरूपित नहीं है", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": " खाली अनुरोध का नाम", "f12_details": " (विवरण के लिए F12)", "gql_prettify_invalid_query": " अमान्य क्वेरी को सुंदर नहीं बना सका, क्वेरी सिंटैक्स त्रुटियों को हल नहीं कर सका और पुनः प्रयास करें", @@ -438,6 +441,7 @@ "settings": { "accent_color": "स्वरोंका रंग", "account": "खाता", + "account_deleted": "Your account has been deleted", "account_description": "अपनी खाता सेटिंग कस्टमाइज़ करें।", "account_email_description": "आपका प्राथमिक ईमेल पता।", "account_name_description": "यह आपका प्रदर्शन नाम है।", @@ -446,6 +450,8 @@ "change_font_size": "फॉण्ट आकार बदलें", "choose_language": "भाषा चुनें", "dark_mode": "अँधेरा", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "नेविगेशन का विस्तार करें", "experiments": "प्रयोगों", "experiments_notice": "यह उन प्रयोगों का एक संग्रह है, जिन पर हम काम कर रहे हैं, जो उपयोगी, मज़ेदार, दोनों या न ही हो सकते हैं। वे अंतिम नहीं हैं और स्थिर नहीं हो सकते हैं, इसलिए यदि कुछ अजीब होता है, तो घबराएं नहीं। बस खतरे को बंद कर दें। एक तरफ मजाक,", diff --git a/packages/hoppscotch-common/locales/hu.json b/packages/hoppscotch-common/locales/hu.json index 4f05fb66b..358875b82 100644 --- a/packages/hoppscotch-common/locales/hu.json +++ b/packages/hoppscotch-common/locales/hu.json @@ -203,6 +203,9 @@ "browser_support_sse": "Úgy tűnik, hogy ez a böngésző nem támogatja a kiszolgáló által küldött eseményeket.", "check_console_details": "Nézze meg a konzolnaplót a részletekért.", "curl_invalid_format": "A cURL nincs megfelelően formázva", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Üres kérésnév", "f12_details": "(F12 a részletekért)", "gql_prettify_invalid_query": "Nem sikerült csinosítani egy érvénytelen lekérdezést, oldja meg a lekérdezés szintaktikai hibáit, és próbálja újra", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Kiemelőszín", "account": "Fiók", + "account_deleted": "Your account has been deleted", "account_description": "A fiókbeállítások személyre szabása.", "account_email_description": "Az Ön elsődleges e-mail-címe.", "account_name_description": "Ez a megjelenített neve.", @@ -445,6 +449,8 @@ "change_font_size": "Betűméret megváltoztatása", "choose_language": "Nyelv kiválasztása", "dark_mode": "Sötét", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Navigáció kinyitása", "experiments": "Kísérletek", "experiments_notice": "Ez olyan kísérletek gyűjteménye, amelyeken dolgozunk, és amelyek hasznosak, szórakoztatóak lehetnek, mindkettő, vagy egyik sem. Ezek nem véglegesek és nem stabilak, ezért ha valami túl furcsa dolog történik, ne essen pánikba. Egyszerűen kapcsolja ki a hibás dolgot. Viccet félretéve, ", diff --git a/packages/hoppscotch-common/locales/id.json b/packages/hoppscotch-common/locales/id.json index 325a58d78..052222334 100644 --- a/packages/hoppscotch-common/locales/id.json +++ b/packages/hoppscotch-common/locales/id.json @@ -203,6 +203,9 @@ "browser_support_sse": "Browser ini sepertinya tidak memiliki dukungan Server Sent Events.", "check_console_details": "Periksa console log untuk detailnya.", "curl_invalid_format": "cURL tidak diformat dengan benar", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nama Permintaan Kosong", "f12_details": "(F12 untuk detailnya)", "gql_prettify_invalid_query": "Tidak dapat prettify kueri yang tidak valid, menyelesaikan kesalahan sintaksis kueri, dan coba lagi", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accent color", "account": "Akun", + "account_deleted": "Your account has been deleted", "account_description": "Sesuaikan pengaturan akun Anda.", "account_email_description": "Alamat surel utama Anda.", "account_name_description": "Ini adalah nama tampilan Anda.", @@ -445,6 +449,8 @@ "change_font_size": "Ubah ukuran font", "choose_language": "Pilih bahasa", "dark_mode": "Gelap", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Perluas navigasi", "experiments": "Eksperimen", "experiments_notice": "Ini adalah kumpulan eksperimen yang sedang kami kerjakan yang mungkin berguna, menyenangkan, keduanya, atau tidak keduanya. Mereka tidak final dan mungkin tidak stabil, jadi jika sesuatu yang terlalu aneh terjadi, jangan panik. Matikan saja. Kesampingkan lelucon, ", diff --git a/packages/hoppscotch-common/locales/it.json b/packages/hoppscotch-common/locales/it.json index bcd900ffc..44dbdb6e2 100644 --- a/packages/hoppscotch-common/locales/it.json +++ b/packages/hoppscotch-common/locales/it.json @@ -203,6 +203,9 @@ "browser_support_sse": "Questo browser non sembra supportare gli eventi inviati dal server (Server Sent Events).", "check_console_details": "Controlla il log della console per i dettagli.", "curl_invalid_format": "cURL non è formattato correttamente", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nome richiesta vuoto", "f12_details": "(F12 per i dettagli)", "gql_prettify_invalid_query": "Impossibile abbellire una query non valida, risolvere gli errori di sintassi della query e riprovare", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Colore in risalto", "account": "Account", + "account_deleted": "Your account has been deleted", "account_description": "Personalizza le impostazioni del tuo account.", "account_email_description": "Il tuo indirizzo email principale.", "account_name_description": "Questo è il tuo nome mostrato.", @@ -445,6 +449,8 @@ "change_font_size": "Cambia la dimensione dei caratteri", "choose_language": "Scegli la lingua", "dark_mode": "Scuro", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Espandi navigazione", "experiments": "Sperimentale", "experiments_notice": "Questa è una raccolta di esperimenti su cui stiamo lavorando che potrebbero rivelarsi utili, divertenti, entrambi o nessuno dei due. Non sono definitivi e potrebbero non essere stabili, quindi se succede qualcosa di eccessivamente strano, niente panico. Basta solo disabilitare quella dannata cosa. Scherzi a parte, ", diff --git a/packages/hoppscotch-common/locales/ja.json b/packages/hoppscotch-common/locales/ja.json index a9fce74c9..62d964341 100644 --- a/packages/hoppscotch-common/locales/ja.json +++ b/packages/hoppscotch-common/locales/ja.json @@ -203,6 +203,9 @@ "browser_support_sse": "This browser doesn't seems to have Server Sent Events support.", "check_console_details": "Check console log for details.", "curl_invalid_format": "cURL is not formatted properly", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Empty Request Name", "f12_details": "(F12 for details)", "gql_prettify_invalid_query": "Couldn't prettify an invalid query, solve query syntax errors and try again", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accent color", "account": "アカウント", + "account_deleted": "Your account has been deleted", "account_description": "Customize your account settings.", "account_email_description": "Your primary email address.", "account_name_description": "This is your display name.", @@ -445,6 +449,8 @@ "change_font_size": "Change font size", "choose_language": "Choose language", "dark_mode": "Dark", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experiments", "experiments_notice": "This is a collection of experiments we're working on that might turn out to be useful, fun, both, or neither. They're not final and may not be stable, so if something overly weird happens, don't panic. Just turn the dang thing off. Jokes aside, ", diff --git a/packages/hoppscotch-common/locales/ko.json b/packages/hoppscotch-common/locales/ko.json index c00ec900c..fbc8b16b9 100644 --- a/packages/hoppscotch-common/locales/ko.json +++ b/packages/hoppscotch-common/locales/ko.json @@ -203,6 +203,9 @@ "browser_support_sse": "이 브라우저는 서버 전송 이벤트를 지원하지 않는 것 같습니다.", "check_console_details": "자세한 내용은 콘솔 로그를 확인하세요.", "curl_invalid_format": "cURL 형식이 올바르지 않습니다.", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "빈 요청 이름", "f12_details": "(자세한 내용은 F12)", "gql_prettify_invalid_query": "잘못된 쿼리를 구문 강조할 수 없습니다. 쿼리 구문 오류를 해결하고 다시 시도하세요.", @@ -437,6 +440,7 @@ "settings": { "accent_color": "강조색", "account": "계정", + "account_deleted": "Your account has been deleted", "account_description": "계정 설정을 수정합니다.", "account_email_description": "기본 이메일 주소입니다.", "account_name_description": "디스플레이 이름입니다.", @@ -445,6 +449,8 @@ "change_font_size": "글자 크기 변경", "choose_language": "언어 선택", "dark_mode": "어두운 테마", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "내비게이션 확장", "experiments": "실험실", "experiments_notice": "이것은 유용하거나 재미있거나 둘 다이거나 어느 쪽도 아닌, 아직 실험 중인 기능입니다. 완성되지 않았고 안정적이지 않을 수 있으므로 이상한 일이 발생하더라도 당황하지 마세요. 진지하게 말해서, 끄세요.", diff --git a/packages/hoppscotch-common/locales/nl.json b/packages/hoppscotch-common/locales/nl.json index ae0fc4f52..e48367a67 100644 --- a/packages/hoppscotch-common/locales/nl.json +++ b/packages/hoppscotch-common/locales/nl.json @@ -203,6 +203,9 @@ "browser_support_sse": "Deze browser lijkt geen ondersteuning te hebben voor door de server verzonden gebeurtenissen.", "check_console_details": "Controleer het consolelogboek voor details.", "curl_invalid_format": "cURL is niet correct geformatteerd", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Lege aanvraagnaam", "f12_details": "(F12 voor details)", "gql_prettify_invalid_query": "Kon een ongeldige zoekopdracht niet mooier maken, syntaxisfouten in de query oplossen en opnieuw proberen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accentkleur", "account": "Account", + "account_deleted": "Your account has been deleted", "account_description": "Pas uw accountinstellingen aan.", "account_email_description": "Uw primaire e-mailadres.", "account_name_description": "Dit is uw weergavenaam.", @@ -445,6 +449,8 @@ "change_font_size": "Verander lettergrootte", "choose_language": "Kies een taal", "dark_mode": "Donker", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experimentele functies", "experiments_notice": "Dit is een verzameling experimenten waaraan we werken en die nuttig, leuk, beide of geen van beide kunnen te zijn. Ze zijn niet definitief en zijn mogelijk niet stabiel, dus als er iets heel raars gebeurt, raak dan niet in paniek. Zet de functie uit, en", diff --git a/packages/hoppscotch-common/locales/no.json b/packages/hoppscotch-common/locales/no.json index 4ae0b85bf..bbf0aa299 100644 --- a/packages/hoppscotch-common/locales/no.json +++ b/packages/hoppscotch-common/locales/no.json @@ -203,6 +203,9 @@ "browser_support_sse": "Denne nettleseren ser ikke ut til å ha Server Sent Events -støtte.", "check_console_details": "Sjekk konsollloggen for detaljer.", "curl_invalid_format": "cURL er ikke riktig formatert", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Tom forespørselsnavn", "f12_details": "(F12 for detaljer)", "gql_prettify_invalid_query": "Kunne ikke forskjønne en ugyldig spørring, løse spørringssyntaksfeil og prøve igjen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Aksentfarge", "account": "Konto", + "account_deleted": "Your account has been deleted", "account_description": "Tilpass kontoinnstillingene dine.", "account_email_description": "Din primære e-postadresse.", "account_name_description": "Dette er visningsnavnet ditt.", @@ -445,6 +449,8 @@ "change_font_size": "Endre skriftstørrelse", "choose_language": "Velg språk", "dark_mode": "Mørk", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Eksperimenter", "experiments_notice": "Dette er en samling eksperimenter vi jobber med som kan vise seg å være nyttige, morsomme, begge deler eller ingen av dem. De er ikke endelige og er kanskje ikke stabile, så hvis det skjer noe altfor rart, ikke få panikk. Bare slå av det. Vitser til side,", diff --git a/packages/hoppscotch-common/locales/pl.json b/packages/hoppscotch-common/locales/pl.json index 4759388bc..51423452e 100644 --- a/packages/hoppscotch-common/locales/pl.json +++ b/packages/hoppscotch-common/locales/pl.json @@ -203,6 +203,9 @@ "browser_support_sse": "Wygląda na to, że ta przeglądarka nie obsługuje zdarzeń wysłanych przez serwer.", "check_console_details": "Sprawdź dziennik konsoli, aby uzyskać szczegółowe informacje.", "curl_invalid_format": "cURL nie jest poprawnie sformatowany", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Pusta nazwa żądania", "f12_details": "(F12 po szczegóły)", "gql_prettify_invalid_query": "Nie można poprawić czytelności nieprawidłowego zapytania, napraw błędy składni zapytania i spróbuj ponownie", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Kolor akcentu", "account": "Konto", + "account_deleted": "Your account has been deleted", "account_description": "Dostosuj ustawienia swojego konta.", "account_email_description": "Twój podstawowy adres e-mail.", "account_name_description": "To jest Twoja nazwa wyświetlana.", @@ -445,6 +449,8 @@ "change_font_size": "Zmień rozmiar czczionki", "choose_language": "Wybierz język", "dark_mode": "Ciemny", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Eksperymenty", "experiments_notice": "To jest zbiór eksperymentów, nad którymi pracujemy, które mogą okazać się przydatne, zabawne, obie te rzeczy albo żadne. Nie są ostateczne i mogą nie być stabilne, więc jeśli wydarzy się coś zbyt dziwnego, nie panikuj. Po prostu wyłącz to cholerstwo. Żarty na bok,", diff --git a/packages/hoppscotch-common/locales/pt-br.json b/packages/hoppscotch-common/locales/pt-br.json index a4778bf74..aa9136049 100644 --- a/packages/hoppscotch-common/locales/pt-br.json +++ b/packages/hoppscotch-common/locales/pt-br.json @@ -203,6 +203,9 @@ "browser_support_sse": "Este navegador não parece ter suporte para eventos enviados pelo servidor.", "check_console_details": "Verifique o log do console para obter detalhes.", "curl_invalid_format": "cURL não está formatado corretamente", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nome de requisição vazio", "f12_details": "(F12 para detalhes)", "gql_prettify_invalid_query": "Não foi possível justificar uma requisição inválida, resolva os erros de sintaxe da requisição e tente novamente", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Cor de destaque", "account": "Conta", + "account_deleted": "Your account has been deleted", "account_description": "Personalize as configurações da sua conta.", "account_email_description": "Seu endereço de e-mail principal.", "account_name_description": "Este é o seu nome de exibição.", @@ -445,6 +449,8 @@ "change_font_size": "Mudar TAMANHO DA FONTE", "choose_language": "Escolha o seu idioma", "dark_mode": "Escuro", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expandir navegação", "experiments": "Experimentos", "experiments_notice": "Esta é uma coleção de experimentos em que estamos trabalhando que podem ser úteis, divertidos, ambos ou nenhum dos dois. Eles não são finais e podem não ser estáveis, portanto, se algo muito estranho acontecer, não entre em pânico. Apenas desligue essa maldita coisa. Piadas à parte,", diff --git a/packages/hoppscotch-common/locales/pt.json b/packages/hoppscotch-common/locales/pt.json index 13e07f6d9..c63f4e817 100644 --- a/packages/hoppscotch-common/locales/pt.json +++ b/packages/hoppscotch-common/locales/pt.json @@ -203,6 +203,9 @@ "browser_support_sse": "Este navegador não parece ter suporte para eventos enviados pelo servidor.", "check_console_details": "Verifique o log do console para obter detalhes.", "curl_invalid_format": "cURL não está formatado corretamente", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nome do pedido vazio", "f12_details": "(F12 para detalhes)", "gql_prettify_invalid_query": "Não foi possível justificar uma consulta inválida, resolva os erros de sintaxe da consulta e tente novamente", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Cor de destaque", "account": "Conta", + "account_deleted": "Your account has been deleted", "account_description": "Personalize as configurações da sua conta.", "account_email_description": "Seu endereço de e-mail principal.", "account_name_description": "Este é o seu nome de exibição.", @@ -445,6 +449,8 @@ "change_font_size": "Mudar TAMANHO DA FONTE", "choose_language": "Escolha o seu idioma", "dark_mode": "Escuro", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experimentos", "experiments_notice": "Esta é uma coleção de experimentos em que estamos trabalhando que podem ser úteis, divertidos, ambos ou nenhum dos dois. Eles não são finais e podem não ser estáveis, portanto, se algo muito estranho acontecer, não entre em pânico. Apenas desligue essa maldita coisa. Piadas à parte,", diff --git a/packages/hoppscotch-common/locales/ro.json b/packages/hoppscotch-common/locales/ro.json index 14cd0098a..e7795fcea 100644 --- a/packages/hoppscotch-common/locales/ro.json +++ b/packages/hoppscotch-common/locales/ro.json @@ -203,6 +203,9 @@ "browser_support_sse": "Acest browser pare să nu aibă suport pentru Server Sent Events.", "check_console_details": "Verificați jurnalul consolei pentru detalii.", "curl_invalid_format": "cURL nu este formatat corect", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Nume cerere goală", "f12_details": "(F12 pentru detalii)", "gql_prettify_invalid_query": "Nu am putut formata o interogare nevalidă, rezolvați erorile de sintaxă ale interogării și încercați din nou", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Culoare de accent", "account": "Cont", + "account_deleted": "Your account has been deleted", "account_description": "Personalizați setările contului.", "account_email_description": "Adresa dvs. de e-mail principală.", "account_name_description": "Acesta este numele dvs. afișat.", @@ -445,6 +449,8 @@ "change_font_size": "Schimbă marimea fontului", "choose_language": "Alege limba", "dark_mode": "Întunecat", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expandează navigarea", "experiments": "Experimente", "experiments_notice": "Aceasta este o colecție de experimente la care lucrăm, care s-ar putea dovedi a fi utile, distractive, ambele sau nici una. Nu sunt definitive și s-ar putea să nu fie stabile, așa că, dacă se întâmplă ceva prea ciudat, nu vă panicați. Doar oprește-l. Lăsând glumele deoparte,", diff --git a/packages/hoppscotch-common/locales/ru.json b/packages/hoppscotch-common/locales/ru.json index 6cfb9f28f..788c7dade 100644 --- a/packages/hoppscotch-common/locales/ru.json +++ b/packages/hoppscotch-common/locales/ru.json @@ -203,6 +203,9 @@ "browser_support_sse": "Похоже, в этом браузере нет поддержки событий, отправленных сервером.", "check_console_details": "Подробности смотрите в журнале консоли.", "curl_invalid_format": "cURL неправильно отформатирован", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Пустое имя запроса", "f12_details": "(F12 для подробностей)", "gql_prettify_invalid_query": "Не удалось определить недопустимый запрос, устранить синтаксические ошибки запроса и повторить попытку.", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Основной цвет", "account": "Счет", + "account_deleted": "Your account has been deleted", "account_description": "Настройте параметры своей учетной записи.", "account_email_description": "Ваш основной адрес электронной почты.", "account_name_description": "Это ваше отображаемое имя.", @@ -445,6 +449,8 @@ "change_font_size": "Изменить размер шрифта", "choose_language": "Выберите язык", "dark_mode": "Темный", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Раскрыть панель навигации", "experiments": "Эксперименты", "experiments_notice": "Это набор экспериментов, над которыми мы работаем, которые могут оказаться полезными, интересными, и тем, и другим, или ни тем, ни другим. Они не окончательные и могут быть нестабильными, поэтому, если произойдет что-то слишком странное, не паникуйте. Просто выключи эту чертову штуку. Шутки в сторону,", diff --git a/packages/hoppscotch-common/locales/sr.json b/packages/hoppscotch-common/locales/sr.json index 8b0002217..90c0894e1 100644 --- a/packages/hoppscotch-common/locales/sr.json +++ b/packages/hoppscotch-common/locales/sr.json @@ -203,6 +203,9 @@ "browser_support_sse": "Изгледа да овај прегледач нема подршку за Послане догађаје са сервера.", "check_console_details": "Детаље потражите у дневнику конзоле.", "curl_invalid_format": "цУРЛ није правилно форматиран", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Празан назив захтева", "f12_details": "(Ф12 за детаље)", "gql_prettify_invalid_query": "Није могуће унапредити неважећи упит, решити грешке у синтакси упита и покушати поново", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Боја акцента", "account": "Рачун", + "account_deleted": "Your account has been deleted", "account_description": "Прилагодите поставке налога.", "account_email_description": "Ваша примарна адреса е -поште.", "account_name_description": "Ово је ваше име за приказ.", @@ -445,6 +449,8 @@ "change_font_size": "Промените величину фонта", "choose_language": "Изабери језик", "dark_mode": "Дарк", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Експерименти", "experiments_notice": "Ово је збирка експеримената на којима радимо и који би се могли показати корисним, забавним, обоје или ниједно. Нису коначни и можда нису стабилни, па ако се догоди нешто превише чудно, немојте паничарити. Само искључите опасну ствар. Шалу на страну,", diff --git a/packages/hoppscotch-common/locales/sv.json b/packages/hoppscotch-common/locales/sv.json index 713739ca5..e9face08d 100644 --- a/packages/hoppscotch-common/locales/sv.json +++ b/packages/hoppscotch-common/locales/sv.json @@ -203,6 +203,9 @@ "browser_support_sse": "Den här webbläsaren verkar inte ha stöd för Server Sent Events.", "check_console_details": "Kontrollera konsolloggen för mer information.", "curl_invalid_format": "cURL är inte korrekt formaterad", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Tom förfrågningsnamn", "f12_details": "(F12 för detaljer)", "gql_prettify_invalid_query": "Det gick inte att pryda en ogiltig fråga, lösa frågesyntaxfel och försök igen", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Accentfärg", "account": "konto", + "account_deleted": "Your account has been deleted", "account_description": "Anpassa dina kontoinställningar.", "account_email_description": "Din primära e -postadress.", "account_name_description": "Detta är ditt visningsnamn.", @@ -445,6 +449,8 @@ "change_font_size": "Ändra typsnittsstorlek", "choose_language": "Välj språk", "dark_mode": "Mörk", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Experiment", "experiments_notice": "Det här är en samling experiment vi arbetar med som kan visa sig vara användbara, roliga, båda eller ingen av dem. De är inte slutgiltiga och kanske inte är stabila, så om inget alltför konstigt händer, var inte rädd. Stäng bara av det jävla. Skämt åt sidan,", diff --git a/packages/hoppscotch-common/locales/tr.json b/packages/hoppscotch-common/locales/tr.json index 708a4a4ea..43f0bf7f3 100644 --- a/packages/hoppscotch-common/locales/tr.json +++ b/packages/hoppscotch-common/locales/tr.json @@ -203,6 +203,9 @@ "browser_support_sse": "Bu tarayıcıda SSE desteği yok gibi görünüyor.", "check_console_details": "Ayrıntılar için konsol günlüğünü kontrol edin.", "curl_invalid_format": "cURL düzgün biçimlendirilmemiş", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Boş İstek Adı", "f12_details": "(Ayrıntılar için F12)", "gql_prettify_invalid_query": "Geçersiz bir sorgu güzelleştirilemedi, sorgu sözdizimi hatalarını çözüp tekrar deneyin", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Vurgu rengi", "account": "Hesap", + "account_deleted": "Your account has been deleted", "account_description": "Hesap ayarlarınızı özelleştirin.", "account_email_description": "Birincil e-posta adresiniz.", "account_name_description": "Bu sizin görünen adınız.", @@ -445,6 +449,8 @@ "change_font_size": "Yazı tipi boyutunu değiştir", "choose_language": "Dil seçiniz", "dark_mode": "Karanlık", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Gezinmeyi genişlet", "experiments": "Deneyler", "experiments_notice": "Bu, üzerinde çalıştığımız, yararlı, eğlenceli, her ikisi de ya da hiçbiri olabilecek bir deneyler koleksiyonudur. Nihai değiller ve istikrarlı olmayabilirler, bu yüzden aşırı garip bir şey olursa panik yapmayın.", diff --git a/packages/hoppscotch-common/locales/tw.json b/packages/hoppscotch-common/locales/tw.json index 86adef4c9..7c577ba7e 100644 --- a/packages/hoppscotch-common/locales/tw.json +++ b/packages/hoppscotch-common/locales/tw.json @@ -203,6 +203,9 @@ "browser_support_sse": "此瀏覽器似乎不支援 SSE。", "check_console_details": "檢查控制台日誌以獲悉詳情", "curl_invalid_format": "cURL 格式不正確", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "空請求名稱", "f12_details": "(按下 F12 以獲悉詳情)", "gql_prettify_invalid_query": "無法美化無效的查詢,處理查詢語法錯誤並重試", @@ -437,6 +440,7 @@ "settings": { "accent_color": "強調色", "account": "帳號", + "account_deleted": "Your account has been deleted", "account_description": "自定義您的帳號設定。", "account_email_description": "您的主要電子郵件地址。", "account_name_description": "這是您的顯示名稱。", @@ -445,6 +449,8 @@ "change_font_size": "更改字型大小", "choose_language": "選擇語言", "dark_mode": "暗色", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "展開導航欄", "experiments": "實驗功能", "experiments_notice": "下面是我們正在開發中的一些實驗功能,這些功能可能會很有用,可能很有趣,又或者二者都是或都不是。這些功能並非最終版本且可能不穩定,所以如果發生了一些過於奇怪的事情,不要驚慌,關掉它們就好了。玩笑歸玩笑,", diff --git a/packages/hoppscotch-common/locales/uk.json b/packages/hoppscotch-common/locales/uk.json index e34838207..76e205e5c 100644 --- a/packages/hoppscotch-common/locales/uk.json +++ b/packages/hoppscotch-common/locales/uk.json @@ -203,6 +203,9 @@ "browser_support_sse": "Схоже, цей браузер не підтримує події, надіслані сервером.", "check_console_details": "Детальніше перевірте журнал консолі.", "curl_invalid_format": "cURL неправильно форматовано", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Пуста назва запиту", "f12_details": "(F12 для деталей)", "gql_prettify_invalid_query": "Не вдалося попередньо визначити недійсний запит, вирішити синтаксичні помилки запиту та повторити спробу", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Колір акценту", "account": "Рахунок", + "account_deleted": "Your account has been deleted", "account_description": "Налаштуйте налаштування свого облікового запису.", "account_email_description": "Ваша основна електронна адреса.", "account_name_description": "Це ваше відображуване ім'я.", @@ -445,6 +449,8 @@ "change_font_size": "Змінити розмір шрифту", "choose_language": "Виберіть мову", "dark_mode": "Темний", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Розгорнути навігацію", "experiments": "Експерименти", "experiments_notice": "Це збірка експериментів, над якими ми працюємо, які можуть виявитися корисними, веселими, обома чи ні. Вони не остаточні і можуть бути нестійкими, тому, якщо трапиться щось надто дивне, не панікуйте. Просто вимкніть небезпеку. Жарти в сторону,", diff --git a/packages/hoppscotch-common/locales/vi.json b/packages/hoppscotch-common/locales/vi.json index 303d5ebfe..a93e0462e 100644 --- a/packages/hoppscotch-common/locales/vi.json +++ b/packages/hoppscotch-common/locales/vi.json @@ -203,6 +203,9 @@ "browser_support_sse": "Trình duyệt này dường như không có hỗ trợ Sự kiện do Máy chủ gửi.", "check_console_details": "Kiểm tra nhật ký bảng điều khiển để biết chi tiết.", "curl_invalid_format": "cURL không được định dạng đúng", + "danger_zone": "Danger zone", + "delete_account": "Your account is currently an owner in these teams:", + "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", "empty_req_name": "Tên yêu cầu trống", "f12_details": "(F12 để biết chi tiết)", "gql_prettify_invalid_query": "Không thể xác minh trước một truy vấn không hợp lệ, hãy giải quyết các lỗi cú pháp truy vấn và thử lại", @@ -437,6 +440,7 @@ "settings": { "accent_color": "Màu nhấn", "account": "Tài khoản", + "account_deleted": "Your account has been deleted", "account_description": "Tùy chỉnh cài đặt tài khoản của bạn.", "account_email_description": "Địa chỉ email chính của bạn.", "account_name_description": "Đây là tên hiển thị của bạn.", @@ -445,6 +449,8 @@ "change_font_size": "Thay đổi kích thước phông chữ", "choose_language": "Chọn ngôn ngữ", "dark_mode": "Tối tăm", + "delete_account": "Delete account", + "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", "experiments": "Thí nghiệm", "experiments_notice": "Đây là một bộ sưu tập các thử nghiệm mà chúng tôi đang thực hiện có thể hữu ích, thú vị, cả hai hoặc không. Chúng không phải là cuối cùng và có thể không ổn định, vì vậy nếu có điều gì đó quá kỳ lạ xảy ra, đừng hoảng sợ. Chỉ cần tắt điều này đi. Chuyện cười sang một bên,", diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index 48229a088..ab5070ecb 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -98,10 +98,16 @@ declare module '@vue/runtime-core' { HttpTestResultReport: typeof import('./components/http/TestResultReport.vue')['default'] HttpTests: typeof import('./components/http/Tests.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] + IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] + IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] + IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] + IconLucideHelpCircle: typeof import('~icons/lucide/help-circle')['default'] IconLucideInbox: typeof import('~icons/lucide/inbox')['default'] IconLucideInfo: typeof import('~icons/lucide/info')['default'] + IconLucideLayers: typeof import('~icons/lucide/layers')['default'] IconLucideLoader: typeof import('~icons/lucide/loader')['default'] + IconLucideMinus: typeof import('~icons/lucide/minus')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] @@ -118,6 +124,7 @@ declare module '@vue/runtime-core' { ProfilePicture: typeof import('./components/profile/Picture.vue')['default'] ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default'] ProfileShortcodes: typeof import('./components/profile/Shortcodes.vue')['default'] + ProfileUserDelete: typeof import('./components/profile/UserDelete.vue')['default'] RealtimeCommunication: typeof import('./components/realtime/Communication.vue')['default'] RealtimeConnectionConfig: typeof import('./components/realtime/ConnectionConfig.vue')['default'] RealtimeLog: typeof import('./components/realtime/Log.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/profile/UserDelete.vue b/packages/hoppscotch-common/src/components/profile/UserDelete.vue index eb73efd06..afe4688e2 100644 --- a/packages/hoppscotch-common/src/components/profile/UserDelete.vue +++ b/packages/hoppscotch-common/src/components/profile/UserDelete.vue @@ -3,10 +3,9 @@

{{ t("settings.delete_account") }}

-
+
{{ t("settings.delete_account_description") }}
- - {{ t("state.loading") }}
-

{{ t("error.danger_zone") }} @@ -48,7 +45,7 @@

{{ t("error.danger_zone") }} diff --git a/packages/hoppscotch-common/src/pages/profile.vue b/packages/hoppscotch-common/src/pages/profile.vue index 5ec484ba8..600255c91 100644 --- a/packages/hoppscotch-common/src/pages/profile.vue +++ b/packages/hoppscotch-common/src/pages/profile.vue @@ -205,7 +205,6 @@

- @@ -219,6 +218,7 @@ import { setEmailAddress, verifyEmailAddress, } from "~/helpers/fb/auth" +import { invokeAction } from "~/helpers/actions" import { useReadonlyStream } from "@composables/stream" import { useI18n } from "@composables/i18n" From 1e5dd1cc5365a72c938e809306e989396b64af8f Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Wed, 21 Dec 2022 19:21:52 -0500 Subject: [PATCH 12/22] chore: introduce platform object for platform specific code --- .../hoppscotch-common/src/components.d.ts | 2 -- .../src/components/app/Header.vue | 9 +++++++- packages/hoppscotch-common/src/index.ts | 23 +++++++++++++++++-- packages/hoppscotch-web/src/main.ts | 2 +- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index ab5070ecb..380ed83be 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -102,7 +102,6 @@ declare module '@vue/runtime-core' { IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] - IconLucideHelpCircle: typeof import('~icons/lucide/help-circle')['default'] IconLucideInbox: typeof import('~icons/lucide/inbox')['default'] IconLucideInfo: typeof import('~icons/lucide/info')['default'] IconLucideLayers: typeof import('~icons/lucide/layers')['default'] @@ -111,7 +110,6 @@ declare module '@vue/runtime-core' { IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] - IconLucideVerified: typeof import('~icons/lucide/verified')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/app/Header.vue b/packages/hoppscotch-common/src/components/app/Header.vue index ba4c40d20..b89c23bad 100644 --- a/packages/hoppscotch-common/src/components/app/Header.vue +++ b/packages/hoppscotch-common/src/components/app/Header.vue @@ -3,7 +3,13 @@
-
+
+ paddingLeft?: Ref + } + } +} + +/** + * Defines the fields, functions and properties that will be + * filled in by the individual platforms. + * + * This value is populated upon calling `createHoppApp` + */ +export let platform: PlatformDef + +export function createHoppApp(el: string | Element, platformDef: PlatformDef) { + platform = platformDef + const app = createApp(App) // Some basic work that needs to be done before module inits even diff --git a/packages/hoppscotch-web/src/main.ts b/packages/hoppscotch-web/src/main.ts index 18dcfea16..70b880b27 100644 --- a/packages/hoppscotch-web/src/main.ts +++ b/packages/hoppscotch-web/src/main.ts @@ -1,3 +1,3 @@ import { createHoppApp } from "@hoppscotch/common" -createHoppApp("#app") +createHoppApp("#app", {}) From 51e40581b01b7f1a5b8fe3a91fb8e0a3e8382459 Mon Sep 17 00:00:00 2001 From: Anwarul Islam Date: Mon, 26 Dec 2022 01:40:55 +0600 Subject: [PATCH 13/22] fix: login modal not visible in small screen --- .../hoppscotch-common/src/components.d.ts | 1 + .../src/components/app/ActionHandler.vue | 26 +++++++++++++++++++ .../src/components/app/Footer.vue | 26 +++---------------- .../hoppscotch-common/src/layouts/default.vue | 1 + 4 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 packages/hoppscotch-common/src/components/app/ActionHandler.vue diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index 380ed83be..7dc2e5caf 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -7,6 +7,7 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { + AppActionHandler: typeof import('./components/app/ActionHandler.vue')['default'] AppAnnouncement: typeof import('./components/app/Announcement.vue')['default'] AppDeveloperOptions: typeof import('./components/app/DeveloperOptions.vue')['default'] AppFooter: typeof import('./components/app/Footer.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/app/ActionHandler.vue b/packages/hoppscotch-common/src/components/app/ActionHandler.vue new file mode 100644 index 000000000..6f1cfa547 --- /dev/null +++ b/packages/hoppscotch-common/src/components/app/ActionHandler.vue @@ -0,0 +1,26 @@ + + + diff --git a/packages/hoppscotch-common/src/components/app/Footer.vue b/packages/hoppscotch-common/src/components/app/Footer.vue index 76426a05d..d60e4bf05 100644 --- a/packages/hoppscotch-common/src/components/app/Footer.vue +++ b/packages/hoppscotch-common/src/components/app/Footer.vue @@ -71,7 +71,7 @@ :shortcut="['S']" @click=" () => { - showShortcuts = true + invokeAction('flyouts.keybinds.toggle') hide() } " @@ -122,7 +122,7 @@ :label="`${t('app.invite')}`" @click=" () => { - showShare = true + invokeAction('modals.share.toggle') hide() } " @@ -154,7 +154,7 @@ 'app.shortcuts' )} ${getSpecialKey()}K`" :icon="IconZap" - @click="showShortcuts = true" + @click="invokeAction('flyouts.keybinds.toggle')" />
- - - @@ -218,7 +215,6 @@ import IconGithub from "~icons/lucide/github" import IconTwitter from "~icons/lucide/twitter" import IconUserPlus from "~icons/lucide/user-plus" import IconLock from "~icons/lucide/lock" -import { defineActionHandler } from "~/helpers/actions" import { showChat } from "@modules/crisp" import { useSetting } from "@composables/settings" import { useI18n } from "@composables/i18n" @@ -227,24 +223,10 @@ import { currentUser$ } from "~/helpers/fb/auth" import { TippyComponent } from "vue-tippy" import SmartItem from "@components/smart/Item.vue" import { getPlatformSpecialKey as getSpecialKey } from "~/helpers/platformutils" +import { invokeAction } from "@helpers/actions" const t = useI18n() -const showShortcuts = ref(false) -const showShare = ref(false) const showDeveloperOptions = ref(false) -const showLogin = ref(false) - -defineActionHandler("flyouts.keybinds.toggle", () => { - showShortcuts.value = !showShortcuts.value -}) - -defineActionHandler("modals.share.toggle", () => { - showShare.value = !showShare.value -}) - -defineActionHandler("modals.login.toggle", () => { - showLogin.value = !showLogin.value -}) const EXPAND_NAVIGATION = useSetting("EXPAND_NAVIGATION") const SIDEBAR = useSetting("SIDEBAR") diff --git a/packages/hoppscotch-common/src/layouts/default.vue b/packages/hoppscotch-common/src/layouts/default.vue index a40e3d69e..d63fccf0b 100644 --- a/packages/hoppscotch-common/src/layouts/default.vue +++ b/packages/hoppscotch-common/src/layouts/default.vue @@ -46,6 +46,7 @@ + Date: Thu, 29 Dec 2022 11:10:16 +0530 Subject: [PATCH 14/22] chore: minor ui improvements --- packages/hoppscotch-common/assets/scss/styles.scss | 4 ++++ packages/hoppscotch-common/src/index.ts | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/hoppscotch-common/assets/scss/styles.scss b/packages/hoppscotch-common/assets/scss/styles.scss index b3d7c9c2c..9aaf1b411 100644 --- a/packages/hoppscotch-common/assets/scss/styles.scss +++ b/packages/hoppscotch-common/assets/scss/styles.scss @@ -501,6 +501,10 @@ pre.ace_editor { @apply rounded; @apply ml-2; @apply px-1; + @apply min-w-5; + @apply min-h-5; + @apply items-center; + @apply justify-center; @apply border border-dividerDark; @apply shadow-sm; @apply Date: Tue, 3 Jan 2023 15:21:33 +0800 Subject: [PATCH 15/22] chore: update i18n translations (#2892) --- packages/hoppscotch-common/locales/tw.json | 46 +++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/hoppscotch-common/locales/tw.json b/packages/hoppscotch-common/locales/tw.json index 7c577ba7e..682ee2e08 100644 --- a/packages/hoppscotch-common/locales/tw.json +++ b/packages/hoppscotch-common/locales/tw.json @@ -19,7 +19,7 @@ "edit": "編輯", "filter": "篩選回應", "go_back": "返回", - "group_by": "Group by", + "group_by": "分組方式", "label": "標籤", "learn_more": "瞭解更多", "less": "更少", @@ -175,7 +175,7 @@ "protocols": "協定為空", "schema": "連線至 GraphQL 端點", "shortcodes": "Shortcodes 為空", - "subscription": "Subscriptions are empty", + "subscription": "訂閱為空", "team_name": "團隊名稱為空", "teams": "團隊為空", "tests": "沒有針對該請求的測試" @@ -204,8 +204,8 @@ "check_console_details": "檢查控制台日誌以獲悉詳情", "curl_invalid_format": "cURL 格式不正確", "danger_zone": "Danger zone", - "delete_account": "Your account is currently an owner in these teams:", - "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", + "delete_account": "您的帳號目前為這些團隊的擁有者:", + "delete_account_description": "您在刪除帳號前必須先將您自己從團隊中移除、轉移擁有權,或是刪除團隊。", "empty_req_name": "空請求名稱", "f12_details": "(按下 F12 以獲悉詳情)", "gql_prettify_invalid_query": "無法美化無效的查詢,處理查詢語法錯誤並重試", @@ -232,9 +232,9 @@ "title": "匯出" }, "filter": { - "all": "All", - "none": "None", - "starred": "Starred" + "all": "全部", + "none": "無", + "starred": "已加星號" }, "folder": { "created": "已建立資料夾", @@ -250,8 +250,8 @@ "subscriptions": "訂閱" }, "group": { - "time": "Time", - "url": "URL" + "time": "時間", + "url": "網址" }, "header": { "install_pwa": "安裝應用程式", @@ -316,16 +316,16 @@ "import_export": "匯入/匯出" }, "mqtt": { - "already_subscribed": "You are already subscribed to this topic.", - "clean_session": "Clean Session", - "clear_input": "Clear input", - "clear_input_on_send": "Clear input on send", - "client_id": "Client ID", - "color": "Pick a color", + "already_subscribed": "您已經訂閱了此主題。", + "clean_session": "清理工作階段", + "clear_input": "清除輸入", + "clear_input_on_send": "傳送後清除輸入", + "client_id": "客戶端 ID", + "color": "選擇顏色", "communication": "通訊", - "connection_config": "Connection Config", - "connection_not_authorized": "This MQTT connection does not use any authentication.", - "invalid_topic": "Please provide a topic for the subscription", + "connection_config": "連線設定", + "connection_not_authorized": "此 MQTT 連線未使用任何驗證。", + "invalid_topic": "請提供該訂閱的主題", "keep_alive": "Keep Alive", "log": "日誌", "lw_message": "Last-Will Message", @@ -333,8 +333,8 @@ "lw_retain": "Last-Will Retain", "lw_topic": "Last-Will Topic", "message": "訊息", - "new": "New Subscription", - "not_connected": "Please start a MQTT connection first.", + "new": "新訂閱", + "not_connected": "請先啟動 MQTT 連線。", "publish": "發佈", "qos": "QoS", "ssl": "SSL", @@ -440,7 +440,7 @@ "settings": { "accent_color": "強調色", "account": "帳號", - "account_deleted": "Your account has been deleted", + "account_deleted": "已刪除您的帳號", "account_description": "自定義您的帳號設定。", "account_email_description": "您的主要電子郵件地址。", "account_name_description": "這是您的顯示名稱。", @@ -449,8 +449,8 @@ "change_font_size": "更改字型大小", "choose_language": "選擇語言", "dark_mode": "暗色", - "delete_account": "Delete account", - "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", + "delete_account": "刪除帳號", + "delete_account_description": "一旦您刪除了您的帳號,您的所有資料將被永久刪除。此操作無法復原。", "expand_navigation": "展開導航欄", "experiments": "實驗功能", "experiments_notice": "下面是我們正在開發中的一些實驗功能,這些功能可能會很有用,可能很有趣,又或者二者都是或都不是。這些功能並非最終版本且可能不穩定,所以如果發生了一些過於奇怪的事情,不要驚慌,關掉它們就好了。玩笑歸玩笑,", From ee07a90b5e9bed2efd90ff260fd40db1479f0d08 Mon Sep 17 00:00:00 2001 From: tzhangm Date: Thu, 5 Jan 2023 13:24:19 +0800 Subject: [PATCH 16/22] chore: update i18n translations --- packages/hoppscotch-common/locales/cn.json | 152 ++++++++++----------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/packages/hoppscotch-common/locales/cn.json b/packages/hoppscotch-common/locales/cn.json index 7dc4fee7f..a1e62bba2 100644 --- a/packages/hoppscotch-common/locales/cn.json +++ b/packages/hoppscotch-common/locales/cn.json @@ -1,43 +1,43 @@ { "action": { - "autoscroll": "Autoscroll", + "autoscroll": "自动滚动", "cancel": "取消", "choose_file": "选择文件", "clear": "清除", "clear_all": "全部清除", - "close": "Close", + "close": "关闭", "connect": "连接", - "connecting": "Connecting", + "connecting": "连接中", "copy": "复制", "delete": "删除", "disconnect": "断开连接", "dismiss": "忽略", "dont_save": "不保存", "download_file": "下载文件", - "drag_to_reorder": "Drag to reorder", + "drag_to_reorder": "拖曳以重新排序", "duplicate": "复制", "edit": "编辑", - "filter": "Filter", + "filter": "过滤", "go_back": "返回", - "group_by": "Group by", + "group_by": "分组方式", "label": "标签", "learn_more": "了解更多", "less": "更少", "more": "更多", "new": "新增", "no": "否", - "open_workspace": "Open workspace", + "open_workspace": "打开工作区", "paste": "粘贴", "prettify": "美化", "remove": "移除", "restore": "恢复", "save": "保存", - "scroll_to_bottom": "Scroll to bottom", - "scroll_to_top": "Scroll to top", + "scroll_to_bottom": "滚动至底部", + "scroll_to_top": "滚动至顶部", "search": "搜索", "send": "发送", "start": "开始", - "starting": "Starting", + "starting": "正在开始", "stop": "停止", "to_close": "以关闭", "to_navigate": "以定位", @@ -174,8 +174,8 @@ "profile": "登录以查看你的个人档案", "protocols": "协议为空", "schema": "连接至 GraphQL 端点", - "shortcodes": "Shortcodes are empty", - "subscription": "Subscriptions are empty", + "shortcodes": "Shortcodes 为空", + "subscription": "订阅为空", "team_name": "团队名称为空", "teams": "团队为空", "tests": "没有针对该请求的测试" @@ -188,13 +188,13 @@ "deleted": "环境已删除", "edit": "编辑环境", "invalid_name": "请提供有效的环境名称", - "my_environments": "My Environments", + "my_environments": "我的环境", "nested_overflow": "环境嵌套深度超过限制(10层)", "new": "新建环境", "no_environment": "无环境", "no_environment_description": "没有选择环境。选择如何处理以下变量。", "select": "选择环境", - "team_environments": "Team Environments", + "team_environments": "团队环境", "title": "环境", "updated": "环境已更新", "variable_list": "变量列表" @@ -204,8 +204,8 @@ "check_console_details": "检查控制台日志以获悉详情", "curl_invalid_format": "cURL 格式不正确", "danger_zone": "Danger zone", - "delete_account": "Your account is currently an owner in these teams:", - "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", + "delete_account": "您的帐号目前为这些团队的拥有者:", + "delete_account_description": "您在删除帐号前必须先将您自己从团队中移除、转移拥有权,或是删除团队。", "empty_req_name": "空请求名称", "f12_details": "(F12 详情)", "gql_prettify_invalid_query": "无法美化无效的查询,处理查询语法错误并重试", @@ -218,8 +218,8 @@ "network_error": "好像发生了网络错误,请重试。", "network_fail": "无法发送请求", "no_duration": "无持续时间", - "no_results_found": "No matches found", - "page_not_found": "This page could not be found", + "no_results_found": "找不到结果", + "page_not_found": "找不到此頁面", "script_fail": "无法执行预请求脚本", "something_went_wrong": "发生了一些错误", "test_script_fail": "无法执行请求脚本" @@ -229,12 +229,12 @@ "create_secret_gist": "创建私密 Gist", "gist_created": "已创建 Gist", "require_github": "使用 GitHub 登录以创建私密 Gist", - "title": "Export" + "title": "导出" }, "filter": { - "all": "All", - "none": "None", - "starred": "Starred" + "all": "全部", + "none": "无", + "starred": "已加星号" }, "folder": { "created": "已创建文件夹", @@ -250,8 +250,8 @@ "subscriptions": "订阅" }, "group": { - "time": "Time", - "url": "URL" + "time": "时间", + "url": "网址" }, "header": { "install_pwa": "安装应用", @@ -294,10 +294,10 @@ "from_postman_description": "从 Postman 集合中导入", "from_url": "从 URL 导入", "gist_url": "输入 Gist URL", - "import_from_url_invalid_fetch": "Couldn't get data from the url", - "import_from_url_invalid_file_format": "Error while importing collections", - "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", - "import_from_url_success": "Collections Imported", + "import_from_url_invalid_fetch": "无法从网址取得资料", + "import_from_url_invalid_file_format": "导入组合时发生错误", + "import_from_url_invalid_type": "不支持此类型。可接受的值为 'hoppscotch'、'openapi'、'postman'、'insomnia'", + "import_from_url_success": "已导入组合", "json_description": "从 Hoppscotch 的集合文件导入(JSON)", "title": "导入" }, @@ -316,16 +316,16 @@ "import_export": "导入/导出" }, "mqtt": { - "already_subscribed": "You are already subscribed to this topic.", - "clean_session": "Clean Session", - "clear_input": "Clear input", - "clear_input_on_send": "Clear input on send", - "client_id": "Client ID", - "color": "Pick a color", + "already_subscribed": "您已经订阅了此主題。", + "clean_session": "清除会话", + "clear_input": "清除输入", + "clear_input_on_send": "发送后清除输入", + "client_id": "客户端 ID", + "color": "选择颜色", "communication": "通讯", - "connection_config": "Connection Config", - "connection_not_authorized": "This MQTT connection does not use any authentication.", - "invalid_topic": "Please provide a topic for the subscription", + "connection_config": "连接配置", + "connection_not_authorized": "此MQTT连接未使用任何验证。", + "invalid_topic": "请提供该订阅的主题", "keep_alive": "Keep Alive", "log": "日志", "lw_message": "Last-Will Message", @@ -333,8 +333,8 @@ "lw_retain": "Last-Will Retain", "lw_topic": "Last-Will Topic", "message": "消息", - "new": "New Subscription", - "not_connected": "Please start a MQTT connection first.", + "new": "新订阅", + "not_connected": "请先启动MQTT连接。", "publish": "发布", "qos": "QoS", "ssl": "SSL", @@ -361,7 +361,7 @@ }, "profile": { "app_settings": "应用设置", - "default_hopp_displayname": "Unnamed User", + "default_hopp_displayname": "未命名使用者", "editor": "编辑者", "editor_description": "编辑者可以添加、编辑和删除请求。", "email_verification_mail": "确认邮件已发送至你的邮箱,请点击链接以验证你的电子邮箱。", @@ -384,9 +384,9 @@ "choose_language": "选择语言", "content_type": "内容类型", "content_type_titles": { - "others": "Others", - "structured": "Structured", - "text": "Text" + "others": "其他", + "structured": "结构", + "text": "文字" }, "copy_link": "复制链接", "duration": "持续时间", @@ -418,11 +418,11 @@ "type": "请求类型", "url": "URL", "variables": "变量", - "view_my_links": "View my links" + "view_my_links": "查看我的链接" }, "response": { "body": "响应体", - "filter_response_body": "Filter JSON response body (uses JSONPath syntax)", + "filter_response_body": "筛选JSON响应本体(使用JSONPath语法)", "headers": "响应头", "html": "HTML", "image": "图像", @@ -440,7 +440,7 @@ "settings": { "accent_color": "强调色", "account": "帐户", - "account_deleted": "Your account has been deleted", + "account_deleted": "已刪除您的账号", "account_description": "自定义您的帐户设置。", "account_email_description": "您的主要电子邮箱地址。", "account_name_description": "这是您的显示名称。", @@ -449,8 +449,8 @@ "change_font_size": "更改字体大小", "choose_language": "选择语言", "dark_mode": "暗色", - "delete_account": "Delete account", - "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", + "delete_account": "刪除账号", + "delete_account_description": "一旦您删除了您的帐号,您的所有数据将被永久删除。此操作无法复原。", "expand_navigation": "展开导航栏", "experiments": "实验功能", "experiments_notice": "下面是我们正在开发中的一些实验功能,这些功能可能会很有用,可能很有趣,又或者二者都是或都不是。这些功能并非最终版本且可能不稳定,所以如果发生了一些过于奇怪的事情,不要惊慌,关掉它们就好了。玩笑归玩笑,", @@ -477,8 +477,8 @@ "proxy_use_toggle": "使用代理中间件发送请求", "read_the": "阅读", "reset_default": "重置为默认", - "short_codes": "Short codes", - "short_codes_description": "Short codes which were created by you.", + "short_codes": "快捷键", + "short_codes_description": "我们为您打造的快捷键。", "sidebar_on_left": "侧边栏移至左侧", "sync": "同步", "sync_collections": "集合", @@ -492,16 +492,16 @@ "theme_description": "自定义您的应用程序主题。", "use_experimental_url_bar": "使用实验性的带有环境高亮的 URL 栏", "user": "用户", - "verified_email": "Verified email", + "verified_email": "已验证电子邮件地址", "verify_email": "验证电子邮箱" }, "shortcodes": { - "actions": "Actions", - "created_on": "Created on", - "deleted": "Shortcode deleted", - "method": "Method", - "not_found": "Shortcode not found", - "short_code": "Short code", + "actions": "操作", + "created_on": "创建于", + "deleted": "已刪除快捷键", + "method": "方法", + "not_found": "找不到快捷键", + "short_code": "快捷键", "url": "URL" }, "shortcut": { @@ -543,9 +543,9 @@ "title": "请求" }, "response": { - "copy": "Copy response to clipboard", - "download": "Download response as file", - "title": "Response" + "copy": "复制响应至剪贴板", + "download": "下载响应", + "title": "响应" }, "theme": { "black": "切换为黑色主题", @@ -563,7 +563,7 @@ }, "socketio": { "communication": "通讯", - "connection_not_authorized": "This SocketIO connection does not use any authentication.", + "connection_not_authorized": "此SocketIO连接未使用任何验证。", "event_name": "事件名称", "events": "事件", "log": "日志", @@ -581,9 +581,9 @@ "connected": "已连接", "connected_to": "已连接到 {name}", "connecting_to": "正在连接到 {name}……", - "connection_error": "Failed to connect", - "connection_failed": "Connection failed", - "connection_lost": "Connection lost", + "connection_error": "连接错误", + "connection_failed": "连接失败", + "connection_lost": "连接丢失", "copied_to_clipboard": "已复制到剪贴板", "deleted": "已删除", "deprecated": "已弃用", @@ -598,17 +598,17 @@ "history_deleted": "历史记录已删除", "linewrap": "换行", "loading": "正在加载……", - "message_received": "Message: {message} arrived on topic: {topic}", - "mqtt_subscription_failed": "Something went wrong while subscribing to topic: {topic}", + "message_received": "信息:{message}已到达主题:{topic}", + "mqtt_subscription_failed": "订阅此主题时发生错误:{topic}", "none": "无", "nothing_found": "没有找到", - "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", - "published_message": "Published message: {message} to topic: {topic}", - "reconnection_error": "Failed to reconnect", - "subscribed_failed": "Failed to subscribe to topic: {topic}", - "subscribed_success": "Successfully subscribed to topic: {topic}", - "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", - "unsubscribed_success": "Successfully unsubscribed from topic: {topic}", + "published_error": "将信息:{topic}发布至主题:{message}时发生错误", + "published_message": "已将此信息:{message}发布至主题:{topic}", + "reconnection_error": "重连失败", + "subscribed_failed": "无法订阅此主題:{topic}", + "subscribed_success": "成功订阅此主題:{topic}", + "unsubscribed_failed": "无法取消订阅此主題:{topic}", + "unsubscribed_success": "成功取消订阅此主題:{topic}", "waiting_send_request": "等待发送请求" }, "support": { @@ -693,9 +693,9 @@ "we_sent_invite_link_description": "请所有受邀者检查他们的收件箱,点击链接以加入团队。" }, "team_environment": { - "deleted": "Environment Deleted", - "duplicate": "Environment Duplicated", - "not_found": "Environment not found." + "deleted": "已刪除环境", + "duplicate": "已复制环境", + "not_found": "找不到环境。" }, "test": { "failed": "测试失败", From 5841d2eb666cd60ce2b4528862fc44526060062d Mon Sep 17 00:00:00 2001 From: Masaki Tagawa Date: Tue, 10 Jan 2023 00:23:12 +0900 Subject: [PATCH 17/22] chore(i18n): update i18n translations --- packages/hoppscotch-common/locales/ja.json | 1167 ++++++++++---------- 1 file changed, 582 insertions(+), 585 deletions(-) diff --git a/packages/hoppscotch-common/locales/ja.json b/packages/hoppscotch-common/locales/ja.json index 62d964341..4fdbecab2 100644 --- a/packages/hoppscotch-common/locales/ja.json +++ b/packages/hoppscotch-common/locales/ja.json @@ -1,717 +1,714 @@ { "action": { - "autoscroll": "Autoscroll", - "cancel": "Cancel", - "choose_file": "Choose a file", - "clear": "Clear", - "clear_all": "Clear all", - "close": "Close", - "connect": "Connect", - "connecting": "Connecting", - "copy": "Copy", - "delete": "Delete", - "disconnect": "Disconnect", - "dismiss": "Dismiss", - "dont_save": "Don't save", - "download_file": "Download file", - "drag_to_reorder": "Drag to reorder", - "duplicate": "Duplicate", - "edit": "Edit", - "filter": "Filter", - "go_back": "Go back", - "group_by": "Group by", - "label": "Label", - "learn_more": "Learn more", - "less": "Less", - "more": "More", - "new": "New", - "no": "No", - "open_workspace": "Open workspace", - "paste": "Paste", - "prettify": "Prettify", - "remove": "Remove", - "restore": "Restore", - "save": "Save", - "scroll_to_bottom": "Scroll to bottom", - "scroll_to_top": "Scroll to top", - "search": "Search", - "send": "Send", - "start": "Start", - "starting": "Starting", - "stop": "Stop", - "to_close": "to close", - "to_navigate": "to navigate", - "to_select": "to select", - "turn_off": "Turn off", - "turn_on": "Turn on", - "undo": "Undo", - "yes": "Yes" + "autoscroll": "自動スクロール", + "cancel": "キャンセル", + "choose_file": "ファイルを選択してください", + "clear": "クリア", + "clear_all": "すべてクリア", + "close": "閉じる", + "connect": "接続", + "connecting": "接続中", + "copy": "コピー", + "delete": "消去", + "disconnect": "切断", + "dismiss": "閉じる", + "dont_save": "保存しない", + "download_file": "ファイルをダウンロード", + "drag_to_reorder": "ドラッグして並べ替え", + "duplicate": "複製", + "edit": "編集", + "filter": "フィルター", + "go_back": "戻る", + "group_by": "グループ化", + "label": "ラベル", + "learn_more": "もっと詳しく", + "less": "表示を減らす", + "more": "もっと見る", + "new": "新規", + "no": "いいえ", + "open_workspace": "ワークスペースを開く", + "paste": "貼り付け", + "prettify": "自動整形", + "remove": "削除", + "restore": "戻す", + "save": "保存", + "scroll_to_bottom": "下にスクロール", + "scroll_to_top": "上にスクロール", + "search": "検索", + "send": "送信", + "start": "はじめる", + "starting": "開始中", + "stop": "止める", + "to_close": "閉じる", + "to_navigate": "上下に移動する", + "to_select": "選択する", + "turn_off": "オフ", + "turn_on": "オン", + "undo": "元に戻す", + "yes": "はい" }, "add": { - "new": "Add new", - "star": "Add star" + "new": "新しく追加", + "star": "スターを追加" }, "app": { - "chat_with_us": "Chat with us", - "contact_us": "Contact us", - "copy": "Copy", - "copy_user_id": "Copy User Auth Token", - "developer_option": "Developer options", - "developer_option_description": "Developer tools which helps in development and maintenance of Hoppscotch.", + "chat_with_us": "チャットで問い合わせる", + "contact_us": "お問い合わせ", + "copy": "コピー", + "copy_user_id": "User Auth Tokenをコピー", + "developer_option": "開発者向けオプション", + "developer_option_description": "Hoppscotchの開発に役立つ開発者向けツール", "discord": "Discord", - "documentation": "Documentation", + "documentation": "ドキュメント", "github": "GitHub", - "help": "Help & feedback", - "home": "Home", - "invite": "Invite", - "invite_description": "Hoppscotch is an open source API development ecosystem. We designed a simple and intuitive interface for creating and managing your APIs. Hoppscotch is a tool that helps you build, test, document and share your APIs.", - "invite_your_friends": "Invite your friends", - "join_discord_community": "Join our Discord community", - "keyboard_shortcuts": "Keyboard shortcuts", + "help": "ヘルプ & フィードバック", + "home": "ホーム", + "invite": "招待", + "invite_description": "HoppscotchはオープンソースのAPI開発エコシステムです。APIを作成・管理するためのシンプルで直感的なインターフェイスを設計しました。HoppscotchはAPIの構築・テスト・文書化・共有を支援します。", + "invite_your_friends": "友達を招待する", + "join_discord_community": "Discordコミュニティに参加する", + "keyboard_shortcuts": "キーボードショートカット", "name": "Hoppscotch", - "new_version_found": "New version found. Refresh to update.", - "options": "Options", - "proxy_privacy_policy": "Proxy privacy policy", - "reload": "Reload", - "search": "Search", - "share": "Share", - "shortcuts": "Shortcuts", - "spotlight": "Spotlight", - "status": "Status", - "status_description": "Check the status of the website", - "terms_and_privacy": "Terms and privacy", + "new_version_found": "新しいバージョンが見つかりました。再読み込みすると更新されます。", + "options": "オプション", + "proxy_privacy_policy": "プロキシのプライバシーポリシー", + "reload": "更新", + "search": "検索", + "share": "共有", + "shortcuts": "ショートカット", + "spotlight": "スポットライト", + "status": "状態", + "status_description": "ウェブサイトの状態を確認", + "terms_and_privacy": "利用規約とプライバシーポリシー", "twitter": "Twitter", - "type_a_command_search": "Type a command or search…", - "we_use_cookies": "We use cookies", - "whats_new": "What's new?", + "type_a_command_search": "コマンドもしくは検索ワードを入力…", + "we_use_cookies": "Cookieを使用しています", + "whats_new": "新着情報", "wiki": "Wiki" }, "auth": { - "account_exists": "Account exists with different credential - Login to link both accounts", - "all_sign_in_options": "All sign in options", - "continue_with_email": "Continue with Email", - "continue_with_github": "Continue with GitHub", - "continue_with_google": "Continue with Google", - "continue_with_microsoft": "Continue with Microsoft", - "email": "Email", - "logged_out": "Logged out", - "login": "Login", - "login_success": "Successfully logged in", - "login_to_hoppscotch": "Login to Hoppscotch", - "logout": "Logout", - "re_enter_email": "Re-enter email", - "send_magic_link": "Send a magic link", - "sync": "Sync", - "we_sent_magic_link": "We sent you a magic link!", - "we_sent_magic_link_description": "Check your inbox - we sent an email to {email}. It contains a magic link that will log you in." + "account_exists": "アカウントがそれぞれの認証情報で存在しています - ログインして両方のアカウントを連携する", + "all_sign_in_options": "すべてのサインインオプション", + "continue_with_email": "メールアドレスで続行", + "continue_with_github": "GitHubアカウントで続行", + "continue_with_google": "Googleアカウントで続行", + "continue_with_microsoft": "Microsoftアカウントで続行", + "email": "メールアドレス", + "logged_out": "ログアウトしました", + "login": "ログイン", + "login_success": "正常にログインしました", + "login_to_hoppscotch": "Hoppscotchにログインする", + "logout": "ログアウト", + "re_enter_email": "メールアドレスを再入力してください", + "send_magic_link": "マジックリンクを送る", + "sync": "同期", + "we_sent_magic_link": "マジックリンクを送信しました!", + "we_sent_magic_link_description": "受信トレイを確認してください - {email}にメールを送信しました。ログインするためのマジックリンクが含まれています。" }, "authorization": { - "generate_token": "Generate Token", - "include_in_url": "Include in URL", - "learn": "Learn how", - "pass_key_by": "Pass by", - "password": "Password", - "token": "Token", - "type": "Authorization Type", - "username": "Username" + "generate_token": "トークンを生成", + "include_in_url": "URLに含める", + "learn": "詳しく学ぶ", + "pass_key_by": "認証元: ", + "password": "パスワード", + "token": "トークン", + "type": "認証タイプ", + "username": "ユーザー名" }, "collection": { - "created": "Collection created", - "edit": "Edit Collection", - "invalid_name": "Please provide a name for the collection", - "my_collections": "My Collections", - "name": "My New Collection", - "name_length_insufficient": "Collection name should be at least 3 characters long", - "new": "New Collection", - "renamed": "Collection renamed", - "request_in_use": "Request in use", - "save_as": "Save as", - "select": "Select a Collection", - "select_location": "Select location", - "select_team": "Select a team", - "team_collections": "Team Collections" + "created": "コレクションが作成されました", + "edit": "コレクションの編集", + "invalid_name": "コレクション名を入力してください", + "my_collections": "マイコレクション", + "name": "新しいマイコレクション", + "name_length_insufficient": "コレクション名は3文字以上である必要があります", + "new": "新しいコレクション", + "renamed": "コレクション名が変更されました", + "request_in_use": "使用中のリクエスト", + "save_as": "名前を付けて保存", + "select": "コレクションを選択", + "select_location": "場所を選択", + "select_team": "チームを選択", + "team_collections": "チームコレクション" }, "confirm": { - "exit_team": "Are you sure you want to leave this team?", - "logout": "Are you sure you want to logout?", - "remove_collection": "Are you sure you want to permanently delete this collection?", - "remove_environment": "Are you sure you want to permanently delete this environment?", - "remove_folder": "Are you sure you want to permanently delete this folder?", - "remove_history": "Are you sure you want to permanently delete all history?", - "remove_request": "Are you sure you want to permanently delete this request?", - "remove_team": "Are you sure you want to delete this team?", - "remove_telemetry": "Are you sure you want to opt-out of Telemetry?", - "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", - "sync": "Would you like to restore your workspace from cloud? This will discard your local progress." + "exit_team": "本当にこのチームから退出しますか?", + "logout": "ログアウトしてもよろしいですか?", + "remove_collection": "このコレクションを完全に削除してもよろしいですか?", + "remove_environment": "この環境を完全に削除してもよろしいですか?", + "remove_folder": "このフォルダを完全に削除してもよろしいですか?", + "remove_history": "すべての履歴を完全に削除してもよろしいですか?", + "remove_request": "このリクエストを完全に削除してもよろしいですか?", + "remove_team": "このチームを削除してもよろしいですか?", + "remove_telemetry": "テレメトリをオプトアウトしてもよろしいですか?", + "request_change": "現在のリクエストを削除してもよろしいですか?保存されていない変更は削除されます。", + "sync": "クラウドからワークスペースを復元しますか?この場合、ローカルの進行状況は破棄されます。" }, "count": { - "header": "Header {count}", - "message": "Message {count}", - "parameter": "Parameter {count}", - "protocol": "Protocol {count}", - "value": "Value {count}", - "variable": "Variable {count}" + "header": "ヘッダー {count}", + "message": "メッセージ {count}", + "parameter": "パラメータ {count}", + "protocol": "プロトコル {count}", + "value": "値 {count}", + "variable": "変数 {count}" }, "documentation": { - "generate": "Generate documentation", - "generate_message": "Import any Hoppscotch collection to generate API documentation on-the-go." + "generate": "ドキュメントを生成", + "generate_message": "Hoppscotchのコレクションをインポートして、APIドキュメントをすぐに生成することができます。" }, "empty": { - "authorization": "This request does not use any authorization", - "body": "This request does not have a body", - "collection": "Collection is empty", - "collections": "Collections are empty", - "documentation": "Connect to a GraphQL endpoint to view documentation", - "endpoint": "Endpoint cannot be empty", - "environments": "Environments are empty", - "folder": "Folder is empty", - "headers": "This request does not have any headers", - "history": "History is empty", - "invites": "Invite list is empty", - "members": "Team is empty", - "parameters": "This request does not have any parameters", - "pending_invites": "There are no pending invites for this team", - "profile": "Login to view your profile", - "protocols": "Protocols are empty", - "schema": "Connect to a GraphQL endpoint to view schema", - "shortcodes": "Shortcodes are empty", - "subscription": "Subscriptions are empty", - "team_name": "Team name empty", - "teams": "You don't belong to any teams", - "tests": "There are no tests for this request" + "authorization": "このリクエストでは認証を使用しません", + "body": "リクエストボディがありません", + "collection": "コレクションは空です", + "collections": "コレクションがありません", + "documentation": "GraphQLエンドポイントに接続してドキュメントを表示する", + "endpoint": "エンドポイントを空にすることはできません", + "environments": "環境変数がありません", + "folder": "フォルダは空です", + "headers": "このリクエストにはヘッダーがありません", + "history": "履歴がありません", + "invites": "招待リストは空です", + "members": "チームメンバーはいません", + "parameters": "このリクエストにはパラメータがありません", + "pending_invites": "このチームに保留中の招待はありません", + "profile": "ログインしてプロフィールを見る", + "protocols": "プロトコルがありません", + "schema": "GraphQLエンドポイントに接続する", + "shortcodes": "ショートコードはありません", + "subscription": "サブスクリプションはありません", + "team_name": "チーム名がありません", + "teams": "チームに参加していません", + "tests": "このリクエストのテストはありません" }, "environment": { - "add_to_global": "Add to Global", - "added": "Environment addition", - "create_new": "Create new environment", - "created": "Environment created", - "deleted": "Environment deletion", - "edit": "Edit Environment", - "invalid_name": "Please provide a name for the environment", - "my_environments": "My Environments", - "nested_overflow": "nested environment variables are limited to 10 levels", - "new": "New Environment", - "no_environment": "No environment", - "no_environment_description": "No environments were selected. Choose what to do with the following variables.", - "select": "Select environment", - "team_environments": "Team Environments", - "title": "Environments", - "updated": "Environment updated", - "variable_list": "Variable List" + "add_to_global": "環境変数をGlobalに追加", + "added": "環境変数を追加しました", + "create_new": "新しい環境変数を作成", + "created": "環境変数を作成しました", + "deleted": "環境変数を削除しました", + "edit": "環境変数の編集", + "invalid_name": "環境変数名を入力してください", + "my_environments": "個人の環境変数", + "nested_overflow": "環境変数の入れ子は10段階までです", + "new": "新しい環境変数", + "no_environment": "環境変数が存在しません", + "no_environment_description": "環境変数が選択されていません。次の環境変数から選択してください。", + "select": "環境変数を選択", + "team_environments": "チームの環境変数", + "title": "環境変数", + "updated": "環境変数を更新しました", + "variable_list": "環境変数リスト" }, "error": { - "browser_support_sse": "This browser doesn't seems to have Server Sent Events support.", - "check_console_details": "Check console log for details.", - "curl_invalid_format": "cURL is not formatted properly", - "danger_zone": "Danger zone", - "delete_account": "Your account is currently an owner in these teams:", - "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", - "empty_req_name": "Empty Request Name", - "f12_details": "(F12 for details)", - "gql_prettify_invalid_query": "Couldn't prettify an invalid query, solve query syntax errors and try again", - "incomplete_config_urls": "Incomplete configuration URLs", - "incorrect_email": "Incorrect email", - "invalid_link": "Invalid link", - "invalid_link_description": "The link you clicked is invalid or expired.", - "json_parsing_failed": "Invalid JSON", - "json_prettify_invalid_body": "Couldn't prettify an invalid body, solve json syntax errors and try again", - "network_error": "There seems to be a network error. Please try again.", - "network_fail": "Could not send request", - "no_duration": "No duration", - "no_results_found": "No matches found", - "page_not_found": "This page could not be found", - "script_fail": "Could not execute pre-request script", - "something_went_wrong": "Something went wrong", - "test_script_fail": "Could not execute post-request script" + "browser_support_sse": "このブラウザはServer-Sent Eventsをサポートしていないようです。", + "check_console_details": "詳細については、コンソールログを確認してください。", + "curl_invalid_format": "cURLが正しくフォーマットされていません", + "danger_zone": "危険", + "delete_account": "あなたのアカウントは以下のチームのオーナーとなっています:", + "delete_account_description": "アカウントを削除する前にチームを離脱するか、オーナーを委任するか、チームを削除してください。", + "empty_req_name": "リクエスト名がありません", + "f12_details": "(詳細はF12キーを押してください)", + "gql_prettify_invalid_query": "クエリを整形できませんでした。クエリの構文エラーを解決して再試行してください。", + "incomplete_config_urls": "設定URLが不完全です", + "incorrect_email": "メールアドレスが間違っています", + "invalid_link": "リンクが無効です", + "invalid_link_description": "クリックしたリンクは無効か期限切れです。", + "json_parsing_failed": "JSONが無効です", + "json_prettify_invalid_body": "ボディを整形できませんでした。JSONの構文エラーを解決して再試行してください。", + "network_error": "ネットワークエラーが発生したようです。もう一度お試しください。", + "network_fail": "リクエストを送信できませんでした", + "no_duration": "期間なし", + "no_results_found": "該当するものがありませんでした", + "page_not_found": "このページは見つかりませんでした", + "script_fail": "リクエスト前のスクリプトを実行できませんでした", + "something_went_wrong": "不明なエラーです", + "test_script_fail": "リクエスト後のスクリプトを実行できませんでした" }, "export": { - "as_json": "Export as JSON", - "create_secret_gist": "Create secret Gist", - "gist_created": "Gist created", - "require_github": "Login with GitHub to create secret gist", - "title": "Export" + "as_json": "JSONとしてエクスポート", + "create_secret_gist": "Secret Gistを作成", + "gist_created": "Gistが作成されました", + "require_github": "GitHubにログインしてSecret Gistを作成", + "title": "エクスポート" }, "filter": { - "all": "All", - "none": "None", - "starred": "Starred" + "all": "全て", + "none": "無し", + "starred": "スター付き" }, "folder": { - "created": "Folder created", - "edit": "Edit Folder", - "invalid_name": "Please provide a name for the folder", - "name_length_insufficient": "Folder name should be at least 3 characters long", - "new": "New Folder", - "renamed": "Folder renamed" + "created": "作成されたフォルダ", + "edit": "フォルダの編集", + "invalid_name": "フォルダ名を入力してください", + "name_length_insufficient": "フォルダ名は3文字以上である必要があります", + "new": "新しいフォルダ", + "renamed": "フォルダ名が変更されました" }, "graphql": { - "mutations": "Mutations", - "schema": "Schema", - "subscriptions": "Subscriptions" + "mutations": "ミューテーション", + "schema": "スキーマ", + "subscriptions": "サブスクリプション" }, "group": { - "time": "Time", + "time": "時間", "url": "URL" }, "header": { - "install_pwa": "Install app", - "login": "Login", - "save_workspace": "Save My Workspace" + "install_pwa": "アプリをインストール", + "login": "ログイン", + "save_workspace": "ワークスペースを保存" }, "helpers": { - "authorization": "The authorization header will be automatically generated when you send the request.", - "generate_documentation_first": "Generate documentation first", - "network_fail": "Unable to reach the API endpoint. Check your network connection or select a different Interceptor and try again.", - "offline": "You seem to be offline. Data in this workspace might not be up to date.", - "offline_short": "You seem to be offline.", - "post_request_tests": "Test scripts are written in JavaScript, and are run after the response is received.", - "pre_request_script": "Pre-request scripts are written in JavaScript, and are run before the request is sent.", - "script_fail": "It seems there is a glitch in the pre-request script. Check the error below and fix the script accordingly.", - "test_script_fail": "There seems to be an error with test script. Please fix the errors and run tests again", - "tests": "Write a test script to automate debugging." + "authorization": "リクエストを送信すると、認証ヘッダーが自動的に生成されます。", + "generate_documentation_first": "最初にドキュメントを生成する", + "network_fail": "APIエンドポイントに到達できません。ネットワーク接続を確認して再試行してください。", + "offline": "オフラインになっているようです。このワークスペースのデータは最新でない可能性があります。", + "offline_short": "オフラインになっているようです。", + "post_request_tests": "テストスクリプトはJavaScriptで記述されており、レスポンスを受信した後に実行されます。", + "pre_request_script": "プリリクエストスクリプトはJavaScriptで記述されており、リクエストが送信される前に実行されます。", + "script_fail": "プリリクエストスクリプトに問題があるようです。以下のエラーを確認し、スクリプトを修正してください。", + "test_script_fail": "テストスクリプトにエラーがあるようです。エラーを修正し、再度テストを実行してください。", + "tests": "デバッグを自動化するテストスクリプトを作成します。" }, "hide": { - "collection": "Collapse Collection Panel", - "more": "Hide more", - "preview": "Hide Preview", - "sidebar": "Collapse sidebar" + "collection": "コレクションパネルを非表示", + "more": "隠す", + "preview": "プレビューを非表示", + "sidebar": "サイドバーを非表示" }, "import": { - "collections": "Import collections", - "curl": "Import cURL", - "failed": "Error while importing: format not recognized", - "from_gist": "Import from Gist", - "from_gist_description": "Import from Gist URL", - "from_insomnia": "Import from Insomnia", - "from_insomnia_description": "Import from Insomnia collection", - "from_json": "Import from Hoppscotch", - "from_json_description": "Import from Hoppscotch collection file", - "from_my_collections": "Import from My Collections", - "from_my_collections_description": "Import from My Collections file", - "from_openapi": "Import from OpenAPI", - "from_openapi_description": "Import from OpenAPI specification file (YML/JSON)", - "from_postman": "Import from Postman", - "from_postman_description": "Import from Postman collection", - "from_url": "Import from URL", - "gist_url": "Enter Gist URL", - "import_from_url_invalid_fetch": "Couldn't get data from the url", - "import_from_url_invalid_file_format": "Error while importing collections", - "import_from_url_invalid_type": "Unsupported type. accepted values are 'hoppscotch', 'openapi', 'postman', 'insomnia'", - "import_from_url_success": "Collections Imported", - "json_description": "Import collections from a Hoppscotch Collections JSON file", - "title": "Import" + "collections": "コレクションをインポート", + "curl": "cURLをインポート", + "failed": "インポートに失敗しました", + "from_gist": "Gistからインポート", + "from_gist_description": "GistのURLからインポート", + "from_insomnia": "Insomniaからインポート", + "from_insomnia_description": "Insomniaのコレクションからインポート", + "from_json": "Hoppscotchからインポート", + "from_json_description": "Hoppscotchのコレクションファイルからインポート", + "from_my_collections": "マイコレクションからインポート", + "from_my_collections_description": "マイコレクションファイルからインポート", + "from_openapi": "OpenAPIからインポート", + "from_openapi_description": "OpenAPI仕様のファイル (YML/JSON) からインポート", + "from_postman": "Postmanからインポート", + "from_postman_description": "Postmanのコレクションからインポート", + "from_url": "URLからインポート", + "gist_url": "GistのURLを入力してください", + "import_from_url_invalid_fetch": "指定されたURLからデータを取得できませんでした", + "import_from_url_invalid_file_format": "コレクションのインポート中にエラーが発生しました", + "import_from_url_invalid_type": "サポートされていないタイプです。サポートされているのは 'hoppscotch', 'openapi', 'postman', 'insomnia' です。", + "import_from_url_success": "コレクションがインポートされました", + "json_description": "Hoppscotchのコレクション (JSONファイル) からインポート", + "title": "インポート" }, "layout": { - "collapse_collection": "Collapse or Expand Collections", - "collapse_sidebar": "Collapse or Expand the sidebar", - "column": "Vertical layout", - "name": "Layout", - "row": "Horizontal layout", - "zen_mode": "Zen mode" + "collapse_collection": "コレクションを表示・非表示", + "collapse_sidebar": "サイドバーを表示・非表示", + "column": "縦型レイアウト", + "name": "レイアウト", + "row": "横型レイアウト", + "zen_mode": "禅モード" }, "modal": { - "collections": "Collections", - "confirm": "Confirm", - "edit_request": "Edit Request", - "import_export": "Import / Export" + "collections": "コレクション", + "confirm": "確認", + "edit_request": "リクエストの編集", + "import_export": "インポート・エクスポート" }, "mqtt": { - "already_subscribed": "You are already subscribed to this topic.", - "clean_session": "Clean Session", - "clear_input": "Clear input", - "clear_input_on_send": "Clear input on send", - "client_id": "Client ID", - "color": "Pick a color", - "communication": "Communication", - "connection_config": "Connection Config", - "connection_not_authorized": "This MQTT connection does not use any authentication.", - "invalid_topic": "Please provide a topic for the subscription", + "already_subscribed": "既にこのトピックにサブスクライブしています", + "clean_session": "セッションをクリア", + "clear_input": "入力をクリア", + "clear_input_on_send": "送信後に入力をクリア", + "client_id": "クライアントID", + "color": "色を選択", + "communication": "コミュニケーション", + "connection_config": "接続設定", + "connection_not_authorized": "このMQTTコネクションではどの認証も使われていません。", + "invalid_topic": "このサブスクリプションのためのトピックを入力してください", "keep_alive": "Keep Alive", - "log": "Log", - "lw_message": "Last-Will Message", + "log": "ログ", + "lw_message": "Last-Willメッセージ", "lw_qos": "Last-Will QoS", "lw_retain": "Last-Will Retain", - "lw_topic": "Last-Will Topic", - "message": "Message", - "new": "New Subscription", - "not_connected": "Please start a MQTT connection first.", - "publish": "Publish", + "lw_topic": "Last-Willトピック", + "message": "メッセージ", + "new": "新しいサブスクリプション", + "not_connected": "まずMQTTコネクションを開始してください。", + "publish": "パブリッシュ", "qos": "QoS", "ssl": "SSL", - "subscribe": "Subscribe", - "topic": "Topic", - "topic_name": "Topic Name", - "topic_title": "Publish / Subscribe topic", - "unsubscribe": "Unsubscribe", + "subscribe": "サブスクライブ", + "topic": "トピック", + "topic_name": "トピック名", + "topic_title": "トピックのパブリッシュ・サブスクライブ", + "unsubscribe": "サブスクライブを解除", "url": "URL" }, "navigation": { - "doc": "Docs", + "doc": "ドキュメント", "graphql": "GraphQL", "profile": "Profile", - "realtime": "Realtime", + "realtime": "リアルタイム", "rest": "REST", - "settings": "Settings" + "settings": "設定" }, "preRequest": { - "javascript_code": "JavaScript Code", - "learn": "Read documentation", - "script": "Pre-Request Script", - "snippets": "Snippets" + "javascript_code": "JavaScriptコード", + "learn": "ドキュメントを読む", + "script": "プリリクエストスクリプト", + "snippets": "スニペット" }, "profile": { - "app_settings": "App Settings", - "default_hopp_displayname": "Unnamed User", - "editor": "Editor", - "editor_description": "Editors can add, edit, and delete requests.", - "email_verification_mail": "A verification email has been sent to your email address. Please click on the link to verify your email address.", - "no_permission": "You do not have permission to perform this action.", - "owner": "Owner", - "owner_description": "Owners can add, edit, and delete requests, collections and team members.", - "roles": "Roles", - "roles_description": "Roles are used to control access to the shared collections.", - "updated": "Profile updated", - "viewer": "Viewer", - "viewer_description": "Viewers can only view and use requests." + "app_settings": "アプリ設定", + "default_hopp_displayname": "ユーザ名未設定", + "editor": "編集者", + "editor_description": "編集者はリクエストの追加・編集・削除を行うことができます。", + "email_verification_mail": "登録されているメールアドレスに認証メールが送信されました。リンクをクリックしてメールアドレスを認証してください。", + "no_permission": "この操作を行う権限がありません。", + "owner": "管理者", + "owner_description": "管理者はリクエスト・コレクション・チームメンバーの追加・編集・削除が可能です。", + "roles": "ロール", + "roles_description": "ロールは共有コレクションへのアクセスを制御するために使用されます。", + "updated": "プロフィールを更新しました", + "viewer": "閲覧者", + "viewer_description": "閲覧者はリクエストの閲覧・利用が可能です。" }, "remove": { - "star": "Remove star" + "star": "スターを外す" }, "request": { - "added": "Request added", - "authorization": "Authorization", - "body": "Request Body", - "choose_language": "Choose language", - "content_type": "Content Type", + "added": "リクエストが追加されました", + "authorization": "認証", + "body": "リクエストボディ", + "choose_language": "言語を選択", + "content_type": "コンテンツタイプ", "content_type_titles": { - "others": "Others", - "structured": "Structured", - "text": "Text" + "others": "その他", + "structured": "構造化されたデータ", + "text": "テキスト" }, - "copy_link": "Copy link", - "duration": "Duration", - "enter_curl": "Enter cURL", - "generate_code": "Generate code", - "generated_code": "Generated code", - "header_list": "Header List", - "invalid_name": "Please provide a name for the request", - "method": "Method", - "name": "Request name", - "new": "New Request", - "override": "Override", - "override_help": "Set Content-Type in Headers", - "overriden": "Overridden", - "parameter_list": "Query Parameters", - "parameters": "Parameters", - "path": "Path", - "payload": "Payload", - "query": "Query", - "raw_body": "Raw Request Body", - "renamed": "Request renamed", - "run": "Run", - "save": "Save", - "save_as": "Save as", - "saved": "Request saved", - "share": "Share", - "share_description": "Share Hoppscotch with your friends", - "title": "Request", - "type": "Request type", + "copy_link": "リンクをコピー", + "duration": "間隔", + "enter_curl": "cURLコマンドを入力してください", + "generate_code": "コードを生成", + "generated_code": "生成されたコード", + "header_list": "ヘッダーリスト", + "invalid_name": "リクエスト名を入力してください", + "method": "メソッド", + "name": "リクエスト名", + "new": "新しいリクエスト", + "override": "上書き", + "override_help": "リクエストの Content-Type ヘッダを上書き", + "overriden": "上書きされました", + "parameter_list": "クエリパラメータ", + "parameters": "パラメータ", + "path": "パス", + "payload": "ペイロード", + "query": "クエリ", + "raw_body": "生のリクエストボディ", + "renamed": "リクエストの名前を変更", + "run": "実行", + "save": "保存", + "save_as": "名前を付けて保存", + "saved": "保存されたリクエスト", + "share": "共有", + "share_description": "Hoppscotchを友人に共有", + "title": "リクエスト", + "type": "リクエストの種類", "url": "URL", - "variables": "Variables", - "view_my_links": "View my links" + "variables": "変数", + "view_my_links": "自分のリンクを見る" }, "response": { - "body": "Response Body", - "filter_response_body": "Filter JSON response body (uses JSONPath syntax)", - "headers": "Headers", + "body": "レスポンスボディ", + "filter_response_body": "JSONレスポンスボディをフィルタ (JSONPathシンタックスを使用)", + "headers": "ヘッダー", "html": "HTML", - "image": "Image", + "image": "画像", "json": "JSON", "pdf": "PDF", - "preview_html": "Preview HTML", + "preview_html": "HTMLのプレビュー", "raw": "Raw", - "size": "Size", - "status": "Status", - "time": "Time", - "title": "Response", - "waiting_for_connection": "waiting for connection", + "size": "サイズ", + "status": "ステータス", + "time": "時間", + "title": "レスポンス", + "waiting_for_connection": "接続を待っています", "xml": "XML" }, "settings": { - "accent_color": "Accent color", + "accent_color": "アクセントの色", "account": "アカウント", - "account_deleted": "Your account has been deleted", - "account_description": "Customize your account settings.", - "account_email_description": "Your primary email address.", - "account_name_description": "This is your display name.", - "background": "Background", - "black_mode": "Black", - "change_font_size": "Change font size", - "choose_language": "Choose language", - "dark_mode": "Dark", - "delete_account": "Delete account", - "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", - "expand_navigation": "Expand navigation", - "experiments": "Experiments", - "experiments_notice": "This is a collection of experiments we're working on that might turn out to be useful, fun, both, or neither. They're not final and may not be stable, so if something overly weird happens, don't panic. Just turn the dang thing off. Jokes aside, ", - "extension_ver_not_reported": "Not Reported", - "extension_version": "Extension Version", - "extensions": "Browser extension", - "extensions_use_toggle": "Use the browser extension to send requests (if present)", - "follow": "Follow Us", - "font_size": "Font size", - "font_size_large": "Large", - "font_size_medium": "Medium", - "font_size_small": "Small", - "interceptor": "Interceptor", - "interceptor_description": "Middleware between application and APIs.", - "language": "Language", - "light_mode": "Light", - "official_proxy_hosting": "Official Proxy is hosted by Hoppscotch.", - "profile": "Profile", - "profile_description": "Update your profile details", - "profile_email": "Email address", - "profile_name": "Profile name", - "proxy": "Proxy", - "proxy_url": "Proxy URL", - "proxy_use_toggle": "Use the proxy middleware to send requests", - "read_the": "Read the", - "reset_default": "Reset to default", - "short_codes": "Short codes", - "short_codes_description": "Short codes which were created by you.", - "sidebar_on_left": "Sidebar on left", - "sync": "Synchronise", - "sync_collections": "Collections", - "sync_description": "These settings are synced to cloud.", - "sync_environments": "Environments", - "sync_history": "History", - "system_mode": "System", - "telemetry": "Telemetry", - "telemetry_helps_us": "Telemetry helps us to personalize our operations and deliver the best experience to you.", - "theme": "Theme", - "theme_description": "Customize your application theme.", - "use_experimental_url_bar": "Use experimental URL bar with environment highlighting", - "user": "User", - "verified_email": "Verified email", - "verify_email": "Verify email" + "account_deleted": "あなたのアカウントは削除されました", + "account_description": "アカウント設定をカスタマイズ", + "account_email_description": "プライマリメールアドレス", + "account_name_description": "あなたの表示名", + "background": "背景", + "black_mode": "ブラック", + "change_font_size": "フォントの大きさを変更", + "choose_language": "言語を選択", + "dark_mode": "ダーク", + "delete_account": "アカウントの削除", + "delete_account_description": "アカウントを削除すると、あなたのアカウントに紐づくデータは全て永久に削除されます。これは取り消すことができません。", + "expand_navigation": "ナビゲーションの詳細表示", + "experiments": "試験的な機能", + "experiments_notice": "これらは試験的に実装している機能で、役に立つかもしれないし、楽しいかもしれないし、両方かもしれないし、はたまたどちらでもないかもしれません。これらは未完成で、安定したものではありません。何か問題がありましたら、こちらより報告をお願いします。→", + "extension_ver_not_reported": "未報告", + "extensions": "拡張機能", + "extension_version": "ブラウザ拡張機能のバージョン", + "extensions_use_toggle": "ブラウザ拡張機能を使用してリクエストを送信する(利用可能な場合)", + "follow": "フォローする", + "font_size": "フォントサイズ", + "font_size_large": "大きめ", + "font_size_medium": "普通", + "font_size_small": "小さめ", + "interceptor": "インターセプタ", + "interceptor_description": "アプリケーションとAPIをつなぐミドルウェア", + "language": "言語", + "light_mode": "ライト", + "official_proxy_hosting": "公式プロキシはHoppscotchによってホストされています。", + "profile": "プロフィール", + "profile_description": "プロフィールの詳細を更新", + "profile_email": "メールアドレス", + "profile_name": "プロフィールに表示する名前", + "proxy": "プロキシ", + "proxy_url": "プロキシURL", + "proxy_use_toggle": "リクエストの送信にプロキシミドルウェアを使用する", + "read_the": "詳しくは", + "reset_default": "デフォルトにリセット", + "short_codes": "ショートコード", + "short_codes_description": "あなたが作成したショートコードです。", + "sidebar_on_left": "サイドバーを左側に表示", + "sync": "同期する", + "sync_collections": "コレクション", + "sync_description": "これらの設定はクラウドに同期されます。", + "sync_environments": "環境変数", + "sync_history": "履歴", + "system_mode": "システム", + "telemetry": "テレメトリ", + "telemetry_helps_us": "テレメトリは私たちの業務を改善し、ユーザの皆様に最高の体験を提供するために役立てられます。", + "theme": "テーマ", + "theme_description": "アプリケーションのテーマをカスタマイズ", + "use_experimental_url_bar": "ハイライトした実験的なURLバーを使用", + "user": "ユーザー", + "verified_email": "メールアドレスの認証済", + "verify_email": "メールアドレスの認証" }, "shortcodes": { - "actions": "Actions", - "created_on": "Created on", - "deleted": "Shortcode deleted", - "method": "Method", - "not_found": "Shortcode not found", - "short_code": "Short code", + "actions": "アクション", + "created_on": "作成日", + "deleted": "ショートコードを削除しました", + "method": "メソッド", + "not_found": "ショートコードが見つかりません", + "short_code": "ショートコード", "url": "URL" }, "shortcut": { "general": { - "close_current_menu": "Close current menu", - "command_menu": "Search & command menu", - "help_menu": "Help menu", - "show_all": "Keyboard shortcuts", - "title": "General" + "close_current_menu": "現在のメニューを閉じる", + "command_menu": "検索&コマンドメニュー", + "help_menu": "ヘルプメニュー", + "show_all": "キーボードショートカット", + "title": "全般" }, "miscellaneous": { - "invite": "Invite people to Hoppscotch", - "title": "Miscellaneous" + "invite": "Hoppscotchに招待", + "title": "その他" }, "navigation": { - "back": "Go back to previous page", - "documentation": "Go to Documentation page", - "forward": "Go forward to next page", - "graphql": "Go to GraphQL page", - "profile": "Go to Profile page", - "realtime": "Go to Realtime page", - "rest": "Go to REST page", - "settings": "Go to Settings page", - "title": "Navigation" + "back": "前のページに戻る", + "documentation": "ドキュメントページに移動", + "forward": "次のページに進む", + "graphql": "GraphQLページに移動", + "profile": "プロフィールページに移動", + "realtime": "リアルタイムページに移動", + "rest": "RESTページに移動", + "settings": "設定ページに移動", + "title": "ナビゲーション" }, "request": { - "copy_request_link": "Copy Request Link", - "delete_method": "Select DELETE method", - "get_method": "Select GET method", - "head_method": "Select HEAD method", - "method": "Method", - "next_method": "Select Next method", - "post_method": "Select POST method", - "previous_method": "Select Previous method", - "put_method": "Select PUT method", - "reset_request": "Reset Request", - "save_to_collections": "Save to Collections", - "send_request": "Send Request", - "title": "Request" + "copy_request_link": "コピーリクエストリンク", + "delete_method": "DELETEメソッドを選択", + "get_method": "GETメソッドを選択", + "head_method": "HEADメソッドを選択", + "method": "メソッド", + "next_method": "次のメソッドを選択", + "post_method": "POSTメソッドを選択", + "previous_method": "前のメソッドを選択", + "put_method": "PUTメソッドを選択", + "reset_request": "リセットリクエスト", + "save_to_collections": "コレクションに保存", + "send_request": "リクエストを送信", + "title": "リクエスト" }, "response": { - "copy": "Copy response to clipboard", - "download": "Download response as file", - "title": "Response" + "copy": "レスポンスをクリップボードにコピー", + "download": "レスポンスをファイルとして保存", + "title": "レスポンス" }, "theme": { - "black": "Switch theme to black mode", - "dark": "Switch theme to dark mode", - "light": "Switch theme to light mode", - "system": "Switch theme to system mode", - "title": "Theme" + "black": "テーマをブラックモードに変更", + "dark": "テーマをダークモードに変更", + "light": "テーマをライトモードに変更", + "system": "テーマをシステム標準に変更", + "title": "テーマ" } }, "show": { - "code": "Show code", - "collection": "Expand Collection Panel", - "more": "Show more", - "sidebar": "Expand sidebar" + "code": "コードを表示", + "collection": "コレクションパネルを表示", + "more": "さらに表示", + "sidebar": "サイドバーを表示" }, "socketio": { - "communication": "Communication", - "connection_not_authorized": "This SocketIO connection does not use any authentication.", - "event_name": "Event Name", - "events": "Events", - "log": "Log", + "communication": "コミュニケーション", + "connection_not_authorized": "このSocketIOコネクションではどの認証も使われていません。", + "event_name": "イベント・トピック名", + "events": "イベント", + "log": "ログ", "url": "URL" }, "sse": { - "event_type": "Event type", - "log": "Log", + "event_type": "イベントの種類", + "log": "ログ", "url": "URL" }, "state": { - "bulk_mode": "Bulk edit", - "bulk_mode_placeholder": "Entries are separated by newline\nKeys and values are separated by :\nPrepend # to any row you want to add but keep disabled", - "cleared": "Cleared", - "connected": "Connected", - "connected_to": "Connected to {name}", - "connecting_to": "Connecting to {name}...", - "connection_error": "Failed to connect", - "connection_failed": "Connection failed", - "connection_lost": "Connection lost", - "copied_to_clipboard": "Copied to clipboard", - "deleted": "Deleted", - "deprecated": "DEPRECATED", - "disabled": "Disabled", - "disconnected": "Disconnected", - "disconnected_from": "Disconnected from {name}", - "docs_generated": "Documentation generated", - "download_started": "Download started", - "enabled": "Enabled", - "file_imported": "File imported", - "finished_in": "Finished in {duration} ms", - "history_deleted": "History deleted", - "linewrap": "Wrap lines", - "loading": "Loading...", - "message_received": "Message: {message} arrived on topic: {topic}", - "mqtt_subscription_failed": "Something went wrong while subscribing to topic: {topic}", - "none": "None", - "nothing_found": "Nothing found for", - "published_error": "Something went wrong while publishing msg: {topic} to topic: {message}", - "published_message": "Published message: {message} to topic: {topic}", - "reconnection_error": "Failed to reconnect", - "subscribed_failed": "Failed to subscribe to topic: {topic}", - "subscribed_success": "Successfully subscribed to topic: {topic}", - "unsubscribed_failed": "Failed to unsubscribe from topic: {topic}", - "unsubscribed_success": "Successfully unsubscribed from topic: {topic}", - "waiting_send_request": "Waiting to send request" + "bulk_mode": "一括編集", + "bulk_mode_placeholder": "エントリは改行で区切られます。\nキーと値は「:」で区切られます。\n追加したいが無効にしたい行の先頭には「#」を追加してください。", + "cleared": "クリア", + "connected": "接続済み", + "connected_to": "{名前}に接続しました", + "connecting_to": "{名前}に接続しています...", + "copied_to_clipboard": "クリップボードにコピーしました", + "deleted": "削除されました", + "deprecated": "非推奨", + "disabled": "無効", + "disconnected": "切断されました", + "disconnected_from": "{名前}から切断されました", + "docs_generated": "生成されたドキュメント", + "download_started": "ダウンロード開始", + "enabled": "有効", + "file_imported": "インポートされたファイル", + "finished_in": "{duration} msで終了しました", + "history_deleted": "履歴が削除されました", + "linewrap": "行の折り返し", + "loading": "読み込んでいます...", + "message_received": "トピック: {topic} でメッセージ: {message} を受信しました", + "mqtt_subscription_failed": "トピック: {topic} のサブスクライブで問題が発生しました", + "none": "なし", + "nothing_found": "何も見つかりません", + "published_error": "ピック: {topic} にメッセージ: {message} を送信する際に問題が発生しました", + "published_message": "トピック: {topic} にメッセージ: {message} を送信しました", + "reconnection_error": "再接続に失敗", + "subscribed_failed": "トピック: {topic} のサブスクライブに失敗", + "subscribed_success": "トピック: {topic} のサブスクライブに成功", + "unsubscribed_failed": "トピック: {topic} のサブスクライブ解除に失敗", + "unsubscribed_success": "トピック: {topic} のサブスクライブ解除に成功", + "waiting_send_request": "リクエストの送信を待機中" }, "support": { - "changelog": "Read more about latest releases", - "chat": "Questions? Chat with us!", - "community": "Ask questions and help others", - "documentation": "Read more about Hoppscotch", - "forum": "Ask questions and get answers", - "github": "Follow us on Github", - "shortcuts": "Browse app faster", - "team": "Get in touch with the team", - "title": "Support", - "twitter": "Follow us on Twitter" + "changelog": "最新リリースについてもっと読む", + "chat": "ご質問はこちら。チャットでお問い合わせください!", + "community": "質問の投稿・回答はこちらから", + "documentation": "Hoppscotchをもっと知る", + "forum": "質問をして答えを得る", + "github": "GitHubでフォローする", + "shortcuts": "アプリをより効率よく使いこなす", + "team": "チームと連絡を取る", + "title": "サポート", + "twitter": "私たちのTwitterをフォローする" }, "tab": { - "authorization": "Authorization", - "body": "Body", - "collections": "Collections", - "documentation": "Documentation", - "headers": "Headers", - "history": "History", + "authorization": "認証", + "body": "ボディ", + "collections": "コレクション", + "documentation": "ドキュメント", + "headers": "ヘッダー", + "history": "履歴", "mqtt": "MQTT", - "parameters": "Parameters", - "pre_request_script": "Pre-request Script", - "queries": "Queries", - "query": "Query", - "schema": "Schema", + "parameters": "パラメータ", + "pre_request_script": "プリリクエストスクリプト", + "queries": "クエリ", + "query": "クエリ", + "schema": "スキーマ", "socketio": "Socket.IO", "sse": "SSE", - "tests": "Tests", - "types": "Types", - "variables": "Variables", + "tests": "テスト", + "types": "種類", + "variables": "変数", "websocket": "WebSocket" }, "team": { - "already_member": "You are already a member of this team. Contact your team owner.", - "create_new": "Create new team", - "deleted": "Team deleted", - "edit": "Edit Team", - "email": "E-mail", - "email_do_not_match": "Email doesn't match with your account details. Contact your team owner.", - "exit": "Exit Team", - "exit_disabled": "Only owner cannot exit the team", - "invalid_email_format": "Email format is invalid", - "invalid_id": "Invalid team ID. Contact your team owner.", - "invalid_invite_link": "Invalid invite link", - "invalid_invite_link_description": "The link you followed is invalid. Contact your team owner.", - "invalid_member_permission": "Please provide a valid permission to the team member", - "invite": "Invite", - "invite_more": "Invite more", - "invite_tooltip": "Invite people to this workspace", - "invited_to_team": "{owner} invited you to join {team}", - "join": "Invitation accepted", - "join_beta": "Join the beta program to access teams.", - "join_team": "Join {team}", - "joined_team": "You have joined {team}", - "joined_team_description": "You are now a member of this team", - "left": "You left the team", - "login_to_continue": "Login to continue", - "login_to_continue_description": "You need to be logged in to join a team.", - "logout_and_try_again": "Logout and sign in with another account", - "member_has_invite": "This email ID already has an invite. Contact your team owner.", - "member_not_found": "Member not found. Contact your team owner.", - "member_removed": "User removed", - "member_role_updated": "User roles updated", - "members": "Members", - "name_length_insufficient": "Team name should be at least 6 characters long", - "name_updated": "Team name updated", - "new": "New Team", - "new_created": "New team created", - "new_name": "My New Team", - "no_access": "You do not have edit access to these collections", - "no_invite_found": "Invitation not found. Contact your team owner.", - "not_found": "Team not found. Contact your team owner.", - "not_valid_viewer": "You are not a valid viewer. Contact your team owner.", - "pending_invites": "Pending invites", - "permissions": "Permissions", - "saved": "Team saved", - "select_a_team": "Select a team", - "title": "Teams", - "we_sent_invite_link": "We sent an invite link to all invitees!", - "we_sent_invite_link_description": "Ask all invitees to check their inbox. Click on the link to join the team." + "already_member": "あなたは既にこのチームのメンバーです。チームの管理者に連絡してください。", + "create_new": "新しいチームを作成", + "deleted": "チームが削除されました", + "edit": "チームの編集", + "email": "メールアドレス", + "email_do_not_match": "メールアドレスがアカウント情報と一致しません。チームの管理者に連絡してください。", + "exit": "チームから退出", + "exit_disabled": "管理者はチームから退出できません", + "invalid_email_format": "メールアドレスの形式が無効です", + "invalid_id": "チームIDが無効です。チームの管理者に連絡してください。", + "invalid_invite_link": "招待リンクが無効です", + "invalid_invite_link_description": "このリンクは無効です。チームの管理者に連絡してください。", + "invalid_member_permission": "チームメンバーに有効な許可を与えてください", + "invite": "招待", + "invite_more": "さらに招待", + "invite_tooltip": "このワークスペースに招待", + "invited_to_team": "{owner}が{team}にあなたを招待しました", + "join": "招待を了承しました", + "join_beta": "ベータプログラムに参加して、チームにアクセスする。", + "join_team": "{team}に参加", + "joined_team": "あなたは{team}に参加しました", + "joined_team_description": "あなたはこのチームのメンバーです", + "left": "あなたはチームから退出しました", + "login_to_continue": "ログインして続行", + "login_to_continue_description": "チームに参加するには、ログインが必要です。", + "logout_and_try_again": "ログアウトして別のアカウントでサインインする", + "member_has_invite": "このメールアドレスはすでに招待されています。チームの管理者に連絡してください。", + "member_not_found": "メンバーが見つかりませんでした。チームの管理者に連絡してください。", + "member_removed": "ユーザーが削除されました", + "member_role_updated": "ユーザーロールが更新されました", + "members": "メンバー", + "name_length_insufficient": "チーム名は6文字以上である必要があります", + "name_updated": "チーム名が更新されました", + "new": "新しいチーム", + "new_created": "新しいチームが作成されました", + "new_name": "私の新しいチーム", + "no_access": "これらのコレクションを編集することはできません", + "no_invite_found": "招待が見つかりません。チームの管理者に連絡してください。", + "not_found": "チームが見つかりません。チームの管理者に連絡してください。", + "not_valid_viewer": "あなたは有効な閲覧者ではありません。チームの管理者に連絡してください。", + "pending_invites": "招待の保留", + "permissions": "権限", + "saved": "チームが保存されました", + "select_a_team": "チームを選択", + "title": "チーム", + "we_sent_invite_link": "招待者の皆様に、招待リンクを送信しました!", + "we_sent_invite_link_description": "招待者全員に受信トレイを確認するよう依頼します。リンクをクリックすると、チームに参加できます。" }, "team_environment": { - "deleted": "Environment Deleted", - "duplicate": "Environment Duplicated", - "not_found": "Environment not found." + "deleted": "環境変数を削除しました", + "duplicate": "環境変数が重複しています", + "not_found": "環境変数が見つかりません" }, "test": { - "failed": "test failed", - "javascript_code": "JavaScript Code", - "learn": "Read documentation", - "passed": "test passed", - "report": "Test Report", - "results": "Test Results", - "script": "Script", - "snippets": "Snippets" + "failed": "テスト失敗", + "javascript_code": "JavaScriptコード", + "learn": "ドキュメントを読む", + "passed": "テスト成功", + "report": "テストレポート", + "results": "テスト結果", + "script": "スクリプト", + "snippets": "スニペット" }, "websocket": { - "communication": "Communication", - "log": "Log", - "message": "Message", - "protocols": "Protocols", + "communication": "コミュニケーション", + "log": "ログ", + "message": "メッセージ", + "protocols": "プロトコル", "url": "URL" } } From 9d7052c626fb8486d3151faf6c88d0524b2c81d8 Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Fri, 13 Jan 2023 21:53:37 -0500 Subject: [PATCH 18/22] chore: add CODEOWNERS --- CODEOWNERS | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..5d27aff2d --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,27 @@ +# CODEOWNERS is prioritized from bottom to top + +# If none of the below matched +* @AndrewBastin @liyasthomas + +# Packages +/packages/codemirror-lang-graphql/ @AndrewBastin +/packages/hoppscotch-cli/ @aitchnyu +/packages/hoppscotch-common/ @amk-dev @AndrewBastin +/packages/hoppscotch-data/ @AndrewBastin +/packages/hoppscotch-js-sandbox/ @aitchnyu +/packages/hoppscotch-ui/ @anwarulislam +/packages/hoppscotch-web/ @amk-dev @AndrewBastin + +# Sections within Hoppscotch Common +/packages/hoppscotch-common/src/components @anwarulislam +/packages/hoppscotch-common/src/components/collections @nivedin @amk-dev +/packages/hoppscotch-common/src/components/environments @nivedin @amk-dev +/packages/hoppscotch-common/src/composables @amk-dev +/packages/hoppscotch-common/src/modules @AndrewBastin @amk-dev +/packages/hoppscotch-common/src/pages @AndrewBastin @amk-dev +/packages/hoppscotch-common/src/newstore @AndrewBastin @amk-dev + +README.md @liyasthomas + +# The lockfile has no owner +pnpm-lock.yaml From 0fcda0be1a8637b3f6260bed2e2bbcb85f8386fb Mon Sep 17 00:00:00 2001 From: Anwarul Islam Date: Sat, 28 Jan 2023 08:57:00 +0600 Subject: [PATCH 19/22] refactor: hoppscotch ui (#2887) * feat: hopp ui initialized * feat: button components added * feat: windi css integration * chore: package removed from hopp ui * feat: storybook added * feat: move all smart components hoppscotch-ui * fix: import issue from components/smart * fix: env input component import * feat: add hoppui to windicss config * fix: remove storybook * feat: move components from hoppscotch-ui * feat: storybook added * feat: storybook progress * feat: themeing storybook * feat: add stories * chore: package updated * chore: stories added * feat: stories added * feat: stories added * feat: icons resolved * feat: i18n composable resolved * feat: histoire added * chore: resolved prettier issue * feat: radio story added * feat: story added for all components * feat: new components added to stories * fix: resolved issues * feat: readme.md added * feat: context/provider added * chore: removed app component registry * chore: remove importing of all components in hopp-ui to allow code splitting * chore: fix vite config errors * chore: jsdoc added * chore: any replaced with smart-item * chore: i18n added to ui components * chore: clean up - removed a duplicate button --------- Co-authored-by: Andrew Bastin Co-authored-by: Liyas Thomas --- packages/hoppscotch-common/package.json | 1 + .../hoppscotch-common/src/components.d.ts | 44 +- .../src/components/app/Footer.vue | 14 +- .../environments/my/Environment.vue | 8 +- .../environments/teams/Environment.vue | 8 +- packages/hoppscotch-common/src/modules/ui.ts | 21 + packages/hoppscotch-common/windi.config.ts | 3 + packages/hoppscotch-data/package.json | 2 +- packages/hoppscotch-data/vite.config.ts | 8 +- packages/hoppscotch-ui/.eslintrc.js | 47 + packages/hoppscotch-ui/.gitignore | 27 + packages/hoppscotch-ui/.prettierignore | 10 + packages/hoppscotch-ui/.prettierrc.js | 3 + packages/hoppscotch-ui/README.md | 57 + packages/hoppscotch-ui/histoire.config.ts | 7 + packages/hoppscotch-ui/histoire.setup.ts | 5 + packages/hoppscotch-ui/package.json | 82 ++ .../hoppscotch-ui/src/assets/scss/styles.scss | 562 ++++++++ .../hoppscotch-ui/src/assets/scss/themes.scss | 311 ++++ packages/hoppscotch-ui/src/components.d.ts | 37 + .../src/components/button/Primary.vue | 0 .../src/components/button/Secondary.vue | 0 .../hoppscotch-ui/src/components/index.ts | 47 + .../src/components/smart/Anchor.vue | 0 .../src/components/smart/AutoComplete.vue | 0 .../src/components/smart/Checkbox.vue | 0 .../src/components/smart/ConfirmModal.vue | 13 +- .../src/components/smart/Expand.vue | 23 +- .../src/components/smart/FileChip.vue | 0 .../src/components/smart/Intersection.vue | 0 .../src/components/smart/Item.vue | 0 .../src/components/smart/Link.vue | 0 .../src/components/smart/Modal.vue | 27 +- .../src/components/smart/ProgressRing.vue | 0 .../src/components/smart/Radio.vue | 0 .../src/components/smart/RadioGroup.vue | 0 .../src/components/smart/SlideOver.vue | 0 .../src/components/smart/Spinner.vue | 0 .../src/components/smart/Tab.vue | 0 .../src/components/smart/Tabs.vue | 5 +- .../src/components/smart/Toggle.vue | 0 .../src/components/smart/Window.vue | 0 .../src/components/smart/Windows.vue | 24 +- packages/hoppscotch-ui/src/env.d.ts | 8 + packages/hoppscotch-ui/src/index.ts | 33 + .../src/stories/Anchor.story.vue | 20 + .../src/stories/AutoComplete.story.vue | 55 + .../src/stories/Button.story.vue | 10 + .../src/stories/Checkbox.story.vue | 13 + .../src/stories/ConfirmModal.story.vue | 21 + .../hoppscotch-ui/src/stories/Item.story.vue | 7 + .../hoppscotch-ui/src/stories/Link.story.vue | 18 + .../hoppscotch-ui/src/stories/Modal.story.vue | 21 + .../src/stories/ProgressRing.story.vue | 15 + .../hoppscotch-ui/src/stories/Radio.story.vue | 21 + .../src/stories/SlideOver.story.vue | 15 + .../src/stories/Spinner.story.vue | 5 + .../hoppscotch-ui/src/stories/Tab.story.vue | 20 + .../src/stories/Toggle.story.vue | 15 + .../src/stories/Window.story.vue | 72 + packages/hoppscotch-ui/tsconfig.json | 34 + packages/hoppscotch-ui/vite.config.ts | 60 + packages/hoppscotch-ui/windi.config.ts | 65 + packages/hoppscotch-web/vite.config.ts | 5 +- pnpm-lock.yaml | 1246 +++++++++++++++-- 65 files changed, 2961 insertions(+), 214 deletions(-) create mode 100644 packages/hoppscotch-common/src/modules/ui.ts create mode 100644 packages/hoppscotch-ui/.eslintrc.js create mode 100644 packages/hoppscotch-ui/.gitignore create mode 100644 packages/hoppscotch-ui/.prettierignore create mode 100644 packages/hoppscotch-ui/.prettierrc.js create mode 100644 packages/hoppscotch-ui/README.md create mode 100644 packages/hoppscotch-ui/histoire.config.ts create mode 100644 packages/hoppscotch-ui/histoire.setup.ts create mode 100644 packages/hoppscotch-ui/package.json create mode 100644 packages/hoppscotch-ui/src/assets/scss/styles.scss create mode 100644 packages/hoppscotch-ui/src/assets/scss/themes.scss create mode 100644 packages/hoppscotch-ui/src/components.d.ts rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/button/Primary.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/button/Secondary.vue (100%) create mode 100644 packages/hoppscotch-ui/src/components/index.ts rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Anchor.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/AutoComplete.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Checkbox.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/ConfirmModal.vue (75%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Expand.vue (59%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/FileChip.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Intersection.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Item.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Link.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Modal.vue (91%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/ProgressRing.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Radio.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/RadioGroup.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/SlideOver.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Spinner.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Tab.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Tabs.vue (98%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Toggle.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Window.vue (100%) rename packages/{hoppscotch-common => hoppscotch-ui}/src/components/smart/Windows.vue (92%) create mode 100644 packages/hoppscotch-ui/src/env.d.ts create mode 100644 packages/hoppscotch-ui/src/index.ts create mode 100644 packages/hoppscotch-ui/src/stories/Anchor.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/AutoComplete.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Button.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Checkbox.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/ConfirmModal.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Item.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Link.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Modal.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/ProgressRing.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Radio.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/SlideOver.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Spinner.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Tab.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Toggle.story.vue create mode 100644 packages/hoppscotch-ui/src/stories/Window.story.vue create mode 100644 packages/hoppscotch-ui/tsconfig.json create mode 100644 packages/hoppscotch-ui/vite.config.ts create mode 100644 packages/hoppscotch-ui/windi.config.ts diff --git a/packages/hoppscotch-common/package.json b/packages/hoppscotch-common/package.json index 2295f99bd..8c8a8e775 100644 --- a/packages/hoppscotch-common/package.json +++ b/packages/hoppscotch-common/package.json @@ -31,6 +31,7 @@ "@codemirror/state": "^6.1.0", "@codemirror/view": "^6.0.2", "@hoppscotch/codemirror-lang-graphql": "workspace:^0.2.0", + "@hoppscotch/ui": "workspace:^0.0.1", "@hoppscotch/data": "workspace:^0.4.4", "@hoppscotch/js-sandbox": "workspace:^2.1.0", "@hoppscotch/vue-toasted": "^0.1.0", diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index 7dc2e5caf..710cbd7d8 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -26,8 +26,8 @@ declare module '@vue/runtime-core' { AppShortcutsPrompt: typeof import('./components/app/ShortcutsPrompt.vue')['default'] AppSidenav: typeof import('./components/app/Sidenav.vue')['default'] AppSupport: typeof import('./components/app/Support.vue')['default'] - ButtonPrimary: typeof import('./components/button/Primary.vue')['default'] - ButtonSecondary: typeof import('./components/button/Secondary.vue')['default'] + ButtonPrimary: typeof import('./../../hoppscotch-ui/src/components/button/Primary.vue')['default'] + ButtonSecondary: typeof import('./../../hoppscotch-ui/src/components/button/Secondary.vue')['default'] Collections: typeof import('./components/collections/index.vue')['default'] CollectionsAdd: typeof import('./components/collections/Add.vue')['default'] CollectionsAddFolder: typeof import('./components/collections/AddFolder.vue')['default'] @@ -130,30 +130,30 @@ declare module '@vue/runtime-core' { RealtimeLogEntry: typeof import('./components/realtime/LogEntry.vue')['default'] RealtimeSubscription: typeof import('./components/realtime/Subscription.vue')['default'] SmartAccentModePicker: typeof import('./components/smart/AccentModePicker.vue')['default'] - SmartAnchor: typeof import('./components/smart/Anchor.vue')['default'] - SmartAutoComplete: typeof import('./components/smart/AutoComplete.vue')['default'] + SmartAnchor: typeof import('./../../hoppscotch-ui/src/components/smart/Anchor.vue')['default'] + SmartAutoComplete: typeof import('./../../hoppscotch-ui/src/components/smart/AutoComplete.vue')['default'] SmartChangeLanguage: typeof import('./components/smart/ChangeLanguage.vue')['default'] - SmartCheckbox: typeof import('./components/smart/Checkbox.vue')['default'] + SmartCheckbox: typeof import('./../../hoppscotch-ui/src/components/smart/Checkbox.vue')['default'] SmartColorModePicker: typeof import('./components/smart/ColorModePicker.vue')['default'] - SmartConfirmModal: typeof import('./components/smart/ConfirmModal.vue')['default'] + SmartConfirmModal: typeof import('./../../hoppscotch-ui/src/components/smart/ConfirmModal.vue')['default'] SmartEnvInput: typeof import('./components/smart/EnvInput.vue')['default'] - SmartExpand: typeof import('./components/smart/Expand.vue')['default'] - SmartFileChip: typeof import('./components/smart/FileChip.vue')['default'] + SmartExpand: typeof import('./../../hoppscotch-ui/src/components/smart/Expand.vue')['default'] + SmartFileChip: typeof import('./../../hoppscotch-ui/src/components/smart/FileChip.vue')['default'] SmartFontSizePicker: typeof import('./components/smart/FontSizePicker.vue')['default'] - SmartIntersection: typeof import('./components/smart/Intersection.vue')['default'] - SmartItem: typeof import('./components/smart/Item.vue')['default'] - SmartLink: typeof import('./components/smart/Link.vue')['default'] - SmartModal: typeof import('./components/smart/Modal.vue')['default'] - SmartProgressRing: typeof import('./components/smart/ProgressRing.vue')['default'] - SmartRadio: typeof import('./components/smart/Radio.vue')['default'] - SmartRadioGroup: typeof import('./components/smart/RadioGroup.vue')['default'] - SmartSlideOver: typeof import('./components/smart/SlideOver.vue')['default'] - SmartSpinner: typeof import('./components/smart/Spinner.vue')['default'] - SmartTab: typeof import('./components/smart/Tab.vue')['default'] - SmartTabs: typeof import('./components/smart/Tabs.vue')['default'] - SmartToggle: typeof import('./components/smart/Toggle.vue')['default'] - SmartWindow: typeof import('./components/smart/Window.vue')['default'] - SmartWindows: typeof import('./components/smart/Windows.vue')['default'] + SmartIntersection: typeof import('./../../hoppscotch-ui/src/components/smart/Intersection.vue')['default'] + SmartItem: typeof import('./../../hoppscotch-ui/src/components/smart/Item.vue')['default'] + SmartLink: typeof import('./../../hoppscotch-ui/src/components/smart/Link.vue')['default'] + SmartModal: typeof import('./../../hoppscotch-ui/src/components/smart/Modal.vue')['default'] + SmartProgressRing: typeof import('./../../hoppscotch-ui/src/components/smart/ProgressRing.vue')['default'] + SmartRadio: typeof import('./../../hoppscotch-ui/src/components/smart/Radio.vue')['default'] + SmartRadioGroup: typeof import('./../../hoppscotch-ui/src/components/smart/RadioGroup.vue')['default'] + SmartSlideOver: typeof import('./../../hoppscotch-ui/src/components/smart/SlideOver.vue')['default'] + SmartSpinner: typeof import('./../../hoppscotch-ui/src/components/smart/Spinner.vue')['default'] + SmartTab: typeof import('./../../hoppscotch-ui/src/components/smart/Tab.vue')['default'] + SmartTabs: typeof import('./../../hoppscotch-ui/src/components/smart/Tabs.vue')['default'] + SmartToggle: typeof import('./../../hoppscotch-ui/src/components/smart/Toggle.vue')['default'] + SmartWindow: typeof import('./../../hoppscotch-ui/src/components/smart/Window.vue')['default'] + SmartWindows: typeof import('./../../hoppscotch-ui/src/components/smart/Windows.vue')['default'] TabPrimary: typeof import('./components/tab/Primary.vue')['default'] TabSecondary: typeof import('./components/tab/Secondary.vue')['default'] Teams: typeof import('./components/teams/index.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/app/Footer.vue b/packages/hoppscotch-common/src/components/app/Footer.vue index d60e4bf05..62ca6ea76 100644 --- a/packages/hoppscotch-common/src/components/app/Footer.vue +++ b/packages/hoppscotch-common/src/components/app/Footer.vue @@ -50,9 +50,9 @@ ref="tippyActions" class="flex flex-col focus:outline-none" tabindex="0" - @keyup.d="documentation.$el.click()" - @keyup.s="shortcuts.$el.click()" - @keyup.c="chat.$el.click()" + @keyup.d="documentation!.$el.click()" + @keyup.s="shortcuts!.$el.click()" + @keyup.c="chat!.$el.click()" @keyup.escape="hide()" > { // Template refs const tippyActions = ref(null) -const documentation = ref(null) -const shortcuts = ref(null) -const chat = ref(null) +const documentation = ref() +const shortcuts = ref() +const chat = ref() diff --git a/packages/hoppscotch-common/src/components/environments/my/Environment.vue b/packages/hoppscotch-common/src/components/environments/my/Environment.vue index 8a188bca2..de2669a2f 100644 --- a/packages/hoppscotch-common/src/components/environments/my/Environment.vue +++ b/packages/hoppscotch-common/src/components/environments/my/Environment.vue @@ -122,7 +122,7 @@ import { import { useI18n } from "@composables/i18n" import { useToast } from "@composables/toast" import { TippyComponent } from "vue-tippy" -import SmartItem from "@components/smart/Item.vue" +import SmartItem from "@hoppscotch/ui/src/components/smart/Item.vue" const t = useI18n() const toast = useToast() @@ -140,9 +140,9 @@ const confirmRemove = ref(false) const tippyActions = ref(null) const options = ref(null) -const edit = ref(null) -const duplicate = ref(null) -const deleteAction = ref(null) +const edit = ref() +const duplicate = ref() +const deleteAction = ref() const removeEnvironment = () => { if (props.environmentIndex === null) return diff --git a/packages/hoppscotch-common/src/components/environments/teams/Environment.vue b/packages/hoppscotch-common/src/components/environments/teams/Environment.vue index 4c852b082..086285003 100644 --- a/packages/hoppscotch-common/src/components/environments/teams/Environment.vue +++ b/packages/hoppscotch-common/src/components/environments/teams/Environment.vue @@ -108,7 +108,7 @@ import IconCopy from "~icons/lucide/copy" import IconTrash2 from "~icons/lucide/trash-2" import IconMoreVertical from "~icons/lucide/more-vertical" import { TippyComponent } from "vue-tippy" -import SmartItem from "@components/smart/Item.vue" +import SmartItem from "@hoppscotch/ui/src/components/smart/Item.vue" const t = useI18n() const toast = useToast() @@ -126,9 +126,9 @@ const confirmRemove = ref(false) const tippyActions = ref(null) const options = ref(null) -const edit = ref(null) -const duplicate = ref(null) -const deleteAction = ref(null) +const edit = ref() +const duplicate = ref() +const deleteAction = ref() const removeEnvironment = () => { pipe( diff --git a/packages/hoppscotch-common/src/modules/ui.ts b/packages/hoppscotch-common/src/modules/ui.ts new file mode 100644 index 000000000..e34f01b23 --- /dev/null +++ b/packages/hoppscotch-common/src/modules/ui.ts @@ -0,0 +1,21 @@ +import { HoppModule } from "." +import HoppUI from "./../../../hoppscotch-ui/src" +import { HoppUIPluginOptions } from "@hoppscotch/ui/src" +import { useKeybindingDisabler } from "~/helpers/keybindings" +import { useI18n } from "vue-i18n" +const { disableKeybindings, enableKeybindings } = useKeybindingDisabler() + +const HoppUIOptions: HoppUIPluginOptions = { + t: (key: string) => useI18n().t(key).toString(), + onModalOpen: disableKeybindings, + onModalClose: enableKeybindings, +} + +export default { + onVueAppInit(app) { + // disable eslint for this line. it's a hack because there's some unknown type error + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + app.use(HoppUI, HoppUIOptions) + }, +} diff --git a/packages/hoppscotch-common/windi.config.ts b/packages/hoppscotch-common/windi.config.ts index 8e391aecb..161a85969 100644 --- a/packages/hoppscotch-common/windi.config.ts +++ b/packages/hoppscotch-common/windi.config.ts @@ -1,6 +1,9 @@ import { defineConfig } from "windicss/helpers" export default defineConfig({ + extract: { + include: ["src/**/*.{vue,html}", "../hoppscotch-ui/src/**/*.{vue,html}"], + }, theme: { container: { center: true, diff --git a/packages/hoppscotch-data/package.json b/packages/hoppscotch-data/package.json index 0953213e4..7795a169c 100644 --- a/packages/hoppscotch-data/package.json +++ b/packages/hoppscotch-data/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@types/lodash": "^4.14.181", "typescript": "^4.6.3", - "vite": "^3.1.0" + "vite": "^3.2.3" }, "dependencies": { "fp-ts": "^2.11.10", diff --git a/packages/hoppscotch-data/vite.config.ts b/packages/hoppscotch-data/vite.config.ts index ccc3ab06d..f41648388 100644 --- a/packages/hoppscotch-data/vite.config.ts +++ b/packages/hoppscotch-data/vite.config.ts @@ -9,9 +9,7 @@ export default defineConfig({ lib: { entry: resolve(__dirname, "src/index.ts"), fileName: "hoppscotch-data", - formats: [ - "es", "cjs" - ], - } - } + formats: ["es", "cjs"], + }, + }, }) diff --git a/packages/hoppscotch-ui/.eslintrc.js b/packages/hoppscotch-ui/.eslintrc.js new file mode 100644 index 000000000..76da7ac18 --- /dev/null +++ b/packages/hoppscotch-ui/.eslintrc.js @@ -0,0 +1,47 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution") +module.exports = { + root: true, + env: { + browser: true, + node: true, + jest: true, + }, + parserOptions: { + sourceType: "module", + requireConfigFile: false, + }, + extends: [ + "@vue/typescript/recommended", + "plugin:vue/vue3-recommended", + "plugin:prettier/recommended", + "plugin:storybook/recommended", + ], + ignorePatterns: [ + "static/**/*", + "./helpers/backend/graphql.ts", + "**/*.d.ts", + "types/**/*", + ], + plugins: ["vue", "prettier"], + // add your custom rules here + rules: { + semi: [2, "never"], + "import/named": "off", + // because, named import issue with typescript see: https://github.com/typescript-eslint/typescript-eslint/issues/154 + "no-console": "off", + "no-debugger": process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn", + "prettier/prettier": + process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn", + "vue/multi-word-component-names": "off", + "vue/no-side-effects-in-computed-properties": "off", + "import/no-named-as-default": "off", + "import/no-named-as-default-member": "off", + "@typescript-eslint/no-unused-vars": + process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-explicit-any": "off", + "import/default": "off", + "no-undef": "off", + }, +} diff --git a/packages/hoppscotch-ui/.gitignore b/packages/hoppscotch-ui/.gitignore new file mode 100644 index 000000000..2028a370c --- /dev/null +++ b/packages/hoppscotch-ui/.gitignore @@ -0,0 +1,27 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# Environment Variables +.env diff --git a/packages/hoppscotch-ui/.prettierignore b/packages/hoppscotch-ui/.prettierignore new file mode 100644 index 000000000..ef46361f6 --- /dev/null +++ b/packages/hoppscotch-ui/.prettierignore @@ -0,0 +1,10 @@ +.dependabot +.github +.hoppscotch +.vscode +package-lock.json +node_modules +dist +static +components.d.ts +src/types diff --git a/packages/hoppscotch-ui/.prettierrc.js b/packages/hoppscotch-ui/.prettierrc.js new file mode 100644 index 000000000..8ef0f9962 --- /dev/null +++ b/packages/hoppscotch-ui/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + semi: false +} diff --git a/packages/hoppscotch-ui/README.md b/packages/hoppscotch-ui/README.md new file mode 100644 index 000000000..8f1885799 --- /dev/null +++ b/packages/hoppscotch-ui/README.md @@ -0,0 +1,57 @@ +
+ + + + + + + +
+ +
+ +# Hoppscotch UI + +
+ +Welcome to hoppscotch-ui, a collection of presentational components for our web applications. This library is part of the hoppscotch monorepo and contains components such as buttons, spinners, modals, tabs, windows, etc. + +## Usage + +To use the components in project, simply name the component with `directory` name as alias: + +For example `Primary Button` component is in `button` directory and the file name is `Primary.vue`. So, use that you have to write `` + +## Histoire + +We've included Histoire in this library which is similar to Storybook, to make it easy to play with the components in the browser. You can run Histoire in the browser with command + +`pnpm run story:dev` + +You can also use [Histoire](https://histoire.dev/) to create stories for your components and test them in different scenarios. + +## Versioning + +This project follows [Semantic Versioning](https://semver.org/) but as the project is still pre-1.0. The code and the public exposed API should not be considered to be fixed and stable. Things can change at any time! + +## License + +This project is licensed under the [MIT License](https://opensource.org/licenses/MIT) - see [`LICENSE`](https://github.com/hoppscotch/hoppscotch/blob/main/LICENSE) for more details. + +
+ +
+ +
+ +###### built with ❤︎ by the [Hoppscotch Team](https://github.com/hoppscotch) and [contributors](https://github.com/hoppscotch/hoppscotch/graphs/contributors). + +
diff --git a/packages/hoppscotch-ui/histoire.config.ts b/packages/hoppscotch-ui/histoire.config.ts new file mode 100644 index 000000000..3ce600279 --- /dev/null +++ b/packages/hoppscotch-ui/histoire.config.ts @@ -0,0 +1,7 @@ +import { HstVue } from "@histoire/plugin-vue" +import { defineConfig } from "histoire" + +export default defineConfig({ + setupFile: "histoire.setup.ts", + plugins: [HstVue()], +}) diff --git a/packages/hoppscotch-ui/histoire.setup.ts b/packages/hoppscotch-ui/histoire.setup.ts new file mode 100644 index 000000000..a54de6f26 --- /dev/null +++ b/packages/hoppscotch-ui/histoire.setup.ts @@ -0,0 +1,5 @@ +import "./src/assets/scss/styles.scss" +import "./src/assets/scss/themes.scss" +import "virtual:windi.css" + +export function setupVue3() {} diff --git a/packages/hoppscotch-ui/package.json b/packages/hoppscotch-ui/package.json new file mode 100644 index 000000000..cd8ae1b56 --- /dev/null +++ b/packages/hoppscotch-ui/package.json @@ -0,0 +1,82 @@ +{ + "name": "@hoppscotch/ui", + "private": true, + "version": "0.0.1", + "scripts": { + "build": "vite build", + "story:dev": "histoire dev", + "story:build": "histoire build", + "story:preview": "histoire preview" + }, + "dependencies": { + "@hoppscotch/vue-toasted": "^0.1.0", + "@lezer/highlight": "^1.0.0", + "@vitejs/plugin-legacy": "^2.3.0", + "@vueuse/core": "^8.7.5", + "@vueuse/head": "^0.7.9", + "acorn-walk": "^8.2.0", + "esprima": "^4.0.1", + "events": "^3.3.0", + "fp-ts": "^2.12.1", + "globalthis": "^1.0.3", + "lodash-es": "^4.17.21", + "path": "^0.12.7", + "rxjs": "^7.5.5", + "splitpanes": "^3.1.1", + "tern": "^0.24.3", + "timers": "^0.1.1", + "tippy.js": "^6.3.7", + "url": "^0.11.0", + "util": "^0.12.4", + "vite-plugin-eslint": "^1.8.1", + "vue": "^3.2.25", + "vue-github-button": "^3.0.3", + "vue-router": "^4.0.16", + "vue-tippy": "6.0.0-alpha.58", + "vuedraggable": "^4.1.0" + }, + "devDependencies": { + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@esbuild-plugins/node-modules-polyfill": "^0.1.4", + "@histoire/plugin-vue": "^0.12.4", + "@iconify-json/lucide": "^1.1.40", + "@intlify/vite-plugin-vue-i18n": "^6.0.1", + "@rushstack/eslint-patch": "^1.1.4", + "@types/lodash-es": "^4.17.6", + "@types/splitpanes": "^2.2.1", + "@typescript-eslint/eslint-plugin": "^5.19.0", + "@typescript-eslint/parser": "^5.19.0", + "@vitejs/plugin-vue": "^3.1.0", + "@vue/compiler-sfc": "^3.2.39", + "@vue/eslint-config-typescript": "^11.0.1", + "@vue/runtime-core": "^3.2.39", + "cross-env": "^7.0.3", + "eslint": "^8.24.0", + "eslint-plugin-prettier": "^4.2.0", + "eslint-plugin-vue": "^9.5.1", + "histoire": "^0.12.4", + "npm-run-all": "^4.1.5", + "rollup-plugin-polyfill-node": "^0.10.1", + "sass": "^1.53.0", + "typescript": "^4.5.4", + "unplugin-icons": "^0.14.9", + "unplugin-vue-components": "^0.21.0", + "vite": "^3.2.3", + "vite-plugin-checker": "^0.5.1", + "vite-plugin-fonts": "^0.6.0", + "vite-plugin-html-config": "^1.0.10", + "vite-plugin-inspect": "^0.7.4", + "vite-plugin-pages": "^0.26.0", + "vite-plugin-pages-sitemap": "^1.4.0", + "vite-plugin-pwa": "^0.13.1", + "vite-plugin-vue-layouts": "^0.7.0", + "vite-plugin-windicss": "^1.8.8", + "vue-loader": "^16.8.3", + "vue-tsc": "^0.38.2", + "windicss": "^3.5.6" + }, + "files": [ + "src", + "dist" + ] +} diff --git a/packages/hoppscotch-ui/src/assets/scss/styles.scss b/packages/hoppscotch-ui/src/assets/scss/styles.scss new file mode 100644 index 000000000..9aaf1b411 --- /dev/null +++ b/packages/hoppscotch-ui/src/assets/scss/styles.scss @@ -0,0 +1,562 @@ +* { + @apply backface-hidden; + @apply before:backface-hidden; + @apply after:backface-hidden; + @apply selection:bg-accentDark; + @apply selection:text-accentContrast; +} + +:root { + @apply antialiased; + accent-color: var(--accent-color); + font-variant-ligatures: common-ligatures; +} + +::-webkit-scrollbar-track { + @apply bg-transparent; + @apply border-solid border-l border-dividerLight border-t-0 border-b-0 border-r-0; +} + +::-webkit-scrollbar-thumb { + @apply bg-divider bg-clip-content; + @apply rounded-full; + @apply border-solid border-transparent border-4; + @apply hover:bg-dividerDark; + @apply hover:bg-clip-content; +} + +::-webkit-scrollbar { + @apply w-4; + @apply h-0; +} + +input::placeholder, +textarea::placeholder, +.cm-placeholder { + @apply text-secondary; + @apply opacity-35; +} + +input, +textarea { + @apply text-secondaryDark; + @apply font-medium; +} + +html { + scroll-behavior: smooth; +} + +body { + @apply bg-primary; + @apply text-secondary text-body; + @apply font-medium; + @apply select-none; + @apply overflow-x-hidden; + @apply leading-body; + animation: fade 300ms forwards; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; +} + +@keyframes fade { + 0% { + @apply opacity-0; + } + + 100% { + @apply opacity-100; + } +} + +.fade-enter-active, +.fade-leave-active { + @apply transition-opacity; +} + +.fade-enter-from, +.fade-leave-to { + @apply opacity-0; +} + +.slide-enter-active, +.slide-leave-active { + @apply transition; + @apply duration-300; +} + +.slide-enter-from, +.slide-leave-to { + @apply transform; + @apply translate-x-full; +} + +.bounce-enter-active, +.bounce-leave-active { + @apply transition; +} + +.bounce-enter-from, +.bounce-leave-to { + @apply transform; + @apply scale-95; +} + +.svg-icons { + @apply flex-shrink-0; + @apply overflow-hidden; + height: var(--line-height-body); + width: var(--line-height-body); +} + +a { + @apply inline-flex; + @apply text-current; + @apply no-underline; + @apply transition; + @apply leading-body; + @apply focus:outline-none; + + &.link { + @apply items-center; + @apply py-0.5 px-1; + @apply -my-0.5 -mx-1; + @apply text-accent; + @apply rounded; + @apply hover:text-accentDark; + @apply focus-visible:ring; + @apply focus-visible:ring-accent; + @apply focus-visible:text-accentDark; + } +} + +.cm-tooltip { + .tippy-box { + @apply shadow-none; + @apply fixed; + @apply inline-flex; + @apply -mt-6; + } +} + +.tippy-box[data-theme~="tooltip"] { + @apply bg-tooltip; + @apply border-solid border-tooltip; + @apply rounded; + @apply shadow; + + .tippy-content { + @apply flex; + @apply text-tiny text-primary; + @apply font-semibold; + @apply py-1 px-2; + @apply truncate; + @apply leading-normal; + @apply items-center; + + kbd { + @apply hidden; + @apply font-sans; + @apply bg-gray-500/45; + @apply text-primaryLight; + @apply rounded-sm; + @apply px-1; + @apply my-0 ml-1; + @apply truncate; + @apply sm:inline-flex; + } + + .env-icon { + @apply transition; + @apply inline-flex; + @apply items-center; + } + } + + .tippy-svg-arrow { + svg:first-child { + @apply fill-tooltip; + } + + svg:last-child { + @apply fill-tooltip; + } + } +} + +.tippy-box[data-theme~="popover"] { + @apply bg-popover; + @apply border-solid border-dividerDark; + @apply rounded; + @apply shadow-lg; + + .tippy-content { + @apply flex flex-col; + @apply max-h-56; + @apply items-stretch; + @apply overflow-y-auto; + @apply text-secondary text-body; + @apply p-2; + @apply leading-normal; + @apply focus:outline-none; + scroll-behavior: smooth; + } + + .tippy-svg-arrow { + svg:first-child { + @apply fill-dividerDark; + } + + svg:last-child { + @apply fill-popover; + } + } +} + +[data-v-tippy] { + @apply flex flex-1; +} + +[interactive] > div { + @apply flex flex-1; + @apply h-full; +} + +hr { + @apply border-b border-dividerLight; + @apply my-2; +} + +.heading { + @apply font-bold; + @apply text-secondaryDark text-lg; + @apply tracking-tight; +} + +.input, +.select, +.textarea { + @apply flex; + @apply w-full; + @apply py-2 px-4; + @apply bg-transparent; + @apply rounded; + @apply text-secondaryDark; + @apply border border-divider; + @apply focus-visible:border-dividerDark; +} + +input, +select, +textarea, +button { + @apply truncate; + @apply transition; + @apply text-body; + @apply leading-body; + @apply focus:outline-none; + @apply disabled:cursor-not-allowed; +} + +.input[type="file"], +.input[type="radio"], +#installPWA { + @apply hidden; +} + +.floating-input ~ label { + @apply absolute; + @apply px-2 py-0.5; + @apply m-2; + @apply rounded; + @apply transition; + @apply origin-top-left; +} + +.floating-input:focus-within ~ label, +.floating-input:not(:placeholder-shown) ~ label { + @apply bg-primary; + @apply transform; + @apply origin-top-left; + @apply scale-75; + @apply translate-x-1 -translate-y-4; +} + +.floating-input:focus-within ~ label { + @apply text-secondaryDark; +} + +.floating-input ~ .end-actions { + @apply absolute; + @apply right-0.2; + @apply inset-y-0; + @apply flex; + @apply items-center; +} + +.floating-input:has(~ .end-actions) { + @apply pr-12; +} + +pre.ace_editor { + @apply font-mono; + @apply resize-none; + @apply z-0; +} + +.select { + @apply appearance-none; + @apply cursor-pointer; + + &::-ms-expand { + @apply hidden; + } +} + +.select-wrapper { + @apply flex flex-1; + @apply relative; + @apply after:absolute; + @apply after:flex; + @apply after:inset-y-0; + @apply after:items-center; + @apply after:justify-center; + @apply after:pointer-events-none; + @apply after:font-icon; + @apply after:text-secondaryLight; + @apply after:right-3; + @apply after:content-["\e313"]; +} + +.info-response { + @apply text-pink-500; +} + +.success-response { + @apply text-green-500; +} + +.redir-response { + @apply text-yellow-500; +} + +.cl-error-response { + @apply text-red-500; +} + +.sv-error-response { + @apply text-red-600; +} + +.missing-data-response { + @apply text-secondaryLight; +} + +.toasted-container { + @apply max-w-md; + + .toasted { + &.toasted-primary { + @apply px-4 py-2; + @apply bg-tooltip; + @apply border-secondaryDark; + @apply text-primary text-body; + @apply justify-between; + @apply shadow-lg; + @apply font-semibold; + @apply transition; + @apply leading-body; + @apply sm:rounded; + @apply sm:border; + + .action { + @apply relative; + @apply flex flex-shrink-0; + @apply text-body; + @apply px-4; + @apply my-1; + @apply ml-auto; + @apply normal-case; + @apply font-semibold; + @apply leading-body; + @apply tracking-normal; + @apply rounded; + @apply last:ml-4; + @apply sm:ml-8; + @apply before:absolute; + @apply before:bg-current; + @apply before:opacity-10; + @apply before:inset-0; + @apply before:transition; + @apply before:content-DEFAULT; + @apply hover:no-underline; + @apply hover:before:opacity-20; + } + } + + &.info { + @apply bg-accent; + @apply text-accentContrast; + @apply border-accentDark; + } + + &.error { + @apply bg-red-200; + @apply text-red-800; + @apply border-red-400; + } + + &.success { + @apply bg-green-200; + @apply text-green-800; + @apply border-green-400; + } + } +} + +.smart-splitter .splitpanes__splitter { + @apply relative; + @apply bg-primaryLight; + @apply before:absolute; + @apply before:inset-0; + @apply before:bg-accentLight; + @apply before:opacity-0; + @apply before:z-20; + @apply before:transition; + @apply before:content-DEFAULT; + @apply after:absolute; + @apply after:inset-0; + @apply after:z-20; + @apply after:transition; + @apply after:flex; + @apply after:items-center; + @apply after:justify-center; + @apply after:text-dividerDark; + @apply after:font-icon; + @apply hover:before:opacity-100; + @apply hover:after:text-accentDark; +} + +.no-splitter .splitpanes__splitter { + @apply relative; + @apply bg-primaryLight; +} + +.smart-splitter.splitpanes--vertical > .splitpanes__splitter { + @apply w-1; + @apply before:-left-0.5; + @apply before:-right-0.5; + @apply before:h-full; + @apply after:content-["\e5d4"]; +} + +.smart-splitter.splitpanes--horizontal > .splitpanes__splitter { + @apply h-1; + @apply before:-top-0.5; + @apply before:-bottom-0.5; + @apply before:w-full; + @apply after:content-["\e5d3"]; +} + +.no-splitter.splitpanes--vertical > .splitpanes__splitter { + @apply w-0.5; + @apply pointer-events-none; +} + +.no-splitter.splitpanes--horizontal > .splitpanes__splitter { + @apply h-0.5; + @apply pointer-events-none; +} + +.cm-focused { + @apply select-auto; + @apply outline-none #{!important}; + + .cm-activeLine { + @apply bg-primaryLight; + } + + .cm-activeLineGutter { + @apply bg-primaryDark; + } +} + +.cm-editor { + .cm-line::selection { + @apply bg-accentDark #{!important}; + @apply text-accentContrast #{!important}; + } + + .cm-line ::selection { + @apply bg-accentDark #{!important}; + @apply text-accentContrast #{!important}; + } +} + +.shortcut-key { + @apply inline-flex; + @apply font-sans; + @apply text-tiny; + @apply bg-divider; + @apply rounded; + @apply ml-2; + @apply px-1; + @apply min-w-5; + @apply min-h-5; + @apply items-center; + @apply justify-center; + @apply border border-dividerDark; + @apply shadow-sm; + @apply diff --git a/packages/hoppscotch-common/src/components/smart/FileChip.vue b/packages/hoppscotch-ui/src/components/smart/FileChip.vue similarity index 100% rename from packages/hoppscotch-common/src/components/smart/FileChip.vue rename to packages/hoppscotch-ui/src/components/smart/FileChip.vue diff --git a/packages/hoppscotch-common/src/components/smart/Intersection.vue b/packages/hoppscotch-ui/src/components/smart/Intersection.vue similarity index 100% rename from packages/hoppscotch-common/src/components/smart/Intersection.vue rename to packages/hoppscotch-ui/src/components/smart/Intersection.vue diff --git a/packages/hoppscotch-common/src/components/smart/Item.vue b/packages/hoppscotch-ui/src/components/smart/Item.vue similarity index 100% rename from packages/hoppscotch-common/src/components/smart/Item.vue rename to packages/hoppscotch-ui/src/components/smart/Item.vue diff --git a/packages/hoppscotch-common/src/components/smart/Link.vue b/packages/hoppscotch-ui/src/components/smart/Link.vue similarity index 100% rename from packages/hoppscotch-common/src/components/smart/Link.vue rename to packages/hoppscotch-ui/src/components/smart/Link.vue diff --git a/packages/hoppscotch-common/src/components/smart/Modal.vue b/packages/hoppscotch-ui/src/components/smart/Modal.vue similarity index 91% rename from packages/hoppscotch-common/src/components/smart/Modal.vue rename to packages/hoppscotch-ui/src/components/smart/Modal.vue index 674061b5b..23278c348 100644 --- a/packages/hoppscotch-common/src/components/smart/Modal.vue +++ b/packages/hoppscotch-ui/src/components/smart/Modal.vue @@ -48,7 +48,7 @@ @@ -93,11 +93,18 @@ const stack = (() => { diff --git a/packages/hoppscotch-ui/src/stories/Button.story.vue b/packages/hoppscotch-ui/src/stories/Button.story.vue new file mode 100644 index 000000000..e233967c8 --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Button.story.vue @@ -0,0 +1,10 @@ + diff --git a/packages/hoppscotch-ui/src/stories/Checkbox.story.vue b/packages/hoppscotch-ui/src/stories/Checkbox.story.vue new file mode 100644 index 000000000..bfc1c37fa --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Checkbox.story.vue @@ -0,0 +1,13 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/ConfirmModal.story.vue b/packages/hoppscotch-ui/src/stories/ConfirmModal.story.vue new file mode 100644 index 000000000..186a9f6fc --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/ConfirmModal.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Item.story.vue b/packages/hoppscotch-ui/src/stories/Item.story.vue new file mode 100644 index 000000000..875f460ef --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Item.story.vue @@ -0,0 +1,7 @@ + diff --git a/packages/hoppscotch-ui/src/stories/Link.story.vue b/packages/hoppscotch-ui/src/stories/Link.story.vue new file mode 100644 index 000000000..74f579d5a --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Link.story.vue @@ -0,0 +1,18 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Modal.story.vue b/packages/hoppscotch-ui/src/stories/Modal.story.vue new file mode 100644 index 000000000..ebfb081c5 --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Modal.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/ProgressRing.story.vue b/packages/hoppscotch-ui/src/stories/ProgressRing.story.vue new file mode 100644 index 000000000..585699ff0 --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/ProgressRing.story.vue @@ -0,0 +1,15 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Radio.story.vue b/packages/hoppscotch-ui/src/stories/Radio.story.vue new file mode 100644 index 000000000..778065843 --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Radio.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/SlideOver.story.vue b/packages/hoppscotch-ui/src/stories/SlideOver.story.vue new file mode 100644 index 000000000..aef073dcb --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/SlideOver.story.vue @@ -0,0 +1,15 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Spinner.story.vue b/packages/hoppscotch-ui/src/stories/Spinner.story.vue new file mode 100644 index 000000000..0129f530f --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Spinner.story.vue @@ -0,0 +1,5 @@ + diff --git a/packages/hoppscotch-ui/src/stories/Tab.story.vue b/packages/hoppscotch-ui/src/stories/Tab.story.vue new file mode 100644 index 000000000..28415baec --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Tab.story.vue @@ -0,0 +1,20 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Toggle.story.vue b/packages/hoppscotch-ui/src/stories/Toggle.story.vue new file mode 100644 index 000000000..e1decb8bf --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Toggle.story.vue @@ -0,0 +1,15 @@ + + + diff --git a/packages/hoppscotch-ui/src/stories/Window.story.vue b/packages/hoppscotch-ui/src/stories/Window.story.vue new file mode 100644 index 000000000..69744ce9e --- /dev/null +++ b/packages/hoppscotch-ui/src/stories/Window.story.vue @@ -0,0 +1,72 @@ + + + diff --git a/packages/hoppscotch-ui/tsconfig.json b/packages/hoppscotch-ui/tsconfig.json new file mode 100644 index 000000000..c37c3ba3a --- /dev/null +++ b/packages/hoppscotch-ui/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true, + "noUnusedLocals": true, + "paths": { + "~/*": ["./src/*"], + "@composables/*": ["./src/composables/*"], + "@components/*": ["./src/components/*"], + "@helpers/*": ["./src/helpers/*"], + "@modules/*": ["./src/modules/*"], + "@workers/*": ["./src/workers/*"], + "@functional/*": ["./src/helpers/functional/*"] + }, + "types": [ + "vite/client", + "unplugin-icons/types/vue", + "vite-plugin-pages/client", + "vite-plugin-vue-layouts/client", + "vite-plugin-pwa/client" + ] + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/packages/hoppscotch-ui/vite.config.ts b/packages/hoppscotch-ui/vite.config.ts new file mode 100644 index 000000000..e9492e16f --- /dev/null +++ b/packages/hoppscotch-ui/vite.config.ts @@ -0,0 +1,60 @@ +import vue from "@vitejs/plugin-vue" +import path from "path" +import { FileSystemIconLoader } from "unplugin-icons/loaders" +import IconResolver from "unplugin-icons/resolver" +import Icons from "unplugin-icons/vite" +import Components from "unplugin-vue-components/vite" +import { defineConfig } from "vite" +import WindiCSS from "vite-plugin-windicss" + +module.exports = defineConfig({ + plugins: [ + vue(), + WindiCSS({ + root: path.resolve(__dirname), + }), + Components({ + dts: "./src/components.d.ts", + dirs: ["./src/components"], + directoryAsNamespace: true, + resolvers: [ + IconResolver({ + prefix: "icon", + customCollections: ["hopp", "auth", "brands"], + }), + ], + }), + Icons({ + compiler: "vue3", + customCollections: { + hopp: FileSystemIconLoader("../hoppscotch-common/assets/icons"), + auth: FileSystemIconLoader("../hoppscotch-common/assets/icons/auth"), + brands: FileSystemIconLoader( + "../hoppscotch-common/assets/icons/brands" + ), + }, + }), + ], // to process SFC + build: { + lib: { + entry: path.resolve(__dirname, "src/index.ts"), + name: "hopp-ui", + formats: ["es"], // adding 'umd' requires globals set to every external module + fileName: (format) => `hopp-ui.${format}.js`, + }, + rollupOptions: { + // external modules won't be bundled into HoppUI library + external: ["vue"], // not every external has a global + output: { + // disable warning on src/index.ts using both default and named export + exports: "named", + // Provide global variables to use in the UMD build + // for externalized deps (not useful if 'umd' is not in lib.formats) + globals: { + vue: "Vue", + }, + }, + }, + emptyOutDir: false, // to retain the types folder generated by tsc + }, +}) diff --git a/packages/hoppscotch-ui/windi.config.ts b/packages/hoppscotch-ui/windi.config.ts new file mode 100644 index 000000000..8e391aecb --- /dev/null +++ b/packages/hoppscotch-ui/windi.config.ts @@ -0,0 +1,65 @@ +import { defineConfig } from "windicss/helpers" + +export default defineConfig({ + theme: { + container: { + center: true, + }, + extend: { + inset: { + upperPrimaryStickyFold: "var(--upper-primary-sticky-fold)", + upperSecondaryStickyFold: "var(--upper-secondary-sticky-fold)", + upperTertiaryStickyFold: "var(--upper-tertiary-sticky-fold)", + upperMobilePrimaryStickyFold: "var(--upper-mobile-primary-sticky-fold)", + upperMobileSecondaryStickyFold: + "var(--upper-mobile-secondary-sticky-fold)", + upperMobileStickyFold: "var(--upper-mobile-sticky-fold)", + upperMobileTertiaryStickyFold: + "var(--upper-mobile-tertiary-sticky-fold)", + lowerPrimaryStickyFold: "var(--lower-primary-sticky-fold)", + lowerSecondaryStickyFold: "var(--lower-secondary-sticky-fold)", + lowerTertiaryStickyFold: "var(--lower-tertiary-sticky-fold)", + sidebarPrimaryStickyFold: "var(--sidebar-primary-sticky-fold)", + }, + colors: { + primary: "var(--primary-color)", + primaryLight: "var(--primary-light-color)", + primaryDark: "var(--primary-dark-color)", + primaryContrast: "var(--primary-contrast-color)", + secondary: "var(--secondary-color)", + secondaryLight: "var(--secondary-light-color)", + secondaryDark: "var(--secondary-dark-color)", + accent: "var(--accent-color)", + accentLight: "var(--accent-light-color)", + accentDark: "var(--accent-dark-color)", + accentContrast: "var(--accent-contrast-color)", + divider: "var(--divider-color)", + dividerLight: "var(--divider-light-color)", + dividerDark: "var(--divider-dark-color)", + error: "var(--error-color)", + tooltip: "var(--tooltip-color)", + popover: "var(--popover-color)", + gradientFrom: "var(--gradient-from-color)", + gradientVia: "var(--gradient-via-color)", + gradientTo: "var(--gradient-to-color)", + }, + fontFamily: { + sans: "var(--font-sans)", + mono: "var(--font-mono)", + icon: "var(--font-icon)", + }, + fontSize: { + tiny: "var(--font-size-tiny)", + body: "var(--font-size-body)", + }, + lineHeight: { + body: "var(--line-height-body)", + }, + cursor: { + nsResize: "ns-resize", + grab: "grab", + grabbing: "grabbing", + }, + }, + }, +}) diff --git a/packages/hoppscotch-web/vite.config.ts b/packages/hoppscotch-web/vite.config.ts index 1b2ffaf76..e2ebbff90 100644 --- a/packages/hoppscotch-web/vite.config.ts +++ b/packages/hoppscotch-web/vite.config.ts @@ -107,7 +107,10 @@ export default defineConfig({ }), Components({ dts: "../hoppscotch-common/src/components.d.ts", - dirs: ["../hoppscotch-common/src/components"], + dirs: [ + "../hoppscotch-common/src/components", + "../hoppscotch-ui/src/components", + ], directoryAsNamespace: true, resolvers: [ IconResolver({ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 546ffbfcb..311bb400a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -119,6 +119,7 @@ importers: '@hoppscotch/codemirror-lang-graphql': workspace:^0.2.0 '@hoppscotch/data': workspace:^0.4.4 '@hoppscotch/js-sandbox': workspace:^2.1.0 + '@hoppscotch/ui': workspace:^0.0.1 '@hoppscotch/vue-toasted': ^0.1.0 '@iconify-json/lucide': ^1.1.40 '@intlify/vite-plugin-vue-i18n': ^6.0.1 @@ -236,6 +237,7 @@ importers: '@hoppscotch/codemirror-lang-graphql': link:../codemirror-lang-graphql '@hoppscotch/data': link:../hoppscotch-data '@hoppscotch/js-sandbox': link:../hoppscotch-js-sandbox + '@hoppscotch/ui': link:../hoppscotch-ui '@hoppscotch/vue-toasted': 0.1.0_vue@3.2.37 '@lezer/highlight': 1.0.0 '@sentry/tracing': 7.13.0 @@ -357,7 +359,7 @@ importers: lodash: ^4.17.21 parser-ts: ^0.6.16 typescript: ^4.6.3 - vite: ^3.1.0 + vite: ^3.2.3 dependencies: fp-ts: 2.12.1 io-ts: 2.2.16_fp-ts@2.12.1 @@ -366,7 +368,7 @@ importers: devDependencies: '@types/lodash': 4.14.182 typescript: 4.7.4 - vite: 3.1.0 + vite: 3.2.4 packages/hoppscotch-js-sandbox: specifiers: @@ -413,6 +415,137 @@ importers: ts-jest: 27.1.5_mqaoisgizytgigbr3gbjwvnjie typescript: 4.7.4 + packages/hoppscotch-ui: + specifiers: + '@esbuild-plugins/node-globals-polyfill': ^0.1.1 + '@esbuild-plugins/node-modules-polyfill': ^0.1.4 + '@histoire/plugin-vue': ^0.12.4 + '@hoppscotch/vue-toasted': ^0.1.0 + '@iconify-json/lucide': ^1.1.40 + '@intlify/vite-plugin-vue-i18n': ^6.0.1 + '@lezer/highlight': ^1.0.0 + '@rushstack/eslint-patch': ^1.1.4 + '@types/lodash-es': ^4.17.6 + '@types/splitpanes': ^2.2.1 + '@typescript-eslint/eslint-plugin': ^5.19.0 + '@typescript-eslint/parser': ^5.19.0 + '@vitejs/plugin-legacy': ^2.3.0 + '@vitejs/plugin-vue': ^3.1.0 + '@vue/compiler-sfc': ^3.2.39 + '@vue/eslint-config-typescript': ^11.0.1 + '@vue/runtime-core': ^3.2.39 + '@vueuse/core': ^8.7.5 + '@vueuse/head': ^0.7.9 + acorn-walk: ^8.2.0 + cross-env: ^7.0.3 + eslint: ^8.24.0 + eslint-plugin-prettier: ^4.2.0 + eslint-plugin-vue: ^9.5.1 + esprima: ^4.0.1 + events: ^3.3.0 + fp-ts: ^2.12.1 + globalthis: ^1.0.3 + histoire: ^0.12.4 + lodash-es: ^4.17.21 + npm-run-all: ^4.1.5 + path: ^0.12.7 + rollup-plugin-polyfill-node: ^0.10.1 + rxjs: ^7.5.5 + sass: ^1.53.0 + splitpanes: ^3.1.1 + tern: ^0.24.3 + timers: ^0.1.1 + tippy.js: ^6.3.7 + typescript: ^4.5.4 + unplugin-icons: ^0.14.9 + unplugin-vue-components: ^0.21.0 + url: ^0.11.0 + util: ^0.12.4 + vite: ^3.2.3 + vite-plugin-checker: ^0.5.1 + vite-plugin-eslint: ^1.8.1 + vite-plugin-fonts: ^0.6.0 + vite-plugin-html-config: ^1.0.10 + vite-plugin-inspect: ^0.7.4 + vite-plugin-pages: ^0.26.0 + vite-plugin-pages-sitemap: ^1.4.0 + vite-plugin-pwa: ^0.13.1 + vite-plugin-vue-layouts: ^0.7.0 + vite-plugin-windicss: ^1.8.8 + vue: ^3.2.25 + vue-github-button: ^3.0.3 + vue-loader: ^16.8.3 + vue-router: ^4.0.16 + vue-tippy: 6.0.0-alpha.58 + vue-tsc: ^0.38.2 + vuedraggable: ^4.1.0 + windicss: ^3.5.6 + dependencies: + '@hoppscotch/vue-toasted': 0.1.0_vue@3.2.45 + '@lezer/highlight': 1.0.0 + '@vitejs/plugin-legacy': 2.3.0_vite@3.2.4 + '@vueuse/core': 8.7.5_vue@3.2.45 + '@vueuse/head': 0.7.9_vue@3.2.45 + acorn-walk: 8.2.0 + esprima: 4.0.1 + events: 3.3.0 + fp-ts: 2.12.1 + globalthis: 1.0.3 + lodash-es: 4.17.21 + path: 0.12.7 + rxjs: 7.5.5 + splitpanes: 3.1.1 + tern: 0.24.3 + timers: 0.1.1 + tippy.js: 6.3.7 + url: 0.11.0 + util: 0.12.4 + vite-plugin-eslint: 1.8.1_eslint@8.28.0+vite@3.2.4 + vue: 3.2.45 + vue-github-button: 3.0.3 + vue-router: 4.1.0_vue@3.2.45 + vue-tippy: 6.0.0-alpha.58_vue@3.2.45 + vuedraggable: 4.1.0_vue@3.2.45 + devDependencies: + '@esbuild-plugins/node-globals-polyfill': 0.1.1 + '@esbuild-plugins/node-modules-polyfill': 0.1.4 + '@histoire/plugin-vue': 0.12.4_3ztk7oukhtctodvtf5427xwgjy + '@iconify-json/lucide': 1.1.40 + '@intlify/vite-plugin-vue-i18n': 6.0.1_vite@3.2.4 + '@rushstack/eslint-patch': 1.1.4 + '@types/lodash-es': 4.17.6 + '@types/splitpanes': 2.2.1 + '@typescript-eslint/eslint-plugin': 5.30.6_tzuem642amzz36tmpo2cu7h24a + '@typescript-eslint/parser': 5.30.6_tqvwk7sh3taph5wf7sr5z34mke + '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45 + '@vue/compiler-sfc': 3.2.45 + '@vue/eslint-config-typescript': 11.0.1_mzvf2l7eswg27fegtooheusjzu + '@vue/runtime-core': 3.2.45 + cross-env: 7.0.3 + eslint: 8.28.0 + eslint-plugin-prettier: 4.2.1_eslint@8.28.0 + eslint-plugin-vue: 9.5.1_eslint@8.28.0 + histoire: 0.12.4_sass@1.53.0+vite@3.2.4 + npm-run-all: 4.1.5 + rollup-plugin-polyfill-node: 0.10.1 + sass: 1.53.0 + typescript: 4.7.4 + unplugin-icons: 0.14.9_ucej6auec2vidlux2n3htzvxf4 + unplugin-vue-components: 0.21.0_vite@3.2.4+vue@3.2.45 + vite: 3.2.4_sass@1.53.0 + vite-plugin-checker: 0.5.1_jrjwweurx77rgiqotz2vtz63ma + vite-plugin-fonts: 0.6.0_vite@3.2.4 + vite-plugin-html-config: 1.0.10_vite@3.2.4 + vite-plugin-inspect: 0.7.4_vite@3.2.4 + vite-plugin-pages: 0.26.0_ucej6auec2vidlux2n3htzvxf4 + vite-plugin-pages-sitemap: 1.4.0 + vite-plugin-pwa: 0.13.1_vite@3.2.4 + vite-plugin-vue-layouts: 0.7.0_x3isqn4gd6tlkzc66bnhwnhwbi + vite-plugin-windicss: 1.8.8_vite@3.2.4 + vue-loader: 16.8.3_tfvhctuaqmmqnirfl65c47tqwu + vue-tsc: 0.38.2_typescript@4.7.4 + windicss: 3.5.6 + packages/hoppscotch-web: specifiers: '@hoppscotch/common': workspace:^ @@ -1835,6 +1968,15 @@ packages: '@lezer/common': 1.0.0 dev: false + /@codemirror/commands/6.2.0: + resolution: {integrity: sha512-+00smmZBradoGFEkRjliN7BjqPh/Hx0KCHWOEibUmflUqZz2RwBTU0MrVovEEHozhx3AUSGcO/rl3/5f9e9Biw==} + dependencies: + '@codemirror/language': 6.4.0 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.7.3 + '@lezer/common': 1.0.0 + dev: true + /@codemirror/lang-javascript/6.0.1: resolution: {integrity: sha512-kjGbBEosl+ozDU5ruDV48w4v3H6KECTFiDjqMLT0KhVwESPfv3wOvnDrTT0uaMOg3YRGnBWsyiIoKHl/tNWWDg==} dependencies: @@ -1852,7 +1994,6 @@ packages: dependencies: '@codemirror/language': 6.2.0 '@lezer/json': 1.0.0 - dev: false /@codemirror/lang-xml/6.0.0_@codemirror+view@6.0.2: resolution: {integrity: sha512-M/HLWxIiP956xGjtrxkeHkCmDGVQGKu782x8pOH5CLJIMkWtiB1DWfDoDHqpFjdEE9dkfcqPWvYfVi6GbhuXEg==} @@ -1875,7 +2016,17 @@ packages: '@lezer/highlight': 1.0.0 '@lezer/lr': 1.2.0 style-mod: 4.0.0 - dev: false + + /@codemirror/language/6.4.0: + resolution: {integrity: sha512-Wzb7GnNj8vnEtbPWiOy9H0m1fBtE28kepQNGLXekU2EEZv43BF865VKITUn+NoV8OpW6gRtvm29YEhqm46927Q==} + dependencies: + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.7.3 + '@lezer/common': 1.0.0 + '@lezer/highlight': 1.0.0 + '@lezer/lr': 1.2.0 + style-mod: 4.0.0 + dev: true /@codemirror/legacy-modes/6.1.0: resolution: {integrity: sha512-V/PgGpndkZeTn3Hdlg/gd8MLFdyvTCIX+iwJzjUw5iNziWiNsAY8X0jvf7m3gSfxnKkNzmid6l0g4rYSpiDaCw==} @@ -1889,7 +2040,6 @@ packages: '@codemirror/state': 6.1.0 '@codemirror/view': 6.0.2 crelt: 1.0.5 - dev: false /@codemirror/search/6.0.0: resolution: {integrity: sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==} @@ -1901,7 +2051,19 @@ packages: /@codemirror/state/6.1.0: resolution: {integrity: sha512-qbUr94DZTe6/V1VS7LDLz11rM/1t/nJxR1El4I6UaxDEdc0aZZvq6JCLJWiRmUf95NRAnDH6fhXn+PWp9wGCIg==} - dev: false + + /@codemirror/state/6.2.0: + resolution: {integrity: sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==} + dev: true + + /@codemirror/theme-one-dark/6.1.0: + resolution: {integrity: sha512-AiTHtFRu8+vWT9wWUWDM+cog6ZwgivJogB1Tm/g40NIpLwph7AnmxrSzWfvJN5fBVufsuwBxecQCNmdcR5D7Aw==} + dependencies: + '@codemirror/language': 6.4.0 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.7.3 + '@lezer/highlight': 1.0.0 + dev: true /@codemirror/view/6.0.2: resolution: {integrity: sha512-mnVT/q1JvKPjpmjXJNeCi/xHyaJ3abGJsumIVpdQ1nE1MXAyHf7GHWt8QpWMUvDiqF0j+inkhVR2OviTdFFX7Q==} @@ -1909,7 +2071,14 @@ packages: '@codemirror/state': 6.1.0 style-mod: 4.0.0 w3c-keyname: 2.2.4 - dev: false + + /@codemirror/view/6.7.3: + resolution: {integrity: sha512-Lt+4POnhXrZFfHOdPzXEHxrzwdy7cjqYlMkOWvoFGi6/bAsjzlFfr0NY3B15B/PGx+cDFgM1hlc12wvYeZbGLw==} + dependencies: + '@codemirror/state': 6.2.0 + style-mod: 4.0.0 + w3c-keyname: 2.2.4 + dev: true /@commitlint/cli/16.3.0: resolution: {integrity: sha512-P+kvONlfsuTMnxSwWE1H+ZcPMY3STFaHb2kAacsqoIkNx66O0T7sTpBxpxkMrFPyhkJiLJnJWMhk4bbvYD3BMA==} @@ -2126,7 +2295,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.15.15: @@ -2135,7 +2303,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.15.7: @@ -2195,7 +2362,6 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true /@faker-js/faker/5.5.3: resolution: {integrity: sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==} @@ -3141,6 +3307,64 @@ packages: yargs: 16.2.0 dev: false + /@histoire/app/0.12.4_vite@3.2.4: + resolution: {integrity: sha512-noemJQ3q5ofHbBJGJ9FgLIdoV4Feyn3zHMhOQjHZRPETdoAak2adALO4UWKVnFu75+R43SLtoV7HnK0TAPx5kw==} + dependencies: + '@histoire/controls': 0.12.4 + '@histoire/shared': 0.12.4_vite@3.2.4 + '@histoire/vendors': 0.12.4 + '@types/flexsearch': 0.7.3 + flexsearch: 0.7.21 + shiki-es: 0.1.2 + transitivePeerDependencies: + - vite + dev: true + + /@histoire/controls/0.12.4: + resolution: {integrity: sha512-p4qa11vXqhSMsnXW1p+n7ZqawoHVErLFL24yNnA9peMuXnR306/0cvdAnsLMQJdq5mDNayOY5Di69YKVQ0Shqg==} + dependencies: + '@codemirror/commands': 6.2.0 + '@codemirror/lang-json': 6.0.0 + '@codemirror/language': 6.4.0 + '@codemirror/lint': 6.0.0 + '@codemirror/state': 6.2.0 + '@codemirror/theme-one-dark': 6.1.0 + '@codemirror/view': 6.7.3 + '@histoire/vendors': 0.12.4 + dev: true + + /@histoire/plugin-vue/0.12.4_3ztk7oukhtctodvtf5427xwgjy: + resolution: {integrity: sha512-2xgBDwEHmiY053hPWy4rKnnMjntVcg8qfIYJGyITwFWSfNTq+6ez/HjWzUcHT6qwFMglUHq+rDlQb9gYZF+Edw==} + peerDependencies: + histoire: ^0.12.4 + vue: ^3.2.31 + dependencies: + '@histoire/controls': 0.12.4 + '@histoire/shared': 0.12.4_vite@3.2.4 + '@histoire/vendors': 0.12.4 + histoire: 0.12.4_sass@1.53.0+vite@3.2.4 + vue: 3.2.45 + transitivePeerDependencies: + - vite + dev: true + + /@histoire/shared/0.12.4_vite@3.2.4: + resolution: {integrity: sha512-dVSrfsEu17KczjyHVW8yPvSlguhEV7hWjDSwsjlUrRdbe7hwztX4GbbcCIWvG5hy5gASpKpQq6FJa5uTs0HOsg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0 || ^4.0.0 + dependencies: + '@types/fs-extra': 9.0.13 + '@types/markdown-it': 12.2.3 + chokidar: 3.5.3 + pathe: 0.2.0 + picocolors: 1.0.0 + vite: 3.2.4_sass@1.53.0 + dev: true + + /@histoire/vendors/0.12.4: + resolution: {integrity: sha512-NIi0krz19iSjPHhIsGLrW4Q3tvrCLfvCet2kFA8crKPX6inaMZm8g/+pDQBqlh9DRCXVbxV5RWQKcumrIFbrmw==} + dev: true + /@hoppscotch/vue-toasted/0.1.0_vue@3.2.37: resolution: {integrity: sha512-DIgmeTHxWwX5UeaHLEqDYNLJFGRosx/5N1fCHkaO8zt+sZv8GrHlkrIpjfKF2drmA3kKw5cY42Cw7WuCoabR3g==} peerDependencies: @@ -3149,6 +3373,14 @@ packages: vue: 3.2.37 dev: false + /@hoppscotch/vue-toasted/0.1.0_vue@3.2.45: + resolution: {integrity: sha512-DIgmeTHxWwX5UeaHLEqDYNLJFGRosx/5N1fCHkaO8zt+sZv8GrHlkrIpjfKF2drmA3kKw5cY42Cw7WuCoabR3g==} + peerDependencies: + vue: ^3.2.37 + dependencies: + vue: 3.2.45 + dev: false + /@humanwhocodes/config-array/0.10.7: resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} engines: {node: '>=10.10.0'} @@ -3169,7 +3401,6 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true /@humanwhocodes/config-array/0.9.5: resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} @@ -3189,11 +3420,9 @@ packages: /@humanwhocodes/module-importer/1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true /@iarna/toml/2.2.5: resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} @@ -3233,8 +3462,8 @@ packages: vue-i18n: optional: true dependencies: - '@intlify/message-compiler': 9.3.0-beta.10 - '@intlify/shared': 9.3.0-beta.10 + '@intlify/message-compiler': 9.3.0-beta.16 + '@intlify/shared': 9.3.0-beta.16 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 yaml-eslint-parser: 0.3.2 @@ -3252,8 +3481,8 @@ packages: vue-i18n: optional: true dependencies: - '@intlify/message-compiler': 9.3.0-beta.10 - '@intlify/shared': 9.3.0-beta.10 + '@intlify/message-compiler': 9.3.0-beta.16 + '@intlify/shared': 9.3.0-beta.16 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 vue-i18n: 9.2.2_vue@3.2.37 @@ -3282,11 +3511,11 @@ packages: '@intlify/shared': 9.2.2 source-map: 0.6.1 - /@intlify/message-compiler/9.3.0-beta.10: - resolution: {integrity: sha512-RoOC6yceOykLRhN0NlbkNOBUx1el6iphx3W8NfOx3jHVNtfT1FYokx14/5sU3F1F0uxeG4sp6q+ppKvaF8o+ww==} + /@intlify/message-compiler/9.3.0-beta.16: + resolution: {integrity: sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw==} engines: {node: '>= 14'} dependencies: - '@intlify/shared': 9.3.0-beta.10 + '@intlify/shared': 9.3.0-beta.16 source-map: 0.6.1 dev: true @@ -3294,8 +3523,8 @@ packages: resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} engines: {node: '>= 14'} - /@intlify/shared/9.3.0-beta.10: - resolution: {integrity: sha512-h93uAanbAt/XgjDHclrVB7xix6r7Uz11wx0iGNOCdHP7aA2LCJjUT3uNbekJjjbo+Fl5jzTSJZdm2SexzoqhRA==} + /@intlify/shared/9.3.0-beta.16: + resolution: {integrity: sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig==} engines: {node: '>= 14'} dev: true @@ -3315,7 +3544,7 @@ packages: optional: true dependencies: '@intlify/bundle-utils': 3.4.0_vue-i18n@9.2.2 - '@intlify/shared': 9.3.0-beta.10 + '@intlify/shared': 9.3.0-beta.16 '@rollup/pluginutils': 4.2.1 debug: 4.3.4 fast-glob: 3.2.11 @@ -3342,12 +3571,12 @@ packages: optional: true dependencies: '@intlify/bundle-utils': 3.4.0 - '@intlify/shared': 9.3.0-beta.10 + '@intlify/shared': 9.3.0-beta.16 '@rollup/pluginutils': 4.2.1 debug: 4.3.4 fast-glob: 3.2.11 source-map: 0.6.1 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 transitivePeerDependencies: - supports-color dev: true @@ -3663,7 +3892,6 @@ packages: resolution: {integrity: sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==} dependencies: '@lezer/common': 1.0.0 - dev: false /@lezer/javascript/1.0.1: resolution: {integrity: sha512-t7fpf3+gi/jiAtW+Gv734TbKdpPg6b8qATH01/jprW9H2oR++Tb688IHwJvZbk9F4GjpCEv86beuHMpUyC1b5g==} @@ -3677,7 +3905,6 @@ packages: dependencies: '@lezer/highlight': 1.0.0 '@lezer/lr': 1.2.0 - dev: false /@lezer/lr/1.2.0: resolution: {integrity: sha512-TgEpfm9br2SX8JwtwKT8HsQZKuFkLRg6g+IRxObk9nVKQLKnkP3oMh+QGcTBL9GQsfQ2ADtKPbj2iGSMf3ytiA==} @@ -3866,7 +4093,6 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - dev: true /@rushstack/eslint-patch/1.1.4: resolution: {integrity: sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==} @@ -4192,8 +4418,24 @@ packages: '@types/ms': 0.7.31 dev: true + /@types/eslint/8.4.10: + resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==} + dependencies: + '@types/estree': 0.0.39 + '@types/json-schema': 7.0.9 + dev: false + /@types/estree/0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + + /@types/flexsearch/0.7.3: + resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==} + dev: true + + /@types/fs-extra/9.0.13: + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + dependencies: + '@types/node': 17.0.45 dev: true /@types/graceful-fs/4.1.5: @@ -4242,6 +4484,10 @@ packages: '@types/node': 17.0.45 dev: true + /@types/linkify-it/3.0.2: + resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} + dev: true + /@types/lodash-es/4.17.6: resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} dependencies: @@ -4260,6 +4506,17 @@ packages: resolution: {integrity: sha512-zPE8kmpeL5/6L5gtTQHSOkAW/OSYYNTDRt6/2oEgLO1Zd3Rj5WVDoMloTtLJxQJhZGLGbL4pktKSh3NbzdaWdw==} dev: true + /@types/markdown-it/12.2.3: + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + dependencies: + '@types/linkify-it': 3.0.2 + '@types/mdurl': 1.0.2 + dev: true + + /@types/mdurl/1.0.2: + resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} + dev: true + /@types/minimist/1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true @@ -4736,8 +4993,7 @@ packages: magic-string: 0.26.7 regenerator-runtime: 0.13.10 systemjs: 6.13.0 - vite: 3.2.4 - dev: true + vite: 3.2.4_sass@1.53.0 /@vitejs/plugin-vue/3.1.0_vite@3.1.4+vue@3.2.37: resolution: {integrity: sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==} @@ -4757,7 +5013,7 @@ packages: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 vue: 3.2.45 dev: true @@ -4821,7 +5077,7 @@ packages: '@volar/source-map': 0.38.2 '@volar/vue-code-gen': 0.38.2 '@vue/compiler-sfc': 3.2.45 - '@vue/reactivity': 3.2.39 + '@vue/reactivity': 3.2.45 dev: true /@volar/vue-typescript/1.0.9: @@ -5113,6 +5369,24 @@ packages: vue-demi: 0.13.1_vue@3.2.37 dev: false + /@vueuse/core/8.7.5_vue@3.2.45: + resolution: {integrity: sha512-tqgzeZGoZcXzoit4kOGLWJibDMLp0vdm6ZO41SSUQhkhtrPhAg6dbIEPiahhUu6sZAmSYvVrZgEr5aKD51nrLA==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + '@types/web-bluetooth': 0.0.14 + '@vueuse/metadata': 8.7.5 + '@vueuse/shared': 8.7.5_vue@3.2.45 + vue: 3.2.45 + vue-demi: 0.13.1_vue@3.2.45 + dev: false + /@vueuse/head/0.7.9_vue@3.2.37: resolution: {integrity: sha512-5wnRiH2XIUSLLXJDLDDTcpvAg5QXgTIVZl46AU7to/T91KHsdBLHSE4WhRO7kP0jbkAhlxnx64E29cQtwBrMjg==} peerDependencies: @@ -5121,6 +5395,14 @@ packages: vue: 3.2.37 dev: false + /@vueuse/head/0.7.9_vue@3.2.45: + resolution: {integrity: sha512-5wnRiH2XIUSLLXJDLDDTcpvAg5QXgTIVZl46AU7to/T91KHsdBLHSE4WhRO7kP0jbkAhlxnx64E29cQtwBrMjg==} + peerDependencies: + vue: '>=3' + dependencies: + vue: 3.2.45 + dev: false + /@vueuse/metadata/8.7.5: resolution: {integrity: sha512-emJZKRQSaEnVqmlu39NpNp8iaW+bPC2kWykWoWOZMSlO/0QVEmO/rt8A5VhOEJTKLX3vwTevqbiRy9WJRwVOQg==} dev: false @@ -5140,6 +5422,21 @@ packages: vue-demi: 0.13.1_vue@3.2.37 dev: false + /@vueuse/shared/8.7.5_vue@3.2.45: + resolution: {integrity: sha512-THXPvMBFmg6Gf6AwRn/EdTh2mhqwjGsB2Yfp374LNQSQVKRHtnJ0I42bsZTn7nuEliBxqUrGQm/lN6qUHmhJLw==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + vue: 3.2.45 + vue-demi: 0.13.1_vue@3.2.45 + dev: false + /@wessberg/stringutil/1.0.19: resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==} engines: {node: '>=8.0.0'} @@ -5149,7 +5446,7 @@ packages: resolution: {integrity: sha512-kNas/zMkwsDFMcJPmHoPDJlQi1MHvYwx8BSxo9JKcbCW7Gaj8Rg2CnEImX5YdT+ZcFQqQ+kUn0Vi/ScsAxhGEw==} dependencies: debug: 4.3.4 - jiti: 1.14.0 + jiti: 1.16.2 windicss: 3.5.6 transitivePeerDependencies: - supports-color @@ -5194,6 +5491,13 @@ packages: acorn-walk: 7.2.0 dev: true + /acorn-globals/7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.8.1 + acorn-walk: 8.2.0 + dev: true + /acorn-jsx/5.3.2_acorn@7.4.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5208,6 +5512,13 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.0 + + /acorn-jsx/5.3.2_acorn@8.8.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.1 dev: true /acorn-loose/6.1.0: @@ -5247,6 +5558,11 @@ packages: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} hasBin: true + + /acorn/8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} + engines: {node: '>=0.4.0'} + hasBin: true dev: true /after/0.8.2: @@ -5621,10 +5937,18 @@ packages: safe-buffer: 5.1.2 dev: true + /big.js/5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + /birpc/0.1.1: + resolution: {integrity: sha512-B64AGL4ug2IS2jvV/zjTYDD1L+2gOJTT7Rv+VaK7KVQtQOo/xZbCDsh7g727ipckmU+QJYRqo5RcifVr0Kgcmg==} + dev: true + /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -5842,7 +6166,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /change-case-all/1.0.14: resolution: {integrity: sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==} @@ -6060,6 +6383,18 @@ packages: /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + /connect/3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /constant-case/3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: @@ -6165,7 +6500,6 @@ packages: /crelt/1.0.5: resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} - dev: false /cross-env/7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -6241,6 +6575,10 @@ packages: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: true + /cssom/0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: true + /cssstyle/2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} @@ -6269,6 +6607,15 @@ packages: whatwg-url: 8.7.0 dev: true + /data-urls/3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: true + /dataloader/2.1.0: resolution: {integrity: sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ==} @@ -6289,7 +6636,6 @@ packages: optional: true dependencies: ms: 2.0.0 - dev: false /debug/3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} @@ -6372,6 +6718,10 @@ packages: resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} dev: true + /decimal.js/10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + /dedent/0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true @@ -6398,7 +6748,6 @@ packages: /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} @@ -6418,6 +6767,10 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /defu/6.1.1: + resolution: {integrity: sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==} + dev: true + /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -6437,6 +6790,10 @@ packages: engines: {node: '>=8'} dev: true + /diacritics/1.3.0: + resolution: {integrity: sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==} + dev: true + /diff-sequences/27.5.1: resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6467,7 +6824,6 @@ packages: engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 - dev: true /domexception/2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} @@ -6476,6 +6832,13 @@ packages: webidl-conversions: 5.0.0 dev: true + /domexception/4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + dependencies: + webidl-conversions: 7.0.0 + dev: true + /dot-case/3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -6512,6 +6875,10 @@ packages: safe-buffer: 5.2.1 dev: true + /ee-first/1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + /ejs/3.1.8: resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} engines: {node: '>=0.10.0'} @@ -6536,6 +6903,16 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /emojis-list/3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + /engine.io-client/3.5.2: resolution: {integrity: sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==} dependencies: @@ -6621,6 +6998,15 @@ packages: tapable: 0.2.9 dev: false + /entities/2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + + /entities/4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + engines: {node: '>=0.12'} + dev: true + /errno/0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true @@ -6696,7 +7082,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /esbuild-android-64/0.15.7: @@ -6721,7 +7106,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /esbuild-android-arm64/0.15.7: @@ -6746,7 +7130,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /esbuild-darwin-64/0.15.7: @@ -6771,7 +7154,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /esbuild-darwin-arm64/0.15.7: @@ -6796,7 +7178,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /esbuild-freebsd-64/0.15.7: @@ -6821,7 +7202,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /esbuild-freebsd-arm64/0.15.7: @@ -6846,7 +7226,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-32/0.15.7: @@ -6871,7 +7250,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-64/0.15.7: @@ -6896,7 +7274,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-arm/0.15.7: @@ -6921,7 +7298,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-arm64/0.15.7: @@ -6946,7 +7322,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-mips64le/0.15.7: @@ -6971,7 +7346,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-ppc64le/0.15.7: @@ -6996,7 +7370,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-riscv64/0.15.7: @@ -7021,7 +7394,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /esbuild-linux-s390x/0.15.7: @@ -7046,7 +7418,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /esbuild-netbsd-64/0.15.7: @@ -7071,7 +7442,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /esbuild-openbsd-64/0.15.7: @@ -7096,7 +7466,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /esbuild-sunos-64/0.15.7: @@ -7121,7 +7490,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /esbuild-windows-32/0.15.7: @@ -7146,7 +7514,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /esbuild-windows-64/0.15.7: @@ -7171,7 +7538,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /esbuild-windows-arm64/0.15.7: @@ -7237,7 +7603,6 @@ packages: esbuild-windows-32: 0.15.15 esbuild-windows-64: 0.15.15 esbuild-windows-arm64: 0.15.15 - dev: true /esbuild/0.15.7: resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==} @@ -7271,6 +7636,10 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + /escape-string-regexp/1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} @@ -7283,7 +7652,6 @@ packages: /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true /escodegen/2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} @@ -7404,7 +7772,6 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true /eslint-utils/2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} @@ -7441,7 +7808,6 @@ packages: dependencies: eslint: 8.28.0 eslint-visitor-keys: 2.1.0 - dev: true /eslint-visitor-keys/1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} @@ -7451,12 +7817,10 @@ packages: /eslint-visitor-keys/2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} - dev: true /eslint-visitor-keys/3.3.0: resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true /eslint/8.19.0: resolution: {integrity: sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==} @@ -7596,7 +7960,6 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true /esm/3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} @@ -7616,8 +7979,8 @@ packages: resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.0 - acorn-jsx: 5.3.2_acorn@8.8.0 + acorn: 8.8.1 + acorn-jsx: 5.3.2_acorn@8.8.1 eslint-visitor-keys: 3.3.0 dev: true @@ -7628,7 +7991,6 @@ packages: acorn: 8.8.0 acorn-jsx: 5.3.2_acorn@8.8.0 eslint-visitor-keys: 3.3.0 - dev: true /esprima-extract-comments/1.1.0: resolution: {integrity: sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==} @@ -7647,14 +8009,12 @@ packages: engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 - dev: true /esrecurse/4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - dev: true /estraverse/4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} @@ -7664,7 +8024,6 @@ packages: /estraverse/5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true /estree-walker/0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} @@ -7680,7 +8039,6 @@ packages: /esutils/2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true /event-stream/3.3.4: resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} @@ -7751,6 +8109,13 @@ packages: jest-util: 28.1.1 dev: true + /extend-shallow/2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -7799,7 +8164,6 @@ packages: /fast-levenshtein/2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} @@ -7855,7 +8219,6 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 - dev: true /file-type/3.9.0: resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} @@ -7874,6 +8237,21 @@ packages: dependencies: to-regex-range: 5.0.1 + /finalhandler/1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /find-up/4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -7888,7 +8266,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /firebase/9.8.4: resolution: {integrity: sha512-fQigVEtSBprGBDLVTr485KQJ1YUWh/HeocMQvmhaUCL9dHUnW8GWfK+XkKOV2kcDB1Ur8xZPkjCxlmoTcykhgA==} @@ -7931,7 +8308,6 @@ packages: dependencies: flatted: 3.2.6 rimraf: 3.0.2 - dev: true /flat/5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -7940,6 +8316,9 @@ packages: /flatted/3.2.6: resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==} + + /flexsearch/0.7.21: + resolution: {integrity: sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==} dev: true /follow-redirects/1.15.1: @@ -7977,6 +8356,15 @@ packages: mime-types: 2.1.35 dev: true + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + /formdata-node/4.3.3: resolution: {integrity: sha512-coTew7WODO2vF+XhpUdmYz4UBvlsiTMSNaFYZlrXIqYbFd4W7bMwnoALNLE6uvNgzTg2j1JDF0ZImEfF06VPAA==} engines: {node: '>= 12.20'} @@ -8122,7 +8510,6 @@ packages: engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true /glob/7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} @@ -8161,7 +8548,6 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.20.2 - dev: true /globalthis/1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -8181,12 +8567,22 @@ packages: merge2: 1.4.1 slash: 3.0.0 + /globby/13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.11 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true /graphql-config/4.3.1_h5eoywvcjsa4emif44kddonyyu: resolution: {integrity: sha512-czBWzJSGaLJfOHBLuUTZVRTjfgohPfvlaeN1B5nXBVptFARpiFuS7iI4FnRhCGwm6qt1h2j1g05nkg0OIGA6bg==} @@ -8314,6 +8710,16 @@ packages: resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} engines: {node: '>= 10.x'} + /gray-matter/4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: true + /growl/1.10.5: resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} engines: {node: '>=4.x'} @@ -8365,7 +8771,6 @@ packages: /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} @@ -8388,6 +8793,10 @@ packages: dependencies: function-bind: 1.1.1 + /hash-sum/2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true + /he/1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -8404,6 +8813,57 @@ packages: engines: {node: '>=10.0.0'} dev: true + /histoire/0.12.4_sass@1.53.0+vite@3.2.4: + resolution: {integrity: sha512-q20Zncdh+GI2jDXiry1JS1DrN5qprKpl452AnS/P06Vgowqf79aG85E0XmhNpX2r8HI2HmIntwZ5FLd6hxYobQ==} + hasBin: true + peerDependencies: + vite: ^2.9.0 || ^3.0.0 || ^4.0.0 + dependencies: + '@histoire/app': 0.12.4_vite@3.2.4 + '@histoire/controls': 0.12.4 + '@histoire/shared': 0.12.4_vite@3.2.4 + '@histoire/vendors': 0.12.4 + '@types/flexsearch': 0.7.3 + '@types/markdown-it': 12.2.3 + birpc: 0.1.1 + change-case: 4.1.2 + chokidar: 3.5.3 + connect: 3.7.0 + defu: 6.1.1 + diacritics: 1.3.0 + flexsearch: 0.7.21 + fs-extra: 10.1.0 + globby: 13.1.3 + gray-matter: 4.0.3 + jiti: 1.16.2 + jsdom: 20.0.3 + markdown-it: 12.3.2 + markdown-it-anchor: 8.6.6_2zb4u3vubltivolgu556vv4aom + markdown-it-attrs: 4.1.6_markdown-it@12.3.2 + markdown-it-emoji: 2.0.2 + micromatch: 4.0.5 + mrmime: 1.0.1 + pathe: 0.2.0 + picocolors: 1.0.0 + sade: 1.8.1 + shiki-es: 0.1.2 + sirv: 2.0.2 + tinypool: 0.1.3 + vite: 3.2.4_sass@1.53.0 + vite-node: 0.26.0_sass@1.53.0 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - canvas + - less + - sass + - stylus + - sugarss + - supports-color + - terser + - utf-8-validate + dev: true + /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -8594,7 +9054,6 @@ packages: /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true /indent-string/4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} @@ -8731,6 +9190,11 @@ packages: dependencies: has-tostringtag: 1.0.0 + /is-extendable/0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -8807,7 +9271,6 @@ packages: /is-path-inside/3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - dev: true /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} @@ -9550,8 +10013,8 @@ packages: - utf-8-validate dev: true - /jiti/1.14.0: - resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==} + /jiti/1.16.2: + resolution: {integrity: sha512-OKBOVWmU3FxDt/UH4zSwiKPuc1nihFZiOD722FuJlngvLz2glX1v2/TJIgoA4+mrpnXxHV6dSAoCvPcYQtoG5A==} hasBin: true dev: true @@ -9561,7 +10024,6 @@ packages: /js-sdsl/4.1.4: resolution: {integrity: sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==} - dev: true /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -9589,7 +10051,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.8.0 + acorn: 8.8.1 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -9621,6 +10083,47 @@ packages: - utf-8-validate dev: true + /jsdom/20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.1 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.2 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.12.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -9659,7 +10162,6 @@ packages: /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true /json-stable-stringify/1.0.1: resolution: {integrity: sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==} @@ -9692,6 +10194,10 @@ packages: semver: 6.3.0 dev: true + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9792,7 +10298,6 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true /lie/3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -9812,6 +10317,12 @@ packages: /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + /linkify-it/3.0.3: + resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} + dependencies: + uc.micro: 1.0.6 + dev: true + /lint-staged/12.5.0: resolution: {integrity: sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9872,6 +10383,15 @@ packages: resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /loader-utils/2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.1 + dev: true + /local-pkg/0.4.2: resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} engines: {node: '>=14'} @@ -9889,7 +10409,6 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true /lodash-es/4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -9940,7 +10459,6 @@ packages: /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true /lodash.once/4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} @@ -10058,6 +10576,44 @@ packages: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} dev: false + /markdown-it-anchor/8.6.6_2zb4u3vubltivolgu556vv4aom: + resolution: {integrity: sha512-jRW30YGywD2ESXDc+l17AiritL0uVaSnWsb26f+68qaW9zgbIIr1f4v2Nsvc0+s0Z2N3uX6t/yAw7BwCQ1wMsA==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 12.2.3 + markdown-it: 12.3.2 + dev: true + + /markdown-it-attrs/4.1.6_markdown-it@12.3.2: + resolution: {integrity: sha512-O7PDKZlN8RFMyDX13JnctQompwrrILuz2y43pW2GagcwpIIElkAdfeek+erHfxUOlXWPsjFeWmZ8ch1xtRLWpA==} + engines: {node: '>=6'} + peerDependencies: + markdown-it: '>= 9.0.0' + dependencies: + markdown-it: 12.3.2 + dev: true + + /markdown-it-emoji/2.0.2: + resolution: {integrity: sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==} + dev: true + + /markdown-it/12.3.2: + resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /mdurl/1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true + /memory-fs/0.3.0: resolution: {integrity: sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=} dependencies: @@ -10193,6 +10749,15 @@ packages: hasBin: true dev: true + /mlly/1.1.0: + resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==} + dependencies: + acorn: 8.8.1 + pathe: 1.0.0 + pkg-types: 1.0.1 + ufo: 1.0.1 + dev: true + /mocha/9.2.2: resolution: {integrity: sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==} engines: {node: '>= 12.0.0'} @@ -10224,14 +10789,18 @@ packages: yargs-unparser: 2.0.0 dev: true + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + /mrmime/1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} dev: true /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} - dev: false + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -10268,7 +10837,6 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -10371,6 +10939,10 @@ packages: resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} dev: true + /nwsapi/2.2.2: + resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} + dev: true + /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -10404,6 +10976,13 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 + /on-finished/2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -10462,7 +11041,6 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.3 - dev: true /ora/5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} @@ -10509,7 +11087,6 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} @@ -10577,6 +11154,12 @@ packages: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true + /parse5/7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.4.0 + dev: true + /parseqs/0.0.6: resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} dev: false @@ -10594,6 +11177,11 @@ packages: resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} dev: false + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + /pascal-case/3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: @@ -10609,7 +11197,6 @@ packages: /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true /path-is-absolute/1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} @@ -10657,6 +11244,14 @@ packages: util: 0.10.4 dev: false + /pathe/0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /pathe/1.0.0: + resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==} + dev: true + /pause-stream/0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: @@ -10714,6 +11309,14 @@ packages: find-up: 4.1.0 dev: true + /pkg-types/1.0.1: + resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.1.0 + pathe: 1.0.0 + dev: true + /portfinder/1.0.32: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} @@ -10796,7 +11399,6 @@ packages: /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - dev: true /prettier-linter-helpers/1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} @@ -10919,6 +11521,10 @@ packages: deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: false + /querystringify/2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -11051,7 +11657,6 @@ packages: /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} - dev: true /regexpu-core/5.1.0: resolution: {integrity: sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==} @@ -11293,7 +11898,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -11310,6 +11914,13 @@ packages: dependencies: tslib: 2.4.0 + /sade/1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -11339,10 +11950,25 @@ packages: xmlchars: 2.2.0 dev: true + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + /scuid/1.1.0: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} dev: true + /section-matter/1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: true + /secure-compare/3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} dev: true @@ -11353,7 +11979,7 @@ packages: dependencies: jszip: 3.10.0 tmp: 0.2.1 - ws: 8.8.0 + ws: 8.12.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -11432,6 +12058,10 @@ packages: /shell-quote/1.7.3: resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} + /shiki-es/0.1.2: + resolution: {integrity: sha512-eqtfk8idlYlSLAn0gp0Ly2+FbKc2d78IddigHSS4iHAnpXoY2kdRzyFGZOdi6TvemYMnRhZBi1HsSqZc5eNKqg==} + dev: true + /side-channel/1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -11463,6 +12093,11 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + /slash/4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + /slice-ansi/3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -11665,6 +12300,11 @@ packages: escape-string-regexp: 2.0.0 dev: true + /statuses/1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + /stream-browserify/3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} dependencies: @@ -11784,6 +12424,11 @@ packages: ansi-regex: 6.0.1 dev: false + /strip-bom-string/1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: true + /strip-bom/3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -11813,11 +12458,9 @@ packages: /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true /style-mod/4.0.0: resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} - dev: false /subscriptions-transport-ws/0.11.0_graphql@15.8.0: resolution: {integrity: sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==} @@ -11864,7 +12507,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color/8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -11980,7 +12622,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.2 - acorn: 8.8.0 + acorn: 8.8.1 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -12001,7 +12643,6 @@ packages: /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true /thenify-all/1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -12035,6 +12676,11 @@ packages: resolution: {integrity: sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==} dev: true + /tinypool/0.1.3: + resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} + engines: {node: '>=14.0.0'} + dev: true + /tippy.js/6.3.7: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} dependencies: @@ -12093,6 +12739,16 @@ packages: universalify: 0.1.2 dev: true + /tough-cookie/4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.1.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + /tr46/0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -12108,6 +12764,13 @@ packages: punycode: 2.1.1 dev: true + /tr46/3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + dependencies: + punycode: 2.1.1 + dev: true + /tree-kill/1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -12188,7 +12851,7 @@ packages: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 '@types/node': 17.0.45 - acorn: 8.8.0 + acorn: 8.8.1 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -12313,7 +12976,6 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 - dev: true /type-detect/4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} @@ -12333,7 +12995,6 @@ packages: /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - dev: true /type-fest/0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -12368,10 +13029,18 @@ packages: resolution: {integrity: sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==} dev: true + /uc.micro/1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + /ufo/0.8.5: resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} dev: true + /ufo/1.0.1: + resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} + dev: true + /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -12431,6 +13100,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /universalify/0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + /universalify/2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} @@ -12442,6 +13116,44 @@ packages: dependencies: normalize-path: 2.1.1 + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /unplugin-icons/0.14.9_ucej6auec2vidlux2n3htzvxf4: + resolution: {integrity: sha512-vPyVfNREH88dP6gszdaoGkAEFPpiScXj1A8eWN905jQgT53A3tsiPEiqJjCHOUVcsUaREt2JSudzumFOsCA78A==} + peerDependencies: + '@svgr/core': '>=5.5.0' + '@vue/compiler-sfc': ^3.0.2 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.2 + '@iconify/utils': 1.0.33 + '@vue/compiler-sfc': 3.2.45 + debug: 4.3.4 + kolorist: 1.5.1 + local-pkg: 0.4.2 + unplugin: 0.9.5_vite@3.2.4 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + /unplugin-icons/0.14.9_vite@3.2.4: resolution: {integrity: sha512-vPyVfNREH88dP6gszdaoGkAEFPpiScXj1A8eWN905jQgT53A3tsiPEiqJjCHOUVcsUaREt2JSudzumFOsCA78A==} peerDependencies: @@ -12608,7 +13320,7 @@ packages: dependencies: acorn: 8.8.0 chokidar: 3.5.3 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.4.4 dev: true @@ -12656,7 +13368,7 @@ packages: dependencies: acorn: 8.8.0 chokidar: 3.5.3 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.4.4 dev: true @@ -12696,6 +13408,13 @@ packages: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} dev: true + /url-parse/1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + /url/0.11.0: resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} dependencies: @@ -12723,6 +13442,11 @@ packages: which-typed-array: 1.1.8 dev: false + /utils-merge/1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -12761,6 +13485,66 @@ packages: resolution: {integrity: sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==} engines: {node: '>=12'} + /vite-node/0.26.0_sass@1.53.0: + resolution: {integrity: sha512-nLtHWCv6reONl1oFsKhQ/LT7n3UNLpvVARAJlmGrQV6qSElht/9AdN41Pa+WSkw2Winh682UzM0Yw0GNlfqejw==} + engines: {node: '>=v14.16.0'} + hasBin: true + dependencies: + debug: 4.3.4 + mlly: 1.1.0 + pathe: 0.2.0 + source-map: 0.6.1 + source-map-support: 0.5.21 + vite: 3.2.4_sass@1.53.0 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-plugin-checker/0.5.1_jrjwweurx77rgiqotz2vtz63ma: + resolution: {integrity: sha512-NFiO1PyK9yGuaeSnJ7Whw9fnxLc1AlELnZoyFURnauBYhbIkx9n+PmIXxSFUuC9iFyACtbJQUAEuQi6yHs2Adg==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + typescript: '*' + vite: ^2.0.0 || ^3.0.0-0 + vls: '*' + vti: '*' + peerDependenciesMeta: + eslint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + dependencies: + '@babel/code-frame': 7.18.6 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.5.3 + commander: 8.3.0 + eslint: 8.28.0 + fast-glob: 3.2.11 + lodash.debounce: 4.0.8 + lodash.pick: 4.4.0 + npm-run-path: 4.0.1 + strip-ansi: 6.0.1 + tiny-invariant: 1.2.0 + typescript: 4.7.4 + vite: 3.2.4_sass@1.53.0 + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.7 + vscode-uri: 3.0.3 + dev: true + /vite-plugin-checker/0.5.1_kjjvnh3jl66vp4phsscdedqila: resolution: {integrity: sha512-NFiO1PyK9yGuaeSnJ7Whw9fnxLc1AlELnZoyFURnauBYhbIkx9n+PmIXxSFUuC9iFyACtbJQUAEuQi6yHs2Adg==} engines: {node: '>=14.16'} @@ -12800,6 +13584,19 @@ packages: vscode-uri: 3.0.3 dev: true + /vite-plugin-eslint/1.8.1_eslint@8.28.0+vite@3.2.4: + resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} + peerDependencies: + eslint: '>=7' + vite: '>=2' + dependencies: + '@rollup/pluginutils': 4.2.1 + '@types/eslint': 8.4.10 + eslint: 8.28.0 + rollup: 2.79.1 + vite: 3.2.4_sass@1.53.0 + dev: false + /vite-plugin-fonts/0.6.0_vite@3.1.4: resolution: {integrity: sha512-dV6nnLEju8k5EmvlBH6egxkVZ+rgc5zWsJr9+cNRXBMEDnpRGHcZPI260UEDNg2yB99wSTNER2eduEvZFbMIGw==} peerDependencies: @@ -12815,7 +13612,7 @@ packages: vite: ^2.0.0 || ^3.0.0 dependencies: fast-glob: 3.2.11 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 dev: true /vite-plugin-html-config/1.0.10_vite@3.1.4: @@ -12833,7 +13630,7 @@ packages: peerDependencies: vite: '>=2.0.0' dependencies: - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 dev: true /vite-plugin-inspect/0.7.4_vite@3.1.4: @@ -12865,7 +13662,7 @@ packages: kolorist: 1.5.1 sirv: 2.0.2 ufo: 0.8.5 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 transitivePeerDependencies: - supports-color dev: true @@ -12874,6 +13671,30 @@ packages: resolution: {integrity: sha512-8GlmNSeObvDVUdmgutfWnGBZGsn3Zb8IXCjRODFB0tOhQqAQPZRwXrFha6ZLjvF4DgVJI3sW2FfiXa1wFxJvmg==} dev: true + /vite-plugin-pages/0.26.0_ucej6auec2vidlux2n3htzvxf4: + resolution: {integrity: sha512-yJZvwHEt7puYIf19S89IvkDsWPjWleSied4H8hmdW6i8buCA93z1UAU1ipW1d8fNKrC4FzXsUHHbPm6+kl1p9w==} + peerDependencies: + '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 + vite: ^2.0.0 || ^3.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + dependencies: + '@types/debug': 4.1.7 + '@vue/compiler-sfc': 3.2.45 + debug: 4.3.4 + deep-equal: 2.0.5 + extract-comments: 1.1.0 + fast-glob: 3.2.11 + json5: 2.2.1 + local-pkg: 0.4.2 + picocolors: 1.0.0 + vite: 3.2.4_sass@1.53.0 + yaml: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /vite-plugin-pages/0.26.0_vite@3.2.4: resolution: {integrity: sha512-yJZvwHEt7puYIf19S89IvkDsWPjWleSied4H8hmdW6i8buCA93z1UAU1ipW1d8fNKrC4FzXsUHHbPm6+kl1p9w==} peerDependencies: @@ -12957,6 +13778,23 @@ packages: - supports-color dev: true + /vite-plugin-pwa/0.13.1_vite@3.2.4: + resolution: {integrity: sha512-NR3dIa+o2hzlzo4lF4Gu0cYvoMjSw2DdRc6Epw1yjmCqWaGuN86WK9JqZie4arNlE1ZuWT3CLiMdiX5wcmmUmg==} + peerDependencies: + vite: ^3.1.0 + workbox-window: ^6.5.4 + dependencies: + debug: 4.3.4 + fast-glob: 3.2.11 + pretty-bytes: 6.0.0 + rollup: 2.79.1 + vite: 3.2.4_sass@1.53.0 + workbox-build: 6.5.4 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + /vite-plugin-static-copy/0.12.0_vite@3.2.4: resolution: {integrity: sha512-5a8hCjYJdf/rl8s7ct/YWt97gXdGPGNSOoJtkY5IYhbnSq04X1gTt5GpFHKfAxhHoed1Grfw3Ed13t7AjJi7gw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12977,7 +13815,7 @@ packages: vue: ^2.6.12 || ^3.2.4 vue-router: ^3.5.1 || ^ 4.0.11 dependencies: - '@vue/compiler-sfc': 3.2.39 + '@vue/compiler-sfc': 3.2.45 debug: 4.3.4 fast-glob: 3.2.11 vite: 3.1.4_sass@1.53.0 @@ -12994,7 +13832,7 @@ packages: vue: ^2.6.12 || ^3.2.4 vue-router: ^3.5.1 || ^ 4.0.11 dependencies: - '@vue/compiler-sfc': 3.2.39 + '@vue/compiler-sfc': 3.2.45 debug: 4.3.4 fast-glob: 3.2.11 vite: 3.2.4 @@ -13003,6 +13841,23 @@ packages: - supports-color dev: true + /vite-plugin-vue-layouts/0.7.0_x3isqn4gd6tlkzc66bnhwnhwbi: + resolution: {integrity: sha512-k5XDmRNFo4M/GmUjhbRXj2WmJiFcGoVI8l/uZ72RHyRDQr4wE/6Zq/KFq0lqXomWQxTSzakQRUswzNwtvZLE8A==} + peerDependencies: + vite: ^2.5.0 || ^3.0.0-0 + vue: ^2.6.12 || ^3.2.4 + vue-router: ^3.5.1 || ^ 4.0.11 + dependencies: + '@vue/compiler-sfc': 3.2.45 + debug: 4.3.4 + fast-glob: 3.2.11 + vite: 3.2.4_sass@1.53.0 + vue: 3.2.45 + vue-router: 4.1.0_vue@3.2.45 + transitivePeerDependencies: + - supports-color + dev: true + /vite-plugin-windicss/1.8.8_vite@3.1.4: resolution: {integrity: sha512-iyu+ZX0NmhNEUaLPv7xtC+EFRBpWMmw0nhd9a9upayfuNG/thwslKiQKmRB7U/dG0k/2oWLvPDvN/B9i7oRgSA==} peerDependencies: @@ -13025,39 +13880,12 @@ packages: '@windicss/plugin-utils': 1.8.8 debug: 4.3.4 kolorist: 1.5.1 - vite: 3.2.4 + vite: 3.2.4_sass@1.53.0 windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true - /vite/3.1.0: - resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - terser: ^5.4.0 - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.15.7 - postcss: 8.4.16 - resolve: 1.22.1 - rollup: 2.78.1 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /vite/3.1.4_sass@1.53.0: resolution: {integrity: sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -13118,6 +13946,39 @@ packages: fsevents: 2.3.2 dev: true + /vite/3.2.4_sass@1.53.0: + resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.15.15 + postcss: 8.4.19 + resolve: 1.22.1 + rollup: 2.79.1 + sass: 1.53.0 + optionalDependencies: + fsevents: 2.3.2 + /vscode-jsonrpc/6.0.0: resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} engines: {node: '>=8.0.0 || >=10.0.0'} @@ -13177,6 +14038,21 @@ packages: vue: 3.2.37 dev: false + /vue-demi/0.13.1_vue@3.2.45: + resolution: {integrity: sha512-xmkJ56koG3ptpLnpgmIzk9/4nFf4CqduSJbUM0OdPoU87NwRuZ6x49OLhjSa/fC15fV+5CbEnrxU4oyE022svg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.45 + dev: false + /vue-eslint-parser/9.1.0_eslint@8.24.0: resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -13231,6 +14107,25 @@ packages: '@vue/devtools-api': 6.2.1 vue: 3.2.37 + /vue-loader/16.8.3_tfvhctuaqmmqnirfl65c47tqwu: + resolution: {integrity: sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==} + peerDependencies: + '@vue/compiler-sfc': ^3.0.8 + vue: ^3.2.13 + webpack: ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + vue: + optional: true + dependencies: + '@vue/compiler-sfc': 3.2.45 + chalk: 4.1.2 + hash-sum: 2.0.0 + loader-utils: 2.0.4 + vue: 3.2.45 + dev: true + /vue-pdf-embed/1.1.4_vue@3.2.37: resolution: {integrity: sha512-d4c7nM3LneWUiL4MssIyPHfGgVMRPh4Z7UgLsXMZ+lbAtH/6SBUFHdzZQLY2BASdh16BM/v6YCbmtQU+KIQdrg==} peerDependencies: @@ -13247,6 +14142,14 @@ packages: '@vue/devtools-api': 6.2.1 vue: 3.2.37 + /vue-router/4.1.0_vue@3.2.45: + resolution: {integrity: sha512-A+dYO0ZXLJFZ40ebW3XtqehCW0Wv2xNH4lFddOByDja4NtItEdyirrShTlvD3UA4xc5a5mG2RRI30BusYpOb9g==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.2.1 + vue: 3.2.45 + /vue-template-compiler/2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: @@ -13263,6 +14166,15 @@ packages: vue: 3.2.37 dev: false + /vue-tippy/6.0.0-alpha.58_vue@3.2.45: + resolution: {integrity: sha512-kfpkFZMvua+nTn9Mqx3v5UrY8rlu3nHiOoGKO1bhSM0CUG8ISygfofSDwLDUW6wAcAHABkF7vcp5sPqhTb26CA==} + peerDependencies: + vue: ^3.0.0 + dependencies: + tippy.js: 6.3.7 + vue: 3.2.45 + dev: false + /vue-tsc/0.38.2_typescript@4.7.4: resolution: {integrity: sha512-+OMmpw9BZC9khul3I1HGtWchv7BCiaM7NvfdilVAiOFkjnivIoaW6jJm6YPQJaEPouePtpkDUWovyzgNxWdDsw==} hasBin: true @@ -13318,6 +14230,15 @@ packages: vue: 3.2.37 dev: false + /vuedraggable/4.1.0_vue@3.2.45: + resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} + peerDependencies: + vue: ^3.0.1 + dependencies: + sortablejs: 1.14.0 + vue: 3.2.45 + dev: false + /w3c-hr-time/1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} dependencies: @@ -13326,7 +14247,6 @@ packages: /w3c-keyname/2.2.4: resolution: {integrity: sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==} - dev: false /w3c-xmlserializer/2.0.0: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} @@ -13335,6 +14255,13 @@ packages: xml-name-validator: 3.0.0 dev: true + /w3c-xmlserializer/4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + dev: true + /walker/1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -13371,6 +14298,11 @@ packages: engines: {node: '>=10.4'} dev: true + /webidl-conversions/7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -13419,6 +14351,19 @@ packages: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true + /whatwg-mimetype/3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /whatwg-url/11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: true + /whatwg-url/5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13500,7 +14445,6 @@ packages: /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} - dev: true /workbox-background-sync/6.5.4: resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} @@ -13690,6 +14634,18 @@ packages: utf-8-validate: optional: true + /ws/8.12.0: + resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /ws/8.2.3: resolution: {integrity: sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==} engines: {node: '>=10.0.0'} From 15d135c11b535a0415dbc392b8a5c7cedb33797f Mon Sep 17 00:00:00 2001 From: Petro S <911us@duck.com> Date: Sat, 28 Jan 2023 05:14:31 +0200 Subject: [PATCH 20/22] chore: fixed i18n grammatical errors (#2908) --- packages/hoppscotch-common/locales/uk.json | 146 ++++++++++----------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/packages/hoppscotch-common/locales/uk.json b/packages/hoppscotch-common/locales/uk.json index 76e205e5c..4692a96ef 100644 --- a/packages/hoppscotch-common/locales/uk.json +++ b/packages/hoppscotch-common/locales/uk.json @@ -3,42 +3,42 @@ "autoscroll": "Автопрокручування", "cancel": "Скасувати", "choose_file": "Виберіть файл", - "clear": "Ясно", + "clear": "Очистити", "clear_all": "Очистити все", "close": "Закрити", - "connect": "Підключіться", - "connecting": "Connecting", + "connect": "Підключитись", + "connecting": "Підключення", "copy": "Копіювати", "delete": "Видалити", - "disconnect": "Відключити", + "disconnect": "Відключитись", "dismiss": "Відхилити", "dont_save": "Не зберігати", "download_file": "Завантажити файл", "drag_to_reorder": "Перетягніть для зміни порядку", "duplicate": "Дублювати", "edit": "Редагувати", - "filter": "Фільтр відповіді", - "go_back": "Повертайся", - "group_by": "Group by", + "filter": "Фільтрувати відповіді", + "go_back": "Повернутись", + "group_by": "Групувати за", "label": "Мітка", - "learn_more": "Вчи більше", + "learn_more": "Дізнатись більше", "less": "Менше", "more": "Більше", "new": "Новий", - "no": "Немає", + "no": "Ні", "open_workspace": "Відкрити робочу область", "paste": "Вставити", - "prettify": "Прикрасьте", + "prettify": "Форматувати", "remove": "Видалити", - "restore": "Відновлювати", + "restore": "Відновити", "save": "Зберегти", "scroll_to_bottom": "Прокрутити вниз", "scroll_to_top": "Прокрутити вгору", "search": "Пошук", "send": "Надіслати", "start": "Почати", - "starting": "Starting", - "stop": "Стій", + "starting": "Розпочинається", + "stop": "Зупити", "to_close": "щоб закрити", "to_navigate": "для навігації", "to_select": "щоб вибрати", @@ -52,7 +52,7 @@ "star": "Додати зірочку" }, "app": { - "chat_with_us": "Спілкуйтеся з нами", + "chat_with_us": "Написати нам", "contact_us": "Зв'яжіться з нами", "copy": "Копіювати", "copy_user_id": "Скопіювати токен автентифікації користувача", @@ -66,10 +66,10 @@ "invite": "Запросити", "invite_description": "У Hoppscotch ми розробили простий та інтуїтивно зрозумілий інтерфейс для створення та управління вашими API. Hoppscotch - це інструмент, який допомагає вам створювати, тестувати, документувати та ділитися своїми API.", "invite_your_friends": "Запросіть своїх друзів", - "join_discord_community": "Приєднуйтесь до нашої спільноти Discord", + "join_discord_community": "Приєднуйтесь до нашої спільноти у Discord", "keyboard_shortcuts": "Гарячі клавіши", - "name": "Гопскотч", - "new_version_found": "Знайдено нову версію. Оновіть, щоб оновити.", + "name": "Hoppscotch", + "new_version_found": "Знайдено нову версію. Перезавантажте сторінку, щоб оновити.", "options": "Опції", "proxy_privacy_policy": "Політика конфіденційності проксі", "reload": "Перезавантажити", @@ -84,17 +84,17 @@ "type_a_command_search": "Введіть команду або виконайте пошук…", "we_use_cookies": "Ми використовуємо файли cookie", "whats_new": "Що нового?", - "wiki": "Вікі" + "wiki": "Wiki" }, "auth": { "account_exists": "Обліковий запис існує з різними обліковими даними - увійдіть, щоб зв'язати обидва облікові записи", "all_sign_in_options": "Усі параметри входу", "continue_with_email": "Продовжити з електронною поштою", "continue_with_github": "Продовжити з GitHub", - "continue_with_google": "Продовжуйте працювати з Google", + "continue_with_google": "Продовжити з Google", "continue_with_microsoft": "Продовжити з Microsoft", "email": "Електронна пошта", - "logged_out": "Вийшли з системи", + "logged_out": "Ви вийшли з облікового запису", "login": "Увійти", "login_success": "Вхід успішно здійснено", "login_to_hoppscotch": "Увійдіть до Hoppscotch", @@ -102,7 +102,7 @@ "re_enter_email": "Введіть електронну адресу ще раз", "send_magic_link": "Надішліть чарівне посилання", "sync": "Синхронізувати", - "we_sent_magic_link": "Ми надіслали вам чарівне посилання!", + "we_sent_magic_link": "Ми надіслали Вам чарівне посилання!", "we_sent_magic_link_description": "Перевірте свою поштову скриньку - ми надіслали електронний лист на адресу {email}. Він містить чарівне посилання, яке дозволить вам увійти." }, "authorization": { @@ -154,7 +154,7 @@ }, "documentation": { "generate": "Створення документації", - "generate_message": "Імпортуйте будь-яку колекцію Hoppscotch для створення документації API на ходу." + "generate_message": "Імпортуйте будь-яку колекцію Hoppscotch для автоматичного створення API-документації на ходу." }, "empty": { "authorization": "У цьому запиті не використовується авторизація", @@ -175,15 +175,15 @@ "protocols": "Протоколи порожні", "schema": "Підключіться до кінцевої точки GraphQL", "shortcodes": "Короткі коди порожні", - "subscription": "Subscriptions are empty", + "subscription": "Підписки порожні", "team_name": "Назва команди порожня", "teams": "Команди порожні", "tests": "Для цього запиту немає тестів" }, "environment": { - "add_to_global": "Додати до Глобального", + "add_to_global": "Додати до Глобального середовища", "added": "Додавання середовища", - "create_new": "Створіть нове середовище", + "create_new": "Створити нове середовище", "created": "Середовище створено", "deleted": "Видалення середовища", "edit": "Редагувати середовище", @@ -196,16 +196,16 @@ "select": "Виберіть середовище", "team_environments": "Командні середовища", "title": "Середовища", - "updated": "Environment updation", + "updated": "Оновлення середовища", "variable_list": "Список змінних" }, "error": { "browser_support_sse": "Схоже, цей браузер не підтримує події, надіслані сервером.", "check_console_details": "Детальніше перевірте журнал консолі.", "curl_invalid_format": "cURL неправильно форматовано", - "danger_zone": "Danger zone", - "delete_account": "Your account is currently an owner in these teams:", - "delete_account_description": "You must either remove yourself, transfer ownership, or delete these teams before you can delete your account.", + "danger_zone": "Небезпечна зона", + "delete_account": "Ваш обліковий запис на разі володіє цими командами:", + "delete_account_description": "Ви повинні або видалити себе, або передати право власності, або видалити ці команди, перш ніж ви зможете видалити свій обліковий запис.", "empty_req_name": "Пуста назва запиту", "f12_details": "(F12 для деталей)", "gql_prettify_invalid_query": "Не вдалося попередньо визначити недійсний запит, вирішити синтаксичні помилки запиту та повторити спробу", @@ -226,15 +226,15 @@ }, "export": { "as_json": "Експортувати як JSON", - "create_secret_gist": "Створіть секретну суть", - "gist_created": "Суть створена", - "require_github": "Увійдіть за допомогою GitHub, щоб створити секретну історію", - "title": "Експорт" + "create_secret_gist": "Створити секретний GitHub Gist", + "gist_created": "Gist створений", + "require_github": "Увійдіть за допомогою GitHub, щоб створити секретний Gist", + "title": "Експортувати" }, "filter": { - "all": "All", - "none": "None", - "starred": "Starred" + "all": "Всі", + "none": "Жодного", + "starred": "З Зірочкою" }, "folder": { "created": "Папка створена", @@ -250,7 +250,7 @@ "subscriptions": "Підписки" }, "group": { - "time": "Time", + "time": "Час", "url": "URL" }, "header": { @@ -260,19 +260,19 @@ }, "helpers": { "authorization": "Заголовок авторизації буде автоматично сформований під час надсилання запиту.", - "generate_documentation_first": "Спочатку сформуйте документацію", + "generate_documentation_first": "Спочатку згенеруйте документацію", "network_fail": "Не вдається зв'язатися з кінцевою точкою API. Перевірте підключення до мережі та повторіть спробу.", "offline": "Ви, здається, не в мережі. Дані в цій робочій області можуть бути не актуальними.", "offline_short": "Ви, здається, не в мережі.", - "post_request_tests": "Тестові сценарії записуються на JavaScript і запускаються після отримання відповіді.", - "pre_request_script": "Сценарії попереднього запиту написані на JavaScript і запускаються перед надсиланням запиту.", - "script_fail": "Схоже, є збій у сценарії попереднього запиту. Перевірте помилку нижче та виправте відповідним чином сценарій.", - "test_script_fail": "Здається виникла помилка з тестовим сценарієм. Будь ласка, виправте помилки і спробуйте знову", - "tests": "Напишіть тестовий сценарій для автоматизації налагодження." + "post_request_tests": "Тестові скрипти записуються на JavaScript і запускаються після отримання відповіді.", + "pre_request_script": "Скрипти написані на JavaScript і запускаються перед надсиланням запиту.", + "script_fail": "Схоже, є збій у скрипті. Перевірте помилку нижче та виправте відповідним чином сценарій.", + "test_script_fail": "Здається виникла помилка з тестовим скриптом. Будь ласка, виправте помилки і спробуйте знову", + "tests": "Напишіть тестовий скрипт для автоматизації налагодження." }, "hide": { "collection": "Згорнути панель колекції", - "more": "Приховай більше", + "more": "Приховати більше", "preview": "Приховати попередній перегляд", "sidebar": "Приховати бічну панель" }, @@ -286,20 +286,20 @@ "from_insomnia_description": "Імпорт із колекції Insomnia", "from_json": "Імпорт з Hoppscotch", "from_json_description": "Імпорт з файлу колекції Hoppscotch", - "from_my_collections": "Імпортувати з Моїх колекцій", + "from_my_collections": "Імпортувати з моїх колекцій", "from_my_collections_description": "Імпортувати з мого файлу колекцій", "from_openapi": "Імпорт з OpenAPI", "from_openapi_description": "Імпорт з файлу специфікації OpenAPI (YML/JSON)", "from_postman": "Імпортувати з Postman", "from_postman_description": "Імпорт із колекції Postman", "from_url": "Імпорт з URL", - "gist_url": "Введіть URL -адресу Gist", + "gist_url": "Введіть URL-адресу Gist", "import_from_url_invalid_fetch": "Не вдалося отримати дані з url", "import_from_url_invalid_file_format": "Помилка при імпорті колекцій", "import_from_url_invalid_type": "Непідтримуваний тип. Допустимими значеннями є 'hoppscotch', 'openapi', 'postman', 'insomnia'", "import_from_url_success": "Колекції імпортовано", "json_description": "Імпортувати колекції з колекцій Hoppscotch JSON файлу", - "title": "Імпорт" + "title": "Імпортувати" }, "layout": { "collapse_collection": "Згорнути або розширити колекції", @@ -316,16 +316,16 @@ "import_export": "Імпорт-експорт" }, "mqtt": { - "already_subscribed": "You are already subscribed to this topic.", - "clean_session": "Clean Session", - "clear_input": "Clear input", - "clear_input_on_send": "Clear input on send", - "client_id": "Client ID", - "color": "Pick a color", - "communication": "Спілкування", - "connection_config": "Connection Config", - "connection_not_authorized": "This MQTT connection does not use any authentication.", - "invalid_topic": "Please provide a topic for the subscription", + "already_subscribed": "Ви вже підписані на цю тему.", + "clean_session": "Очистити сесію.", + "clear_input": "Очистити вхідні дані", + "clear_input_on_send": "Очистити вхідні дані після надсилання", + "client_id": "ID Клієнта", + "color": "Оберіть колір", + "communication": "Комунікації", + "connection_config": "Налаштування підключення", + "connection_not_authorized": "Це MQTT-з'єднання не використовує автентифікацію.", + "invalid_topic": "Будь ласка, вкажіть тему для підписки", "keep_alive": "Keep Alive", "log": "Журнал", "lw_message": "Last-Will Message", @@ -333,12 +333,12 @@ "lw_retain": "Last-Will Retain", "lw_topic": "Last-Will Topic", "message": "повідомлення", - "new": "New Subscription", - "not_connected": "Please start a MQTT connection first.", - "publish": "Публікуйте", + "new": "Нова Підписка", + "not_connected": "Будь ласка, спочатку створіть з'єднання MQTT.", + "publish": "Опублікувати", "qos": "QoS", "ssl": "SSL", - "subscribe": "Підпишіться", + "subscribe": "Підписатись", "topic": "Тема", "topic_name": "Назва теми", "topic_title": "Опублікувати / підписатися на тему", @@ -355,9 +355,9 @@ }, "preRequest": { "javascript_code": "Код JavaScript", - "learn": "Прочитайте документацію", + "learn": "Прочитати документацію", "script": "Сценарій попереднього запиту", - "snippets": "Фрагменти" + "snippets": "Сніпети" }, "profile": { "app_settings": "Параметри програми", @@ -439,18 +439,18 @@ }, "settings": { "accent_color": "Колір акценту", - "account": "Рахунок", - "account_deleted": "Your account has been deleted", + "account": "Обліковий запис", + "account_deleted": "Ваш обліковий запис успішно видалено.", "account_description": "Налаштуйте налаштування свого облікового запису.", "account_email_description": "Ваша основна електронна адреса.", "account_name_description": "Це ваше відображуване ім'я.", - "background": "Довідка", + "background": "Колір фону", "black_mode": "Чорний", "change_font_size": "Змінити розмір шрифту", "choose_language": "Виберіть мову", "dark_mode": "Темний", - "delete_account": "Delete account", - "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", + "delete_account": "Видалити обліковий запис", + "delete_account_description": "Якщо Ви видалите обліковий запис, усі дані будуть втрачені без можливості їх відновлення.", "expand_navigation": "Розгорнути навігацію", "experiments": "Експерименти", "experiments_notice": "Це збірка експериментів, над якими ми працюємо, які можуть виявитися корисними, веселими, обома чи ні. Вони не остаточні і можуть бути нестійкими, тому, якщо трапиться щось надто дивне, не панікуйте. Просто вимкніть небезпеку. Жарти в сторону,", @@ -636,7 +636,7 @@ "queries": "Запити", "query": "Запит", "schema": "Схема", - "socketio": "Сокет.IO", + "socketio": "Socket.IO", "sse": "SSE", "tests": "Тести", "types": "Типи", @@ -698,14 +698,14 @@ "not_found": "Середовище не знайдено." }, "test": { - "failed": "помилка тесту", + "failed": "Помилка тесту", "javascript_code": "Код JavaScript", "learn": "Прочитайте документацію", - "passed": "тест пройдено", + "passed": "Тест пройдено", "report": "Протокол випробування", "results": "Результати тесту", - "script": "Сценарій", - "snippets": "Фрагменти" + "script": "Скрипти", + "snippets": "Сніпети" }, "websocket": { "communication": "Спілкування", From 73e788b513165a3bb2dcbf98d4b1df53d9364dea Mon Sep 17 00:00:00 2001 From: Liyas Thomas Date: Sat, 28 Jan 2023 09:49:14 +0530 Subject: [PATCH 21/22] chore: fix broken RouterLink component --- packages/hoppscotch-common/src/components.d.ts | 4 ++++ packages/hoppscotch-ui/src/components/smart/Link.vue | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index 710cbd7d8..be92d4d10 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -100,17 +100,21 @@ declare module '@vue/runtime-core' { HttpTests: typeof import('./components/http/Tests.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] + IconLucideBrush: typeof import('~icons/lucide/brush')['default'] IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] + IconLucideHelpCircle: typeof import('~icons/lucide/help-circle')['default'] IconLucideInbox: typeof import('~icons/lucide/inbox')['default'] IconLucideInfo: typeof import('~icons/lucide/info')['default'] IconLucideLayers: typeof import('~icons/lucide/layers')['default'] IconLucideLoader: typeof import('~icons/lucide/loader')['default'] IconLucideMinus: typeof import('~icons/lucide/minus')['default'] + IconLucideRss: typeof import('~icons/lucide/rss')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] + IconLucideVerified: typeof import('~icons/lucide/verified')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] diff --git a/packages/hoppscotch-ui/src/components/smart/Link.vue b/packages/hoppscotch-ui/src/components/smart/Link.vue index 708a6f3dc..be99d870b 100644 --- a/packages/hoppscotch-ui/src/components/smart/Link.vue +++ b/packages/hoppscotch-ui/src/components/smart/Link.vue @@ -45,7 +45,6 @@ export default {