├── .eslintrc.cjs ├── .github ├── FUNDING.yml └── workflows │ └── eslint.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── README.md ├── demo ├── README.md ├── index.html ├── package.json ├── public │ └── favicon.ico ├── src │ ├── App.vue │ ├── assets │ │ ├── github.svg │ │ └── logo.png │ ├── components │ │ ├── Bottom.vue │ │ ├── Checkbox.vue │ │ ├── ScopedLoader.vue │ │ └── Top.vue │ └── main.js └── vite.config.js ├── docs ├── .vitepress │ ├── components │ │ └── Home.vue │ └── config.ts ├── api │ ├── events.md │ ├── props.md │ └── slots.md ├── guide │ ├── installation.md │ ├── introduction.md │ └── quick-demo.md ├── index.md ├── package.json └── public │ └── logo.svg ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── components │ ├── InfiniteLoading.vue │ └── Spinner.vue ├── types.ts └── utils.ts ├── tsconfig.json └── vite.config.ts /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | node: true, 4 | }, 5 | extends: [ 6 | "eslint:recommended", 7 | "plugin:vue/vue3-essential", 8 | "plugin:vue/vue3-strongly-recommended", 9 | "plugin:vue/vue3-recommended", 10 | "@vue/eslint-config-typescript", 11 | "@vue/eslint-config-prettier", 12 | ], 13 | rules: { 14 | "vue/no-setup-props-destructure": "off", 15 | "vue/multi-word-component-names": "off", 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [oumoussa98] 2 | patreon: oumoussa 3 | -------------------------------------------------------------------------------- /.github/workflows/eslint.yml: -------------------------------------------------------------------------------- 1 | name: ESLint Workflow 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | lint: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Checkout Repository 17 | uses: actions/checkout@v2 18 | 19 | - name: Setup Node.js 20 | uses: actions/setup-node@v2 21 | with: 22 | node-version: "20" 23 | 24 | - name: Install Dependencies 25 | run: npm install -g pnpm && pnpm i --frozen-lockfile 26 | 27 | - name: Run ESLint 28 | run: pnpm run lint 29 | 30 | - name: Check for auto-fix changes 31 | run: | 32 | changes=$(git status --porcelain) 33 | if [ -n "$changes" ]; then 34 | echo "ESLint auto-fix changes detected. Please fix them locally and push again." 35 | exit 1 36 | fi 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | dist 4 | *.log 5 | .cache 6 | .DS_Store 7 | .temp 8 | dist 9 | !.env.example 10 | .env 11 | .env.* -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | dist 4 | *.log 5 | .cache 6 | .DS_Store 7 | .temp 8 | dist 9 | !.env.example 10 | .env 11 | .env.* 12 | *-lock.json 13 | *-lock.yaml -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "printWidth": 90 4 | } 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

vue 3 infinite loading

2 |

3 | 4 | 5 | 6 |

7 | 8 | ## Intro 9 | 10 | An infinite scroll component compatible with vue.js 3 and vite, to help you implement an infinite scroll list more easily. 11 | 12 | ## Features 13 | 14 | - Lightweight and simple to use 15 | - Internal spinner 16 | - 2-directional support (Top and bottom) 17 | 18 | ## Install 19 | 20 | ```Bash 21 | npm install v3-infinite-loading 22 | ``` 23 | 24 | ## Basic usage 25 | 26 | register globally: 27 | 28 | ```JavaScript 29 | import InfiniteLoading from "v3-infinite-loading"; 30 | import "v3-infinite-loading/lib/style.css"; // required if you're not going to override default slots 31 | 32 | const app = createApp(App); 33 | 34 | app.component("infinite-loading", InfiniteLoading); 35 | 36 | app.mount("#app"); 37 | ``` 38 | 39 | usage in SFC with script setup: 40 | 41 | ```html 42 | 46 | 47 | 50 | ``` 51 | 52 | ## Browser usage 53 | 54 | ```html 55 | 56 | 57 | 58 | 59 | 63 | 64 | 65 |
66 | 67 |
68 | 76 | 77 | 78 | ``` 79 | 80 | ### Checkout a full working example on [codepen](https://codepen.io/oumoussa98/pen/GRxNxBr) or [github gists](https://gist.github.com/oumoussa98/7184e74bab47d78a60a8bdf0aea68d96) 81 | 82 | ## Usage & Guide 83 | 84 | Documentation available on [v3-infinite-loading Netlify](https://vue3-infinite-loading.netlify.app/) 85 | 86 | Check out live demo [v3-infinite-loading-demo Netlify](https://vue3-infinite-loading-demo.netlify.app/) 87 | 88 | ## Changelog 89 | 90 | Detailed changes for each release are documented in the [release notes](https://github.com/oumoussa98/vue3-infinite-loading/releases). 91 | 92 | ## Contribution 93 | 94 | Comming soon 95 | 96 | ## Licence 97 | 98 | The MIT License (MIT) 99 | -------------------------------------------------------------------------------- /demo/README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + Vite 2 | 3 | This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` 12 | 13 | 14 | -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vu3-infinite-loading-demo", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build", 7 | "serve": "vite preview" 8 | }, 9 | "dependencies": { 10 | "vue": "^3.2.13" 11 | }, 12 | "devDependencies": { 13 | "@vitejs/plugin-vue": "^3.2.0", 14 | "vite": "^3.0.2" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /demo/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oumoussa98/vue3-infinite-loading/089119fcfe75d18d406737707fcddd5adc49326a/demo/public/favicon.ico -------------------------------------------------------------------------------- /demo/src/App.vue: -------------------------------------------------------------------------------- 1 | 88 | 89 | 145 | 146 | 305 | -------------------------------------------------------------------------------- /demo/src/assets/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oumoussa98/vue3-infinite-loading/089119fcfe75d18d406737707fcddd5adc49326a/demo/src/assets/logo.png -------------------------------------------------------------------------------- /demo/src/components/Bottom.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 21 | 22 | 38 | -------------------------------------------------------------------------------- /demo/src/components/Checkbox.vue: -------------------------------------------------------------------------------- 1 | 9 | 16 | 17 | 62 | -------------------------------------------------------------------------------- /demo/src/components/ScopedLoader.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 30 | -------------------------------------------------------------------------------- /demo/src/components/Top.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 21 | 22 | 38 | -------------------------------------------------------------------------------- /demo/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | 4 | import InfiniteLoading from "@root/components/InfiniteLoading.vue"; 5 | 6 | const app = createApp(App); 7 | 8 | if (import.meta.env.MODE === "production") { 9 | const modules = import.meta.glob("../lib/v3-infinite-loading.es.js", { eager: true }); 10 | import.meta.glob("../lib/style.css", { eager: true }); 11 | const InfiniteLoadingProd = modules["../lib/v3-infinite-loading.es.js"].default; 12 | app.component("InfiniteLoading", InfiniteLoadingProd); 13 | } else app.component("InfiniteLoading", InfiniteLoading); 14 | 15 | app.mount("#app"); 16 | -------------------------------------------------------------------------------- /demo/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | import { fileURLToPath, URL } from "node:url"; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [vue()], 8 | resolve: { 9 | alias: { 10 | "@root": fileURLToPath(new URL("../src", import.meta.url)), 11 | "@": fileURLToPath(new URL("./src", import.meta.url)), 12 | }, 13 | }, 14 | }); 15 | -------------------------------------------------------------------------------- /docs/.vitepress/components/Home.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 96 | 97 | 271 | -------------------------------------------------------------------------------- /docs/.vitepress/config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vitepress"; 2 | 3 | const nav = [ 4 | { text: "Guide", activeMatch: `^/(guide)/`, link: "/guide/introduction" }, 5 | { text: "API", activeMatch: `^/(api)/`, link: "/api/props" }, 6 | { text: "Demo", link: "https://vue3-infinite-loading-demo.netlify.com/" }, 7 | ]; 8 | 9 | const sidebar = { 10 | "/guide/": [ 11 | { 12 | text: "Getting Started", 13 | items: [ 14 | { text: "Introduction", link: "/guide/introduction" }, 15 | { text: "Installation", link: "/guide/installation" }, 16 | { text: "Quick Demo", link: "/guide/quick-demo" }, 17 | ], 18 | }, 19 | ], 20 | "/api/": [ 21 | { 22 | text: "API", 23 | items: [ 24 | { text: "Props", link: "/api/props" }, 25 | { text: "Events", link: "/api/events" }, 26 | { text: "Slots", link: "/api/slots" }, 27 | ], 28 | }, 29 | ], 30 | }; 31 | 32 | export default defineConfig({ 33 | lang: "en-US", 34 | title: "infinite scroll", 35 | description: "An infinite scroll component compatible with vue.js 3 and vite", 36 | head: [["link", { rel: "icon", href: "/logo.svg", type: "image/svg+xml" }]], 37 | themeConfig: { 38 | nav, 39 | sidebar, 40 | logo: "/logo.svg", 41 | siteTitle: "Infinite", 42 | footer: { 43 | message: "Released under the MIT License.", 44 | }, 45 | socialLinks: [ 46 | { 47 | icon: "github", 48 | link: "https://github.com/oumoussa98/vue3-infinite-loading", 49 | }, 50 | ], 51 | }, 52 | }); 53 | -------------------------------------------------------------------------------- /docs/api/events.md: -------------------------------------------------------------------------------- 1 | # Events 2 | 3 | ## infinite 4 | 5 | - **Argument**: `$state` 6 | - **Details**: 7 | 8 | This event will be fired if the scroll distance is less than the `distance` property, the component will pass a special argument for the event handler to change loading status named `$state` but you can name it whatever you want 9 | 10 | ### $state.loaded 11 | 12 | - **Type**: `Function` 13 | - **Details**: 14 | 15 | Informs the component that this loading has been successful 16 | 17 | ### $state.complete 18 | 19 | - **Type**: `Function` 20 | - **Details**: 21 | 22 | Inform the component that all the data has been loaded successfully 23 | 24 | ### $state.error 25 | 26 | - **Type**: `Function` 27 | - **Details**: 28 | 29 | Inform the component that this loading failed, the content of `error` slot will be displayed. 30 | -------------------------------------------------------------------------------- /docs/api/props.md: -------------------------------------------------------------------------------- 1 | # Props 2 | 3 | ## target 4 | 5 | - **Type**: `String | HTMLElement` 6 | - **Default**: `window` 7 | - **Details**: 8 | This property is used to specify the scrollable element, it can be any valid css selector 9 | If not set it defaults to the window 10 | 11 | ## distance 12 | 13 | - **Type**: `Number` 14 | - **Default**: `0` 15 | - **Details**: 16 | The `infinite` event will be fired if the scroll distance is less than this value. 17 | 18 | ## top 19 | 20 | - **Type**: `Boolean` 21 | - **Default**: `false` 22 | - **Details**: 23 | This property is used to set the load direction to top. 24 | 25 | ## identifier 26 | 27 | - **Type**: `any` 28 | - **Details**: 29 | The component will be reset if this property has changed 30 | 31 | ## firstload 32 | 33 | - **Type**: `Boolean` 34 | - **Default**: `true` 35 | - **Details**: 36 | This property is used to specify weither you want the component to handle first load or not. 37 | 38 | ## slots 39 | 40 | - **Type**: `Object` 41 | - **Details**: 42 | 43 | ### slots.complete 44 | 45 | - **Type**: `String` 46 | - **Default**: `No more results!` 47 | - **Details**: 48 | override text message display on complete 49 | 50 | ### slots.error 51 | 52 | - **Type**: `String` 53 | - **Default**: `Oops something went wrong!` 54 | - **Details**: 55 | override text message display on complete 56 | -------------------------------------------------------------------------------- /docs/api/slots.md: -------------------------------------------------------------------------------- 1 | # Slots 2 | 3 | ## `spinner` 4 | 5 | - **Details**: 6 | Used to create a custom loading spinner 7 | - **example**: 8 | 9 | ```html 10 | 13 | ``` 14 | 15 | ### 16 | 17 | ## `complete` 18 | 19 | - **Details**: 20 | Used to create a custom display message when there is no more data (`$state.complete`) 21 | 22 | - **example**: 23 | 24 | ```html 25 | 28 | ``` 29 | 30 | ### 31 | 32 | ## `error` 33 | 34 | - **bind**: `retry` function 35 | - **Details**: 36 | Used to create a custom display message when an error occures (`$state.error`) 37 | 38 | - **example**: 39 | 40 | ```html 41 | 44 | ``` 45 | -------------------------------------------------------------------------------- /docs/guide/installation.md: -------------------------------------------------------------------------------- 1 | --- 2 | footer: false 3 | --- 4 | 5 | # Installation 6 | 7 | ```sh 8 | npm install v3-infinite-loading 9 | ``` 10 | 11 | ## Basic usage 12 | 13 | ##### register globally 14 | 15 | ```js 16 | import InfiniteLoading from "v3-infinite-loading"; 17 | import "v3-infinite-loading/lib/style.css"; //required if you're not going to override default slots 18 | 19 | const app = createApp(App); 20 | 21 | app.component("infinite-loading", InfiniteLoading); 22 | 23 | app.mount("#app"); 24 | ``` 25 | 26 | ##### usage in SFC with script setup 27 | 28 | ```html 29 | 37 | 38 | 41 | ``` 42 | -------------------------------------------------------------------------------- /docs/guide/introduction.md: -------------------------------------------------------------------------------- 1 | --- 2 | footer: false 3 | --- 4 | 5 | # Introduction 6 | 7 | Light and simple infinite scroll component compatible with vue.js 3 and vite, to help you implement an infinite scroll list more easily. 8 | 9 | ## How it works 10 | 11 | The component fires an `infinite` event while the component is visible in the viewport using intersection observer. 12 | 13 | ## Contribute 14 | 15 | If you find any spelling mistakes or have improvements to offer, I am open to anyone who has ideas and wants to contribute. 16 | -------------------------------------------------------------------------------- /docs/guide/quick-demo.md: -------------------------------------------------------------------------------- 1 | --- 2 | footer: false 3 | --- 4 | 5 | # Quick Demo 6 | 7 | Where going to create a simple example using vite and vuejs 3 8 | 9 | I'v already made a live demo you can check it out [Demo Netlify](https://vue3-infinite-loading-demo.netlify.com/) 10 | 11 | ## create a new project 12 | 13 | ```bash 14 | npm init vite@latest infinite-demo --template vue 15 | ``` 16 | 17 | ```bash 18 | cd infinite-demo && npm install 19 | ``` 20 | 21 | ## Install our infinite loading component 22 | 23 | ```bash 24 | npm install v3-infinite-loading 25 | ``` 26 | 27 | ## Implementation 28 | 29 | Go to App.vue component and override the script with this one 30 | We're using [{JSON} Placeholder API](https://jsonplaceholder.typicode.com/) to get some dummy data 31 | 32 | ```html 33 | 59 | ``` 60 | 61 | Now let's add a template to display the results 62 | 63 | ```html 64 | 71 | ``` 72 | 73 | Lets add a bit of css style 74 | 75 | ```html 76 | 99 | ``` 100 | 101 | Start the dev server 102 | 103 | ```bash 104 | npm run dev 105 | ``` 106 | 107 | And congrats you made it 🎉 108 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | title: An infinite scroll component compatible with vue.js 3 and vite 4 | --- 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docs", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "vitepress dev", 8 | "build": "vitepress build", 9 | "serve": "vitepress serve" 10 | }, 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "vitepress": "^1.0.0-alpha.28", 15 | "vue": "^3.2.43" 16 | }, 17 | "pnpm": { 18 | "peerDependencyRules": { 19 | "ignoreMissing": [ 20 | "@algolia/client-search", 21 | "react", 22 | "react-dom", 23 | "@types/react" 24 | ] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /docs/public/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Layer 1 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "v3-infinite-loading", 3 | "version": "1.3.2", 4 | "type": "module", 5 | "description": "Infinite scroller component for vuejs-3", 6 | "homepage": "https://vue3-infinite-loading.netlify.app/", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/oumoussa98/vue3-infinite-loading.git" 10 | }, 11 | "main": "lib/v3-infinite-loading.es.js", 12 | "browser": "lib/v3-infinite-loading.umd.js", 13 | "module": "lib/v3-infinite-loading.es.js", 14 | "types": "lib/main.d.ts", 15 | "files": [ 16 | "lib" 17 | ], 18 | "devDependencies": { 19 | "@types/node": "^20.2.5", 20 | "@vitejs/plugin-vue": "^4.2.3", 21 | "@vue/compiler-sfc": "^3.3.4", 22 | "@vue/eslint-config-prettier": "^7.1.0", 23 | "@vue/eslint-config-typescript": "^11.0.3", 24 | "@vue/tsconfig": "^0.4.0", 25 | "eslint": "^8.41.0", 26 | "eslint-config-prettier": "^8.8.0", 27 | "eslint-plugin-vue": "^9.14.1", 28 | "path": "^0.12.7", 29 | "pnpm": "^8.6.0", 30 | "prettier": "2.8.8", 31 | "vite": "^4.3.9", 32 | "vite-plugin-dts": "^2.3.0", 33 | "vue": "^3.3.4" 34 | }, 35 | "scripts": { 36 | "lint": "eslint . --ext .js,.vue --ignore-path .gitignore --fix --ignore-pattern demo", 37 | "format": "prettier . --write", 38 | "dev:docs": "pnpm -C docs run dev", 39 | "dev:demo": "pnpm -C demo run dev", 40 | "serve:docs": "pnpm -C docs run serve", 41 | "serve:demo": "pnpm -C demo run serve", 42 | "build:demo": "rm -rf ./demo/lib && pnpm run build:lib && mv lib demo && pnpm -C demo run build", 43 | "build:docs": "pnpm -C docs run build", 44 | "build:lib": "vite build --mode lib" 45 | }, 46 | "keywords": [ 47 | "vue3", 48 | "vue", 49 | "vue3 infinite loading", 50 | "vue component", 51 | "infinite loader", 52 | "infinite scroller", 53 | "infinite scrolling", 54 | "infinite loading" 55 | ], 56 | "author": "abdelouahed oumoussa", 57 | "license": "MIT" 58 | } 59 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@types/node': 12 | specifier: ^20.2.5 13 | version: 20.2.5 14 | '@vitejs/plugin-vue': 15 | specifier: ^4.2.3 16 | version: 4.2.3(vite@4.3.9)(vue@3.3.4) 17 | '@vue/compiler-sfc': 18 | specifier: ^3.3.4 19 | version: 3.3.4 20 | '@vue/eslint-config-prettier': 21 | specifier: ^7.1.0 22 | version: 7.1.0(eslint@8.41.0)(prettier@2.8.8) 23 | '@vue/eslint-config-typescript': 24 | specifier: ^11.0.3 25 | version: 11.0.3(eslint-plugin-vue@9.14.1)(eslint@8.41.0)(typescript@5.0.4) 26 | '@vue/tsconfig': 27 | specifier: ^0.4.0 28 | version: 0.4.0 29 | eslint: 30 | specifier: ^8.41.0 31 | version: 8.41.0 32 | eslint-config-prettier: 33 | specifier: ^8.8.0 34 | version: 8.8.0(eslint@8.41.0) 35 | eslint-plugin-vue: 36 | specifier: ^9.14.1 37 | version: 9.14.1(eslint@8.41.0) 38 | path: 39 | specifier: ^0.12.7 40 | version: 0.12.7 41 | pnpm: 42 | specifier: ^8.6.0 43 | version: 8.6.0 44 | prettier: 45 | specifier: 2.8.8 46 | version: 2.8.8 47 | vite: 48 | specifier: ^4.3.9 49 | version: 4.3.9(@types/node@20.2.5) 50 | vite-plugin-dts: 51 | specifier: ^2.3.0 52 | version: 2.3.0(@types/node@20.2.5)(vite@4.3.9) 53 | vue: 54 | specifier: ^3.3.4 55 | version: 3.3.4 56 | 57 | demo: 58 | dependencies: 59 | vue: 60 | specifier: ^3.2.13 61 | version: 3.3.4 62 | devDependencies: 63 | '@vitejs/plugin-vue': 64 | specifier: ^3.2.0 65 | version: 3.2.0(vite@3.2.3)(vue@3.3.4) 66 | vite: 67 | specifier: ^3.0.2 68 | version: 3.2.3(@types/node@20.2.5) 69 | 70 | docs: 71 | devDependencies: 72 | vitepress: 73 | specifier: ^1.0.0-alpha.28 74 | version: 1.0.0-alpha.28(@algolia/client-search@4.14.2)(@types/node@20.2.5) 75 | vue: 76 | specifier: ^3.2.43 77 | version: 3.2.44 78 | 79 | packages: 80 | 81 | /@algolia/autocomplete-core@1.7.2: 82 | resolution: {integrity: sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==} 83 | dependencies: 84 | '@algolia/autocomplete-shared': 1.7.2 85 | dev: true 86 | 87 | /@algolia/autocomplete-preset-algolia@1.7.2(@algolia/client-search@4.14.2)(algoliasearch@4.14.2): 88 | resolution: {integrity: sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==} 89 | peerDependencies: 90 | '@algolia/client-search': '>= 4.9.1 < 6' 91 | algoliasearch: '>= 4.9.1 < 6' 92 | dependencies: 93 | '@algolia/autocomplete-shared': 1.7.2 94 | '@algolia/client-search': 4.14.2 95 | algoliasearch: 4.14.2 96 | dev: true 97 | 98 | /@algolia/autocomplete-shared@1.7.2: 99 | resolution: {integrity: sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==} 100 | dev: true 101 | 102 | /@algolia/cache-browser-local-storage@4.14.2: 103 | resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} 104 | dependencies: 105 | '@algolia/cache-common': 4.14.2 106 | dev: true 107 | 108 | /@algolia/cache-common@4.14.2: 109 | resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} 110 | dev: true 111 | 112 | /@algolia/cache-in-memory@4.14.2: 113 | resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} 114 | dependencies: 115 | '@algolia/cache-common': 4.14.2 116 | dev: true 117 | 118 | /@algolia/client-account@4.14.2: 119 | resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} 120 | dependencies: 121 | '@algolia/client-common': 4.14.2 122 | '@algolia/client-search': 4.14.2 123 | '@algolia/transporter': 4.14.2 124 | dev: true 125 | 126 | /@algolia/client-analytics@4.14.2: 127 | resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} 128 | dependencies: 129 | '@algolia/client-common': 4.14.2 130 | '@algolia/client-search': 4.14.2 131 | '@algolia/requester-common': 4.14.2 132 | '@algolia/transporter': 4.14.2 133 | dev: true 134 | 135 | /@algolia/client-common@4.14.2: 136 | resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} 137 | dependencies: 138 | '@algolia/requester-common': 4.14.2 139 | '@algolia/transporter': 4.14.2 140 | dev: true 141 | 142 | /@algolia/client-personalization@4.14.2: 143 | resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} 144 | dependencies: 145 | '@algolia/client-common': 4.14.2 146 | '@algolia/requester-common': 4.14.2 147 | '@algolia/transporter': 4.14.2 148 | dev: true 149 | 150 | /@algolia/client-search@4.14.2: 151 | resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} 152 | dependencies: 153 | '@algolia/client-common': 4.14.2 154 | '@algolia/requester-common': 4.14.2 155 | '@algolia/transporter': 4.14.2 156 | dev: true 157 | 158 | /@algolia/logger-common@4.14.2: 159 | resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} 160 | dev: true 161 | 162 | /@algolia/logger-console@4.14.2: 163 | resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} 164 | dependencies: 165 | '@algolia/logger-common': 4.14.2 166 | dev: true 167 | 168 | /@algolia/requester-browser-xhr@4.14.2: 169 | resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} 170 | dependencies: 171 | '@algolia/requester-common': 4.14.2 172 | dev: true 173 | 174 | /@algolia/requester-common@4.14.2: 175 | resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} 176 | dev: true 177 | 178 | /@algolia/requester-node-http@4.14.2: 179 | resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} 180 | dependencies: 181 | '@algolia/requester-common': 4.14.2 182 | dev: true 183 | 184 | /@algolia/transporter@4.14.2: 185 | resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} 186 | dependencies: 187 | '@algolia/cache-common': 4.14.2 188 | '@algolia/logger-common': 4.14.2 189 | '@algolia/requester-common': 4.14.2 190 | dev: true 191 | 192 | /@babel/helper-string-parser@7.19.4: 193 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 194 | engines: {node: '>=6.9.0'} 195 | 196 | /@babel/helper-validator-identifier@7.19.1: 197 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 198 | engines: {node: '>=6.9.0'} 199 | 200 | /@babel/parser@7.22.3: 201 | resolution: {integrity: sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==} 202 | engines: {node: '>=6.0.0'} 203 | hasBin: true 204 | dependencies: 205 | '@babel/types': 7.20.2 206 | 207 | /@babel/types@7.20.2: 208 | resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} 209 | engines: {node: '>=6.9.0'} 210 | dependencies: 211 | '@babel/helper-string-parser': 7.19.4 212 | '@babel/helper-validator-identifier': 7.19.1 213 | to-fast-properties: 2.0.0 214 | 215 | /@docsearch/css@3.3.0: 216 | resolution: {integrity: sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==} 217 | dev: true 218 | 219 | /@docsearch/js@3.3.0(@algolia/client-search@4.14.2): 220 | resolution: {integrity: sha512-oFXWRPNvPxAzBhnFJ9UCFIYZiQNc3Yrv6912nZHw/UIGxsyzKpNRZgHq8HDk1niYmOSoLKtVFcxkccpQmYGFyg==} 221 | dependencies: 222 | '@docsearch/react': 3.3.0(@algolia/client-search@4.14.2) 223 | preact: 10.11.2 224 | transitivePeerDependencies: 225 | - '@algolia/client-search' 226 | - '@types/react' 227 | - react 228 | - react-dom 229 | dev: true 230 | 231 | /@docsearch/react@3.3.0(@algolia/client-search@4.14.2): 232 | resolution: {integrity: sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==} 233 | peerDependencies: 234 | '@types/react': '>= 16.8.0 < 19.0.0' 235 | react: '>= 16.8.0 < 19.0.0' 236 | react-dom: '>= 16.8.0 < 19.0.0' 237 | peerDependenciesMeta: 238 | '@types/react': 239 | optional: true 240 | react: 241 | optional: true 242 | react-dom: 243 | optional: true 244 | dependencies: 245 | '@algolia/autocomplete-core': 1.7.2 246 | '@algolia/autocomplete-preset-algolia': 1.7.2(@algolia/client-search@4.14.2)(algoliasearch@4.14.2) 247 | '@docsearch/css': 3.3.0 248 | algoliasearch: 4.14.2 249 | transitivePeerDependencies: 250 | - '@algolia/client-search' 251 | dev: true 252 | 253 | /@esbuild/android-arm64@0.17.19: 254 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 255 | engines: {node: '>=12'} 256 | cpu: [arm64] 257 | os: [android] 258 | requiresBuild: true 259 | dev: true 260 | optional: true 261 | 262 | /@esbuild/android-arm@0.15.13: 263 | resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==} 264 | engines: {node: '>=12'} 265 | cpu: [arm] 266 | os: [android] 267 | requiresBuild: true 268 | dev: true 269 | optional: true 270 | 271 | /@esbuild/android-arm@0.17.19: 272 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 273 | engines: {node: '>=12'} 274 | cpu: [arm] 275 | os: [android] 276 | requiresBuild: true 277 | dev: true 278 | optional: true 279 | 280 | /@esbuild/android-x64@0.17.19: 281 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 282 | engines: {node: '>=12'} 283 | cpu: [x64] 284 | os: [android] 285 | requiresBuild: true 286 | dev: true 287 | optional: true 288 | 289 | /@esbuild/darwin-arm64@0.17.19: 290 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 291 | engines: {node: '>=12'} 292 | cpu: [arm64] 293 | os: [darwin] 294 | requiresBuild: true 295 | dev: true 296 | optional: true 297 | 298 | /@esbuild/darwin-x64@0.17.19: 299 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 300 | engines: {node: '>=12'} 301 | cpu: [x64] 302 | os: [darwin] 303 | requiresBuild: true 304 | dev: true 305 | optional: true 306 | 307 | /@esbuild/freebsd-arm64@0.17.19: 308 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 309 | engines: {node: '>=12'} 310 | cpu: [arm64] 311 | os: [freebsd] 312 | requiresBuild: true 313 | dev: true 314 | optional: true 315 | 316 | /@esbuild/freebsd-x64@0.17.19: 317 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 318 | engines: {node: '>=12'} 319 | cpu: [x64] 320 | os: [freebsd] 321 | requiresBuild: true 322 | dev: true 323 | optional: true 324 | 325 | /@esbuild/linux-arm64@0.17.19: 326 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 327 | engines: {node: '>=12'} 328 | cpu: [arm64] 329 | os: [linux] 330 | requiresBuild: true 331 | dev: true 332 | optional: true 333 | 334 | /@esbuild/linux-arm@0.17.19: 335 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 336 | engines: {node: '>=12'} 337 | cpu: [arm] 338 | os: [linux] 339 | requiresBuild: true 340 | dev: true 341 | optional: true 342 | 343 | /@esbuild/linux-ia32@0.17.19: 344 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 345 | engines: {node: '>=12'} 346 | cpu: [ia32] 347 | os: [linux] 348 | requiresBuild: true 349 | dev: true 350 | optional: true 351 | 352 | /@esbuild/linux-loong64@0.15.13: 353 | resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} 354 | engines: {node: '>=12'} 355 | cpu: [loong64] 356 | os: [linux] 357 | requiresBuild: true 358 | dev: true 359 | optional: true 360 | 361 | /@esbuild/linux-loong64@0.17.19: 362 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 363 | engines: {node: '>=12'} 364 | cpu: [loong64] 365 | os: [linux] 366 | requiresBuild: true 367 | dev: true 368 | optional: true 369 | 370 | /@esbuild/linux-mips64el@0.17.19: 371 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 372 | engines: {node: '>=12'} 373 | cpu: [mips64el] 374 | os: [linux] 375 | requiresBuild: true 376 | dev: true 377 | optional: true 378 | 379 | /@esbuild/linux-ppc64@0.17.19: 380 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 381 | engines: {node: '>=12'} 382 | cpu: [ppc64] 383 | os: [linux] 384 | requiresBuild: true 385 | dev: true 386 | optional: true 387 | 388 | /@esbuild/linux-riscv64@0.17.19: 389 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 390 | engines: {node: '>=12'} 391 | cpu: [riscv64] 392 | os: [linux] 393 | requiresBuild: true 394 | dev: true 395 | optional: true 396 | 397 | /@esbuild/linux-s390x@0.17.19: 398 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 399 | engines: {node: '>=12'} 400 | cpu: [s390x] 401 | os: [linux] 402 | requiresBuild: true 403 | dev: true 404 | optional: true 405 | 406 | /@esbuild/linux-x64@0.17.19: 407 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 408 | engines: {node: '>=12'} 409 | cpu: [x64] 410 | os: [linux] 411 | requiresBuild: true 412 | dev: true 413 | optional: true 414 | 415 | /@esbuild/netbsd-x64@0.17.19: 416 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 417 | engines: {node: '>=12'} 418 | cpu: [x64] 419 | os: [netbsd] 420 | requiresBuild: true 421 | dev: true 422 | optional: true 423 | 424 | /@esbuild/openbsd-x64@0.17.19: 425 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 426 | engines: {node: '>=12'} 427 | cpu: [x64] 428 | os: [openbsd] 429 | requiresBuild: true 430 | dev: true 431 | optional: true 432 | 433 | /@esbuild/sunos-x64@0.17.19: 434 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 435 | engines: {node: '>=12'} 436 | cpu: [x64] 437 | os: [sunos] 438 | requiresBuild: true 439 | dev: true 440 | optional: true 441 | 442 | /@esbuild/win32-arm64@0.17.19: 443 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 444 | engines: {node: '>=12'} 445 | cpu: [arm64] 446 | os: [win32] 447 | requiresBuild: true 448 | dev: true 449 | optional: true 450 | 451 | /@esbuild/win32-ia32@0.17.19: 452 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 453 | engines: {node: '>=12'} 454 | cpu: [ia32] 455 | os: [win32] 456 | requiresBuild: true 457 | dev: true 458 | optional: true 459 | 460 | /@esbuild/win32-x64@0.17.19: 461 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 462 | engines: {node: '>=12'} 463 | cpu: [x64] 464 | os: [win32] 465 | requiresBuild: true 466 | dev: true 467 | optional: true 468 | 469 | /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): 470 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 471 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 472 | peerDependencies: 473 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 474 | dependencies: 475 | eslint: 8.41.0 476 | eslint-visitor-keys: 3.4.1 477 | dev: true 478 | 479 | /@eslint-community/regexpp@4.5.1: 480 | resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} 481 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 482 | dev: true 483 | 484 | /@eslint/eslintrc@2.0.3: 485 | resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} 486 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 487 | dependencies: 488 | ajv: 6.12.6 489 | debug: 4.3.4 490 | espree: 9.5.2 491 | globals: 13.20.0 492 | ignore: 5.2.4 493 | import-fresh: 3.3.0 494 | js-yaml: 4.1.0 495 | minimatch: 3.1.2 496 | strip-json-comments: 3.1.1 497 | transitivePeerDependencies: 498 | - supports-color 499 | dev: true 500 | 501 | /@eslint/js@8.41.0: 502 | resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} 503 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 504 | dev: true 505 | 506 | /@humanwhocodes/config-array@0.11.8: 507 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 508 | engines: {node: '>=10.10.0'} 509 | dependencies: 510 | '@humanwhocodes/object-schema': 1.2.1 511 | debug: 4.3.4 512 | minimatch: 3.1.2 513 | transitivePeerDependencies: 514 | - supports-color 515 | dev: true 516 | 517 | /@humanwhocodes/module-importer@1.0.1: 518 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 519 | engines: {node: '>=12.22'} 520 | dev: true 521 | 522 | /@humanwhocodes/object-schema@1.2.1: 523 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 524 | dev: true 525 | 526 | /@jridgewell/sourcemap-codec@1.4.15: 527 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 528 | 529 | /@microsoft/api-extractor-model@7.27.0(@types/node@20.2.5): 530 | resolution: {integrity: sha512-wHqIMiwSARmiuVLn/zmVpiRncq6hvBfC5GF+sjrN3w4FqVkqFYk7DetvfRNdy/3URdqqmYGrhJlcU9HpLnHOPg==} 531 | dependencies: 532 | '@microsoft/tsdoc': 0.14.2 533 | '@microsoft/tsdoc-config': 0.16.2 534 | '@rushstack/node-core-library': 3.59.1(@types/node@20.2.5) 535 | transitivePeerDependencies: 536 | - '@types/node' 537 | dev: true 538 | 539 | /@microsoft/api-extractor@7.35.0(@types/node@20.2.5): 540 | resolution: {integrity: sha512-yBGfPJeEtzk8sg2hE2/vOPRvnJBvstbWNGeyGV1jIEUSgytzQ0QPgPEkOsP2n7nBfnyRXmZaBa2vJPGOzVWy+g==} 541 | hasBin: true 542 | dependencies: 543 | '@microsoft/api-extractor-model': 7.27.0(@types/node@20.2.5) 544 | '@microsoft/tsdoc': 0.14.2 545 | '@microsoft/tsdoc-config': 0.16.2 546 | '@rushstack/node-core-library': 3.59.1(@types/node@20.2.5) 547 | '@rushstack/rig-package': 0.3.19 548 | '@rushstack/ts-command-line': 4.13.3 549 | colors: 1.2.5 550 | lodash: 4.17.21 551 | resolve: 1.22.1 552 | semver: 7.3.8 553 | source-map: 0.6.1 554 | typescript: 5.0.4 555 | transitivePeerDependencies: 556 | - '@types/node' 557 | dev: true 558 | 559 | /@microsoft/tsdoc-config@0.16.2: 560 | resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} 561 | dependencies: 562 | '@microsoft/tsdoc': 0.14.2 563 | ajv: 6.12.6 564 | jju: 1.4.0 565 | resolve: 1.19.0 566 | dev: true 567 | 568 | /@microsoft/tsdoc@0.14.2: 569 | resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} 570 | dev: true 571 | 572 | /@nodelib/fs.scandir@2.1.5: 573 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 574 | engines: {node: '>= 8'} 575 | dependencies: 576 | '@nodelib/fs.stat': 2.0.5 577 | run-parallel: 1.2.0 578 | dev: true 579 | 580 | /@nodelib/fs.stat@2.0.5: 581 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 582 | engines: {node: '>= 8'} 583 | dev: true 584 | 585 | /@nodelib/fs.walk@1.2.8: 586 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 587 | engines: {node: '>= 8'} 588 | dependencies: 589 | '@nodelib/fs.scandir': 2.1.5 590 | fastq: 1.15.0 591 | dev: true 592 | 593 | /@rollup/pluginutils@5.0.2: 594 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 595 | engines: {node: '>=14.0.0'} 596 | peerDependencies: 597 | rollup: ^1.20.0||^2.0.0||^3.0.0 598 | peerDependenciesMeta: 599 | rollup: 600 | optional: true 601 | dependencies: 602 | '@types/estree': 1.0.1 603 | estree-walker: 2.0.2 604 | picomatch: 2.3.1 605 | dev: true 606 | 607 | /@rushstack/node-core-library@3.59.1(@types/node@20.2.5): 608 | resolution: {integrity: sha512-iy/xaEhXGpX+DY1ZzAtNA+QPw+9+TJh773Im+JxG4R1fu00/vWq470UOEj6upxlUxmp0JxhnmNRxzfptHrn/Uw==} 609 | peerDependencies: 610 | '@types/node': '*' 611 | peerDependenciesMeta: 612 | '@types/node': 613 | optional: true 614 | dependencies: 615 | '@types/node': 20.2.5 616 | colors: 1.2.5 617 | fs-extra: 7.0.1 618 | import-lazy: 4.0.0 619 | jju: 1.4.0 620 | resolve: 1.22.1 621 | semver: 7.3.8 622 | z-schema: 5.0.5 623 | dev: true 624 | 625 | /@rushstack/rig-package@0.3.19: 626 | resolution: {integrity: sha512-2d0/Gn+qjOYneZbiHjn4SjyDwq9I0WagV37z0F1V71G+yONgH7wlt3K/UoNiDkhA8gTHYPRo2jz3CvttybwSag==} 627 | dependencies: 628 | resolve: 1.22.1 629 | strip-json-comments: 3.1.1 630 | dev: true 631 | 632 | /@rushstack/ts-command-line@4.13.3: 633 | resolution: {integrity: sha512-6aQIv/o1EgsC/+SpgUyRmzg2QIAL6sudEzw3sWzJKwWuQTc5XRsyZpyldfE7WAmIqMXDao9QG35/NYORjHm5Zw==} 634 | dependencies: 635 | '@types/argparse': 1.0.38 636 | argparse: 1.0.10 637 | colors: 1.2.5 638 | string-argv: 0.3.2 639 | dev: true 640 | 641 | /@ts-morph/common@0.19.0: 642 | resolution: {integrity: sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==} 643 | dependencies: 644 | fast-glob: 3.2.12 645 | minimatch: 7.4.6 646 | mkdirp: 2.1.6 647 | path-browserify: 1.0.1 648 | dev: true 649 | 650 | /@types/argparse@1.0.38: 651 | resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} 652 | dev: true 653 | 654 | /@types/estree@1.0.1: 655 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} 656 | dev: true 657 | 658 | /@types/json-schema@7.0.12: 659 | resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} 660 | dev: true 661 | 662 | /@types/node@20.2.5: 663 | resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} 664 | dev: true 665 | 666 | /@types/semver@7.5.0: 667 | resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} 668 | dev: true 669 | 670 | /@types/web-bluetooth@0.0.16: 671 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} 672 | dev: true 673 | 674 | /@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7)(eslint@8.41.0)(typescript@5.0.4): 675 | resolution: {integrity: sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==} 676 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 677 | peerDependencies: 678 | '@typescript-eslint/parser': ^5.0.0 679 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 680 | typescript: '*' 681 | peerDependenciesMeta: 682 | typescript: 683 | optional: true 684 | dependencies: 685 | '@eslint-community/regexpp': 4.5.1 686 | '@typescript-eslint/parser': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 687 | '@typescript-eslint/scope-manager': 5.59.7 688 | '@typescript-eslint/type-utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 689 | '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 690 | debug: 4.3.4 691 | eslint: 8.41.0 692 | grapheme-splitter: 1.0.4 693 | ignore: 5.2.4 694 | natural-compare-lite: 1.4.0 695 | semver: 7.3.8 696 | tsutils: 3.21.0(typescript@5.0.4) 697 | typescript: 5.0.4 698 | transitivePeerDependencies: 699 | - supports-color 700 | dev: true 701 | 702 | /@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.0.4): 703 | resolution: {integrity: sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==} 704 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 705 | peerDependencies: 706 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 707 | typescript: '*' 708 | peerDependenciesMeta: 709 | typescript: 710 | optional: true 711 | dependencies: 712 | '@typescript-eslint/scope-manager': 5.59.7 713 | '@typescript-eslint/types': 5.59.7 714 | '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 715 | debug: 4.3.4 716 | eslint: 8.41.0 717 | typescript: 5.0.4 718 | transitivePeerDependencies: 719 | - supports-color 720 | dev: true 721 | 722 | /@typescript-eslint/scope-manager@5.59.7: 723 | resolution: {integrity: sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==} 724 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 725 | dependencies: 726 | '@typescript-eslint/types': 5.59.7 727 | '@typescript-eslint/visitor-keys': 5.59.7 728 | dev: true 729 | 730 | /@typescript-eslint/type-utils@5.59.7(eslint@8.41.0)(typescript@5.0.4): 731 | resolution: {integrity: sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==} 732 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 733 | peerDependencies: 734 | eslint: '*' 735 | typescript: '*' 736 | peerDependenciesMeta: 737 | typescript: 738 | optional: true 739 | dependencies: 740 | '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 741 | '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 742 | debug: 4.3.4 743 | eslint: 8.41.0 744 | tsutils: 3.21.0(typescript@5.0.4) 745 | typescript: 5.0.4 746 | transitivePeerDependencies: 747 | - supports-color 748 | dev: true 749 | 750 | /@typescript-eslint/types@5.59.7: 751 | resolution: {integrity: sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==} 752 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 753 | dev: true 754 | 755 | /@typescript-eslint/typescript-estree@5.59.7(typescript@5.0.4): 756 | resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} 757 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 758 | peerDependencies: 759 | typescript: '*' 760 | peerDependenciesMeta: 761 | typescript: 762 | optional: true 763 | dependencies: 764 | '@typescript-eslint/types': 5.59.7 765 | '@typescript-eslint/visitor-keys': 5.59.7 766 | debug: 4.3.4 767 | globby: 11.1.0 768 | is-glob: 4.0.3 769 | semver: 7.3.8 770 | tsutils: 3.21.0(typescript@5.0.4) 771 | typescript: 5.0.4 772 | transitivePeerDependencies: 773 | - supports-color 774 | dev: true 775 | 776 | /@typescript-eslint/utils@5.59.7(eslint@8.41.0)(typescript@5.0.4): 777 | resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} 778 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 779 | peerDependencies: 780 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 781 | dependencies: 782 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) 783 | '@types/json-schema': 7.0.12 784 | '@types/semver': 7.5.0 785 | '@typescript-eslint/scope-manager': 5.59.7 786 | '@typescript-eslint/types': 5.59.7 787 | '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 788 | eslint: 8.41.0 789 | eslint-scope: 5.1.1 790 | semver: 7.3.8 791 | transitivePeerDependencies: 792 | - supports-color 793 | - typescript 794 | dev: true 795 | 796 | /@typescript-eslint/visitor-keys@5.59.7: 797 | resolution: {integrity: sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==} 798 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 799 | dependencies: 800 | '@typescript-eslint/types': 5.59.7 801 | eslint-visitor-keys: 3.4.1 802 | dev: true 803 | 804 | /@vitejs/plugin-vue@3.2.0(vite@3.2.3)(vue@3.3.4): 805 | resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} 806 | engines: {node: ^14.18.0 || >=16.0.0} 807 | peerDependencies: 808 | vite: ^3.0.0 809 | vue: ^3.2.25 810 | dependencies: 811 | vite: 3.2.3(@types/node@20.2.5) 812 | vue: 3.3.4 813 | dev: true 814 | 815 | /@vitejs/plugin-vue@4.2.3(vite@4.3.9)(vue@3.3.4): 816 | resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} 817 | engines: {node: ^14.18.0 || >=16.0.0} 818 | peerDependencies: 819 | vite: ^4.0.0 820 | vue: ^3.2.25 821 | dependencies: 822 | vite: 4.3.9(@types/node@20.2.5) 823 | vue: 3.3.4 824 | dev: true 825 | 826 | /@vue/compiler-core@3.2.44: 827 | resolution: {integrity: sha512-TwzeVSnaklb8wIvMtwtkPkt9wnU+XD70xJ7N9+eIHtjKAG7OoZttm+14ZL6vWOL+2RcMtSZ+cYH+gvkUqsrmSQ==} 828 | dependencies: 829 | '@babel/parser': 7.22.3 830 | '@vue/shared': 3.2.44 831 | estree-walker: 2.0.2 832 | source-map: 0.6.1 833 | dev: true 834 | 835 | /@vue/compiler-core@3.3.4: 836 | resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} 837 | dependencies: 838 | '@babel/parser': 7.22.3 839 | '@vue/shared': 3.3.4 840 | estree-walker: 2.0.2 841 | source-map-js: 1.0.2 842 | 843 | /@vue/compiler-dom@3.2.44: 844 | resolution: {integrity: sha512-wPDR+gOn2Qi7SudPJ+gE62vuO/aKXIiIFALvHpztXmDdbAHGy3CDfmBgOGchTgTlSeDJHe9olEMkgOdmyXTjUg==} 845 | dependencies: 846 | '@vue/compiler-core': 3.2.44 847 | '@vue/shared': 3.2.44 848 | dev: true 849 | 850 | /@vue/compiler-dom@3.3.4: 851 | resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} 852 | dependencies: 853 | '@vue/compiler-core': 3.3.4 854 | '@vue/shared': 3.3.4 855 | 856 | /@vue/compiler-sfc@3.2.44: 857 | resolution: {integrity: sha512-8cFZcUWlrtnfM/GlRwYJdlfgbEOy0OZ/osLDU3h/wJu24HuYAc7QIML1USaKqiZzkjOaTd4y8mvYvcWXq3o5dA==} 858 | dependencies: 859 | '@babel/parser': 7.22.3 860 | '@vue/compiler-core': 3.2.44 861 | '@vue/compiler-dom': 3.2.44 862 | '@vue/compiler-ssr': 3.2.44 863 | '@vue/reactivity-transform': 3.2.44 864 | '@vue/shared': 3.2.44 865 | estree-walker: 2.0.2 866 | magic-string: 0.25.9 867 | postcss: 8.4.18 868 | source-map: 0.6.1 869 | dev: true 870 | 871 | /@vue/compiler-sfc@3.3.4: 872 | resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} 873 | dependencies: 874 | '@babel/parser': 7.22.3 875 | '@vue/compiler-core': 3.3.4 876 | '@vue/compiler-dom': 3.3.4 877 | '@vue/compiler-ssr': 3.3.4 878 | '@vue/reactivity-transform': 3.3.4 879 | '@vue/shared': 3.3.4 880 | estree-walker: 2.0.2 881 | magic-string: 0.30.0 882 | postcss: 8.4.18 883 | source-map-js: 1.0.2 884 | 885 | /@vue/compiler-ssr@3.2.44: 886 | resolution: {integrity: sha512-tAkUFLgvxds3l5KPyAH77OIYrEeLngNYQfWA9GocHiy2nlyajjqAH/Jq93Bq29Y20GeJzblmRp9DVYCVkJ5Rsw==} 887 | dependencies: 888 | '@vue/compiler-dom': 3.2.44 889 | '@vue/shared': 3.2.44 890 | dev: true 891 | 892 | /@vue/compiler-ssr@3.3.4: 893 | resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} 894 | dependencies: 895 | '@vue/compiler-dom': 3.3.4 896 | '@vue/shared': 3.3.4 897 | 898 | /@vue/devtools-api@6.4.5: 899 | resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} 900 | dev: true 901 | 902 | /@vue/eslint-config-prettier@7.1.0(eslint@8.41.0)(prettier@2.8.8): 903 | resolution: {integrity: sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==} 904 | peerDependencies: 905 | eslint: '>= 7.28.0' 906 | prettier: '>= 2.0.0' 907 | dependencies: 908 | eslint: 8.41.0 909 | eslint-config-prettier: 8.8.0(eslint@8.41.0) 910 | eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.41.0)(prettier@2.8.8) 911 | prettier: 2.8.8 912 | dev: true 913 | 914 | /@vue/eslint-config-typescript@11.0.3(eslint-plugin-vue@9.14.1)(eslint@8.41.0)(typescript@5.0.4): 915 | resolution: {integrity: sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==} 916 | engines: {node: ^14.17.0 || >=16.0.0} 917 | peerDependencies: 918 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 919 | eslint-plugin-vue: ^9.0.0 920 | typescript: '*' 921 | peerDependenciesMeta: 922 | typescript: 923 | optional: true 924 | dependencies: 925 | '@typescript-eslint/eslint-plugin': 5.59.7(@typescript-eslint/parser@5.59.7)(eslint@8.41.0)(typescript@5.0.4) 926 | '@typescript-eslint/parser': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 927 | eslint: 8.41.0 928 | eslint-plugin-vue: 9.14.1(eslint@8.41.0) 929 | typescript: 5.0.4 930 | vue-eslint-parser: 9.3.0(eslint@8.41.0) 931 | transitivePeerDependencies: 932 | - supports-color 933 | dev: true 934 | 935 | /@vue/reactivity-transform@3.2.44: 936 | resolution: {integrity: sha512-WGbEiXaS2qAOTS9Z3kKk2Nk4bi8OUl73Sih+h0XV9RTUATnaJSEQedveHUDQnHyXiZwyBMKosrxJg8aThHO/rw==} 937 | dependencies: 938 | '@babel/parser': 7.22.3 939 | '@vue/compiler-core': 3.2.44 940 | '@vue/shared': 3.2.44 941 | estree-walker: 2.0.2 942 | magic-string: 0.25.9 943 | dev: true 944 | 945 | /@vue/reactivity-transform@3.3.4: 946 | resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} 947 | dependencies: 948 | '@babel/parser': 7.22.3 949 | '@vue/compiler-core': 3.3.4 950 | '@vue/shared': 3.3.4 951 | estree-walker: 2.0.2 952 | magic-string: 0.30.0 953 | 954 | /@vue/reactivity@3.2.44: 955 | resolution: {integrity: sha512-Fe0s52fTsPl+RSdvoqUZ3HRKlaVsKhIh1mea5EWOedFvZCjnymzlj3YC1wZMxi89qXRFSdEASVA/BWUGypk0Ig==} 956 | dependencies: 957 | '@vue/shared': 3.2.44 958 | dev: true 959 | 960 | /@vue/reactivity@3.3.4: 961 | resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} 962 | dependencies: 963 | '@vue/shared': 3.3.4 964 | 965 | /@vue/runtime-core@3.2.44: 966 | resolution: {integrity: sha512-uwEV1cttL33k2dC+CNGYhKEYqGejT9KmgQ+4n/LmYUfZ1Gorl8F32DlIX+1pANyGHL1tBAisqHDxKyQBp2oBNA==} 967 | dependencies: 968 | '@vue/reactivity': 3.2.44 969 | '@vue/shared': 3.2.44 970 | dev: true 971 | 972 | /@vue/runtime-core@3.3.4: 973 | resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} 974 | dependencies: 975 | '@vue/reactivity': 3.3.4 976 | '@vue/shared': 3.3.4 977 | 978 | /@vue/runtime-dom@3.2.44: 979 | resolution: {integrity: sha512-LDzNwXpU/nSpxrLk5jS0bfStgt88msgsgFzj6vHrl7es3QktIrCGybQS5CB/p/TO0q98iAiYtEVmi+Lej7Vgjg==} 980 | dependencies: 981 | '@vue/runtime-core': 3.2.44 982 | '@vue/shared': 3.2.44 983 | csstype: 2.6.21 984 | dev: true 985 | 986 | /@vue/runtime-dom@3.3.4: 987 | resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} 988 | dependencies: 989 | '@vue/runtime-core': 3.3.4 990 | '@vue/shared': 3.3.4 991 | csstype: 3.1.2 992 | 993 | /@vue/server-renderer@3.2.44(vue@3.2.44): 994 | resolution: {integrity: sha512-3+ArN07UgOAdbGKIp3uVqeC3bnR3J324QNjPR6vxHbLrTlkibFv8QNled/ux3fVq0KDCkVVKGOKB2V4sCIYOgg==} 995 | peerDependencies: 996 | vue: 3.2.44 997 | dependencies: 998 | '@vue/compiler-ssr': 3.2.44 999 | '@vue/shared': 3.2.44 1000 | vue: 3.2.44 1001 | dev: true 1002 | 1003 | /@vue/server-renderer@3.3.4(vue@3.3.4): 1004 | resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} 1005 | peerDependencies: 1006 | vue: 3.3.4 1007 | dependencies: 1008 | '@vue/compiler-ssr': 3.3.4 1009 | '@vue/shared': 3.3.4 1010 | vue: 3.3.4 1011 | 1012 | /@vue/shared@3.2.44: 1013 | resolution: {integrity: sha512-mGZ44bnn0zpZ36nXtxbrBPno43yr96wjQE1dBEKS1Sieugt27HS4OGZVBRIgsdGzosB7vqZAvu0ttu1FDVdolA==} 1014 | dev: true 1015 | 1016 | /@vue/shared@3.3.4: 1017 | resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} 1018 | 1019 | /@vue/tsconfig@0.4.0: 1020 | resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} 1021 | dev: true 1022 | 1023 | /@vueuse/core@9.5.0(vue@3.3.4): 1024 | resolution: {integrity: sha512-6GsWBsJHEb3sYw15mbLrcbslAVY45pkzjJYTKYKCXv88z7srAF0VEW0q+oXKsl58tCbqooplInahXFg8Yo1m4w==} 1025 | dependencies: 1026 | '@types/web-bluetooth': 0.0.16 1027 | '@vueuse/metadata': 9.5.0 1028 | '@vueuse/shared': 9.5.0(vue@3.3.4) 1029 | vue-demi: 0.13.11(vue@3.3.4) 1030 | transitivePeerDependencies: 1031 | - '@vue/composition-api' 1032 | - vue 1033 | dev: true 1034 | 1035 | /@vueuse/metadata@9.5.0: 1036 | resolution: {integrity: sha512-4M1AyPZmIv41pym+K5+4wup3bKuYebbH8w8BROY1hmT7rIwcyS4tEL+UsGz0Hiu1FCOxcoBrwtAizc0YmBJjyQ==} 1037 | dev: true 1038 | 1039 | /@vueuse/shared@9.5.0(vue@3.3.4): 1040 | resolution: {integrity: sha512-HnnCWU1Vg9CVWRCcI8ohDKDRB2Sc4bTgT1XAIaoLSfVHHn+TKbrox6pd3klCSw4UDxkhDfOk8cAdcK+Z5KleCA==} 1041 | dependencies: 1042 | vue-demi: 0.13.11(vue@3.3.4) 1043 | transitivePeerDependencies: 1044 | - '@vue/composition-api' 1045 | - vue 1046 | dev: true 1047 | 1048 | /acorn-jsx@5.3.2(acorn@8.8.2): 1049 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1050 | peerDependencies: 1051 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1052 | dependencies: 1053 | acorn: 8.8.2 1054 | dev: true 1055 | 1056 | /acorn@8.8.2: 1057 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 1058 | engines: {node: '>=0.4.0'} 1059 | hasBin: true 1060 | dev: true 1061 | 1062 | /ajv@6.12.6: 1063 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 1064 | dependencies: 1065 | fast-deep-equal: 3.1.3 1066 | fast-json-stable-stringify: 2.1.0 1067 | json-schema-traverse: 0.4.1 1068 | uri-js: 4.4.1 1069 | dev: true 1070 | 1071 | /algoliasearch@4.14.2: 1072 | resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} 1073 | dependencies: 1074 | '@algolia/cache-browser-local-storage': 4.14.2 1075 | '@algolia/cache-common': 4.14.2 1076 | '@algolia/cache-in-memory': 4.14.2 1077 | '@algolia/client-account': 4.14.2 1078 | '@algolia/client-analytics': 4.14.2 1079 | '@algolia/client-common': 4.14.2 1080 | '@algolia/client-personalization': 4.14.2 1081 | '@algolia/client-search': 4.14.2 1082 | '@algolia/logger-common': 4.14.2 1083 | '@algolia/logger-console': 4.14.2 1084 | '@algolia/requester-browser-xhr': 4.14.2 1085 | '@algolia/requester-common': 4.14.2 1086 | '@algolia/requester-node-http': 4.14.2 1087 | '@algolia/transporter': 4.14.2 1088 | dev: true 1089 | 1090 | /ansi-regex@5.0.1: 1091 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1092 | engines: {node: '>=8'} 1093 | dev: true 1094 | 1095 | /ansi-styles@4.3.0: 1096 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1097 | engines: {node: '>=8'} 1098 | dependencies: 1099 | color-convert: 2.0.1 1100 | dev: true 1101 | 1102 | /argparse@1.0.10: 1103 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1104 | dependencies: 1105 | sprintf-js: 1.0.3 1106 | dev: true 1107 | 1108 | /argparse@2.0.1: 1109 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1110 | dev: true 1111 | 1112 | /array-union@2.1.0: 1113 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1114 | engines: {node: '>=8'} 1115 | dev: true 1116 | 1117 | /balanced-match@1.0.2: 1118 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1119 | dev: true 1120 | 1121 | /body-scroll-lock@4.0.0-beta.0: 1122 | resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} 1123 | dev: true 1124 | 1125 | /boolbase@1.0.0: 1126 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 1127 | dev: true 1128 | 1129 | /brace-expansion@1.1.11: 1130 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1131 | dependencies: 1132 | balanced-match: 1.0.2 1133 | concat-map: 0.0.1 1134 | dev: true 1135 | 1136 | /brace-expansion@2.0.1: 1137 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 1138 | dependencies: 1139 | balanced-match: 1.0.2 1140 | dev: true 1141 | 1142 | /braces@3.0.2: 1143 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1144 | engines: {node: '>=8'} 1145 | dependencies: 1146 | fill-range: 7.0.1 1147 | dev: true 1148 | 1149 | /callsites@3.1.0: 1150 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1151 | engines: {node: '>=6'} 1152 | dev: true 1153 | 1154 | /chalk@4.1.2: 1155 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1156 | engines: {node: '>=10'} 1157 | dependencies: 1158 | ansi-styles: 4.3.0 1159 | supports-color: 7.2.0 1160 | dev: true 1161 | 1162 | /code-block-writer@12.0.0: 1163 | resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} 1164 | dev: true 1165 | 1166 | /color-convert@2.0.1: 1167 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1168 | engines: {node: '>=7.0.0'} 1169 | dependencies: 1170 | color-name: 1.1.4 1171 | dev: true 1172 | 1173 | /color-name@1.1.4: 1174 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1175 | dev: true 1176 | 1177 | /colors@1.2.5: 1178 | resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} 1179 | engines: {node: '>=0.1.90'} 1180 | dev: true 1181 | 1182 | /commander@9.5.0: 1183 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 1184 | engines: {node: ^12.20.0 || >=14} 1185 | requiresBuild: true 1186 | dev: true 1187 | optional: true 1188 | 1189 | /concat-map@0.0.1: 1190 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1191 | dev: true 1192 | 1193 | /cross-spawn@7.0.3: 1194 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1195 | engines: {node: '>= 8'} 1196 | dependencies: 1197 | path-key: 3.1.1 1198 | shebang-command: 2.0.0 1199 | which: 2.0.2 1200 | dev: true 1201 | 1202 | /cssesc@3.0.0: 1203 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1204 | engines: {node: '>=4'} 1205 | hasBin: true 1206 | dev: true 1207 | 1208 | /csstype@2.6.21: 1209 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} 1210 | dev: true 1211 | 1212 | /csstype@3.1.2: 1213 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} 1214 | 1215 | /debug@4.3.4: 1216 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1217 | engines: {node: '>=6.0'} 1218 | peerDependencies: 1219 | supports-color: '*' 1220 | peerDependenciesMeta: 1221 | supports-color: 1222 | optional: true 1223 | dependencies: 1224 | ms: 2.1.2 1225 | dev: true 1226 | 1227 | /deep-is@0.1.4: 1228 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1229 | dev: true 1230 | 1231 | /dir-glob@3.0.1: 1232 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1233 | engines: {node: '>=8'} 1234 | dependencies: 1235 | path-type: 4.0.0 1236 | dev: true 1237 | 1238 | /doctrine@3.0.0: 1239 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1240 | engines: {node: '>=6.0.0'} 1241 | dependencies: 1242 | esutils: 2.0.3 1243 | dev: true 1244 | 1245 | /esbuild-android-64@0.15.13: 1246 | resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} 1247 | engines: {node: '>=12'} 1248 | cpu: [x64] 1249 | os: [android] 1250 | requiresBuild: true 1251 | dev: true 1252 | optional: true 1253 | 1254 | /esbuild-android-arm64@0.15.13: 1255 | resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==} 1256 | engines: {node: '>=12'} 1257 | cpu: [arm64] 1258 | os: [android] 1259 | requiresBuild: true 1260 | dev: true 1261 | optional: true 1262 | 1263 | /esbuild-darwin-64@0.15.13: 1264 | resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==} 1265 | engines: {node: '>=12'} 1266 | cpu: [x64] 1267 | os: [darwin] 1268 | requiresBuild: true 1269 | dev: true 1270 | optional: true 1271 | 1272 | /esbuild-darwin-arm64@0.15.13: 1273 | resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==} 1274 | engines: {node: '>=12'} 1275 | cpu: [arm64] 1276 | os: [darwin] 1277 | requiresBuild: true 1278 | dev: true 1279 | optional: true 1280 | 1281 | /esbuild-freebsd-64@0.15.13: 1282 | resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==} 1283 | engines: {node: '>=12'} 1284 | cpu: [x64] 1285 | os: [freebsd] 1286 | requiresBuild: true 1287 | dev: true 1288 | optional: true 1289 | 1290 | /esbuild-freebsd-arm64@0.15.13: 1291 | resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==} 1292 | engines: {node: '>=12'} 1293 | cpu: [arm64] 1294 | os: [freebsd] 1295 | requiresBuild: true 1296 | dev: true 1297 | optional: true 1298 | 1299 | /esbuild-linux-32@0.15.13: 1300 | resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==} 1301 | engines: {node: '>=12'} 1302 | cpu: [ia32] 1303 | os: [linux] 1304 | requiresBuild: true 1305 | dev: true 1306 | optional: true 1307 | 1308 | /esbuild-linux-64@0.15.13: 1309 | resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==} 1310 | engines: {node: '>=12'} 1311 | cpu: [x64] 1312 | os: [linux] 1313 | requiresBuild: true 1314 | dev: true 1315 | optional: true 1316 | 1317 | /esbuild-linux-arm64@0.15.13: 1318 | resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==} 1319 | engines: {node: '>=12'} 1320 | cpu: [arm64] 1321 | os: [linux] 1322 | requiresBuild: true 1323 | dev: true 1324 | optional: true 1325 | 1326 | /esbuild-linux-arm@0.15.13: 1327 | resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==} 1328 | engines: {node: '>=12'} 1329 | cpu: [arm] 1330 | os: [linux] 1331 | requiresBuild: true 1332 | dev: true 1333 | optional: true 1334 | 1335 | /esbuild-linux-mips64le@0.15.13: 1336 | resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==} 1337 | engines: {node: '>=12'} 1338 | cpu: [mips64el] 1339 | os: [linux] 1340 | requiresBuild: true 1341 | dev: true 1342 | optional: true 1343 | 1344 | /esbuild-linux-ppc64le@0.15.13: 1345 | resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==} 1346 | engines: {node: '>=12'} 1347 | cpu: [ppc64] 1348 | os: [linux] 1349 | requiresBuild: true 1350 | dev: true 1351 | optional: true 1352 | 1353 | /esbuild-linux-riscv64@0.15.13: 1354 | resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==} 1355 | engines: {node: '>=12'} 1356 | cpu: [riscv64] 1357 | os: [linux] 1358 | requiresBuild: true 1359 | dev: true 1360 | optional: true 1361 | 1362 | /esbuild-linux-s390x@0.15.13: 1363 | resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==} 1364 | engines: {node: '>=12'} 1365 | cpu: [s390x] 1366 | os: [linux] 1367 | requiresBuild: true 1368 | dev: true 1369 | optional: true 1370 | 1371 | /esbuild-netbsd-64@0.15.13: 1372 | resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==} 1373 | engines: {node: '>=12'} 1374 | cpu: [x64] 1375 | os: [netbsd] 1376 | requiresBuild: true 1377 | dev: true 1378 | optional: true 1379 | 1380 | /esbuild-openbsd-64@0.15.13: 1381 | resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==} 1382 | engines: {node: '>=12'} 1383 | cpu: [x64] 1384 | os: [openbsd] 1385 | requiresBuild: true 1386 | dev: true 1387 | optional: true 1388 | 1389 | /esbuild-sunos-64@0.15.13: 1390 | resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==} 1391 | engines: {node: '>=12'} 1392 | cpu: [x64] 1393 | os: [sunos] 1394 | requiresBuild: true 1395 | dev: true 1396 | optional: true 1397 | 1398 | /esbuild-windows-32@0.15.13: 1399 | resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==} 1400 | engines: {node: '>=12'} 1401 | cpu: [ia32] 1402 | os: [win32] 1403 | requiresBuild: true 1404 | dev: true 1405 | optional: true 1406 | 1407 | /esbuild-windows-64@0.15.13: 1408 | resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==} 1409 | engines: {node: '>=12'} 1410 | cpu: [x64] 1411 | os: [win32] 1412 | requiresBuild: true 1413 | dev: true 1414 | optional: true 1415 | 1416 | /esbuild-windows-arm64@0.15.13: 1417 | resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==} 1418 | engines: {node: '>=12'} 1419 | cpu: [arm64] 1420 | os: [win32] 1421 | requiresBuild: true 1422 | dev: true 1423 | optional: true 1424 | 1425 | /esbuild@0.15.13: 1426 | resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==} 1427 | engines: {node: '>=12'} 1428 | hasBin: true 1429 | requiresBuild: true 1430 | optionalDependencies: 1431 | '@esbuild/android-arm': 0.15.13 1432 | '@esbuild/linux-loong64': 0.15.13 1433 | esbuild-android-64: 0.15.13 1434 | esbuild-android-arm64: 0.15.13 1435 | esbuild-darwin-64: 0.15.13 1436 | esbuild-darwin-arm64: 0.15.13 1437 | esbuild-freebsd-64: 0.15.13 1438 | esbuild-freebsd-arm64: 0.15.13 1439 | esbuild-linux-32: 0.15.13 1440 | esbuild-linux-64: 0.15.13 1441 | esbuild-linux-arm: 0.15.13 1442 | esbuild-linux-arm64: 0.15.13 1443 | esbuild-linux-mips64le: 0.15.13 1444 | esbuild-linux-ppc64le: 0.15.13 1445 | esbuild-linux-riscv64: 0.15.13 1446 | esbuild-linux-s390x: 0.15.13 1447 | esbuild-netbsd-64: 0.15.13 1448 | esbuild-openbsd-64: 0.15.13 1449 | esbuild-sunos-64: 0.15.13 1450 | esbuild-windows-32: 0.15.13 1451 | esbuild-windows-64: 0.15.13 1452 | esbuild-windows-arm64: 0.15.13 1453 | dev: true 1454 | 1455 | /esbuild@0.17.19: 1456 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 1457 | engines: {node: '>=12'} 1458 | hasBin: true 1459 | requiresBuild: true 1460 | optionalDependencies: 1461 | '@esbuild/android-arm': 0.17.19 1462 | '@esbuild/android-arm64': 0.17.19 1463 | '@esbuild/android-x64': 0.17.19 1464 | '@esbuild/darwin-arm64': 0.17.19 1465 | '@esbuild/darwin-x64': 0.17.19 1466 | '@esbuild/freebsd-arm64': 0.17.19 1467 | '@esbuild/freebsd-x64': 0.17.19 1468 | '@esbuild/linux-arm': 0.17.19 1469 | '@esbuild/linux-arm64': 0.17.19 1470 | '@esbuild/linux-ia32': 0.17.19 1471 | '@esbuild/linux-loong64': 0.17.19 1472 | '@esbuild/linux-mips64el': 0.17.19 1473 | '@esbuild/linux-ppc64': 0.17.19 1474 | '@esbuild/linux-riscv64': 0.17.19 1475 | '@esbuild/linux-s390x': 0.17.19 1476 | '@esbuild/linux-x64': 0.17.19 1477 | '@esbuild/netbsd-x64': 0.17.19 1478 | '@esbuild/openbsd-x64': 0.17.19 1479 | '@esbuild/sunos-x64': 0.17.19 1480 | '@esbuild/win32-arm64': 0.17.19 1481 | '@esbuild/win32-ia32': 0.17.19 1482 | '@esbuild/win32-x64': 0.17.19 1483 | dev: true 1484 | 1485 | /escape-string-regexp@4.0.0: 1486 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1487 | engines: {node: '>=10'} 1488 | dev: true 1489 | 1490 | /eslint-config-prettier@8.8.0(eslint@8.41.0): 1491 | resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} 1492 | hasBin: true 1493 | peerDependencies: 1494 | eslint: '>=7.0.0' 1495 | dependencies: 1496 | eslint: 8.41.0 1497 | dev: true 1498 | 1499 | /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.41.0)(prettier@2.8.8): 1500 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} 1501 | engines: {node: '>=12.0.0'} 1502 | peerDependencies: 1503 | eslint: '>=7.28.0' 1504 | eslint-config-prettier: '*' 1505 | prettier: '>=2.0.0' 1506 | peerDependenciesMeta: 1507 | eslint-config-prettier: 1508 | optional: true 1509 | dependencies: 1510 | eslint: 8.41.0 1511 | eslint-config-prettier: 8.8.0(eslint@8.41.0) 1512 | prettier: 2.8.8 1513 | prettier-linter-helpers: 1.0.0 1514 | dev: true 1515 | 1516 | /eslint-plugin-vue@9.14.1(eslint@8.41.0): 1517 | resolution: {integrity: sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==} 1518 | engines: {node: ^14.17.0 || >=16.0.0} 1519 | peerDependencies: 1520 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 1521 | dependencies: 1522 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) 1523 | eslint: 8.41.0 1524 | natural-compare: 1.4.0 1525 | nth-check: 2.1.1 1526 | postcss-selector-parser: 6.0.13 1527 | semver: 7.3.8 1528 | vue-eslint-parser: 9.3.0(eslint@8.41.0) 1529 | xml-name-validator: 4.0.0 1530 | transitivePeerDependencies: 1531 | - supports-color 1532 | dev: true 1533 | 1534 | /eslint-scope@5.1.1: 1535 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1536 | engines: {node: '>=8.0.0'} 1537 | dependencies: 1538 | esrecurse: 4.3.0 1539 | estraverse: 4.3.0 1540 | dev: true 1541 | 1542 | /eslint-scope@7.2.0: 1543 | resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} 1544 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1545 | dependencies: 1546 | esrecurse: 4.3.0 1547 | estraverse: 5.3.0 1548 | dev: true 1549 | 1550 | /eslint-visitor-keys@3.4.1: 1551 | resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} 1552 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1553 | dev: true 1554 | 1555 | /eslint@8.41.0: 1556 | resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} 1557 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1558 | hasBin: true 1559 | dependencies: 1560 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) 1561 | '@eslint-community/regexpp': 4.5.1 1562 | '@eslint/eslintrc': 2.0.3 1563 | '@eslint/js': 8.41.0 1564 | '@humanwhocodes/config-array': 0.11.8 1565 | '@humanwhocodes/module-importer': 1.0.1 1566 | '@nodelib/fs.walk': 1.2.8 1567 | ajv: 6.12.6 1568 | chalk: 4.1.2 1569 | cross-spawn: 7.0.3 1570 | debug: 4.3.4 1571 | doctrine: 3.0.0 1572 | escape-string-regexp: 4.0.0 1573 | eslint-scope: 7.2.0 1574 | eslint-visitor-keys: 3.4.1 1575 | espree: 9.5.2 1576 | esquery: 1.5.0 1577 | esutils: 2.0.3 1578 | fast-deep-equal: 3.1.3 1579 | file-entry-cache: 6.0.1 1580 | find-up: 5.0.0 1581 | glob-parent: 6.0.2 1582 | globals: 13.20.0 1583 | graphemer: 1.4.0 1584 | ignore: 5.2.4 1585 | import-fresh: 3.3.0 1586 | imurmurhash: 0.1.4 1587 | is-glob: 4.0.3 1588 | is-path-inside: 3.0.3 1589 | js-yaml: 4.1.0 1590 | json-stable-stringify-without-jsonify: 1.0.1 1591 | levn: 0.4.1 1592 | lodash.merge: 4.6.2 1593 | minimatch: 3.1.2 1594 | natural-compare: 1.4.0 1595 | optionator: 0.9.1 1596 | strip-ansi: 6.0.1 1597 | strip-json-comments: 3.1.1 1598 | text-table: 0.2.0 1599 | transitivePeerDependencies: 1600 | - supports-color 1601 | dev: true 1602 | 1603 | /espree@9.5.2: 1604 | resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} 1605 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1606 | dependencies: 1607 | acorn: 8.8.2 1608 | acorn-jsx: 5.3.2(acorn@8.8.2) 1609 | eslint-visitor-keys: 3.4.1 1610 | dev: true 1611 | 1612 | /esquery@1.4.0: 1613 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1614 | engines: {node: '>=0.10'} 1615 | dependencies: 1616 | estraverse: 5.3.0 1617 | dev: true 1618 | 1619 | /esquery@1.5.0: 1620 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1621 | engines: {node: '>=0.10'} 1622 | dependencies: 1623 | estraverse: 5.3.0 1624 | dev: true 1625 | 1626 | /esrecurse@4.3.0: 1627 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1628 | engines: {node: '>=4.0'} 1629 | dependencies: 1630 | estraverse: 5.3.0 1631 | dev: true 1632 | 1633 | /estraverse@4.3.0: 1634 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1635 | engines: {node: '>=4.0'} 1636 | dev: true 1637 | 1638 | /estraverse@5.3.0: 1639 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1640 | engines: {node: '>=4.0'} 1641 | dev: true 1642 | 1643 | /estree-walker@2.0.2: 1644 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1645 | 1646 | /esutils@2.0.3: 1647 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1648 | engines: {node: '>=0.10.0'} 1649 | dev: true 1650 | 1651 | /fast-deep-equal@3.1.3: 1652 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1653 | dev: true 1654 | 1655 | /fast-diff@1.3.0: 1656 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} 1657 | dev: true 1658 | 1659 | /fast-glob@3.2.12: 1660 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1661 | engines: {node: '>=8.6.0'} 1662 | dependencies: 1663 | '@nodelib/fs.stat': 2.0.5 1664 | '@nodelib/fs.walk': 1.2.8 1665 | glob-parent: 5.1.2 1666 | merge2: 1.4.1 1667 | micromatch: 4.0.5 1668 | dev: true 1669 | 1670 | /fast-json-stable-stringify@2.1.0: 1671 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1672 | dev: true 1673 | 1674 | /fast-levenshtein@2.0.6: 1675 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1676 | dev: true 1677 | 1678 | /fastq@1.15.0: 1679 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1680 | dependencies: 1681 | reusify: 1.0.4 1682 | dev: true 1683 | 1684 | /file-entry-cache@6.0.1: 1685 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1686 | engines: {node: ^10.12.0 || >=12.0.0} 1687 | dependencies: 1688 | flat-cache: 3.0.4 1689 | dev: true 1690 | 1691 | /fill-range@7.0.1: 1692 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1693 | engines: {node: '>=8'} 1694 | dependencies: 1695 | to-regex-range: 5.0.1 1696 | dev: true 1697 | 1698 | /find-up@5.0.0: 1699 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1700 | engines: {node: '>=10'} 1701 | dependencies: 1702 | locate-path: 6.0.0 1703 | path-exists: 4.0.0 1704 | dev: true 1705 | 1706 | /flat-cache@3.0.4: 1707 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1708 | engines: {node: ^10.12.0 || >=12.0.0} 1709 | dependencies: 1710 | flatted: 3.2.7 1711 | rimraf: 3.0.2 1712 | dev: true 1713 | 1714 | /flatted@3.2.7: 1715 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1716 | dev: true 1717 | 1718 | /fs-extra@10.1.0: 1719 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1720 | engines: {node: '>=12'} 1721 | dependencies: 1722 | graceful-fs: 4.2.11 1723 | jsonfile: 6.1.0 1724 | universalify: 2.0.0 1725 | dev: true 1726 | 1727 | /fs-extra@7.0.1: 1728 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 1729 | engines: {node: '>=6 <7 || >=8'} 1730 | dependencies: 1731 | graceful-fs: 4.2.11 1732 | jsonfile: 4.0.0 1733 | universalify: 0.1.2 1734 | dev: true 1735 | 1736 | /fs.realpath@1.0.0: 1737 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1738 | dev: true 1739 | 1740 | /fsevents@2.3.2: 1741 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1742 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1743 | os: [darwin] 1744 | requiresBuild: true 1745 | dev: true 1746 | optional: true 1747 | 1748 | /function-bind@1.1.1: 1749 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1750 | dev: true 1751 | 1752 | /glob-parent@5.1.2: 1753 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1754 | engines: {node: '>= 6'} 1755 | dependencies: 1756 | is-glob: 4.0.3 1757 | dev: true 1758 | 1759 | /glob-parent@6.0.2: 1760 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1761 | engines: {node: '>=10.13.0'} 1762 | dependencies: 1763 | is-glob: 4.0.3 1764 | dev: true 1765 | 1766 | /glob@7.2.3: 1767 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1768 | dependencies: 1769 | fs.realpath: 1.0.0 1770 | inflight: 1.0.6 1771 | inherits: 2.0.4 1772 | minimatch: 3.1.2 1773 | once: 1.4.0 1774 | path-is-absolute: 1.0.1 1775 | dev: true 1776 | 1777 | /globals@13.20.0: 1778 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1779 | engines: {node: '>=8'} 1780 | dependencies: 1781 | type-fest: 0.20.2 1782 | dev: true 1783 | 1784 | /globby@11.1.0: 1785 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1786 | engines: {node: '>=10'} 1787 | dependencies: 1788 | array-union: 2.1.0 1789 | dir-glob: 3.0.1 1790 | fast-glob: 3.2.12 1791 | ignore: 5.2.4 1792 | merge2: 1.4.1 1793 | slash: 3.0.0 1794 | dev: true 1795 | 1796 | /graceful-fs@4.2.11: 1797 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1798 | dev: true 1799 | 1800 | /grapheme-splitter@1.0.4: 1801 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1802 | dev: true 1803 | 1804 | /graphemer@1.4.0: 1805 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1806 | dev: true 1807 | 1808 | /has-flag@4.0.0: 1809 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1810 | engines: {node: '>=8'} 1811 | dev: true 1812 | 1813 | /has@1.0.3: 1814 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1815 | engines: {node: '>= 0.4.0'} 1816 | dependencies: 1817 | function-bind: 1.1.1 1818 | dev: true 1819 | 1820 | /ignore@5.2.4: 1821 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1822 | engines: {node: '>= 4'} 1823 | dev: true 1824 | 1825 | /import-fresh@3.3.0: 1826 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1827 | engines: {node: '>=6'} 1828 | dependencies: 1829 | parent-module: 1.0.1 1830 | resolve-from: 4.0.0 1831 | dev: true 1832 | 1833 | /import-lazy@4.0.0: 1834 | resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} 1835 | engines: {node: '>=8'} 1836 | dev: true 1837 | 1838 | /imurmurhash@0.1.4: 1839 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1840 | engines: {node: '>=0.8.19'} 1841 | dev: true 1842 | 1843 | /inflight@1.0.6: 1844 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1845 | dependencies: 1846 | once: 1.4.0 1847 | wrappy: 1.0.2 1848 | dev: true 1849 | 1850 | /inherits@2.0.3: 1851 | resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} 1852 | dev: true 1853 | 1854 | /inherits@2.0.4: 1855 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1856 | dev: true 1857 | 1858 | /is-core-module@2.11.0: 1859 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1860 | dependencies: 1861 | has: 1.0.3 1862 | dev: true 1863 | 1864 | /is-extglob@2.1.1: 1865 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1866 | engines: {node: '>=0.10.0'} 1867 | dev: true 1868 | 1869 | /is-glob@4.0.3: 1870 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1871 | engines: {node: '>=0.10.0'} 1872 | dependencies: 1873 | is-extglob: 2.1.1 1874 | dev: true 1875 | 1876 | /is-number@7.0.0: 1877 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1878 | engines: {node: '>=0.12.0'} 1879 | dev: true 1880 | 1881 | /is-path-inside@3.0.3: 1882 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1883 | engines: {node: '>=8'} 1884 | dev: true 1885 | 1886 | /isexe@2.0.0: 1887 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1888 | dev: true 1889 | 1890 | /jju@1.4.0: 1891 | resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} 1892 | dev: true 1893 | 1894 | /js-yaml@4.1.0: 1895 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1896 | hasBin: true 1897 | dependencies: 1898 | argparse: 2.0.1 1899 | dev: true 1900 | 1901 | /json-schema-traverse@0.4.1: 1902 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1903 | dev: true 1904 | 1905 | /json-stable-stringify-without-jsonify@1.0.1: 1906 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1907 | dev: true 1908 | 1909 | /jsonc-parser@3.2.0: 1910 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1911 | dev: true 1912 | 1913 | /jsonfile@4.0.0: 1914 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1915 | optionalDependencies: 1916 | graceful-fs: 4.2.11 1917 | dev: true 1918 | 1919 | /jsonfile@6.1.0: 1920 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1921 | dependencies: 1922 | universalify: 2.0.0 1923 | optionalDependencies: 1924 | graceful-fs: 4.2.11 1925 | dev: true 1926 | 1927 | /kolorist@1.8.0: 1928 | resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1929 | dev: true 1930 | 1931 | /levn@0.4.1: 1932 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1933 | engines: {node: '>= 0.8.0'} 1934 | dependencies: 1935 | prelude-ls: 1.2.1 1936 | type-check: 0.4.0 1937 | dev: true 1938 | 1939 | /locate-path@6.0.0: 1940 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1941 | engines: {node: '>=10'} 1942 | dependencies: 1943 | p-locate: 5.0.0 1944 | dev: true 1945 | 1946 | /lodash.get@4.4.2: 1947 | resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} 1948 | dev: true 1949 | 1950 | /lodash.isequal@4.5.0: 1951 | resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} 1952 | dev: true 1953 | 1954 | /lodash.merge@4.6.2: 1955 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1956 | dev: true 1957 | 1958 | /lodash@4.17.21: 1959 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1960 | dev: true 1961 | 1962 | /lru-cache@6.0.0: 1963 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1964 | engines: {node: '>=10'} 1965 | dependencies: 1966 | yallist: 4.0.0 1967 | dev: true 1968 | 1969 | /magic-string@0.25.9: 1970 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1971 | dependencies: 1972 | sourcemap-codec: 1.4.8 1973 | dev: true 1974 | 1975 | /magic-string@0.29.0: 1976 | resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} 1977 | engines: {node: '>=12'} 1978 | dependencies: 1979 | '@jridgewell/sourcemap-codec': 1.4.15 1980 | dev: true 1981 | 1982 | /magic-string@0.30.0: 1983 | resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} 1984 | engines: {node: '>=12'} 1985 | dependencies: 1986 | '@jridgewell/sourcemap-codec': 1.4.15 1987 | 1988 | /merge2@1.4.1: 1989 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1990 | engines: {node: '>= 8'} 1991 | dev: true 1992 | 1993 | /micromatch@4.0.5: 1994 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1995 | engines: {node: '>=8.6'} 1996 | dependencies: 1997 | braces: 3.0.2 1998 | picomatch: 2.3.1 1999 | dev: true 2000 | 2001 | /minimatch@3.1.2: 2002 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2003 | dependencies: 2004 | brace-expansion: 1.1.11 2005 | dev: true 2006 | 2007 | /minimatch@7.4.6: 2008 | resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} 2009 | engines: {node: '>=10'} 2010 | dependencies: 2011 | brace-expansion: 2.0.1 2012 | dev: true 2013 | 2014 | /mkdirp@2.1.6: 2015 | resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} 2016 | engines: {node: '>=10'} 2017 | hasBin: true 2018 | dev: true 2019 | 2020 | /ms@2.1.2: 2021 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2022 | dev: true 2023 | 2024 | /nanoid@3.3.4: 2025 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2026 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2027 | hasBin: true 2028 | 2029 | /nanoid@3.3.6: 2030 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 2031 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2032 | hasBin: true 2033 | dev: true 2034 | 2035 | /natural-compare-lite@1.4.0: 2036 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 2037 | dev: true 2038 | 2039 | /natural-compare@1.4.0: 2040 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2041 | dev: true 2042 | 2043 | /nth-check@2.1.1: 2044 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 2045 | dependencies: 2046 | boolbase: 1.0.0 2047 | dev: true 2048 | 2049 | /once@1.4.0: 2050 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2051 | dependencies: 2052 | wrappy: 1.0.2 2053 | dev: true 2054 | 2055 | /optionator@0.9.1: 2056 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2057 | engines: {node: '>= 0.8.0'} 2058 | dependencies: 2059 | deep-is: 0.1.4 2060 | fast-levenshtein: 2.0.6 2061 | levn: 0.4.1 2062 | prelude-ls: 1.2.1 2063 | type-check: 0.4.0 2064 | word-wrap: 1.2.3 2065 | dev: true 2066 | 2067 | /p-limit@3.1.0: 2068 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2069 | engines: {node: '>=10'} 2070 | dependencies: 2071 | yocto-queue: 0.1.0 2072 | dev: true 2073 | 2074 | /p-locate@5.0.0: 2075 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2076 | engines: {node: '>=10'} 2077 | dependencies: 2078 | p-limit: 3.1.0 2079 | dev: true 2080 | 2081 | /parent-module@1.0.1: 2082 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2083 | engines: {node: '>=6'} 2084 | dependencies: 2085 | callsites: 3.1.0 2086 | dev: true 2087 | 2088 | /path-browserify@1.0.1: 2089 | resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} 2090 | dev: true 2091 | 2092 | /path-exists@4.0.0: 2093 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2094 | engines: {node: '>=8'} 2095 | dev: true 2096 | 2097 | /path-is-absolute@1.0.1: 2098 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2099 | engines: {node: '>=0.10.0'} 2100 | dev: true 2101 | 2102 | /path-key@3.1.1: 2103 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2104 | engines: {node: '>=8'} 2105 | dev: true 2106 | 2107 | /path-parse@1.0.7: 2108 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2109 | dev: true 2110 | 2111 | /path-type@4.0.0: 2112 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2113 | engines: {node: '>=8'} 2114 | dev: true 2115 | 2116 | /path@0.12.7: 2117 | resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} 2118 | dependencies: 2119 | process: 0.11.10 2120 | util: 0.10.4 2121 | dev: true 2122 | 2123 | /picocolors@1.0.0: 2124 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2125 | 2126 | /picomatch@2.3.1: 2127 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2128 | engines: {node: '>=8.6'} 2129 | dev: true 2130 | 2131 | /pnpm@8.6.0: 2132 | resolution: {integrity: sha512-uMaWGXlvG+m5NIJaR4JEEenChbg+1AP4zVpqs4PEcZg4uH+lXMTd/X/lirKZA+TC0w0d+++y3btINcwyKsuwAA==} 2133 | engines: {node: '>=16.14'} 2134 | hasBin: true 2135 | dev: true 2136 | 2137 | /postcss-selector-parser@6.0.13: 2138 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} 2139 | engines: {node: '>=4'} 2140 | dependencies: 2141 | cssesc: 3.0.0 2142 | util-deprecate: 1.0.2 2143 | dev: true 2144 | 2145 | /postcss@8.4.18: 2146 | resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} 2147 | engines: {node: ^10 || ^12 || >=14} 2148 | dependencies: 2149 | nanoid: 3.3.4 2150 | picocolors: 1.0.0 2151 | source-map-js: 1.0.2 2152 | 2153 | /postcss@8.4.24: 2154 | resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} 2155 | engines: {node: ^10 || ^12 || >=14} 2156 | dependencies: 2157 | nanoid: 3.3.6 2158 | picocolors: 1.0.0 2159 | source-map-js: 1.0.2 2160 | dev: true 2161 | 2162 | /preact@10.11.2: 2163 | resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} 2164 | dev: true 2165 | 2166 | /prelude-ls@1.2.1: 2167 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2168 | engines: {node: '>= 0.8.0'} 2169 | dev: true 2170 | 2171 | /prettier-linter-helpers@1.0.0: 2172 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 2173 | engines: {node: '>=6.0.0'} 2174 | dependencies: 2175 | fast-diff: 1.3.0 2176 | dev: true 2177 | 2178 | /prettier@2.8.8: 2179 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 2180 | engines: {node: '>=10.13.0'} 2181 | hasBin: true 2182 | dev: true 2183 | 2184 | /process@0.11.10: 2185 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 2186 | engines: {node: '>= 0.6.0'} 2187 | dev: true 2188 | 2189 | /punycode@2.1.1: 2190 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2191 | engines: {node: '>=6'} 2192 | dev: true 2193 | 2194 | /queue-microtask@1.2.3: 2195 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2196 | dev: true 2197 | 2198 | /resolve-from@4.0.0: 2199 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2200 | engines: {node: '>=4'} 2201 | dev: true 2202 | 2203 | /resolve@1.19.0: 2204 | resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} 2205 | dependencies: 2206 | is-core-module: 2.11.0 2207 | path-parse: 1.0.7 2208 | dev: true 2209 | 2210 | /resolve@1.22.1: 2211 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2212 | hasBin: true 2213 | dependencies: 2214 | is-core-module: 2.11.0 2215 | path-parse: 1.0.7 2216 | supports-preserve-symlinks-flag: 1.0.0 2217 | dev: true 2218 | 2219 | /reusify@1.0.4: 2220 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2221 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2222 | dev: true 2223 | 2224 | /rimraf@3.0.2: 2225 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2226 | hasBin: true 2227 | dependencies: 2228 | glob: 7.2.3 2229 | dev: true 2230 | 2231 | /rollup@2.79.1: 2232 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} 2233 | engines: {node: '>=10.0.0'} 2234 | hasBin: true 2235 | optionalDependencies: 2236 | fsevents: 2.3.2 2237 | dev: true 2238 | 2239 | /rollup@3.23.0: 2240 | resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} 2241 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2242 | hasBin: true 2243 | optionalDependencies: 2244 | fsevents: 2.3.2 2245 | dev: true 2246 | 2247 | /run-parallel@1.2.0: 2248 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2249 | dependencies: 2250 | queue-microtask: 1.2.3 2251 | dev: true 2252 | 2253 | /semver@7.3.8: 2254 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 2255 | engines: {node: '>=10'} 2256 | hasBin: true 2257 | dependencies: 2258 | lru-cache: 6.0.0 2259 | dev: true 2260 | 2261 | /shebang-command@2.0.0: 2262 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2263 | engines: {node: '>=8'} 2264 | dependencies: 2265 | shebang-regex: 3.0.0 2266 | dev: true 2267 | 2268 | /shebang-regex@3.0.0: 2269 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2270 | engines: {node: '>=8'} 2271 | dev: true 2272 | 2273 | /shiki@0.11.1: 2274 | resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} 2275 | dependencies: 2276 | jsonc-parser: 3.2.0 2277 | vscode-oniguruma: 1.6.2 2278 | vscode-textmate: 6.0.0 2279 | dev: true 2280 | 2281 | /slash@3.0.0: 2282 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2283 | engines: {node: '>=8'} 2284 | dev: true 2285 | 2286 | /source-map-js@1.0.2: 2287 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2288 | engines: {node: '>=0.10.0'} 2289 | 2290 | /source-map@0.6.1: 2291 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2292 | engines: {node: '>=0.10.0'} 2293 | dev: true 2294 | 2295 | /sourcemap-codec@1.4.8: 2296 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2297 | dev: true 2298 | 2299 | /sprintf-js@1.0.3: 2300 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2301 | dev: true 2302 | 2303 | /string-argv@0.3.2: 2304 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 2305 | engines: {node: '>=0.6.19'} 2306 | dev: true 2307 | 2308 | /strip-ansi@6.0.1: 2309 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2310 | engines: {node: '>=8'} 2311 | dependencies: 2312 | ansi-regex: 5.0.1 2313 | dev: true 2314 | 2315 | /strip-json-comments@3.1.1: 2316 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2317 | engines: {node: '>=8'} 2318 | dev: true 2319 | 2320 | /supports-color@7.2.0: 2321 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2322 | engines: {node: '>=8'} 2323 | dependencies: 2324 | has-flag: 4.0.0 2325 | dev: true 2326 | 2327 | /supports-preserve-symlinks-flag@1.0.0: 2328 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2329 | engines: {node: '>= 0.4'} 2330 | dev: true 2331 | 2332 | /text-table@0.2.0: 2333 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2334 | dev: true 2335 | 2336 | /to-fast-properties@2.0.0: 2337 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2338 | engines: {node: '>=4'} 2339 | 2340 | /to-regex-range@5.0.1: 2341 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2342 | engines: {node: '>=8.0'} 2343 | dependencies: 2344 | is-number: 7.0.0 2345 | dev: true 2346 | 2347 | /ts-morph@18.0.0: 2348 | resolution: {integrity: sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==} 2349 | dependencies: 2350 | '@ts-morph/common': 0.19.0 2351 | code-block-writer: 12.0.0 2352 | dev: true 2353 | 2354 | /tslib@1.14.1: 2355 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2356 | dev: true 2357 | 2358 | /tsutils@3.21.0(typescript@5.0.4): 2359 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2360 | engines: {node: '>= 6'} 2361 | peerDependencies: 2362 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2363 | dependencies: 2364 | tslib: 1.14.1 2365 | typescript: 5.0.4 2366 | dev: true 2367 | 2368 | /type-check@0.4.0: 2369 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2370 | engines: {node: '>= 0.8.0'} 2371 | dependencies: 2372 | prelude-ls: 1.2.1 2373 | dev: true 2374 | 2375 | /type-fest@0.20.2: 2376 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2377 | engines: {node: '>=10'} 2378 | dev: true 2379 | 2380 | /typescript@5.0.4: 2381 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 2382 | engines: {node: '>=12.20'} 2383 | hasBin: true 2384 | dev: true 2385 | 2386 | /universalify@0.1.2: 2387 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2388 | engines: {node: '>= 4.0.0'} 2389 | dev: true 2390 | 2391 | /universalify@2.0.0: 2392 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 2393 | engines: {node: '>= 10.0.0'} 2394 | dev: true 2395 | 2396 | /uri-js@4.4.1: 2397 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2398 | dependencies: 2399 | punycode: 2.1.1 2400 | dev: true 2401 | 2402 | /util-deprecate@1.0.2: 2403 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2404 | dev: true 2405 | 2406 | /util@0.10.4: 2407 | resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} 2408 | dependencies: 2409 | inherits: 2.0.3 2410 | dev: true 2411 | 2412 | /validator@13.9.0: 2413 | resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} 2414 | engines: {node: '>= 0.10'} 2415 | dev: true 2416 | 2417 | /vite-plugin-dts@2.3.0(@types/node@20.2.5)(vite@4.3.9): 2418 | resolution: {integrity: sha512-WbJgGtsStgQhdm3EosYmIdTGbag5YQpZ3HXWUAPCDyoXI5qN6EY0V7NXq0lAmnv9hVQsvh0htbYcg0Or5Db9JQ==} 2419 | engines: {node: ^14.18.0 || >=16.0.0} 2420 | peerDependencies: 2421 | vite: '>=2.9.0' 2422 | dependencies: 2423 | '@babel/parser': 7.22.3 2424 | '@microsoft/api-extractor': 7.35.0(@types/node@20.2.5) 2425 | '@rollup/pluginutils': 5.0.2 2426 | '@rushstack/node-core-library': 3.59.1(@types/node@20.2.5) 2427 | debug: 4.3.4 2428 | fast-glob: 3.2.12 2429 | fs-extra: 10.1.0 2430 | kolorist: 1.8.0 2431 | magic-string: 0.29.0 2432 | ts-morph: 18.0.0 2433 | vite: 4.3.9(@types/node@20.2.5) 2434 | transitivePeerDependencies: 2435 | - '@types/node' 2436 | - rollup 2437 | - supports-color 2438 | dev: true 2439 | 2440 | /vite@3.2.3(@types/node@20.2.5): 2441 | resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==} 2442 | engines: {node: ^14.18.0 || >=16.0.0} 2443 | hasBin: true 2444 | peerDependencies: 2445 | '@types/node': '>= 14' 2446 | less: '*' 2447 | sass: '*' 2448 | stylus: '*' 2449 | sugarss: '*' 2450 | terser: ^5.4.0 2451 | peerDependenciesMeta: 2452 | '@types/node': 2453 | optional: true 2454 | less: 2455 | optional: true 2456 | sass: 2457 | optional: true 2458 | stylus: 2459 | optional: true 2460 | sugarss: 2461 | optional: true 2462 | terser: 2463 | optional: true 2464 | dependencies: 2465 | '@types/node': 20.2.5 2466 | esbuild: 0.15.13 2467 | postcss: 8.4.18 2468 | resolve: 1.22.1 2469 | rollup: 2.79.1 2470 | optionalDependencies: 2471 | fsevents: 2.3.2 2472 | dev: true 2473 | 2474 | /vite@4.3.9(@types/node@20.2.5): 2475 | resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} 2476 | engines: {node: ^14.18.0 || >=16.0.0} 2477 | hasBin: true 2478 | peerDependencies: 2479 | '@types/node': '>= 14' 2480 | less: '*' 2481 | sass: '*' 2482 | stylus: '*' 2483 | sugarss: '*' 2484 | terser: ^5.4.0 2485 | peerDependenciesMeta: 2486 | '@types/node': 2487 | optional: true 2488 | less: 2489 | optional: true 2490 | sass: 2491 | optional: true 2492 | stylus: 2493 | optional: true 2494 | sugarss: 2495 | optional: true 2496 | terser: 2497 | optional: true 2498 | dependencies: 2499 | '@types/node': 20.2.5 2500 | esbuild: 0.17.19 2501 | postcss: 8.4.24 2502 | rollup: 3.23.0 2503 | optionalDependencies: 2504 | fsevents: 2.3.2 2505 | dev: true 2506 | 2507 | /vitepress@1.0.0-alpha.28(@algolia/client-search@4.14.2)(@types/node@20.2.5): 2508 | resolution: {integrity: sha512-pvbLssDMgLUN1terajmPlFBxHSDGO4DqwexKbjFyr7LeELerVuwGrG6F2J1hxmwOlbpLd1kHXEDqGm9JX/kTDQ==} 2509 | hasBin: true 2510 | dependencies: 2511 | '@docsearch/css': 3.3.0 2512 | '@docsearch/js': 3.3.0(@algolia/client-search@4.14.2) 2513 | '@vitejs/plugin-vue': 3.2.0(vite@3.2.3)(vue@3.3.4) 2514 | '@vue/devtools-api': 6.4.5 2515 | '@vueuse/core': 9.5.0(vue@3.3.4) 2516 | body-scroll-lock: 4.0.0-beta.0 2517 | shiki: 0.11.1 2518 | vite: 3.2.3(@types/node@20.2.5) 2519 | vue: 3.3.4 2520 | transitivePeerDependencies: 2521 | - '@algolia/client-search' 2522 | - '@types/node' 2523 | - '@types/react' 2524 | - '@vue/composition-api' 2525 | - less 2526 | - react 2527 | - react-dom 2528 | - sass 2529 | - stylus 2530 | - sugarss 2531 | - terser 2532 | dev: true 2533 | 2534 | /vscode-oniguruma@1.6.2: 2535 | resolution: {integrity: sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==} 2536 | dev: true 2537 | 2538 | /vscode-textmate@6.0.0: 2539 | resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} 2540 | dev: true 2541 | 2542 | /vue-demi@0.13.11(vue@3.3.4): 2543 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} 2544 | engines: {node: '>=12'} 2545 | hasBin: true 2546 | requiresBuild: true 2547 | peerDependencies: 2548 | '@vue/composition-api': ^1.0.0-rc.1 2549 | vue: ^3.0.0-0 || ^2.6.0 2550 | peerDependenciesMeta: 2551 | '@vue/composition-api': 2552 | optional: true 2553 | dependencies: 2554 | vue: 3.3.4 2555 | dev: true 2556 | 2557 | /vue-eslint-parser@9.3.0(eslint@8.41.0): 2558 | resolution: {integrity: sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==} 2559 | engines: {node: ^14.17.0 || >=16.0.0} 2560 | peerDependencies: 2561 | eslint: '>=6.0.0' 2562 | dependencies: 2563 | debug: 4.3.4 2564 | eslint: 8.41.0 2565 | eslint-scope: 7.2.0 2566 | eslint-visitor-keys: 3.4.1 2567 | espree: 9.5.2 2568 | esquery: 1.4.0 2569 | lodash: 4.17.21 2570 | semver: 7.3.8 2571 | transitivePeerDependencies: 2572 | - supports-color 2573 | dev: true 2574 | 2575 | /vue@3.2.44: 2576 | resolution: {integrity: sha512-nyNtFDh+0TpRgYCUVfPD1mJ9PpIsCPXaOF4DeGNIT5vQ4X23ykflGq3Sy2P+tEt1/pQZxZnAysuRKwyhNj+Cjw==} 2577 | dependencies: 2578 | '@vue/compiler-dom': 3.2.44 2579 | '@vue/compiler-sfc': 3.2.44 2580 | '@vue/runtime-dom': 3.2.44 2581 | '@vue/server-renderer': 3.2.44(vue@3.2.44) 2582 | '@vue/shared': 3.2.44 2583 | dev: true 2584 | 2585 | /vue@3.3.4: 2586 | resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} 2587 | dependencies: 2588 | '@vue/compiler-dom': 3.3.4 2589 | '@vue/compiler-sfc': 3.3.4 2590 | '@vue/runtime-dom': 3.3.4 2591 | '@vue/server-renderer': 3.3.4(vue@3.3.4) 2592 | '@vue/shared': 3.3.4 2593 | 2594 | /which@2.0.2: 2595 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2596 | engines: {node: '>= 8'} 2597 | hasBin: true 2598 | dependencies: 2599 | isexe: 2.0.0 2600 | dev: true 2601 | 2602 | /word-wrap@1.2.3: 2603 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2604 | engines: {node: '>=0.10.0'} 2605 | dev: true 2606 | 2607 | /wrappy@1.0.2: 2608 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2609 | dev: true 2610 | 2611 | /xml-name-validator@4.0.0: 2612 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 2613 | engines: {node: '>=12'} 2614 | dev: true 2615 | 2616 | /yallist@4.0.0: 2617 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2618 | dev: true 2619 | 2620 | /yocto-queue@0.1.0: 2621 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2622 | engines: {node: '>=10'} 2623 | dev: true 2624 | 2625 | /z-schema@5.0.5: 2626 | resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} 2627 | engines: {node: '>=8.0.0'} 2628 | hasBin: true 2629 | dependencies: 2630 | lodash.get: 4.4.2 2631 | lodash.isequal: 4.5.0 2632 | validator: 13.9.0 2633 | optionalDependencies: 2634 | commander: 9.5.0 2635 | dev: true 2636 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - docs 3 | - demo 4 | -------------------------------------------------------------------------------- /src/components/InfiniteLoading.vue: -------------------------------------------------------------------------------- 1 | 77 | 78 | 96 | 97 | 127 | -------------------------------------------------------------------------------- /src/components/Spinner.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 30 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import type { Ref } from "vue"; 2 | 3 | export type Target = HTMLElement | string; 4 | 5 | export type State = "" | "loading" | "loaded" | "complete" | "error"; 6 | 7 | export interface StateHandler { 8 | loading: () => void; 9 | loaded: () => void; 10 | complete: () => void; 11 | error: () => void; 12 | } 13 | 14 | export interface Params { 15 | parentEl: Element | null; 16 | distance: number; 17 | top: boolean; 18 | firstload: boolean; 19 | infiniteLoading: Ref; 20 | emit: () => void; 21 | } 22 | 23 | export interface Slots { 24 | complete?: string; 25 | error?: string; 26 | } 27 | 28 | export interface Props { 29 | top?: boolean; 30 | target?: Target; 31 | distance?: number; 32 | identifier?: any; 33 | firstload?: boolean; 34 | slots?: Slots; 35 | } 36 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import { nextTick } from "vue"; 2 | import type { Ref } from "vue"; 3 | import type { Params, Target } from "./types"; 4 | 5 | function isVisible(el: Element, view: Element | null = null): boolean { 6 | if (!el) return false; 7 | 8 | const elRect = el.getBoundingClientRect(); 9 | const viewRect = view 10 | ? view.getBoundingClientRect() 11 | : { top: 0, left: 0, bottom: window.innerHeight, right: window.innerWidth }; 12 | 13 | return ( 14 | elRect.bottom >= viewRect.top && 15 | elRect.top <= viewRect.bottom && 16 | elRect.right >= viewRect.left && 17 | elRect.left <= viewRect.right 18 | ); 19 | } 20 | 21 | async function getParentEl(target?: Ref): Promise { 22 | if (!target) return null; 23 | 24 | await nextTick(); 25 | if (target.value instanceof HTMLElement) return target.value; 26 | return target.value ? document.querySelector(target.value) : null; 27 | } 28 | 29 | function startObserver(params: Params) { 30 | let rootMargin = `0px 0px ${params.distance}px 0px`; 31 | if (params.top) rootMargin = `${params.distance}px 0px 0px 0px`; 32 | const observer = new IntersectionObserver( 33 | entries => { 34 | const entry = entries[0]; 35 | if (entry.isIntersecting) { 36 | if (params.firstload) params.emit(); 37 | params.firstload = true; 38 | } 39 | }, 40 | { root: params.parentEl, rootMargin } 41 | ); 42 | if (params.infiniteLoading.value) observer.observe(params.infiniteLoading.value); 43 | return observer; 44 | } 45 | 46 | async function updateScrollPosition(params: Params, prevHeight: number) { 47 | await nextTick(); 48 | if (!params.top) return; 49 | const parentEl = params.parentEl || document.documentElement; 50 | parentEl.scrollTop = parentEl.scrollHeight - prevHeight; 51 | } 52 | 53 | export { startObserver, isVisible, getParentEl, updateScrollPosition }; 54 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.dom.json", 3 | "include": ["src/**/*.ts", "src/**/*.vue"], 4 | "compilerOptions": { 5 | "allowJs": true, 6 | "declaration": true, 7 | "outDir": "lib", 8 | "declarationDir": "lib", 9 | "paths": { "@root/*": ["./src/*"] }, 10 | "baseUrl": "." 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from "node:url"; 2 | import path from "node:path"; 3 | import { defineConfig } from "vite"; 4 | import vue from "@vitejs/plugin-vue"; 5 | import dts from "vite-plugin-dts"; 6 | 7 | export default defineConfig({ 8 | plugins: [ 9 | vue(), 10 | dts({ 11 | insertTypesEntry: true, 12 | include: ["src/components/InfiniteLoading.vue", "src/types.ts"], 13 | }), 14 | ], 15 | build: { 16 | outDir: "lib", 17 | rollupOptions: { 18 | external: ["vue"], 19 | output: { 20 | exports: "named", 21 | globals: { 22 | vue: "Vue", 23 | }, 24 | }, 25 | }, 26 | lib: { 27 | entry: path.resolve(__dirname, "src/components/InfiniteLoading.vue"), 28 | name: "V3InfiniteLoading", 29 | fileName: format => `v3-infinite-loading.${format}.js`, 30 | formats: ["es", "umd"], 31 | }, 32 | }, 33 | resolve: { 34 | alias: { 35 | "@root": fileURLToPath(new URL("./src", import.meta.url)), 36 | }, 37 | }, 38 | }); 39 | --------------------------------------------------------------------------------