diff --git a/.gitignore b/.gitignore index 95f9ee9..cad057f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ lib-cov logs node_modules temp +packages/docs/.vitepress/cache diff --git a/README.md b/README.md index 3cc6088..a32e532 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,27 @@ -# vue-note +

+ +

+ +# Vue Note State: **🚧 Work in progress** vue-note is another style to write Vue. It's light, easy and fast! +## Getting Started + +Use the follwing command to install Vue Note exist project + +``` +npm install -D vue-note +``` + +Learn more at [vue-note.liangmi.dev](https://vue-note.liangmi.dev/)! + +## Contribute Guide + +We're so excited that you are willing to help improve Vue Note, before starting your contribution, please take a moment to read the [Contribute Guide](https://vue-note.liangmi.dev/extra/contribute) + ## License [MIT](./LICENSE) License, 2025 - Present [Liang Mi](https://github.com/liangmiqwq) diff --git a/package.json b/package.json index 8d1a1d2..1c0bc34 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,8 @@ "dev": "tsdown --watch", "play": "pnpm -C playground dev", "lint": "eslint", + "docs": "pnpm -r --filter vue-note-docs docs:dev", + "docs:build": "pnpm -r --filter vue-note-docs docs:build", "prepublishOnly": "nr build", "release": "bumpp -r", "test": "vitest", diff --git a/packages/docs/.vitepress/config.ts b/packages/docs/.vitepress/config.ts new file mode 100644 index 0000000..576faef --- /dev/null +++ b/packages/docs/.vitepress/config.ts @@ -0,0 +1,56 @@ +import UnoCSS from 'unocss/vite' +import { defineConfig } from 'vitepress' + +const SidebarNav = [ + { text: 'Guide', items: [ + { text: 'Introduction', link: '/guide/introduction' }, + { text: 'Quick Start', link: '/guide/quick-start' }, + { text: 'Flexibility', link: '/guide/flexibility' }, + ] }, + { text: 'Advenced', items: [ + { text: 'Linter & Formatter', link: '/advenced/linter-formatter' }, + { text: 'TypeScript', link: '/advenced/typescript' }, + { text: 'API Reference', link: '/advenced/api-reference' }, + + ] }, + { text: 'Extra Topic', items: [ + { text: 'Design Philosophy', link: '/extra/design-philosophy' }, + { text: 'Contribute Guide', link: '/extra/contribute' }, + { text: 'Credits', link: '/extra/credits' }, + ] }, +] + +export default defineConfig({ + title: 'Vue Note', + description: 'Write Vue template in code comment?', + srcDir: './src', + head: [ + ['link', { rel: 'icon', href: '/favicon.svg', type: 'image/svg+xml' }], + ], + themeConfig: { + logo: '/favicon.svg', + nav: SidebarNav, + search: { + provider: 'local', + }, + sidebar: { + '/': SidebarNav, + }, + socialLinks: [ + { icon: 'github', link: 'https://github.com/liangmiQwQ/vue-note' }, + ], + editLink: { + pattern: 'https://github.com/liangmiQwQ/vue-note/edit/main/packages/docs/src/:path', + text: 'Suggest changes to this page', + }, + footer: { + message: 'Released under the MIT License.', + copyright: 'Copyright 2025 - Present Liang Mi', + }, + }, + vite: { + plugins: [ + UnoCSS(), + ], + }, +}) diff --git a/packages/docs/.vitepress/theme/custom.css b/packages/docs/.vitepress/theme/custom.css new file mode 100644 index 0000000..97be148 --- /dev/null +++ b/packages/docs/.vitepress/theme/custom.css @@ -0,0 +1,18 @@ +:root { + --vp-home-hero-name-color: transparent; + --vp-c-brand-1: hsla(120, 60%, 40%); + --vp-c-brand-2: hsl(120, 50%, 50%); + --vp-c-brand-3: hsl(120, 60%, 42%); + --vp-home-hero-image-background-image: url('/favicon.svg'); + --vp-home-hero-image-filter: blur(15px); + --vp-home-hero-name-background: linear-gradient( + 170deg, + var(--vp-c-brand-2) 40%, + var(--vp-c-brand-3) 60% + ); +} + +.dark { + --vp-home-hero-image-background-image: url('/favicon.svg'); + --vp-home-hero-image-filter: blur(0px); +} diff --git a/packages/docs/.vitepress/theme/index.ts b/packages/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..17622a8 --- /dev/null +++ b/packages/docs/.vitepress/theme/index.ts @@ -0,0 +1,5 @@ +import DefaultTheme from 'vitepress/theme' +import './custom.css' +import 'uno.css' + +export default DefaultTheme diff --git a/packages/docs/package.json b/packages/docs/package.json new file mode 100644 index 0000000..31ee6c4 --- /dev/null +++ b/packages/docs/package.json @@ -0,0 +1,18 @@ +{ + "name": "vue-note-docs", + "type": "module", + "private": true, + "description": "Document for Vue Note", + "author": "Liang Mi", + "license": "MIT", + "scripts": { + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "devDependencies": { + "@iconify-json/carbon": "catalog:docs", + "unocss": "catalog:docs", + "vitepress": "catalog:docs" + } +} diff --git a/packages/docs/src/advenced/api-reference.md b/packages/docs/src/advenced/api-reference.md new file mode 100644 index 0000000..ad234de --- /dev/null +++ b/packages/docs/src/advenced/api-reference.md @@ -0,0 +1,92 @@ +# Api Reference + +## Macros + +::: warning +Please only call the macro in `.ts` file but not `.vue` or `.tsx` file, otherwise something unexpected may get happended. +::: + +### `defineCommentComponent` + +```typescript +import { defineCommentComponent } from 'vue-note' + +declare function defineCommentComponent(component: () => void): Component +``` + +Can be used to define a component with Vue Note. + +```typescript +import { defineCommentComponent, defineTemplate } from 'vue-note' + +export default defineCommentComponent(() => { + // Function body will turn into + + +``` + +### `defineTemplate` + +```typescript +import { defineTemplate } from 'vue-note' + +declare function defineTemplate(): void +``` + +Can be used to define template in a comment component. **Can be ONLY called in [`defineCommentComponent`](#definecommentcomponent) function body and for only ONE time**. + +And although there is no params requires, you need to write the component with a JavaScript block comment(multi-line comment) in the following struct + +```typescript +defineTemplate(/* @template */) +``` + +or with any format + +```typescript +defineTemplate(/* @template + +*/) +``` + +## Vite + +### `VueNote` + +Get the VueNote Vite plugin + +```typescript +declare function VueNote(): PluginOption +``` + +and use it in [Vite Config](https://vite.dev/config/) + +```typescript{3,7} +import { defineConfig } from 'vite' +import Vue from '@vitejs/plugin-vue' +import { VueNote } from 'vue-note/vite' + +export default defineConfig({ + plugins: [ + VueNote(), + Vue(), + ], +}) + +``` diff --git a/packages/docs/src/advenced/linter-formatter.md b/packages/docs/src/advenced/linter-formatter.md new file mode 100644 index 0000000..c8a89a6 --- /dev/null +++ b/packages/docs/src/advenced/linter-formatter.md @@ -0,0 +1 @@ +State: **🚧 Work in progress** diff --git a/packages/docs/src/advenced/typescript.md b/packages/docs/src/advenced/typescript.md new file mode 100644 index 0000000..c8a89a6 --- /dev/null +++ b/packages/docs/src/advenced/typescript.md @@ -0,0 +1 @@ +State: **🚧 Work in progress** diff --git a/packages/docs/src/extra/contribute.md b/packages/docs/src/extra/contribute.md new file mode 100644 index 0000000..0040fc0 --- /dev/null +++ b/packages/docs/src/extra/contribute.md @@ -0,0 +1,61 @@ +# Contributing Guide + +Thank you for your interest in contributing to vue-note! This guide will help you get started with development. + +## Project Structure + +This is a monorepo using pnpm workspaces: + +- **Main package**: `packages/vue-note/` - Core compiler and Vite plugin +- **Playground**: `playground/` - Development playground for testing + +## Development Setup + +### Preparation + +- Node.js latest LTS +- pnpm ([ni](https://github.com/antfu-collective/ni) recommended) + +### Development Commands + +```bash +# Build the project +pnpm build + +# Build in watch mode +pnpm dev + +# Run playground development server +pnpm play + +# Run tests +pnpm test + +# Run type checking +pnpm typecheck + +# Run linting +pnpm lint +``` + +## Before Submitting PR + +Ensure your changes pass: + +- `pnpm build` - Build succeeds +- `pnpm test` - All tests pass +- `pnpm typecheck` - No TypeScript errors +- `pnpm lint` - Code style compliance + +Your PR should pass the GitHub CI checks, which run these same commands. + +## Contribution Guidelines + +- It's best to submit an [issue](https://github.com/liangmiQwQ/vue-note/issues/new) for discussion if you want to make a new feature. +- If you encounter any issues during development or contributing, please check the [Design Philosophy](https://vue-note.liangmi.dev/extra/design-philosophy) documentation first. You can also reach me directly at [hi@liangmi.dev](mailto:hi@liangmi.dev). + +## Thank You! + +Your contributions are greatly appreciated! Whether you're fixing bugs, adding features, or improving documentation, every contribution helps make vue-note better for everyone. + +If you have any questions or need help getting started, don't hesitate to reach out! diff --git a/packages/docs/src/extra/credits.md b/packages/docs/src/extra/credits.md new file mode 100644 index 0000000..25b58f7 --- /dev/null +++ b/packages/docs/src/extra/credits.md @@ -0,0 +1,8 @@ +# Credits (in alphabetical order) + +- [Antfu's Starter-TS](https://github.com/antfu/starter-ts) for its excellent tools and workespace config +- [oxc](https://oxc.rs/) for its wonderful and fast parser and walker +- [Recast](https://github.com/benjamn/recast) for its powerful TypeScript code generation capabilities +- [tsdown](https://github.com/rolldown/tsdown) for its fast and easy-config TypeScript bundling +- [Vite](https://vite.dev) for its fast and wonderful developing experience +- [Vue Vine](https://vue-vine.dev/) for pioneering a new template syntax that serves as a great inspiration diff --git a/packages/docs/src/extra/design-philosophy.md b/packages/docs/src/extra/design-philosophy.md new file mode 100644 index 0000000..c9b2352 --- /dev/null +++ b/packages/docs/src/extra/design-philosophy.md @@ -0,0 +1,57 @@ +# Design Philosophy + +To make Vue Note easier to use, there are a few tips you'd better know when designing or making a new feature. + +## Keep the original Vue experience + +### What we want to achieve + +We want developers to have a great experience when using Vue Note. The target is to **make it feel just like using regular Vue Single File Components (SFCs)**, or even **better**. + +This means: +- **Full Vue.js compatibility**: All Vue.js features should work exactly the same way, even compile-time syntax, like `defineProps`, `defineEmits` +- **Third-party library support**: Any Vue library should work without any changes + +### Why it is important + +Vue.js has been tested by millions of developers. When we're not actually sure we have a better solution, **it's safer to use what the community already knows and trusts.** It is easier to change ourselves than to change the community. + +Also, we hope developers should **be able to switch between Vue Note and regular Vue without learning too many new things**. This makes adoption easier and reduces worries about compatibility. + +When we don't break existing syntax, developers don't need to find workarounds or learn special tricks. Everything just works the way they expect. **It also bring better DX.** + +### How we make it work + +Instead of rewriting everything, **we need to try to reuse the code what Vue or the community has already done**, for example, we use `@vue/compiler-sfc` instead of using `@vue/compiler-dom` to make sure all the macro and the scripts work the same as native Vue. It also bring us **less code for us to maintain and fewer bugs.** + +However, if sometimes our code does change how Vue work. We also need to fix it to ensure the developer experience stays the same. Here is a example. + +::: info An example of Component importing + +In Vue Note, when you write a component like this: + +```typescript +import { Button } from 'some-ui-library' // ⬅️ Outside + +defineCommentComponent(() => { + defineTemplate(/* @template + // ⬅️ Inside + */) +}) +``` + +The `Button` import is outside the component function, so Vue's compiler can't find it and may cause unexpected bug. This may break the developer experience. To fix this, we inject a fake import statement: + +```typescript +import { Button } from 'vue-note' +``` + +and remove it later (after `vue/compiler-sfc` compiled) + +This makes Vue's compiler think `Button` comes from `vue-note`, preserving the expected behavior without requiring developers to change their import patterns. + +::: + +Another important thing is that we need **good design**. For example, we don't wrap templates in template string because that would break how template strings work inside templates. We use the block JavaScript comment since Vue templates don't support regular JavaScript comments anyway. + +In a word, the final goal is that we want Vue Note to feel like a **natural extension** of Vue.js, not a completely different framework. This makes it easier for developers to adopt and use in their projects. diff --git a/packages/docs/src/guide/flexibility.md b/packages/docs/src/guide/flexibility.md new file mode 100644 index 0000000..29cff17 --- /dev/null +++ b/packages/docs/src/guide/flexibility.md @@ -0,0 +1,190 @@ +# Flexibility + +Because of the design of Vue Note, every component can be **regarded as a JavaScript experssion**, it allows you to achieve similar effects as JSX similar but in Vue, it brings **more flexibility but also more performance traps**. Here are some tips and examples may help you to learn how to use Vue Note properly. + +## Keep balance between performance and flexibility + +Although Vue Note provides a flxeibile way to write component, It's also **really important** to understand the performance implications. Using `defineCommentComponent` the wrong way can make your app slow. + +### Bad Example: Making Components Too Often + +Here's what **not to do**. The `defineCommentComponent` runs again every time foo changes: + +```typescript +export default defineCommentComponent(() => { + const props = defineProps<{ foo: boolean }>() + + const DynamicComponent = computed(() => + props.foo + ? defineCommentComponent(() => { + defineTemplate(/* @template +

foo

+ */) + }) + : defineCommentComponent(() => { + defineTemplate(/* @template +

not foo

+ */) + }) + ) + + defineTemplate(/* @template + + */) +}) +``` + +### Better Way: Use `v-if` and `v-else` + +Here's a good solution using `v-if` and `v-else`: + +```typescript +export default defineCommentComponent(() => { + const props = defineProps<{ foo: boolean }>() + + const DynamicComponent = defineCommentComponent(() => { + defineTemplate(/* @template +

foo

+

not foo

+ */) + }) + + defineTemplate(/* @template + + */) +}) +``` + +### Or Even Simpler: + +```typescript +export default defineCommentComponent(() => { + const props = defineProps<{ foo: boolean }>() + + defineTemplate(/* @template +

foo

+

not foo

+ */) +}) +``` + +### The Main Rule + +Try to run `defineCommentComponent` as few times as possible: + +- Define components at the top level if possible +- Use `v-if` and `v-else` to show/hide things if possible +- **Don't** define components inside computed or watch unless you know what you are doing +- **Don't** make new components when data changes unless you know what you are doing + +This way your app stays fast but still does what you want! + +## Examples + +Here are some examples about how to use Vue Note with good performance and comfortable flexibility + +If you have also some good examples, you can contribute your code by [editing this page.](https://github.com/liangmiQwQ/vue-note/edit/main/packages/docs/src/guide/flexibility.md) + +### Making a `Card` component + +```typescript +import { defineCommentComponent } from 'vue-note' + +export const Card = { + wrapper: defineCommentComponent(/* Your component... */), + header: defineCommentComponent(/* Your component... */), + description: defineCommentComponent(/* Your component... */), + body: defineCommentComponent(/* Your component... */), + footer: defineCommentComponent(/* Your component... */), +} +``` + +```vue + + + +``` + +### Conditional Complex UI Components + +> Forked from [Vite Devtools](https://github.com/vitejs/devtools/blob/59bc9ed77aa56ff3a6c70e01267af4ddb1288031/packages/vite/src/app/pages/session/%5Bsession%5D.vue) + +```typescript +const panels = { + module: defineCommentComponent(/* your component */), + asset: defineCommentComponent(/* your component */), + plugin: defineCommentComponent(/* your component */), + chunk: defineCommentComponent(/* your component */), +} + +function useDetailsPanel() { + const router = useRouter() + const route = useRoute() + + const currentPanelType = computed(() => + Object.keys(panels).find( + key => typeof route.query[key] !== 'undefined' + ) + ) + const CurrentPanel = computed(() => + currentPanelType.value + && panels[currentPanelType.value] + ) + + function closeCurrentPanel() { + if (currentPanelType.value) { + router.replace({ query: { + ...route.query, + [currentPanelType.value]: undefined + } }) + } + } + + return { + data: route.query[currentPanelType], + CurrentPanel, + closeCurrentPanel + } +} +``` + +```vue + + + +``` diff --git a/packages/docs/src/guide/introduction.md b/packages/docs/src/guide/introduction.md new file mode 100644 index 0000000..652a27e --- /dev/null +++ b/packages/docs/src/guide/introduction.md @@ -0,0 +1,84 @@ +# What is Vue Note? + +**Vue Note** provides a new way to write **Vue components**. It allows you to define Vue components **directly in TypeScript/JavaScript files**. + +Here is a mini example: + +```typescript +import { defineCommentComponent, defineTemplate } from 'vue-note' + +export default defineCommentComponent(() => { + defineTemplate(/* @template +
Hello World
+ */) +}) +``` + +## Why we need another style to write Vue? + +Vue has already provided a excellent and effecient way to build application through [Single File Components (SFCs)](https://vuejs.org/guide/scaling-up/sfc.html). It's clean, structured most of the time. + +However, as projects grow **larger or more complex**, some developers may find it **inflexible** to always define component in `.vue` files. + +::: info *Real-world* example: you are trying building a `Card` component for unified ui. You need to create a directory like this: + +```log +components/Card +├── Card.vue +├── CardContent.vue +├── CardDescription.vue +├── CardFooter.vue +├── CardHeader.vue +├── CardTitle.vue +└── index.ts +``` + +And export all of them at `index.ts` after writing the component codes in these six files + +```typescript +export { default as Card } from './Card.vue' +export { default as CardContent } from './CardContent.vue' +export { default as CardDescription } from './CardDescription.vue' +export { default as CardFooter } from './CardFooter.vue' +export { default as CardHeader } from './CardHeader.vue' +export { default as CardTitle } from './CardTitle.vue' +``` + +This is the thing what [ShadCN Vue](https://github.com/unovue/shadcn-vue/tree/a8f4019014c52bb28210769a410d929a9fc6a9af/apps/www/src/registry/default/ui/card) are actually doing, Maybe it is still not bad for 7 component, but if we need to build a [SideBar](https://github.com/unovue/shadcn-vue/tree/a8f4019014c52bb28210769a410d929a9fc6a9af/apps/www/src/registry/default/ui/sidebar) with more than 10 or 20 components? + +This can lead to higher maintenance overhead and scattered logic across multiple files. +::: + +How to make it better? There are some possible solutions: + +- [Vue Vine](https://vue-vine.dev/) provides a fantastic way to make components by defining function. However, it still comes with flexibility limitations and design choices that developers need to adapt to. For example, it has its own way to defining props and have special rules on template strings, which may need time to learn and switch for developers. +- [Vue JSX](https://github.com/vuejs/babel-plugin-jsx) provides the flexibility of JSX for component construction, but developers may need to adapt to a different mental model compared to Vue's template-first approach. Additionally, some compile-time performance trade-offs should be considered when opting for JSX. +- Vue Note + +Inspired by [Vue Vine](https://vue-vine.dev/), Vue Note allows you **write components as JavaScript expressions**, much like JSX in React, but with Vue's template reactivity and compiler optimizations. + +You can even define a component in another component *(Although this is not recommended in most cases)* + +```typescript +import { defineProps } from 'vue' +import { defineCommentComponent, defineTemplate } from 'vue-note' + +export default defineCommentComponent(() => { + const props = defineProps<{ name: string }>() + + const MyButton = defineCommentComponent(() => { + defineTemplate(/* @template + + */) + }) + + defineTemplate(/* @template +
+

Hi {{ props.name }}, Hello World!

+ +
+ */) +}) +``` + +Learn more about our **flexibility approach** in [Flexibility](/guide/flexibility) and our **design philosophy** in [Design Philosophy](/extra/design-philosophy). diff --git a/packages/docs/src/guide/quick-start.md b/packages/docs/src/guide/quick-start.md new file mode 100644 index 0000000..1399c40 --- /dev/null +++ b/packages/docs/src/guide/quick-start.md @@ -0,0 +1,57 @@ +# Installation + +::: warning +**Before starting use Vue Note, you should know the following tips:** + +- Vue Note only supports **Vue 3.2.25+** with **Vite**. +- Vue Note currently only provides **TypeScript** support +::: + +Run the following command to install Vue Note: +```bash +npm install -D vue-note +``` + +or with pnpm +```bash +pnpm add -D vue-note +``` + +And add the plugin in your `vite.config.ts` + +```typescript{3,7} +import { defineConfig } from 'vite' +import Vue from '@vitejs/plugin-vue' +import { VueNote } from 'vue-note/vite' + +export default defineConfig({ + plugins: [ + VueNote(), + Vue(), + ], +}) + +``` + +Then, write Vue component anywhere you want! + +```typescript +// main.ts +import { createApp } from 'vue' + +createApp(defineCommentComponent(() => { + defineTemplate(/* @template

Hello World

*/) +})).mount('#app') +``` + +Or import it into the existing SFC + +```vue + + + +``` diff --git a/packages/docs/src/index.md b/packages/docs/src/index.md new file mode 100644 index 0000000..23a9b21 --- /dev/null +++ b/packages/docs/src/index.md @@ -0,0 +1,34 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "Vue Note" + text: "Write Vue template in code comment?" + tagline: A easier and more flexible way to write Vue + image: + src: /favicon.svg + alt: Vue Note + actions: + - theme: brand + text: Quick Start + link: /guide/quick-start + - theme: alt + text: Why Vue Note + link: /guide/introduction + +features: + - icon: + title: Flexible Components + details: Declare your component anywhere, even in another component + link: /guide/flexibility + linkText: Flexibility + + - icon: + title: Vue Native DX + details: Keep all macros and reactivity you love, while enjoying seamless integration with the Vue ecosystem + + - icon: + title: Zero Overhead + details: Leverage native Vue compiler optimizations to achieve maximum performance without any runtime cost. +--- diff --git a/packages/docs/src/public/favicon.svg b/packages/docs/src/public/favicon.svg new file mode 100644 index 0000000..84694c4 --- /dev/null +++ b/packages/docs/src/public/favicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/packages/docs/uno.config.ts b/packages/docs/uno.config.ts new file mode 100644 index 0000000..d8165bb --- /dev/null +++ b/packages/docs/uno.config.ts @@ -0,0 +1,12 @@ +import { defineConfig, presetAttributify, presetIcons, presetWind4, transformerDirectives } from 'unocss' + +export default defineConfig({ + presets: [ + presetWind4(), + presetIcons(), + presetAttributify(), + ], + transformers: [ + transformerDirectives(), + ], +}) diff --git a/playground/src/app.ts b/playground/src/app.ts index 3d9439e..00efd08 100644 --- a/playground/src/app.ts +++ b/playground/src/app.ts @@ -1,3 +1,4 @@ +/* eslint-disable ts/explicit-function-return-type */ /* eslint-disable unused-imports/no-unused-vars */ import { ref } from 'vue' import { defineCommentComponent, defineTemplate } from 'vue-note' @@ -25,9 +26,23 @@ const Counter = defineCommentComponent(() => { export default defineCommentComponent(() => { const message = ref('Good Morning') + const Component = defineCommentComponent(() => { + defineTemplate(/* @template +

Good Morning

+ */) + }) + + const BUTTON_NAME_LIST = [undefined, 'Mike', 'Cindy'] + const buttonName = ref() + + function handleButtonName() { + buttonName.value = BUTTON_NAME_LIST[BUTTON_NAME_LIST.findIndex(e => e === buttonName.value) + 1] + } + defineTemplate(/* @template
{{ message }}
+ */) }) diff --git a/playground/src/component.ts b/playground/src/component.ts new file mode 100644 index 0000000..4ef5044 --- /dev/null +++ b/playground/src/component.ts @@ -0,0 +1,26 @@ +/* eslint-disable unused-imports/no-unused-vars */ +import { computed, defineProps } from 'vue' +import { defineCommentComponent, defineTemplate } from 'vue-note' + +export default defineCommentComponent(() => { + const props = defineProps<{ buttonName?: string }>() + + const MyButton = computed(() => props.buttonName + ? defineCommentComponent(() => { + defineTemplate(/* @template + + */) + }) + : defineCommentComponent(() => { + defineTemplate(/* @template + + */) + })) + + defineTemplate(/* @template +
+

Welcome to my app

+ +
+ */) +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75388e5..fc998d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,6 +43,16 @@ catalogs: typescript: specifier: ^5.9.3 version: 5.9.3 + docs: + '@iconify-json/carbon': + specifier: ^1.2.13 + version: 1.2.13 + unocss: + specifier: ^66.5.2 + version: 66.5.2 + vitepress: + specifier: ^1.6.4 + version: 1.6.4 testing: tinyexec: specifier: ^1.0.1 @@ -122,6 +132,18 @@ importers: specifier: catalog:testing version: 2.8.1 + packages/docs: + devDependencies: + '@iconify-json/carbon': + specifier: catalog:docs + version: 1.2.13 + unocss: + specifier: catalog:docs + version: 66.5.2(postcss@8.5.6)(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1)) + vitepress: + specifier: catalog:docs + version: 1.6.4(@algolia/client-search@5.39.0)(@types/node@24.6.2)(change-case@5.4.4)(lightningcss@1.30.2)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3) + packages/vue-note: devDependencies: oxc-parser: @@ -160,6 +182,82 @@ importers: packages: + '@algolia/abtesting@1.5.0': + resolution: {integrity: sha512-W/ohRkbKQsqDWALJg28X15KF7Tcyg53L1MfdOkLgvkcCcofdzGHSimHHeNG05ojjFw9HK8+VPhe/Vwq4MozIJg==} + engines: {node: '>= 14.0.0'} + + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.39.0': + resolution: {integrity: sha512-Vf0ZVe+qo3sHDrCinouJqlg8VoxM4Qo/KxNIqMYybkuctutfnp3kIY9OmESplOQ/9NGBthU9EG+4d5fBibWK/A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.39.0': + resolution: {integrity: sha512-V16ITZxYIwcv1arNce65JZmn94Ft6vKlBZ//gXw8AvIH32glJz1KcbaVAUr9p7PYlGZ/XVHP6LxDgrpNdtwgcA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.39.0': + resolution: {integrity: sha512-UCJTuwySEQeiKPWV3wruhuI/wHbDYenHzgL9pYsvh6r/u5Z+g61ip1iwdAlFp02CnywzI9O7+AQPh2ManYyHmQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.39.0': + resolution: {integrity: sha512-s0ia8M/ZZR+iO2uLNTBrlQdEb6ZMAMcKMHckp5mcoglxrf8gHifL4LmdhGKdAxAn3UIagtqIP0RCnIymHUbm7A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.39.0': + resolution: {integrity: sha512-vZPIt7Lw+toNsHZUiPhNIc1Z3vUjDp7nzn6AMOaPC73gEuTq2iLPNvM06CSB6aHePo5eMeJIP5YEKBUQUA/PJA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.39.0': + resolution: {integrity: sha512-jcPQr3iKTWNVli2NYHPv02aNLwixDjPCpOgMp9CZTvEiPI6Ec4jHX+oFr3LDZagOFY9e1xJhc/JrgMGGW1sHnw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.39.0': + resolution: {integrity: sha512-/IYpF10BpthGZEJQZMhMqV4AqWr5avcWfZm/SIKK1RvUDmzGqLoW/+xeJVX9C8ZnNkIC8hivbIQFaNaRw0BFZQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/ingestion@1.39.0': + resolution: {integrity: sha512-IgSHKUiuecqLfBlXiuCSdRTdsO3/yvpmXrMFz8fAJ8M4QmDtHkOuD769dmybRYqsbYMHivw+lir4BgbRGMtOIQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.39.0': + resolution: {integrity: sha512-8Xnd4+609SKC/hqVsuFc4evFBmvA2765/4NcH+Dpr756SKPbL1BY0X8kVxlmM3YBLNqnduSQxHxpDJUK58imCA==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.39.0': + resolution: {integrity: sha512-D7Ye2Ss/5xqUkQUxKm/VqEJLt5kARd9IMmjdzlxaKhGgNlOemTay0lwBmOVFuJRp7UODjp5c9+K+B8g0ORObIw==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.39.0': + resolution: {integrity: sha512-mgPte1ZJqpk9dkVs44J3wKAbHATvHZNlSpzhMdjMLIg/3qTycSZyDiomLiSlxE8CLsxyBAOJWnyKRHfom+Z1rg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.39.0': + resolution: {integrity: sha512-LIrCkrxu1WnO3ev1+w6NnZ12JZL/o+2H9w6oWnZAjQZIlA/Ym6M9QHkt+OQ/SwkuoiNkW3DAo+Pi4A2V9FPtqg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.39.0': + resolution: {integrity: sha512-6beG+egPwXmvhAg+m0STCj+ZssDcjrLzf4L05aKm2nGglMXSSPz0cH/rM+kVD9krNfldiMctURd4wjojW1fV0w==} + engines: {node: '>= 14.0.0'} + '@antfu/eslint-config@5.4.1': resolution: {integrity: sha512-x7BiNkxJRlXXs8tIvg0CgMuNo5IZVWkGLMJotCtCtzWUHW78Pmm8PvtXhvLBbTc8683GGBK616MMztWLh4RNjA==} hasBin: true @@ -223,6 +321,13 @@ packages: engines: {node: '>=20'} hasBin: true + '@antfu/utils@9.2.1': + resolution: {integrity: sha512-TMilPqXyii1AsiEii6l6ubRzbo76p6oshUSYPaKsmXDavyMLqjzVDkcp3pHp5ELMUNJHATcEOGxKTTsX9yYhGg==} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} @@ -235,11 +340,24 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} + '@babel/parser@7.27.7': + resolution: {integrity: sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/parser@7.28.4': resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.27.7': + resolution: {integrity: sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==} + engines: {node: '>=6.9.0'} + '@babel/types@7.28.4': resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} @@ -250,6 +368,29 @@ packages: '@clack/prompts@0.11.0': resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@docsearch/css@3.8.2': + resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} + + '@docsearch/js@3.8.2': + resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} + + '@docsearch/react@3.8.2': + 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 + '@emnapi/core@1.5.0': resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} @@ -267,102 +408,204 @@ packages: resolution: {integrity: sha512-smMc5pDht/UVsCD3hhw/a/e/p8m0RdRYiluXToVfd+d4yaQQh7nn9bACjkk6nXJvat7EWPAxuFkMEFfrxeGa3Q==} engines: {node: '>=20.11.0'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.0': resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.0': resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.0': resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.0': resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.0': resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.0': resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.0': resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.0': resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.0': resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.0': resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.0': resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.0': resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.0': resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.0': resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.0': resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.0': resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.0': resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} engines: {node: '>=18'} @@ -375,6 +618,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.0': resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} engines: {node: '>=18'} @@ -387,30 +636,60 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.0': resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.0': resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.0': resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.0': resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.0': resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} engines: {node: '>=18'} @@ -494,6 +773,18 @@ packages: resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} + '@iconify-json/carbon@1.2.13': + resolution: {integrity: sha512-vXrFFKkfYaZSwf4WfnRQJQMnpEzxlPlupwZZlS1WvOAuNnWahsUudHycaMpoBzDqBfniH4KQ2b5qnw0VMKoJug==} + + '@iconify-json/simple-icons@1.2.53': + resolution: {integrity: sha512-8GEW5mshsPAZpVAJmkBG/niR2qn8t4U03Wmz6aSD9R4VMZKTECqbOxH3z4inA0JfZOoTvP4qoK9T2VXAx2Xg5g==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.0.2': + resolution: {integrity: sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -826,6 +1117,30 @@ packages: cpu: [x64] os: [win32] + '@shikijs/core@2.5.0': + resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + + '@shikijs/engine-javascript@2.5.0': + resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} + + '@shikijs/engine-oniguruma@2.5.0': + resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} + + '@shikijs/langs@2.5.0': + resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} + + '@shikijs/themes@2.5.0': + resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} + + '@shikijs/transformers@2.5.0': + resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} + + '@shikijs/types@2.5.0': + resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@stylistic/eslint-plugin@5.4.0': resolution: {integrity: sha512-UG8hdElzuBDzIbjG1QDwnYH0MQ73YLXDFHgZzB4Zh/YJfnw8XNsloVtytqzx0I2Qky9THSdpTmi8Vjn/pf/Lew==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -847,12 +1162,24 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -862,6 +1189,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@typescript-eslint/eslint-plugin@8.44.1': resolution: {integrity: sha512-molgphGqOBT7t4YKCSkbasmu1tb1MgrZ2szGzHbclF7PNmOkSTQVHy+2jXOSnxvR3+Xe1yySHFZoqMpz3TfQsw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -921,6 +1251,102 @@ packages: resolution: {integrity: sha512-576+u0QD+Jp3tZzvfRfxon0EA2lzcDt3lhUbsC6Lgzy9x2VR4E+JUiNyGHi5T8vk0TV+fpJ5GLG1JsJuWCaKhw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@unocss/astro@66.5.2': + resolution: {integrity: sha512-JUiJL4wkDTCFgReQ+c1Nqb47EfryJvGiSp9MxXclCUbp5hegqq7yMg3BMpJ4QzHmf5EeDFO38eRBKV57hd0Iew==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@66.5.2': + resolution: {integrity: sha512-WFj3fd5LqPX2/NvG/kX4vxML14F5yU6e0yPezO+7fjrJ9V31m1AFQWfiT2p8HbNUcQd9jZ9lcoWLm3Q1FsdPDA==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@66.5.2': + resolution: {integrity: sha512-rREBBt2a6aZJ21TCeKG3/wjHfTNPbIwdrJtIVrN7hLcljW2vnWuyYabZ1yASK8+lnNsMoBoU5mbakgrPF0MItA==} + engines: {node: '>=14'} + + '@unocss/core@66.5.2': + resolution: {integrity: sha512-POSEpwj2FJtrDgzSq6nVhAJbnGIYPqtEMTpzQXfeFqPDMidAXjaH/xZUeTdHDbI9Jg700smrRXJtFJrJFXkmiQ==} + + '@unocss/extractor-arbitrary-variants@66.5.2': + resolution: {integrity: sha512-MNHzhA4RKJJVo6D5Uc+SkPfeugO1KXDt0GFg0FkOUKTTnahxyXNvd9BG9HHYlKSiaYCgUhFmysNhv04Gza+CNg==} + + '@unocss/inspector@66.5.2': + resolution: {integrity: sha512-8PuM01lrsOuyas3K+5LqeoeiujIGk72ivvJsP4/T8h03XQWzpS7NPJU6JVJQUcYZAE+WtqFcPJ8wcg0ERKNPdA==} + + '@unocss/postcss@66.5.2': + resolution: {integrity: sha512-tZrWVcGm1cJghYqRFgiCb/HCnWehdJ3/6lUlXN5Ogfu4agCa3f8QES43+6TMpuTKdqkjXvMI3jZFKNMgN+/wlg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@66.5.2': + resolution: {integrity: sha512-/FigYbT1uA5DLy5dVV2QuTizvSge8jZZZu3uGAu25p59m/h/6ZjvkCoiKcTkvmNUuZfj/ZPZmAE8GoSn1uR++A==} + + '@unocss/preset-icons@66.5.2': + resolution: {integrity: sha512-vjSwttkZrU8FfIo4TCkSOAIba0xbWE6N3/xEdK3tjq+FSgClzs9SmO06KLJHSntJ/N5JYA0wpkPS5mLYxGMwqw==} + + '@unocss/preset-mini@66.5.2': + resolution: {integrity: sha512-YLOuYq7GNoWNgF3P41AtcvnOodSP49x0RNM4PR/ntGddl0BfsFaKeCGzt8DpbvavhQpBn0+kt4GP3RajKooAIQ==} + + '@unocss/preset-tagify@66.5.2': + resolution: {integrity: sha512-6AusDr1rD+HK22F4kwPLWqOImV3W+0nyPMsUwLVHQeaZktpSFSqaIQCI6aIVWyftvW/paST1Xc4HEHb7rKBF/w==} + + '@unocss/preset-typography@66.5.2': + resolution: {integrity: sha512-Ez3VWrNlJVa9cywsI/IwUdZ4OUeeUvf04pZmf+bwSU3CHqfonRT8K3+ndHQfuTJYbIb1k3few+cc1P1W7NP7Xw==} + + '@unocss/preset-uno@66.5.2': + resolution: {integrity: sha512-+raFp6uRwvQVIS7y8JoQI+5PPodl+uNsHxL9uH/JkelB5++ACrcP/ShN8RrDD97K+wtSP+3kr9SsK6dk0f2Mpg==} + + '@unocss/preset-web-fonts@66.5.2': + resolution: {integrity: sha512-xMFUE8Bhe2X/VlUBtdXTnDrrZL+WE99RaiBNLS1F1Na5r4Fc5Ck0p8a+SnMB7GDx5gtwf1ekKwi0pAP8+vIJnQ==} + + '@unocss/preset-wind3@66.5.2': + resolution: {integrity: sha512-qgzLiPd6CkepLLssBod7ejQ4sKKqAvCOyjqpp0eFmHVUKGBEGPzOI1/WnbrAzvTHDonbSc52kB/XEWlgWmDhhA==} + + '@unocss/preset-wind4@66.5.2': + resolution: {integrity: sha512-493Vb1do+05+3tdE0kU+SUKAPG9Spd+hItKfc09OL276T1DMj7AZzIq5q+rj9e+bOAjWAAutjw94RPNjKlU3fA==} + + '@unocss/preset-wind@66.5.2': + resolution: {integrity: sha512-jJN7kLXNAn/6VpYWTrIJGsXAhziPlPhK7bdnilbVnrlTSOluG6peCE6gdUyjdlLDyYELzz8qZ7ZvOo77IsBkPQ==} + + '@unocss/reset@66.5.2': + resolution: {integrity: sha512-DirXdqrkSp3fThRGOz0s0ehsYBpLb72Vh4QlPfMFuwHHFC9P9IDTLMUj5kD51A9fdy07Wrmhs7T5CQ//DlfOdQ==} + + '@unocss/rule-utils@66.5.2': + resolution: {integrity: sha512-2eR5TBTO+cmPY9ahFjyEu8qP/NFPI02dVpI0rgGKdyDMv/PnO9+yS/9rKgrmXsN3nPYHjOrLutRXkF/xxm/t3w==} + engines: {node: '>=14'} + + '@unocss/transformer-attributify-jsx@66.5.2': + resolution: {integrity: sha512-mTa+fMKVz96He21E6FYCJyd0QbL6Xr5JjdqZEEFZiwt9N884g89pHZOlEURmrkQBrWc5NwSfzNB7lCkhuUOIFQ==} + + '@unocss/transformer-compile-class@66.5.2': + resolution: {integrity: sha512-50UTeKH6zycAzF44+6eCW13uPy5bw3W3Z8miEAIj0cNaKHTul0QYQFhLT3R804cnkAdX/Cp6IE/HSivxeP5ueQ==} + + '@unocss/transformer-directives@66.5.2': + resolution: {integrity: sha512-hwbAdV1Vr001ojaXR8rVt4jJvPnrAjl9h2SQWjaqyGkLntnKvFB8JSTS9CT0cyv1GrwiBAwdnVIdioLAQ3GPbg==} + + '@unocss/transformer-variant-group@66.5.2': + resolution: {integrity: sha512-ZgH4hgoIbbh92pszsT2M93e/DcEmN+s9yjYPPCa0qxvTQb6aANM02Z6T7OE0ltQ0NShELfIS4oSGUKY6ezHwug==} + + '@unocss/vite@66.5.2': + resolution: {integrity: sha512-0OcvZHV7ag8ml9z1pG0T92b81CP8nOv21o9vZnQUJN4Uw+8fnVA9xCh1X68IfDNr5Q8nS5zz/Fjr/pC89Cb+og==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + '@vitejs/plugin-vue@6.0.1': resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -981,6 +1407,15 @@ packages: '@vue/compiler-ssr@3.5.22': resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==} + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} + + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} + '@vue/reactivity@3.5.22': resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==} @@ -998,6 +1433,56 @@ packages: '@vue/shared@3.5.22': resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} + '@vueuse/core@12.8.2': + resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} + + '@vueuse/integrations@12.8.2': + resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} + 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 + + '@vueuse/metadata@12.8.2': + resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} + + '@vueuse/shared@12.8.2': + resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1011,6 +1496,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + algoliasearch@5.39.0: + resolution: {integrity: sha512-DzTfhUxzg9QBNGzU/0kZkxEV72TeA4MmPJ7RVfLnQwHNhhliPo7ynglEWJS791rNlLFoTyrKvkapwr/P3EXV9A==} + engines: {node: '>= 14.0.0'} + ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -1035,6 +1524,10 @@ packages: resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} engines: {node: '>=14'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -1064,6 +1557,10 @@ packages: resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} hasBin: true + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + birpc@2.5.0: resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} @@ -1131,6 +1628,12 @@ packages: change-case@5.4.4: resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} @@ -1138,6 +1641,10 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1171,6 +1678,9 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@14.0.1: resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==} engines: {node: '>=20'} @@ -1192,6 +1702,10 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + core-js-compat@3.45.1: resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} @@ -1199,6 +1713,10 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1272,9 +1790,15 @@ packages: oxc-resolver: optional: true + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + electron-to-chromium@1.5.222: resolution: {integrity: sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==} + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -1300,6 +1824,11 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.25.0: resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} engines: {node: '>=18'} @@ -1587,6 +2116,9 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + focus-trap@7.6.5: + resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} + format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -1621,6 +2153,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -1642,13 +2178,26 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1669,6 +2218,10 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-builtin-module@5.0.0: resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} engines: {node: '>=18.20'} @@ -1699,6 +2252,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -1710,6 +2267,9 @@ packages: resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==} hasBin: true + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} @@ -1754,6 +2314,9 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1867,6 +2430,9 @@ packages: magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -1900,12 +2466,18 @@ packages: 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.2: resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2016,6 +2588,12 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minisearch@7.2.0: + resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} @@ -2048,6 +2626,10 @@ packages: node-releases@2.0.21: resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -2059,6 +2641,9 @@ packages: object-deep-merge@1.0.5: resolution: {integrity: sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -2066,6 +2651,9 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} + oniguruma-to-es@3.1.1: + resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} + open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} @@ -2123,6 +2711,9 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + perfect-debounce@2.0.0: resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} @@ -2163,10 +2754,16 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + preact@10.27.2: + resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -2180,6 +2777,10 @@ packages: rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -2192,6 +2793,15 @@ packages: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + regexp-ast-analysis@0.7.1: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2302,6 +2912,9 @@ packages: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} @@ -2315,6 +2928,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shiki@2.5.0: + resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -2345,6 +2961,9 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spdx-exceptions@2.5.0: resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} @@ -2354,6 +2973,10 @@ packages: spdx-license-ids@3.0.21: resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -2372,6 +2995,9 @@ packages: resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} engines: {node: '>=20'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} @@ -2387,6 +3013,10 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + engines: {node: '>=16'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2395,6 +3025,9 @@ packages: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -2443,6 +3076,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@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -2512,6 +3148,9 @@ packages: 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@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -2521,6 +3160,18 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unocss@66.5.2: + resolution: {integrity: sha512-GCFq6ilalDE33dbjZKgeBHgKGLL/t87XM5sS0aqhD0RgzHhbT2f6Jtsmmg2Q3GASlk5uvJLxh9ifUvPQ13BdyQ==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 66.5.2 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + unplugin-utils@0.3.0: resolution: {integrity: sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==} engines: {node: '>=20.19.0'} @@ -2541,6 +3192,12 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-dev-rpc@1.1.0: resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==} peerDependencies: @@ -2566,6 +3223,37 @@ packages: '@nuxt/kit': optional: true + vite@5.4.20: + resolution: {integrity: sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@7.1.7: resolution: {integrity: sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2606,6 +3294,18 @@ packages: yaml: optional: true + vitepress@1.6.4: + resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + vitest-package-exports@0.1.1: resolution: {integrity: sha512-rXgU5noxaaMA5VJXgVPhXRzPiQ1WFmWwgo8dQFPg9j/yFM028scO0IAylFHVI8XMRevhozEt1usa6RQYQY26lg==} @@ -2643,6 +3343,9 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + vue-flow-layout@0.2.0: + resolution: {integrity: sha512-zKgsWWkXq0xrus7H4Mc+uFs1ESrmdTXlO0YNbR6wMdPaFvosL3fMB8N7uTV308UhGy9UvTrGhIY7mVz9eN+L0Q==} + vue@3.5.22: resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==} peerDependencies: @@ -2698,6 +3401,118 @@ packages: snapshots: + '@algolia/abtesting@1.5.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0) + '@algolia/client-search': 5.39.0 + algoliasearch: 5.39.0 + + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)': + dependencies: + '@algolia/client-search': 5.39.0 + algoliasearch: 5.39.0 + + '@algolia/client-abtesting@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/client-analytics@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/client-common@5.39.0': {} + + '@algolia/client-insights@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/client-personalization@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/client-query-suggestions@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/client-search@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/ingestion@1.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/monitoring@1.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/recommend@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + + '@algolia/requester-browser-xhr@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + + '@algolia/requester-fetch@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + + '@algolia/requester-node-http@5.39.0': + dependencies: + '@algolia/client-common': 5.39.0 + '@antfu/eslint-config@5.4.1(@vue/compiler-sfc@3.5.22)(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.3)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@antfu/install-pkg': 1.1.0 @@ -2757,6 +3572,14 @@ snapshots: tinyexec: 1.0.1 tinyglobby: 0.2.15 + '@antfu/utils@9.2.1': {} + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/generator@7.28.3': dependencies: '@babel/parser': 7.28.4 @@ -2769,10 +3592,32 @@ snapshots: '@babel/helper-validator-identifier@7.27.1': {} + '@babel/parser@7.27.7': + dependencies: + '@babel/types': 7.28.4 + '@babel/parser@7.28.4': dependencies: '@babel/types': 7.28.4 + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@babel/traverse@7.27.7': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -2789,6 +3634,30 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@docsearch/css@3.8.2': {} + + '@docsearch/js@3.8.2(@algolia/client-search@5.39.0)(search-insights@2.17.3)': + dependencies: + '@docsearch/react': 3.8.2(@algolia/client-search@5.39.0)(search-insights@2.17.3) + preact: 10.27.2 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.8.2(@algolia/client-search@5.39.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.39.0)(algoliasearch@5.39.0) + '@docsearch/css': 3.8.2 + algoliasearch: 5.39.0 + optionalDependencies: + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + '@emnapi/core@1.5.0': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -2821,78 +3690,147 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 5.4.0 + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.25.0': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.25.0': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.25.0': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.25.0': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.25.0': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.25.0': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.25.0': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.25.0': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.25.0': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.25.0': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.25.0': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.25.0': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.25.0': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.25.0': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.25.0': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.25.0': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.25.0': optional: true '@esbuild/netbsd-arm64@0.25.0': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.25.0': optional: true '@esbuild/openbsd-arm64@0.25.0': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.25.0': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.25.0': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.25.0': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.25.0': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.25.0': optional: true @@ -2975,7 +3913,30 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.2': {} + '@humanwhocodes/retry@0.4.2': {} + + '@iconify-json/carbon@1.2.13': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/simple-icons@1.2.53': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.0.2': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 9.2.1 + '@iconify/types': 2.0.0 + debug: 4.4.3 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.2 + mlly: 1.7.4 + transitivePeerDependencies: + - supports-color '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -3186,6 +4147,46 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.52.0': optional: true + '@shikijs/core@2.5.0': + dependencies: + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 3.1.1 + + '@shikijs/engine-oniguruma@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/themes@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/transformers@2.5.0': + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/types': 2.5.0 + + '@shikijs/types@2.5.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@stylistic/eslint-plugin@5.4.0(eslint@9.36.0(jiti@2.6.0))': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) @@ -3213,12 +4214,25 @@ snapshots: '@types/estree@1.0.8': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/json-schema@7.0.15': {} + '@types/linkify-it@5.0.0': {} + + '@types/markdown-it@14.1.2': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 + '@types/mdurl@2.0.0': {} + '@types/ms@2.1.0': {} '@types/node@24.6.2': @@ -3227,6 +4241,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/web-bluetooth@0.0.21': {} + '@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -3320,6 +4336,162 @@ snapshots: '@typescript-eslint/types': 8.44.1 eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} + + '@unocss/astro@66.5.2(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1))': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/reset': 66.5.2 + '@unocss/vite': 66.5.2(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1)) + optionalDependencies: + vite: 7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1) + + '@unocss/cli@66.5.2': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.5.2 + '@unocss/core': 66.5.2 + '@unocss/preset-uno': 66.5.2 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.4.2 + magic-string: 0.30.19 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + tinyglobby: 0.2.15 + unplugin-utils: 0.3.0 + + '@unocss/config@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + unconfig: 7.3.3 + + '@unocss/core@66.5.2': {} + + '@unocss/extractor-arbitrary-variants@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + + '@unocss/inspector@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/rule-utils': 66.5.2 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.2 + vue-flow-layout: 0.2.0 + + '@unocss/postcss@66.5.2(postcss@8.5.6)': + dependencies: + '@unocss/config': 66.5.2 + '@unocss/core': 66.5.2 + '@unocss/rule-utils': 66.5.2 + css-tree: 3.1.0 + postcss: 8.5.6 + tinyglobby: 0.2.15 + + '@unocss/preset-attributify@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + + '@unocss/preset-icons@66.5.2': + dependencies: + '@iconify/utils': 3.0.2 + '@unocss/core': 66.5.2 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/extractor-arbitrary-variants': 66.5.2 + '@unocss/rule-utils': 66.5.2 + + '@unocss/preset-tagify@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + + '@unocss/preset-typography@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/rule-utils': 66.5.2 + + '@unocss/preset-uno@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/preset-wind3': 66.5.2 + + '@unocss/preset-web-fonts@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + ofetch: 1.4.1 + + '@unocss/preset-wind3@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/preset-mini': 66.5.2 + '@unocss/rule-utils': 66.5.2 + + '@unocss/preset-wind4@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/extractor-arbitrary-variants': 66.5.2 + '@unocss/rule-utils': 66.5.2 + + '@unocss/preset-wind@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/preset-wind3': 66.5.2 + + '@unocss/reset@66.5.2': {} + + '@unocss/rule-utils@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + magic-string: 0.30.19 + + '@unocss/transformer-attributify-jsx@66.5.2': + dependencies: + '@babel/parser': 7.27.7 + '@babel/traverse': 7.27.7 + '@unocss/core': 66.5.2 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-compile-class@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + + '@unocss/transformer-directives@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + '@unocss/rule-utils': 66.5.2 + css-tree: 3.1.0 + + '@unocss/transformer-variant-group@66.5.2': + dependencies: + '@unocss/core': 66.5.2 + + '@unocss/vite@66.5.2(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1))': + dependencies: + '@jridgewell/remapping': 2.3.5 + '@unocss/config': 66.5.2 + '@unocss/core': 66.5.2 + '@unocss/inspector': 66.5.2 + chokidar: 3.6.0 + magic-string: 0.30.19 + pathe: 2.0.3 + tinyglobby: 0.2.15 + unplugin-utils: 0.3.0 + vite: 7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1) + + '@vitejs/plugin-vue@5.2.4(vite@5.4.20(@types/node@24.6.2)(lightningcss@1.30.2))(vue@3.5.22(typescript@5.9.3))': + dependencies: + vite: 5.4.20(@types/node@24.6.2)(lightningcss@1.30.2) + vue: 3.5.22(typescript@5.9.3) + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.14(@types/node@24.6.2)(esbuild@0.25.0)(jiti@2.6.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 @@ -3409,6 +4581,24 @@ snapshots: '@vue/compiler-dom': 3.5.22 '@vue/shared': 3.5.22 + '@vue/devtools-api@7.7.7': + dependencies: + '@vue/devtools-kit': 7.7.7 + + '@vue/devtools-kit@7.7.7': + dependencies: + '@vue/devtools-shared': 7.7.7 + birpc: 2.5.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + + '@vue/devtools-shared@7.7.7': + dependencies: + rfdc: 1.4.1 + '@vue/reactivity@3.5.22': dependencies: '@vue/shared': 3.5.22 @@ -3433,6 +4623,34 @@ snapshots: '@vue/shared@3.5.22': {} + '@vueuse/core@12.8.2(typescript@5.9.3)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 12.8.2 + '@vueuse/shared': 12.8.2(typescript@5.9.3) + vue: 3.5.22(typescript@5.9.3) + transitivePeerDependencies: + - typescript + + '@vueuse/integrations@12.8.2(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.3)': + dependencies: + '@vueuse/core': 12.8.2(typescript@5.9.3) + '@vueuse/shared': 12.8.2(typescript@5.9.3) + vue: 3.5.22(typescript@5.9.3) + optionalDependencies: + change-case: 5.4.4 + focus-trap: 7.6.5 + transitivePeerDependencies: + - typescript + + '@vueuse/metadata@12.8.2': {} + + '@vueuse/shared@12.8.2(typescript@5.9.3)': + dependencies: + vue: 3.5.22(typescript@5.9.3) + transitivePeerDependencies: + - typescript + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -3446,6 +4664,23 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + algoliasearch@5.39.0: + dependencies: + '@algolia/abtesting': 1.5.0 + '@algolia/client-abtesting': 5.39.0 + '@algolia/client-analytics': 5.39.0 + '@algolia/client-common': 5.39.0 + '@algolia/client-insights': 5.39.0 + '@algolia/client-personalization': 5.39.0 + '@algolia/client-query-suggestions': 5.39.0 + '@algolia/client-search': 5.39.0 + '@algolia/ingestion': 1.39.0 + '@algolia/monitoring': 1.39.0 + '@algolia/recommend': 5.39.0 + '@algolia/requester-browser-xhr': 5.39.0 + '@algolia/requester-fetch': 5.39.0 + '@algolia/requester-node-http': 5.39.0 + ansi-escapes@7.0.0: dependencies: environment: 1.1.0 @@ -3462,6 +4697,11 @@ snapshots: ansis@4.2.0: {} + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + are-docs-informative@0.0.2: {} argparse@2.0.1: {} @@ -3483,6 +4723,8 @@ snapshots: baseline-browser-mapping@2.8.6: {} + binary-extensions@2.3.0: {} + birpc@2.5.0: {} boolbase@1.0.0: {} @@ -3568,10 +4810,26 @@ snapshots: change-case@5.4.4: {} + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + character-entities@2.0.2: {} check-error@2.1.1: {} + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -3603,6 +4861,8 @@ snapshots: colorette@2.0.20: {} + comma-separated-tokens@2.0.3: {} + commander@14.0.1: {} comment-parser@1.4.1: {} @@ -3615,6 +4875,10 @@ snapshots: consola@3.4.2: {} + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + core-js-compat@3.45.1: dependencies: browserslist: 4.26.2 @@ -3625,6 +4889,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -3668,8 +4937,12 @@ snapshots: dts-resolver@2.1.2: {} + duplexer@0.1.2: {} + electron-to-chromium@1.5.222: {} + emoji-regex-xs@1.0.0: {} + emoji-regex@10.4.0: {} empathic@2.0.0: {} @@ -3687,6 +4960,32 @@ snapshots: es-module-lexer@1.7.0: {} + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.0: optionalDependencies: '@esbuild/aix-ppc64': 0.25.0 @@ -4060,6 +5359,10 @@ snapshots: flatted@3.3.3: {} + focus-trap@7.6.5: + dependencies: + tabbable: 6.2.0 + format@0.2.2: {} fsevents@2.3.3: @@ -4092,6 +5395,8 @@ snapshots: dependencies: is-glob: 4.0.3 + globals@11.12.0: {} + globals@14.0.0: {} globals@15.15.0: {} @@ -4104,10 +5409,34 @@ snapshots: graphemer@1.4.0: {} + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + has-flag@4.0.0: {} + hast-util-to-html@9.0.5: + 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: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hookable@5.5.3: {} + html-void-elements@3.0.0: {} + ignore@5.3.2: {} ignore@7.0.5: {} @@ -4121,6 +5450,10 @@ snapshots: indent-string@5.0.0: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-builtin-module@5.0.0: dependencies: builtin-modules: 5.0.0 @@ -4143,6 +5476,8 @@ snapshots: is-number@7.0.0: {} + is-what@4.1.16: {} + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -4151,6 +5486,8 @@ snapshots: jiti@2.6.0: {} + js-tokens@4.0.0: {} + js-tokens@9.0.1: {} js-yaml@4.1.0: @@ -4184,6 +5521,8 @@ snapshots: dependencies: json-buffer: 3.0.1 + kolorist@1.8.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -4297,6 +5636,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + mark.js@8.11.1: {} + markdown-table@3.0.4: {} mdast-util-find-and-replace@3.0.2: @@ -4396,6 +5737,18 @@ snapshots: '@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.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 + mdast-util-to-markdown@2.1.2: dependencies: '@types/mdast': 4.0.4 @@ -4412,6 +5765,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mdn-data@2.12.2: {} + merge2@1.4.1: {} micromark-core-commonmark@2.0.2: @@ -4629,6 +5984,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minisearch@7.2.0: {} + + mitt@3.0.1: {} + mlly@1.7.4: dependencies: acorn: 8.15.0 @@ -4652,6 +6011,8 @@ snapshots: node-releases@2.0.21: {} + normalize-path@3.0.0: {} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -4668,12 +6029,24 @@ snapshots: dependencies: type-fest: 4.2.0 + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.6 + ufo: 1.5.4 + ohash@2.0.11: {} onetime@7.0.0: dependencies: mimic-function: 5.0.1 + oniguruma-to-es@3.1.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 6.0.1 + regex-recursion: 6.0.2 + open@10.2.0: dependencies: default-browser: 5.2.1 @@ -4745,6 +6118,8 @@ snapshots: pathval@2.0.0: {} + perfect-debounce@1.0.0: {} + perfect-debounce@2.0.0: {} picocolors@1.1.1: {} @@ -4784,8 +6159,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + preact@10.27.2: {} + prelude-ls@1.2.1: {} + property-information@7.1.0: {} + punycode@2.3.1: {} quansync@0.2.11: {} @@ -4797,6 +6176,10 @@ snapshots: defu: 6.1.4 destr: 2.0.3 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + readdirp@4.1.2: {} recast@0.23.11: @@ -4811,6 +6194,16 @@ snapshots: dependencies: '@eslint-community/regexpp': 4.12.1 + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + regexp-ast-analysis@0.7.1: dependencies: '@eslint-community/regexpp': 4.12.1 @@ -4931,6 +6324,8 @@ snapshots: refa: 0.12.1 regexp-ast-analysis: 0.7.1 + search-insights@2.17.3: {} + semver@7.7.2: {} shebang-command@2.0.0: @@ -4939,6 +6334,17 @@ snapshots: shebang-regex@3.0.0: {} + shiki@2.5.0: + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/langs': 2.5.0 + '@shikijs/themes': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + siginfo@2.0.0: {} signal-exit@4.1.0: {} @@ -4962,6 +6368,8 @@ snapshots: source-map@0.6.1: {} + space-separated-tokens@2.0.2: {} + spdx-exceptions@2.5.0: {} spdx-expression-parse@4.0.0: @@ -4971,6 +6379,8 @@ snapshots: spdx-license-ids@3.0.21: {} + speakingurl@14.0.1: {} + stackback@0.0.2: {} std-env@3.9.0: {} @@ -4988,6 +6398,11 @@ snapshots: get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@7.1.0: dependencies: ansi-regex: 6.1.0 @@ -5002,6 +6417,10 @@ snapshots: dependencies: js-tokens: 9.0.1 + superjson@2.2.2: + dependencies: + copy-anything: 3.0.5 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -5010,6 +6429,8 @@ snapshots: dependencies: tslib: 2.8.1 + tabbable@6.2.0: {} + tapable@2.2.1: {} tiny-invariant@1.3.3: {} @@ -5043,6 +6464,8 @@ snapshots: tree-kill@1.2.2: {} + trim-lines@3.0.1: {} + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -5111,6 +6534,10 @@ snapshots: dependencies: '@types/unist': 3.0.3 + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -5126,6 +6553,33 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + unocss@66.5.2(postcss@8.5.6)(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1)): + dependencies: + '@unocss/astro': 66.5.2(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1)) + '@unocss/cli': 66.5.2 + '@unocss/core': 66.5.2 + '@unocss/postcss': 66.5.2(postcss@8.5.6) + '@unocss/preset-attributify': 66.5.2 + '@unocss/preset-icons': 66.5.2 + '@unocss/preset-mini': 66.5.2 + '@unocss/preset-tagify': 66.5.2 + '@unocss/preset-typography': 66.5.2 + '@unocss/preset-uno': 66.5.2 + '@unocss/preset-web-fonts': 66.5.2 + '@unocss/preset-wind': 66.5.2 + '@unocss/preset-wind3': 66.5.2 + '@unocss/preset-wind4': 66.5.2 + '@unocss/transformer-attributify-jsx': 66.5.2 + '@unocss/transformer-compile-class': 66.5.2 + '@unocss/transformer-directives': 66.5.2 + '@unocss/transformer-variant-group': 66.5.2 + '@unocss/vite': 66.5.2(vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1)) + optionalDependencies: + vite: 7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1) + transitivePeerDependencies: + - postcss + - supports-color + unplugin-utils@0.3.0: dependencies: pathe: 2.0.3 @@ -5150,6 +6604,16 @@ snapshots: util-deprecate@1.0.2: {} + vfile-message@4.0.3: + 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.3 + vite-dev-rpc@1.1.0(rolldown-vite@7.1.14(@types/node@24.6.2)(esbuild@0.25.0)(jiti@2.6.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: birpc: 2.5.0 @@ -5196,6 +6660,16 @@ snapshots: transitivePeerDependencies: - supports-color + vite@5.4.20(@types/node@24.6.2)(lightningcss@1.30.2): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.52.0 + optionalDependencies: + '@types/node': 24.6.2 + fsevents: 2.3.3 + lightningcss: 1.30.2 + vite@7.1.7(@types/node@24.6.2)(jiti@2.6.0)(lightningcss@1.30.2)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.0 @@ -5212,6 +6686,55 @@ snapshots: tsx: 4.20.6 yaml: 2.8.1 + vitepress@1.6.4(@algolia/client-search@5.39.0)(@types/node@24.6.2)(change-case@5.4.4)(lightningcss@1.30.2)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3): + dependencies: + '@docsearch/css': 3.8.2 + '@docsearch/js': 3.8.2(@algolia/client-search@5.39.0)(search-insights@2.17.3) + '@iconify-json/simple-icons': 1.2.53 + '@shikijs/core': 2.5.0 + '@shikijs/transformers': 2.5.0 + '@shikijs/types': 2.5.0 + '@types/markdown-it': 14.1.2 + '@vitejs/plugin-vue': 5.2.4(vite@5.4.20(@types/node@24.6.2)(lightningcss@1.30.2))(vue@3.5.22(typescript@5.9.3)) + '@vue/devtools-api': 7.7.7 + '@vue/shared': 3.5.22 + '@vueuse/core': 12.8.2(typescript@5.9.3) + '@vueuse/integrations': 12.8.2(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.3) + focus-trap: 7.6.5 + mark.js: 8.11.1 + minisearch: 7.2.0 + shiki: 2.5.0 + vite: 5.4.20(@types/node@24.6.2)(lightningcss@1.30.2) + vue: 3.5.22(typescript@5.9.3) + optionalDependencies: + postcss: 8.5.6 + 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 + vitest-package-exports@0.1.1: dependencies: find-up-simple: 1.0.1 @@ -5271,6 +6794,8 @@ snapshots: transitivePeerDependencies: - supports-color + vue-flow-layout@0.2.0: {} + vue@3.5.22(typescript@5.9.3): dependencies: '@vue/compiler-dom': 3.5.22 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fbc1d96..fc5d018 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -22,6 +22,10 @@ catalogs: tsdown: ^0.15.6 tsx: ^4.20.6 typescript: ^5.9.3 + docs: + '@iconify-json/carbon': ^1.2.13 + unocss: ^66.5.2 + vitepress: ^1.6.4 testing: tinyexec: ^1.0.1 vitest: ^3.2.4 diff --git a/tsdown.config.ts b/tsdown.config.ts index 2f6f30e..0adec4c 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -8,7 +8,7 @@ export default defineConfig({ dts: true, workspace: { include: ['packages/*'], - exclude: ['playground'], + exclude: ['playground', 'packages/docs'], }, tsconfig: join(import.meta.dirname, 'tsconfig.json'), sourcemap: process.env.NODE_ENV === 'development',