From 7c70ad8296611428d8337c64aa142b4e9a57f8c2 Mon Sep 17 00:00:00 2001 From: Prazdevs Date: Thu, 29 Aug 2024 04:25:40 +0200 Subject: [PATCH] docs: setup twoslash --- README.md | 8 +- docs/.vitepress/config.ts | 73 --- docs/.vitepress/config/en.ts | 69 +++ docs/.vitepress/config/index.ts | 44 ++ docs/.vitepress/theme/index.ts | 6 +- docs/.vitepress/theme/style.css | 258 +++++++--- docs/api-examples.md | 49 -- docs/frameworks/nuxt.md | 1 + docs/frameworks/others.md | 1 + docs/guide/index.md | 74 +++ docs/index.md | 3 +- docs/markdown-examples.md | 85 ---- docs/public/{logo.svg => logo-dark.svg} | 16 +- docs/public/logo-light.svg | 10 + package.json | 2 + pnpm-lock.yaml | 600 ++++++++++++++++++++++++ 16 files changed, 1023 insertions(+), 276 deletions(-) delete mode 100644 docs/.vitepress/config.ts create mode 100644 docs/.vitepress/config/en.ts create mode 100644 docs/.vitepress/config/index.ts delete mode 100644 docs/api-examples.md create mode 100644 docs/frameworks/nuxt.md create mode 100644 docs/frameworks/others.md create mode 100644 docs/guide/index.md delete mode 100644 docs/markdown-examples.md rename docs/public/{logo.svg => logo-dark.svg} (70%) create mode 100644 docs/public/logo-light.svg diff --git a/README.md b/README.md index 191184e..0f460b3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ > You are currently viewing upcoming v4 of the package. If you are looking for v3, look into the [v3 branch](https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v3).

- +

@@ -12,9 +12,9 @@ Configurable persistence and rehydration of Pinia stores.

- npm - minizipped size - license + npm + minizipped size + license

Documentation diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts deleted file mode 100644 index 8fa1b9f..0000000 --- a/docs/.vitepress/config.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { defineConfig } from 'vitepress' -import { version } from '../../package.json' - -// https://vitepress.dev/reference/site-config -export default defineConfig({ - title: 'Pinia Plugin Persistedstate', - head: [ - ['link', { rel: 'icon', href: '/favicon.ico' }], - ], - themeConfig: { - logo: '/logo.svg', - socialLinks: [ - { icon: 'github', link: 'https://github.com/prazdevs/pinia-plugin-persistedstate' }, - ], - }, - - locales: { - root: { - label: 'English', - lang: 'en', - description: 'Configurable persistence of Pinia stores.', - themeConfig: { - nav: [ - { text: 'Guide', link: '/guide' }, - { text: 'Nuxt', link: '/nuxt' }, - { - text: `v${version}`, - items: [ - { - items: [{ - text: 'Release Notes', - link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/releases', - }], - }, - { - text: 'Versions', - items: [ - { - text: `${version} (Current)`, - activeMatch: '/', - link: '#', - }, - { - text: '3.2.1', - link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v3', - }, - { - text: '2.4.0', - link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v2', - }, - { - text: '1.6.3', - link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v2', - }, - ], - }, - ], - }, - ], - - sidebar: [ - { - text: 'Examples', - items: [ - { text: 'Markdown Examples', link: '/markdown-examples' }, - { text: 'Runtime API Examples', link: '/api-examples' }, - ], - }, - ], - }, - }, - }, -}) diff --git a/docs/.vitepress/config/en.ts b/docs/.vitepress/config/en.ts new file mode 100644 index 0000000..5431699 --- /dev/null +++ b/docs/.vitepress/config/en.ts @@ -0,0 +1,69 @@ +import type { DefaultTheme, LocaleSpecificConfig } from 'vitepress' +import { version } from '../../../package.json' + +export const en: LocaleSpecificConfig = { + description: 'Configurable persistence of Pinia stores.', + themeConfig: { + editLink: { + text: 'Suggest changes to this page', + pattern: 'https://github.com/prazdevs/pinia-plugin-persistedstate/edit/main/docs/:path', + }, + nav: [ + { text: 'Guide', link: '/guide' }, + { + text: 'Frameworks', + items: [ + { text: 'Nuxt', link: '/frameworks/nuxt' }, + { text: 'Others', link: '/frameworks/others' }, + ], + }, + { + text: `v${version}`, + items: [ + { + items: [{ + text: 'Release Notes', + link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/releases', + }], + }, + { + text: 'Versions', + items: [ + { + text: `${version} (Current)`, + activeMatch: '/', + link: '#', + }, + { + text: '3.2.2', + link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v3', + }, + { + text: '2.4.0', + link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v2', + }, + { + text: '1.6.3', + link: 'https://github.com/prazdevs/pinia-plugin-persistedstate/tree/v2', + }, + ], + }, + ], + }, + ], + sidebar: [ + { + text: 'Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' }, + ], + }, + ], + footer: { + message: 'Released under the MIT License.', + copyright: 'Copyright © 2021-present Sacha Bouillez', + }, + + }, +} diff --git a/docs/.vitepress/config/index.ts b/docs/.vitepress/config/index.ts new file mode 100644 index 0000000..91ce893 --- /dev/null +++ b/docs/.vitepress/config/index.ts @@ -0,0 +1,44 @@ +import { defineConfig } from 'vitepress' +import { transformerTwoslash } from '@shikijs/vitepress-twoslash' +import { en } from './en' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: 'Pinia Plugin Persistedstate', + head: [['link', { rel: 'icon', href: '/favicon.ico' }]], + lastUpdated: true, + markdown: { + codeTransformers: [ + transformerTwoslash(), + ], + theme: { + dark: 'catppuccin-mocha', + light: 'catppuccin-latte', + }, + }, + themeConfig: { + logo: { + light: '/logo-light.svg', + dark: '/logo-dark.svg', + }, + search: { + provider: 'algolia', + options: { + appId: '90OL5Y5T3K', + apiKey: '20f9f00e8b98bae16d443559f1879aa9', + indexName: 'pinia-plugin-persistedstate', + }, + }, + socialLinks: [ + { icon: 'github', link: 'https://github.com/prazdevs/pinia-plugin-persistedstate' }, + ], + externalLinkIcon: true, + }, + locales: { + root: { + label: 'English', + lang: 'en', + ...en, + }, + }, +}) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 2382aa2..6b9dbf4 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -2,6 +2,8 @@ import { h } from 'vue' import type { Theme } from 'vitepress' import DefaultTheme from 'vitepress/theme' +import TwoslashClient from '@shikijs/vitepress-twoslash/client' +import '@shikijs/vitepress-twoslash/style.css' import './style.css' export default { @@ -11,7 +13,7 @@ export default { // https://vitepress.dev/guide/extending-default-theme#layout-slots }) }, - enhanceApp() { - // ... + enhanceApp({ app }) { + app.use(TwoslashClient) }, } satisfies Theme diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index 914a8d7..ec2b624 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -44,44 +44,198 @@ * -------------------------------------------------------------------------- */ :root { - --vp-c-pink-1: #fd5e87; - --vp-c-pink-2: #fd7e9f; - --vp-c-pink-3: #fe9eb7; - --vp-c-pink-soft: rgba(253, 94,135, 0.14); - - --vp-c-bg: #fff8f0; - --vp-c-bg-alt: #f8f0e9; - --vp-c-bg-elv: #fff8f0; - --vp-c-bg-soft: #f8f0e9; + --vp-c-gray-1: #7c7f93; + --vp-c-gray-2: #8c8fa1; + --vp-c-gray-3: #9ca0b0; + --vp-c-gray-soft: rgba(124, 127, 147, 0.14); + + --vp-c-indigo-1: #1e66f5; + --vp-c-indigo-2: #4b85f7; + --vp-c-indigo-3: #78a3f9; + --vp-c-indigo-soft: rgba(30, 102, 245, 0.14); + + --vp-c-purple-1: #8839ef; + --vp-c-purple-2: #a061f2; + --vp-c-purple-3: #b888f5; + --vp-c-purple-soft: rgba(136, 57, 239, 0.14); + + --vp-c-green-1: #40a02b; + --vp-c-green-2: #66b355; + --vp-c-green-3: #8cc680; + --vp-c-green-soft: rgba(64, 160, 43, 0.14); + + --vp-c-yellow-1: #df8e1d; + --vp-c-yellow-2: #e5a54a; + --vp-c-yellow-3: #ecbb77; + --vp-c-yellow-soft: rgba(223, 142, 29, 0.14); + + --vp-c-red-1: #d20f39; + --vp-c-red-2: #db3f61; + --vp-c-red-3: #e46f88; + --vp-c-red-soft: rgba(210, 15, 57, 0.14); +} + +.dark { + --vp-c-gray-1: #9399b2; + --vp-c-gray-2: #7f849c; + --vp-c-gray-3: #6c7086; + --vp-c-gray-soft: rgba(147, 153, 178, 0.16); + + --vp-c-indigo-1: #89b4fa; + --vp-c-indigo-2: #6e90c8; + --vp-c-indigo-3: #526c96; + --vp-c-indigo-soft: rgba(137, 180, 250, 0.16); + + --vp-c-purple-1: #cba6f7; + --vp-c-purple-2: #a285c6; + --vp-c-purple-3: #7a6494; + --vp-c-purple-soft: rgba(203, 166, 247, 0.16); + + --vp-c-green-1: #a6e3a1; + --vp-c-green-2: #85b681; + --vp-c-green-3: #648861; + --vp-c-green-soft: rgba(166, 227, 161, 0.16); + + --vp-c-yellow-1: #f9e2af; + --vp-c-yellow-2: #c7b58c; + --vp-c-yellow-3: #958869; + --vp-c-yellow-soft: rgba(249, 226, 175, 0.16); + + --vp-c-red-1: #f38ba8; + --vp-c-red-2: #c26f86; + --vp-c-red-3: #925365; + --vp-c-red-soft: rgba(243, 139, 168, 0.16); + + +} + +/** + * Colors: Background + * + * - `bg`: The bg color used for main screen. + * + * - `bg-alt`: The alternative bg color used in places such as "sidebar", + * or "code block". + * + * - `bg-elv`: The elevated bg color. This is used at parts where it "floats", + * such as "dialog". + * + * - `bg-soft`: The bg color to slightly distinguish some components from + * the page. Used for things like "carbon ads" or "table". + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-bg: #eff1f5; + --vp-c-bg-alt: #e6e9ef; + --vp-c-bg-elv: #eff1f5; + --vp-c-bg-soft: #e6e9ef; +} + +.dark { + --vp-c-bg: #11111b; + --vp-c-bg-alt: #181825; + --vp-c-bg-elv: #1e1e2e; + --vp-c-bg-soft: #1e1e2e; +} + +/** + * Colors: Borders + * + * - `divider`: This is used for separators. This is used to divide sections + * within the same components, such as having separator on "h2" heading. + * + * - `border`: This is designed for borders on interactive components. + * For example this should be used for a button outline. + * + * - `gutter`: This is used to divide components in the page. For example + * the header and the lest of the page. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-border: #acb0be; + --vp-c-divider: #bcc0cc; + --vp-c-gutter: #ccd0da; +} + +.dark { + --vp-c-border: #585b70; + --vp-c-divider: #45475a; + --vp-c-gutter: #313244; +} + +/** + * Colors: Text + * + * - `text-1`: Used for primary text. + * + * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts". + * + * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon". + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-text-1: #4c4f69; + --vp-c-text-2: #5c5f77; + --vp-c-text-3: #6c6f85; } .dark { - --vp-c-pink-1: #fd5e87; - --vp-c-pink-2: #ca4b6c; - --vp-c-pink-3: #983851; - --vp-c-pink-soft: rgba(253, 94,135, 0.16); - - --vp-c-bg: #352c34; - --vp-c-bg-alt: #2a232a; - --vp-c-bg-elv: #352c34; - --vp-c-bg-soft: #2a232a; + --vp-c-text-1: #cdd6f4; + --vp-c-text-2: #bac2de; + --vp-c-text-3: #a6adc8; } +/** + * Colors: Function + * + * - `default`: The color used purely for subtle indication without any + * special meanings attached to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * + * To understand the scaling system, refer to "Colors: Palette" section. + * -------------------------------------------------------------------------- */ + :root { --vp-c-default-1: var(--vp-c-gray-1); --vp-c-default-2: var(--vp-c-gray-2); --vp-c-default-3: var(--vp-c-gray-3); --vp-c-default-soft: var(--vp-c-gray-soft); - --vp-c-brand-1: var(--vp-c-pink-1); - --vp-c-brand-2: var(--vp-c-pink-2); - --vp-c-brand-3: var(--vp-c-pink-3); - --vp-c-brand-soft: var(--vp-c-pink-soft); + --vp-c-brand-1: var(--vp-c-purple-1); + --vp-c-brand-2: var(--vp-c-purple-2); + --vp-c-brand-3: var(--vp-c-purple-3); + --vp-c-brand-soft: var(--vp-c-purple-soft); + + --vp-c-tip-1: var(--vp-c-green-1); + --vp-c-tip-2: var(--vp-c-green-2); + --vp-c-tip-3: var(--vp-c-green-3); + --vp-c-tip-soft: var(--vp-c-green-soft); + + --vp-c-note-1: var(--vp-c-indigo-1); + --vp-c-note-2: var(--vp-c-indigo-2); + --vp-c-note-3: var(--vp-c-indigo-3); + --vp-c-note-soft: var(--vp-c-indigo-soft); - --vp-c-tip-1: var(--vp-c-brand-1); - --vp-c-tip-2: var(--vp-c-brand-2); - --vp-c-tip-3: var(--vp-c-brand-3); - --vp-c-tip-soft: var(--vp-c-brand-soft); + --vp-c-success-1: var(--vp-c-green-1); + --vp-c-success-2: var(--vp-c-green-2); + --vp-c-success-3: var(--vp-c-green-3); + --vp-c-success-soft: var(--vp-c-green-soft); + + --vp-c-important-1: var(--vp-c-purple-1); + --vp-c-important-2: var(--vp-c-purple-2); + --vp-c-important-3: var(--vp-c-purple-3); + --vp-c-important-soft: var(--vp-c-purple-soft); --vp-c-warning-1: var(--vp-c-yellow-1); --vp-c-warning-2: var(--vp-c-yellow-2); @@ -92,6 +246,11 @@ --vp-c-danger-2: var(--vp-c-red-2); --vp-c-danger-3: var(--vp-c-red-3); --vp-c-danger-soft: var(--vp-c-red-soft); + + --vp-c-caution-1: var(--vp-c-red-1); + --vp-c-caution-2: var(--vp-c-red-2); + --vp-c-caution-3: var(--vp-c-red-3); + --vp-c-caution-soft: var(--vp-c-red-soft); } /** @@ -108,6 +267,16 @@ --vp-button-brand-active-border: transparent; --vp-button-brand-active-text: var(--vp-c-white); --vp-button-brand-active-bg: var(--vp-c-brand-1); + + --vp-button-alt-border: transparent; + --vp-button-alt-text: var(--vp-c-white); + --vp-button-alt-bg: var(--vp-c-default-3); + --vp-button-alt-hover-border: transparent; + --vp-button-alt-hover-text: var(--vp-c-white); + --vp-button-alt-hover-bg: var(--vp-c-default-2); + --vp-button-alt-active-border: transparent; + --vp-button-alt-active-text: var(--vp-c-white); + --vp-button-alt-active-bg: var(--vp-c-default-1); } /** @@ -118,14 +287,14 @@ --vp-home-hero-name-color: transparent; --vp-home-hero-name-background: -webkit-linear-gradient( 120deg, - #fd5e87 30%, - #fd6e93 + #8839ef 30%, + #5f28a7 ); --vp-home-hero-image-background-image: linear-gradient( -45deg, - #feafc3 50%, - #febfcf 50% + #e7d7fc 50%, + #e7d7fc 50% ); --vp-home-hero-image-filter: blur(44px); } @@ -133,14 +302,14 @@ .dark { --vp-home-hero-name-background: -webkit-linear-gradient( 120deg, - #fd5e87 30%, - #e4557a + #cba6f7 30%, + #dbc1f9 ); --vp-home-hero-image-background-image: linear-gradient( -45deg, - #7f2f44 50%, - #652636 50% + #514263 50%, + #514263 50% ); } @@ -158,24 +327,5 @@ :root { --vp-nav-logo-height: 36px; + --vp-sidebar-width: 300px; } - -/** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - -:root { - --vp-custom-block-tip-border: transparent; - --vp-custom-block-tip-text: var(--vp-c-text-1); - --vp-custom-block-tip-bg: var(--vp-c-brand-soft); - --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); -} - -/** - * Component: Algolia - * -------------------------------------------------------------------------- */ - -.DocSearch { - --docsearch-primary-color: var(--vp-c-brand-1) !important; -} - diff --git a/docs/api-examples.md b/docs/api-examples.md deleted file mode 100644 index 6bd8bb5..0000000 --- a/docs/api-examples.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -outline: deep ---- - -# Runtime API Examples - -This page demonstrates usage of some of the runtime APIs provided by VitePress. - -The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: - -```md - - -## Results - -### Theme Data -

{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
-``` - - - -## Results - -### Theme Data -
{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
- -## More - -Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/frameworks/nuxt.md b/docs/frameworks/nuxt.md new file mode 100644 index 0000000..ee08800 --- /dev/null +++ b/docs/frameworks/nuxt.md @@ -0,0 +1 @@ +# Usage with Nuxt diff --git a/docs/frameworks/others.md b/docs/frameworks/others.md new file mode 100644 index 0000000..fdbf25f --- /dev/null +++ b/docs/frameworks/others.md @@ -0,0 +1 @@ +# Usage with other Vue frameworks diff --git a/docs/guide/index.md b/docs/guide/index.md new file mode 100644 index 0000000..c49dbc6 --- /dev/null +++ b/docs/guide/index.md @@ -0,0 +1,74 @@ +# Getting Started + +## Overview + +This plugin is compatible with `pinia>=2.0.0`, make sure you have [Pinia installed](https://pinia.vuejs.org/getting-started.html) before proceeding. `pinia-plugin-persistedstate` comes with many features to make persistence of Pinia stores effortless and configurable with: + +- An API similar to [`vuex-persistedstate`](https://github.com/robinvdvleuten/vuex-persistedstate). +- Per-store configuration. +- Custom storage and custom data serializer. +- Pre/post persistence/hydration hooks. +- Multiple configurations per store. + +> [!TIP] Using Nuxt ? +> This package provides a module for a better Nuxt integration with out of the box SSR support. Learn more about it in [its documentation](/frameworks/nuxt). + +## Installation + +1. Install the dependency with your favorite package manager: + ::: code-group + ```sh [pnpm] + pnpm add pinia-plugin-persistedstate + ``` + ```sh [npm] + npm i pinia-plugin-persistedstate + ``` + ```sh [yarn] + yarn add pinia-plugin-persistedstate + ``` + ::: + +2. Add the plugin to your pinia instance: +```ts +import { createPinia } from 'pinia' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' + +const pinia = createPinia() +pinia.use(piniaPluginPersistedstate) +``` + +## Usage + +When declaring your store, set the new `persist` option to `true`. + +::: code-group +```ts [setup syntax] +import { defineStore } from 'pinia' +import { ref } from 'vue' + +export const useStore = defineStore( + 'main', + () => { + const someState = ref('hello pinia') + return { someState } + }, + { + persist: true, + }, +) +``` +```ts [option syntax] +import { defineStore } from 'pinia' + +export const useStore = defineStore('main', { + state: () => { + return { + someState: 'hello pinia', + } + }, + persist: true, +}) +``` +::: + +Your whole store will now be saved with the [default persistence settings](/guide/config). diff --git a/docs/index.md b/docs/index.md index f4d675e..35ad0be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,7 +14,8 @@ hero: text: View on GitHub link: https://github.com/prazdevs/pinia-plugin-persistedstate image: - src: /logo.svg + light: /logo-light.svg + dark: /logo-dark.svg alt: Pinia Plugin Persistedstate features: diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md deleted file mode 100644 index f9258a5..0000000 --- a/docs/markdown-examples.md +++ /dev/null @@ -1,85 +0,0 @@ -# Markdown Extension Examples - -This page demonstrates some of the built-in markdown extensions provided by VitePress. - -## Syntax Highlighting - -VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: - -**Input** - -````md -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` -```` - -**Output** - -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` - -## Custom Containers - -**Input** - -```md -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: -``` - -**Output** - -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: - -## More - -Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/docs/public/logo.svg b/docs/public/logo-dark.svg similarity index 70% rename from docs/public/logo.svg rename to docs/public/logo-dark.svg index c36da1c..1aeac5b 100644 --- a/docs/public/logo.svg +++ b/docs/public/logo-dark.svg @@ -1,10 +1,10 @@ - - - - - - - - + + + + + + + + diff --git a/docs/public/logo-light.svg b/docs/public/logo-light.svg new file mode 100644 index 0000000..5f30e17 --- /dev/null +++ b/docs/public/logo-light.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/package.json b/package.json index de5375a..6171d4d 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@nuxt/schema": "^3.13.0", "@nuxt/test-utils": "^3.14.1", "@pinia/nuxt": "^0.5.4", + "@shikijs/vitepress-twoslash": "^1.14.1", "@types/node": "^22.5.0", "changelogen": "^0.5.5", "eslint": "^9.9.1", @@ -78,6 +79,7 @@ "lint-staged": "^15.2.9", "nuxt": "^3.13.0", "pinia": "^2.2.2", + "pinia-plugin-persistedstate": "link:", "simple-git-hooks": "^2.11.1", "tsup": "^8.2.4", "typescript": "^5.5.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ad2d71..0724d95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,6 +36,9 @@ importers: '@pinia/nuxt': specifier: ^0.5.4 version: 0.5.4(magicast@0.3.5)(rollup@4.21.1)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + '@shikijs/vitepress-twoslash': + specifier: ^1.14.1 + version: 1.14.1(@nuxt/kit@3.13.0(magicast@0.3.5)(rollup@4.21.1))(typescript@5.5.4) '@types/node': specifier: ^22.5.0 version: 22.5.1 @@ -57,6 +60,9 @@ importers: pinia: specifier: ^2.2.2 version: 2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + pinia-plugin-persistedstate: + specifier: 'link:' + version: 'link:' simple-git-hooks: specifier: ^2.11.1 version: 2.11.1 @@ -991,6 +997,15 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} + '@floating-ui/core@1.6.7': + resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + + '@floating-ui/dom@1.1.1': + resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} + + '@floating-ui/utils@0.2.7': + resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -1403,6 +1418,12 @@ packages: '@shikijs/transformers@1.14.1': resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==} + '@shikijs/twoslash@1.14.1': + resolution: {integrity: sha512-b0krVIqVCpdh9Gji+gTSJp0n2KyepPmnjKEDs+dUb765MUcyfN9qK/vRr7fA/YdAJxab8IDpz1GbLl0GuzAyFQ==} + + '@shikijs/vitepress-twoslash@1.14.1': + resolution: {integrity: sha512-LgNRK3Ls8sbydonMFNOxz0R2WGscUa6HI6kcS7VeiMaoqPWs0PF8XHTNSyo+hCdIRa6jhlx4FbD2EbY4UpK6ZQ==} + '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -1440,6 +1461,9 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint@8.56.12': resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} @@ -1467,9 +1491,15 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/node@22.5.1': resolution: {integrity: sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==} @@ -1482,6 +1512,9 @@ packages: '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -1546,6 +1579,12 @@ packages: resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.5.0': + resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@unhead/dom@1.10.0': resolution: {integrity: sha512-LdgtOlyMHOyuQNsUKM+1d8ViiiY4LxjCPJlgUU/5CwgqeRYf4LWFu8oRMQfSQVTusbPwwvr3MolM9iTUu2I4BQ==} @@ -1982,6 +2021,9 @@ packages: caniuse-lite@1.0.30001653: resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} @@ -2008,6 +2050,9 @@ packages: character-entities@1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} @@ -2273,6 +2318,9 @@ packages: supports-color: optional: true + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -2325,6 +2373,10 @@ 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'} + destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} @@ -2344,6 +2396,9 @@ packages: devalue@5.0.0: resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} @@ -2749,6 +2804,15 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + floating-vue@5.2.2: + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': ^3.2.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} @@ -3271,6 +3335,9 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} @@ -3300,12 +3367,51 @@ packages: mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-string@2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} @@ -3319,9 +3425,72 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -4466,6 +4635,9 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -4507,6 +4679,19 @@ packages: typescript: optional: true + twoslash-protocol@0.2.9: + resolution: {integrity: sha512-uKQl8UboT6JU4VAtYaSI3DbNtgaNhFaTpCSMy/n3tRl5lMlMhrjiuNKdqx15xjcviconuGJ9oObkz1h9zJFrJg==} + + twoslash-vue@0.2.9: + resolution: {integrity: sha512-1f/AMB7jvifOMWjG2xdqnEywmkt+U2xef2TBfXugZasNDkqeTwdHCRGafi37Kk6smyzYYj2JLemMECfdSjWwoQ==} + peerDependencies: + typescript: '*' + + twoslash@0.2.9: + resolution: {integrity: sha512-oj7XY6h8E9nTZBmfRE1gpsSSUqAQo5kcIpFkXyQPp8UCsyCQsUlP2bJ2s32o02c1n5+xl4h9rcCsQ1F97Z6LZg==} + peerDependencies: + typescript: '*' + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4580,9 +4765,24 @@ packages: unimport@3.11.1: resolution: {integrity: sha512-DuB1Uoq01LrrXTScxnwOoMSlTXxyKcULguFxbLrMDFcE/CO0ZWHpEiyhovN0mycPt7K6luAHe8laqvwvuoeUPg==} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -4679,6 +4879,12 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: @@ -4856,6 +5062,11 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-resize@2.0.0-alpha.1: + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + vue-router@4.4.3: resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==} peerDependencies: @@ -4985,6 +5196,9 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.0)': @@ -5732,6 +5946,16 @@ snapshots: '@fastify/busboy@2.1.1': {} + '@floating-ui/core@1.6.7': + dependencies: + '@floating-ui/utils': 0.2.7 + + '@floating-ui/dom@1.1.1': + dependencies: + '@floating-ui/core': 1.6.7 + + '@floating-ui/utils@0.2.7': {} + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.3.0': {} @@ -6326,6 +6550,30 @@ snapshots: dependencies: shiki: 1.14.1 + '@shikijs/twoslash@1.14.1(typescript@5.5.4)': + dependencies: + '@shikijs/core': 1.14.1 + twoslash: 0.2.9(typescript@5.5.4) + transitivePeerDependencies: + - supports-color + - typescript + + '@shikijs/vitepress-twoslash@1.14.1(@nuxt/kit@3.13.0(magicast@0.3.5)(rollup@4.21.1))(typescript@5.5.4)': + dependencies: + '@shikijs/twoslash': 1.14.1(typescript@5.5.4) + floating-vue: 5.2.2(@nuxt/kit@3.13.0(magicast@0.3.5)(rollup@4.21.1))(vue@3.4.38(typescript@5.5.4)) + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.2.0 + shiki: 1.14.1 + twoslash: 0.2.9(typescript@5.5.4) + twoslash-vue: 0.2.9(typescript@5.5.4) + vue: 3.4.38(typescript@5.5.4) + transitivePeerDependencies: + - '@nuxt/kit' + - supports-color + - typescript + '@sindresorhus/merge-streams@2.3.0': {} '@stylistic/eslint-plugin-js@2.6.4(eslint@9.9.1(jiti@1.21.6))': @@ -6375,6 +6623,10 @@ snapshots: '@trysound/sax@0.2.0': {} + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + '@types/eslint@8.56.12': dependencies: '@types/estree': 1.0.5 @@ -6408,8 +6660,14 @@ snapshots: dependencies: '@types/unist': 2.0.11 + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/mdurl@2.0.0': {} + '@types/ms@0.7.34': {} + '@types/node@22.5.1': dependencies: undici-types: 6.19.8 @@ -6420,6 +6678,8 @@ snapshots: '@types/unist@2.0.11': {} + '@types/unist@3.0.3': {} + '@types/web-bluetooth@0.0.20': {} '@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': @@ -6505,6 +6765,14 @@ snapshots: '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.5.0': + dependencies: + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + + '@ungap/structured-clone@1.2.0': {} + '@unhead/dom@1.10.0': dependencies: '@unhead/schema': 1.10.0 @@ -7041,6 +7309,8 @@ snapshots: caniuse-lite@1.0.30001653: {} + ccount@2.0.1: {} + chai@5.1.1: dependencies: assertion-error: 2.0.1 @@ -7086,6 +7356,8 @@ snapshots: character-entities@1.2.4: {} + character-entities@2.0.2: {} + character-reference-invalid@1.1.4: {} check-error@2.1.1: {} @@ -7320,6 +7592,10 @@ snapshots: dependencies: ms: 2.1.2 + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + deep-eql@5.0.2: {} deep-is@0.1.4: {} @@ -7359,6 +7635,8 @@ snapshots: depd@2.0.0: {} + dequal@2.0.3: {} + destr@2.0.3: {} destroy@1.2.0: {} @@ -7369,6 +7647,10 @@ snapshots: devalue@5.0.0: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + diff@5.2.0: {} dir-glob@3.0.1: @@ -7947,6 +8229,14 @@ snapshots: flatted@3.3.1: {} + floating-vue@5.2.2(@nuxt/kit@3.13.0(magicast@0.3.5)(rollup@4.21.1))(vue@3.4.38(typescript@5.5.4)): + dependencies: + '@floating-ui/dom': 1.1.1 + vue: 3.4.38(typescript@5.5.4) + vue-resize: 2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)) + optionalDependencies: + '@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.1) + focus-trap@7.5.4: dependencies: tabbable: 6.2.0 @@ -8468,6 +8758,8 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + longest-streak@3.1.0: {} + loupe@3.1.1: dependencies: get-func-name: 2.0.2 @@ -8508,6 +8800,15 @@ snapshots: mark.js@8.11.1: {} + markdown-table@3.0.3: {} + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.15 @@ -8518,8 +8819,114 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + mdast-util-to-string@2.0.0: {} + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdn-data@2.0.28: {} mdn-data@2.0.30: {} @@ -8528,6 +8935,117 @@ snapshots: merge2@1.4.1: {} + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + micromark@2.11.4: dependencies: debug: 4.3.6 @@ -8535,6 +9053,28 @@ snapshots: transitivePeerDependencies: - supports-color + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.6 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -9796,6 +10336,8 @@ snapshots: tree-kill@1.2.2: {} + trim-lines@3.0.1: {} + ts-api-utils@1.3.0(typescript@5.5.4): dependencies: typescript: 5.5.4 @@ -9835,6 +10377,25 @@ snapshots: - tsx - yaml + twoslash-protocol@0.2.9: {} + + twoslash-vue@0.2.9(typescript@5.5.4): + dependencies: + '@vue/language-core': 2.0.29(typescript@5.5.4) + twoslash: 0.2.9(typescript@5.5.4) + twoslash-protocol: 0.2.9 + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + twoslash@0.2.9(typescript@5.5.4): + dependencies: + '@typescript/vfs': 1.5.0 + twoslash-protocol: 0.2.9 + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -9940,10 +10501,33 @@ snapshots: transitivePeerDependencies: - rollup + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.11 + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + universalify@2.0.1: {} unplugin-vue-router@0.10.7(rollup@4.21.1)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)): @@ -10042,6 +10626,16 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + vite-hot-client@0.2.3(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6)): dependencies: vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) @@ -10280,6 +10874,10 @@ snapshots: transitivePeerDependencies: - supports-color + vue-resize@2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)): + dependencies: + vue: 3.4.38(typescript@5.5.4) + vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 @@ -10399,3 +10997,5 @@ snapshots: archiver-utils: 5.0.2 compress-commons: 6.0.2 readable-stream: 4.5.2 + + zwitch@2.0.4: {}