From d99328d875fc1da82afd24d4380d24ce73c8ef26 Mon Sep 17 00:00:00 2001 From: Skiyee <319619193@qq.com> Date: Wed, 10 Apr 2024 15:08:53 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=F0=9F=93=96=20=E9=87=87=E7=94=A8=20`Mo?= =?UTF-8?q?norepo`=20=E6=96=B9=E5=BC=8F=E6=B7=BB=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=BA=94=E7=94=A8=EF=BC=8C=E4=B8=BA=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E4=BD=9C=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + docs/.vitepress/components/Badges.vue | 14 + docs/.vitepress/components/EgBase.vue | 34 + docs/.vitepress/components/EgCombosVars.vue | 62 + docs/.vitepress/components/EgVars.vue | 47 + docs/.vitepress/components/Icons.vue | 20 + docs/.vitepress/components/PreviewBox.vue | 5 + docs/.vitepress/config.ts | 108 + docs/.vitepress/theme/index.ts | 14 + docs/.vitepress/theme/styles.css | 28 + docs/.vitepress/uno.config.ts | 16 + docs/.vitepress/vite.config.ts | 20 + docs/components.d.ts | 17 + docs/feature/api.md | 66 + docs/feature/base.md | 122 ++ docs/feature/combosVars.md | 165 ++ docs/feature/defaultProps.md | 122 ++ docs/feature/props.md | 46 + docs/feature/vars.md | 113 + docs/guide/introduction.md | 41 + docs/guide/started.md | 209 ++ docs/index.md | 29 + docs/integration/tailwind.md | 3 + docs/integration/uno.md | 44 + docs/package.json | 20 + docs/public/icon.ts | 1 + docs/public/logo.png | Bin 0 -> 15633 bytes docs/public/logo.svg | 6 + package.json | 4 +- pnpm-lock.yaml | 2055 +++++++++++++++++-- pnpm-workspace.yaml | 2 + 31 files changed, 3286 insertions(+), 151 deletions(-) create mode 100644 docs/.vitepress/components/Badges.vue create mode 100644 docs/.vitepress/components/EgBase.vue create mode 100644 docs/.vitepress/components/EgCombosVars.vue create mode 100644 docs/.vitepress/components/EgVars.vue create mode 100644 docs/.vitepress/components/Icons.vue create mode 100644 docs/.vitepress/components/PreviewBox.vue create mode 100644 docs/.vitepress/config.ts create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/theme/styles.css create mode 100644 docs/.vitepress/uno.config.ts create mode 100644 docs/.vitepress/vite.config.ts create mode 100644 docs/components.d.ts create mode 100644 docs/feature/api.md create mode 100644 docs/feature/base.md create mode 100644 docs/feature/combosVars.md create mode 100644 docs/feature/defaultProps.md create mode 100644 docs/feature/props.md create mode 100644 docs/feature/vars.md create mode 100644 docs/guide/introduction.md create mode 100644 docs/guide/started.md create mode 100644 docs/index.md create mode 100644 docs/integration/tailwind.md create mode 100644 docs/integration/uno.md create mode 100644 docs/package.json create mode 100644 docs/public/icon.ts create mode 100644 docs/public/logo.png create mode 100644 docs/public/logo.svg create mode 100644 pnpm-workspace.yaml diff --git a/.gitignore b/.gitignore index 83fc6b7..67e7f78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ # Dependencies node_modules +# Doc +docs/.vitepress/dist +docs/.vitepress/cache + # Setting # Build Outputs diff --git a/docs/.vitepress/components/Badges.vue b/docs/.vitepress/components/Badges.vue new file mode 100644 index 0000000..bbc15c8 --- /dev/null +++ b/docs/.vitepress/components/Badges.vue @@ -0,0 +1,14 @@ + + + diff --git a/docs/.vitepress/components/EgBase.vue b/docs/.vitepress/components/EgBase.vue new file mode 100644 index 0000000..d38ece7 --- /dev/null +++ b/docs/.vitepress/components/EgBase.vue @@ -0,0 +1,34 @@ + + + diff --git a/docs/.vitepress/components/EgCombosVars.vue b/docs/.vitepress/components/EgCombosVars.vue new file mode 100644 index 0000000..90f83c1 --- /dev/null +++ b/docs/.vitepress/components/EgCombosVars.vue @@ -0,0 +1,62 @@ + + + diff --git a/docs/.vitepress/components/EgVars.vue b/docs/.vitepress/components/EgVars.vue new file mode 100644 index 0000000..ddfb34c --- /dev/null +++ b/docs/.vitepress/components/EgVars.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/.vitepress/components/Icons.vue b/docs/.vitepress/components/Icons.vue new file mode 100644 index 0000000..765f414 --- /dev/null +++ b/docs/.vitepress/components/Icons.vue @@ -0,0 +1,20 @@ + + + diff --git a/docs/.vitepress/components/PreviewBox.vue b/docs/.vitepress/components/PreviewBox.vue new file mode 100644 index 0000000..3f65fb9 --- /dev/null +++ b/docs/.vitepress/components/PreviewBox.vue @@ -0,0 +1,5 @@ + diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 0000000..21fadd1 --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,108 @@ +import type { DefaultTheme } from 'vitepress' +import { defineConfig } from 'vitepress' +import { transformerTwoslash } from '@shikijs/vitepress-twoslash' + +import { qq } from '../public/icon' +import vite from './vite.config' + +const GUIDES: DefaultTheme.NavItemWithLink[] = [ + { text: '简介', link: '/guide/introduction' }, + { text: '开始', link: '/guide/started' }, +] + +const FEATURE: DefaultTheme.NavItemWithLink[] = [ + { text: 'API 概述', link: '/feature/api' }, + { text: '基础单元(Base)', link: '/feature/base' }, + { text: '属性变量(Vars)', link: '/feature/vars' }, + { text: '默认属性(DefaultProps)', link: '/feature/defaultProps' }, + { text: '组合变量(CombosVars)', link: '/feature/combosVars' }, +] + +const INTEGRATION: DefaultTheme.NavItemWithLink[] = [ + { text: 'Uno', link: '/integration/uno' }, + { text: 'Tailwind', link: '/integration/tailwind' }, +] + +const Nav: DefaultTheme.NavItem[] = [ + { text: '指南', items: GUIDES }, + { text: '功能', items: FEATURE }, + { text: '集成', items: INTEGRATION }, +] + +const SidebarGuide: DefaultTheme.SidebarItem[] = [ + { text: '指南', items: GUIDES }, + { text: '功能', items: FEATURE }, +] + +const SidebarIntegration: DefaultTheme.SidebarItem[] = [ + { text: '集成', items: INTEGRATION }, +] + +const Sidebar: DefaultTheme.Sidebar = { + '/guide/': SidebarGuide, + '/feature/': SidebarGuide, + '/integration/': SidebarIntegration, +} + +export default defineConfig({ + title: 'UCV', + description: 'utility class variant', + + lastUpdated: true, + cleanUrls: true, + metaChunk: true, + + themeConfig: { + logo: '/logo.svg', + search: { + provider: 'local', + options: { + translations: { + button: { + buttonText: '搜索文档', + }, + }, + }, + }, + + nav: Nav, + + socialLinks: [ + { icon: 'github', link: 'https://github.com/claxjs/ucv' }, + { icon: { svg: qq }, link: 'https://qm.qq.com/q/4c3Sn0R98Y' }, + ], + + sidebar: Sidebar, + + editLink: { + pattern: 'https://github.com/claxjs/ucv/edit/main/docs/:path', + text: '对本页提出修改建议', + }, + + docFooter: { + prev: '上一页', + next: '下一页', + }, + + footer: { + copyright: 'Copyright © 2024-Present sKy(Skiyee)', + message: 'Released under the GPL-3.0 License.', + }, + }, + head: [ + ['meta', { name: 'theme-color', content: '#ffffff' }], + ['link', { rel: 'icon', href: '/logo.svg', type: 'image/svg+xml' }], + ['meta', { name: 'author', content: 'Skiyee' }], + ['meta', { property: 'og:title', content: 'UCV' }], + ['meta', { property: 'og:image', content: '/logo.png' }], + ['meta', { property: 'og:description', content: '工具类(utility classes) 和 属性(props) 的最佳拍档' }], + ['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1.0, viewport-fit=cover' }], + ], + + vite, + markdown: { + codeTransformers: [ + transformerTwoslash(), + ], + }, +}) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..1c33d7f --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,14 @@ +import DefaultTheme from 'vitepress/theme' +import TwoslashFloatingVue from '@shikijs/vitepress-twoslash/client' + +import '@shikijs/vitepress-twoslash/style.css' + +import 'uno.css' +import './styles.css' + +export default { + extends: DefaultTheme, + enhanceApp({ app }) { + app.use(TwoslashFloatingVue) + }, +} diff --git a/docs/.vitepress/theme/styles.css b/docs/.vitepress/theme/styles.css new file mode 100644 index 0000000..a7b06ca --- /dev/null +++ b/docs/.vitepress/theme/styles.css @@ -0,0 +1,28 @@ +/** + * Colors: Palette + * -------------------------------------------------------------------------- */ + :root { + --vp-u-green-1: #7eca56; + --vp-u-green-2: #9fd35a; + --vp-u-green-3: #6db347; + --vp-u-green-soft: rgba(126, 202, 86, 0.14); +} +/** + * Colors: Function + * -------------------------------------------------------------------------- */ + :root { + --vp-c-brand-1: var(--vp-u-green-1); + --vp-c-brand-2: var(--vp-u-green-2); + --vp-c-brand-3: var(--vp-u-green-3); + --vp-c-brand-soft: var(--vp-u-green-soft); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: linear-gradient(292deg, var(--vp-u-green-1), var(--vp-u-green-2)); + --vp-home-hero-image-background-image: linear-gradient(to right, #4CAF50 10%, #8BC34A); + --vp-home-hero-image-filter: blur(100px); +} \ No newline at end of file diff --git a/docs/.vitepress/uno.config.ts b/docs/.vitepress/uno.config.ts new file mode 100644 index 0000000..260c157 --- /dev/null +++ b/docs/.vitepress/uno.config.ts @@ -0,0 +1,16 @@ +import { + defineConfig, + presetAttributify, + presetUno, + transformerVariantGroup, +} from 'unocss' + +export default defineConfig({ + presets: [ + presetUno(), + presetAttributify(), + ], + transformers: [ + transformerVariantGroup(), + ], +}) diff --git a/docs/.vitepress/vite.config.ts b/docs/.vitepress/vite.config.ts new file mode 100644 index 0000000..3abbae7 --- /dev/null +++ b/docs/.vitepress/vite.config.ts @@ -0,0 +1,20 @@ +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vite' +import UnoCSS from 'unocss/vite' +import Components from 'unplugin-vue-components/vite' + +export default defineConfig({ + plugins: [ + Components({ + dirs: [ + fileURLToPath(new URL('./components', import.meta.url)), + ], + dts: fileURLToPath(new URL('../components.d.ts', import.meta.url)), + include: [/\.vue$/, /\.vue\?vue/, /\.md$/], + extensions: ['vue', 'md'], + }), + UnoCSS( + fileURLToPath(new URL('./uno.config.ts', import.meta.url)), + ), + ], +}) diff --git a/docs/components.d.ts b/docs/components.d.ts new file mode 100644 index 0000000..c530661 --- /dev/null +++ b/docs/components.d.ts @@ -0,0 +1,17 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +declare module 'vue' { + export interface GlobalComponents { + Badges: typeof import('./.vitepress/components/Badges.vue')['default'] + EgBase: typeof import('./.vitepress/components/EgBase.vue')['default'] + EgCombosVars: typeof import('./.vitepress/components/EgCombosVars.vue')['default'] + EgVars: typeof import('./.vitepress/components/EgVars.vue')['default'] + Icons: typeof import('./.vitepress/components/Icons.vue')['default'] + PreviewBox: typeof import('./.vitepress/components/PreviewBox.vue')['default'] + } +} diff --git a/docs/feature/api.md b/docs/feature/api.md new file mode 100644 index 0000000..dee0d19 --- /dev/null +++ b/docs/feature/api.md @@ -0,0 +1,66 @@ +# API 概述 + +`ucv` 可接受该 `Options` 类型的对象,即 `ucv(options)` + +```ts +import { ucv } from '@claxjs/ucv' + +const example = ucv({ base, vars, combosVars, defaultProps }) + +const { baseKey1, baseKey2 } = example({ ...globalProp }) + +const baseKey1Classes = baseKey1({ ...unitProp1 }) +const baseKey2Classes = baseKey2({ ...unitProp2 }) +``` + +## 配置 + +`ucv` 具有类型推导功能,该文档内所展示的类型只是概述,具体类型请看 [类型定义](https://github.com/claxjs/ucv/blob/main/src/types.ts) + +### base + +定义基础单元工具类 + +- 类型:`Record` + +- 默认值:必须值,否则报错 + +- 使用:[基础单元(Base)](./base.md) + +### vars + +定义受属性影响工具类 + +- 类型:`Record>` + +- 默认值:`{}` + +- 使用:[属性变量(Vars)](./vars.md) + +### defaultProps + +定义默认属性预生成默认工具类 + +- 类型:`Record>>` + +- 默认值:`[]` + +- 使用:[组合变量(CombosVars)](./combosVars.md) + +## 类型 + +### Clax + +```ts +type Clax = string | Clax[] +``` diff --git a/docs/feature/base.md b/docs/feature/base.md new file mode 100644 index 0000000..a538069 --- /dev/null +++ b/docs/feature/base.md @@ -0,0 +1,122 @@ +# 基础单元(Base) + +用于定义单元样式或根样式,作为整个 `ucv` 的基础单元工具类 + +## 数据结构 + +`base` 是一个对象,接受多个基础单元,每一个单元都可接受 `string`、`array`、`嵌套的array`类型 + +::: code-group + +```ts [类型] +interface OptionsBase { + [BaseKey: string]: Clax +} +``` + +```ts [示例] +ucv({ + base: { // [!code focus:6] + baseKey1: 'class-name-1', + baseKey2: ['class-name-2'], + baseKey3: ['class-name-3', ['class-name-3']], + // 更多基础单元... + } +}) +``` + +::: + +## 基本用法 + +主要用于复杂组件单元化,针对多个基础单元需要相同控制变量变换的场景 + +```ts{4-8} twoslash +import { ucv } from '@claxjs/ucv' + +const example = ucv({ + base: { + root: 'base-root-style-1', + title: ['base-title-style-1'], + content: ['base-content-style-1', ['base-content-style-1']], + }, +}) + +const { root, title, content } = example() + +root() // 生成 => 'base-root-style-1' +title() // 生成 => 'base-title-style-1' +content() // 生成 => 'base-content-style-1 base-content-style-1' +``` + +## 实战示例 + +以 `Alert` 组件为例,分为 `root`、 `icon`、 `title`、 `body`、 `content` 五个基础单元 + + + + +
+
+ + + + + +
+
+
Title
+
Main Content
+
+
+
+ +::: code-group + +```ts [Script] twoslash +import { ucv } from '@claxjs/ucv' + +const alert = ucv({ + base: { + root: 'flex w-full rounded-lg shadow-sm p-4 bg-blue-50 text-blue-800 dark:(bg-gray-800 text-blue-400)', + icon: 'flex-shrink-0 mt-1 size-4', + wrapper: 'ms-3', + title: 'font-semibold', + content: 'mt-2 text-sm' + }, +}) + +const { root, icon, wrapper, title, content } = alert() +``` + +```vue-html [Template] +
+
+ + + + + +
+
+
Title
+
Main Content
+
+
+``` + +::: diff --git a/docs/feature/combosVars.md b/docs/feature/combosVars.md new file mode 100644 index 0000000..e9e3c07 --- /dev/null +++ b/docs/feature/combosVars.md @@ -0,0 +1,165 @@ +# 组合变量(CombosVars) + +用于定义受多个 `Props` 影响的工具类,适用于需要根据多个变量确定样式的情况 + +## 数据结构 + +`combosVars` 是一个对象数组,每个对象可以是多个 `变量体(变量名:状态值)` 和一个 `基础单元` 的组合 + +::: code-group + +```ts [类型] +type CombosVarProps = { + [VarKey in keyof Vars]?: + | keyof Vars[VarKey] + | keyof Vars[VarKey][] +} & { + class?: { + [BaseKey: string]: Clax + } +} + +type OptionsCombosVars = CombosVar[] +``` + +```ts [示例] +ucv({ + base: { + 妖怪: '', + 耳朵: '', + // 更多基础单元... + }, + vars: { + 紧箍咒: { + 紧: { + 妖怪: '来抓我呀!', + }, + 松: { + 妖怪: '这下跑不了了!' + } + }, + 金箍棒: { + 变大: { + 妖怪: '哪里跑?', + // 更多受影响基础单元... + }, + 变小: { + 耳朵: '跑这里!', + // 更多受影响基础单元... + }, + // 更多变量值... + }, + // 更多变量... + }, + combosVars: [ // [!code focus:17] + { + 紧箍咒: '松', + 金箍棒: '变大', + class: { + 妖怪: '要被敲灭啦!' + } + }, + { + 紧箍咒: '紧', + 金箍棒: ['变大', '变小'], + class: { + 耳朵: '怎么嗡嗡的', + 妖怪: '你来打我呀!' + } + } + ], +}) +``` +::: + +## 基本用法 + +一个样式是受多个 `Props` 影响的状态下才生效的,那么就应该使用 `combosVars` + +```ts{35-38} twoslash +import { ucv } from '@claxjs/ucv' + +const example = ucv({ + base: { + root: 'base-root-style-1', + title: ['base-title-style-1'], + content: ['base-content-style-1', ['base-content-style-1']], + }, + vars: { + color: { + primary: { + root: 'vars-color-primary-root-style-1', + title: 'vars-color-primary-title-style-1', + }, + secondary: { + root: 'vars-color-secondary-root-style-1', + content: 'vars-color-secondary-content-style-1', + }, + success: { + root: 'vars-color-success-root-style-1', + }, + }, + disabled: { + true: { + root: 'vars-disabled-true-root-style-1', + content: 'vars-disabled-true-content-style-1' + }, + false: { + root: 'vars-disabled-false-root-style-1', + } + } + }, + combosVars: [ + { + color: 'primary', + disabled: true, + class: { + root: 'combos-vars-color-primary-disabled-true-root-style-1', + }, + }, + { + color: ['primary', 'secondary'], + disabled: false, + class: { + root: 'combos-vars-color-primary-disabled-false-root-style-1', + }, + }, + ], + defaultProps: { + color: 'primary', + disabled: true + } +}) + +const { root, title } = example() + +const { content } = example({ color: 'secondary', disabled: false }) + +/** + * root() 生成 + * base-root-style-1 + * vars-color-primary-root-style-1 vars-disabled-true-root-style-1 + * combos-vars-color-primary-disabled-true-root-style-1 + */ +root() + +/** + * title() 生成 + * base-title-style-1 + * vars-color-primary-title-style-1 + */ +title() + +/** + * content() 生成 + * base-content-style-1 base-content-style-1 + * vars-color-secondary-content-style-1 + * + * 解释: + * 最后一个class默认情况下应该是 vars-disabled-true-content-style-1 对吧? + * 但现在的默认值已经被全局属性覆盖了 + */ +content() +``` + +## 实战示例 diff --git a/docs/feature/defaultProps.md b/docs/feature/defaultProps.md new file mode 100644 index 0000000..2fb487d --- /dev/null +++ b/docs/feature/defaultProps.md @@ -0,0 +1,122 @@ +# 默认属性(DefaultProps) + +用于定义在没有显式指定 `Props` 的情况下,生成预定义的默认工具类属性。 + +## 数据结构 + +`defaultProps` 是一个对象,可由一个或多个 `变量体(变量名:状态值)` 组成 + +::: code-group + +```ts [类型] +type OptionsDefaultProps = { + [VarKey in keyof Vars]?: keyof Vars[VarKey] +} +``` + +```ts [示例] +ucv({ + base: { + 妖怪: '', + 耳朵: '', + // 更多基础单元... + }, + // 不心动tips:不要用中文作为变量名,这里只是为了演示 + vars: { + 金箍棒: { + 变大: { + 妖怪: '哪里跑?', + // 更多受影响基础单元... + }, + 变小: { + 耳朵: '跑这里!', + // 更多受影响基础单元... + }, + // 更多变量值... + }, + // 更多变量... + }, + defaultProps: { // [!code focus:3] + 金箍棒: '变小', + } +}) +``` + +::: + +## 基本用法 + +若希望在组件未提供相关 `Props` 时生效,可以使用 `defaultProps` 来临时代替并生成默认行为 + +```ts{32-35} twoslash +import { ucv } from '@claxjs/ucv' + +const example = ucv({ + base: { + root: 'base-root-style-1', + title: ['base-title-style-1'], + content: ['base-content-style-1', ['base-content-style-1']], + }, + vars: { + color: { + primary: { + root: 'vars-color-primary-root-style-1', + title: 'vars-color-primary-title-style-1', + }, + secondary: { + root: 'vars-color-secondary-root-style-1', + }, + success: { + root: 'vars-color-success-root-style-1', + }, + }, + disabled: { + true: { + root: 'vars-disabled-true-root-style-1', + content: 'vars-disabled-true-content-style-1', + }, + false: { + root: 'vars-disabled-false-root-style-1', + } + } + }, + defaultProps: { + color: 'primary', + disabled: true + } +}) + +// 以前 +/** + * const { root, title, content } = example({ + * color: 'primary', + * disabled: true + * }) + */ + +// 现在 +const { root, title, content } = example(/* 对比属性变量这里不需要填写了 */) + +/** + * root() 生成 + * base-root-style-1 + * vars-color-primary-root-style-1 vars-disabled-true-root-style-1 + */ +root() + +/** + * title() 生成 + * base-title-style-1 + * vars-color-primary-title-style-1 + */ +title() + +/** + * content() 生成 + * base-content-style-1 base-content-style-2 + * vars-disabled-true-content-style-1 + */ +content() +``` + +## 实战示例 diff --git a/docs/feature/props.md b/docs/feature/props.md new file mode 100644 index 0000000..b152c2f --- /dev/null +++ b/docs/feature/props.md @@ -0,0 +1,46 @@ +# 内部属性(Props) + +一个 `ucv` 可以传入一个全局属性,每一个基础单元下都有内部属性 + +这是一个例子,假设有一 `button` 如下: + +```ts +import { ucv } from '@claxjs/ucv' + +const button = ucv({ + base: { + root: 'base-root-style-1', + title: ['base-title-style-1'], + content: ['base-content-style-1', ['base-content-style-1']], + }, +}) +``` + +以下是两种用法,结果生成的工具类是一样的 + +::: code-group + +```ts{2-4} [全局属性] +const { root, title, content } = button({ + class: { + root: 'global-props-root-style-1', + }, +}) + +root() // 生成 => 'base-root-style-1 global-props-root-style-1' +title() // 生成 => 'base-title-style-1' +content() // 生成 => 'base-content-style-1 base-content-style-1' +``` + +```ts{4} [单元属性] +const { root, title, content } = button() + +root({ + class: 'global-props-root-style-1', +}) // 生成 => 'base-root-style-1 global-props-root-style-1' +title() // 生成 => 'base-title-style-1' +content() // 生成 => 'base-content-style-1 base-content-style-1' +``` +::: + +全局属性和属性唯一区别是:全局属性的Class属性需要指定单元,而属性不需要 diff --git a/docs/feature/vars.md b/docs/feature/vars.md new file mode 100644 index 0000000..95e5a10 --- /dev/null +++ b/docs/feature/vars.md @@ -0,0 +1,113 @@ +# 属性变量(Vars) + +用于定义受 `Props` 影响而变化的变量,允许根据不同的 `Props` 值动态生成样式 + +## 数据结构 + +`vars` 是一个对象,可以定义多个 `变量体` (颜色、状态等),每个 `变量体` 下可定义多个 `状态` (主色|副色、真|假),每一个 `状态` 下可控制多个[基础单元](./base.md#基本用法) + +::: code-group + +```ts [类型] +interface OptionsVars { + [VarKey: string]: { + [StateName: string]: { + [BaseKey: string]: Clax + } + } +} +``` + +```ts [示例] +ucv({ + base: { + 妖怪: '', + 耳朵: '', + // 更多基础单元... + }, + // 不心动tips:不要用中文作为变量名,这里只是为了演示 + vars: { // [!code focus:14] + 金箍棒: { + 变大: { + 妖怪: '哪里跑?', + // 更多受影响基础单元... + }, + 变小: { + 耳朵: '跑这里!', + // 更多受影响基础单元... + }, + // 更多变量值... + }, + // 更多变量... + } +}) +``` + +::: + +## 基本用法 + +组件内有关样式变化的 `Props` 全用在 `vars` 属性中准没错 + +```ts{9-31} twoslash +import { ucv } from '@claxjs/ucv' + +const example = ucv({ + base: { + root: 'base-root-style-1', + title: ['base-title-style-1'], + content: ['base-content-style-1', ['base-content-style-2']], + }, + vars: { + color: { + primary: { + root: 'vars-color-primary-root-style-1', + title: 'vars-color-primary-title-style-1', + }, + secondary: { + root: 'vars-color-secondary-root-style-1', + }, + success: { + root: 'vars-color-success-root-style-1', + }, + }, + disabled: { + true: { + root: 'vars-disabled-true-root-style-1', + content: 'vars-disabled-true-content-style-1', + }, + false: { + root: 'vars-disabled-false-root-style-1', + } + } + }, +}) + +const { root, title, content } = example({ + color: 'primary', + disabled: true +}) + +/** + * root() 生成 + * base-root-style-1 + * vars-color-primary-root-style-1 vars-disabled-true-root-style-1 + */ +root() + +/** + * title() 生成 + * base-title-style-1 + * vars-color-primary-title-style-1 + */ +title() + +/** + * content() 生成 + * base-content-style-1 base-content-style-2 + * vars-disabled-true-content-style-1 + */ +content() +``` + +## 实战示例 diff --git a/docs/guide/introduction.md b/docs/guide/introduction.md new file mode 100644 index 0000000..ea35e65 --- /dev/null +++ b/docs/guide/introduction.md @@ -0,0 +1,41 @@ +# 简介 + +
+ +ucv (utility class variant,即工具类变量) 是工具类(utility classes) 和 属性(props) 的最佳拍档,旨在解决工具类难以跟随属性变换的问题,以及原子化CSS封装组件的痛点。 + +## 功能 + +- 基础单元 ([Base](../feature/base.md)) +- 属性变量 ([Vars](../feature/vars.md)) +- 组合变量 ([CombosVars](../feature/combosVars.md)) +- 不限框架 ([Integrations](../integration/uno.md)) +- 智能提示 ([AutoComplete](../feature/api.md)) + +## 社区 + +- QQ 交流群 ([897784703](https://qm.qq.com/q/4c3Sn0R98Y)) + +## 作者 + +- sKy ([@Skiyee](https://github.com/skiyee)) + +## 致谢 + +- [**cva**](https://github.com/joe-bell/cva)
+ 感谢各位创造者和贡献者,让 `ucv` 得以站在巨人肩膀人上获取的灵感 + +## 待办 + +- 添加使用语法糖 +- 解决工具类冲突 + +## 为什么 + +为什么不采用 `cva` 而创建 `ucv` 呢?这是一个好问题! + +`cva` 是一个强大的工具,但它只能针对单一基础单元进行变量变换。一旦遇到多个基础单元需要相同控制变量进行变换时,就得创建很多耦合的 `cva`,这会使得代码难以集中管理和维护。 + +而 `ucv` 主要解决了这个痛点。它提供了一种更加灵活和通用的方法来处理多基础单元情况下的变量变换,使得代码更加模块化和易于维护。 + +如果没有遇到以上所描述的痛点,那么 `cva` 依旧是一个很好的解决方案。 diff --git a/docs/guide/started.md b/docs/guide/started.md new file mode 100644 index 0000000..9d586bb --- /dev/null +++ b/docs/guide/started.md @@ -0,0 +1,209 @@ +# 开始 + +渐进式使用预览,解释每一个 API 属性的存在价值([跳到使用预览](#预览)) + +## 安装 + + + +::: code-group + +```sh [pnpm] +pnpm add @claxjs/ucv +``` + +```sh [npm] +npm install @claxjs/ucv +``` + +```sh [yarn] +yarn add @claxjs/ucv +``` + +::: + +## 集成 + +- [Uno](../integration/uno.md) +- [Tailwind](../integration/tailwind.md) + +## 预览 + +### Base(基础单元) + +假如我们要写一个 `Checkout` 组件,那么我们需要哪些 `样式单元` 呢? + +你已经想出来了,可以分为: `root` `box` `icon` `label`,🤓 Do it... + + + +🤖 Finish!效果请看这里!👆 + +::: code-group + +```ts [Script] +import { ref } from 'vue' +import { ucv } from '@claxjs/ucv' + +const selected = ref(false) + +const checkbox = ucv({ + base: { + root: 'inline-flex items-center gap-x-2 shrink-0', + box: [ + 'relative inline-flex items-center justify-center size-6 overflow-clip', + 'border-2 border-solid border-[--vp-c-text-1] rounded-1.5', + ], + icon: '', + label: 'text-sm', + }, +}) + +const checkboxClax = checkbox() +``` + +```vue-html [Template] + +``` + +::: + +### Vars(属性变量) + +书接上文,一个 `Checkout` 必须能 `check` 对吧?😯 + +此时就需要配合一个 `变量(Vars)` 来控制显隐的 `工具类`,🤓 Do it... + + + +加一点点动效中... 🤖 Finish!效果请点击这里!👆 + +::: code-group + +```ts [Script] +import { computed, ref } from 'vue' +import { ucv } from '@claxjs/ucv' + +const selected = ref(false) + +const checkbox = ucv({ + base: { + root: 'inline-flex items-center gap-x-2 shrink-0', + box: [ + 'relative inline-flex items-center justify-center size-6 overflow-clip', + 'border-2 border-solid border-[--vp-c-text-1] rounded-1.5', + 'after:(content-[""] absolute inset-0 bg-[--vp-c-brand] rounded-1 transition-all-300)', + ], + icon: 'z-1 animate-delay-0.6s animate-heart-beat', + label: 'text-sm', + }, + vars: { + selected: { + true: { + box: 'after:(scale-100)', + }, + false: { + box: 'after:(opacity-0 scale-50)', + }, + }, + }, +}) + +const checkboxClax = computed(() => { + return checkbox({ selected: selected.value }) +}) +``` + +```vue-html [Template] + +``` + +::: + +### CombosVars(组合变量) + +此时我们想让已经 `checked` 组件显示一个 `删除线` 该怎么办呢?🤔 + +需满足两个变量 `selected(已选) & enableThrough(允许划线) -> true` + +两个方法: 直接通过 `语法` 判断,或转递给 `ucv` 配合 `CombosVars`,我选第二种 + + + +::: code-group + +```ts [Script] +import { computed, ref } from 'vue' +import { ucv } from '@claxjs/ucv' + +const selected = ref(false) +const enableThrough = true // 假设允许当checked时有划线 + +const checkbox = ucv({ + base: { + root: 'inline-flex items-center gap-x-2 shrink-0', + box: [ + 'relative inline-flex items-center justify-center size-6 overflow-clip', + 'border-2 border-solid border-[--vp-c-text-1] rounded-1.5', + 'after:(content-[""] absolute inset-0 bg-[--vp-c-brand] rounded-1 transition-all-300)', + ], + icon: 'z-1 animate-delay-0.6s animate-heart-beat', + label: 'flex items-center text-sm', + }, + vars: { + selected: { + true: { + box: 'after:(scale-100)', + }, + false: { + box: 'after:(opacity-0 scale-50)', + }, + }, + enableThrough: { + true: { + label: 'relative before:(content-[""] absolute transition-all-300 w-0 h-0.5 bg-[--vp-c-brand])', + }, + }, + }, + combosVars: [ + { + selected: true, + enableThrough: true, + class: { + label: 'text-[--vp-c-text-2] before:(w-full)', + }, + }, + ], +}) + +const checkboxClax = computed(() => { + return checkbox({ selected: selected.value, enableThrough }) +}) +``` + +```vue-html [Template] + +``` + +::: diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..db2bf5c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,29 @@ +--- +layout: home + +title: UCV +titleTemplate: utility class variant + +hero: + name: "UCV" + text: "工具类变量" + tagline: 工具类(utility classes) 和 属性(props) 的最佳拍档 + image: + src: /logo.png + alt: ucv + actions: + - theme: brand + text: 开始 + link: /guide/started + - theme: alt + text: 简介 + link: /guide/introduction + +features: + - title: 🚀 功能齐全 + details: 理想状态下可以满足各种需求,功能丰富,操作简便 + - title: 🤖 类型提示 + details: 提供了类型提示功能,有助于降低使用者的心智负担 + - title: 🧲 不限框架 + details: 能与任何框架集成,灵活性高,适用范围广泛 +--- diff --git a/docs/integration/tailwind.md b/docs/integration/tailwind.md new file mode 100644 index 0000000..f1b7f8b --- /dev/null +++ b/docs/integration/tailwind.md @@ -0,0 +1,3 @@ +# Tailwind + +😍 无需做任何配置,无论什么文件下都可以使用 diff --git a/docs/integration/uno.md b/docs/integration/uno.md new file mode 100644 index 0000000..bab9600 --- /dev/null +++ b/docs/integration/uno.md @@ -0,0 +1,44 @@ +# Uno + +由于 `uno` 是经过构建工具来提取工具类的,默认只支持 `.jsx`, `.tsx`, `.vue`, `.md`, `.html`, `.svelte`, `.astro` + +若你想在 `ts` 或者 `js` 文件中使用 `ucv`,有两种方法,局部或全局设定,选择你觉得舒服的😁 + +## 局部(😋推荐) + +在单个文件中使用 `@unocss-include` 注释,可以让 `uno` 自动识别工具类 + +在 `当前文件内`,只需要注释一次,任意位置的 `工具类` 都会生效 + +```ts{3} +// 文件名: button.(ts|js|任意类型) + +// @unocss-include +export const ButtonClax = ucv({ + base: { + root: 'bg-primary-500 text-white', + } +}) +``` + +## 全局 + +如果你觉得手动注释太麻烦,可以通过修改 `uno.config.*` 来让指定文件接受识别 + +```ts{8,11} +// 文件名: uno.config.* + +export default defineConfig({ + content: { + pipeline: { + include: [ + // 这一行是默认值,我不太能理解为什么要这么设计,与默认值合并不是更好的做法? + /\.(vue|svelte|[jt]sx|mdx?|astro|elm|php|phtml|html)($|\?)/, + + // 使 src 文件夹下的所有 js | ts 文件都接受识别 + 'src/**/*.{js,ts}', + ], + }, + }, +}) +``` diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..113fba5 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,20 @@ +{ + "type": "module", + "private": true, + "scripts": { + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "dependencies": { + "@claxjs/ucv": "workspace:*", + "vue": "^3.4.21" + }, + "devDependencies": { + "@shikijs/vitepress-twoslash": "^1.2.4", + "unocss": "^0.59.0", + "unplugin-vue-components": "^0.26.0", + "vite": "^5.2.8", + "vitepress": "^1.1.0" + } +} diff --git a/docs/public/icon.ts b/docs/public/icon.ts new file mode 100644 index 0000000..e3d3d15 --- /dev/null +++ b/docs/public/icon.ts @@ -0,0 +1 @@ +export const qq = '' diff --git a/docs/public/logo.png b/docs/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..871f0716e667b3e375a2339103448b1f27ecd2ad GIT binary patch literal 15633 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 + + + + + diff --git a/package.json b/package.json index ab04e0b..58e7372 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,9 @@ "release": "pnpm test && pnpm build && bumpp", "lint": "eslint --cache .", "lint:fix": "nr lint --fix", - "prepare": "simple-git-hooks" + "prepare": "simple-git-hooks", + "docs:dev": "pnpm -C docs run docs:dev", + "docs:build": "pnpm -C docs run docs:build" }, "devDependencies": { "@antfu/eslint-config": "^2.11.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80d8739..e6338a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,43 +4,71 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -devDependencies: - '@antfu/eslint-config': - specifier: ^2.11.6 - version: 2.11.6(@vue/compiler-sfc@3.4.21)(eslint@8.57.0)(typescript@5.4.3)(vitest@1.4.0) - '@commitlint/cli': - specifier: ^19.2.1 - version: 19.2.1(@types/node@20.12.2)(typescript@5.4.3) - '@commitlint/config-conventional': - specifier: ^19.1.0 - version: 19.1.0 - bumpp: - specifier: ^9.4.0 - version: 9.4.0 - commitizen: - specifier: ^4.3.0 - version: 4.3.0(@types/node@20.12.2)(typescript@5.4.3) - cz-git: - specifier: ^1.9.1 - version: 1.9.1 - eslint: - specifier: ^8.57.0 - version: 8.57.0 - lint-staged: - specifier: ^15.2.2 - version: 15.2.2 - simple-git-hooks: - specifier: ^2.11.1 - version: 2.11.1 - typescript: - specifier: ^5.4.3 - version: 5.4.3 - unbuild: - specifier: ^2.0.0 - version: 2.0.0(typescript@5.4.3) - vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.2) +importers: + + .: + devDependencies: + '@antfu/eslint-config': + specifier: ^2.11.6 + version: 2.11.6(@vue/compiler-sfc@3.4.21)(eslint@8.57.0)(typescript@5.4.3)(vitest@1.4.0) + '@commitlint/cli': + specifier: ^19.2.1 + version: 19.2.1(@types/node@20.12.7)(typescript@5.4.3) + '@commitlint/config-conventional': + specifier: ^19.1.0 + version: 19.1.0 + bumpp: + specifier: ^9.4.0 + version: 9.4.0 + commitizen: + specifier: ^4.3.0 + version: 4.3.0(@types/node@20.12.7)(typescript@5.4.3) + cz-git: + specifier: ^1.9.1 + version: 1.9.1 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + lint-staged: + specifier: ^15.2.2 + version: 15.2.2 + simple-git-hooks: + specifier: ^2.11.1 + version: 2.11.1 + typescript: + specifier: ^5.4.3 + version: 5.4.3 + unbuild: + specifier: ^2.0.0 + version: 2.0.0(typescript@5.4.3) + vitest: + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.12.7) + + docs: + dependencies: + '@claxjs/ucv': + specifier: workspace:* + version: link:.. + vue: + specifier: ^3.4.21 + version: 3.4.21(typescript@5.4.4) + devDependencies: + '@shikijs/vitepress-twoslash': + specifier: ^1.2.4 + version: 1.2.4(typescript@5.4.4) + unocss: + specifier: ^0.59.0 + version: 0.59.0(postcss@8.4.38)(rollup@3.29.4)(vite@5.2.8) + unplugin-vue-components: + specifier: ^0.26.0 + version: 0.26.0(rollup@3.29.4)(vue@3.4.21) + vite: + specifier: ^5.2.8 + version: 5.2.8(@types/node@20.12.7) + vitepress: + specifier: ^1.1.0 + version: 1.1.0(@algolia/client-search@4.23.2)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) packages: @@ -49,6 +77,156 @@ packages: engines: {node: '>=0.10.0'} dev: true + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0): + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true + + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0): + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true + + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2): + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + '@algolia/client-search': 4.23.2 + algoliasearch: 4.23.2 + dev: true + + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2): + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.23.2 + algoliasearch: 4.23.2 + dev: true + + /@algolia/cache-browser-local-storage@4.23.2: + resolution: {integrity: sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==} + dependencies: + '@algolia/cache-common': 4.23.2 + dev: true + + /@algolia/cache-common@4.23.2: + resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==} + dev: true + + /@algolia/cache-in-memory@4.23.2: + resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==} + dependencies: + '@algolia/cache-common': 4.23.2 + dev: true + + /@algolia/client-account@4.23.2: + resolution: {integrity: sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==} + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/client-analytics@4.23.2: + resolution: {integrity: sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==} + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/client-common@4.23.2: + resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==} + dependencies: + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/client-personalization@4.23.2: + resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==} + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/client-search@4.23.2: + resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==} + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/logger-common@4.23.2: + resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==} + dev: true + + /@algolia/logger-console@4.23.2: + resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==} + dependencies: + '@algolia/logger-common': 4.23.2 + dev: true + + /@algolia/recommend@4.23.2: + resolution: {integrity: sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.23.2 + '@algolia/cache-common': 4.23.2 + '@algolia/cache-in-memory': 4.23.2 + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/logger-console': 4.23.2 + '@algolia/requester-browser-xhr': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/requester-node-http': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + + /@algolia/requester-browser-xhr@4.23.2: + resolution: {integrity: sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==} + dependencies: + '@algolia/requester-common': 4.23.2 + dev: true + + /@algolia/requester-common@4.23.2: + resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==} + dev: true + + /@algolia/requester-node-http@4.23.2: + resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==} + dependencies: + '@algolia/requester-common': 4.23.2 + dev: true + + /@algolia/transporter@4.23.2: + resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==} + dependencies: + '@algolia/cache-common': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + dev: true + /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -139,12 +317,23 @@ packages: - vitest dev: true + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + /@antfu/install-pkg@0.3.2: resolution: {integrity: sha512-FFYqME8+UHlPnRlX/vn+8cTD4Wo/nG/lzRxpABs3XANBmdJdNImVz3QvjNAE/W3PSCNbG387FOz8o5WelnWOlg==} dependencies: execa: 8.0.1 dev: true + /@antfu/utils@0.7.7: + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + dev: true + /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} @@ -181,6 +370,29 @@ packages: - supports-color dev: true + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.24.1: resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} @@ -191,6 +403,23 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} @@ -202,6 +431,24 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -222,6 +469,13 @@ packages: '@babel/types': 7.24.0 dev: true + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} @@ -243,6 +497,44 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -250,6 +542,13 @@ packages: '@babel/types': 7.24.0 dev: true + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -260,12 +559,10 @@ packages: /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} @@ -283,6 +580,17 @@ packages: - supports-color dev: true + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/highlight@7.24.2: resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} @@ -300,6 +608,72 @@ packages: hasBin: true dependencies: '@babel/types': 7.24.0 + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + dev: true + + /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) dev: true /@babel/standalone@7.24.3: @@ -341,7 +715,6 @@ packages: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true /@clack/core@0.3.4: resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} @@ -360,14 +733,14 @@ packages: bundledDependencies: - is-unicode-supported - /@commitlint/cli@19.2.1(@types/node@20.12.2)(typescript@5.4.3): + /@commitlint/cli@19.2.1(@types/node@20.12.7)(typescript@5.4.3): resolution: {integrity: sha512-cbkYUJsLqRomccNxvoJTyv5yn0bSy05BBizVyIcLACkRbVUqYorC351Diw/XFSWC/GtpwiwT2eOvQgFZa374bg==} engines: {node: '>=v18'} hasBin: true dependencies: '@commitlint/format': 19.0.3 '@commitlint/lint': 19.1.0 - '@commitlint/load': 19.2.0(@types/node@20.12.2)(typescript@5.4.3) + '@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.3) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -436,7 +809,7 @@ packages: '@commitlint/types': 19.0.3 dev: true - /@commitlint/load@19.2.0(@types/node@20.12.2)(typescript@5.4.3): + /@commitlint/load@19.2.0(@types/node@20.12.7)(typescript@5.4.3): resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} engines: {node: '>=v18'} dependencies: @@ -446,7 +819,7 @@ packages: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.4.3) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.2)(cosmiconfig@9.0.0)(typescript@5.4.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0)(typescript@5.4.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -523,6 +896,49 @@ packages: chalk: 5.3.0 dev: true + /@docsearch/css@3.6.0: + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + dev: true + + /@docsearch/js@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0): + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0) + preact: 10.20.1 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + + /@docsearch/react@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0): + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.2 + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + /@es-joy/jsdoccomment@0.42.0: resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} engines: {node: '>=16'} @@ -983,6 +1399,22 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + dependencies: + '@floating-ui/utils': 0.2.1 + dev: true + + /@floating-ui/dom@1.1.1: + resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} + dependencies: + '@floating-ui/core': 1.6.0 + dev: true + + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + dev: true + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -1003,6 +1435,24 @@ packages: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils@2.1.22: + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.6.1 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1031,7 +1481,6 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1071,6 +1520,10 @@ packages: fastq: 1.17.1 dev: true + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + dev: true + /@rollup/plugin-alias@5.1.0(rollup@3.29.4): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -1289,6 +1742,44 @@ packages: dev: true optional: true + /@shikijs/core@1.2.4: + resolution: {integrity: sha512-ClaUWpt8oTzjcF0MM1P81AeWyzc1sNSJlAjMG80CbwqbFqXSNz+NpQVUC0icobt3sZn43Sn27M4pHD/Jmp3zHw==} + dev: true + + /@shikijs/transformers@1.2.4: + resolution: {integrity: sha512-ysGkpsHxRxLmz8nGKeFdV+gKj1NXt+88sM/34kfKVWTWIXg5gsFOJxJBbG7k+fUR5JlD6sNh65W9qPXrbVE1wQ==} + dependencies: + shiki: 1.2.4 + dev: true + + /@shikijs/twoslash@1.2.4(typescript@5.4.4): + resolution: {integrity: sha512-4F2gNlCFN9HY0jV3J/IBfqkI7w2HBwycwUBx9fLYGYxzbfu0gYRJdQYWtvJC/sG2rYTYlJrS5BpWdXYoMHwbXw==} + dependencies: + '@shikijs/core': 1.2.4 + twoslash: 0.2.5(typescript@5.4.4) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@shikijs/vitepress-twoslash@1.2.4(typescript@5.4.4): + resolution: {integrity: sha512-LI8Q8A08dRQpEEiespjTBGcT2i+0Uf3Z03FE+okBlObd4Wf+Sq/YNiLR6ga/7V2z/vhktRwcb/2O3+UZMRiEKg==} + dependencies: + '@shikijs/twoslash': 1.2.4(typescript@5.4.4) + floating-vue: 5.2.2(vue@3.4.21) + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.1.0 + shiki: 1.2.4 + twoslash: 0.2.5(typescript@5.4.4) + twoslash-vue: 0.2.5(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - '@nuxt/kit' + - supports-color + - typescript + dev: true + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -1376,6 +1867,12 @@ packages: '@types/node': 20.12.2 dev: true + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: true + /@types/eslint@8.56.6: resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} dependencies: @@ -1387,22 +1884,59 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: '@types/unist': 2.0.10 dev: true + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: true + /@types/node@20.12.2: resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} dependencies: undici-types: 5.26.5 dev: true + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true @@ -1419,6 +1953,14 @@ packages: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: true + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1675,10 +2217,243 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript/vfs@1.5.0: + resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@unocss/astro@0.59.0(rollup@3.29.4)(vite@5.2.8): + resolution: {integrity: sha512-1M1OeYO7rthZ8z5Xokb0hE89rXk9AIvELDMRJl0TxYJ8xwK824S2LxpyK52i2g3+S2XmJaQMFoRvfLdCNK+dMw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.59.0 + '@unocss/reset': 0.59.0 + '@unocss/vite': 0.59.0(rollup@3.29.4)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.7) + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli@0.59.0(rollup@3.29.4): + resolution: {integrity: sha512-2aWSFJ1SCxJBjRAsRog7JvVFfnB4Dps+ol0IFQw99nxaQx8YNiGKN8/bZjkajr0Leo77eAhKoxh2+LjIjrkr6Q==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@unocss/config': 0.59.0 + '@unocss/core': 0.59.0 + '@unocss/preset-uno': 0.59.0 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.9 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.59.0: + resolution: {integrity: sha512-uBsLXmT8Dap6YRHSdlsVLYev8L6JVK6vUFcVCe0w7B74TC+GceE13lNOG3Zhz1EVfHaOrUEcYFthDILUkjBR3Q==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.59.0 + unconfig: 0.3.12 + dev: true + + /@unocss/core@0.59.0: + resolution: {integrity: sha512-9tXL6TV4FRpmFy70dHryA5NHsS7bV/x771LOPnZyiw+TRK4oGVk96IsATOflcn7L3FbXQY1mV+8Uzhkhx2PY0A==} + dev: true + + /@unocss/extractor-arbitrary-variants@0.59.0: + resolution: {integrity: sha512-KYprrpJXgdoJZa4iVejW9uqht4W712Ra0x1gvznPW0BupIPF7vEyNAGvPTnB2y5Wb6OjNMiPbGnqL7BfBoxYSQ==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/inspector@0.59.0: + resolution: {integrity: sha512-4xmc6HuAU12ED6SuGNr8QaKOHgskKGdLhKDHCQqFgYHw8gZoiBhmLcV4jP3Ef34JeWgQYbJ1cHQcYiHFXBmppQ==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/rule-utils': 0.59.0 + gzip-size: 6.0.0 + sirv: 2.0.4 + dev: true + + /@unocss/postcss@0.59.0(postcss@8.4.38): + resolution: {integrity: sha512-1+kb6x+5cT5WiokBF8s3NgO1HxaF86vrPx3VAeOMSHTUNhzNvb72e6HBLRUp1Qu6kxbCLDixFpBtNZyH5ueoog==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.59.0 + '@unocss/core': 0.59.0 + '@unocss/rule-utils': 0.59.0 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.9 + postcss: 8.4.38 + dev: true + + /@unocss/preset-attributify@0.59.0: + resolution: {integrity: sha512-jh1hXJQIygvagDwRuWX5pz3a8/PJGgMimzU6v6yWByOfvGIrLoxUFdJCc9IsvP6K9GUUqSBIyJDPx9364yysgQ==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/preset-icons@0.59.0: + resolution: {integrity: sha512-P0tH0ueZYprU1XGVAJl3nDC9uhPBJ43bnsV098uebBa8G650j7W5kslvSfV3XxG+/iujo2k2EGKxja9/uR4E0g==} + dependencies: + '@iconify/utils': 2.1.22 + '@unocss/core': 0.59.0 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.59.0: + resolution: {integrity: sha512-UQ4+JyHHbtpfW6XyC1bsnoJx4MMCJKo+Y1n+5fYo9WRkVzZ7IkcZBeHG2wkNWH8TLBmzjZNvyUYEAi5lntDW1A==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/extractor-arbitrary-variants': 0.59.0 + '@unocss/rule-utils': 0.59.0 + dev: true + + /@unocss/preset-tagify@0.59.0: + resolution: {integrity: sha512-JsVGUmSusHR6BLacxuGOf0XOqtAzBaoas15RvTklmj0eOzh5ClhsqP9C7guENyCMqmCgg0xz/22u4F9hujP6kg==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/preset-typography@0.59.0: + resolution: {integrity: sha512-HADPOJMeQM2O7eZuGBzKKMKTJw9wdWfJImftFAYC9+p42Kg8FNuLg9E10oZjejS8VDSxzcv9HKuyTXYvvDgAmg==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/preset-mini': 0.59.0 + dev: true + + /@unocss/preset-uno@0.59.0: + resolution: {integrity: sha512-pNiyWZuByCq8hB14ITaJVtjFu02OYOce/I4dbKQ+SEWd1L3t6miplpKzsE+dptqH0iT33EWfQeXs6fkfjH+EZA==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/preset-mini': 0.59.0 + '@unocss/preset-wind': 0.59.0 + '@unocss/rule-utils': 0.59.0 + dev: true + + /@unocss/preset-web-fonts@0.59.0: + resolution: {integrity: sha512-LH2BnYmxeVUqX3A4+bEX/EljV/82n5XHDwPk0VI3bJ9GWxnhTxkmagIXldmPFqVs8tIAYSDJbY31MGXR9WnqMA==} + dependencies: + '@unocss/core': 0.59.0 + ofetch: 1.3.4 + dev: true + + /@unocss/preset-wind@0.59.0: + resolution: {integrity: sha512-HazRIJDZ5/TZCZ3zC2KAd45UvmizPQi2uF7V3ZUqXQRGtrmZN24RsJkZNa4a3LiY2U0fEhHA7Pm6zPGx/nyeJg==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/preset-mini': 0.59.0 + '@unocss/rule-utils': 0.59.0 + dev: true + + /@unocss/reset@0.59.0: + resolution: {integrity: sha512-9f5DYoaqzlaFz2fAzAJOXWZ41Qmgg4u9WdzMQ7SYALeEq61khScaSrf8osNTKFZuRLKPWYwX6JErzdAkfIH/6A==} + dev: true + + /@unocss/rule-utils@0.59.0: + resolution: {integrity: sha512-PDGAcyBFXqB7GHhKGRfajoiepL4A9SM4pyulMMT328H0uHEbwrB+niCVE/hubP2rCOGrrq7JH0nR4ftaC6m8Ow==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.59.0 + magic-string: 0.30.9 + dev: true + + /@unocss/scope@0.59.0: + resolution: {integrity: sha512-6rPic8ed4MlFz9nkPL2GxfkmTEwuu8sAxODEDRB5ws2/JzEiZHFrBd7O/p/OJHvwiizmNJ1Y6i65LAxky3RNSg==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.59.0: + resolution: {integrity: sha512-Q0jllcvNE5WkT3vfKlWl6ALtg6PYm3Pd8F2va4PL9x6LvI0KzPz8wA022z+UqX0lMR84bnfdGN3751zWJecLPg==} + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@unocss/core': 0.59.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/transformer-attributify-jsx@0.59.0: + resolution: {integrity: sha512-4EoADTT/7H4Cmid11y5HZ4Bgc37qxAPcb1W0DBvXZJT1gh7N+4UFmR6s6s+N15IBUX7QKArUKh/U7ZwL9XZPMQ==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/transformer-compile-class@0.59.0: + resolution: {integrity: sha512-9GXyPl/aYxCoHJbD6u6iVrCcyiy4kBUZlgoOqySUZfFCPhslPPyPUsksZSRebRuA4ys2/XSi6cRVhtAZfAdjBw==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/transformer-directives@0.59.0: + resolution: {integrity: sha512-YHwUw5ByUlY8v3/85q8qdoOUnPKsiQokEM2u8BxOZ8HFoMYb5xjCNjY0I85unvRaKhh1tnrZWG+tq1510RSpHQ==} + dependencies: + '@unocss/core': 0.59.0 + '@unocss/rule-utils': 0.59.0 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.59.0: + resolution: {integrity: sha512-tjzWaMusoGy1uFEZuuzu04SOIooG2RkeX2wtlQpr2hM2Kl8ZG4QW+8nxClwLiLkarurBeFtTNXCn5jjL9MVg3g==} + dependencies: + '@unocss/core': 0.59.0 + dev: true + + /@unocss/vite@0.59.0(rollup@3.29.4)(vite@5.2.8): + resolution: {integrity: sha512-AfVw7PWjFb/+chqbGUjy0r/yFIWAkvPFUY5p4wXyLlPpbQjKlC/96Q771paLexvIhAvcYjUCrAgZSEMnk2JrSQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@unocss/config': 0.59.0 + '@unocss/core': 0.59.0 + '@unocss/inspector': 0.59.0 + '@unocss/scope': 0.59.0 + '@unocss/transformer-directives': 0.59.0 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.9 + vite: 5.2.8(@types/node@20.12.7) + transitivePeerDependencies: + - rollup + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@5.2.8)(vue@3.4.21): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.2.8(@types/node@20.12.7) + vue: 3.4.21(typescript@5.4.4) + dev: true + /@vitest/expect@1.4.0: resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: @@ -1718,6 +2493,18 @@ packages: pretty-format: 29.7.0 dev: true + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: @@ -1726,38 +2513,182 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - dev: true /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + dependencies: + '@babel/parser': 7.24.1 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.38 + source-map-js: 1.2.0 + + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + /@vue/devtools-api@7.0.25(vue@3.4.21): + resolution: {integrity: sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==} + dependencies: + '@vue/devtools-kit': 7.0.25(vue@3.4.21) + transitivePeerDependencies: + - vue + dev: true + + /@vue/devtools-kit@7.0.25(vue@3.4.21): + resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@vue/devtools-shared': 7.0.25 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.4) + dev: true + + /@vue/devtools-shared@7.0.25: + resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==} + dependencies: + rfdc: 1.3.1 + dev: true + + /@vue/language-core@1.8.27(typescript@5.4.4): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.4 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.4.4 + vue-template-compiler: 2.7.16 + dev: true + + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + dependencies: + '@vue/shared': 3.4.21 + + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.4) + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) + focus-trap: 7.5.4 + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue dev: true - /@vue/compiler-sfc@3.4.21: - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - dependencies: - '@babel/parser': 7.24.1 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - estree-walker: 2.0.2 - magic-string: 0.30.8 - postcss: 8.4.38 - source-map-js: 1.2.0 + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: true - /@vue/compiler-ssr@3.4.21: - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - dev: true - - /@vue/shared@3.4.21: - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue dev: true /JSONStream@1.3.5: @@ -1805,6 +2736,26 @@ packages: uri-js: 4.4.1 dev: true + /algoliasearch@4.23.2: + resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==} + dependencies: + '@algolia/cache-browser-local-storage': 4.23.2 + '@algolia/cache-common': 4.23.2 + '@algolia/cache-in-memory': 4.23.2 + '@algolia/client-account': 4.23.2 + '@algolia/client-analytics': 4.23.2 + '@algolia/client-common': 4.23.2 + '@algolia/client-personalization': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/logger-console': 4.23.2 + '@algolia/recommend': 4.23.2 + '@algolia/requester-browser-xhr': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/requester-node-http': 4.23.2 + '@algolia/transporter': 4.23.2 + dev: true + /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -2040,6 +2991,10 @@ packages: resolution: {integrity: sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==} dev: true + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: true + /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -2083,6 +3038,10 @@ packages: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: true + /character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true @@ -2225,13 +3184,13 @@ packages: engines: {node: '>= 12.0.0'} dev: true - /commitizen@4.3.0(@types/node@20.12.2)(typescript@5.4.3): + /commitizen@4.3.0(@types/node@20.12.7)(typescript@5.4.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.12.2)(typescript@5.4.3) + cz-conventional-changelog: 3.3.0(@types/node@20.12.7)(typescript@5.4.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -2260,6 +3219,10 @@ packages: dot-prop: 5.3.0 dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -2312,7 +3275,7 @@ packages: browserslist: 4.23.0 dev: true - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.2)(cosmiconfig@9.0.0)(typescript@5.4.3): + /cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} peerDependencies: @@ -2320,7 +3283,7 @@ packages: cosmiconfig: '>=8.2' typescript: '>=4' dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.7 cosmiconfig: 9.0.0(typescript@5.4.3) jiti: 1.21.0 typescript: 5.4.3 @@ -2463,18 +3426,21 @@ packages: css-tree: 2.2.1 dev: true - /cz-conventional-changelog@3.3.0(@types/node@20.12.2)(typescript@5.4.3): + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /cz-conventional-changelog@3.3.0(@types/node@20.12.7)(typescript@5.4.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@20.12.2)(typescript@5.4.3) + commitizen: 4.3.0(@types/node@20.12.7)(typescript@5.4.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.2.0(@types/node@20.12.2)(typescript@5.4.3) + '@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.3) transitivePeerDependencies: - '@types/node' - typescript @@ -2490,6 +3456,10 @@ packages: engines: {node: '>=12'} dev: true + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2513,6 +3483,12 @@ packages: ms: 2.1.2 dev: true + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: true + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true @@ -2543,6 +3519,11 @@ packages: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} dev: true + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + /destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} dev: true @@ -2557,6 +3538,12 @@ packages: engines: {node: '>=8'} dev: true + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: true + /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2615,6 +3602,10 @@ packages: engines: {node: '>=12'} dev: true + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + /electron-to-chromium@1.4.722: resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==} dev: true @@ -2630,7 +3621,6 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} @@ -2720,6 +3710,11 @@ packages: engines: {node: '>=10'} dev: true + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + /eslint-compat-utils@0.5.0(eslint@8.57.0): resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} engines: {node: '>=12'} @@ -2987,7 +3982,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 - vitest: 1.4.0(@types/node@20.12.2) + vitest: 1.4.0(@types/node@20.12.7) transitivePeerDependencies: - supports-color - typescript @@ -3146,7 +4141,6 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -3163,6 +4157,21 @@ packages: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} dev: true + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -3308,6 +4317,26 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true + /floating-vue@5.2.2(vue@3.4.21): + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': ^3.2.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@floating-ui/dom': 1.1.1 + vue: 3.4.21(typescript@5.4.4) + vue-resize: 2.0.0-alpha.1(vue@3.4.21) + dev: true + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: true + /fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true @@ -3373,6 +4402,11 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -3519,6 +4553,13 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3536,6 +4577,11 @@ packages: function-bind: 1.1.2 dev: true + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + /homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -3551,6 +4597,11 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -3737,6 +4788,11 @@ packages: '@types/estree': 1.0.5 dev: true + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3874,6 +4930,10 @@ packages: engines: {node: '>=6'} dev: true + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3927,6 +4987,11 @@ packages: wrap-ansi: 9.0.0 dev: true + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -3996,104 +5061,410 @@ packages: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: true - /lodash.upperfirst@4.3.1: - resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + /lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} + dependencies: + ansi-escapes: 6.2.1 + cli-cursor: 4.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + dev: true + + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: true + + /longest@2.0.1: + resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: true + + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: true + + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + dev: true + + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: true + + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + dev: true + + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: true + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: true + + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /merge@2.1.1: + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} + dev: true + + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 dev: true - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} dependencies: - ansi-escapes: 6.2.1 - cli-cursor: 4.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /longest@2.0.1: - resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} - engines: {node: '>=0.10.0'} + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} dependencies: - get-func-name: 2.0.2 + micromark-util-symbol: 2.0.0 dev: true - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} dependencies: - yallist: 3.1.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} dependencies: - yallist: 4.0.0 + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + micromark-util-symbol: 2.0.0 dev: true - /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-string: 2.0.0 - micromark: 2.11.4 - parse-entities: 2.0.0 - unist-util-stringify-position: 2.0.3 - transitivePeerDependencies: - - supports-color + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 dev: true - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} dev: true - /mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} dev: true - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 dev: true - /meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 dev: true - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 dev: true - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /merge@2.1.1: - resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: true + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} dev: true /micromark@2.11.4: @@ -4105,6 +5476,30 @@ packages: - supports-color dev: true + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -4175,6 +5570,10 @@ packages: engines: {node: '>=8'} dev: true + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -4183,6 +5582,10 @@ packages: yallist: 4.0.0 dev: true + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4231,6 +5634,11 @@ packages: engines: {node: '>=4'} dev: true + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -4239,6 +5647,10 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -4247,7 +5659,6 @@ packages: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -4284,6 +5695,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + /npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4309,6 +5727,14 @@ packages: ufo: 1.5.3 dev: true + /ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.3 + dev: true + /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} dev: true @@ -4457,6 +5883,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -4505,7 +5935,6 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -4847,6 +6276,9 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 + + /preact@10.20.1: + resolution: {integrity: sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==} dev: true /prelude-ls@1.2.1: @@ -5093,6 +6525,10 @@ packages: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} dev: true + /search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + dev: true + /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -5123,6 +6559,12 @@ packages: engines: {node: '>=8'} dev: true + /shiki@1.2.4: + resolution: {integrity: sha512-Q9n9jKiOjJCRPztA9POn3/uZXNySHDNKAsPNpmtHDcFyi6ZQhx5vQKZW3Nhrwn8TWW3RudSRk66zqY603EZDeg==} + dependencies: + '@shikijs/core': 1.2.4 + dev: true + /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -5142,6 +6584,15 @@ packages: requiresBuild: true dev: true + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: true + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -5175,7 +6626,6 @@ packages: /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - dev: true /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -5206,6 +6656,11 @@ packages: resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -5267,6 +6722,11 @@ packages: engines: {node: '>=8'} dev: true + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -5341,6 +6801,10 @@ packages: tslib: 2.6.2 dev: true + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true + /tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -5390,7 +6854,6 @@ packages: /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -5406,6 +6869,15 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: true + /ts-api-utils@1.3.0(typescript@5.4.3): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -5433,6 +6905,35 @@ packages: typescript: 5.4.3 dev: true + /twoslash-protocol@0.2.5: + resolution: {integrity: sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==} + dev: true + + /twoslash-vue@0.2.5(typescript@5.4.4): + resolution: {integrity: sha512-Tai45V/1G/jEJQIbDe/DIkJCgOqtA/ZHxx4TgC5EM/nnyTP6zbZNtvKOlzMjFgXFdk6rebWEl2Mi/RHKs/sbDQ==} + peerDependencies: + typescript: '*' + dependencies: + '@vue/language-core': 1.8.27(typescript@5.4.4) + twoslash: 0.2.5(typescript@5.4.4) + twoslash-protocol: 0.2.5 + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /twoslash@0.2.5(typescript@5.4.4): + resolution: {integrity: sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==} + peerDependencies: + typescript: '*' + dependencies: + '@typescript/vfs': 1.5.0 + twoslash-protocol: 0.2.5 + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5471,6 +6972,11 @@ packages: hasBin: true dev: true + /typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + engines: {node: '>=14.17'} + hasBin: true + /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true @@ -5514,6 +7020,15 @@ packages: - supports-color dev: true + /unconfig@0.3.12: + resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==} + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + mlly: 1.6.1 + dev: true + /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true @@ -5523,17 +7038,128 @@ packages: engines: {node: '>=18'} dev: true + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + dependencies: + '@types/unist': 3.0.2 + dev: true + /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.10 dev: true + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + dev: true + + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: true + /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true + /unocss@0.59.0(postcss@8.4.38)(rollup@3.29.4)(vite@5.2.8): + resolution: {integrity: sha512-mCF31cfzonVtCFnkW/D99Xf031vedQ4ysyWCmwFr6kVGISc4a1OVqrmC8nv1Lp+8sPHIY9umtpNLX4Iwli/w5w==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.59.0 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.59.0(rollup@3.29.4)(vite@5.2.8) + '@unocss/cli': 0.59.0(rollup@3.29.4) + '@unocss/core': 0.59.0 + '@unocss/extractor-arbitrary-variants': 0.59.0 + '@unocss/postcss': 0.59.0(postcss@8.4.38) + '@unocss/preset-attributify': 0.59.0 + '@unocss/preset-icons': 0.59.0 + '@unocss/preset-mini': 0.59.0 + '@unocss/preset-tagify': 0.59.0 + '@unocss/preset-typography': 0.59.0 + '@unocss/preset-uno': 0.59.0 + '@unocss/preset-web-fonts': 0.59.0 + '@unocss/preset-wind': 0.59.0 + '@unocss/reset': 0.59.0 + '@unocss/transformer-attributify-jsx': 0.59.0 + '@unocss/transformer-attributify-jsx-babel': 0.59.0 + '@unocss/transformer-compile-class': 0.59.0 + '@unocss/transformer-directives': 0.59.0 + '@unocss/transformer-variant-group': 0.59.0 + '@unocss/vite': 0.59.0(rollup@3.29.4)(vite@5.2.8) + vite: 5.2.8(@types/node@20.12.7) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: true + + /unplugin-vue-components@0.26.0(rollup@3.29.4)(vue@3.4.21): + resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + chokidar: 3.6.0 + debug: 4.3.4 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.30.8 + minimatch: 9.0.4 + resolve: 1.22.8 + unplugin: 1.10.1 + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + /untyped@1.4.2: resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true @@ -5577,7 +7203,22 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@1.4.0(@types/node@20.12.2): + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + dev: true + + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + dev: true + + /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5586,7 +7227,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -5598,8 +7239,8 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.2): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + /vite@5.2.8(@types/node@20.12.7): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5626,7 +7267,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -5634,7 +7275,63 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.2): + /vitepress@1.1.0(@algolia/client-search@4.23.2)(@types/node@20.12.7)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4): + resolution: {integrity: sha512-G+NS5I2OETxC0SfGAMDO75JWNkrcir0UCptuhQMNoaZhhlqvYtTDQhph4qGc5dtiTtZkcFa/bCcSx+A2gSS3lA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0) + '@shikijs/core': 1.2.4 + '@shikijs/transformers': 1.2.4 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.8)(vue@3.4.21) + '@vue/devtools-api': 7.0.25(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + postcss: 8.4.38 + shiki: 1.2.4 + vite: 5.2.8(@types/node@20.12.7) + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vitest@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5659,7 +7356,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -5677,8 +7374,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) + vite: 5.2.8(@types/node@20.12.7) + vite-node: 1.4.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5690,6 +7387,21 @@ packages: - terser dev: true + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.21(typescript@5.4.4) + dev: true + /vue-eslint-parser@9.4.2(eslint@8.57.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -5708,12 +7420,51 @@ packages: - supports-color dev: true + /vue-resize@2.0.0-alpha.1(vue@3.4.21): + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + dependencies: + vue: 3.4.21(typescript@5.4.4) + dev: true + + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue@3.4.21(typescript@5.4.4): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.4 + /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + dev: true + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -5830,3 +7581,7 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..28756fa --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - docs