From 0fcda0be1a8637b3f6260bed2e2bbcb85f8386fb Mon Sep 17 00:00:00 2001 From: Anwarul Islam Date: Sat, 28 Jan 2023 08:57:00 +0600 Subject: [PATCH] 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'}