diff --git a/.gitignore b/.gitignore
index 617169f6f..8c2586de6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,7 @@ yarn-error.log*
# Cypress directories and files
/test/cypress/videos
/test/cypress/screenshots
+
+# VitePress directories and files
+/docs/.vitepress/cache
+/docs/.vuepress
diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
new file mode 100644
index 000000000..62601da7b
--- /dev/null
+++ b/docs/.vitepress/config.js
@@ -0,0 +1,38 @@
+import { defineConfig } from 'vitepress';
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: 'Lilium',
+ description: 'Lilium docs',
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+ nav: [
+ { text: 'Home', link: '/' },
+ { text: 'Components', link: '/components/vnInput' },
+ { text: 'Composables', link: '/composables/useArrayData' },
+ ],
+
+ sidebar: [
+ {
+ items: [
+ {
+ text: 'Components',
+ collapsible: true,
+ collapsed: true,
+ items: [{ text: 'VnInput', link: '/components/vnInput' }],
+ },
+ {
+ text: 'Composables',
+ collapsible: true,
+ collapsed: true,
+ items: [
+ { text: 'useArrayData', link: '/composables/useArrayData' },
+ ],
+ },
+ ],
+ },
+ ],
+
+ socialLinks: [{ icon: 'github', link: 'https://github.com/vuejs/vitepress' }],
+ },
+});
diff --git a/docs/components/vnInput.md b/docs/components/vnInput.md
new file mode 100644
index 000000000..33e4348e9
--- /dev/null
+++ b/docs/components/vnInput.md
@@ -0,0 +1,136 @@
+# VnInput
+
+`VnInput` is a custom input component that provides various useful features such as validation, input clearing, and more.
+
+## Props
+
+### `modelValue`
+
+- **Type:** `String | Number`
+- **Default:** `null`
+- **Description:** The value of the model bound to the component.
+
+### `isOutlined`
+
+- **Type:** `Boolean`
+- **Default:** `false`
+- **Description:** If `true`, the component is rendered with an outlined style.
+
+### `info`
+
+- **Type:** `String`
+- **Default:** `''`
+- **Description:** Additional information displayed alongside the component.
+
+### `clearable`
+
+- **Type:** `Boolean`
+- **Default:** `true`
+- **Description:** If `true`, the component shows a button to clear the input.
+
+### `emptyToNull`
+
+- **Type:** `Boolean`
+- **Default:** `true`
+- **Description:** If `true`, converts empty inputs to `null`.
+
+### `insertable`
+
+- **Type:** `Boolean`
+- **Default:** `false`
+- **Description:** If `true`, allows the insertion of new values.
+
+### `maxlength`
+
+- **Type:** `Number`
+- **Default:** `null`
+- **Description:** The maximum number of characters allowed in the input.
+
+### `uppercase`
+
+- **Type:** `Boolean`
+- **Default:** `false`
+- **Description:** If `true`, converts the input text to uppercase.
+
+## Emits
+
+### `update:modelValue`
+
+- **Description:** Emits the updated model value.
+- **Behavior:** This event is emitted whenever the input value changes. It is used to update the model value bound to the component.
+
+### `update:options`
+
+- **Description:** Emits the updated options.
+- **Behavior:** This event is emitted when the component's options change. It is useful for components with dynamic options.
+
+### `keyup.enter`
+
+- **Description:** Emits an event when the Enter key is pressed.
+- **Behavior:** This event is emitted whenever the Enter key is pressed while the input is focused. It can be used to handle specific actions when the input is confirmed.
+
+### `remove`
+
+- **Description:** Emits an event to remove the current value.
+- **Behavior:** This event is emitted when the clear button (close icon) is clicked. It is used to handle the removal of the current input value.
+
+## Functions
+
+### `focus`
+
+- **Description:** Focuses the input.
+- **Behavior:** This function is exposed so it can be called from outside the component. It uses `vnInputRef.value.focus()` to focus the input.
+
+### `handleKeydown`
+
+- **Description:** Handles the `keydown` event of the input.
+- **Behavior:** This function is called whenever a key is pressed while the input is focused. If the pressed key is `Backspace`, it does nothing. If `insertable` is `true` and the pressed key is a number, it calls `handleInsertMode`.
+
+### `handleInsertMode`
+
+- **Description:** Handles the insertion mode of values.
+- **Behavior:** This function is called when `insertable` is `true` and a numeric key is pressed. It inserts the value at the cursor position and updates the input value. Then, it moves the cursor to the correct position.
+
+### `handleUppercase`
+
+- **Description:** Converts the input value to uppercase.
+- **Behavior:** This function is called when the uppercase icon is clicked. It converts the current input value to uppercase.
+
+## Usage
+
+```vue
+
+
+
+
+
+```
diff --git a/docs/composables/useArrayData.md b/docs/composables/useArrayData.md
new file mode 100644
index 000000000..5033097fc
--- /dev/null
+++ b/docs/composables/useArrayData.md
@@ -0,0 +1,215 @@
+# useArrayData
+
+`useArrayData` is a composable function that provides a set of utilities for managing array data in a Vue component. It leverages Pinia for state management and provides various methods for fetching, filtering, and manipulating data.
+
+## Usage
+
+```javascript
+import { useArrayData } from 'src/composables/useArrayData';
+
+const {
+ fetch,
+ applyFilter,
+ addFilter,
+ getCurrentFilter,
+ setCurrentFilter,
+ addFilterWhere,
+ addOrder,
+ deleteOrder,
+ refresh,
+ destroy,
+ loadMore,
+ store,
+ totalRows,
+ updateStateParams,
+ isLoading,
+ deleteOption,
+ reset,
+ resetPagination,
+} = useArrayData('myKey', userOptions);
+```
+
+## Parameters
+
+### `key`
+
+- **Type:** `String`
+- **Description:** A unique key to identify the data store.
+
+### `userOptions`
+
+- **Type:** `Object`
+- **Description:** An object containing user-defined options for configuring the data store.
+
+## Methods
+
+### `fetch`
+
+Fetches data from the server.
+
+#### Parameters
+
+- **`options`** : An object with the following properties:
+- `append` (Boolean): Whether to append the fetched data to the existing data.
+- `updateRouter` (Boolean): Whether to update the router with the current filter.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the fetched data.
+
+### `applyFilter`
+
+Applies a filter to the data.
+
+#### Parameters
+
+- **`filter`** : An object containing the filter criteria.
+- **`params`** : Additional parameters for the filter.
+- **`fetchOptions`** : Options for the fetch method.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the filtered data.
+
+### `addFilter`
+
+Adds a filter to the existing filters.
+
+#### Parameters
+
+- **`filter`** : An object containing the filter criteria.
+- **`params`** : Additional parameters for the filter.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the updated filter and parameters.
+
+### `getCurrentFilter`
+
+Gets the current filter applied to the data.
+
+#### Returns
+
+- **`Object`** : The current filter and parameters.
+
+### `setCurrentFilter`
+
+Sets the current filter for the data.
+
+#### Returns
+
+- **`Object`** : The current filter and parameters.
+
+### `addFilterWhere`
+
+Adds a `where` clause to the existing filters.
+
+#### Parameters
+
+- **`where`** : An object containing the `where` clause.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves when the filter is applied.
+
+### `addOrder`
+
+Adds an order to the existing orders.
+
+#### Parameters
+
+- **`field`** : The field to order by.
+- **`direction`** : The direction of the order (`ASC` or `DESC`).
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the updated order.
+
+### `deleteOrder`
+
+Deletes an order from the existing orders.
+
+#### Parameters
+
+- **`field`** : The field to delete the order for.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves when the order is deleted.
+
+### `refresh`
+
+Refreshes the data by re-fetching it from the server.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the refreshed data.
+
+### `destroy`
+
+Destroys the data store for the given key.
+
+### `loadMore`
+
+Loads more data by incrementing the pagination.
+
+#### Returns
+
+- **`Promise`** : A promise that resolves with the additional data.
+
+### `updateStateParams`
+
+Updates the state parameters with the given data.
+
+#### Parameters
+
+- **`data`** : The data to update the state parameters with.
+
+### `deleteOption`
+
+Deletes an option from the store.
+
+#### Parameters
+
+- **`option`** : The option to delete.
+
+### `reset`
+
+Resets the store to its default state.
+
+#### Parameters
+
+- **`opts`** : An array of options to reset.
+
+### `resetPagination`
+
+Resets the pagination for the store.
+
+## Computed Properties
+
+### `totalRows`
+
+- **Description:** The total number of rows in the data.
+- **Type:** `Number`
+
+### `isLoading`
+
+- **Description:** Whether the data is currently being loaded.
+- **Type:** `Boolean`
+
+```vue
+
+```
+
+```
+
+```
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..814c2c433
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,13 @@
+---
+# https://vitepress.dev/reference/default-theme-home-page
+layout: home
+
+hero:
+ name: 'Lilium'
+ text: 'Lilium docs'
+ tagline: Powered by Verdnatura
+ actions:
+ - theme: brand
+ text: Docs
+ link: /components/vnInput
+---
diff --git a/package.json b/package.json
index 30340dfba..17f39cad7 100644
--- a/package.json
+++ b/package.json
@@ -1,70 +1,74 @@
{
- "name": "salix-front",
- "version": "25.06.0",
- "description": "Salix frontend",
- "productName": "Salix",
- "author": "Verdnatura",
- "private": true,
- "packageManager": "pnpm@8.15.1",
- "type": "module",
- "scripts": {
- "resetDatabase": "cd ../salix && gulp docker",
- "lint": "eslint --ext .js,.vue ./",
- "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore",
- "test:e2e": "cypress open",
- "test:e2e:ci": "npm run resetDatabase && cd ../salix-front && cypress run",
- "test": "echo \"See package.json => scripts for available tests.\" && exit 0",
- "test:unit": "vitest",
- "test:unit:ci": "vitest run",
- "commitlint": "commitlint --edit",
- "prepare": "npx husky install",
- "addReferenceTag": "node .husky/addReferenceTag.js"
- },
- "dependencies": {
- "@quasar/cli": "^2.4.1",
- "@quasar/extras": "^1.16.16",
- "axios": "^1.4.0",
- "chromium": "^3.0.3",
- "croppie": "^2.6.5",
- "moment": "^2.30.1",
- "pinia": "^2.1.3",
- "quasar": "^2.17.7",
- "validator": "^13.9.0",
- "vue": "^3.5.13",
- "vue-i18n": "^9.3.0",
- "vue-router": "^4.2.5"
- },
- "devDependencies": {
- "@commitlint/cli": "^19.2.1",
- "@commitlint/config-conventional": "^19.1.0",
- "@intlify/unplugin-vue-i18n": "^0.8.2",
- "@pinia/testing": "^0.1.2",
- "@quasar/app-vite": "^2.0.8",
- "@quasar/quasar-app-extension-qcalendar": "^4.0.2",
- "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0",
- "@vue/test-utils": "^2.4.4",
- "autoprefixer": "^10.4.14",
- "cypress": "^13.6.6",
- "cypress-mochawesome-reporter": "^3.8.2",
- "eslint": "^9.18.0",
- "eslint-config-prettier": "^10.0.1",
- "eslint-plugin-cypress": "^4.1.0",
- "eslint-plugin-vue": "^9.32.0",
- "husky": "^8.0.0",
- "postcss": "^8.4.23",
- "prettier": "^3.4.2",
- "sass": "^1.83.4",
- "vitest": "^0.34.0"
- },
- "engines": {
- "node": "^20 || ^18 || ^16",
- "npm": ">= 8.1.2",
- "yarn": ">= 1.21.1",
- "bun": ">= 1.0.25"
- },
- "overrides": {
- "@vitejs/plugin-vue": "^5.2.1",
- "vite": "^6.0.11",
- "vitest": "^0.31.1"
- }
-}
+ "name": "salix-front",
+ "version": "25.06.0",
+ "description": "Salix frontend",
+ "productName": "Salix",
+ "author": "Verdnatura",
+ "private": true,
+ "packageManager": "pnpm@8.15.1",
+ "type": "module",
+ "scripts": {
+ "resetDatabase": "cd ../salix && gulp docker",
+ "lint": "eslint --ext .js,.vue ./",
+ "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore",
+ "test:e2e": "cypress open",
+ "test:e2e:ci": "npm run resetDatabase && cd ../salix-front && cypress run",
+ "test": "echo \"See package.json => scripts for available tests.\" && exit 0",
+ "test:unit": "vitest",
+ "test:unit:ci": "vitest run",
+ "commitlint": "commitlint --edit",
+ "prepare": "npx husky install",
+ "addReferenceTag": "node .husky/addReferenceTag.js",
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "docs:preview": "vitepress preview docs"
+ },
+ "dependencies": {
+ "@quasar/cli": "^2.4.1",
+ "@quasar/extras": "^1.16.16",
+ "axios": "^1.4.0",
+ "chromium": "^3.0.3",
+ "croppie": "^2.6.5",
+ "moment": "^2.30.1",
+ "pinia": "^2.1.3",
+ "quasar": "^2.17.7",
+ "validator": "^13.9.0",
+ "vue": "^3.5.13",
+ "vue-i18n": "^9.3.0",
+ "vue-router": "^4.2.5"
+ },
+ "devDependencies": {
+ "@commitlint/cli": "^19.2.1",
+ "@commitlint/config-conventional": "^19.1.0",
+ "@intlify/unplugin-vue-i18n": "^0.8.2",
+ "@pinia/testing": "^0.1.2",
+ "@quasar/app-vite": "^2.0.8",
+ "@quasar/quasar-app-extension-qcalendar": "^4.0.2",
+ "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0",
+ "@vue/test-utils": "^2.4.4",
+ "autoprefixer": "^10.4.14",
+ "cypress": "^13.6.6",
+ "cypress-mochawesome-reporter": "^3.8.2",
+ "eslint": "^9.18.0",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-plugin-cypress": "^4.1.0",
+ "eslint-plugin-vue": "^9.32.0",
+ "husky": "^8.0.0",
+ "postcss": "^8.4.23",
+ "prettier": "^3.4.2",
+ "sass": "^1.83.4",
+ "vitepress": "^1.6.3",
+ "vitest": "^0.34.0"
+ },
+ "engines": {
+ "node": "^20 || ^18 || ^16",
+ "npm": ">= 8.1.2",
+ "yarn": ">= 1.21.1",
+ "bun": ">= 1.0.25"
+ },
+ "overrides": {
+ "@vitejs/plugin-vue": "^5.2.1",
+ "vite": "^6.0.11",
+ "vitest": "^0.31.1"
+ }
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a922425a5..31a01e69c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -100,12 +100,175 @@ devDependencies:
sass:
specifier: ^1.83.4
version: 1.83.4
+ vitepress:
+ specifier: ^1.6.3
+ version: 1.6.3(@algolia/client-search@5.20.0)(@types/node@22.10.7)(axios@1.7.9)(postcss@8.5.1)(sass@1.83.4)(search-insights@2.17.3)(typescript@5.7.3)
vitest:
specifier: ^0.34.0
version: 0.34.6(sass@1.83.4)
packages:
+ /@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3):
+ resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
+ dependencies:
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ - search-insights
+ dev: true
+
+ /@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3):
+ resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
+ peerDependencies:
+ search-insights: '>= 1 < 3'
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - algoliasearch
+ dev: true
+
+ /@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0):
+ resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+ dependencies:
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)
+ '@algolia/client-search': 5.20.0
+ algoliasearch: 5.20.0
+ dev: true
+
+ /@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0):
+ resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
+ peerDependencies:
+ '@algolia/client-search': '>= 4.9.1 < 6'
+ algoliasearch: '>= 4.9.1 < 6'
+ dependencies:
+ '@algolia/client-search': 5.20.0
+ algoliasearch: 5.20.0
+ dev: true
+
+ /@algolia/client-abtesting@5.20.0:
+ resolution: {integrity: sha512-YaEoNc1Xf2Yk6oCfXXkZ4+dIPLulCx8Ivqj0OsdkHWnsI3aOJChY5qsfyHhDBNSOhqn2ilgHWxSfyZrjxBcAww==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/client-analytics@5.20.0:
+ resolution: {integrity: sha512-CIT9ni0+5sYwqehw+t5cesjho3ugKQjPVy/iPiJvtJX4g8Cdb6je6SPt2uX72cf2ISiXCAX9U3cY0nN0efnRDw==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/client-common@5.20.0:
+ resolution: {integrity: sha512-iSTFT3IU8KNpbAHcBUJw2HUrPnMXeXLyGajmCL7gIzWOsYM4GabZDHXOFx93WGiXMti1dymz8k8R+bfHv1YZmA==}
+ engines: {node: '>= 14.0.0'}
+ dev: true
+
+ /@algolia/client-insights@5.20.0:
+ resolution: {integrity: sha512-w9RIojD45z1csvW1vZmAko82fqE/Dm+Ovsy2ElTsjFDB0HMAiLh2FO86hMHbEXDPz6GhHKgGNmBRiRP8dDPgJg==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/client-personalization@5.20.0:
+ resolution: {integrity: sha512-p/hftHhrbiHaEcxubYOzqVV4gUqYWLpTwK+nl2xN3eTrSW9SNuFlAvUBFqPXSVBqc6J5XL9dNKn3y8OA1KElSQ==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/client-query-suggestions@5.20.0:
+ resolution: {integrity: sha512-m4aAuis5vZi7P4gTfiEs6YPrk/9hNTESj3gEmGFgfJw3hO2ubdS4jSId1URd6dGdt0ax2QuapXufcrN58hPUcw==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/client-search@5.20.0:
+ resolution: {integrity: sha512-KL1zWTzrlN4MSiaK1ea560iCA/UewMbS4ZsLQRPoDTWyrbDKVbztkPwwv764LAqgXk0fvkNZvJ3IelcK7DqhjQ==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/ingestion@1.20.0:
+ resolution: {integrity: sha512-shj2lTdzl9un4XJblrgqg54DoK6JeKFO8K8qInMu4XhE2JuB8De6PUuXAQwiRigZupbI0xq8aM0LKdc9+qiLQA==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/monitoring@1.20.0:
+ resolution: {integrity: sha512-aF9blPwOhKtWvkjyyXh9P5peqmhCA1XxLBRgItT+K6pbT0q4hBDQrCid+pQZJYy4HFUKjB/NDDwyzFhj/rwKhw==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/recommend@5.20.0:
+ resolution: {integrity: sha512-T6B/WPdZR3b89/F9Vvk6QCbt/wrLAtrGoL8z4qPXDFApQ8MuTFWbleN/4rHn6APWO3ps+BUePIEbue2rY5MlRw==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
+ /@algolia/requester-browser-xhr@5.20.0:
+ resolution: {integrity: sha512-t6//lXsq8E85JMenHrI6mhViipUT5riNhEfCcvtRsTV+KIBpC6Od18eK864dmBhoc5MubM0f+sGpKOqJIlBSCg==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ dev: true
+
+ /@algolia/requester-fetch@5.20.0:
+ resolution: {integrity: sha512-FHxYGqRY+6bgjKsK4aUsTAg6xMs2S21elPe4Y50GB0Y041ihvw41Vlwy2QS6K9ldoftX4JvXodbKTcmuQxywdQ==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ dev: true
+
+ /@algolia/requester-node-http@5.20.0:
+ resolution: {integrity: sha512-kmtQClq/w3vtPteDSPvaW9SPZL/xrIgMrxZyAgsFwrJk0vJxqyC5/hwHmrCraDnStnGSADnLpBf4SpZnwnkwWw==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-common': 5.20.0
+ dev: true
+
/@babel/code-frame@7.26.2:
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
@@ -347,6 +510,49 @@ packages:
- supports-color
dev: true
+ /@docsearch/css@3.8.2:
+ resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==}
+ dev: true
+
+ /@docsearch/js@3.8.2(@algolia/client-search@5.20.0)(search-insights@2.17.3):
+ resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==}
+ dependencies:
+ '@docsearch/react': 3.8.2(@algolia/client-search@5.20.0)(search-insights@2.17.3)
+ preact: 10.25.4
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/react'
+ - react
+ - react-dom
+ - search-insights
+ dev: true
+
+ /@docsearch/react@3.8.2(@algolia/client-search@5.20.0)(search-insights@2.17.3):
+ resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==}
+ peerDependencies:
+ '@types/react': '>= 16.8.0 < 19.0.0'
+ react: '>= 16.8.0 < 19.0.0'
+ react-dom: '>= 16.8.0 < 19.0.0'
+ search-insights: '>= 1 < 3'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ search-insights:
+ optional: true
+ dependencies:
+ '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3)
+ '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)
+ '@docsearch/css': 3.8.2
+ algoliasearch: 5.20.0
+ search-insights: 2.17.3
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ dev: true
+
/@esbuild/aix-ppc64@0.21.5:
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
@@ -875,6 +1081,16 @@ packages:
engines: {node: '>=18.18'}
dev: true
+ /@iconify-json/simple-icons@1.2.21:
+ resolution: {integrity: sha512-aqbIuVshMZ2fNEhm25//9DoKudboXF3CpoEQJJlHl9gVSVNOTr4cgaCIZvgSEYmys2HHEfmhcpoZIhoEFZS8SQ==}
+ dependencies:
+ '@iconify/types': 2.0.0
+ dev: true
+
+ /@iconify/types@2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: true
+
/@inquirer/figures@1.0.9:
resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==}
engines: {node: '>=18'}
@@ -1568,6 +1784,62 @@ packages:
dev: true
optional: true
+ /@shikijs/core@2.1.0:
+ resolution: {integrity: sha512-v795KDmvs+4oV0XD05YLzfDMe9ISBgNjtFxP4PAEv5DqyeghO1/TwDqs9ca5/E6fuO95IcAcWqR6cCX9TnqLZA==}
+ dependencies:
+ '@shikijs/engine-javascript': 2.1.0
+ '@shikijs/engine-oniguruma': 2.1.0
+ '@shikijs/types': 2.1.0
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.4
+ dev: true
+
+ /@shikijs/engine-javascript@2.1.0:
+ resolution: {integrity: sha512-cgIUdAliOsoaa0rJz/z+jvhrpRd+fVAoixVFEVxUq5FA+tHgBZAIfVJSgJNVRj2hs/wZ1+4hMe82eKAThVh0nQ==}
+ dependencies:
+ '@shikijs/types': 2.1.0
+ '@shikijs/vscode-textmate': 10.0.1
+ oniguruma-to-es: 2.3.0
+ dev: true
+
+ /@shikijs/engine-oniguruma@2.1.0:
+ resolution: {integrity: sha512-Ujik33wEDqgqY2WpjRDUBECGcKPv3eGGkoXPujIXvokLaRmGky8NisSk8lHUGeSFxo/Cz5sgFej9sJmA9yeepg==}
+ dependencies:
+ '@shikijs/types': 2.1.0
+ '@shikijs/vscode-textmate': 10.0.1
+ dev: true
+
+ /@shikijs/langs@2.1.0:
+ resolution: {integrity: sha512-Jn0gS4rPgerMDPj1ydjgFzZr5fAIoMYz4k7ZT3LJxWWBWA6lokK0pumUwVtb+MzXtlpjxOaQejLprmLbvMZyww==}
+ dependencies:
+ '@shikijs/types': 2.1.0
+ dev: true
+
+ /@shikijs/themes@2.1.0:
+ resolution: {integrity: sha512-oS2mU6+bz+8TKutsjBxBA7Z3vrQk21RCmADLpnu8cy3tZD6Rw0FKqDyXNtwX52BuIDKHxZNmRlTdG3vtcYv3NQ==}
+ dependencies:
+ '@shikijs/types': 2.1.0
+ dev: true
+
+ /@shikijs/transformers@2.1.0:
+ resolution: {integrity: sha512-3sfvh6OKUVkT5wZFU1xxiq1qqNIuCwUY3yOb9ZGm19y80UZ/eoroLE2orGNzfivyTxR93GfXXZC/ghPR0/SBow==}
+ dependencies:
+ '@shikijs/core': 2.1.0
+ '@shikijs/types': 2.1.0
+ dev: true
+
+ /@shikijs/types@2.1.0:
+ resolution: {integrity: sha512-OFOdHA6VEVbiQvepJ8yqicC6VmBrKxFFhM2EsHHrZESqLVAXOSeRDiuSYV185lIgp15TVic5vYBYNhTsk1xHLg==}
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+ dev: true
+
+ /@shikijs/vscode-textmate@10.0.1:
+ resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==}
+ dev: true
+
/@sinclair/typebox@0.27.8:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
@@ -1687,6 +1959,12 @@ packages:
resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==}
dev: true
+ /@types/hast@3.0.4:
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ dependencies:
+ '@types/unist': 3.0.3
+ dev: true
+
/@types/http-cache-semantics@4.0.4:
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
dev: false
@@ -1715,6 +1993,27 @@ packages:
'@types/node': 22.10.7
dev: false
+ /@types/linkify-it@5.0.0:
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+ dev: true
+
+ /@types/markdown-it@14.1.2:
+ resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+ dev: true
+
+ /@types/mdast@4.0.4:
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+ dependencies:
+ '@types/unist': 3.0.3
+ dev: true
+
+ /@types/mdurl@2.0.0:
+ resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+ dev: true
+
/@types/mime@1.3.5:
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
dev: true
@@ -1766,6 +2065,14 @@ packages:
resolution: {integrity: sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==}
dev: true
+ /@types/unist@3.0.3:
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ dev: true
+
+ /@types/web-bluetooth@0.0.20:
+ resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ dev: true
+
/@types/yauzl@2.10.3:
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
requiresBuild: true
@@ -1774,6 +2081,21 @@ packages:
dev: true
optional: true
+ /@ungap/structured-clone@1.3.0:
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+ dev: true
+
+ /@vitejs/plugin-vue@5.2.1(vite@5.4.14)(vue@3.5.13):
+ resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0 || ^6.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 5.4.14(@types/node@22.10.7)(sass@1.83.4)
+ vue: 3.5.13(typescript@5.7.3)
+ dev: true
+
/@vitejs/plugin-vue@5.2.1(vite@6.0.11)(vue@3.5.13):
resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -1860,6 +2182,30 @@ packages:
/@vue/devtools-api@6.6.4:
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+ /@vue/devtools-api@7.7.1:
+ resolution: {integrity: sha512-Cexc8GimowoDkJ6eNelOPdYIzsu2mgNyp0scOQ3tiaYSb9iok6LOESSsJvHaI+ib3joRfqRJNLkHFjhNuWA5dg==}
+ dependencies:
+ '@vue/devtools-kit': 7.7.1
+ dev: true
+
+ /@vue/devtools-kit@7.7.1:
+ resolution: {integrity: sha512-yhZ4NPnK/tmxGtLNQxmll90jIIXdb2jAhPF76anvn5M/UkZCiLJy28bYgPIACKZ7FCosyKoaope89/RsFJll1w==}
+ dependencies:
+ '@vue/devtools-shared': 7.7.1
+ birpc: 0.2.19
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.2
+ dev: true
+
+ /@vue/devtools-shared@7.7.1:
+ resolution: {integrity: sha512-BtgF7kHq4BHG23Lezc/3W2UhK2ga7a8ohAIAGJMBr4BkxUFzhqntQtCiuL1ijo2ztWnmusymkirgqUrXoQKumA==}
+ dependencies:
+ rfdc: 1.4.1
+ dev: true
+
/@vue/reactivity@3.5.13:
resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
dependencies:
@@ -1898,6 +2244,79 @@ packages:
vue-component-type-helpers: 2.2.0
dev: true
+ /@vueuse/core@12.5.0(typescript@5.7.3):
+ resolution: {integrity: sha512-GVyH1iYqNANwcahAx8JBm6awaNgvR/SwZ1fjr10b8l1HIgDp82ngNbfzJUgOgWEoxjL+URAggnlilAEXwCOZtg==}
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 12.5.0
+ '@vueuse/shared': 12.5.0(typescript@5.7.3)
+ vue: 3.5.13(typescript@5.7.3)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /@vueuse/integrations@12.5.0(axios@1.7.9)(focus-trap@7.6.4)(typescript@5.7.3):
+ resolution: {integrity: sha512-HYLt8M6mjUfcoUOzyBcX2RjpfapIwHPBmQJtTmXOQW845Y/Osu9VuTJ5kPvnmWJ6IUa05WpblfOwZ+P0G4iZsQ==}
+ peerDependencies:
+ async-validator: ^4
+ axios: ^1
+ change-case: ^5
+ drauu: ^0.4
+ focus-trap: ^7
+ fuse.js: ^7
+ idb-keyval: ^6
+ jwt-decode: ^4
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^7
+ peerDependenciesMeta:
+ async-validator:
+ optional: true
+ axios:
+ optional: true
+ change-case:
+ optional: true
+ drauu:
+ optional: true
+ focus-trap:
+ optional: true
+ fuse.js:
+ optional: true
+ idb-keyval:
+ optional: true
+ jwt-decode:
+ optional: true
+ nprogress:
+ optional: true
+ qrcode:
+ optional: true
+ sortablejs:
+ optional: true
+ universal-cookie:
+ optional: true
+ dependencies:
+ '@vueuse/core': 12.5.0(typescript@5.7.3)
+ '@vueuse/shared': 12.5.0(typescript@5.7.3)
+ axios: 1.7.9
+ focus-trap: 7.6.4
+ vue: 3.5.13(typescript@5.7.3)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /@vueuse/metadata@12.5.0:
+ resolution: {integrity: sha512-Ui7Lo2a7AxrMAXRF+fAp9QsXuwTeeZ8fIB9wsLHqzq9MQk+2gMYE2IGJW48VMJ8ecvCB3z3GsGLKLbSasQ5Qlg==}
+ dev: true
+
+ /@vueuse/shared@12.5.0(typescript@5.7.3):
+ resolution: {integrity: sha512-vMpcL1lStUU6O+kdj6YdHDixh0odjPAUM15uJ9f7MY781jcYkIwFA4iv2EfoIPO6vBmvutI1HxxAwmf0cx5ISQ==}
+ dependencies:
+ vue: 3.5.13(typescript@5.7.3)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
/JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -1986,6 +2405,25 @@ packages:
require-from-string: 2.0.2
dev: true
+ /algoliasearch@5.20.0:
+ resolution: {integrity: sha512-groO71Fvi5SWpxjI9Ia+chy0QBwT61mg6yxJV27f5YFf+Mw+STT75K6SHySpP8Co5LsCrtsbCH5dJZSRtkSKaQ==}
+ engines: {node: '>= 14.0.0'}
+ dependencies:
+ '@algolia/client-abtesting': 5.20.0
+ '@algolia/client-analytics': 5.20.0
+ '@algolia/client-common': 5.20.0
+ '@algolia/client-insights': 5.20.0
+ '@algolia/client-personalization': 5.20.0
+ '@algolia/client-query-suggestions': 5.20.0
+ '@algolia/client-search': 5.20.0
+ '@algolia/ingestion': 1.20.0
+ '@algolia/monitoring': 1.20.0
+ '@algolia/recommend': 5.20.0
+ '@algolia/requester-browser-xhr': 5.20.0
+ '@algolia/requester-fetch': 5.20.0
+ '@algolia/requester-node-http': 5.20.0
+ dev: true
+
/ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
dependencies:
@@ -2145,7 +2583,6 @@ packages:
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
- dev: false
/b4a@1.6.7:
resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
@@ -2180,6 +2617,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /birpc@0.2.19:
+ resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+ dev: true
+
/bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
dependencies:
@@ -2414,6 +2855,10 @@ packages:
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
dev: true
+ /ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ dev: true
+
/chai@4.5.0:
resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==}
engines: {node: '>=4'}
@@ -2439,6 +2884,14 @@ packages:
resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ /character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+ dev: true
+
+ /character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ dev: true
+
/chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
@@ -2623,6 +3076,10 @@ packages:
dependencies:
delayed-stream: 1.0.0
+ /comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ dev: true
+
/commander@10.0.1:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
@@ -2766,6 +3223,13 @@ packages:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
engines: {node: '>= 0.6'}
+ /copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+ dependencies:
+ is-what: 4.1.16
+ dev: true
+
/core-util-is@1.0.2:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
dev: true
@@ -3082,6 +3546,11 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+
/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -3094,6 +3563,12 @@ packages:
dev: true
optional: true
+ /devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
/diff-sequences@29.6.3:
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -3187,6 +3662,10 @@ packages:
sax: 1.1.4
dev: true
+ /emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+ dev: true
+
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -3792,6 +4271,12 @@ packages:
resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
dev: true
+ /focus-trap@7.6.4:
+ resolution: {integrity: sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==}
+ dependencies:
+ tabbable: 6.2.0
+ dev: true
+
/follow-redirects@1.15.9:
resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
engines: {node: '>=4.0'}
@@ -3800,7 +4285,6 @@ packages:
peerDependenciesMeta:
debug:
optional: true
- dev: false
/foreground-child@3.3.0:
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
@@ -4107,11 +4591,37 @@ packages:
dependencies:
function-bind: 1.1.2
+ /hast-util-to-html@9.0.4:
+ resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+ dev: true
+
+ /hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ dependencies:
+ '@types/hast': 3.0.4
+ dev: true
+
/he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
dev: true
+ /hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ dev: true
+
/html-minifier-terser@7.2.0:
resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==}
engines: {node: ^14.13.1 || >=16.0.0}
@@ -4126,6 +4636,10 @@ packages:
terser: 5.37.0
dev: true
+ /html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+ dev: true
+
/http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
dev: false
@@ -4430,6 +4944,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+ dev: true
+
/is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -4809,10 +5328,28 @@ packages:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
+ /mark.js@8.11.1:
+ resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+ dev: true
+
/math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
+ /mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ dev: true
+
/media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
@@ -4837,6 +5374,33 @@ packages:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
+ /micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.1
+ dev: true
+
+ /micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+ dev: true
+
+ /micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+ dev: true
+
+ /micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+ dev: true
+
+ /micromark-util-types@2.0.1:
+ resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==}
+ dev: true
+
/micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
@@ -4921,6 +5485,14 @@ packages:
engines: {node: '>=16 || 14 >=14.17'}
dev: true
+ /minisearch@7.1.1:
+ resolution: {integrity: sha512-b3YZEYCEH4EdCAtYP7OlDyx7FdPwNzuNwLQ34SfJpM9dlbBZzeXndGavTrC+VCiRWomL21SWfMc6SCKO/U2ZNw==}
+ dev: true
+
+ /mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ dev: true
+
/mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
@@ -5154,6 +5726,14 @@ packages:
mimic-fn: 4.0.0
dev: false
+ /oniguruma-to-es@2.3.0:
+ resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==}
+ dependencies:
+ emoji-regex-xs: 1.0.0
+ regex: 5.1.1
+ regex-recursion: 5.1.1
+ dev: true
+
/open@10.1.0:
resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
engines: {node: '>=18'}
@@ -5385,6 +5965,10 @@ packages:
/pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+ /perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+ dev: true
+
/performance-now@2.1.0:
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
dev: true
@@ -5455,6 +6039,10 @@ packages:
picocolors: 1.1.1
source-map-js: 1.2.1
+ /preact@10.25.4:
+ resolution: {integrity: sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==}
+ dev: true
+
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -5501,6 +6089,10 @@ packages:
react-is: 16.13.1
dev: true
+ /property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+ dev: true
+
/proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
@@ -5517,7 +6109,6 @@ packages:
/proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- dev: false
/pseudomap@1.0.2:
resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
@@ -5667,6 +6258,23 @@ packages:
tslib: 1.14.1
dev: true
+ /regex-recursion@5.1.1:
+ resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==}
+ dependencies:
+ regex: 5.1.1
+ regex-utilities: 2.3.0
+ dev: true
+
+ /regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+ dev: true
+
+ /regex@5.1.1:
+ resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==}
+ dependencies:
+ regex-utilities: 2.3.0
+ dev: true
+
/registry-auth-token@5.0.3:
resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==}
engines: {node: '>=14'}
@@ -6089,6 +6697,10 @@ packages:
resolution: {integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==}
dev: true
+ /search-insights@2.17.3:
+ resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+ dev: true
+
/selfsigned@2.4.1:
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
engines: {node: '>=10'}
@@ -6174,6 +6786,19 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ /shiki@2.1.0:
+ resolution: {integrity: sha512-yvKPdNGLXZv7WC4bl7JBbU3CEcUxnBanvMez8MG3gZXKpClGL4bHqFyLhTx+2zUvbjClUANs/S22HXb7aeOgmA==}
+ dependencies:
+ '@shikijs/core': 2.1.0
+ '@shikijs/engine-javascript': 2.1.0
+ '@shikijs/engine-oniguruma': 2.1.0
+ '@shikijs/langs': 2.1.0
+ '@shikijs/themes': 2.1.0
+ '@shikijs/types': 2.1.0
+ '@shikijs/vscode-textmate': 10.0.1
+ '@types/hast': 3.0.4
+ dev: true
+
/side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
engines: {node: '>= 0.4'}
@@ -6266,6 +6891,15 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ dev: true
+
+ /speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/split2@4.2.0:
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
engines: {node: '>= 10.x'}
@@ -6341,6 +6975,13 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+ dev: true
+
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -6397,6 +7038,13 @@ packages:
ts-interface-checker: 0.1.13
dev: true
+ /superjson@2.2.2:
+ resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
+ engines: {node: '>=16'}
+ dependencies:
+ copy-anything: 3.0.5
+ dev: true
+
/supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -6422,6 +7070,10 @@ packages:
engines: {node: '>=16.0.0'}
dev: true
+ /tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+ dev: true
+
/tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
dependencies:
@@ -6558,6 +7210,10 @@ packages:
hasBin: true
dev: true
+ /trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ dev: true
+
/ts-essentials@9.4.2(typescript@5.7.3):
resolution: {integrity: sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==}
peerDependencies:
@@ -6696,6 +7352,39 @@ packages:
crypto-random-string: 4.0.0
dev: false
+ /unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+ dependencies:
+ '@types/unist': 3.0.3
+ dev: true
+
+ /unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ dependencies:
+ '@types/unist': 3.0.3
+ dev: true
+
+ /unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+ dependencies:
+ '@types/unist': 3.0.3
+ dev: true
+
+ /unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ dev: true
+
+ /unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+ dev: true
+
/universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
@@ -6791,6 +7480,20 @@ packages:
extsprintf: 1.3.0
dev: true
+ /vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+ dev: true
+
+ /vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.2
+ dev: true
+
/vite-jsconfig-paths@2.0.1(vite@6.0.11):
resolution: {integrity: sha512-rabcTTfKs0MdAsQWcZjbIMo5fcp6jthZce7uFEPgVPgpSY+RNOwjzIJOPES6cB/GJZLSoLGfHM9kt5HNmJvp7A==}
peerDependencies:
@@ -6935,6 +7638,65 @@ packages:
fsevents: 2.3.3
dev: true
+ /vitepress@1.6.3(@algolia/client-search@5.20.0)(@types/node@22.10.7)(axios@1.7.9)(postcss@8.5.1)(sass@1.83.4)(search-insights@2.17.3)(typescript@5.7.3):
+ resolution: {integrity: sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==}
+ hasBin: true
+ peerDependencies:
+ markdown-it-mathjax3: ^4
+ postcss: ^8
+ peerDependenciesMeta:
+ markdown-it-mathjax3:
+ optional: true
+ postcss:
+ optional: true
+ dependencies:
+ '@docsearch/css': 3.8.2
+ '@docsearch/js': 3.8.2(@algolia/client-search@5.20.0)(search-insights@2.17.3)
+ '@iconify-json/simple-icons': 1.2.21
+ '@shikijs/core': 2.1.0
+ '@shikijs/transformers': 2.1.0
+ '@shikijs/types': 2.1.0
+ '@types/markdown-it': 14.1.2
+ '@vitejs/plugin-vue': 5.2.1(vite@5.4.14)(vue@3.5.13)
+ '@vue/devtools-api': 7.7.1
+ '@vue/shared': 3.5.13
+ '@vueuse/core': 12.5.0(typescript@5.7.3)
+ '@vueuse/integrations': 12.5.0(axios@1.7.9)(focus-trap@7.6.4)(typescript@5.7.3)
+ focus-trap: 7.6.4
+ mark.js: 8.11.1
+ minisearch: 7.1.1
+ postcss: 8.5.1
+ shiki: 2.1.0
+ vite: 5.4.14(@types/node@22.10.7)(sass@1.83.4)
+ vue: 3.5.13(typescript@5.7.3)
+ transitivePeerDependencies:
+ - '@algolia/client-search'
+ - '@types/node'
+ - '@types/react'
+ - async-validator
+ - axios
+ - change-case
+ - drauu
+ - fuse.js
+ - idb-keyval
+ - jwt-decode
+ - less
+ - lightningcss
+ - nprogress
+ - qrcode
+ - react
+ - react-dom
+ - sass
+ - sass-embedded
+ - search-insights
+ - sortablejs
+ - stylus
+ - sugarss
+ - terser
+ - typescript
+ - universal-cookie
+ dev: true
+
/vitest@0.34.6(sass@1.83.4):
resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==}
engines: {node: '>=v14.18.0'}
@@ -7321,3 +8083,7 @@ packages:
compress-commons: 6.0.2
readable-stream: 4.7.0
dev: true
+
+ /zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ dev: true