{"owner":"varletjs","repo":"varlet","hasSkills":true,"totalSkillsCount":235,"totalTokensCount":377515,"categories":["plugin-manifest","anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":["packages/varlet-cli/README.md","packages/varlet-cli/template/generators/base/README.md","packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md","packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md","packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md","packages/varlet-import-resolver/README.md","packages/varlet-ui-playground/src/download/template/README.md","packages/varlet-ui/README.md","packages/varlet-ui/docs/atomicCssSupport.en-US.md","packages/varlet-ui/docs/atomicCssSupport.zh-CN.md","packages/varlet-ui/docs/browserAdaptation.en-US.md","packages/varlet-ui/docs/browserAdaptation.zh-CN.md","packages/varlet-ui/docs/cli.en-US.md","packages/varlet-ui/docs/cli.zh-CN.md","packages/varlet-ui/docs/defaultsCustomization.en-US.md","packages/varlet-ui/docs/defaultsCustomization.zh-CN.md","packages/varlet-ui/docs/designResources.en-US.md","packages/varlet-ui/docs/designResources.zh-CN.md","packages/varlet-ui/docs/extension.en-US.md","packages/varlet-ui/docs/extension.zh-CN.md","packages/varlet-ui/docs/home.en-US.md","packages/varlet-ui/docs/home.zh-CN.md","packages/varlet-ui/docs/importOnDemand.en-US.md","packages/varlet-ui/docs/importOnDemand.zh-CN.md","packages/varlet-ui/docs/migrationGuide.en-US.md","packages/varlet-ui/docs/migrationGuide.zh-CN.md","packages/varlet-ui/docs/quickstart.en-US.md","packages/varlet-ui/docs/quickstart.zh-CN.md","packages/varlet-ui/docs/serverSideRendering.en-US.md","packages/varlet-ui/docs/serverSideRendering.zh-CN.md","packages/varlet-ui/docs/zodValidation.en-US.md","packages/varlet-ui/docs/zodValidation.zh-CN.md","packages/varlet-ui/src/action-sheet/docs/en-US.md","packages/varlet-ui/src/action-sheet/docs/zh-CN.md","packages/varlet-ui/src/alert/docs/en-US.md","packages/varlet-ui/src/alert/docs/zh-CN.md","packages/varlet-ui/src/app-bar/docs/en-US.md","packages/varlet-ui/src/app-bar/docs/zh-CN.md","packages/varlet-ui/src/auto-complete/docs/en-US.md","packages/varlet-ui/src/auto-complete/docs/zh-CN.md","packages/varlet-ui/src/avatar-group/docs/en-US.md","packages/varlet-ui/src/avatar-group/docs/zh-CN.md","packages/varlet-ui/src/avatar/docs/en-US.md","packages/varlet-ui/src/avatar/docs/zh-CN.md","packages/varlet-ui/src/back-top/docs/en-US.md","packages/varlet-ui/src/back-top/docs/zh-CN.md","packages/varlet-ui/src/badge/docs/en-US.md","packages/varlet-ui/src/badge/docs/zh-CN.md","packages/varlet-ui/src/bottom-navigation-item/docs/en-US.md","packages/varlet-ui/src/bottom-navigation-item/docs/zh-CN.md","packages/varlet-ui/src/bottom-navigation/docs/en-US.md","packages/varlet-ui/src/bottom-navigation/docs/zh-CN.md","packages/varlet-ui/src/breadcrumb/docs/en-US.md","packages/varlet-ui/src/breadcrumb/docs/zh-CN.md","packages/varlet-ui/src/breadcrumbs/docs/en-US.md","packages/varlet-ui/src/breadcrumbs/docs/zh-CN.md","packages/varlet-ui/src/button-group/docs/en-US.md","packages/varlet-ui/src/button-group/docs/zh-CN.md","packages/varlet-ui/src/button/docs/en-US.md","packages/varlet-ui/src/button/docs/zh-CN.md","packages/varlet-ui/src/card/docs/en-US.md","packages/varlet-ui/src/card/docs/zh-CN.md","packages/varlet-ui/src/cell/docs/en-US.md","packages/varlet-ui/src/cell/docs/zh-CN.md","packages/varlet-ui/src/checkbox-group/docs/en-US.md","packages/varlet-ui/src/checkbox-group/docs/zh-CN.md","packages/varlet-ui/src/checkbox/docs/en-US.md","packages/varlet-ui/src/checkbox/docs/zh-CN.md","packages/varlet-ui/src/chip/docs/en-US.md","packages/varlet-ui/src/chip/docs/zh-CN.md","packages/varlet-ui/src/code/docs/en-US.md","packages/varlet-ui/src/code/docs/zh-CN.md","packages/varlet-ui/src/col/docs/en-US.md","packages/varlet-ui/src/col/docs/zh-CN.md","packages/varlet-ui/src/collapse-item/docs/en-US.md","packages/varlet-ui/src/collapse-item/docs/zh-CN.md","packages/varlet-ui/src/collapse-transition/docs/en-US.md","packages/varlet-ui/src/collapse-transition/docs/zh-CN.md","packages/varlet-ui/src/collapse/docs/en-US.md","packages/varlet-ui/src/collapse/docs/zh-CN.md","packages/varlet-ui/src/count-to/docs/en-US.md","packages/varlet-ui/src/count-to/docs/zh-CN.md","packages/varlet-ui/src/countdown/docs/en-US.md","packages/varlet-ui/src/countdown/docs/zh-CN.md","packages/varlet-ui/src/counter/docs/en-US.md","packages/varlet-ui/src/counter/docs/zh-CN.md","packages/varlet-ui/src/data-table/docs/en-US.md","packages/varlet-ui/src/data-table/docs/zh-CN.md","packages/varlet-ui/src/date-input/docs/en-US.md","packages/varlet-ui/src/date-input/docs/zh-CN.md","packages/varlet-ui/src/date-picker/docs/en-US.md","packages/varlet-ui/src/date-picker/docs/zh-CN.md","packages/varlet-ui/src/dialog/docs/en-US.md","packages/varlet-ui/src/dialog/docs/zh-CN.md","packages/varlet-ui/src/divider/docs/en-US.md","packages/varlet-ui/src/divider/docs/zh-CN.md","packages/varlet-ui/src/drag/docs/en-US.md","packages/varlet-ui/src/drag/docs/zh-CN.md","packages/varlet-ui/src/ellipsis/docs/en-US.md","packages/varlet-ui/src/ellipsis/docs/zh-CN.md","packages/varlet-ui/src/fab/docs/en-US.md","packages/varlet-ui/src/fab/docs/zh-CN.md","packages/varlet-ui/src/floating-panel/docs/en-US.md","packages/varlet-ui/src/floating-panel/docs/zh-CN.md","packages/varlet-ui/src/form-details/docs/en-US.md","packages/varlet-ui/src/form-details/docs/zh-CN.md","packages/varlet-ui/src/form/docs/en-US.md","packages/varlet-ui/src/form/docs/zh-CN.md","packages/varlet-ui/src/highlighter-provider/docs/en-US.md","packages/varlet-ui/src/highlighter-provider/docs/zh-CN.md","packages/varlet-ui/src/hover/docs/en-US.md","packages/varlet-ui/src/hover/docs/zh-CN.md","packages/varlet-ui/src/icon/docs/en-US.md","packages/varlet-ui/src/icon/docs/zh-CN.md","packages/varlet-ui/src/image-preview/docs/en-US.md","packages/varlet-ui/src/image-preview/docs/zh-CN.md","packages/varlet-ui/src/image/docs/en-US.md","packages/varlet-ui/src/image/docs/zh-CN.md","packages/varlet-ui/src/index-anchor/docs/en-US.md","packages/varlet-ui/src/index-anchor/docs/zh-CN.md","packages/varlet-ui/src/index-bar/docs/en-US.md","packages/varlet-ui/src/index-bar/docs/zh-CN.md","packages/varlet-ui/src/input/docs/en-US.md","packages/varlet-ui/src/input/docs/zh-CN.md","packages/varlet-ui/src/lazy/docs/en-US.md","packages/varlet-ui/src/lazy/docs/zh-CN.md","packages/varlet-ui/src/link/docs/en-US.md","packages/varlet-ui/src/link/docs/zh-CN.md","packages/varlet-ui/src/list/docs/en-US.md","packages/varlet-ui/src/list/docs/zh-CN.md","packages/varlet-ui/src/loading-bar/docs/en-US.md","packages/varlet-ui/src/loading-bar/docs/zh-CN.md","packages/varlet-ui/src/loading/docs/en-US.md","packages/varlet-ui/src/loading/docs/zh-CN.md","packages/varlet-ui/src/locale-provider/docs/en-US.md","packages/varlet-ui/src/locale-provider/docs/zh-CN.md","packages/varlet-ui/src/locale/docs/en-US.md","packages/varlet-ui/src/locale/docs/zh-CN.md","packages/varlet-ui/src/menu-option/docs/en-US.md","packages/varlet-ui/src/menu-option/docs/zh-CN.md","packages/varlet-ui/src/menu-select/docs/en-US.md","packages/varlet-ui/src/menu-select/docs/zh-CN.md","packages/varlet-ui/src/menu/docs/en-US.md","packages/varlet-ui/src/menu/docs/zh-CN.md","packages/varlet-ui/src/option/docs/en-US.md","packages/varlet-ui/src/option/docs/zh-CN.md","packages/varlet-ui/src/otp-input/docs/en-US.md","packages/varlet-ui/src/otp-input/docs/zh-CN.md","packages/varlet-ui/src/overlay/docs/en-US.md","packages/varlet-ui/src/overlay/docs/zh-CN.md","packages/varlet-ui/src/pagination/docs/en-US.md","packages/varlet-ui/src/pagination/docs/zh-CN.md","packages/varlet-ui/src/paper/docs/en-US.md","packages/varlet-ui/src/paper/docs/zh-CN.md","packages/varlet-ui/src/picker/docs/en-US.md","packages/varlet-ui/src/picker/docs/zh-CN.md","packages/varlet-ui/src/popup/docs/en-US.md","packages/varlet-ui/src/popup/docs/zh-CN.md","packages/varlet-ui/src/progress/docs/en-US.md","packages/varlet-ui/src/progress/docs/zh-CN.md","packages/varlet-ui/src/pull-refresh/docs/en-US.md","packages/varlet-ui/src/pull-refresh/docs/zh-CN.md","packages/varlet-ui/src/radio-group/docs/en-US.md","packages/varlet-ui/src/radio-group/docs/zh-CN.md","packages/varlet-ui/src/radio/docs/en-US.md","packages/varlet-ui/src/radio/docs/zh-CN.md","packages/varlet-ui/src/rail-navigation-item/docs/en-US.md","packages/varlet-ui/src/rail-navigation-item/docs/zh-CN.md","packages/varlet-ui/src/rail-navigation/docs/en-US.md","packages/varlet-ui/src/rail-navigation/docs/zh-CN.md","packages/varlet-ui/src/rate/docs/en-US.md","packages/varlet-ui/src/rate/docs/zh-CN.md","packages/varlet-ui/src/result/docs/en-US.md","packages/varlet-ui/src/result/docs/zh-CN.md","packages/varlet-ui/src/ripple/docs/en-US.md","packages/varlet-ui/src/ripple/docs/zh-CN.md","packages/varlet-ui/src/row/docs/en-US.md","packages/varlet-ui/src/row/docs/zh-CN.md","packages/varlet-ui/src/segmented-button/docs/en-US.md","packages/varlet-ui/src/segmented-button/docs/zh-CN.md","packages/varlet-ui/src/segmented-buttons/docs/en-US.md","packages/varlet-ui/src/segmented-buttons/docs/zh-CN.md","packages/varlet-ui/src/select/docs/en-US.md","packages/varlet-ui/src/select/docs/zh-CN.md","packages/varlet-ui/src/shimmer-text/docs/en-US.md","packages/varlet-ui/src/shimmer-text/docs/zh-CN.md","packages/varlet-ui/src/signature/docs/en-US.md","packages/varlet-ui/src/signature/docs/zh-CN.md","packages/varlet-ui/src/skeleton/docs/en-US.md","packages/varlet-ui/src/skeleton/docs/zh-CN.md","packages/varlet-ui/src/slider/docs/en-US.md","packages/varlet-ui/src/slider/docs/zh-CN.md","packages/varlet-ui/src/snackbar/docs/en-US.md","packages/varlet-ui/src/snackbar/docs/zh-CN.md","packages/varlet-ui/src/space/docs/en-US.md","packages/varlet-ui/src/space/docs/zh-CN.md","packages/varlet-ui/src/step/docs/en-US.md","packages/varlet-ui/src/step/docs/zh-CN.md","packages/varlet-ui/src/steps/docs/en-US.md","packages/varlet-ui/src/steps/docs/zh-CN.md","packages/varlet-ui/src/sticky/docs/en-US.md","packages/varlet-ui/src/sticky/docs/zh-CN.md","packages/varlet-ui/src/style-provider/docs/en-US.md","packages/varlet-ui/src/style-provider/docs/zh-CN.md","packages/varlet-ui/src/styles/docs/en-US.md","packages/varlet-ui/src/styles/docs/zh-CN.md","packages/varlet-ui/src/swipe-item/docs/en-US.md","packages/varlet-ui/src/swipe-item/docs/zh-CN.md","packages/varlet-ui/src/swipe/docs/en-US.md","packages/varlet-ui/src/swipe/docs/zh-CN.md","packages/varlet-ui/src/switch/docs/en-US.md","packages/varlet-ui/src/switch/docs/zh-CN.md","packages/varlet-ui/src/tab-item/docs/en-US.md","packages/varlet-ui/src/tab-item/docs/zh-CN.md","packages/varlet-ui/src/tab/docs/en-US.md","packages/varlet-ui/src/tab/docs/zh-CN.md","packages/varlet-ui/src/table/docs/en-US.md","packages/varlet-ui/src/table/docs/zh-CN.md","packages/varlet-ui/src/tabs-items/docs/en-US.md","packages/varlet-ui/src/tabs-items/docs/zh-CN.md","packages/varlet-ui/src/tabs/docs/en-US.md","packages/varlet-ui/src/tabs/docs/zh-CN.md","packages/varlet-ui/src/themes/docs/en-US.md","packages/varlet-ui/src/themes/docs/zh-CN.md","packages/varlet-ui/src/time-picker/docs/en-US.md","packages/varlet-ui/src/time-picker/docs/zh-CN.md","packages/varlet-ui/src/tooltip/docs/en-US.md","packages/varlet-ui/src/tooltip/docs/zh-CN.md","packages/varlet-ui/src/tree-menu/docs/en-US.md","packages/varlet-ui/src/tree-menu/docs/zh-CN.md","packages/varlet-ui/src/uploader/docs/en-US.md","packages/varlet-ui/src/uploader/docs/zh-CN.md","packages/varlet-ui/src/watermark/docs/en-US.md","packages/varlet-ui/src/watermark/docs/zh-CN.md","packages/varlet-vscode-extension/README.md"],"skills":{"packages/varlet-cli/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2FREADME.md -->","packages/varlet-cli/template/generators/base/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2Ftemplate%2Fgenerators%2Fbase%2FREADME.md -->","packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md":"### 介绍\n\n这里可以介绍一下组件库, 想写什么就写什么...","packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","packages/varlet-import-resolver/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-import-resolver%2FREADME.md -->","packages/varlet-ui-playground/src/download/template/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui-playground%2Fsrc%2Fdownload%2Ftemplate%2FREADME.md -->","packages/varlet-ui/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2FREADME.md -->","packages/varlet-ui/docs/atomicCssSupport.en-US.md":"# Atomic CSS support\n\n### Intro\n\nWe've provided common CSS atomization framework presets, made it easier to access the component library's underlying style variables, and standardized page responsiveness breakpoints.\n\n### UnoCSS\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### Configuration\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts).\n\n### Tailwindcss\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts).\n\n### Usage\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\nWe also support the HSL variables, which makes the transparency of adjusting the color easier.\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```","packages/varlet-ui/docs/atomicCssSupport.zh-CN.md":"# 原子化 CSS 支持\n\n### 介绍\n\n我们提供了常见的 CSS 原子化框架预设，使访问组件库的基础样式变量更加容易，并且一致化了页面响应式断点。\n\n### UnoCSS\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### 配置\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts)。\n\n### Tailwindcss\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts)。\n\n### 使用方式\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\n我们同时也支持了 hsl 变量，这使得调整颜色的透明度变得更加容易。\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```\n\n","packages/varlet-ui/docs/browserAdaptation.en-US.md":"# Browser Adaptation\n\n### Intro\n\nThe component library provides mobile and desktop adaptations,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation.\n\n### Mobile Adaptation\n\n#### CSS Unit Adaptation\n\nThe component library design is based on the `375px` width design draft. \nIt is recommended to use [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) to convert `px` units into `vw` units to achieve mobile terminal adaptation.\nCreate `postcss.config.js` under the `Webpack/Vite` project root path And do the following configuration `375px -> 100vw`.\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### Theme Unit Adaptation (Viewport)\n\nBecause the theme is mounted at runtime and is not affected by postcss, the component library provides a utility tool `Themes.toViewport` for adaptation. The theme returned by the function will use the `375px -> 100vmin` rule by default.\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\nYou can also make changes to the conversion rules\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // defaults 375\n  viewportWidth: 750,\n  // defaults 'vmin'\n  viewportUnit: 'vw',\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n#### Theme Unit Adaptation (Rem)\n\nSimilar to the Viewport solution\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\nOr customize\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // defaults 16\n  rootFontSize: 32,\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n### Desktop Adaptation\n\nBecause component library interaction events are developed using `touch` events, `mouse` events on the desktop side are not supported.\nIt is recommended to use `@varlet/touch-emulator` to set `touch -> mouse` for desktop adaptation.\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","packages/varlet-ui/docs/browserAdaptation.zh-CN.md":"# 浏览器适配\n\n### 介绍\n\n组件库提供移动端和桌面端适配方案，\n移动端使用 [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) 方案进行适配，\n桌面端使用 `@varlet/touch-emulator` 方案进行适配。\n\n### 移动端适配\n\n#### CSS 单位适配\n\n组件库设计基于 `375px` 宽度设计稿，推荐使用 postcss 插件将 `px` 单位转换成 `vmin` 单位从而实现移动端适配。\n在 `webpack/vite` 项目根路径下创建 `postcss.config.js` 并做如下配置之后 `375px -> 100vmin`。\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### 主题包单位适配 (Viewport)\n\n因为主题包是运行时挂载的，不受 postcss 影响，组件库提供了实用工具 `Themes.toViewport` 进行适配，函数返回的主题将默认使用 `375px -> 100vmin` 的规则。\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\n也可以对转换规则进行更改\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // 默认值为 375\n  viewportWidth: 750,\n  // 默认值为 'vmin'\n  viewportUnit: 'vw',\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n####  主题包单位适配 (Rem)\n\n与 `Viewport` 方案类似\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\n也支持自定义\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // 默认值为 16\n  rootFontSize: 32,\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n### 桌面端适配\n\n由于组件库交互事件使用 `touch` 事件进行开发，不支持桌面端的 `mouse` 事件，\n推荐使用 `@varlet/touch-emulator` 将 `touch -> mouse` 从而实现桌面端适配。\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","packages/varlet-ui/docs/cli.en-US.md":"# Components Library Tools\n\n### Intro\n\nThe out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development.\n\n### Features\n\n- 📦 &nbsp;Out-of-the-box component library development environment\n- 📦 &nbsp;An out-of-the-box component library compilation tool that supports exporting `esm`, `cjs`, `umd` module codes\n- 🛠️ &nbsp;Configuration file-based component library documentation site, support Baidu statistics and theme customization\n- 🛠️ &nbsp;Supports both `sfc` and `tsx` styles for writing component libraries\n- 📦 &nbsp;Out-of-the-box code inspection tool\n- 📦 &nbsp;Out-of-the-box unit testing tools\n- 📦 &nbsp;Out-of-the-box code publishing tool, publishes to both `npm` and `github`, and automatically generates changelogs\n- 💪 &nbsp;Support for `VSCode` extension development\n- 💪 &nbsp;Support `build svg to web fonts`\n- 💪 &nbsp;Support for `Typescript`\n- 💪 &nbsp;Support `Various themes, including Material Design 2, Material Design 3`\n- 🌍 &nbsp;Support `Internationalization`\n- 🚀 &nbsp;Based on `pnpm`\n\n### Recommended toolchain\n\nUnder Varlet’s current `component-library toolchain`, we recommend combining `@varlet/cli`, [`vite-plus`](https://viteplus.dev/) (`vp`), and [`rattail`](https://rattail.varletjs.org/) (`rt`): `@varlet/cli` covers first-party library workflows (docs, compile, tests, …), `vp` covers lint/format and app/extension build entrypoints aligned with the Oxc/Rolldown stack, and `rattail` covers `clean`, git hooks, `changelog`, `release`, `commit-lint`, and similar automation. Use this trio for new libraries and scaffold upgrades.\n\n| Piece | Role |\n| --- | --- |\n| `@varlet/cli` | First-party Varlet workflows: `create`, `gen`, `dev`, `build`, `preview`, `compile`, `compile:style-vars`, `build:icons`, `test`, … |\n| [`vite-plus`](https://viteplus.dev/) (`vp`) | Lint, format, app/extension `build`/`dev`/`preview`, and other toolchain entrypoints aligned with the Oxc/Rolldown stack |\n| [`rattail`](https://rattail.varletjs.org/) (`rt`) | `clean`, git hooks, `changelog`, `release`, `commit-lint`, and other repo automation |\n\n### Commands pending deprecation\n\nThese commands still run for backward compatibility and may print a deprecation notice. Do not rely on them in new scripts or new projects — prefer `vp` / `rt` (or `vr` where documented). Any future changes will be called out in release notes.\n\n| Command | Use instead |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch` (with a local `vite.config.ts` for the extension) |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | Minimal value; deprecated without replacement |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### Quickstart\n\n`@varlet/cli` has built-in `sfc` and `tsx` style component library project templates, which can be generated directly by the `gen` command.\nIt is convenient for you to directly enter the component library development.\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## Advanced customization\n\n### Configuration file\n\nThe `varlet.config.mjs` in the project root directory is used to manage the specific details of the entire component library project.\nThe default configuration can be viewed [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts).\nAlso refer to `@varlet/ui` [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs).\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `name` | The full name of the component library, which will be used as the package name | _string_ | `Varlet` |\n| `namespace` | Component library namespace, will be used as component prefix | _string_ | `var` |\n| `host` | Development server host | _number_ | `localhost` |\n| `port` | Development server port | _number_ | `8080` |\n| `proxy` | Development server proxy | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | The title of the component library in the document | _string_ | `VARLET` |\n| `logo` | The logo of the component library in the document | _string_ | `-` |\n| `alias` | Path alias (root is src folder when use relative path) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | Document default language | _string_ | `zh-CN` |\n| `defaultLightTheme` | The default light theme | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | The default dark theme | _string_ | `md3DarkTheme` |\n| `useMobile` | Whether to display the mobile phone preview on the right | _boolean_ | `false` |\n| `themeKey` | The key of the theme in local storage | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 light mode document theme | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 dark mode document theme | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 light mode document theme | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 dark mode document theme | _Record<string, any>_ | `-` |\n| `highlight` | Document code snippet style related | _{ style: string }_ | `-` |\n| `analysis` | Document statistics related | _{ baidu: string }_ | `-` |\n| `pc` | PC side document structure configuration | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | Mobile document structure configuration | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | Bundle output options | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite plugins | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | Component library directive folder name | _string[]_ | `[]` |\n| `copy` | Copy file configuration | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `- ` |\n| `icons` | Font icon packaging related configurations | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts) _ | `-` |\n| `esbuild` | esbuild configuration | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n| `seo` | seo options | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `doc` | The document page corresponds to the matching file name, required | _string_ | `-` |\n| `type` | The type of menu, when the type is `1`, it means the category menu, when the type is `2`, the doc field matches the component file under src, when the type is `3`, the doc field matches the md file under docs, required | _MenuTypes_ | `-` |\n| `text` | The text displayed in the menu, English display text can be configured when internationalization is set, required | _Record<string, string>_ | `-` |\n| `useMobile` | Whether to display the mobile phone preview on the right side on the current document page, if not filled, the default value is useMobile in config  | _boolean_ | `-` |\n\n### Custom pages\n\nIf you want to insert other pages into the component library, you can create a `pages` folder in the project root directory to write a vue component to generate other pages.\nThe directory structure is as follows:\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n      \n```\n\nThe resulting route is as follows:\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### Command related\n\n#### Start the development server\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### Build a documentation site\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### Preview documentation site\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### Compile component library\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### Compile style vars types declaration file\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### Build svg to web fonts\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### Execute all unit tests\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### Execute a unit test\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### Execute unit tests in watch mode\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### Execute unit tests and report coverage\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### Generate a project template\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style project templates\n-t\n--tsx\n  Generate tsx-style project templates\n-l\n--locale\n  Need to support internationalization\n```\n\n#### Create a component template file\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style component\n-t\n--tsx\n  Generate tsx-style component\n-l\n--locale\n  Need to support internationalization\n```\n\n### Note before publish\n\n1. `npm` repository registry must set to `npm` official mirror\n2. Execute `npm login` to log in\n\n### Q & A\n\n#### How to solve failure of installing sharp ?\n\n- You can choose to change mirror site which contains binaries for both sharp and libvips.\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","packages/varlet-ui/docs/cli.zh-CN.md":"# 组件库快速成型工具\n\n### 介绍\n\n开箱即用的 `Vue3组件库` 快速成型工具，提供了一系列命令和工具去解决组件库开发上的问题。\n\n### 特性\n\n- 📦 &nbsp;开箱即用的组件库开发环境\n- 📦 &nbsp;开箱即用的组件库编译工具，支持导出 `esm`, `cjs`, `umd` 三种模块代码\n- 🛠️ &nbsp;基于配置文件的组件库文档站点，支持百度统计和主题定制\n- 🛠️ &nbsp;支持 `sfc` 和 `tsx` 两种风格的组件库编写风格\n- 📦 &nbsp;开箱即用的代码检查工具\n- 📦 &nbsp;开箱即用的单元测试工具\n- 📦 &nbsp;开箱即用的代码发布工具,同时发布到 `npm` 和 `github`, 并自动生成更新日志\n- 💪 &nbsp;支持 `VSCode` 插件开发\n- 💪 &nbsp;支持 `字体图标打包`\n- 💪 &nbsp;支持 `Typescript`\n- 💪 &nbsp;支持 `多种主题, 包含 Material Design 2、Material Design 3`\n- 🌍 &nbsp;支持 `国际化`\n- 🚀 &nbsp;基于 `pnpm`\n\n### 推荐技术栈\n\n在全新的 `Varlet 组件库工具链` 体系下，我们建议将 `@varlet/cli`、[`vite-plus`](https://viteplus.dev/)（`vp`）与 [`rattail`](https://rattail.varletjs.org/)（`rt`）组合使用：前者覆盖组件库文档站与编译等一等能力，后两者承接与 Oxc / Rolldown 栈一致的 lint、format、打包入口，以及 `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化。无论是从零搭建新库，还是升级旧脚手架、需要与模板对齐时，都推荐沿用这一组合。\n\n| 部分 | 作用 |\n| --- | --- |\n| `@varlet/cli` | Varlet 一等能力：`create`、`gen`、`dev`、`build`、`preview`、`compile`、`compile:style-vars`、`build:icons`、`test` 等 |\n| [`vite-plus`](https://viteplus.dev/)（`vp`） | 与 Oxc / Rolldown 栈一致的 lint、format、应用/扩展的 `build`/`dev`/`preview` 等入口 |\n| [`rattail`](https://rattail.varletjs.org/)（`rt`） | `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化 |\n\n### 以下命令即将废弃\n\n以下命令仍可执行（会给出废弃相关提示），但不应在新脚本或新工程中再依赖，请优先改用 `vp` / `rt`（或文档中的 `vr`）。具体时间表以后续发布说明为准。\n\n| 命令 | 请改用 |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch`（扩展包内需有本地 `vite.config.ts`） |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | 用处极小，直接废弃 |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### 快速开始\n\n`@varlet/cli` 内置了 `sfc` 和 `tsx` 两种风格的组件库项目模板，可以通过 `gen` 命令直接生成。\n方便您直接进入组件库开发。\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## 高级定制\n\n### 配置文件\n\n项目根目录下的 `varlet.config.mjs` 用来管理整个组件库项目的具体细节。\n默认配置可查阅 [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts)。\n也可以参考 `@varlet/ui` 的 [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs)。\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `name` | 组件库全名，会作为包名 | _string_ | `Varlet` |\n| `namespace` | 组件库命名空间, 会作为组件前缀 | _string_ | `var` |\n| `host` | 开发服务器主机 | _number_ | `localhost` |\n| `port` | 开发服务器端口 | _number_ | `8080` |\n| `proxy` | 开发服务器代理 | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | 文档中组件库的标题 | _string_ | `VARLET` |\n| `logo` | 文档中组件库的 logo | _string_ | `-` |\n| `alias` | 路径别名 (使用相对路径时，根路径为 src 文件夹) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | 文档默认语言 | _string_ | `zh-CN` |\n| `defaultLightTheme` | 默认的亮色主题 | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | 默认的暗色主题 | _string_ | `md3DarkTheme` |\n| `useMobile` | 是否显示右侧手机预览 | _boolean_ | `false` |\n| `themeKey` | 主题在本地存储中的 key | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `highlight` | 文档代码片段样式相关 | _{ style: string }_ | `-` |\n| `analysis` | 文档统计相关 | _{ baidu: string }_ | `-` |\n| `pc` | pc 端文档结构配置 | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | mobile 端文档结构配置 | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | 组件库编译的捆绑产物配置 | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite 插件 | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | 组件库指令文件夹名称 | _string[]_ | `[]` |\n| `copy` | 复制文件配置 | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `-` |\n| `icons` | 字体图标打包相关配置 | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `esbuild` | esbuild 配置 | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `seo` | seo 选项 | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `doc` | 文档页面应匹配的文件名称, 必填 | _string_ | `-` |\n| `type` | menu 类型, 当 type 为 `1` 时表示分类 menu, 类型为 `2` 时 doc 字段匹配 src 下的组件文件, 类型为`3`时 doc 字段匹配 docs 下的 md 文件 | _MenuTypes_ | `-` |\n| `text` | menu 所展示的文字, 当设置国际化时可配置英文展示文字 | _Record<string, string>_ | `-` |\n| `useMobile` | 是否在当前文档页显示右侧手机预览, 如不填写, 默认取 config 中的 useMobile | _boolean_ | `-` |\n\n### 自定义页面\n\n如果想在组件库中插入其他页面，可以在项目根目录下的创建 `pages` 文件夹编写 vue 组件， 用来生成其他的页面。\n目录结构如下：\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n```\n\n生成的路由如下：\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### 命令相关\n\n#### 启动开发服务器\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### 构建文档站点\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### 预览文档站点\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### 构建组件库\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### 构建样式变量类型声明文件\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### 打包字体图标\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### 执行所有的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### 执行单个组件的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### 以 watch 模式执行单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### 执行所有的单元测试并报告覆盖率\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### 生成一个项目模板\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  项目名\n-s\n--sfc\n  生成 sfc 风格的项目模板\n-t\n--tsx\n  生成 tsx 格式项目\n-l\n--locale\n  需要支持国际化\n```\n\n#### 创建组件模板文件\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  组件名\n-s\n--sfc\n  生成 sfc 风格的组件\n-t\n--tsx\n  生成 tsx 风格的文件\n-l\n--locale\n  需要支持国际化\n```\n\n### 发布前注意\n\n1. `npm` 的仓库源必须指向 `npm` 官方镜像\n2. 执行 `npm login` 进行登录\n\n### 问答\n\n#### 如何解决安装 sharp 失败的问题 ?\n\n- 您可以选择更改包含 sharp 和 libvips 二进制文件的镜像站点\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","packages/varlet-ui/docs/defaultsCustomization.en-US.md":"# Defaults Customization\n\n### Intro\n\nThe component library provides the ability to customize the default values of component props.\n\n### Basic Usage\n\nCustomize the component's property definition through the static method `setPropsDefaults` provided by the component. It should be noted that attribute customization only takes effect for declarative components, and the customized behavior should be before the component is initialized.\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\nAfter customization, the following two writing methods will be equivalent.\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/defaultsCustomization.zh-CN.md":"# 默认值定制\n\n### 介绍\n\n组件库提供对组件属性的默认值进行定制的能力。\n\n### 基本用法\n\n通过组件提供的静态方法 `setPropsDefaults` 对组件的属性定义进行定制。需要注意的是，属性定制只对声明式组件生效，并且定制行为应在组件初始化之前。\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\n定制之后，下面两种写法将会是等价的。\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/designResources.en-US.md":"# Design Resources\n\n### Intro\n\nWe provide design resources for designers, you can select the required resources on this page to download.\n\n### Components Resources\n\nComponent resources include `color`, `text`, and `component resources`. At present, only the design resources of the Material Design 2 light color mode are provided, and the dark mode is not yet available. Community contributions are welcome.\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### Icons Resources\n\nThe icon resource contains `100+` icons built into the component library.\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","packages/varlet-ui/docs/designResources.zh-CN.md":"# 设计资源\n\n### 介绍\n\n我们为设计师提供了设计资源，您可以在本页面选择所需的资源进行下载。\n\n### 组件资源\n\n组件资源包含了`色彩`、`文字`、`组件资源`。目前只提供 Material Design 2 亮色模式的设计资源，其他资源暂未提供，欢迎社区贡献。\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### 图标资源\n\n图标资源包含了组件库内置的 `100+` 图标。\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","packages/varlet-ui/docs/extension.en-US.md":"# VSCode Extension\n\n### Intro\n\nFor a better development experience, we built a `VSCode plugin`.\n\n### Features\n\n- 🛠️ &nbsp;Support syntax hints and quick completion for all components.\n- 🛠️ &nbsp;Support document address preview and quick jump for all components.\n- 🛠️ &nbsp;Support frame selection of code snippets to quickly open `Playground`.\n- 🛠️ &nbsp;Support full icon preview for icon components.\n- 🌍 &nbsp;Support switching between Chinese and English.\n\n### Install\n\nVsCode Extension Marketplace Search [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension).\n\n### How To Use\n\nGrammatical hints appear when you enter the keyword of the component name, and you can quickly complete it after selecting it.\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nMoving the mouse to the component name will display the document address of the component, which can be clicked to jump, and it also directly displays the properties, events and slots of the component in the form of a table.\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nPress space or attribute keywords in the attribute input range of the label to display attribute completion prompts and attribute information.\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nWhen the `name` property of the `Icon` component is input, an icon preview will appear, and syntax completion will be performed after selection.\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nFrame the code snippet, and you can quickly open `Playground` in the right-click menu to preview the framed code online.\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nSupport switching between Chinese and English, more friendly to Chinese people.\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n","packages/varlet-ui/docs/extension.zh-CN.md":"# VSCode 插件\n\n### 介绍\n\n为了更优秀的开发体验，我们构建了一个 `VSCode 插件`。\n\n### 特性\n\n- 🛠️ &nbsp;支持全组件的语法提示、快速补全。\n- 🛠️ &nbsp;支持全组件的文档地址预览、快速跳转。\n- 🛠️ &nbsp;支持框选代码片段，快速打开 `Playground`。\n- 🛠️ &nbsp;支持图标组件的全图标预览。\n- 🌍 &nbsp;支持中英文切换。\n\n### 安装\n\nVsCode 插件市场搜索 [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension)。\n\n### 如何使用\n\n输入组件名称关键字时出现语法提示，选中后进行快速补全。\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n鼠标移动到组件名会显示组件的文档地址用来点击跳转，也直接以表格的形式展示组件的属性、事件和插槽。\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n在标签的属性输入范围按下空格或属性关键字，显示属性补全提示和属性信息。\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n输入 `Icon` 组件的 `name` 属性时出现图标预览，选中后进行语法补全。\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n框选代码片段，右键菜单中可以快速打开 `Playground` 对框选的代码进行线上预览。\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n支持中英文切换，对中国人更加友好。\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n\n","packages/varlet-ui/docs/home.en-US.md":"# Basic Introduce\n\n### Intro\n\nVarlet is a `Vue3` component library based on Material Design 2 and 3, supporting mobile and desktop, developed and maintained by `varletjs` organization.\n\n### Features\n\n- 🚀 &nbsp; Provide 60+ high quality general purpose components\n- 🚀 &nbsp; Components are very lightweight\n- 💪 &nbsp; Developed by Chinese, complete Chinese and English documentation and logistics support\n- 🛠️ &nbsp; Support on-demand introduction\n- 🛠️ &nbsp; Support theme customization\n- 🌍 &nbsp; Support internationalization\n- 💡 &nbsp; Support WebStorm syntax highlighting\n- 💪 &nbsp; Support the SSR\n- 📦 &nbsp; Support [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; Support the Typescript\n- 💪 &nbsp; Make sure more than 90 percent unit test coverage, providing stability assurance\n- 🎨 &nbsp; Supports both Material Design 2 and Material Design 3 design systems\n- 🛠️ &nbsp; Support dark mode\n- 🔧 &nbsp; Provide official VSCode extension\n- ⌨️ &nbsp; Support Accessibility (still improving)\n\n\n### Official Ecosystem\n\nThe following projects are maintained by the official team for a long time.\n\n| Name | Description |\n|------------------------------------------------------------------------------------------------------|--------------------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli) | `Vue3 component library rapid prototyping tool` |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `Desktop adapter, so that the mobile component library can run on the desktop` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground) | `Varlet component library online editing tool` |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | `A resolver for` [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) ` used to implement Varlet and import it on demand`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | [UnoCss](https://unocss.dev/) `presets for varlet` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | [tailwindcss](https://tailwindcss.com/) `presets for varlet` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `Theme generator for generating theme variables for varlet Material Design 3` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension) | `Varlet Component Library VSCode Plugin` |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode Theme`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet component library app template`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Case collection of Varlet component library and various ecosystem integration` |\n\n### Community Ecosystem\n\nThe following projects are maintained by community personnel, welcome to add.\n\n| Name | Description |\n|----------------------------------------------------------------|-----------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `Vue-based mobile template scaffolding, providing mobile presets for Varlet component library` |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `A desktop template scaffolding based on Vue3, providing desktop presets for Varlet component library` |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `A VS Code extension that provides better intellisense to Varlet developers` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `A mobile template based on Vue 3 and Varlet Component Library` |\n\n### PR & Issue\nIf you have any problems during use, you can [issue](https://github.com/varletjs/varlet/issues) them to us on [github](https://github.com/varletjs/varlet),\nwe will deal with it as soon as possible. You can also give us [PR](https://github.com/varletjs/varlet/pulls).\n\n### Open source licenses\nComponent library based on `MIT` licenses.\n\n### Contribution Guide\nSee [Varlet Contribution](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md).\n\n### Thanks to contributors\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### Thanks to the following sponsors\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","packages/varlet-ui/docs/home.zh-CN.md":"# 基本介绍\n\n### 介绍\n\nVarlet 是一个 `Vue3` 组件库，基于 Material Design 2 和 3，支持移动端、桌面端，由 `varletjs` 组织维护。\n\n### 特性\n\n- 🚀 &nbsp; 提供 60+ 个高质量通用组件\n- 🚀 &nbsp; 组件十分轻量\n- 💪 &nbsp; 由国人开发，完善的中英文文档和后勤保障\n- 🛠️ &nbsp; 支持按需引入\n- 🛠️ &nbsp; 支持主题定制\n- 🌍 &nbsp; 支持国际化\n- 💡 &nbsp; 支持 webstorm 组件属性高亮\n- 💪 &nbsp; 支持 SSR\n- 📦 &nbsp; 支持 [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; 支持 Typescript\n- 💪 &nbsp; 确保 90% 以上单元测试覆盖率，提供稳定性保证\n- 🎨 &nbsp; 同时支持 Material Design 2 和 Material Design 3 两套设计系统\n- 🛠️ &nbsp; 支持暗黑模式\n- 🔧 &nbsp; 提供官方的 VSCode 插件\n- ⌨️ &nbsp; 支持无障碍访问（持续改进中）\n\n### 官方生态\n\n以下项目由官方团队长期维护。\n\n| 名称                                                                                                   | 描述                       |\n|------------------------------------------------------------------------------------------------------|--------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli)                       | `Vue3 组件库快速成型工具`         |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `桌面端适配器，让移动端组件库可以在桌面端运行` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground)  | `Varlet 组件库在线编辑工具`       |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) `的一个解析器，用于实现 Varlet 按需引入`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | `varlet 的` [UnoCss](https://unocss.dev/) `预设` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | `varlet 的` [tailwindcss](https://tailwindcss.com/) `预设` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `主题生成器，用于为 varlet material design 3 生成主题变量` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension)  | `Varlet 组件库 VSCode 插件`   |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode 主题`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet 组件库移动端模板`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Varlet 组件库与各种生态集成的案例集合`   |\n\n### 社区生态\n\n以下项目由社区人员维护，欢迎补充。\n\n| 名称                                                             | 描述                                        |\n|----------------------------------------------------------------|-------------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `基于 Vue 的移动端模板脚手架，提供了 Varlet 组件库的移动端预设`   |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `基于 Vue3 的桌面端模板脚手架，提供了 Varlet 组件库的桌面端预设`  |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `为 Varlet 开发人员提供更好的智能感知的 VSCode 扩展` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `基于 Vue 3 和 Varlet 组件库的移动模板` |\n\n### PR & Issue\n使用过程中出现的问题可以到 [github](https://github.com/varletjs/varlet) 来给我们提 [issue](https://github.com/varletjs/varlet/issues)，\n我们会在第一时间处理问题。也可以给我们提 [PR](https://github.com/varletjs/varlet/pulls)，我们也十分欢迎小伙伴们来参与贡献。\n\n### 开源协议\n组件库基于 `MIT` 协议。\n\n### 贡献指南\n详情见 [Varlet 贡献指南](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md)。\n\n### 感谢贡献者们做出的努力\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### 感谢以下赞助者\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","packages/varlet-ui/docs/importOnDemand.en-US.md":"# Import On Demand\n\n### Intro\n\nOn-demand import avoids the full import of components, which can effectively reduce the size of the release package.\n\n### Automatic Import\n\nvia plugin\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) and\n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\nImplement components to automatically import on demand, This is our most recommended way.\n\n#### Install Plugin\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript configuration note\n\nIn order to get good IDE syntax highlighting, \nplease make sure that the type declaration files generated by the above two plugins are include by `typescript`,\nwhich can be configured as follows in `tsconfig.json`:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### Manual import\n\nEach component is a `Vue plugin` and consists of `component logic` and `style files`, which are manually imported and used as follows.\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\nOR\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>Say Hello</var-button>\n</template>\n```\n\n### Manual import and automatic import comparison\n\nManual import\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```\n\nAutomatic import\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/importOnDemand.zh-CN.md":"# 按需引入\n\n### 介绍\n\n按需引入避免了组件的全量导入，可以有效的减少发布包的大小。\n\n### 自动引入\n\n通过插件\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 和 \n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\n实现组件自动按需导入，这也是我们最推荐的方式。\n\n#### 安装插件\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript 配置注意\n\n为了得到良好的 IDE 语法高亮，请确保上述两个插件生成的类型声明文件被 `typescript` 识别，可在 `tsconfig.json` 中进行如下配置:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### 手动引入\n\n每一个组件都是一个 `Vue插件`，并由 `组件逻辑` 和 `样式文件` 组成，手动引入的使用方式如下。\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\n或\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>说你好</var-button>\n</template>\n```\n\n### 手动引入和自动引入对比\n\n#### 手动引入\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```\n\n#### 自动引入\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```","packages/varlet-ui/docs/migrationGuide.en-US.md":"# Migrating from 2.x\n\n### Intro\n\nThis section mainly introduces the considerations for migrating from `2.x` to `3.x`\n\n### Component function changes\n\n- DatePicker component removes compatibility with `headerColor` property\n- TimePicker component removes compatibility with `headerColor` property\n- ImagePreview component removes compatibility with `current` property\n- Chip component removed compatibility with `closable` property\n- Progress component removed compatibility with `ripple` property\n- IndexBar component removes compatibility with `cssMode` property\n- LoadingBar component removed compatibility with `mergeConfig` method\n\n### Component style variable changes\n\nIn order to make component style definition easier and support `Material Design 3`, the `3.x` version has restructured the style variables of the component library and added some new basic style variables.\n\n| Variable  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\nHere are some variables that may affect the appearance of your page.\n\n- DatePicker \n\n  - `--picker-header-padding` change to `--date-picker-header-padding`\n  - `--picker-header-color` change to `--date-picker-header-color`\n  - `--picker-actions-padding` change to `--date-picker-actions-padding`\n\n- Pagination\n\n  Remove\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  Remove\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  Remove `--progress-ripple-color`\n\n- Select/Input\n\n  The component has undergone a major refactoring and supports hint animation when the prepend icon exists.\n  \n  | Removed Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | Added Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","packages/varlet-ui/docs/migrationGuide.zh-CN.md":"# 从 2.x 迁移\n\n### 介绍\n\n本节主要介绍从 `2.x` 迁移至 `3.x` 的注意事项\n\n### 组件功能变更\n\n- DatePicker 组件移除了对 `headerColor` 属性的兼容\n- TimePicker 组件移除了对 `headerColor` 属性的兼容\n- ImagePreview 组件移除了对 `current` 属性的兼容\n- Chip 组件移除了对 `closable` 属性的兼容\n- Progress 组件移除了对 `ripple` 属性的兼容\n- IndexBar 组件移除了对 `cssMode` 属性的兼容\n- LoadingBar 组件移除了对 `mergeConfig` 方法的兼容\n\n### 组件样式变量变更\n\n为了使组件样式定义更加容易，并且支持 `Material Design 3`，`3.x` 版本对组件库的样式变量进行了一次重构，新增了一些基础样式变量。\n\n| 变量名  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\n以下列举了一些可能会影响页面样式的变量变更。\n\n- DatePicker \n\n  - `--picker-header-padding` 变更为 `--date-picker-header-padding`\n  - `--picker-header-color` 变更为 `--date-picker-header-color`\n  - `--picker-actions-padding` 变更为 `--date-picker-actions-padding`\n\n- Pagination\n\n  移除\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  移除\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  移除 `--progress-ripple-color`\n\n- Select/Input\n\n  组件进行了一次较大的重构，支持了前置图标存在时的占位符 (hint) 动画\n  \n  | 移除变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | 新增变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","packages/varlet-ui/docs/quickstart.en-US.md":"# Quick Start\n\n### Intro\n\nHere are the most basic ways to access component libraries in common development patterns.\n\n### Install\n\n#### CDN\n\n`varlet.js` contain all the styles and logic of the component library, and you can import them.\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>Button</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# Install with npm, yarn or pnpm\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### Support Desktop\n\n`Varlet` is a mobile-first component library. To support desktop, you need to install an adapter. See [browser adaptation](#/en-US/browserAdaptation) for details.\n\n### Choose a design system\n\nStarting from version 3.x, Varlet supports both Material Design 2 and Material Design 3 design systems.\n\n```js\n// playground-ignore\n// Varlet defaults to Material Design 2 light mode\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 Dark Mode\nStyleProvider(Themes.dark)\n// Material Design 3 Light Mode\nStyleProvider(Themes.md3Light)\n// Material Design 3 Dark Mode\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### Components Playground\n\nWe provide a web version of the component editor,\nwhich is convenient for you to quickly get started with each component of the component library,\nedit it online, share it with others, or download the code package to run locally.\nYou can click the `{...}` icon in the upper right corner of the page or [go here](https://varletjs.org/playground).","packages/varlet-ui/docs/quickstart.zh-CN.md":"# 快速开始\n\n### 介绍\n\n这里为您介绍常见开发模式下接入组件库的最基本方式。\n\n### 安装\n\n#### CDN\n\n`varlet.js` 包含组件库的所有样式和逻辑, 引入即可。\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>按钮</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# 通过 npm、yarn 或 pnpm 安装\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### 支持桌面端\n\n`Varlet` 是一个移动端优先的组件库，支持桌面端需要安装一个适配器，详情见[浏览器适配](#/zh-CN/browserAdaptation)。\n\n### 选择设计系统\n\n从 3.x 版本开始，Varlet 同时支持了 Material Design 2 和 Material Design 3 两种设计系统。\n\n```js\n// playground-ignore\n// Varlet 默认为 Material Design 2 亮色模式\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 暗色模式\nStyleProvider(Themes.dark)\n// Material Design 3 亮色模式\nStyleProvider(Themes.md3Light)\n// Material Design 3 暗色模式\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### 在线体验组件\n\n我们提供了网页版的组件编辑器，方便您对组件库的各个组件进行快速上手、在线编辑、分享给他人或是下载代码包本地运行。\n您可以点击网页右上角的 `{...}` 图标或是 [这里前往](https://varletjs.org/playground)。","packages/varlet-ui/docs/serverSideRendering.en-US.md":"# Server Side Rendering\n\n### Intro\n\nHere we introduce you to the basic way of introducing `Varlet` into `Nuxt`.\n\n### Create a Nuxt project\n\n`Nuxt.js` is a server-side rendering application framework based on `Vue.js`. For detailed tutorials, please go to [Nuxt](https://nuxt.com).\n\n### Nuxt Module\n\nThe first party of the component library provides [Varlet Nuxt Module](https://nuxt.com/modules/varlet) to support on-demand import and automatic import. Execute the following command to install it. After successful installation, nuxt related configuration will be automatically completed.\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### Example Repo\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","packages/varlet-ui/docs/serverSideRendering.zh-CN.md":"# 服务端渲染\n\n### 介绍\n\n这里为您介绍在 `Nuxt` 中引入 `Varlet` 的基本方式。\n\n### 创建 Nuxt 项目\n\n`Nuxt.js` 是一个基于 `Vue.js` 的服务端渲染应用框架，详细教程请移步 [Nuxt](https://nuxt.com)。\n\n### Nuxt Module\n\n组件库第一方提供了 [Varlet Nuxt Module](https://nuxt.com/modules/varlet)。以支持按需引入和自动引入，执行下面的命令进行安装，安装成功后将自动完成 nuxt 相关配置。\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### 示例仓库\n\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","packages/varlet-ui/docs/zodValidation.en-US.md":"# Zod Validation\n\n### Intro\n\nWe support form validation based on [Zod](https://zod.dev/) in `3.5.0+`. \n`Zod` is a very powerful data validation tool and is very friendly to `Typescript`.\n\n### Install Zod\n\nIn order to control the size of the component library, we do not build-in `Zod`, so you need to install it manually.\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### Basic Usage\n\nThe `rules` property of each form component supports passing in one or more `Zod Schema`.\nThe component will use the rules of the `Schema` for validation, \nand when validation fails, the error message defined in it will be used as a user prompt.\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"z.string().min(1, 'Name required')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"z.string().email('Email format error')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"z.string().min(6, 'Password must be at least 6 characters')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[z.string().min(6, 'Confirmation password must be at least 6 characters'), v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### Use With Typescript\n\nIf you use `Typescript`, define a `Zod Schema` to get both Typescript types and form rules.\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, 'Name required'),\n  email: z.string().email('Email format error'),\n  password: z.string().min(6, 'Password must be at least 6 characters'),\n  repeatPassword: z.string().min(6, 'Confirmation password must be at least 6 characters'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","packages/varlet-ui/docs/zodValidation.zh-CN.md":"# Zod 验证\n\n### 介绍\n\n我们在 `3.5.0+` 支持了基于 [Zod](https://zod.dev/) 的表单验证方式，`Zod` 是一个非常强大的数据验证工具，并且对 `Typescript` 十分友好。\n\n### 安装 Zod\n\n为了控制组件库的尺寸，我们不内置 `Zod`，所以需要手动安装。\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### 基本使用\n\n每个表单组件的 `rules` 属性支持传入一个或多个 `Zod Schema`。\n组件将使用该 `Schema` 的规则进行验证，验证失败时将使用其定义的错误信息作为用户提示。\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"z.string().min(1, '名称不能为空')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"z.string().email('邮箱格式有误')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"z.string().min(6, '密码最少6位')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[z.string().min(6, '密码最少6位'), v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### 结合 Typescript 使用\n\n如果您使用 `Typescript`，定义一个 `Zod Schema` 可以同时得到 Typescript 类型和表单 rules。\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, '名称不能为空'),\n  email: z.string().email('邮箱格式有误'),\n  password: z.string().min(6, '密码最少6位'),\n  repeatPassword: z.string().min(6, '确认密码最少6位'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","packages/varlet-ui/src/action-sheet/docs/en-US.md":"# ActionSheet\n\n### Intro\n\nAn action sheet pops up to give the user the ability to select options.\n`ActionSheet` Functional and component use methods are provided, and there is no essential difference between the two effects and parameters.\nThe function returns a `Promise`, on selection return `action`. Click modal close to return `close`.\n\n## Function Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">Basic Use</var-button>\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    title: 'Choose whichever you like'\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Modify Title</var-button>\n</template>\n```\n\n### Action Disabled\n\nThe option is passed `disabled` to leave the action in the disabled state.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({\n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Action Disabled</var-button>\n</template>\n```\n\n### Disable Close On Click Action\n\nPassing in `CloseOnClickAction` disallows the action of `ActionSheet` closing automatically when the option is selected. The user can select the action multiple times. Because `Promise` is only resolved once, it is recommended to use `onSelect` to listen for the action of the user.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`Your selected is:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Disable Close On Click Action</var-button>\n</template>\n```\n\n### Custom Action Styles\n\nOptions provide parameters to configure the style. See the `Action` data structure for options.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Custom Action Styles</var-button>\n</template>\n```\n\n## Component Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Basic Usage</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Modify Title</var-button>\n  <var-action-sheet \n    title=\"Choose whichever you like\" \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Action Disabled\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Action Disabled</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Disable Close On Click Action\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Disable close on click action</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Custom Action Styles\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Custom Action Styles</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### Props\n\n| Prop                     | Description                                                                                                    | Type                  | Default      |\n| ------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------- | ------------ |\n| `v-model:show`           | Whether to display the action sheet                                                                            | _boolean_             | `false`      |\n| `actions`                | Action list                                                                                                    | _Actions_             | `[]`         |\n| `title`                  | Action sheet title                                                                                             | _string_              | `Select One` |\n| `overlay`                | Whether to display the overlay                                                                                 | _boolean_             | `true`       |\n| `overlay-class`          | Custom overlay class                                                                                           | _string_              | `-`          |\n| `overlay-style`          | Custom overlay style                                                                                           | _object_              | `-`          |\n| `lock-scroll`            | Whether to disable scrolling penetration, scrolling the Dialog when disabled will not cause the body to scroll | _boolean_             | `true`       |\n| `close-on-click-action`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `close-on-click-overlay` | Whether to click the overlay to close the action sheet                                                         | _boolean_             | `true`       |\n| `close-on-key-escape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `teleport`               | The location of the action sheet to mount                                                                      | _TeleportProps['to'] \\| false_ | `body`          |\n\n### Events\n\n| Event           | Description                                          | Arguments        |\n| --------------- | ---------------------------------------------------- | ---------------- |\n| `select`        | Triggered when selecting an action sheet                  | `action: Action` |\n| `open`          | Triggered when opening an action sheet              | `-`              |\n| `opened`        | Triggered when an action sheet open-animation ends  | `-`              |\n| `close`         | Triggered when closing an action sheet            | `-`              |\n| `closed`        | Triggered when an action sheet close-animation ends | `-`              |\n| `click-overlay` | Triggered when clicking on overlay                  | `-`              |\n| `key-escape` | Triggered when click keyboard ESC  | `-` |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `ActionSheet` | Show action sheet | _options \\| string_ | `-` |\n| `ActionSheet.close` | Close action sheet | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | Set default option configuration | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | Reset default option configuration | _-_ | `-` |\n\n### ActionSheet Options\n\n#### Options passed in for a functional call\n\n| Option                  | Description                                                                                                          | Type                       | Default      |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------ |\n| `title`               | Action sheet title                                                                                                   | _string_                   | `Select One` |\n| `overlay`             | Whether to display the overlay                                                                                       | _boolean_                  | `true`       |\n| `overlayClass`        | Custom overlay class                                                                                                 | _string_                   | `-`          |\n| `overlayStyle`        | Custom overlay style                                                                                                 | _object_                   | `-`          |\n| `lockScroll`          | Whether to disable scrolling penetration, scrolling the action sheet when disabled will not cause the body to scroll | _boolean_                  | `true`       |\n| `closeOnClickAction`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `closeOnClickOverlay` | Whether to click the overlay to close the action sheet                                                               | _boolean_                  | `true`       |\n| `closeOnKeyEscape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `onOpen`              | Action sheet open callback                                                                                           | _() => void_               | `-`          |\n| `onOpened`            | Action sheet open-animation ends callback                                                                            | _() => void_               | `-`          |\n| `onClose`             | Action sheet close callback                                                                                          | _() => void_               | `-`          |\n| `onClosed`            | Action sheet close-animation ends callback                                                                           | _() => void_               | `-`          |\n| `onSelect`            | Action sheet click action callback                                                                                   | _(action: Action) => void_ | `-`          |\n| `onClickOverlay`      | Click overlay callback                                                                                               | _() => void_               | `-`          |\n| `onKeyEscape` | Triggered when click keyboard ESC  | _() => void_  | `-` |\n\n### ActionSheet Action\n\n| Prop        | Description                         | Type      | Default |\n| ----------- | ----------------------------------- | --------- | ------- |\n| `name`      | Action name                         | _string_  | `-`     |\n| `color`     | Action text color                   | _string_  | `-`     |\n| `icon`      | Icon, support network image address, VNode, or render function | _string \\| VNode \\| () => VNode_  | `-`     |\n| `iconSize`  | Icon size                           | _string_  | `-`     |\n| `namespace` | Icon namespace | _string_ | `-` |\n| `className` | Class name                          | _string_  | `-`     |\n| `disabled`  | Disable or not option               | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --------- | ------------------ | --------- |\n| `actions` | Action list        | `-`       |\n| `title`   | Action sheet title | `-`       |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable                                    | Default                      |\n| ------------------------------------------- | ---------------------------- |\n| `--action-sheet-border-radius`              | `2px`                        |\n| `--action-sheet-border-top`                 | `none`                       |\n| `--action-sheet-background`                 | `#fff`                       |\n| `--action-sheet-title-color`                | `#888`                       |\n| `--action-sheet-title-padding`              | `10px 16px`                  |\n| `--action-sheet-title-font-size`            | `14px`                       |\n| `--action-sheet-action-item-height`         | `48px`                       |\n| `--action-sheet-action-item-padding`        | `0px 18px`                   |\n| `--action-sheet-action-item-color`          | `#333`                       |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin`                | `0 0 20px 0`                 |\n| `--action-sheet-icon-size`                  | `24px`                       |\n","packages/varlet-ui/src/action-sheet/docs/zh-CN.md":"# 动作面板\n\n### 介绍\n\n弹出一个动作面板提供用户选择选项的能力。\n`ActionSheet` 提供了函数式和组件式两种使用方式，两种使用效果和参数并没有本质区别。\n函数返回一个 `Promise`，选择时返回 `当前选择的 action`，点击遮罩层关闭返回 `close`。\n\n## 函数调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">基本使用</var-button>\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ],\n    title: '选择一个你喜欢的吧' \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">修改标题</var-button>\n</template>\n```\n\n### 禁用选项\n\n选项传入 `disabled` 可以使选项处于禁用状态。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用选项</var-button>\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n方法传入 `closeOnClickAction` 可以禁用在选择选项时 `ActionSheet` 自动关闭的行为，用户可以多次选择，\n由于 `Promise` 只会被 `resolve` 一次，所以推荐使用 `onSelect` 监听用户选择行为。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`您选择的是:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用关闭动作面板</var-button>\n</template>\n```\n\n### 自定义选项样式\n\n选项提供了可以配置样式的参数，具体选项的参数可选项见 `Action 的数据结构`。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">自定义选项样式</var-button>\n</template>\n```\n\n## 组件调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">基本使用</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">修改标题</var-button>\n  <var-action-sheet \n    title=\"选择一个你喜欢的吧\"\n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用选项\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用选项</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用点击选项时关闭动作面板</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 自定义选项样式\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">自定义选项样式</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `v-model:show` | 是否显示动作面板 | _boolean_ | `false` |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlay-class` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlay-style` | 自定义遮罩层的 style | _object_ | `-` |\n| `lock-scroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `close-on-click-action` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `close-on-click-overlay` | 是否点击遮罩层关闭动作面板 | _boolean_ | `true` |\n| `close-on-key-escape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true` |\n| `safe-area`   | 是否开启底部安全区适配      | _boolean_             | `false`  |\n| `teleport` | 动作面板挂载的位置 | _TeleportProps['to'] \\| false_ | `body` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `select` | 选择选项时触发 | `action: Action` |\n| `open` | 打开动作面板时触发 | `-` |\n| `opened` | 打开动作面板动画结束时触发 | `-` |\n| `close` | 关闭动作面板时触发 | `-` |\n| `closed` | 关闭动作面板动画结束时触发 | `-` |\n| `click-overlay` | 点击遮罩层时触发 | `-` |\n| `key-escape` | 点击键盘 ESC 时触发 | `-` |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `ActionSheet` | 显示动作面板 | _options_ | `-` |\n| `ActionSheet.close` | 关闭动作面板 | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | 设置默认的选项配置 | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | 重置默认的选项配置 | _-_ | `-` |\n\n### ActionSheet Options\n\n#### 函数式调用时传入的选项\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlayClass` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlayStyle` | 自定义遮罩层的 style | _object_ | `-` |\n| `lockScroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `closeOnClickAction` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `closeOnClickOverlay` | 是否点击遮罩层关闭弹出层 | _boolean_ | `true` |\n| `closeOnKeyEscape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true`\n| `safe-area`              | 是否开启底部安全区适配\t                                     | _boolean_             | `false`  |\n| `onOpen` | 动作面板开启回调 | _() => void_ | `-` |\n| `onOpened` | 动作面板开启动画结束回调 | _() => void_ | `-` |\n| `onClose` | 动作面板关闭回调 | _() => void_ | `-` |\n| `onClosed` |动作面板关闭动画结束回调 | _() => void_ | `-` |\n| `onSelect` | 选项选择时回调 | _(action: Action) => void_ | `-` |\n| `onClickOverlay` | 遮罩层点击回调 | _() => void_ | `-` |\n| `onKeyEscape` | 点击键盘 ESC 时触发 | _() => void_ | `-` |\n\n### ActionSheet Action\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `name` | 选项名称 | _string_ | `-` |\n| `color` | 选项文字颜色 | _string_ | `-` |\n| `icon` | icon 图标，支持网络图片地址、VNode 或渲染函数 | _string \\| VNode \\| () => VNode_ | `-` |\n| `iconSize` | 图标尺寸 | _string_ | `-` |\n| `namespace` | 图标命名空间 | _string_ | `-` |\n| `className` | 选项附加类名 | _string_ | `-` |\n| `disabled` | 是否禁用选项 | _boolean_ | `false` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `actions` | 选项列表 | `-` |\n| `title` | 动作面板标题 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--action-sheet-border-radius` | `2px` |\n| `--action-sheet-border-top` | `none` |\n| `--action-sheet-background` | `#fff` |\n| `--action-sheet-title-color` | `#888` |\n| `--action-sheet-title-padding` | `10px 16px` |\n| `--action-sheet-title-font-size` | `14px` |\n| `--action-sheet-action-item-height` | `48px` |\n| `--action-sheet-action-item-padding` | `0px 18px` |\n| `--action-sheet-action-item-color` | `#333` |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin` | `0 0 20px 0` |\n| `--action-sheet-icon-size` | `24px` |\n","packages/varlet-ui/src/alert/docs/en-US.md":"# Alert\n\n### Intro\n\nAlerts display brief messages for the user without interrupting their use.\n\n### Title\n\n```html\n<template>\n  <var-alert title=\"Pride And Prejudice\" />\n</template>\n```\n\n### Message\n\n```html\n<template>\n  <var-alert message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\" />\n</template>\n```\n\n### Type \n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"success\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"warning\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"danger\"\n    />\n  </var-space>\n</template>\n```\n\n### Variant\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert\n      variant=\"outlined\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n  </var-space>\n</template>\n```\n\n### Custom Icon\n\n```html\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### Allow To Close\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    closeable\n    @close=\"show = false\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n\n## API\n\n### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `type` | Type, optional values are `info`, `success`, `warning`, `danger` | _string_ | `info` | \n| `variant`   | Variant, optional values are `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | Background color | string | `-` | \n| `title` | Title | string | `-` | \n| `message` | Message | string | `-` | \n| `elevation` | Elevation, optional values are true, false, and levels from 0-24 | _string \\| number \\| boolean_ | `false` | \n| `closeable` | Whether the alert is closeable | boolean | `false` | \n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | The message of alert | `-` |\n| `content` | The content of alert | `-` |\n| `title`   | The title of alert | `-` |\n| `icon` | The prepend icon of alert | `-` |\n| `close-icon`   | The close icon of alert | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `close` | Triggered when the Close button is clicked and can only be used when the Close button is displayed | `event: Event` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n|-----------------------------| --- |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |","packages/varlet-ui/src/alert/docs/zh-CN.md":"# 警告信息\n\n### 介绍\n\n警告信息组件会向用户显示简短的消息，但不会中断他们的使用。\n\n### 标题\n\n```html\n<template>\n  <var-alert title=\"傲慢与偏见\" />\n</template>\n```\n\n### 信息\n\n```html\n<template>\n  <var-alert message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\" />\n</template>\n```\n\n### 类型\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"success\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"warning\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert\n      type=\"danger\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 变体\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"outlined\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 自定义图标\n\n```html\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### 允许关闭\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    closeable\n    @close=\"show = false\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `info` `success` `warning` `danger` | _string_ | `info` |\n| `variant`      | 变体，可选值为 `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | 背景色 | _string_ | `-` |\n| `title` | 标题 | _string_ | `-` |\n| `message`  | 信息 | _string_ | `-` |\n| `elevation`  | 海拔高度，可选值为 `true`、`false` 和 `0-24` 的等级  | _string \\| number \\| boolean_ | `false`  |\n| `closeable` | 是否为可关闭警告 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 警告信息 | `-` |\n| `content` | 警告内容 | `-` |\n| `title`   | 警告标题 | `-` |\n| `icon` | 警告的前置图标 | `-` |\n| `close-icon`   | 警告的关闭图标 | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `close` | 点击关闭按钮时触发，只有在显示关闭按钮的时候才能使用 | `event: Event`  |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                         | 默认值 |\n|-----------------------------  | ---   |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |\n","packages/varlet-ui/src/app-bar/docs/en-US.md":"# AppBar\n\n### Intro\n\nProvide navigation function for the page, often used at the top of the page.\n\n### Basic Usage\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Use Border Radius\n\nTurn on rounded border with the `round` prop.\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Large Size\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Add Left And Right Slot\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Surface App Bar\n\nUse `type=\"surface\"` for a low-emphasis surface appearance, suitable for desktop and admin pages.\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Custom Content\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop             | Description                                          | Type | Default |\n|------------------|------------------------------------------------------| --- |---------|\n| `color`          | Background                                           | _string_ | `-`     |\n| `text-color`     | Text color                                           | _string_ | `-`     |\n| `type` ***3.18.0*** | AppBar type, can be set to `primary` `surface`       | _string_ | `primary` |\n| `size` ***3.18.0*** | Size, can be set to `normal` `large`                | _string_ | `normal` |\n| `title`          | Title                                                | _string_ | -       |\n| `title-position` | Title location, can be set to `left`, `center`, `right` | _string_ | `left`  |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | Whether to fixed to the top     | _boolean_ | `false` |\n| `placeholder` ***3.2.14***  | Whether to generate placeholder elements of the same height at the top (`fixed` required)  | _boolean_ | `false` |\n| `z-index`          | AppBar element z-index                            | _number \\| string_ | `1` |\n| `round`          | Whether to use rounded border                        | _boolean_ | `false` |\n| `border` ***3.3.2***          | Whether to use bottom border                            | _boolean_ | `false` |\n| `image`          | Background image                            | _string_ | `-` |\n| `image-linear-gradient` | Background image linear gradient | _string_ | `-` |\n| `safe-area-top` | Whether to enable top safe area adaptation | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description                                                 | SlotProps |\n| --- |-------------------------------------------------------------| --- |\n| `default` | Customize the title content to override the `title` content | `-` |\n| `left` | Insert the content to the left of the app bar               | `-` |\n| `right` | Insert the content to the right of the app bar              | `-` |\n| `content` | Insert the content to the extra content of the app bar   | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--app-bar-color` | `var(--color-primary)` |\n| `--app-bar-text-color` | `#fff` |\n| `--app-bar-height` | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap` | `6px` |\n| `--app-bar-right-gap` | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","packages/varlet-ui/src/app-bar/docs/zh-CN.md":"# 导航栏\n\n### 介绍\n\n为页面提供导航功能，常用于页面顶部。\n\n### 基本使用\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 开启圆角\n\n通过 `round` 属性开启圆角。\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 大尺寸\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 添加左右插槽\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 弱背景色\n\n通过 `type=\"surface\"` 使用弱背景色外观，适合桌面端或中后台页面。\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 扩展内容\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数               | 说明                                | 类型 | 默认值     |\n|------------------|-----------------------------------| ---- |---------|\n| `color`          | 背景颜色                              | _string_ | `-`     |\n| `text-color`     | 文字颜色                              | _string_ | `-`     |\n| `type` ***3.18.0*** | 外观类型，可选值为 `primary` `surface` | _string_ | `primary` |\n| `size` ***3.18.0*** | 尺寸，可选值为 `normal` `large` | _string_ | `normal` |\n| `title`          | 标题                                | _string_ | -       |\n| `title-position` | 标题位置，可选值为 `left` `center` `right` | _string_ | `left`  |\n| `elevation` | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | 是否固定到顶部                            | _boolean_ | `false` |\n| `placeholder`  ***3.2.14***   | 是否在顶部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `z-index`          | 元素 z-index                            | _number \\| string_ | `1` |\n| `round`          | 是否使用圆角                            | _boolean_ | `false` |\n| `border` ***3.3.2***          | 是否使用底部边框                            | _boolean_ | `false` |\n| `image`          | 背景图片                            | _string_ | `-` |\n| `image-linear-gradient` | 背景图片渐变色 | _string_ | `-` |\n| `safe-area-top` | 是否开启顶部安全区适配 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标题内容，会覆盖 `title` 的内容 | `-` |\n| `left` | 插入至导航栏左侧的内容 | `-` |\n| `right` | 插入至导航栏右侧的内容 | `-` |\n| `content` | 扩展内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                       | 默认值 |\n|---------------------------| --- |\n| `--app-bar-color`         | `var(--color-primary)` |\n| `--app-bar-text-color`    | `#fff` |\n| `--app-bar-height`        | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap`      | `6px` |\n| `--app-bar-right-gap`     | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-font-size` | `var(--font-size-lg)` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","packages/varlet-ui/src/auto-complete/docs/en-US.md":"# AutoComplete\n\n### Intro\n\nAutocomplete function of input field.\n\n### Standard Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Outlined Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Filled Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  retu drn {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### Props\n\n#### AutoComplete Props\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `v-model` | The value of the binding                   | _string_ | `-` |\n| `variant` | Input variants, The optional value is `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | Input size, The optional value is `normal` `small`     | _string_ | `normal` |\n| `placeholder` | placeholder          | _string_ | `-` |\n| `options`  | Specifies options | _AutoCompleteOption[]_ | `[]` |\n| `label-key` | As the key that uniquely identifies label | _string_ | `label` |\n| `value-key` | As the key that uniquely identifies value | _string_ | `value` |\n| `maxlength` | Maxlength               | _string \\| number_ | `-` |\n| `readonly` | Whether the readonly          | _boolean_ | `false` |\n| `disabled` | Whether the disabled             | _boolean_ | `false` |\n| `validate-trigger` | Timing to trigger validation, The optional value is `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput`                        | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | Validation rules, return `true` to indicate verification passes, other types of values ​​will be converted into text as user prompts. [Zod validation](#/en-US/zodValidation) is supported since `3.5.0` | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | Customize the enter key style, See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | Whether the clearable       | _boolean_ | `false` |\n| `line` | Whether to display a dividing line     | _boolean_ | `true` |\n| `hint` | Whether to use placeholder as hint       | _boolean_ | `true` |\n| `text-color` | Text color                     | _string_ | `-` |\n| `focus-color` | The primary color in focus  | _string_ | `-` |\n| `blur-color` | The primary color in blur      | _string_ | `-` |\n| `get-show` | Determine whether the menu is displayed according to the input value | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | Consistent with the tabindex property of native input  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `label`    |   The text of option    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    The value of option    | _any_      | `-`   |\n| `disabled`    |    Whether to disable option   | _boolean_      | `-`   |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `focus` | Focus | `-` | `-` |\n| `blur` | Blur | `-` | `-` |\n| `validate` | Trigger validate | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | Clear validate messages | `-` | `-` |\n| `reset` | Clear the value of the binding and validate messages | `-` | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `focus` | Triggered while focusing | `-` |\n| `blur` | Triggered when out of focus | `-` |\n| `click` | Triggered on Click | `event: Event` |\n| `clear` | Triggered on Clearance | `value: string` |\n| `input` | Triggered on input | `value: string`, `event: Event` |\n| `change` | Triggered on change | `value: string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `prepend-icon` | Prepend Icon | `-` |\n| `append-icon` | Append Icon | `-` |\n| `clear-icon` | Clear Icon | `clear: (e: Event) => void` clear function (can be used to clear input box contents when using slots) |\n| `extra-message` | Extra message | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### AutoComplete Variables\n\n| Variable | Default |\n| --- | --- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\nFor style variables related to variant, please refer to the style variables of the [Input component](#/en-US/input#yang4shi4bian4liang4).\n","packages/varlet-ui/src/auto-complete/docs/zh-CN.md":"# 自动完成\n\n### 介绍\n\n输入框自动完成功能。\n\n### 标准外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value10.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 外边框外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 填充外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### 属性\n\n#### AutoComplete Props\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `v-model` | 绑定的值 | _string_ | `-` |\n| `variant` | 输入框风格, 可选值为 `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | 输入框尺寸，可选值 `normal` `small`              | _string_ | `normal` |\n| `placeholder` | 占位符                      | _string_ | `-` |\n| `options`  | 指定可选项 | _AutoCompleteOption[]_ | `[]` |\n| `label-key`  | 作为 label 唯一标识的键名 | _string_ | `label` |\n| `value-key`  | 作为 value 唯一标识的键名 | _string_ | `value` |\n| `maxlength` | 最大长度           | _string \\| number_ | `-` |\n| `readonly` | 是否只读            | _boolean_ | `false` |\n| `disabled` | 是否禁用            | _boolean_ | `false` |\n| `validate-trigger` | 触发验证的时机，可选值为 `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput` | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | 验证规则，返回 `true` 表示验证通过，其余的值则转换为文本作为用户提示     | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | 定制回车键样式，参见 [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | 是否可清除              | _boolean_ | `false` |\n| `line` | 是否显示分割线                | _boolean_ | `true` |\n| `hint` | 是否使用占位符作为提示          | _boolean_ | `true` |\n| `text-color` | 文字颜色                 | _string_ | `-` |\n| `focus-color` | 聚焦时的主要颜色                  | _string_ | `-` |\n| `blur-color` | 失焦时的主要颜色               | _string_ | `-` |\n| `get-show` | 根据输入值决定是否显示菜单 | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | 与原生 input 的 tabindex 属性一致  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `label`    |    选项的标签    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    选项的值    | _any_      | `-`   |\n| `disabled`    |    是否禁用   | _boolean_      | `-`   |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `focus` | 聚焦 | `-` | `-` |\n| `blur` | 失焦 | `-` | `-` |\n| `validate` | 触发校验 | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | 清空校验信息 | `-` | `-` |\n| `reset` | 清空绑定的值和校验信息 | `-` | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `focus` | 聚焦时触发 | `-` |\n| `blur` | 失焦时触发 | `-` |\n| `click` | 点击时触发 | `event: Event` |\n| `clear` | 清除时触发 | `value: string` |\n| `input` | 输入时触发 | `value: string`, `event: Event` |\n| `change` | 更新时触发 | `value: string` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `prepend-icon` | 前置图标 | `-` |\n| `append-icon` | 后置图标 | `-` |\n| `clear-icon` | 清除图标 | `clear: (e: Event) => void` 清除函数(在使用插槽时, 可用于清除输入框内容) |\n| `extra-message` | 附加信息 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### AutoComplete Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\n外观相关的样式变量请参考 [Input 组件](#/zh-CN/input#yang4shi4bian4liang4) 的样式变量\n","packages/varlet-ui/src/avatar-group/docs/en-US.md":"## API\n\n### Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |","packages/varlet-ui/src/avatar-group/docs/zh-CN.md":"## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `offset`          | 组内头像的头像偏移量\t| _number \\| string_ | `-` |\n| `vertical`        | 组内头像是否垂直排列 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 头像组内容 | `-` |","packages/varlet-ui/src/avatar/docs/en-US.md":"# Avatar\n\n### Intro\n\nUsed as avatar display, supporting images, icons and characters.\n\n### Avatar Size\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### Avatar Shape\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### Fit Mode\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### Text Adaptive\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### Background Color\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### Avatar Horizontal Group\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Vertical Group\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Hoverable\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Use Local Paths\n\nIn the file `.vue`,\nthe `Vue component` will not be automatically processed by the build tool like the native img module,\nso you need to import the image resources manually.\nHere's how the different build tools are used.\n\n#### Vite\n\nAutomatic preprocessing with [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling).\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\nOr import separately\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n## API\n\n### Props\n\n#### Avatar Props\n\n| Prop          | Description                                                 | Type   | Default          |\n|---------------|-------------------------------------------------------------|------|--------------|\n| `round`       | Whether the avatar is round or not                                                | _boolean_          | `true` |\n| `size`        | The size of the avatar, with optional values of `mini small normal large`                 | _string \\| number_ | `normal` |\n| `color`       | Background color of the avatar                                                | _string_           | `-` |\n| `src`         | Address of avatar                                                   | _string_            | `-` |\n| `alt` | Image alt text, the same as the native attribute of the `img` tag              | _string_ | `-` |\n| `fit`         | Filling mode of avatar image, optional value `fill contain cover none scale-down` | _string_            | `cover` |\n| `bordered`    | Avatar with or without border                                                | _boolean_ | `false` |\n| `border-color`| Avatar border color                                                  | _string_ | `-` |\n| `loading`     | When lazy loading is enabled, the image displayed in the load                                 | _string_ | `-` |\n| `error`       | When lazy loading is enabled, the image displayed when loading fails                           | _string_ | `-` |\n| `lazy`        | Whether to enable lazy loading                                               | _boolean_ | `false` |\n| `hoverable`   | Whether to enable hover effect | _boolean_ | `false` |\n\n#### AvatarGroup Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Events\n\n#### Avatar Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `click` | Triggered when clicking on avatar | `event: Event` |\n| `load`  | Triggered when the avatar image is successfully loaded (failure in lazy loading mode will try to load the avatar image multiple times and will only be triggered when successfully loaded) | `event: Event` |\n| `error` | Triggered when the avatar image fails to load (failure in lazy loading mode will try to load the avatar image multiple times, will only be triggered at the end of the number of attempts) | `event: Event` |\n\n### Slots\n\n#### Avatar Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar content | `-` |\n\n#### AvatarGroup Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |\n\n### Style Variables\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### Avatar Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-text-color` |  `#f5f5f5`|\n| `--avatar-border-radius` | `4px` |\n| `--avatar-mini-size` | `28px`|\n| `--avatar-small-size` |  `36px`|\n| `--avatar-normal-size` |  `48px`|\n| `--avatar-large-size` |  `64px`|\n| `--avatar-border` |  `2px solid #fff`|\n| `--avatar-background-color` |  `#bebebe`|\n| `--avatar-hover-transform` | `scale(1.1)`      |\n\n#### AvatarGroup Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-group-offset` | `-10px` |","packages/varlet-ui/src/avatar/docs/zh-CN.md":"# 头像\n\n### 介绍\n\n用作头像显示，支持图片、图标和字符。\n\n### 头像尺寸\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### 头像形状\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### 填充模式\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### 文字自适应\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### 背景颜色\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### 头像水平分组\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像垂直分组\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像可悬停\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 使用本地路径\n\n在 `.vue` 文件中，`Vue组件` 不会如同原生 img 一样被构建工具自动处理模块请求，所以需要手动导入图片资源。\n下面是不同构建工具的使用方式。\n\n#### Vite\n\n推荐使用 [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling) 进行路径预处理。\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\n或者单独导入\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n\n## API\n\n### 属性\n\n#### Avatar Props\n\n| 参数           | 说明                                                            | 类型               | 默认值   |\n| -------------- | --------------------------------------------------------------- | ------------------ | -------- |\n| `round`        | 头像是否为圆形                                                  | _boolean_          | `true`   |\n| `size`         | 头像的尺寸，可选值为 `mini small normal large`                  | _string \\| number_ | `normal` |\n| `color`        | 头像的背景颜色                                                  | _string_           | `-`      |\n| `src`          | 头像的地址                                                      | _string_           | `-`      |\n| `alt`          | 替代文本，和 `img` 标签原生属性一致                             | _string_           | `-`      |\n| `fit`          | 头像图片的填充模式，可选值 `fill contain cover none scale-down` | _string_           | `cover`  |\n| `bordered`     | 头像是否带边框                                                  | _boolean_          | `false`  |\n| `border-color` | 头像边框颜色                                                    | _string_           | `-`      |\n| `loading`      | 当开启懒加载时, 加载中显示的图片                                | _string_           | `-`      |\n| `error`        | 当开启懒加载时, 加载失败显示的图片                              | _string_           | `-`      |\n| `lazy`         | 是否开启懒加载                                                  | _boolean_          | `false`  |\n| `hoverable`    | 是否开启悬停效果                                        | _boolean_          | `false`  |\n\n#### AvatarGroup Props\n\n| 参数       | 说明                 | 类型               | 默认值  |\n| ---------- | -------------------- | ------------------ | ------- |\n| `offset`   | 组内头像的头像偏移量 | _number \\| string_ | `-`     |\n| `vertical` | 组内头像是否垂直排列 | _boolean_          | `false` |\n\n### 事件\n\n#### Avatar Events\n\n| 事件名  | 说明                                                                                       | 参数           |\n| ------- | ------------------------------------------------------------------------------------------ | -------------- |\n| `click` | 点击头像时触发                                                                             | `event: Event` |\n| `load`  | 头像图片成功加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在成功加载时触发）     | `event: Event` |\n| `error` | 头像图片失败加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在尝试次数结束时触发） | `event: Event` |\n\n### 插槽\n\n#### Avatar Slots\n\n| 名称      | 说明     | 参数 |\n| --------- | -------- | ---- |\n| `default` | 头像内容 | `-`  |\n\n#### AvatarGroup Slots\n\n| 名称      | 说明       | 参数 |\n| --------- | ---------- | ---- |\n| `default` | 头像组内容 | `-`  |\n\n### 样式变量\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### Avatar Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--avatar-text-color`       | `#f5f5f5`        |\n| `--avatar-border-radius`    | `4px`            |\n| `--avatar-mini-size`        | `28px`           |\n| `--avatar-small-size`       | `36px`           |\n| `--avatar-normal-size`      | `48px`           |\n| `--avatar-large-size`       | `64px`           |\n| `--avatar-border`           | `2px solid #fff` |\n| `--avatar-background-color` | `#bebebe`        |\n| `--avatar-hover-transform`  | `scale(1.1)`     |\n\n#### AvatarGroup Variables\n\n| 变量名                  | 默认值  |\n| ----------------------- | ------- |\n| `--avatar-group-offset` | `-10px` |","packages/varlet-ui/src/back-top/docs/en-US.md":"# BackTop\n\n### Intro\n\nA button to back to top.\n\n### Basic Usage\n\nWhen the page scrolls to `200px`, a back to top button will appear in the lower right corner.\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                             | Type   | Default |\n| ----- |---------------------------------------------------------------------------------------------------------|--------|-------|\n| `target` | The target to trigger scroll. If it is `undefined`, back top will listen to the nearest scrollable parent. | _string \\| HTMLElement_     | `-` |\n| `visibility-height` | The button will not show until the scroll height reaches this value                                     | _string \\| number_ | `200` |\n| `bottom`            | Distance between `BackTop` and page bottom                                                              | _string \\| number_ | `-` |\n| `right`            | Distance between `BackTop` and page right                                                               | _string \\| number_ | `-` |\n| `size`             | BackTop button size                                                                                     | _string \\| number_ | `-` |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `duration` | Time to return to top(ms)                                                                               | _number_ | `300` |\n\n### Events\n\n| Event | Description | arguments |\n| ----- | -------------- | -------- |\n| `click` | Triggered when click | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Custom the content | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","packages/varlet-ui/src/back-top/docs/zh-CN.md":"# 回到顶部\n\n### 介绍\n\n返回页面顶部的操作按钮。\n\n### 基本使用\n\n当页面滚动到 `200px` 时，右下角会出现返回顶部按钮。\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `target`            | 触发滚动的对象，如果为 `undefined` 会监听距离最近的一个可滚动的祖先节点\t | _string \\| HTMLElement_ | `-` |\n| `visibility-height` | 滚动高度达到此参数值才出现                             | _string \\| number_      | `200` |\n| `bottom`            | `BackTop` 距离页面底部的距离                       | _string \\| number_      | `-` |\n| `right`             | `BackTop` 距离页面右侧的距离                       | _string \\| number_      | `-` |\n| `size`              | `BackTop` 按钮大小                              | _string \\| number_      | `-` |\n| `elevation`         | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `duration`          | 回到顶部所需时间（ms）                              | _number_ | `300`        |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ----- | -------------- | -------- |\n| `click` | 点击按钮触发的事件 | `event: Event` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 自定义按钮内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","packages/varlet-ui/src/badge/docs/en-US.md":"# Badge\n\n### Intro\n\nA red dot, number, or text that appears in the upper corner of an icon or text indicates that there is new content or pending information.\n\n### Theme Color Badge\n\nSet different color badge through the `type` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### Dot Badge\n\nSet the badge as a dot through the `dot` attribute.\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n### Custom Badge Content\n\nSet the content of the badge through the `value` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n### Maximum\n\nControl the range of badge display values through `value` and `max-value` (effective when both `value` and `max-value` exist).\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### Different Positioning Badges\n\nSet the position of the badge through the `position` property.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>The Upper Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>The Lower Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>The Upper Left</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>The Lower Left</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Custom Offset\n\nSet the horizontal and vertical offset of the logo via the `offset-x` and `offset-y` properties.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Hidden Badge\n\nControl whether the badge is hidden or not via the `hidden` prop.\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">Click To Change The State</var-button>\n  </var-space>\n</template>\n```\n\n### Custom Badge Color\n\nSet the color of the badge through the `color` property.\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Icon\n\nSet Badge Icon through `icon` property.\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Customize Badge Icon With Slot\n\nUse the `icon` slot to customize the badge icon.\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>Badge</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Value\n\n```html\n<template>\n  <var-badge>\n    <var-chip>Badge</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                                                                                          | Type | Default |\n| --- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- | --- |\n| `type` | Badge type, can be set to `default` `primary` `info` `success` `warning` `danger`                                                                                    | _string_ | `default` |\n| `hidden` | Whether to hidden badge                                                                                                                                              | _boolean_ | `false` |\n| `dot` | Whether the badge is a dot                                                                                                                                           | _boolean_ | `false`|\n| `value` | The value shown in the badge (takes effect when `dot` is `false`)                                                                                                    | _string \\| number_ | `0`|\n| `max-value`| The maximum value shown in the logo, when `value` is greater than `max-value`, displays `max-value+` (effective when both `value` and `max-value` exist)             | _number_| `-` |\n| `position` | Define the position of the logo on other labels when there are other labels in the logo tag. Optional values are `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | The horizontal offset of badge | _number \\| string_ | `0` |\n| `offset-y`  | The vertical offset of badge | _number \\| string_ | `0` |\n| `color` | Custom badge colors                                                                                                                                                  | _string_ | `-` |\n| `icon` | Customize the content of the icon in the badge (priority is higher than `value`)                                                                                      | _string_ | `-` |\n| `namespace`      | Customize the namespace of the icon in the badge | _string_ | `var-icon` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `default` |  Badge content | `-` |\n| `value` | The value shown in the badge | `-` |\n| `icon` ***3.19.0*** | Badge icon | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","packages/varlet-ui/src/badge/docs/zh-CN.md":"# 徽标\n\n### 介绍\n\n出现在图标或文字上的红色圆点、数字或者文字，表示有新内容或者待处理的信息。\n\n### 主题色徽标\n\n通过 `type` 属性设置不同主题色的徽标。\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### 圆点徽标\n\n通过 `dot` 属性将徽标设置为圆点。\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n\n### 自定义徽标内容\n\n通过 `value` 属性设置徽标的内容。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n\n### 最大值\n\n通过 `value` 和 `max-value` 控制徽标显示值的范围（当 `value` 与 `max-value` 都存在时生效）。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### 不同定位徽标\n\n通过 `position` 属性设置徽标的位置。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>右上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>右下</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>左上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>左下</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 自定义偏移量\n\n通过 `offset-x` 和 `offset-y` 属性设置徽标的水平和垂直方向的偏移量。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 隐藏徽标\n\n通过 `hidden` 属性控制是否隐藏徽标。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">点击改变状态</var-button>\n  </var-space>\n</template>\n```\n\n### 自定义徽标颜色\n\n通过 `color` 属性设置徽标的颜色。\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标图标\n\n通过 `icon` 属性设置徽标图标。\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 通过插槽自定义徽标图标\n\n通过 `icon` 插槽自定义徽标图标。\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>徽标</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标值\n\n```html\n<template>\n  <var-badge>\n    <var-chip>徽标</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `default` `primary` `info` `success` `warning` `danger` | _string_ | `default` |\n| `hidden`    | 是否隐藏徽标 | _boolean_ | `false` |\n| `dot`       | 徽标是否为小圆点 | _boolean_ | `false` |\n| `value`     | 徽标中显示的值（当 `dot` 为 `false` 时生效）| _string \\| number_ | `0` |\n| `max-value` | 徽标中显示的最大值，当 `value` 大于 `max-value` 时会显示 `max-value+` (当 `value` 与 `max-value` 都存在时生效)| _string \\| number_ | `-` |\n| `position`  | 徽标标签中有其他标签时定义徽标在其他标签上的位置，可选值 `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | 徽标的水平偏移量 | _number \\| string_ | `0` |\n| `offset-y`  | 徽标的垂直偏移量 | _number \\| string_ | `0` |\n| `color`     | 自定义徽标颜色 | _string_ | `-` |\n| `icon`      | 自定义徽标中图标的内容（优先级高于 `value`） | _string_ | `-` |\n| `namespace`      | 自定义徽标中图标的命名空间 | _string_ | `var-icon` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` |  徽标内容 | `-` |\n| `value` | 徽标中显示的值 | `-` |\n| `icon` ***3.19.0*** | 徽标图标 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","packages/varlet-ui/src/bottom-navigation-item/docs/en-US.md":"### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](/#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](/#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n| Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |","packages/varlet-ui/src/bottom-navigation-item/docs/zh-CN.md":"## API\n\n### 属性\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name 属性](/#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace 属性](/#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |","packages/varlet-ui/src/bottom-navigation/docs/en-US.md":"# BottomNavigation\n\n### Intro\n\nDisplay navigation and key actions at the bottom of the page.\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Match By Name\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Show Badge\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Custom Color\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Change Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Click Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" @click=\"handleClick\"/>\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" @click=\"handleClick\"/>\n  </var-bottom-navigation>\n</template>\n```\n\n### Fab\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation\n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"label\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {   \n  margin-top: 40px;\n}\n</style>\n```\n\n### Variant\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### Props\n\n#### BottomNavigation Props\n\n| Prop            | Description                                         | Type | Default |\n|-----------------|-----------------------------------------------------| ---- | ---- |\n| `v-model:active` | Identifier of current tab                           | _number \\| string_ | `0` |\n| `fixed`         |  Whether to fixed bottom                            | _boolean_ | `false` |\n| `bordered`      | Whether to show border                              | _boolean_ | `false` |\n| `safe-area`       | Whether to enable bottom safe area adaptation | _boolean_ | `false` |\n| `z-index`       | Z-index                                             | _number \\| string_ | `1` |\n| `active-color`  | Color of active tab item                            | _string_ | `-` |\n| `inactive-color` | Color of inactive tab item                          | _string_ | `-` |\n| `placeholder` ***3.2.11***  | Whether to generate placeholder elements of the same height at the bottom (`fixed` required)  | _boolean_ | `false` |\n| `fab-props`     | Fab button props                                    | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | Variant mode | _boolean_ | `false` |\n| `animated` ***3.13.1*** | Whether to enable content switching animation | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n#### BottomNavigation Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `before-change` | The callback function before switching labels, which returns falsy value to prevent switching, supports the return of promise | `active: number \\| string` |\n| `change` | Triggered when switching labels | `active: number \\| string` |\n| `fab-click` | Triggered when clicking fab button | `-` |\n\n#### BottomNavigationItem Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n#### BottomNavigation Slots\n\n| Name | Description                                                | SlotProps |\n| ---- |------------------------------------------------------------| ----|\n| `default` | Content of bottom navigation                               | `-` |\n| `fab` | Support for inserting a custom Fab button into a component | `-` |\n\n#### BottomNavigationItem Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### BottomNavigation Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","packages/varlet-ui/src/bottom-navigation/docs/zh-CN.md":"# 底部导航栏\n\n### 介绍\n\n在页面底部显示导航和关键操作。\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 通过名称匹配\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 徽标提示\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 自定义颜色\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听切换事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听点击事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" @click=\"handleClick\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 悬浮按钮\n\nItem 数量为偶数时，悬浮按钮在中间位置，为奇数时在最右侧。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation \n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"标签\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {\n  margin-top: 40px;\n}\n</style>\n```\n\n### 变体\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### 属性\n\n#### BottomNavigation Props\n\n| 参数               | 说明              | 类型 | 默认值 |\n|------------------|-----------------| ---- | ---- |\n| `v-model:active` | 选中标签的名称或者索引值    | _number \\| string_ | `0` |\n| `fixed`          | 是否固定在底部         | _boolean_ | `false` |\n| `bordered`       | 是否显示外边框         | _boolean_ | `false` |\n| `safe-area`       | 是否开启底部安全区适配 | _boolean_ | `false` |\n| `z-index`        | 元素 z-index      | _number \\| string_ | `1` |\n| `active-color`   | 选中标签的颜色         | _string_ | `-` |\n| `inactive-color` | 未选中标签的颜色        | _string_ | `-` |\n| `placeholder`  ***3.2.11***   | 是否在底部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `fab-props`      | 悬浮按钮属性          | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | 变体模式          | _boolean_ | `false` |\n| `animated` ***3.13.1*** | 是否启用内容切换动画 | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name](#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace](#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n#### BottomNavigation Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `before-change` | 切换标签前的回调函数，返回假值可阻止切换，支持返回 Promise | `active: number \\| string` |\n| `change` | 切换标签时触发 | `active: number \\| string` |\n| `fab-click` | 悬浮按钮点击时触发 | `-` |\n\n#### BottomNavigationItem Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n#### BottomNavigation Slots\n\n| 名称 | 说明                    | 参数 |\n| ---- |-----------------------| ----|\n| `default` | 底部导航栏内容               |`-` |\n| `fab` | 支持在组件中插入一个自定义的 fab 按钮 | `-` |\n\n#### BottomNavigationItem Slots\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### BottomNavigation Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","packages/varlet-ui/src/breadcrumb/docs/en-US.md":"## API\n\n### Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |","packages/varlet-ui/src/breadcrumb/docs/zh-CN.md":"## API\n\n### 属性\n\n| 参数        | 说明                                       | 类型                          | 默认值 |\n| ----------- | ------------------------------------------ | ----------------------------- |-----|\n| `separator` | 分隔符                                     | _string_                      | `-` |\n\n### 事件\n\n| 事件名  | 说明                                   | 参数                                          |\n| ------- |--------------------------------------| --------------------------------------------- |\n| `click` | 点击面包屑时触发 | `event: Event` |\n\n### 插槽\n\n| 参数        | 说明             | 参数 |\n| ----------- | ---------------- | ---- |\n| `default`   | 自定义默认内容   | `-`  |\n| `separator` | 自定义分隔符内容 | `-`  |","packages/varlet-ui/src/breadcrumbs/docs/en-US.md":"# Breadcrumbs\n\n### Intro\n\nUsed to display information hierarchically.\n\n### Basic Usage\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator\n\n```html\n<template>\n   <var-breadcrumbs separator=\"\\\">\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Child Separator\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb separator=\"~\">Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator Slot\n\nCustom content can be used as separator by setting slot.\n\n```html\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb>\n      Home\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>\n      Link 1\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n### Click Event\n\nRegister the click event of the breadcrumb through `@click`, the last breadcrumb will not trigger the click event.\n\n```html\n<script setup>\nimport { Snackbar } from '@varlet/ui'\n</script>\n\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb @click=\"Snackbar('Home')\">Home</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 1')\">Link 1</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 2')\">Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n## API\n\n### Props\n\n#### Breadcrumbs Props\n\n| Prop               | Description          | Type               | Default      |\n| ----------- | ------ | -------- | ------ |\n| `separator` | Separator | _string_ | `/` |\n\n#### Breadcrumb Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n#### Breadcrumb Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n#### Breadcrumbs Slots\n\n| Name | Description | SlotProps |\n| --------- | -------------- | ---- |\n| `default` | Customize the default content | `-` |\n\n#### Breadcrumb Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n#### Breadcrumb Variables\n\n| Variable                        | Default                |\n| -------------------------------------- | ---------------------- |\n| `--breadcrumb-active-color` | `var(--color-primary)` |\n| `--breadcrumb-inactive-color` | `#888` |\n| `--breadcrumb-separator-margin` | `0 10px` |\n| `--breadcrumb-separator-font-size` | `14px` |","packages/varlet-ui/src/breadcrumbs/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbreadcrumbs%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/button-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/button-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/button/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/button/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/card/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/card/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/cell/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/cell/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/checkbox-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/checkbox-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/checkbox/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/checkbox/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/chip/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/chip/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/code/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/code/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/col/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/col/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse-transition/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse-transition/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/count-to/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/count-to/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/countdown/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/countdown/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/counter/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/counter/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/data-table/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/data-table/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/date-input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/date-input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/date-picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/date-picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/dialog/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/dialog/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/divider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/divider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/drag/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/drag/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/ellipsis/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/ellipsis/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/fab/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/fab/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/floating-panel/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/floating-panel/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/form-details/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/form-details/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/form/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/form/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/highlighter-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/highlighter-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/hover/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/hover/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/icon/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/icon/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/image-preview/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/image-preview/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/image/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/image/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/index-anchor/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/index-anchor/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/index-bar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/index-bar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/lazy/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/lazy/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/link/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/link/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/list/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/list/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/loading-bar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/loading-bar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/loading/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/loading/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/locale-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/locale-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/locale/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/locale/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu-option/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu-option/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu-select/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu-select/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/option/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/option/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/otp-input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/otp-input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/overlay/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/overlay/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/pagination/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/pagination/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/paper/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/paper/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/popup/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/popup/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/progress/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/progress/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/pull-refresh/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/pull-refresh/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/radio-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/radio-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/radio/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/radio/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rail-navigation-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rail-navigation-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rail-navigation/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rail-navigation/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rate/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rate/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/result/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/result/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/ripple/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/ripple/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/row/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/row/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/segmented-button/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/segmented-button/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/segmented-buttons/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/segmented-buttons/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/select/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/select/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/shimmer-text/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/shimmer-text/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/signature/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/signature/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/skeleton/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/skeleton/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/slider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/slider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/snackbar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/snackbar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/space/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/space/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/step/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/step/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/steps/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/steps/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/sticky/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/sticky/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/style-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/style-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/styles/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/styles/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/swipe-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/swipe-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/swipe/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/swipe/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/switch/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/switch/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tab-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tab-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tab/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tab/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/table/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/table/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tabs-items/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tabs-items/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tabs/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tabs/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/themes/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/themes/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/time-picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/time-picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tooltip/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tooltip/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tree-menu/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tree-menu/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/uploader/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/uploader/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/watermark/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/watermark/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fzh-CN.md -->","packages/varlet-vscode-extension/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-vscode-extension%2FREADME.md -->"},"files":{"packages/varlet-cli/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2FREADME.md -->","packages/varlet-cli/template/generators/base/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2Ftemplate%2Fgenerators%2Fbase%2FREADME.md -->","packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md":"### 介绍\n\n这里可以介绍一下组件库, 想写什么就写什么...","packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","packages/varlet-import-resolver/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-import-resolver%2FREADME.md -->","packages/varlet-ui-playground/src/download/template/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui-playground%2Fsrc%2Fdownload%2Ftemplate%2FREADME.md -->","packages/varlet-ui/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2FREADME.md -->","packages/varlet-ui/docs/atomicCssSupport.en-US.md":"# Atomic CSS support\n\n### Intro\n\nWe've provided common CSS atomization framework presets, made it easier to access the component library's underlying style variables, and standardized page responsiveness breakpoints.\n\n### UnoCSS\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### Configuration\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts).\n\n### Tailwindcss\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts).\n\n### Usage\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\nWe also support the HSL variables, which makes the transparency of adjusting the color easier.\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```","packages/varlet-ui/docs/atomicCssSupport.zh-CN.md":"# 原子化 CSS 支持\n\n### 介绍\n\n我们提供了常见的 CSS 原子化框架预设，使访问组件库的基础样式变量更加容易，并且一致化了页面响应式断点。\n\n### UnoCSS\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### 配置\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts)。\n\n### Tailwindcss\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts)。\n\n### 使用方式\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\n我们同时也支持了 hsl 变量，这使得调整颜色的透明度变得更加容易。\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```\n\n","packages/varlet-ui/docs/browserAdaptation.en-US.md":"# Browser Adaptation\n\n### Intro\n\nThe component library provides mobile and desktop adaptations,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation.\n\n### Mobile Adaptation\n\n#### CSS Unit Adaptation\n\nThe component library design is based on the `375px` width design draft. \nIt is recommended to use [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) to convert `px` units into `vw` units to achieve mobile terminal adaptation.\nCreate `postcss.config.js` under the `Webpack/Vite` project root path And do the following configuration `375px -> 100vw`.\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### Theme Unit Adaptation (Viewport)\n\nBecause the theme is mounted at runtime and is not affected by postcss, the component library provides a utility tool `Themes.toViewport` for adaptation. The theme returned by the function will use the `375px -> 100vmin` rule by default.\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\nYou can also make changes to the conversion rules\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // defaults 375\n  viewportWidth: 750,\n  // defaults 'vmin'\n  viewportUnit: 'vw',\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n#### Theme Unit Adaptation (Rem)\n\nSimilar to the Viewport solution\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\nOr customize\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // defaults 16\n  rootFontSize: 32,\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n### Desktop Adaptation\n\nBecause component library interaction events are developed using `touch` events, `mouse` events on the desktop side are not supported.\nIt is recommended to use `@varlet/touch-emulator` to set `touch -> mouse` for desktop adaptation.\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","packages/varlet-ui/docs/browserAdaptation.zh-CN.md":"# 浏览器适配\n\n### 介绍\n\n组件库提供移动端和桌面端适配方案，\n移动端使用 [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) 方案进行适配，\n桌面端使用 `@varlet/touch-emulator` 方案进行适配。\n\n### 移动端适配\n\n#### CSS 单位适配\n\n组件库设计基于 `375px` 宽度设计稿，推荐使用 postcss 插件将 `px` 单位转换成 `vmin` 单位从而实现移动端适配。\n在 `webpack/vite` 项目根路径下创建 `postcss.config.js` 并做如下配置之后 `375px -> 100vmin`。\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### 主题包单位适配 (Viewport)\n\n因为主题包是运行时挂载的，不受 postcss 影响，组件库提供了实用工具 `Themes.toViewport` 进行适配，函数返回的主题将默认使用 `375px -> 100vmin` 的规则。\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\n也可以对转换规则进行更改\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // 默认值为 375\n  viewportWidth: 750,\n  // 默认值为 'vmin'\n  viewportUnit: 'vw',\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n####  主题包单位适配 (Rem)\n\n与 `Viewport` 方案类似\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\n也支持自定义\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // 默认值为 16\n  rootFontSize: 32,\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n### 桌面端适配\n\n由于组件库交互事件使用 `touch` 事件进行开发，不支持桌面端的 `mouse` 事件，\n推荐使用 `@varlet/touch-emulator` 将 `touch -> mouse` 从而实现桌面端适配。\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","packages/varlet-ui/docs/cli.en-US.md":"# Components Library Tools\n\n### Intro\n\nThe out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development.\n\n### Features\n\n- 📦 &nbsp;Out-of-the-box component library development environment\n- 📦 &nbsp;An out-of-the-box component library compilation tool that supports exporting `esm`, `cjs`, `umd` module codes\n- 🛠️ &nbsp;Configuration file-based component library documentation site, support Baidu statistics and theme customization\n- 🛠️ &nbsp;Supports both `sfc` and `tsx` styles for writing component libraries\n- 📦 &nbsp;Out-of-the-box code inspection tool\n- 📦 &nbsp;Out-of-the-box unit testing tools\n- 📦 &nbsp;Out-of-the-box code publishing tool, publishes to both `npm` and `github`, and automatically generates changelogs\n- 💪 &nbsp;Support for `VSCode` extension development\n- 💪 &nbsp;Support `build svg to web fonts`\n- 💪 &nbsp;Support for `Typescript`\n- 💪 &nbsp;Support `Various themes, including Material Design 2, Material Design 3`\n- 🌍 &nbsp;Support `Internationalization`\n- 🚀 &nbsp;Based on `pnpm`\n\n### Recommended toolchain\n\nUnder Varlet’s current `component-library toolchain`, we recommend combining `@varlet/cli`, [`vite-plus`](https://viteplus.dev/) (`vp`), and [`rattail`](https://rattail.varletjs.org/) (`rt`): `@varlet/cli` covers first-party library workflows (docs, compile, tests, …), `vp` covers lint/format and app/extension build entrypoints aligned with the Oxc/Rolldown stack, and `rattail` covers `clean`, git hooks, `changelog`, `release`, `commit-lint`, and similar automation. Use this trio for new libraries and scaffold upgrades.\n\n| Piece | Role |\n| --- | --- |\n| `@varlet/cli` | First-party Varlet workflows: `create`, `gen`, `dev`, `build`, `preview`, `compile`, `compile:style-vars`, `build:icons`, `test`, … |\n| [`vite-plus`](https://viteplus.dev/) (`vp`) | Lint, format, app/extension `build`/`dev`/`preview`, and other toolchain entrypoints aligned with the Oxc/Rolldown stack |\n| [`rattail`](https://rattail.varletjs.org/) (`rt`) | `clean`, git hooks, `changelog`, `release`, `commit-lint`, and other repo automation |\n\n### Commands pending deprecation\n\nThese commands still run for backward compatibility and may print a deprecation notice. Do not rely on them in new scripts or new projects — prefer `vp` / `rt` (or `vr` where documented). Any future changes will be called out in release notes.\n\n| Command | Use instead |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch` (with a local `vite.config.ts` for the extension) |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | Minimal value; deprecated without replacement |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### Quickstart\n\n`@varlet/cli` has built-in `sfc` and `tsx` style component library project templates, which can be generated directly by the `gen` command.\nIt is convenient for you to directly enter the component library development.\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## Advanced customization\n\n### Configuration file\n\nThe `varlet.config.mjs` in the project root directory is used to manage the specific details of the entire component library project.\nThe default configuration can be viewed [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts).\nAlso refer to `@varlet/ui` [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs).\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `name` | The full name of the component library, which will be used as the package name | _string_ | `Varlet` |\n| `namespace` | Component library namespace, will be used as component prefix | _string_ | `var` |\n| `host` | Development server host | _number_ | `localhost` |\n| `port` | Development server port | _number_ | `8080` |\n| `proxy` | Development server proxy | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | The title of the component library in the document | _string_ | `VARLET` |\n| `logo` | The logo of the component library in the document | _string_ | `-` |\n| `alias` | Path alias (root is src folder when use relative path) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | Document default language | _string_ | `zh-CN` |\n| `defaultLightTheme` | The default light theme | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | The default dark theme | _string_ | `md3DarkTheme` |\n| `useMobile` | Whether to display the mobile phone preview on the right | _boolean_ | `false` |\n| `themeKey` | The key of the theme in local storage | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 light mode document theme | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 dark mode document theme | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 light mode document theme | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 dark mode document theme | _Record<string, any>_ | `-` |\n| `highlight` | Document code snippet style related | _{ style: string }_ | `-` |\n| `analysis` | Document statistics related | _{ baidu: string }_ | `-` |\n| `pc` | PC side document structure configuration | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | Mobile document structure configuration | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | Bundle output options | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite plugins | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | Component library directive folder name | _string[]_ | `[]` |\n| `copy` | Copy file configuration | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `- ` |\n| `icons` | Font icon packaging related configurations | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts) _ | `-` |\n| `esbuild` | esbuild configuration | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n| `seo` | seo options | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `doc` | The document page corresponds to the matching file name, required | _string_ | `-` |\n| `type` | The type of menu, when the type is `1`, it means the category menu, when the type is `2`, the doc field matches the component file under src, when the type is `3`, the doc field matches the md file under docs, required | _MenuTypes_ | `-` |\n| `text` | The text displayed in the menu, English display text can be configured when internationalization is set, required | _Record<string, string>_ | `-` |\n| `useMobile` | Whether to display the mobile phone preview on the right side on the current document page, if not filled, the default value is useMobile in config  | _boolean_ | `-` |\n\n### Custom pages\n\nIf you want to insert other pages into the component library, you can create a `pages` folder in the project root directory to write a vue component to generate other pages.\nThe directory structure is as follows:\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n      \n```\n\nThe resulting route is as follows:\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### Command related\n\n#### Start the development server\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### Build a documentation site\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### Preview documentation site\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### Compile component library\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### Compile style vars types declaration file\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### Build svg to web fonts\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### Execute all unit tests\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### Execute a unit test\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### Execute unit tests in watch mode\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### Execute unit tests and report coverage\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### Generate a project template\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style project templates\n-t\n--tsx\n  Generate tsx-style project templates\n-l\n--locale\n  Need to support internationalization\n```\n\n#### Create a component template file\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style component\n-t\n--tsx\n  Generate tsx-style component\n-l\n--locale\n  Need to support internationalization\n```\n\n### Note before publish\n\n1. `npm` repository registry must set to `npm` official mirror\n2. Execute `npm login` to log in\n\n### Q & A\n\n#### How to solve failure of installing sharp ?\n\n- You can choose to change mirror site which contains binaries for both sharp and libvips.\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","packages/varlet-ui/docs/cli.zh-CN.md":"# 组件库快速成型工具\n\n### 介绍\n\n开箱即用的 `Vue3组件库` 快速成型工具，提供了一系列命令和工具去解决组件库开发上的问题。\n\n### 特性\n\n- 📦 &nbsp;开箱即用的组件库开发环境\n- 📦 &nbsp;开箱即用的组件库编译工具，支持导出 `esm`, `cjs`, `umd` 三种模块代码\n- 🛠️ &nbsp;基于配置文件的组件库文档站点，支持百度统计和主题定制\n- 🛠️ &nbsp;支持 `sfc` 和 `tsx` 两种风格的组件库编写风格\n- 📦 &nbsp;开箱即用的代码检查工具\n- 📦 &nbsp;开箱即用的单元测试工具\n- 📦 &nbsp;开箱即用的代码发布工具,同时发布到 `npm` 和 `github`, 并自动生成更新日志\n- 💪 &nbsp;支持 `VSCode` 插件开发\n- 💪 &nbsp;支持 `字体图标打包`\n- 💪 &nbsp;支持 `Typescript`\n- 💪 &nbsp;支持 `多种主题, 包含 Material Design 2、Material Design 3`\n- 🌍 &nbsp;支持 `国际化`\n- 🚀 &nbsp;基于 `pnpm`\n\n### 推荐技术栈\n\n在全新的 `Varlet 组件库工具链` 体系下，我们建议将 `@varlet/cli`、[`vite-plus`](https://viteplus.dev/)（`vp`）与 [`rattail`](https://rattail.varletjs.org/)（`rt`）组合使用：前者覆盖组件库文档站与编译等一等能力，后两者承接与 Oxc / Rolldown 栈一致的 lint、format、打包入口，以及 `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化。无论是从零搭建新库，还是升级旧脚手架、需要与模板对齐时，都推荐沿用这一组合。\n\n| 部分 | 作用 |\n| --- | --- |\n| `@varlet/cli` | Varlet 一等能力：`create`、`gen`、`dev`、`build`、`preview`、`compile`、`compile:style-vars`、`build:icons`、`test` 等 |\n| [`vite-plus`](https://viteplus.dev/)（`vp`） | 与 Oxc / Rolldown 栈一致的 lint、format、应用/扩展的 `build`/`dev`/`preview` 等入口 |\n| [`rattail`](https://rattail.varletjs.org/)（`rt`） | `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化 |\n\n### 以下命令即将废弃\n\n以下命令仍可执行（会给出废弃相关提示），但不应在新脚本或新工程中再依赖，请优先改用 `vp` / `rt`（或文档中的 `vr`）。具体时间表以后续发布说明为准。\n\n| 命令 | 请改用 |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch`（扩展包内需有本地 `vite.config.ts`） |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | 用处极小，直接废弃 |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### 快速开始\n\n`@varlet/cli` 内置了 `sfc` 和 `tsx` 两种风格的组件库项目模板，可以通过 `gen` 命令直接生成。\n方便您直接进入组件库开发。\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## 高级定制\n\n### 配置文件\n\n项目根目录下的 `varlet.config.mjs` 用来管理整个组件库项目的具体细节。\n默认配置可查阅 [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts)。\n也可以参考 `@varlet/ui` 的 [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs)。\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `name` | 组件库全名，会作为包名 | _string_ | `Varlet` |\n| `namespace` | 组件库命名空间, 会作为组件前缀 | _string_ | `var` |\n| `host` | 开发服务器主机 | _number_ | `localhost` |\n| `port` | 开发服务器端口 | _number_ | `8080` |\n| `proxy` | 开发服务器代理 | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | 文档中组件库的标题 | _string_ | `VARLET` |\n| `logo` | 文档中组件库的 logo | _string_ | `-` |\n| `alias` | 路径别名 (使用相对路径时，根路径为 src 文件夹) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | 文档默认语言 | _string_ | `zh-CN` |\n| `defaultLightTheme` | 默认的亮色主题 | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | 默认的暗色主题 | _string_ | `md3DarkTheme` |\n| `useMobile` | 是否显示右侧手机预览 | _boolean_ | `false` |\n| `themeKey` | 主题在本地存储中的 key | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `highlight` | 文档代码片段样式相关 | _{ style: string }_ | `-` |\n| `analysis` | 文档统计相关 | _{ baidu: string }_ | `-` |\n| `pc` | pc 端文档结构配置 | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | mobile 端文档结构配置 | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | 组件库编译的捆绑产物配置 | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite 插件 | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | 组件库指令文件夹名称 | _string[]_ | `[]` |\n| `copy` | 复制文件配置 | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `-` |\n| `icons` | 字体图标打包相关配置 | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `esbuild` | esbuild 配置 | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `seo` | seo 选项 | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `doc` | 文档页面应匹配的文件名称, 必填 | _string_ | `-` |\n| `type` | menu 类型, 当 type 为 `1` 时表示分类 menu, 类型为 `2` 时 doc 字段匹配 src 下的组件文件, 类型为`3`时 doc 字段匹配 docs 下的 md 文件 | _MenuTypes_ | `-` |\n| `text` | menu 所展示的文字, 当设置国际化时可配置英文展示文字 | _Record<string, string>_ | `-` |\n| `useMobile` | 是否在当前文档页显示右侧手机预览, 如不填写, 默认取 config 中的 useMobile | _boolean_ | `-` |\n\n### 自定义页面\n\n如果想在组件库中插入其他页面，可以在项目根目录下的创建 `pages` 文件夹编写 vue 组件， 用来生成其他的页面。\n目录结构如下：\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n```\n\n生成的路由如下：\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### 命令相关\n\n#### 启动开发服务器\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### 构建文档站点\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### 预览文档站点\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### 构建组件库\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### 构建样式变量类型声明文件\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### 打包字体图标\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### 执行所有的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### 执行单个组件的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### 以 watch 模式执行单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### 执行所有的单元测试并报告覆盖率\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### 生成一个项目模板\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  项目名\n-s\n--sfc\n  生成 sfc 风格的项目模板\n-t\n--tsx\n  生成 tsx 格式项目\n-l\n--locale\n  需要支持国际化\n```\n\n#### 创建组件模板文件\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  组件名\n-s\n--sfc\n  生成 sfc 风格的组件\n-t\n--tsx\n  生成 tsx 风格的文件\n-l\n--locale\n  需要支持国际化\n```\n\n### 发布前注意\n\n1. `npm` 的仓库源必须指向 `npm` 官方镜像\n2. 执行 `npm login` 进行登录\n\n### 问答\n\n#### 如何解决安装 sharp 失败的问题 ?\n\n- 您可以选择更改包含 sharp 和 libvips 二进制文件的镜像站点\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","packages/varlet-ui/docs/defaultsCustomization.en-US.md":"# Defaults Customization\n\n### Intro\n\nThe component library provides the ability to customize the default values of component props.\n\n### Basic Usage\n\nCustomize the component's property definition through the static method `setPropsDefaults` provided by the component. It should be noted that attribute customization only takes effect for declarative components, and the customized behavior should be before the component is initialized.\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\nAfter customization, the following two writing methods will be equivalent.\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/defaultsCustomization.zh-CN.md":"# 默认值定制\n\n### 介绍\n\n组件库提供对组件属性的默认值进行定制的能力。\n\n### 基本用法\n\n通过组件提供的静态方法 `setPropsDefaults` 对组件的属性定义进行定制。需要注意的是，属性定制只对声明式组件生效，并且定制行为应在组件初始化之前。\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\n定制之后，下面两种写法将会是等价的。\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/designResources.en-US.md":"# Design Resources\n\n### Intro\n\nWe provide design resources for designers, you can select the required resources on this page to download.\n\n### Components Resources\n\nComponent resources include `color`, `text`, and `component resources`. At present, only the design resources of the Material Design 2 light color mode are provided, and the dark mode is not yet available. Community contributions are welcome.\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### Icons Resources\n\nThe icon resource contains `100+` icons built into the component library.\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","packages/varlet-ui/docs/designResources.zh-CN.md":"# 设计资源\n\n### 介绍\n\n我们为设计师提供了设计资源，您可以在本页面选择所需的资源进行下载。\n\n### 组件资源\n\n组件资源包含了`色彩`、`文字`、`组件资源`。目前只提供 Material Design 2 亮色模式的设计资源，其他资源暂未提供，欢迎社区贡献。\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### 图标资源\n\n图标资源包含了组件库内置的 `100+` 图标。\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","packages/varlet-ui/docs/extension.en-US.md":"# VSCode Extension\n\n### Intro\n\nFor a better development experience, we built a `VSCode plugin`.\n\n### Features\n\n- 🛠️ &nbsp;Support syntax hints and quick completion for all components.\n- 🛠️ &nbsp;Support document address preview and quick jump for all components.\n- 🛠️ &nbsp;Support frame selection of code snippets to quickly open `Playground`.\n- 🛠️ &nbsp;Support full icon preview for icon components.\n- 🌍 &nbsp;Support switching between Chinese and English.\n\n### Install\n\nVsCode Extension Marketplace Search [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension).\n\n### How To Use\n\nGrammatical hints appear when you enter the keyword of the component name, and you can quickly complete it after selecting it.\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nMoving the mouse to the component name will display the document address of the component, which can be clicked to jump, and it also directly displays the properties, events and slots of the component in the form of a table.\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nPress space or attribute keywords in the attribute input range of the label to display attribute completion prompts and attribute information.\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nWhen the `name` property of the `Icon` component is input, an icon preview will appear, and syntax completion will be performed after selection.\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nFrame the code snippet, and you can quickly open `Playground` in the right-click menu to preview the framed code online.\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nSupport switching between Chinese and English, more friendly to Chinese people.\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n","packages/varlet-ui/docs/extension.zh-CN.md":"# VSCode 插件\n\n### 介绍\n\n为了更优秀的开发体验，我们构建了一个 `VSCode 插件`。\n\n### 特性\n\n- 🛠️ &nbsp;支持全组件的语法提示、快速补全。\n- 🛠️ &nbsp;支持全组件的文档地址预览、快速跳转。\n- 🛠️ &nbsp;支持框选代码片段，快速打开 `Playground`。\n- 🛠️ &nbsp;支持图标组件的全图标预览。\n- 🌍 &nbsp;支持中英文切换。\n\n### 安装\n\nVsCode 插件市场搜索 [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension)。\n\n### 如何使用\n\n输入组件名称关键字时出现语法提示，选中后进行快速补全。\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n鼠标移动到组件名会显示组件的文档地址用来点击跳转，也直接以表格的形式展示组件的属性、事件和插槽。\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n在标签的属性输入范围按下空格或属性关键字，显示属性补全提示和属性信息。\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n输入 `Icon` 组件的 `name` 属性时出现图标预览，选中后进行语法补全。\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n框选代码片段，右键菜单中可以快速打开 `Playground` 对框选的代码进行线上预览。\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n支持中英文切换，对中国人更加友好。\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n\n","packages/varlet-ui/docs/home.en-US.md":"# Basic Introduce\n\n### Intro\n\nVarlet is a `Vue3` component library based on Material Design 2 and 3, supporting mobile and desktop, developed and maintained by `varletjs` organization.\n\n### Features\n\n- 🚀 &nbsp; Provide 60+ high quality general purpose components\n- 🚀 &nbsp; Components are very lightweight\n- 💪 &nbsp; Developed by Chinese, complete Chinese and English documentation and logistics support\n- 🛠️ &nbsp; Support on-demand introduction\n- 🛠️ &nbsp; Support theme customization\n- 🌍 &nbsp; Support internationalization\n- 💡 &nbsp; Support WebStorm syntax highlighting\n- 💪 &nbsp; Support the SSR\n- 📦 &nbsp; Support [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; Support the Typescript\n- 💪 &nbsp; Make sure more than 90 percent unit test coverage, providing stability assurance\n- 🎨 &nbsp; Supports both Material Design 2 and Material Design 3 design systems\n- 🛠️ &nbsp; Support dark mode\n- 🔧 &nbsp; Provide official VSCode extension\n- ⌨️ &nbsp; Support Accessibility (still improving)\n\n\n### Official Ecosystem\n\nThe following projects are maintained by the official team for a long time.\n\n| Name | Description |\n|------------------------------------------------------------------------------------------------------|--------------------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli) | `Vue3 component library rapid prototyping tool` |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `Desktop adapter, so that the mobile component library can run on the desktop` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground) | `Varlet component library online editing tool` |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | `A resolver for` [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) ` used to implement Varlet and import it on demand`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | [UnoCss](https://unocss.dev/) `presets for varlet` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | [tailwindcss](https://tailwindcss.com/) `presets for varlet` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `Theme generator for generating theme variables for varlet Material Design 3` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension) | `Varlet Component Library VSCode Plugin` |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode Theme`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet component library app template`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Case collection of Varlet component library and various ecosystem integration` |\n\n### Community Ecosystem\n\nThe following projects are maintained by community personnel, welcome to add.\n\n| Name | Description |\n|----------------------------------------------------------------|-----------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `Vue-based mobile template scaffolding, providing mobile presets for Varlet component library` |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `A desktop template scaffolding based on Vue3, providing desktop presets for Varlet component library` |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `A VS Code extension that provides better intellisense to Varlet developers` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `A mobile template based on Vue 3 and Varlet Component Library` |\n\n### PR & Issue\nIf you have any problems during use, you can [issue](https://github.com/varletjs/varlet/issues) them to us on [github](https://github.com/varletjs/varlet),\nwe will deal with it as soon as possible. You can also give us [PR](https://github.com/varletjs/varlet/pulls).\n\n### Open source licenses\nComponent library based on `MIT` licenses.\n\n### Contribution Guide\nSee [Varlet Contribution](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md).\n\n### Thanks to contributors\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### Thanks to the following sponsors\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","packages/varlet-ui/docs/home.zh-CN.md":"# 基本介绍\n\n### 介绍\n\nVarlet 是一个 `Vue3` 组件库，基于 Material Design 2 和 3，支持移动端、桌面端，由 `varletjs` 组织维护。\n\n### 特性\n\n- 🚀 &nbsp; 提供 60+ 个高质量通用组件\n- 🚀 &nbsp; 组件十分轻量\n- 💪 &nbsp; 由国人开发，完善的中英文文档和后勤保障\n- 🛠️ &nbsp; 支持按需引入\n- 🛠️ &nbsp; 支持主题定制\n- 🌍 &nbsp; 支持国际化\n- 💡 &nbsp; 支持 webstorm 组件属性高亮\n- 💪 &nbsp; 支持 SSR\n- 📦 &nbsp; 支持 [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; 支持 Typescript\n- 💪 &nbsp; 确保 90% 以上单元测试覆盖率，提供稳定性保证\n- 🎨 &nbsp; 同时支持 Material Design 2 和 Material Design 3 两套设计系统\n- 🛠️ &nbsp; 支持暗黑模式\n- 🔧 &nbsp; 提供官方的 VSCode 插件\n- ⌨️ &nbsp; 支持无障碍访问（持续改进中）\n\n### 官方生态\n\n以下项目由官方团队长期维护。\n\n| 名称                                                                                                   | 描述                       |\n|------------------------------------------------------------------------------------------------------|--------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli)                       | `Vue3 组件库快速成型工具`         |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `桌面端适配器，让移动端组件库可以在桌面端运行` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground)  | `Varlet 组件库在线编辑工具`       |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) `的一个解析器，用于实现 Varlet 按需引入`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | `varlet 的` [UnoCss](https://unocss.dev/) `预设` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | `varlet 的` [tailwindcss](https://tailwindcss.com/) `预设` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `主题生成器，用于为 varlet material design 3 生成主题变量` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension)  | `Varlet 组件库 VSCode 插件`   |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode 主题`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet 组件库移动端模板`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Varlet 组件库与各种生态集成的案例集合`   |\n\n### 社区生态\n\n以下项目由社区人员维护，欢迎补充。\n\n| 名称                                                             | 描述                                        |\n|----------------------------------------------------------------|-------------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `基于 Vue 的移动端模板脚手架，提供了 Varlet 组件库的移动端预设`   |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `基于 Vue3 的桌面端模板脚手架，提供了 Varlet 组件库的桌面端预设`  |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `为 Varlet 开发人员提供更好的智能感知的 VSCode 扩展` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `基于 Vue 3 和 Varlet 组件库的移动模板` |\n\n### PR & Issue\n使用过程中出现的问题可以到 [github](https://github.com/varletjs/varlet) 来给我们提 [issue](https://github.com/varletjs/varlet/issues)，\n我们会在第一时间处理问题。也可以给我们提 [PR](https://github.com/varletjs/varlet/pulls)，我们也十分欢迎小伙伴们来参与贡献。\n\n### 开源协议\n组件库基于 `MIT` 协议。\n\n### 贡献指南\n详情见 [Varlet 贡献指南](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md)。\n\n### 感谢贡献者们做出的努力\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### 感谢以下赞助者\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","packages/varlet-ui/docs/importOnDemand.en-US.md":"# Import On Demand\n\n### Intro\n\nOn-demand import avoids the full import of components, which can effectively reduce the size of the release package.\n\n### Automatic Import\n\nvia plugin\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) and\n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\nImplement components to automatically import on demand, This is our most recommended way.\n\n#### Install Plugin\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript configuration note\n\nIn order to get good IDE syntax highlighting, \nplease make sure that the type declaration files generated by the above two plugins are include by `typescript`,\nwhich can be configured as follows in `tsconfig.json`:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### Manual import\n\nEach component is a `Vue plugin` and consists of `component logic` and `style files`, which are manually imported and used as follows.\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\nOR\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>Say Hello</var-button>\n</template>\n```\n\n### Manual import and automatic import comparison\n\nManual import\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```\n\nAutomatic import\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```","packages/varlet-ui/docs/importOnDemand.zh-CN.md":"# 按需引入\n\n### 介绍\n\n按需引入避免了组件的全量导入，可以有效的减少发布包的大小。\n\n### 自动引入\n\n通过插件\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 和 \n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\n实现组件自动按需导入，这也是我们最推荐的方式。\n\n#### 安装插件\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript 配置注意\n\n为了得到良好的 IDE 语法高亮，请确保上述两个插件生成的类型声明文件被 `typescript` 识别，可在 `tsconfig.json` 中进行如下配置:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### 手动引入\n\n每一个组件都是一个 `Vue插件`，并由 `组件逻辑` 和 `样式文件` 组成，手动引入的使用方式如下。\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\n或\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>说你好</var-button>\n</template>\n```\n\n### 手动引入和自动引入对比\n\n#### 手动引入\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```\n\n#### 自动引入\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```","packages/varlet-ui/docs/migrationGuide.en-US.md":"# Migrating from 2.x\n\n### Intro\n\nThis section mainly introduces the considerations for migrating from `2.x` to `3.x`\n\n### Component function changes\n\n- DatePicker component removes compatibility with `headerColor` property\n- TimePicker component removes compatibility with `headerColor` property\n- ImagePreview component removes compatibility with `current` property\n- Chip component removed compatibility with `closable` property\n- Progress component removed compatibility with `ripple` property\n- IndexBar component removes compatibility with `cssMode` property\n- LoadingBar component removed compatibility with `mergeConfig` method\n\n### Component style variable changes\n\nIn order to make component style definition easier and support `Material Design 3`, the `3.x` version has restructured the style variables of the component library and added some new basic style variables.\n\n| Variable  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\nHere are some variables that may affect the appearance of your page.\n\n- DatePicker \n\n  - `--picker-header-padding` change to `--date-picker-header-padding`\n  - `--picker-header-color` change to `--date-picker-header-color`\n  - `--picker-actions-padding` change to `--date-picker-actions-padding`\n\n- Pagination\n\n  Remove\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  Remove\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  Remove `--progress-ripple-color`\n\n- Select/Input\n\n  The component has undergone a major refactoring and supports hint animation when the prepend icon exists.\n  \n  | Removed Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | Added Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","packages/varlet-ui/docs/migrationGuide.zh-CN.md":"# 从 2.x 迁移\n\n### 介绍\n\n本节主要介绍从 `2.x` 迁移至 `3.x` 的注意事项\n\n### 组件功能变更\n\n- DatePicker 组件移除了对 `headerColor` 属性的兼容\n- TimePicker 组件移除了对 `headerColor` 属性的兼容\n- ImagePreview 组件移除了对 `current` 属性的兼容\n- Chip 组件移除了对 `closable` 属性的兼容\n- Progress 组件移除了对 `ripple` 属性的兼容\n- IndexBar 组件移除了对 `cssMode` 属性的兼容\n- LoadingBar 组件移除了对 `mergeConfig` 方法的兼容\n\n### 组件样式变量变更\n\n为了使组件样式定义更加容易，并且支持 `Material Design 3`，`3.x` 版本对组件库的样式变量进行了一次重构，新增了一些基础样式变量。\n\n| 变量名  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\n以下列举了一些可能会影响页面样式的变量变更。\n\n- DatePicker \n\n  - `--picker-header-padding` 变更为 `--date-picker-header-padding`\n  - `--picker-header-color` 变更为 `--date-picker-header-color`\n  - `--picker-actions-padding` 变更为 `--date-picker-actions-padding`\n\n- Pagination\n\n  移除\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  移除\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  移除 `--progress-ripple-color`\n\n- Select/Input\n\n  组件进行了一次较大的重构，支持了前置图标存在时的占位符 (hint) 动画\n  \n  | 移除变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | 新增变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","packages/varlet-ui/docs/quickstart.en-US.md":"# Quick Start\n\n### Intro\n\nHere are the most basic ways to access component libraries in common development patterns.\n\n### Install\n\n#### CDN\n\n`varlet.js` contain all the styles and logic of the component library, and you can import them.\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>Button</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# Install with npm, yarn or pnpm\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### Support Desktop\n\n`Varlet` is a mobile-first component library. To support desktop, you need to install an adapter. See [browser adaptation](#/en-US/browserAdaptation) for details.\n\n### Choose a design system\n\nStarting from version 3.x, Varlet supports both Material Design 2 and Material Design 3 design systems.\n\n```js\n// playground-ignore\n// Varlet defaults to Material Design 2 light mode\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 Dark Mode\nStyleProvider(Themes.dark)\n// Material Design 3 Light Mode\nStyleProvider(Themes.md3Light)\n// Material Design 3 Dark Mode\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### Components Playground\n\nWe provide a web version of the component editor,\nwhich is convenient for you to quickly get started with each component of the component library,\nedit it online, share it with others, or download the code package to run locally.\nYou can click the `{...}` icon in the upper right corner of the page or [go here](https://varletjs.org/playground).","packages/varlet-ui/docs/quickstart.zh-CN.md":"# 快速开始\n\n### 介绍\n\n这里为您介绍常见开发模式下接入组件库的最基本方式。\n\n### 安装\n\n#### CDN\n\n`varlet.js` 包含组件库的所有样式和逻辑, 引入即可。\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>按钮</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# 通过 npm、yarn 或 pnpm 安装\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### 支持桌面端\n\n`Varlet` 是一个移动端优先的组件库，支持桌面端需要安装一个适配器，详情见[浏览器适配](#/zh-CN/browserAdaptation)。\n\n### 选择设计系统\n\n从 3.x 版本开始，Varlet 同时支持了 Material Design 2 和 Material Design 3 两种设计系统。\n\n```js\n// playground-ignore\n// Varlet 默认为 Material Design 2 亮色模式\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 暗色模式\nStyleProvider(Themes.dark)\n// Material Design 3 亮色模式\nStyleProvider(Themes.md3Light)\n// Material Design 3 暗色模式\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### 在线体验组件\n\n我们提供了网页版的组件编辑器，方便您对组件库的各个组件进行快速上手、在线编辑、分享给他人或是下载代码包本地运行。\n您可以点击网页右上角的 `{...}` 图标或是 [这里前往](https://varletjs.org/playground)。","packages/varlet-ui/docs/serverSideRendering.en-US.md":"# Server Side Rendering\n\n### Intro\n\nHere we introduce you to the basic way of introducing `Varlet` into `Nuxt`.\n\n### Create a Nuxt project\n\n`Nuxt.js` is a server-side rendering application framework based on `Vue.js`. For detailed tutorials, please go to [Nuxt](https://nuxt.com).\n\n### Nuxt Module\n\nThe first party of the component library provides [Varlet Nuxt Module](https://nuxt.com/modules/varlet) to support on-demand import and automatic import. Execute the following command to install it. After successful installation, nuxt related configuration will be automatically completed.\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### Example Repo\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","packages/varlet-ui/docs/serverSideRendering.zh-CN.md":"# 服务端渲染\n\n### 介绍\n\n这里为您介绍在 `Nuxt` 中引入 `Varlet` 的基本方式。\n\n### 创建 Nuxt 项目\n\n`Nuxt.js` 是一个基于 `Vue.js` 的服务端渲染应用框架，详细教程请移步 [Nuxt](https://nuxt.com)。\n\n### Nuxt Module\n\n组件库第一方提供了 [Varlet Nuxt Module](https://nuxt.com/modules/varlet)。以支持按需引入和自动引入，执行下面的命令进行安装，安装成功后将自动完成 nuxt 相关配置。\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### 示例仓库\n\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","packages/varlet-ui/docs/zodValidation.en-US.md":"# Zod Validation\n\n### Intro\n\nWe support form validation based on [Zod](https://zod.dev/) in `3.5.0+`. \n`Zod` is a very powerful data validation tool and is very friendly to `Typescript`.\n\n### Install Zod\n\nIn order to control the size of the component library, we do not build-in `Zod`, so you need to install it manually.\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### Basic Usage\n\nThe `rules` property of each form component supports passing in one or more `Zod Schema`.\nThe component will use the rules of the `Schema` for validation, \nand when validation fails, the error message defined in it will be used as a user prompt.\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"z.string().min(1, 'Name required')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"z.string().email('Email format error')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"z.string().min(6, 'Password must be at least 6 characters')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[z.string().min(6, 'Confirmation password must be at least 6 characters'), v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### Use With Typescript\n\nIf you use `Typescript`, define a `Zod Schema` to get both Typescript types and form rules.\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, 'Name required'),\n  email: z.string().email('Email format error'),\n  password: z.string().min(6, 'Password must be at least 6 characters'),\n  repeatPassword: z.string().min(6, 'Confirmation password must be at least 6 characters'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","packages/varlet-ui/docs/zodValidation.zh-CN.md":"# Zod 验证\n\n### 介绍\n\n我们在 `3.5.0+` 支持了基于 [Zod](https://zod.dev/) 的表单验证方式，`Zod` 是一个非常强大的数据验证工具，并且对 `Typescript` 十分友好。\n\n### 安装 Zod\n\n为了控制组件库的尺寸，我们不内置 `Zod`，所以需要手动安装。\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### 基本使用\n\n每个表单组件的 `rules` 属性支持传入一个或多个 `Zod Schema`。\n组件将使用该 `Schema` 的规则进行验证，验证失败时将使用其定义的错误信息作为用户提示。\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"z.string().min(1, '名称不能为空')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"z.string().email('邮箱格式有误')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"z.string().min(6, '密码最少6位')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[z.string().min(6, '密码最少6位'), v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### 结合 Typescript 使用\n\n如果您使用 `Typescript`，定义一个 `Zod Schema` 可以同时得到 Typescript 类型和表单 rules。\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, '名称不能为空'),\n  email: z.string().email('邮箱格式有误'),\n  password: z.string().min(6, '密码最少6位'),\n  repeatPassword: z.string().min(6, '确认密码最少6位'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","packages/varlet-ui/src/action-sheet/docs/en-US.md":"# ActionSheet\n\n### Intro\n\nAn action sheet pops up to give the user the ability to select options.\n`ActionSheet` Functional and component use methods are provided, and there is no essential difference between the two effects and parameters.\nThe function returns a `Promise`, on selection return `action`. Click modal close to return `close`.\n\n## Function Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">Basic Use</var-button>\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    title: 'Choose whichever you like'\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Modify Title</var-button>\n</template>\n```\n\n### Action Disabled\n\nThe option is passed `disabled` to leave the action in the disabled state.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({\n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Action Disabled</var-button>\n</template>\n```\n\n### Disable Close On Click Action\n\nPassing in `CloseOnClickAction` disallows the action of `ActionSheet` closing automatically when the option is selected. The user can select the action multiple times. Because `Promise` is only resolved once, it is recommended to use `onSelect` to listen for the action of the user.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`Your selected is:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Disable Close On Click Action</var-button>\n</template>\n```\n\n### Custom Action Styles\n\nOptions provide parameters to configure the style. See the `Action` data structure for options.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Custom Action Styles</var-button>\n</template>\n```\n\n## Component Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Basic Usage</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Modify Title</var-button>\n  <var-action-sheet \n    title=\"Choose whichever you like\" \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Action Disabled\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Action Disabled</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Disable Close On Click Action\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Disable close on click action</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Custom Action Styles\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Custom Action Styles</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### Props\n\n| Prop                     | Description                                                                                                    | Type                  | Default      |\n| ------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------- | ------------ |\n| `v-model:show`           | Whether to display the action sheet                                                                            | _boolean_             | `false`      |\n| `actions`                | Action list                                                                                                    | _Actions_             | `[]`         |\n| `title`                  | Action sheet title                                                                                             | _string_              | `Select One` |\n| `overlay`                | Whether to display the overlay                                                                                 | _boolean_             | `true`       |\n| `overlay-class`          | Custom overlay class                                                                                           | _string_              | `-`          |\n| `overlay-style`          | Custom overlay style                                                                                           | _object_              | `-`          |\n| `lock-scroll`            | Whether to disable scrolling penetration, scrolling the Dialog when disabled will not cause the body to scroll | _boolean_             | `true`       |\n| `close-on-click-action`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `close-on-click-overlay` | Whether to click the overlay to close the action sheet                                                         | _boolean_             | `true`       |\n| `close-on-key-escape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `teleport`               | The location of the action sheet to mount                                                                      | _TeleportProps['to'] \\| false_ | `body`          |\n\n### Events\n\n| Event           | Description                                          | Arguments        |\n| --------------- | ---------------------------------------------------- | ---------------- |\n| `select`        | Triggered when selecting an action sheet                  | `action: Action` |\n| `open`          | Triggered when opening an action sheet              | `-`              |\n| `opened`        | Triggered when an action sheet open-animation ends  | `-`              |\n| `close`         | Triggered when closing an action sheet            | `-`              |\n| `closed`        | Triggered when an action sheet close-animation ends | `-`              |\n| `click-overlay` | Triggered when clicking on overlay                  | `-`              |\n| `key-escape` | Triggered when click keyboard ESC  | `-` |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `ActionSheet` | Show action sheet | _options \\| string_ | `-` |\n| `ActionSheet.close` | Close action sheet | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | Set default option configuration | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | Reset default option configuration | _-_ | `-` |\n\n### ActionSheet Options\n\n#### Options passed in for a functional call\n\n| Option                  | Description                                                                                                          | Type                       | Default      |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------ |\n| `title`               | Action sheet title                                                                                                   | _string_                   | `Select One` |\n| `overlay`             | Whether to display the overlay                                                                                       | _boolean_                  | `true`       |\n| `overlayClass`        | Custom overlay class                                                                                                 | _string_                   | `-`          |\n| `overlayStyle`        | Custom overlay style                                                                                                 | _object_                   | `-`          |\n| `lockScroll`          | Whether to disable scrolling penetration, scrolling the action sheet when disabled will not cause the body to scroll | _boolean_                  | `true`       |\n| `closeOnClickAction`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `closeOnClickOverlay` | Whether to click the overlay to close the action sheet                                                               | _boolean_                  | `true`       |\n| `closeOnKeyEscape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `onOpen`              | Action sheet open callback                                                                                           | _() => void_               | `-`          |\n| `onOpened`            | Action sheet open-animation ends callback                                                                            | _() => void_               | `-`          |\n| `onClose`             | Action sheet close callback                                                                                          | _() => void_               | `-`          |\n| `onClosed`            | Action sheet close-animation ends callback                                                                           | _() => void_               | `-`          |\n| `onSelect`            | Action sheet click action callback                                                                                   | _(action: Action) => void_ | `-`          |\n| `onClickOverlay`      | Click overlay callback                                                                                               | _() => void_               | `-`          |\n| `onKeyEscape` | Triggered when click keyboard ESC  | _() => void_  | `-` |\n\n### ActionSheet Action\n\n| Prop        | Description                         | Type      | Default |\n| ----------- | ----------------------------------- | --------- | ------- |\n| `name`      | Action name                         | _string_  | `-`     |\n| `color`     | Action text color                   | _string_  | `-`     |\n| `icon`      | Icon, support network image address, VNode, or render function | _string \\| VNode \\| () => VNode_  | `-`     |\n| `iconSize`  | Icon size                           | _string_  | `-`     |\n| `namespace` | Icon namespace | _string_ | `-` |\n| `className` | Class name                          | _string_  | `-`     |\n| `disabled`  | Disable or not option               | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --------- | ------------------ | --------- |\n| `actions` | Action list        | `-`       |\n| `title`   | Action sheet title | `-`       |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable                                    | Default                      |\n| ------------------------------------------- | ---------------------------- |\n| `--action-sheet-border-radius`              | `2px`                        |\n| `--action-sheet-border-top`                 | `none`                       |\n| `--action-sheet-background`                 | `#fff`                       |\n| `--action-sheet-title-color`                | `#888`                       |\n| `--action-sheet-title-padding`              | `10px 16px`                  |\n| `--action-sheet-title-font-size`            | `14px`                       |\n| `--action-sheet-action-item-height`         | `48px`                       |\n| `--action-sheet-action-item-padding`        | `0px 18px`                   |\n| `--action-sheet-action-item-color`          | `#333`                       |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin`                | `0 0 20px 0`                 |\n| `--action-sheet-icon-size`                  | `24px`                       |\n","packages/varlet-ui/src/action-sheet/docs/zh-CN.md":"# 动作面板\n\n### 介绍\n\n弹出一个动作面板提供用户选择选项的能力。\n`ActionSheet` 提供了函数式和组件式两种使用方式，两种使用效果和参数并没有本质区别。\n函数返回一个 `Promise`，选择时返回 `当前选择的 action`，点击遮罩层关闭返回 `close`。\n\n## 函数调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">基本使用</var-button>\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ],\n    title: '选择一个你喜欢的吧' \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">修改标题</var-button>\n</template>\n```\n\n### 禁用选项\n\n选项传入 `disabled` 可以使选项处于禁用状态。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用选项</var-button>\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n方法传入 `closeOnClickAction` 可以禁用在选择选项时 `ActionSheet` 自动关闭的行为，用户可以多次选择，\n由于 `Promise` 只会被 `resolve` 一次，所以推荐使用 `onSelect` 监听用户选择行为。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`您选择的是:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用关闭动作面板</var-button>\n</template>\n```\n\n### 自定义选项样式\n\n选项提供了可以配置样式的参数，具体选项的参数可选项见 `Action 的数据结构`。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">自定义选项样式</var-button>\n</template>\n```\n\n## 组件调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">基本使用</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">修改标题</var-button>\n  <var-action-sheet \n    title=\"选择一个你喜欢的吧\"\n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用选项\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用选项</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用点击选项时关闭动作面板</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 自定义选项样式\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">自定义选项样式</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `v-model:show` | 是否显示动作面板 | _boolean_ | `false` |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlay-class` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlay-style` | 自定义遮罩层的 style | _object_ | `-` |\n| `lock-scroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `close-on-click-action` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `close-on-click-overlay` | 是否点击遮罩层关闭动作面板 | _boolean_ | `true` |\n| `close-on-key-escape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true` |\n| `safe-area`   | 是否开启底部安全区适配      | _boolean_             | `false`  |\n| `teleport` | 动作面板挂载的位置 | _TeleportProps['to'] \\| false_ | `body` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `select` | 选择选项时触发 | `action: Action` |\n| `open` | 打开动作面板时触发 | `-` |\n| `opened` | 打开动作面板动画结束时触发 | `-` |\n| `close` | 关闭动作面板时触发 | `-` |\n| `closed` | 关闭动作面板动画结束时触发 | `-` |\n| `click-overlay` | 点击遮罩层时触发 | `-` |\n| `key-escape` | 点击键盘 ESC 时触发 | `-` |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `ActionSheet` | 显示动作面板 | _options_ | `-` |\n| `ActionSheet.close` | 关闭动作面板 | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | 设置默认的选项配置 | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | 重置默认的选项配置 | _-_ | `-` |\n\n### ActionSheet Options\n\n#### 函数式调用时传入的选项\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlayClass` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlayStyle` | 自定义遮罩层的 style | _object_ | `-` |\n| `lockScroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `closeOnClickAction` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `closeOnClickOverlay` | 是否点击遮罩层关闭弹出层 | _boolean_ | `true` |\n| `closeOnKeyEscape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true`\n| `safe-area`              | 是否开启底部安全区适配\t                                     | _boolean_             | `false`  |\n| `onOpen` | 动作面板开启回调 | _() => void_ | `-` |\n| `onOpened` | 动作面板开启动画结束回调 | _() => void_ | `-` |\n| `onClose` | 动作面板关闭回调 | _() => void_ | `-` |\n| `onClosed` |动作面板关闭动画结束回调 | _() => void_ | `-` |\n| `onSelect` | 选项选择时回调 | _(action: Action) => void_ | `-` |\n| `onClickOverlay` | 遮罩层点击回调 | _() => void_ | `-` |\n| `onKeyEscape` | 点击键盘 ESC 时触发 | _() => void_ | `-` |\n\n### ActionSheet Action\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `name` | 选项名称 | _string_ | `-` |\n| `color` | 选项文字颜色 | _string_ | `-` |\n| `icon` | icon 图标，支持网络图片地址、VNode 或渲染函数 | _string \\| VNode \\| () => VNode_ | `-` |\n| `iconSize` | 图标尺寸 | _string_ | `-` |\n| `namespace` | 图标命名空间 | _string_ | `-` |\n| `className` | 选项附加类名 | _string_ | `-` |\n| `disabled` | 是否禁用选项 | _boolean_ | `false` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `actions` | 选项列表 | `-` |\n| `title` | 动作面板标题 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--action-sheet-border-radius` | `2px` |\n| `--action-sheet-border-top` | `none` |\n| `--action-sheet-background` | `#fff` |\n| `--action-sheet-title-color` | `#888` |\n| `--action-sheet-title-padding` | `10px 16px` |\n| `--action-sheet-title-font-size` | `14px` |\n| `--action-sheet-action-item-height` | `48px` |\n| `--action-sheet-action-item-padding` | `0px 18px` |\n| `--action-sheet-action-item-color` | `#333` |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin` | `0 0 20px 0` |\n| `--action-sheet-icon-size` | `24px` |\n","packages/varlet-ui/src/alert/docs/en-US.md":"# Alert\n\n### Intro\n\nAlerts display brief messages for the user without interrupting their use.\n\n### Title\n\n```html\n<template>\n  <var-alert title=\"Pride And Prejudice\" />\n</template>\n```\n\n### Message\n\n```html\n<template>\n  <var-alert message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\" />\n</template>\n```\n\n### Type \n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"success\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"warning\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"danger\"\n    />\n  </var-space>\n</template>\n```\n\n### Variant\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert\n      variant=\"outlined\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n  </var-space>\n</template>\n```\n\n### Custom Icon\n\n```html\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### Allow To Close\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    closeable\n    @close=\"show = false\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n\n## API\n\n### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `type` | Type, optional values are `info`, `success`, `warning`, `danger` | _string_ | `info` | \n| `variant`   | Variant, optional values are `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | Background color | string | `-` | \n| `title` | Title | string | `-` | \n| `message` | Message | string | `-` | \n| `elevation` | Elevation, optional values are true, false, and levels from 0-24 | _string \\| number \\| boolean_ | `false` | \n| `closeable` | Whether the alert is closeable | boolean | `false` | \n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | The message of alert | `-` |\n| `content` | The content of alert | `-` |\n| `title`   | The title of alert | `-` |\n| `icon` | The prepend icon of alert | `-` |\n| `close-icon`   | The close icon of alert | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `close` | Triggered when the Close button is clicked and can only be used when the Close button is displayed | `event: Event` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n|-----------------------------| --- |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |","packages/varlet-ui/src/alert/docs/zh-CN.md":"# 警告信息\n\n### 介绍\n\n警告信息组件会向用户显示简短的消息，但不会中断他们的使用。\n\n### 标题\n\n```html\n<template>\n  <var-alert title=\"傲慢与偏见\" />\n</template>\n```\n\n### 信息\n\n```html\n<template>\n  <var-alert message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\" />\n</template>\n```\n\n### 类型\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"success\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"warning\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert\n      type=\"danger\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 变体\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"outlined\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 自定义图标\n\n```html\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### 允许关闭\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    closeable\n    @close=\"show = false\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `info` `success` `warning` `danger` | _string_ | `info` |\n| `variant`      | 变体，可选值为 `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | 背景色 | _string_ | `-` |\n| `title` | 标题 | _string_ | `-` |\n| `message`  | 信息 | _string_ | `-` |\n| `elevation`  | 海拔高度，可选值为 `true`、`false` 和 `0-24` 的等级  | _string \\| number \\| boolean_ | `false`  |\n| `closeable` | 是否为可关闭警告 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 警告信息 | `-` |\n| `content` | 警告内容 | `-` |\n| `title`   | 警告标题 | `-` |\n| `icon` | 警告的前置图标 | `-` |\n| `close-icon`   | 警告的关闭图标 | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `close` | 点击关闭按钮时触发，只有在显示关闭按钮的时候才能使用 | `event: Event`  |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                         | 默认值 |\n|-----------------------------  | ---   |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |\n","packages/varlet-ui/src/app-bar/docs/en-US.md":"# AppBar\n\n### Intro\n\nProvide navigation function for the page, often used at the top of the page.\n\n### Basic Usage\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Use Border Radius\n\nTurn on rounded border with the `round` prop.\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Large Size\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Add Left And Right Slot\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Surface App Bar\n\nUse `type=\"surface\"` for a low-emphasis surface appearance, suitable for desktop and admin pages.\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Custom Content\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop             | Description                                          | Type | Default |\n|------------------|------------------------------------------------------| --- |---------|\n| `color`          | Background                                           | _string_ | `-`     |\n| `text-color`     | Text color                                           | _string_ | `-`     |\n| `type` ***3.18.0*** | AppBar type, can be set to `primary` `surface`       | _string_ | `primary` |\n| `size` ***3.18.0*** | Size, can be set to `normal` `large`                | _string_ | `normal` |\n| `title`          | Title                                                | _string_ | -       |\n| `title-position` | Title location, can be set to `left`, `center`, `right` | _string_ | `left`  |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | Whether to fixed to the top     | _boolean_ | `false` |\n| `placeholder` ***3.2.14***  | Whether to generate placeholder elements of the same height at the top (`fixed` required)  | _boolean_ | `false` |\n| `z-index`          | AppBar element z-index                            | _number \\| string_ | `1` |\n| `round`          | Whether to use rounded border                        | _boolean_ | `false` |\n| `border` ***3.3.2***          | Whether to use bottom border                            | _boolean_ | `false` |\n| `image`          | Background image                            | _string_ | `-` |\n| `image-linear-gradient` | Background image linear gradient | _string_ | `-` |\n| `safe-area-top` | Whether to enable top safe area adaptation | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description                                                 | SlotProps |\n| --- |-------------------------------------------------------------| --- |\n| `default` | Customize the title content to override the `title` content | `-` |\n| `left` | Insert the content to the left of the app bar               | `-` |\n| `right` | Insert the content to the right of the app bar              | `-` |\n| `content` | Insert the content to the extra content of the app bar   | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--app-bar-color` | `var(--color-primary)` |\n| `--app-bar-text-color` | `#fff` |\n| `--app-bar-height` | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap` | `6px` |\n| `--app-bar-right-gap` | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","packages/varlet-ui/src/app-bar/docs/zh-CN.md":"# 导航栏\n\n### 介绍\n\n为页面提供导航功能，常用于页面顶部。\n\n### 基本使用\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 开启圆角\n\n通过 `round` 属性开启圆角。\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 大尺寸\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 添加左右插槽\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 弱背景色\n\n通过 `type=\"surface\"` 使用弱背景色外观，适合桌面端或中后台页面。\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 扩展内容\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数               | 说明                                | 类型 | 默认值     |\n|------------------|-----------------------------------| ---- |---------|\n| `color`          | 背景颜色                              | _string_ | `-`     |\n| `text-color`     | 文字颜色                              | _string_ | `-`     |\n| `type` ***3.18.0*** | 外观类型，可选值为 `primary` `surface` | _string_ | `primary` |\n| `size` ***3.18.0*** | 尺寸，可选值为 `normal` `large` | _string_ | `normal` |\n| `title`          | 标题                                | _string_ | -       |\n| `title-position` | 标题位置，可选值为 `left` `center` `right` | _string_ | `left`  |\n| `elevation` | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | 是否固定到顶部                            | _boolean_ | `false` |\n| `placeholder`  ***3.2.14***   | 是否在顶部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `z-index`          | 元素 z-index                            | _number \\| string_ | `1` |\n| `round`          | 是否使用圆角                            | _boolean_ | `false` |\n| `border` ***3.3.2***          | 是否使用底部边框                            | _boolean_ | `false` |\n| `image`          | 背景图片                            | _string_ | `-` |\n| `image-linear-gradient` | 背景图片渐变色 | _string_ | `-` |\n| `safe-area-top` | 是否开启顶部安全区适配 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标题内容，会覆盖 `title` 的内容 | `-` |\n| `left` | 插入至导航栏左侧的内容 | `-` |\n| `right` | 插入至导航栏右侧的内容 | `-` |\n| `content` | 扩展内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                       | 默认值 |\n|---------------------------| --- |\n| `--app-bar-color`         | `var(--color-primary)` |\n| `--app-bar-text-color`    | `#fff` |\n| `--app-bar-height`        | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap`      | `6px` |\n| `--app-bar-right-gap`     | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-font-size` | `var(--font-size-lg)` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","packages/varlet-ui/src/auto-complete/docs/en-US.md":"# AutoComplete\n\n### Intro\n\nAutocomplete function of input field.\n\n### Standard Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Outlined Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Filled Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  retu drn {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### Props\n\n#### AutoComplete Props\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `v-model` | The value of the binding                   | _string_ | `-` |\n| `variant` | Input variants, The optional value is `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | Input size, The optional value is `normal` `small`     | _string_ | `normal` |\n| `placeholder` | placeholder          | _string_ | `-` |\n| `options`  | Specifies options | _AutoCompleteOption[]_ | `[]` |\n| `label-key` | As the key that uniquely identifies label | _string_ | `label` |\n| `value-key` | As the key that uniquely identifies value | _string_ | `value` |\n| `maxlength` | Maxlength               | _string \\| number_ | `-` |\n| `readonly` | Whether the readonly          | _boolean_ | `false` |\n| `disabled` | Whether the disabled             | _boolean_ | `false` |\n| `validate-trigger` | Timing to trigger validation, The optional value is `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput`                        | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | Validation rules, return `true` to indicate verification passes, other types of values ​​will be converted into text as user prompts. [Zod validation](#/en-US/zodValidation) is supported since `3.5.0` | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | Customize the enter key style, See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | Whether the clearable       | _boolean_ | `false` |\n| `line` | Whether to display a dividing line     | _boolean_ | `true` |\n| `hint` | Whether to use placeholder as hint       | _boolean_ | `true` |\n| `text-color` | Text color                     | _string_ | `-` |\n| `focus-color` | The primary color in focus  | _string_ | `-` |\n| `blur-color` | The primary color in blur      | _string_ | `-` |\n| `get-show` | Determine whether the menu is displayed according to the input value | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | Consistent with the tabindex property of native input  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `label`    |   The text of option    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    The value of option    | _any_      | `-`   |\n| `disabled`    |    Whether to disable option   | _boolean_      | `-`   |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `focus` | Focus | `-` | `-` |\n| `blur` | Blur | `-` | `-` |\n| `validate` | Trigger validate | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | Clear validate messages | `-` | `-` |\n| `reset` | Clear the value of the binding and validate messages | `-` | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `focus` | Triggered while focusing | `-` |\n| `blur` | Triggered when out of focus | `-` |\n| `click` | Triggered on Click | `event: Event` |\n| `clear` | Triggered on Clearance | `value: string` |\n| `input` | Triggered on input | `value: string`, `event: Event` |\n| `change` | Triggered on change | `value: string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `prepend-icon` | Prepend Icon | `-` |\n| `append-icon` | Append Icon | `-` |\n| `clear-icon` | Clear Icon | `clear: (e: Event) => void` clear function (can be used to clear input box contents when using slots) |\n| `extra-message` | Extra message | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### AutoComplete Variables\n\n| Variable | Default |\n| --- | --- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\nFor style variables related to variant, please refer to the style variables of the [Input component](#/en-US/input#yang4shi4bian4liang4).\n","packages/varlet-ui/src/auto-complete/docs/zh-CN.md":"# 自动完成\n\n### 介绍\n\n输入框自动完成功能。\n\n### 标准外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value10.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 外边框外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 填充外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### 属性\n\n#### AutoComplete Props\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `v-model` | 绑定的值 | _string_ | `-` |\n| `variant` | 输入框风格, 可选值为 `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | 输入框尺寸，可选值 `normal` `small`              | _string_ | `normal` |\n| `placeholder` | 占位符                      | _string_ | `-` |\n| `options`  | 指定可选项 | _AutoCompleteOption[]_ | `[]` |\n| `label-key`  | 作为 label 唯一标识的键名 | _string_ | `label` |\n| `value-key`  | 作为 value 唯一标识的键名 | _string_ | `value` |\n| `maxlength` | 最大长度           | _string \\| number_ | `-` |\n| `readonly` | 是否只读            | _boolean_ | `false` |\n| `disabled` | 是否禁用            | _boolean_ | `false` |\n| `validate-trigger` | 触发验证的时机，可选值为 `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput` | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | 验证规则，返回 `true` 表示验证通过，其余的值则转换为文本作为用户提示     | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | 定制回车键样式，参见 [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | 是否可清除              | _boolean_ | `false` |\n| `line` | 是否显示分割线                | _boolean_ | `true` |\n| `hint` | 是否使用占位符作为提示          | _boolean_ | `true` |\n| `text-color` | 文字颜色                 | _string_ | `-` |\n| `focus-color` | 聚焦时的主要颜色                  | _string_ | `-` |\n| `blur-color` | 失焦时的主要颜色               | _string_ | `-` |\n| `get-show` | 根据输入值决定是否显示菜单 | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | 与原生 input 的 tabindex 属性一致  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `label`    |    选项的标签    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    选项的值    | _any_      | `-`   |\n| `disabled`    |    是否禁用   | _boolean_      | `-`   |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `focus` | 聚焦 | `-` | `-` |\n| `blur` | 失焦 | `-` | `-` |\n| `validate` | 触发校验 | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | 清空校验信息 | `-` | `-` |\n| `reset` | 清空绑定的值和校验信息 | `-` | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `focus` | 聚焦时触发 | `-` |\n| `blur` | 失焦时触发 | `-` |\n| `click` | 点击时触发 | `event: Event` |\n| `clear` | 清除时触发 | `value: string` |\n| `input` | 输入时触发 | `value: string`, `event: Event` |\n| `change` | 更新时触发 | `value: string` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `prepend-icon` | 前置图标 | `-` |\n| `append-icon` | 后置图标 | `-` |\n| `clear-icon` | 清除图标 | `clear: (e: Event) => void` 清除函数(在使用插槽时, 可用于清除输入框内容) |\n| `extra-message` | 附加信息 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### AutoComplete Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\n外观相关的样式变量请参考 [Input 组件](#/zh-CN/input#yang4shi4bian4liang4) 的样式变量\n","packages/varlet-ui/src/avatar-group/docs/en-US.md":"## API\n\n### Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |","packages/varlet-ui/src/avatar-group/docs/zh-CN.md":"## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `offset`          | 组内头像的头像偏移量\t| _number \\| string_ | `-` |\n| `vertical`        | 组内头像是否垂直排列 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 头像组内容 | `-` |","packages/varlet-ui/src/avatar/docs/en-US.md":"# Avatar\n\n### Intro\n\nUsed as avatar display, supporting images, icons and characters.\n\n### Avatar Size\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### Avatar Shape\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### Fit Mode\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### Text Adaptive\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### Background Color\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### Avatar Horizontal Group\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Vertical Group\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Hoverable\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Use Local Paths\n\nIn the file `.vue`,\nthe `Vue component` will not be automatically processed by the build tool like the native img module,\nso you need to import the image resources manually.\nHere's how the different build tools are used.\n\n#### Vite\n\nAutomatic preprocessing with [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling).\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\nOr import separately\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n## API\n\n### Props\n\n#### Avatar Props\n\n| Prop          | Description                                                 | Type   | Default          |\n|---------------|-------------------------------------------------------------|------|--------------|\n| `round`       | Whether the avatar is round or not                                                | _boolean_          | `true` |\n| `size`        | The size of the avatar, with optional values of `mini small normal large`                 | _string \\| number_ | `normal` |\n| `color`       | Background color of the avatar                                                | _string_           | `-` |\n| `src`         | Address of avatar                                                   | _string_            | `-` |\n| `alt` | Image alt text, the same as the native attribute of the `img` tag              | _string_ | `-` |\n| `fit`         | Filling mode of avatar image, optional value `fill contain cover none scale-down` | _string_            | `cover` |\n| `bordered`    | Avatar with or without border                                                | _boolean_ | `false` |\n| `border-color`| Avatar border color                                                  | _string_ | `-` |\n| `loading`     | When lazy loading is enabled, the image displayed in the load                                 | _string_ | `-` |\n| `error`       | When lazy loading is enabled, the image displayed when loading fails                           | _string_ | `-` |\n| `lazy`        | Whether to enable lazy loading                                               | _boolean_ | `false` |\n| `hoverable`   | Whether to enable hover effect | _boolean_ | `false` |\n\n#### AvatarGroup Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Events\n\n#### Avatar Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `click` | Triggered when clicking on avatar | `event: Event` |\n| `load`  | Triggered when the avatar image is successfully loaded (failure in lazy loading mode will try to load the avatar image multiple times and will only be triggered when successfully loaded) | `event: Event` |\n| `error` | Triggered when the avatar image fails to load (failure in lazy loading mode will try to load the avatar image multiple times, will only be triggered at the end of the number of attempts) | `event: Event` |\n\n### Slots\n\n#### Avatar Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar content | `-` |\n\n#### AvatarGroup Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |\n\n### Style Variables\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### Avatar Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-text-color` |  `#f5f5f5`|\n| `--avatar-border-radius` | `4px` |\n| `--avatar-mini-size` | `28px`|\n| `--avatar-small-size` |  `36px`|\n| `--avatar-normal-size` |  `48px`|\n| `--avatar-large-size` |  `64px`|\n| `--avatar-border` |  `2px solid #fff`|\n| `--avatar-background-color` |  `#bebebe`|\n| `--avatar-hover-transform` | `scale(1.1)`      |\n\n#### AvatarGroup Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-group-offset` | `-10px` |","packages/varlet-ui/src/avatar/docs/zh-CN.md":"# 头像\n\n### 介绍\n\n用作头像显示，支持图片、图标和字符。\n\n### 头像尺寸\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### 头像形状\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### 填充模式\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### 文字自适应\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### 背景颜色\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### 头像水平分组\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像垂直分组\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像可悬停\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 使用本地路径\n\n在 `.vue` 文件中，`Vue组件` 不会如同原生 img 一样被构建工具自动处理模块请求，所以需要手动导入图片资源。\n下面是不同构建工具的使用方式。\n\n#### Vite\n\n推荐使用 [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling) 进行路径预处理。\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\n或者单独导入\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n\n## API\n\n### 属性\n\n#### Avatar Props\n\n| 参数           | 说明                                                            | 类型               | 默认值   |\n| -------------- | --------------------------------------------------------------- | ------------------ | -------- |\n| `round`        | 头像是否为圆形                                                  | _boolean_          | `true`   |\n| `size`         | 头像的尺寸，可选值为 `mini small normal large`                  | _string \\| number_ | `normal` |\n| `color`        | 头像的背景颜色                                                  | _string_           | `-`      |\n| `src`          | 头像的地址                                                      | _string_           | `-`      |\n| `alt`          | 替代文本，和 `img` 标签原生属性一致                             | _string_           | `-`      |\n| `fit`          | 头像图片的填充模式，可选值 `fill contain cover none scale-down` | _string_           | `cover`  |\n| `bordered`     | 头像是否带边框                                                  | _boolean_          | `false`  |\n| `border-color` | 头像边框颜色                                                    | _string_           | `-`      |\n| `loading`      | 当开启懒加载时, 加载中显示的图片                                | _string_           | `-`      |\n| `error`        | 当开启懒加载时, 加载失败显示的图片                              | _string_           | `-`      |\n| `lazy`         | 是否开启懒加载                                                  | _boolean_          | `false`  |\n| `hoverable`    | 是否开启悬停效果                                        | _boolean_          | `false`  |\n\n#### AvatarGroup Props\n\n| 参数       | 说明                 | 类型               | 默认值  |\n| ---------- | -------------------- | ------------------ | ------- |\n| `offset`   | 组内头像的头像偏移量 | _number \\| string_ | `-`     |\n| `vertical` | 组内头像是否垂直排列 | _boolean_          | `false` |\n\n### 事件\n\n#### Avatar Events\n\n| 事件名  | 说明                                                                                       | 参数           |\n| ------- | ------------------------------------------------------------------------------------------ | -------------- |\n| `click` | 点击头像时触发                                                                             | `event: Event` |\n| `load`  | 头像图片成功加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在成功加载时触发）     | `event: Event` |\n| `error` | 头像图片失败加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在尝试次数结束时触发） | `event: Event` |\n\n### 插槽\n\n#### Avatar Slots\n\n| 名称      | 说明     | 参数 |\n| --------- | -------- | ---- |\n| `default` | 头像内容 | `-`  |\n\n#### AvatarGroup Slots\n\n| 名称      | 说明       | 参数 |\n| --------- | ---------- | ---- |\n| `default` | 头像组内容 | `-`  |\n\n### 样式变量\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### Avatar Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--avatar-text-color`       | `#f5f5f5`        |\n| `--avatar-border-radius`    | `4px`            |\n| `--avatar-mini-size`        | `28px`           |\n| `--avatar-small-size`       | `36px`           |\n| `--avatar-normal-size`      | `48px`           |\n| `--avatar-large-size`       | `64px`           |\n| `--avatar-border`           | `2px solid #fff` |\n| `--avatar-background-color` | `#bebebe`        |\n| `--avatar-hover-transform`  | `scale(1.1)`     |\n\n#### AvatarGroup Variables\n\n| 变量名                  | 默认值  |\n| ----------------------- | ------- |\n| `--avatar-group-offset` | `-10px` |","packages/varlet-ui/src/back-top/docs/en-US.md":"# BackTop\n\n### Intro\n\nA button to back to top.\n\n### Basic Usage\n\nWhen the page scrolls to `200px`, a back to top button will appear in the lower right corner.\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                             | Type   | Default |\n| ----- |---------------------------------------------------------------------------------------------------------|--------|-------|\n| `target` | The target to trigger scroll. If it is `undefined`, back top will listen to the nearest scrollable parent. | _string \\| HTMLElement_     | `-` |\n| `visibility-height` | The button will not show until the scroll height reaches this value                                     | _string \\| number_ | `200` |\n| `bottom`            | Distance between `BackTop` and page bottom                                                              | _string \\| number_ | `-` |\n| `right`            | Distance between `BackTop` and page right                                                               | _string \\| number_ | `-` |\n| `size`             | BackTop button size                                                                                     | _string \\| number_ | `-` |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `duration` | Time to return to top(ms)                                                                               | _number_ | `300` |\n\n### Events\n\n| Event | Description | arguments |\n| ----- | -------------- | -------- |\n| `click` | Triggered when click | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Custom the content | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","packages/varlet-ui/src/back-top/docs/zh-CN.md":"# 回到顶部\n\n### 介绍\n\n返回页面顶部的操作按钮。\n\n### 基本使用\n\n当页面滚动到 `200px` 时，右下角会出现返回顶部按钮。\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `target`            | 触发滚动的对象，如果为 `undefined` 会监听距离最近的一个可滚动的祖先节点\t | _string \\| HTMLElement_ | `-` |\n| `visibility-height` | 滚动高度达到此参数值才出现                             | _string \\| number_      | `200` |\n| `bottom`            | `BackTop` 距离页面底部的距离                       | _string \\| number_      | `-` |\n| `right`             | `BackTop` 距离页面右侧的距离                       | _string \\| number_      | `-` |\n| `size`              | `BackTop` 按钮大小                              | _string \\| number_      | `-` |\n| `elevation`         | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `duration`          | 回到顶部所需时间（ms）                              | _number_ | `300`        |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ----- | -------------- | -------- |\n| `click` | 点击按钮触发的事件 | `event: Event` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 自定义按钮内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","packages/varlet-ui/src/badge/docs/en-US.md":"# Badge\n\n### Intro\n\nA red dot, number, or text that appears in the upper corner of an icon or text indicates that there is new content or pending information.\n\n### Theme Color Badge\n\nSet different color badge through the `type` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### Dot Badge\n\nSet the badge as a dot through the `dot` attribute.\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n### Custom Badge Content\n\nSet the content of the badge through the `value` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n### Maximum\n\nControl the range of badge display values through `value` and `max-value` (effective when both `value` and `max-value` exist).\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### Different Positioning Badges\n\nSet the position of the badge through the `position` property.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>The Upper Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>The Lower Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>The Upper Left</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>The Lower Left</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Custom Offset\n\nSet the horizontal and vertical offset of the logo via the `offset-x` and `offset-y` properties.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Hidden Badge\n\nControl whether the badge is hidden or not via the `hidden` prop.\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">Click To Change The State</var-button>\n  </var-space>\n</template>\n```\n\n### Custom Badge Color\n\nSet the color of the badge through the `color` property.\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Icon\n\nSet Badge Icon through `icon` property.\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Customize Badge Icon With Slot\n\nUse the `icon` slot to customize the badge icon.\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>Badge</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Value\n\n```html\n<template>\n  <var-badge>\n    <var-chip>Badge</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                                                                                          | Type | Default |\n| --- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- | --- |\n| `type` | Badge type, can be set to `default` `primary` `info` `success` `warning` `danger`                                                                                    | _string_ | `default` |\n| `hidden` | Whether to hidden badge                                                                                                                                              | _boolean_ | `false` |\n| `dot` | Whether the badge is a dot                                                                                                                                           | _boolean_ | `false`|\n| `value` | The value shown in the badge (takes effect when `dot` is `false`)                                                                                                    | _string \\| number_ | `0`|\n| `max-value`| The maximum value shown in the logo, when `value` is greater than `max-value`, displays `max-value+` (effective when both `value` and `max-value` exist)             | _number_| `-` |\n| `position` | Define the position of the logo on other labels when there are other labels in the logo tag. Optional values are `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | The horizontal offset of badge | _number \\| string_ | `0` |\n| `offset-y`  | The vertical offset of badge | _number \\| string_ | `0` |\n| `color` | Custom badge colors                                                                                                                                                  | _string_ | `-` |\n| `icon` | Customize the content of the icon in the badge (priority is higher than `value`)                                                                                      | _string_ | `-` |\n| `namespace`      | Customize the namespace of the icon in the badge | _string_ | `var-icon` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `default` |  Badge content | `-` |\n| `value` | The value shown in the badge | `-` |\n| `icon` ***3.19.0*** | Badge icon | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","packages/varlet-ui/src/badge/docs/zh-CN.md":"# 徽标\n\n### 介绍\n\n出现在图标或文字上的红色圆点、数字或者文字，表示有新内容或者待处理的信息。\n\n### 主题色徽标\n\n通过 `type` 属性设置不同主题色的徽标。\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### 圆点徽标\n\n通过 `dot` 属性将徽标设置为圆点。\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n\n### 自定义徽标内容\n\n通过 `value` 属性设置徽标的内容。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n\n### 最大值\n\n通过 `value` 和 `max-value` 控制徽标显示值的范围（当 `value` 与 `max-value` 都存在时生效）。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### 不同定位徽标\n\n通过 `position` 属性设置徽标的位置。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>右上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>右下</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>左上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>左下</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 自定义偏移量\n\n通过 `offset-x` 和 `offset-y` 属性设置徽标的水平和垂直方向的偏移量。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 隐藏徽标\n\n通过 `hidden` 属性控制是否隐藏徽标。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">点击改变状态</var-button>\n  </var-space>\n</template>\n```\n\n### 自定义徽标颜色\n\n通过 `color` 属性设置徽标的颜色。\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标图标\n\n通过 `icon` 属性设置徽标图标。\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 通过插槽自定义徽标图标\n\n通过 `icon` 插槽自定义徽标图标。\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>徽标</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标值\n\n```html\n<template>\n  <var-badge>\n    <var-chip>徽标</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `default` `primary` `info` `success` `warning` `danger` | _string_ | `default` |\n| `hidden`    | 是否隐藏徽标 | _boolean_ | `false` |\n| `dot`       | 徽标是否为小圆点 | _boolean_ | `false` |\n| `value`     | 徽标中显示的值（当 `dot` 为 `false` 时生效）| _string \\| number_ | `0` |\n| `max-value` | 徽标中显示的最大值，当 `value` 大于 `max-value` 时会显示 `max-value+` (当 `value` 与 `max-value` 都存在时生效)| _string \\| number_ | `-` |\n| `position`  | 徽标标签中有其他标签时定义徽标在其他标签上的位置，可选值 `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | 徽标的水平偏移量 | _number \\| string_ | `0` |\n| `offset-y`  | 徽标的垂直偏移量 | _number \\| string_ | `0` |\n| `color`     | 自定义徽标颜色 | _string_ | `-` |\n| `icon`      | 自定义徽标中图标的内容（优先级高于 `value`） | _string_ | `-` |\n| `namespace`      | 自定义徽标中图标的命名空间 | _string_ | `var-icon` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` |  徽标内容 | `-` |\n| `value` | 徽标中显示的值 | `-` |\n| `icon` ***3.19.0*** | 徽标图标 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","packages/varlet-ui/src/bottom-navigation-item/docs/en-US.md":"### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](/#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](/#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n| Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |","packages/varlet-ui/src/bottom-navigation-item/docs/zh-CN.md":"## API\n\n### 属性\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name 属性](/#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace 属性](/#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |","packages/varlet-ui/src/bottom-navigation/docs/en-US.md":"# BottomNavigation\n\n### Intro\n\nDisplay navigation and key actions at the bottom of the page.\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Match By Name\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Show Badge\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Custom Color\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Change Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Click Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" @click=\"handleClick\"/>\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" @click=\"handleClick\"/>\n  </var-bottom-navigation>\n</template>\n```\n\n### Fab\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation\n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"label\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {   \n  margin-top: 40px;\n}\n</style>\n```\n\n### Variant\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### Props\n\n#### BottomNavigation Props\n\n| Prop            | Description                                         | Type | Default |\n|-----------------|-----------------------------------------------------| ---- | ---- |\n| `v-model:active` | Identifier of current tab                           | _number \\| string_ | `0` |\n| `fixed`         |  Whether to fixed bottom                            | _boolean_ | `false` |\n| `bordered`      | Whether to show border                              | _boolean_ | `false` |\n| `safe-area`       | Whether to enable bottom safe area adaptation | _boolean_ | `false` |\n| `z-index`       | Z-index                                             | _number \\| string_ | `1` |\n| `active-color`  | Color of active tab item                            | _string_ | `-` |\n| `inactive-color` | Color of inactive tab item                          | _string_ | `-` |\n| `placeholder` ***3.2.11***  | Whether to generate placeholder elements of the same height at the bottom (`fixed` required)  | _boolean_ | `false` |\n| `fab-props`     | Fab button props                                    | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | Variant mode | _boolean_ | `false` |\n| `animated` ***3.13.1*** | Whether to enable content switching animation | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n#### BottomNavigation Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `before-change` | The callback function before switching labels, which returns falsy value to prevent switching, supports the return of promise | `active: number \\| string` |\n| `change` | Triggered when switching labels | `active: number \\| string` |\n| `fab-click` | Triggered when clicking fab button | `-` |\n\n#### BottomNavigationItem Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n#### BottomNavigation Slots\n\n| Name | Description                                                | SlotProps |\n| ---- |------------------------------------------------------------| ----|\n| `default` | Content of bottom navigation                               | `-` |\n| `fab` | Support for inserting a custom Fab button into a component | `-` |\n\n#### BottomNavigationItem Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### BottomNavigation Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","packages/varlet-ui/src/bottom-navigation/docs/zh-CN.md":"# 底部导航栏\n\n### 介绍\n\n在页面底部显示导航和关键操作。\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 通过名称匹配\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 徽标提示\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 自定义颜色\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听切换事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听点击事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" @click=\"handleClick\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 悬浮按钮\n\nItem 数量为偶数时，悬浮按钮在中间位置，为奇数时在最右侧。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation \n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"标签\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {\n  margin-top: 40px;\n}\n</style>\n```\n\n### 变体\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### 属性\n\n#### BottomNavigation Props\n\n| 参数               | 说明              | 类型 | 默认值 |\n|------------------|-----------------| ---- | ---- |\n| `v-model:active` | 选中标签的名称或者索引值    | _number \\| string_ | `0` |\n| `fixed`          | 是否固定在底部         | _boolean_ | `false` |\n| `bordered`       | 是否显示外边框         | _boolean_ | `false` |\n| `safe-area`       | 是否开启底部安全区适配 | _boolean_ | `false` |\n| `z-index`        | 元素 z-index      | _number \\| string_ | `1` |\n| `active-color`   | 选中标签的颜色         | _string_ | `-` |\n| `inactive-color` | 未选中标签的颜色        | _string_ | `-` |\n| `placeholder`  ***3.2.11***   | 是否在底部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `fab-props`      | 悬浮按钮属性          | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | 变体模式          | _boolean_ | `false` |\n| `animated` ***3.13.1*** | 是否启用内容切换动画 | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name](#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace](#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n#### BottomNavigation Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `before-change` | 切换标签前的回调函数，返回假值可阻止切换，支持返回 Promise | `active: number \\| string` |\n| `change` | 切换标签时触发 | `active: number \\| string` |\n| `fab-click` | 悬浮按钮点击时触发 | `-` |\n\n#### BottomNavigationItem Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n#### BottomNavigation Slots\n\n| 名称 | 说明                    | 参数 |\n| ---- |-----------------------| ----|\n| `default` | 底部导航栏内容               |`-` |\n| `fab` | 支持在组件中插入一个自定义的 fab 按钮 | `-` |\n\n#### BottomNavigationItem Slots\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### BottomNavigation Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","packages/varlet-ui/src/breadcrumb/docs/en-US.md":"## API\n\n### Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |","packages/varlet-ui/src/breadcrumb/docs/zh-CN.md":"## API\n\n### 属性\n\n| 参数        | 说明                                       | 类型                          | 默认值 |\n| ----------- | ------------------------------------------ | ----------------------------- |-----|\n| `separator` | 分隔符                                     | _string_                      | `-` |\n\n### 事件\n\n| 事件名  | 说明                                   | 参数                                          |\n| ------- |--------------------------------------| --------------------------------------------- |\n| `click` | 点击面包屑时触发 | `event: Event` |\n\n### 插槽\n\n| 参数        | 说明             | 参数 |\n| ----------- | ---------------- | ---- |\n| `default`   | 自定义默认内容   | `-`  |\n| `separator` | 自定义分隔符内容 | `-`  |","packages/varlet-ui/src/breadcrumbs/docs/en-US.md":"# Breadcrumbs\n\n### Intro\n\nUsed to display information hierarchically.\n\n### Basic Usage\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator\n\n```html\n<template>\n   <var-breadcrumbs separator=\"\\\">\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Child Separator\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb separator=\"~\">Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator Slot\n\nCustom content can be used as separator by setting slot.\n\n```html\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb>\n      Home\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>\n      Link 1\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n### Click Event\n\nRegister the click event of the breadcrumb through `@click`, the last breadcrumb will not trigger the click event.\n\n```html\n<script setup>\nimport { Snackbar } from '@varlet/ui'\n</script>\n\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb @click=\"Snackbar('Home')\">Home</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 1')\">Link 1</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 2')\">Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n## API\n\n### Props\n\n#### Breadcrumbs Props\n\n| Prop               | Description          | Type               | Default      |\n| ----------- | ------ | -------- | ------ |\n| `separator` | Separator | _string_ | `/` |\n\n#### Breadcrumb Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n#### Breadcrumb Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n#### Breadcrumbs Slots\n\n| Name | Description | SlotProps |\n| --------- | -------------- | ---- |\n| `default` | Customize the default content | `-` |\n\n#### Breadcrumb Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n#### Breadcrumb Variables\n\n| Variable                        | Default                |\n| -------------------------------------- | ---------------------- |\n| `--breadcrumb-active-color` | `var(--color-primary)` |\n| `--breadcrumb-inactive-color` | `#888` |\n| `--breadcrumb-separator-margin` | `0 10px` |\n| `--breadcrumb-separator-font-size` | `14px` |","packages/varlet-ui/src/breadcrumbs/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbreadcrumbs%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/button-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/button-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/button/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/button/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/card/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/card/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/cell/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/cell/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/checkbox-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/checkbox-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/checkbox/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/checkbox/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/chip/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/chip/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/code/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/code/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/col/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/col/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse-transition/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse-transition/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/collapse/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/collapse/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/count-to/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/count-to/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/countdown/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/countdown/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/counter/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/counter/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/data-table/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/data-table/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/date-input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/date-input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/date-picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/date-picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/dialog/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/dialog/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/divider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/divider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/drag/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/drag/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/ellipsis/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/ellipsis/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/fab/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/fab/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/floating-panel/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/floating-panel/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/form-details/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/form-details/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/form/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/form/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/highlighter-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/highlighter-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/hover/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/hover/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/icon/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/icon/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/image-preview/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/image-preview/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/image/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/image/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/index-anchor/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/index-anchor/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/index-bar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/index-bar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/lazy/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/lazy/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/link/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/link/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/list/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/list/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/loading-bar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/loading-bar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/loading/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/loading/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/locale-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/locale-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/locale/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/locale/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu-option/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu-option/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu-select/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu-select/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/menu/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/menu/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/option/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/option/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/otp-input/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/otp-input/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/overlay/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/overlay/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/pagination/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/pagination/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/paper/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/paper/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/popup/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/popup/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/progress/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/progress/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/pull-refresh/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/pull-refresh/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/radio-group/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/radio-group/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/radio/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/radio/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rail-navigation-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rail-navigation-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rail-navigation/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rail-navigation/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/rate/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/rate/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/result/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/result/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/ripple/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/ripple/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/row/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/row/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/segmented-button/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/segmented-button/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/segmented-buttons/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/segmented-buttons/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/select/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/select/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/shimmer-text/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/shimmer-text/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/signature/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/signature/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/skeleton/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/skeleton/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/slider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/slider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/snackbar/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/snackbar/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/space/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/space/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/step/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/step/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/steps/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/steps/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/sticky/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/sticky/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/style-provider/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/style-provider/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/styles/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/styles/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/swipe-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/swipe-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/swipe/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/swipe/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/switch/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/switch/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tab-item/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tab-item/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tab/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tab/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/table/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/table/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tabs-items/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tabs-items/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tabs/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tabs/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/themes/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/themes/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/time-picker/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/time-picker/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tooltip/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tooltip/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/tree-menu/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/tree-menu/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/uploader/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/uploader/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fzh-CN.md -->","packages/varlet-ui/src/watermark/docs/en-US.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fen-US.md -->","packages/varlet-ui/src/watermark/docs/zh-CN.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fzh-CN.md -->","packages/varlet-vscode-extension/README.md":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-vscode-extension%2FREADME.md -->"},"items":[{"name":"home.zh-CN.md","path":"packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"### 介绍\n\n这里可以介绍一下组件库, 想写什么就写什么...","isInternal":false,"tokens":31,"sizeBytes":74},{"name":"zh-CN.md","path":"packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","isInternal":false,"tokens":218,"sizeBytes":633},{"name":"zh-CN.md","path":"packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |","isInternal":false,"tokens":218,"sizeBytes":633},{"name":"atomicCssSupport.en-US.md","path":"packages/varlet-ui/docs/atomicCssSupport.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/atomicCssSupport.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Atomic CSS support\n\n### Intro\n\nWe've provided common CSS atomization framework presets, made it easier to access the component library's underlying style variables, and standardized page responsiveness breakpoints.\n\n### UnoCSS\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### Configuration\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts).\n\n### Tailwindcss\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts).\n\n### Usage\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\nWe also support the HSL variables, which makes the transparency of adjusting the color easier.\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```","isInternal":false,"tokens":601,"sizeBytes":2245},{"name":"atomicCssSupport.zh-CN.md","path":"packages/varlet-ui/docs/atomicCssSupport.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/atomicCssSupport.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 原子化 CSS 支持\n\n### 介绍\n\n我们提供了常见的 CSS 原子化框架预设，使访问组件库的基础样式变量更加容易，并且一致化了页面响应式断点。\n\n### UnoCSS\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### 配置\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts)。\n\n### Tailwindcss\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts)。\n\n### 使用方式\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\n我们同时也支持了 hsl 变量，这使得调整颜色的透明度变得更加容易。\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```\n\n","isInternal":false,"tokens":674,"sizeBytes":2179},{"name":"browserAdaptation.en-US.md","path":"packages/varlet-ui/docs/browserAdaptation.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/browserAdaptation.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Browser Adaptation\n\n### Intro\n\nThe component library provides mobile and desktop adaptations,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation.\n\n### Mobile Adaptation\n\n#### CSS Unit Adaptation\n\nThe component library design is based on the `375px` width design draft. \nIt is recommended to use [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) to convert `px` units into `vw` units to achieve mobile terminal adaptation.\nCreate `postcss.config.js` under the `Webpack/Vite` project root path And do the following configuration `375px -> 100vw`.\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### Theme Unit Adaptation (Viewport)\n\nBecause the theme is mounted at runtime and is not affected by postcss, the component library provides a utility tool `Themes.toViewport` for adaptation. The theme returned by the function will use the `375px -> 100vmin` rule by default.\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\nYou can also make changes to the conversion rules\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // defaults 375\n  viewportWidth: 750,\n  // defaults 'vmin'\n  viewportUnit: 'vw',\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n#### Theme Unit Adaptation (Rem)\n\nSimilar to the Viewport solution\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\nOr customize\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // defaults 16\n  rootFontSize: 32,\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n### Desktop Adaptation\n\nBecause component library interaction events are developed using `touch` events, `mouse` events on the desktop side are not supported.\nIt is recommended to use `@varlet/touch-emulator` to set `touch -> mouse` for desktop adaptation.\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","isInternal":false,"tokens":686,"sizeBytes":2591},{"name":"browserAdaptation.zh-CN.md","path":"packages/varlet-ui/docs/browserAdaptation.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/browserAdaptation.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 浏览器适配\n\n### 介绍\n\n组件库提供移动端和桌面端适配方案，\n移动端使用 [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) 方案进行适配，\n桌面端使用 `@varlet/touch-emulator` 方案进行适配。\n\n### 移动端适配\n\n#### CSS 单位适配\n\n组件库设计基于 `375px` 宽度设计稿，推荐使用 postcss 插件将 `px` 单位转换成 `vmin` 单位从而实现移动端适配。\n在 `webpack/vite` 项目根路径下创建 `postcss.config.js` 并做如下配置之后 `375px -> 100vmin`。\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### 主题包单位适配 (Viewport)\n\n因为主题包是运行时挂载的，不受 postcss 影响，组件库提供了实用工具 `Themes.toViewport` 进行适配，函数返回的主题将默认使用 `375px -> 100vmin` 的规则。\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\n也可以对转换规则进行更改\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // 默认值为 375\n  viewportWidth: 750,\n  // 默认值为 'vmin'\n  viewportUnit: 'vw',\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n####  主题包单位适配 (Rem)\n\n与 `Viewport` 方案类似\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\n也支持自定义\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // 默认值为 16\n  rootFontSize: 32,\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n### 桌面端适配\n\n由于组件库交互事件使用 `touch` 事件进行开发，不支持桌面端的 `mouse` 事件，\n推荐使用 `@varlet/touch-emulator` 将 `touch -> mouse` 从而实现桌面端适配。\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```","isInternal":false,"tokens":795,"sizeBytes":2414},{"name":"cli.en-US.md","path":"packages/varlet-ui/docs/cli.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/cli.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Components Library Tools\n\n### Intro\n\nThe out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development.\n\n### Features\n\n- 📦 &nbsp;Out-of-the-box component library development environment\n- 📦 &nbsp;An out-of-the-box component library compilation tool that supports exporting `esm`, `cjs`, `umd` module codes\n- 🛠️ &nbsp;Configuration file-based component library documentation site, support Baidu statistics and theme customization\n- 🛠️ &nbsp;Supports both `sfc` and `tsx` styles for writing component libraries\n- 📦 &nbsp;Out-of-the-box code inspection tool\n- 📦 &nbsp;Out-of-the-box unit testing tools\n- 📦 &nbsp;Out-of-the-box code publishing tool, publishes to both `npm` and `github`, and automatically generates changelogs\n- 💪 &nbsp;Support for `VSCode` extension development\n- 💪 &nbsp;Support `build svg to web fonts`\n- 💪 &nbsp;Support for `Typescript`\n- 💪 &nbsp;Support `Various themes, including Material Design 2, Material Design 3`\n- 🌍 &nbsp;Support `Internationalization`\n- 🚀 &nbsp;Based on `pnpm`\n\n### Recommended toolchain\n\nUnder Varlet’s current `component-library toolchain`, we recommend combining `@varlet/cli`, [`vite-plus`](https://viteplus.dev/) (`vp`), and [`rattail`](https://rattail.varletjs.org/) (`rt`): `@varlet/cli` covers first-party library workflows (docs, compile, tests, …), `vp` covers lint/format and app/extension build entrypoints aligned with the Oxc/Rolldown stack, and `rattail` covers `clean`, git hooks, `changelog`, `release`, `commit-lint`, and similar automation. Use this trio for new libraries and scaffold upgrades.\n\n| Piece | Role |\n| --- | --- |\n| `@varlet/cli` | First-party Varlet workflows: `create`, `gen`, `dev`, `build`, `preview`, `compile`, `compile:style-vars`, `build:icons`, `test`, … |\n| [`vite-plus`](https://viteplus.dev/) (`vp`) | Lint, format, app/extension `build`/`dev`/`preview`, and other toolchain entrypoints aligned with the Oxc/Rolldown stack |\n| [`rattail`](https://rattail.varletjs.org/) (`rt`) | `clean`, git hooks, `changelog`, `release`, `commit-lint`, and other repo automation |\n\n### Commands pending deprecation\n\nThese commands still run for backward compatibility and may print a deprecation notice. Do not rely on them in new scripts or new projects — prefer `vp` / `rt` (or `vr` where documented). Any future changes will be called out in release notes.\n\n| Command | Use instead |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch` (with a local `vite.config.ts` for the extension) |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | Minimal value; deprecated without replacement |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### Quickstart\n\n`@varlet/cli` has built-in `sfc` and `tsx` style component library project templates, which can be generated directly by the `gen` command.\nIt is convenient for you to directly enter the component library development.\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## Advanced customization\n\n### Configuration file\n\nThe `varlet.config.mjs` in the project root directory is used to manage the specific details of the entire component library project.\nThe default configuration can be viewed [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts).\nAlso refer to `@varlet/ui` [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs).\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `name` | The full name of the component library, which will be used as the package name | _string_ | `Varlet` |\n| `namespace` | Component library namespace, will be used as component prefix | _string_ | `var` |\n| `host` | Development server host | _number_ | `localhost` |\n| `port` | Development server port | _number_ | `8080` |\n| `proxy` | Development server proxy | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | The title of the component library in the document | _string_ | `VARLET` |\n| `logo` | The logo of the component library in the document | _string_ | `-` |\n| `alias` | Path alias (root is src folder when use relative path) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | Document default language | _string_ | `zh-CN` |\n| `defaultLightTheme` | The default light theme | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | The default dark theme | _string_ | `md3DarkTheme` |\n| `useMobile` | Whether to display the mobile phone preview on the right | _boolean_ | `false` |\n| `themeKey` | The key of the theme in local storage | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 light mode document theme | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 dark mode document theme | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 light mode document theme | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 dark mode document theme | _Record<string, any>_ | `-` |\n| `highlight` | Document code snippet style related | _{ style: string }_ | `-` |\n| `analysis` | Document statistics related | _{ baidu: string }_ | `-` |\n| `pc` | PC side document structure configuration | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | Mobile document structure configuration | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | Bundle output options | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite plugins | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | Component library directive folder name | _string[]_ | `[]` |\n| `copy` | Copy file configuration | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `- ` |\n| `icons` | Font icon packaging related configurations | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts) _ | `-` |\n| `esbuild` | esbuild configuration | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n| `seo` | seo options | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `doc` | The document page corresponds to the matching file name, required | _string_ | `-` |\n| `type` | The type of menu, when the type is `1`, it means the category menu, when the type is `2`, the doc field matches the component file under src, when the type is `3`, the doc field matches the md file under docs, required | _MenuTypes_ | `-` |\n| `text` | The text displayed in the menu, English display text can be configured when internationalization is set, required | _Record<string, string>_ | `-` |\n| `useMobile` | Whether to display the mobile phone preview on the right side on the current document page, if not filled, the default value is useMobile in config  | _boolean_ | `-` |\n\n### Custom pages\n\nIf you want to insert other pages into the component library, you can create a `pages` folder in the project root directory to write a vue component to generate other pages.\nThe directory structure is as follows:\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n      \n```\n\nThe resulting route is as follows:\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### Command related\n\n#### Start the development server\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### Build a documentation site\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### Preview documentation site\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### Compile component library\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### Compile style vars types declaration file\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### Build svg to web fonts\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### Execute all unit tests\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### Execute a unit test\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### Execute unit tests in watch mode\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### Execute unit tests and report coverage\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### Generate a project template\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style project templates\n-t\n--tsx\n  Generate tsx-style project templates\n-l\n--locale\n  Need to support internationalization\n```\n\n#### Create a component template file\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style component\n-t\n--tsx\n  Generate tsx-style component\n-l\n--locale\n  Need to support internationalization\n```\n\n### Note before publish\n\n1. `npm` repository registry must set to `npm` official mirror\n2. Execute `npm login` to log in\n\n### Q & A\n\n#### How to solve failure of installing sharp ?\n\n- You can choose to change mirror site which contains binaries for both sharp and libvips.\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","isInternal":false,"tokens":2666,"sizeBytes":10197},{"name":"cli.zh-CN.md","path":"packages/varlet-ui/docs/cli.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/cli.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 组件库快速成型工具\n\n### 介绍\n\n开箱即用的 `Vue3组件库` 快速成型工具，提供了一系列命令和工具去解决组件库开发上的问题。\n\n### 特性\n\n- 📦 &nbsp;开箱即用的组件库开发环境\n- 📦 &nbsp;开箱即用的组件库编译工具，支持导出 `esm`, `cjs`, `umd` 三种模块代码\n- 🛠️ &nbsp;基于配置文件的组件库文档站点，支持百度统计和主题定制\n- 🛠️ &nbsp;支持 `sfc` 和 `tsx` 两种风格的组件库编写风格\n- 📦 &nbsp;开箱即用的代码检查工具\n- 📦 &nbsp;开箱即用的单元测试工具\n- 📦 &nbsp;开箱即用的代码发布工具,同时发布到 `npm` 和 `github`, 并自动生成更新日志\n- 💪 &nbsp;支持 `VSCode` 插件开发\n- 💪 &nbsp;支持 `字体图标打包`\n- 💪 &nbsp;支持 `Typescript`\n- 💪 &nbsp;支持 `多种主题, 包含 Material Design 2、Material Design 3`\n- 🌍 &nbsp;支持 `国际化`\n- 🚀 &nbsp;基于 `pnpm`\n\n### 推荐技术栈\n\n在全新的 `Varlet 组件库工具链` 体系下，我们建议将 `@varlet/cli`、[`vite-plus`](https://viteplus.dev/)（`vp`）与 [`rattail`](https://rattail.varletjs.org/)（`rt`）组合使用：前者覆盖组件库文档站与编译等一等能力，后两者承接与 Oxc / Rolldown 栈一致的 lint、format、打包入口，以及 `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化。无论是从零搭建新库，还是升级旧脚手架、需要与模板对齐时，都推荐沿用这一组合。\n\n| 部分 | 作用 |\n| --- | --- |\n| `@varlet/cli` | Varlet 一等能力：`create`、`gen`、`dev`、`build`、`preview`、`compile`、`compile:style-vars`、`build:icons`、`test` 等 |\n| [`vite-plus`](https://viteplus.dev/)（`vp`） | 与 Oxc / Rolldown 栈一致的 lint、format、应用/扩展的 `build`/`dev`/`preview` 等入口 |\n| [`rattail`](https://rattail.varletjs.org/)（`rt`） | `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化 |\n\n### 以下命令即将废弃\n\n以下命令仍可执行（会给出废弃相关提示），但不应在新脚本或新工程中再依赖，请优先改用 `vp` / `rt`（或文档中的 `vr`）。具体时间表以后续发布说明为准。\n\n| 命令 | 请改用 |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch`（扩展包内需有本地 `vite.config.ts`） |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | 用处极小，直接废弃 |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### 快速开始\n\n`@varlet/cli` 内置了 `sfc` 和 `tsx` 两种风格的组件库项目模板，可以通过 `gen` 命令直接生成。\n方便您直接进入组件库开发。\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## 高级定制\n\n### 配置文件\n\n项目根目录下的 `varlet.config.mjs` 用来管理整个组件库项目的具体细节。\n默认配置可查阅 [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts)。\n也可以参考 `@varlet/ui` 的 [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs)。\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `name` | 组件库全名，会作为包名 | _string_ | `Varlet` |\n| `namespace` | 组件库命名空间, 会作为组件前缀 | _string_ | `var` |\n| `host` | 开发服务器主机 | _number_ | `localhost` |\n| `port` | 开发服务器端口 | _number_ | `8080` |\n| `proxy` | 开发服务器代理 | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | 文档中组件库的标题 | _string_ | `VARLET` |\n| `logo` | 文档中组件库的 logo | _string_ | `-` |\n| `alias` | 路径别名 (使用相对路径时，根路径为 src 文件夹) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | 文档默认语言 | _string_ | `zh-CN` |\n| `defaultLightTheme` | 默认的亮色主题 | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | 默认的暗色主题 | _string_ | `md3DarkTheme` |\n| `useMobile` | 是否显示右侧手机预览 | _boolean_ | `false` |\n| `themeKey` | 主题在本地存储中的 key | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `highlight` | 文档代码片段样式相关 | _{ style: string }_ | `-` |\n| `analysis` | 文档统计相关 | _{ baidu: string }_ | `-` |\n| `pc` | pc 端文档结构配置 | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | mobile 端文档结构配置 | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | 组件库编译的捆绑产物配置 | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite 插件 | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | 组件库指令文件夹名称 | _string[]_ | `[]` |\n| `copy` | 复制文件配置 | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `-` |\n| `icons` | 字体图标打包相关配置 | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `esbuild` | esbuild 配置 | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `seo` | seo 选项 | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `doc` | 文档页面应匹配的文件名称, 必填 | _string_ | `-` |\n| `type` | menu 类型, 当 type 为 `1` 时表示分类 menu, 类型为 `2` 时 doc 字段匹配 src 下的组件文件, 类型为`3`时 doc 字段匹配 docs 下的 md 文件 | _MenuTypes_ | `-` |\n| `text` | menu 所展示的文字, 当设置国际化时可配置英文展示文字 | _Record<string, string>_ | `-` |\n| `useMobile` | 是否在当前文档页显示右侧手机预览, 如不填写, 默认取 config 中的 useMobile | _boolean_ | `-` |\n\n### 自定义页面\n\n如果想在组件库中插入其他页面，可以在项目根目录下的创建 `pages` 文件夹编写 vue 组件， 用来生成其他的页面。\n目录结构如下：\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n```\n\n生成的路由如下：\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### 命令相关\n\n#### 启动开发服务器\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### 构建文档站点\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### 预览文档站点\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### 构建组件库\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### 构建样式变量类型声明文件\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### 打包字体图标\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### 执行所有的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### 执行单个组件的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### 以 watch 模式执行单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### 执行所有的单元测试并报告覆盖率\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### 生成一个项目模板\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  项目名\n-s\n--sfc\n  生成 sfc 风格的项目模板\n-t\n--tsx\n  生成 tsx 格式项目\n-l\n--locale\n  需要支持国际化\n```\n\n#### 创建组件模板文件\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  组件名\n-s\n--sfc\n  生成 sfc 风格的组件\n-t\n--tsx\n  生成 tsx 风格的文件\n-l\n--locale\n  需要支持国际化\n```\n\n### 发布前注意\n\n1. `npm` 的仓库源必须指向 `npm` 官方镜像\n2. 执行 `npm login` 进行登录\n\n### 问答\n\n#### 如何解决安装 sharp 失败的问题 ?\n\n- 您可以选择更改包含 sharp 和 libvips 二进制文件的镜像站点\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n","isInternal":false,"tokens":3157,"sizeBytes":9276},{"name":"defaultsCustomization.en-US.md","path":"packages/varlet-ui/docs/defaultsCustomization.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/defaultsCustomization.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Defaults Customization\n\n### Intro\n\nThe component library provides the ability to customize the default values of component props.\n\n### Basic Usage\n\nCustomize the component's property definition through the static method `setPropsDefaults` provided by the component. It should be noted that attribute customization only takes effect for declarative components, and the customized behavior should be before the component is initialized.\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\nAfter customization, the following two writing methods will be equivalent.\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","isInternal":false,"tokens":193,"sizeBytes":913},{"name":"defaultsCustomization.zh-CN.md","path":"packages/varlet-ui/docs/defaultsCustomization.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/defaultsCustomization.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 默认值定制\n\n### 介绍\n\n组件库提供对组件属性的默认值进行定制的能力。\n\n### 基本用法\n\n通过组件提供的静态方法 `setPropsDefaults` 对组件的属性定义进行定制。需要注意的是，属性定制只对声明式组件生效，并且定制行为应在组件初始化之前。\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\n定制之后，下面两种写法将会是等价的。\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```","isInternal":false,"tokens":219,"sizeBytes":777},{"name":"designResources.en-US.md","path":"packages/varlet-ui/docs/designResources.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/designResources.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Design Resources\n\n### Intro\n\nWe provide design resources for designers, you can select the required resources on this page to download.\n\n### Components Resources\n\nComponent resources include `color`, `text`, and `component resources`. At present, only the design resources of the Material Design 2 light color mode are provided, and the dark mode is not yet available. Community contributions are welcome.\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### Icons Resources\n\nThe icon resource contains `100+` icons built into the component library.\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","isInternal":false,"tokens":208,"sizeBytes":944},{"name":"designResources.zh-CN.md","path":"packages/varlet-ui/docs/designResources.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/designResources.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 设计资源\n\n### 介绍\n\n我们为设计师提供了设计资源，您可以在本页面选择所需的资源进行下载。\n\n### 组件资源\n\n组件资源包含了`色彩`、`文字`、`组件资源`。目前只提供 Material Design 2 亮色模式的设计资源，其他资源暂未提供，欢迎社区贡献。\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### 图标资源\n\n图标资源包含了组件库内置的 `100+` 图标。\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n","isInternal":false,"tokens":237,"sizeBytes":836},{"name":"extension.en-US.md","path":"packages/varlet-ui/docs/extension.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/extension.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# VSCode Extension\n\n### Intro\n\nFor a better development experience, we built a `VSCode plugin`.\n\n### Features\n\n- 🛠️ &nbsp;Support syntax hints and quick completion for all components.\n- 🛠️ &nbsp;Support document address preview and quick jump for all components.\n- 🛠️ &nbsp;Support frame selection of code snippets to quickly open `Playground`.\n- 🛠️ &nbsp;Support full icon preview for icon components.\n- 🌍 &nbsp;Support switching between Chinese and English.\n\n### Install\n\nVsCode Extension Marketplace Search [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension).\n\n### How To Use\n\nGrammatical hints appear when you enter the keyword of the component name, and you can quickly complete it after selecting it.\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nMoving the mouse to the component name will display the document address of the component, which can be clicked to jump, and it also directly displays the properties, events and slots of the component in the form of a table.\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nPress space or attribute keywords in the attribute input range of the label to display attribute completion prompts and attribute information.\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nWhen the `name` property of the `Icon` component is input, an icon preview will appear, and syntax completion will be performed after selection.\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nFrame the code snippet, and you can quickly open `Playground` in the right-click menu to preview the framed code online.\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nSupport switching between Chinese and English, more friendly to Chinese people.\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n","isInternal":false,"tokens":601,"sizeBytes":2355},{"name":"extension.zh-CN.md","path":"packages/varlet-ui/docs/extension.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/extension.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# VSCode 插件\n\n### 介绍\n\n为了更优秀的开发体验，我们构建了一个 `VSCode 插件`。\n\n### 特性\n\n- 🛠️ &nbsp;支持全组件的语法提示、快速补全。\n- 🛠️ &nbsp;支持全组件的文档地址预览、快速跳转。\n- 🛠️ &nbsp;支持框选代码片段，快速打开 `Playground`。\n- 🛠️ &nbsp;支持图标组件的全图标预览。\n- 🌍 &nbsp;支持中英文切换。\n\n### 安装\n\nVsCode 插件市场搜索 [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension)。\n\n### 如何使用\n\n输入组件名称关键字时出现语法提示，选中后进行快速补全。\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n鼠标移动到组件名会显示组件的文档地址用来点击跳转，也直接以表格的形式展示组件的属性、事件和插槽。\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n在标签的属性输入范围按下空格或属性关键字，显示属性补全提示和属性信息。\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n输入 `Icon` 组件的 `name` 属性时出现图标预览，选中后进行语法补全。\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n框选代码片段，右键菜单中可以快速打开 `Playground` 对框选的代码进行线上预览。\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n支持中英文切换，对中国人更加友好。\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n\n","isInternal":false,"tokens":685,"sizeBytes":2028},{"name":"home.en-US.md","path":"packages/varlet-ui/docs/home.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/home.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Basic Introduce\n\n### Intro\n\nVarlet is a `Vue3` component library based on Material Design 2 and 3, supporting mobile and desktop, developed and maintained by `varletjs` organization.\n\n### Features\n\n- 🚀 &nbsp; Provide 60+ high quality general purpose components\n- 🚀 &nbsp; Components are very lightweight\n- 💪 &nbsp; Developed by Chinese, complete Chinese and English documentation and logistics support\n- 🛠️ &nbsp; Support on-demand introduction\n- 🛠️ &nbsp; Support theme customization\n- 🌍 &nbsp; Support internationalization\n- 💡 &nbsp; Support WebStorm syntax highlighting\n- 💪 &nbsp; Support the SSR\n- 📦 &nbsp; Support [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; Support the Typescript\n- 💪 &nbsp; Make sure more than 90 percent unit test coverage, providing stability assurance\n- 🎨 &nbsp; Supports both Material Design 2 and Material Design 3 design systems\n- 🛠️ &nbsp; Support dark mode\n- 🔧 &nbsp; Provide official VSCode extension\n- ⌨️ &nbsp; Support Accessibility (still improving)\n\n\n### Official Ecosystem\n\nThe following projects are maintained by the official team for a long time.\n\n| Name | Description |\n|------------------------------------------------------------------------------------------------------|--------------------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli) | `Vue3 component library rapid prototyping tool` |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `Desktop adapter, so that the mobile component library can run on the desktop` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground) | `Varlet component library online editing tool` |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | `A resolver for` [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) ` used to implement Varlet and import it on demand`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | [UnoCss](https://unocss.dev/) `presets for varlet` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | [tailwindcss](https://tailwindcss.com/) `presets for varlet` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `Theme generator for generating theme variables for varlet Material Design 3` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension) | `Varlet Component Library VSCode Plugin` |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode Theme`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet component library app template`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Case collection of Varlet component library and various ecosystem integration` |\n\n### Community Ecosystem\n\nThe following projects are maintained by community personnel, welcome to add.\n\n| Name | Description |\n|----------------------------------------------------------------|-----------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `Vue-based mobile template scaffolding, providing mobile presets for Varlet component library` |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `A desktop template scaffolding based on Vue3, providing desktop presets for Varlet component library` |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `A VS Code extension that provides better intellisense to Varlet developers` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `A mobile template based on Vue 3 and Varlet Component Library` |\n\n### PR & Issue\nIf you have any problems during use, you can [issue](https://github.com/varletjs/varlet/issues) them to us on [github](https://github.com/varletjs/varlet),\nwe will deal with it as soon as possible. You can also give us [PR](https://github.com/varletjs/varlet/pulls).\n\n### Open source licenses\nComponent library based on `MIT` licenses.\n\n### Contribution Guide\nSee [Varlet Contribution](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md).\n\n### Thanks to contributors\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### Thanks to the following sponsors\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","isInternal":false,"tokens":1251,"sizeBytes":5049},{"name":"home.zh-CN.md","path":"packages/varlet-ui/docs/home.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/home.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 基本介绍\n\n### 介绍\n\nVarlet 是一个 `Vue3` 组件库，基于 Material Design 2 和 3，支持移动端、桌面端，由 `varletjs` 组织维护。\n\n### 特性\n\n- 🚀 &nbsp; 提供 60+ 个高质量通用组件\n- 🚀 &nbsp; 组件十分轻量\n- 💪 &nbsp; 由国人开发，完善的中英文文档和后勤保障\n- 🛠️ &nbsp; 支持按需引入\n- 🛠️ &nbsp; 支持主题定制\n- 🌍 &nbsp; 支持国际化\n- 💡 &nbsp; 支持 webstorm 组件属性高亮\n- 💪 &nbsp; 支持 SSR\n- 📦 &nbsp; 支持 [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; 支持 Typescript\n- 💪 &nbsp; 确保 90% 以上单元测试覆盖率，提供稳定性保证\n- 🎨 &nbsp; 同时支持 Material Design 2 和 Material Design 3 两套设计系统\n- 🛠️ &nbsp; 支持暗黑模式\n- 🔧 &nbsp; 提供官方的 VSCode 插件\n- ⌨️ &nbsp; 支持无障碍访问（持续改进中）\n\n### 官方生态\n\n以下项目由官方团队长期维护。\n\n| 名称                                                                                                   | 描述                       |\n|------------------------------------------------------------------------------------------------------|--------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli)                       | `Vue3 组件库快速成型工具`         |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `桌面端适配器，让移动端组件库可以在桌面端运行` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground)  | `Varlet 组件库在线编辑工具`       |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) `的一个解析器，用于实现 Varlet 按需引入`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | `varlet 的` [UnoCss](https://unocss.dev/) `预设` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | `varlet 的` [tailwindcss](https://tailwindcss.com/) `预设` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `主题生成器，用于为 varlet material design 3 生成主题变量` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension)  | `Varlet 组件库 VSCode 插件`   |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode 主题`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet 组件库移动端模板`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Varlet 组件库与各种生态集成的案例集合`   |\n\n### 社区生态\n\n以下项目由社区人员维护，欢迎补充。\n\n| 名称                                                             | 描述                                        |\n|----------------------------------------------------------------|-------------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `基于 Vue 的移动端模板脚手架，提供了 Varlet 组件库的移动端预设`   |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `基于 Vue3 的桌面端模板脚手架，提供了 Varlet 组件库的桌面端预设`  |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `为 Varlet 开发人员提供更好的智能感知的 VSCode 扩展` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `基于 Vue 3 和 Varlet 组件库的移动模板` |\n\n### PR & Issue\n使用过程中出现的问题可以到 [github](https://github.com/varletjs/varlet) 来给我们提 [issue](https://github.com/varletjs/varlet/issues)，\n我们会在第一时间处理问题。也可以给我们提 [PR](https://github.com/varletjs/varlet/pulls)，我们也十分欢迎小伙伴们来参与贡献。\n\n### 开源协议\n组件库基于 `MIT` 协议。\n\n### 贡献指南\n详情见 [Varlet 贡献指南](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md)。\n\n### 感谢贡献者们做出的努力\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### 感谢以下赞助者\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>","isInternal":false,"tokens":1542,"sizeBytes":4981},{"name":"importOnDemand.en-US.md","path":"packages/varlet-ui/docs/importOnDemand.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/importOnDemand.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Import On Demand\n\n### Intro\n\nOn-demand import avoids the full import of components, which can effectively reduce the size of the release package.\n\n### Automatic Import\n\nvia plugin\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) and\n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\nImplement components to automatically import on demand, This is our most recommended way.\n\n#### Install Plugin\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript configuration note\n\nIn order to get good IDE syntax highlighting, \nplease make sure that the type declaration files generated by the above two plugins are include by `typescript`,\nwhich can be configured as follows in `tsconfig.json`:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### Manual import\n\nEach component is a `Vue plugin` and consists of `component logic` and `style files`, which are manually imported and used as follows.\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\nOR\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>Say Hello</var-button>\n</template>\n```\n\n### Manual import and automatic import comparison\n\nManual import\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```\n\nAutomatic import\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```","isInternal":false,"tokens":784,"sizeBytes":3276},{"name":"importOnDemand.zh-CN.md","path":"packages/varlet-ui/docs/importOnDemand.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/importOnDemand.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 按需引入\n\n### 介绍\n\n按需引入避免了组件的全量导入，可以有效的减少发布包的大小。\n\n### 自动引入\n\n通过插件\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 和 \n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\n实现组件自动按需导入，这也是我们最推荐的方式。\n\n#### 安装插件\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript 配置注意\n\n为了得到良好的 IDE 语法高亮，请确保上述两个插件生成的类型声明文件被 `typescript` 识别，可在 `tsconfig.json` 中进行如下配置:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### 手动引入\n\n每一个组件都是一个 `Vue插件`，并由 `组件逻辑` 和 `样式文件` 组成，手动引入的使用方式如下。\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\n或\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>说你好</var-button>\n</template>\n```\n\n### 手动引入和自动引入对比\n\n#### 手动引入\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```\n\n#### 自动引入\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```","isInternal":false,"tokens":859,"sizeBytes":3156},{"name":"migrationGuide.en-US.md","path":"packages/varlet-ui/docs/migrationGuide.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/migrationGuide.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Migrating from 2.x\n\n### Intro\n\nThis section mainly introduces the considerations for migrating from `2.x` to `3.x`\n\n### Component function changes\n\n- DatePicker component removes compatibility with `headerColor` property\n- TimePicker component removes compatibility with `headerColor` property\n- ImagePreview component removes compatibility with `current` property\n- Chip component removed compatibility with `closable` property\n- Progress component removed compatibility with `ripple` property\n- IndexBar component removes compatibility with `cssMode` property\n- LoadingBar component removed compatibility with `mergeConfig` method\n\n### Component style variable changes\n\nIn order to make component style definition easier and support `Material Design 3`, the `3.x` version has restructured the style variables of the component library and added some new basic style variables.\n\n| Variable  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\nHere are some variables that may affect the appearance of your page.\n\n- DatePicker \n\n  - `--picker-header-padding` change to `--date-picker-header-padding`\n  - `--picker-header-color` change to `--date-picker-header-color`\n  - `--picker-actions-padding` change to `--date-picker-actions-padding`\n\n- Pagination\n\n  Remove\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  Remove\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  Remove `--progress-ripple-color`\n\n- Select/Input\n\n  The component has undergone a major refactoring and supports hint animation when the prepend icon exists.\n  \n  | Removed Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | Added Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","isInternal":false,"tokens":1101,"sizeBytes":4463},{"name":"migrationGuide.zh-CN.md","path":"packages/varlet-ui/docs/migrationGuide.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/migrationGuide.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 从 2.x 迁移\n\n### 介绍\n\n本节主要介绍从 `2.x` 迁移至 `3.x` 的注意事项\n\n### 组件功能变更\n\n- DatePicker 组件移除了对 `headerColor` 属性的兼容\n- TimePicker 组件移除了对 `headerColor` 属性的兼容\n- ImagePreview 组件移除了对 `current` 属性的兼容\n- Chip 组件移除了对 `closable` 属性的兼容\n- Progress 组件移除了对 `ripple` 属性的兼容\n- IndexBar 组件移除了对 `cssMode` 属性的兼容\n- LoadingBar 组件移除了对 `mergeConfig` 方法的兼容\n\n### 组件样式变量变更\n\n为了使组件样式定义更加容易，并且支持 `Material Design 3`，`3.x` 版本对组件库的样式变量进行了一次重构，新增了一些基础样式变量。\n\n| 变量名  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\n以下列举了一些可能会影响页面样式的变量变更。\n\n- DatePicker \n\n  - `--picker-header-padding` 变更为 `--date-picker-header-padding`\n  - `--picker-header-color` 变更为 `--date-picker-header-color`\n  - `--picker-actions-padding` 变更为 `--date-picker-actions-padding`\n\n- Pagination\n\n  移除\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  移除\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  移除 `--progress-ripple-color`\n\n- Select/Input\n\n  组件进行了一次较大的重构，支持了前置图标存在时的占位符 (hint) 动画\n  \n  | 移除变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | 新增变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |","isInternal":false,"tokens":1228,"sizeBytes":4299},{"name":"quickstart.en-US.md","path":"packages/varlet-ui/docs/quickstart.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/quickstart.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Quick Start\n\n### Intro\n\nHere are the most basic ways to access component libraries in common development patterns.\n\n### Install\n\n#### CDN\n\n`varlet.js` contain all the styles and logic of the component library, and you can import them.\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>Button</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# Install with npm, yarn or pnpm\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### Support Desktop\n\n`Varlet` is a mobile-first component library. To support desktop, you need to install an adapter. See [browser adaptation](#/en-US/browserAdaptation) for details.\n\n### Choose a design system\n\nStarting from version 3.x, Varlet supports both Material Design 2 and Material Design 3 design systems.\n\n```js\n// playground-ignore\n// Varlet defaults to Material Design 2 light mode\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 Dark Mode\nStyleProvider(Themes.dark)\n// Material Design 3 Light Mode\nStyleProvider(Themes.md3Light)\n// Material Design 3 Dark Mode\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### Components Playground\n\nWe provide a web version of the component editor,\nwhich is convenient for you to quickly get started with each component of the component library,\nedit it online, share it with others, or download the code package to run locally.\nYou can click the `{...}` icon in the upper right corner of the page or [go here](https://varletjs.org/playground).","isInternal":false,"tokens":536,"sizeBytes":2134},{"name":"quickstart.zh-CN.md","path":"packages/varlet-ui/docs/quickstart.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/quickstart.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 快速开始\n\n### 介绍\n\n这里为您介绍常见开发模式下接入组件库的最基本方式。\n\n### 安装\n\n#### CDN\n\n`varlet.js` 包含组件库的所有样式和逻辑, 引入即可。\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>按钮</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# 通过 npm、yarn 或 pnpm 安装\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### 支持桌面端\n\n`Varlet` 是一个移动端优先的组件库，支持桌面端需要安装一个适配器，详情见[浏览器适配](#/zh-CN/browserAdaptation)。\n\n### 选择设计系统\n\n从 3.x 版本开始，Varlet 同时支持了 Material Design 2 和 Material Design 3 两种设计系统。\n\n```js\n// playground-ignore\n// Varlet 默认为 Material Design 2 亮色模式\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 暗色模式\nStyleProvider(Themes.dark)\n// Material Design 3 亮色模式\nStyleProvider(Themes.md3Light)\n// Material Design 3 暗色模式\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### 在线体验组件\n\n我们提供了网页版的组件编辑器，方便您对组件库的各个组件进行快速上手、在线编辑、分享给他人或是下载代码包本地运行。\n您可以点击网页右上角的 `{...}` 图标或是 [这里前往](https://varletjs.org/playground)。","isInternal":false,"tokens":618,"sizeBytes":2017},{"name":"serverSideRendering.en-US.md","path":"packages/varlet-ui/docs/serverSideRendering.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/serverSideRendering.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Server Side Rendering\n\n### Intro\n\nHere we introduce you to the basic way of introducing `Varlet` into `Nuxt`.\n\n### Create a Nuxt project\n\n`Nuxt.js` is a server-side rendering application framework based on `Vue.js`. For detailed tutorials, please go to [Nuxt](https://nuxt.com).\n\n### Nuxt Module\n\nThe first party of the component library provides [Varlet Nuxt Module](https://nuxt.com/modules/varlet) to support on-demand import and automatic import. Execute the following command to install it. After successful installation, nuxt related configuration will be automatically completed.\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### Example Repo\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","isInternal":false,"tokens":176,"sizeBytes":772},{"name":"serverSideRendering.zh-CN.md","path":"packages/varlet-ui/docs/serverSideRendering.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/serverSideRendering.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 服务端渲染\n\n### 介绍\n\n这里为您介绍在 `Nuxt` 中引入 `Varlet` 的基本方式。\n\n### 创建 Nuxt 项目\n\n`Nuxt.js` 是一个基于 `Vue.js` 的服务端渲染应用框架，详细教程请移步 [Nuxt](https://nuxt.com)。\n\n### Nuxt Module\n\n组件库第一方提供了 [Varlet Nuxt Module](https://nuxt.com/modules/varlet)。以支持按需引入和自动引入，执行下面的命令进行安装，安装成功后将自动完成 nuxt 相关配置。\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### 示例仓库\n\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n","isInternal":false,"tokens":213,"sizeBytes":654},{"name":"zodValidation.en-US.md","path":"packages/varlet-ui/docs/zodValidation.en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/zodValidation.en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Zod Validation\n\n### Intro\n\nWe support form validation based on [Zod](https://zod.dev/) in `3.5.0+`. \n`Zod` is a very powerful data validation tool and is very friendly to `Typescript`.\n\n### Install Zod\n\nIn order to control the size of the component library, we do not build-in `Zod`, so you need to install it manually.\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### Basic Usage\n\nThe `rules` property of each form component supports passing in one or more `Zod Schema`.\nThe component will use the rules of the `Schema` for validation, \nand when validation fails, the error message defined in it will be used as a user prompt.\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"z.string().min(1, 'Name required')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"z.string().email('Email format error')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"z.string().min(6, 'Password must be at least 6 characters')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[z.string().min(6, 'Confirmation password must be at least 6 characters'), v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### Use With Typescript\n\nIf you use `Typescript`, define a `Zod Schema` to get both Typescript types and form rules.\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, 'Name required'),\n  email: z.string().email('Email format error'),\n  password: z.string().min(6, 'Password must be at least 6 characters'),\n  repeatPassword: z.string().min(6, 'Confirmation password must be at least 6 characters'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","isInternal":false,"tokens":861,"sizeBytes":3405},{"name":"zodValidation.zh-CN.md","path":"packages/varlet-ui/docs/zodValidation.zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/docs/zodValidation.zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Zod 验证\n\n### 介绍\n\n我们在 `3.5.0+` 支持了基于 [Zod](https://zod.dev/) 的表单验证方式，`Zod` 是一个非常强大的数据验证工具，并且对 `Typescript` 十分友好。\n\n### 安装 Zod\n\n为了控制组件库的尺寸，我们不内置 `Zod`，所以需要手动安装。\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### 基本使用\n\n每个表单组件的 `rules` 属性支持传入一个或多个 `Zod Schema`。\n组件将使用该 `Schema` 的规则进行验证，验证失败时将使用其定义的错误信息作为用户提示。\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"z.string().min(1, '名称不能为空')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"z.string().email('邮箱格式有误')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"z.string().min(6, '密码最少6位')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[z.string().min(6, '密码最少6位'), v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### 结合 Typescript 使用\n\n如果您使用 `Typescript`，定义一个 `Zod Schema` 可以同时得到 Typescript 类型和表单 rules。\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, '名称不能为空'),\n  email: z.string().email('邮箱格式有误'),\n  password: z.string().min(6, '密码最少6位'),\n  repeatPassword: z.string().min(6, '确认密码最少6位'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```","isInternal":false,"tokens":891,"sizeBytes":3242},{"name":"en-US.md","path":"packages/varlet-ui/src/action-sheet/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/action-sheet/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# ActionSheet\n\n### Intro\n\nAn action sheet pops up to give the user the ability to select options.\n`ActionSheet` Functional and component use methods are provided, and there is no essential difference between the two effects and parameters.\nThe function returns a `Promise`, on selection return `action`. Click modal close to return `close`.\n\n## Function Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">Basic Use</var-button>\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    title: 'Choose whichever you like'\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Modify Title</var-button>\n</template>\n```\n\n### Action Disabled\n\nThe option is passed `disabled` to leave the action in the disabled state.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({\n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Action Disabled</var-button>\n</template>\n```\n\n### Disable Close On Click Action\n\nPassing in `CloseOnClickAction` disallows the action of `ActionSheet` closing automatically when the option is selected. The user can select the action multiple times. Because `Promise` is only resolved once, it is recommended to use `onSelect` to listen for the action of the user.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`Your selected is:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Disable Close On Click Action</var-button>\n</template>\n```\n\n### Custom Action Styles\n\nOptions provide parameters to configure the style. See the `Action` data structure for options.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Custom Action Styles</var-button>\n</template>\n```\n\n## Component Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Basic Usage</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Modify Title</var-button>\n  <var-action-sheet \n    title=\"Choose whichever you like\" \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Action Disabled\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Action Disabled</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Disable Close On Click Action\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Disable close on click action</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Custom Action Styles\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Custom Action Styles</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### Props\n\n| Prop                     | Description                                                                                                    | Type                  | Default      |\n| ------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------- | ------------ |\n| `v-model:show`           | Whether to display the action sheet                                                                            | _boolean_             | `false`      |\n| `actions`                | Action list                                                                                                    | _Actions_             | `[]`         |\n| `title`                  | Action sheet title                                                                                             | _string_              | `Select One` |\n| `overlay`                | Whether to display the overlay                                                                                 | _boolean_             | `true`       |\n| `overlay-class`          | Custom overlay class                                                                                           | _string_              | `-`          |\n| `overlay-style`          | Custom overlay style                                                                                           | _object_              | `-`          |\n| `lock-scroll`            | Whether to disable scrolling penetration, scrolling the Dialog when disabled will not cause the body to scroll | _boolean_             | `true`       |\n| `close-on-click-action`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `close-on-click-overlay` | Whether to click the overlay to close the action sheet                                                         | _boolean_             | `true`       |\n| `close-on-key-escape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `teleport`               | The location of the action sheet to mount                                                                      | _TeleportProps['to'] \\| false_ | `body`          |\n\n### Events\n\n| Event           | Description                                          | Arguments        |\n| --------------- | ---------------------------------------------------- | ---------------- |\n| `select`        | Triggered when selecting an action sheet                  | `action: Action` |\n| `open`          | Triggered when opening an action sheet              | `-`              |\n| `opened`        | Triggered when an action sheet open-animation ends  | `-`              |\n| `close`         | Triggered when closing an action sheet            | `-`              |\n| `closed`        | Triggered when an action sheet close-animation ends | `-`              |\n| `click-overlay` | Triggered when clicking on overlay                  | `-`              |\n| `key-escape` | Triggered when click keyboard ESC  | `-` |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `ActionSheet` | Show action sheet | _options \\| string_ | `-` |\n| `ActionSheet.close` | Close action sheet | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | Set default option configuration | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | Reset default option configuration | _-_ | `-` |\n\n### ActionSheet Options\n\n#### Options passed in for a functional call\n\n| Option                  | Description                                                                                                          | Type                       | Default      |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------ |\n| `title`               | Action sheet title                                                                                                   | _string_                   | `Select One` |\n| `overlay`             | Whether to display the overlay                                                                                       | _boolean_                  | `true`       |\n| `overlayClass`        | Custom overlay class                                                                                                 | _string_                   | `-`          |\n| `overlayStyle`        | Custom overlay style                                                                                                 | _object_                   | `-`          |\n| `lockScroll`          | Whether to disable scrolling penetration, scrolling the action sheet when disabled will not cause the body to scroll | _boolean_                  | `true`       |\n| `closeOnClickAction`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `closeOnClickOverlay` | Whether to click the overlay to close the action sheet                                                               | _boolean_                  | `true`       |\n| `closeOnKeyEscape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `onOpen`              | Action sheet open callback                                                                                           | _() => void_               | `-`          |\n| `onOpened`            | Action sheet open-animation ends callback                                                                            | _() => void_               | `-`          |\n| `onClose`             | Action sheet close callback                                                                                          | _() => void_               | `-`          |\n| `onClosed`            | Action sheet close-animation ends callback                                                                           | _() => void_               | `-`          |\n| `onSelect`            | Action sheet click action callback                                                                                   | _(action: Action) => void_ | `-`          |\n| `onClickOverlay`      | Click overlay callback                                                                                               | _() => void_               | `-`          |\n| `onKeyEscape` | Triggered when click keyboard ESC  | _() => void_  | `-` |\n\n### ActionSheet Action\n\n| Prop        | Description                         | Type      | Default |\n| ----------- | ----------------------------------- | --------- | ------- |\n| `name`      | Action name                         | _string_  | `-`     |\n| `color`     | Action text color                   | _string_  | `-`     |\n| `icon`      | Icon, support network image address, VNode, or render function | _string \\| VNode \\| () => VNode_  | `-`     |\n| `iconSize`  | Icon size                           | _string_  | `-`     |\n| `namespace` | Icon namespace | _string_ | `-` |\n| `className` | Class name                          | _string_  | `-`     |\n| `disabled`  | Disable or not option               | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --------- | ------------------ | --------- |\n| `actions` | Action list        | `-`       |\n| `title`   | Action sheet title | `-`       |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable                                    | Default                      |\n| ------------------------------------------- | ---------------------------- |\n| `--action-sheet-border-radius`              | `2px`                        |\n| `--action-sheet-border-top`                 | `none`                       |\n| `--action-sheet-background`                 | `#fff`                       |\n| `--action-sheet-title-color`                | `#888`                       |\n| `--action-sheet-title-padding`              | `10px 16px`                  |\n| `--action-sheet-title-font-size`            | `14px`                       |\n| `--action-sheet-action-item-height`         | `48px`                       |\n| `--action-sheet-action-item-padding`        | `0px 18px`                   |\n| `--action-sheet-action-item-color`          | `#333`                       |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin`                | `0 0 20px 0`                 |\n| `--action-sheet-icon-size`                  | `24px`                       |\n","isInternal":false,"tokens":3776,"sizeBytes":17021},{"name":"zh-CN.md","path":"packages/varlet-ui/src/action-sheet/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/action-sheet/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 动作面板\n\n### 介绍\n\n弹出一个动作面板提供用户选择选项的能力。\n`ActionSheet` 提供了函数式和组件式两种使用方式，两种使用效果和参数并没有本质区别。\n函数返回一个 `Promise`，选择时返回 `当前选择的 action`，点击遮罩层关闭返回 `close`。\n\n## 函数调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">基本使用</var-button>\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ],\n    title: '选择一个你喜欢的吧' \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">修改标题</var-button>\n</template>\n```\n\n### 禁用选项\n\n选项传入 `disabled` 可以使选项处于禁用状态。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用选项</var-button>\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n方法传入 `closeOnClickAction` 可以禁用在选择选项时 `ActionSheet` 自动关闭的行为，用户可以多次选择，\n由于 `Promise` 只会被 `resolve` 一次，所以推荐使用 `onSelect` 监听用户选择行为。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`您选择的是:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用关闭动作面板</var-button>\n</template>\n```\n\n### 自定义选项样式\n\n选项提供了可以配置样式的参数，具体选项的参数可选项见 `Action 的数据结构`。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">自定义选项样式</var-button>\n</template>\n```\n\n## 组件调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">基本使用</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">修改标题</var-button>\n  <var-action-sheet \n    title=\"选择一个你喜欢的吧\"\n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用选项\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用选项</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用点击选项时关闭动作面板</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 自定义选项样式\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">自定义选项样式</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `v-model:show` | 是否显示动作面板 | _boolean_ | `false` |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlay-class` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlay-style` | 自定义遮罩层的 style | _object_ | `-` |\n| `lock-scroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `close-on-click-action` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `close-on-click-overlay` | 是否点击遮罩层关闭动作面板 | _boolean_ | `true` |\n| `close-on-key-escape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true` |\n| `safe-area`   | 是否开启底部安全区适配      | _boolean_             | `false`  |\n| `teleport` | 动作面板挂载的位置 | _TeleportProps['to'] \\| false_ | `body` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `select` | 选择选项时触发 | `action: Action` |\n| `open` | 打开动作面板时触发 | `-` |\n| `opened` | 打开动作面板动画结束时触发 | `-` |\n| `close` | 关闭动作面板时触发 | `-` |\n| `closed` | 关闭动作面板动画结束时触发 | `-` |\n| `click-overlay` | 点击遮罩层时触发 | `-` |\n| `key-escape` | 点击键盘 ESC 时触发 | `-` |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `ActionSheet` | 显示动作面板 | _options_ | `-` |\n| `ActionSheet.close` | 关闭动作面板 | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | 设置默认的选项配置 | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | 重置默认的选项配置 | _-_ | `-` |\n\n### ActionSheet Options\n\n#### 函数式调用时传入的选项\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlayClass` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlayStyle` | 自定义遮罩层的 style | _object_ | `-` |\n| `lockScroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `closeOnClickAction` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `closeOnClickOverlay` | 是否点击遮罩层关闭弹出层 | _boolean_ | `true` |\n| `closeOnKeyEscape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true`\n| `safe-area`              | 是否开启底部安全区适配\t                                     | _boolean_             | `false`  |\n| `onOpen` | 动作面板开启回调 | _() => void_ | `-` |\n| `onOpened` | 动作面板开启动画结束回调 | _() => void_ | `-` |\n| `onClose` | 动作面板关闭回调 | _() => void_ | `-` |\n| `onClosed` |动作面板关闭动画结束回调 | _() => void_ | `-` |\n| `onSelect` | 选项选择时回调 | _(action: Action) => void_ | `-` |\n| `onClickOverlay` | 遮罩层点击回调 | _() => void_ | `-` |\n| `onKeyEscape` | 点击键盘 ESC 时触发 | _() => void_ | `-` |\n\n### ActionSheet Action\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `name` | 选项名称 | _string_ | `-` |\n| `color` | 选项文字颜色 | _string_ | `-` |\n| `icon` | icon 图标，支持网络图片地址、VNode 或渲染函数 | _string \\| VNode \\| () => VNode_ | `-` |\n| `iconSize` | 图标尺寸 | _string_ | `-` |\n| `namespace` | 图标命名空间 | _string_ | `-` |\n| `className` | 选项附加类名 | _string_ | `-` |\n| `disabled` | 是否禁用选项 | _boolean_ | `false` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `actions` | 选项列表 | `-` |\n| `title` | 动作面板标题 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--action-sheet-border-radius` | `2px` |\n| `--action-sheet-border-top` | `none` |\n| `--action-sheet-background` | `#fff` |\n| `--action-sheet-title-color` | `#888` |\n| `--action-sheet-title-padding` | `10px 16px` |\n| `--action-sheet-title-font-size` | `14px` |\n| `--action-sheet-action-item-height` | `48px` |\n| `--action-sheet-action-item-padding` | `0px 18px` |\n| `--action-sheet-action-item-color` | `#333` |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin` | `0 0 20px 0` |\n| `--action-sheet-icon-size` | `24px` |\n","isInternal":false,"tokens":3983,"sizeBytes":12509},{"name":"en-US.md","path":"packages/varlet-ui/src/alert/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/alert/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Alert\n\n### Intro\n\nAlerts display brief messages for the user without interrupting their use.\n\n### Title\n\n```html\n<template>\n  <var-alert title=\"Pride And Prejudice\" />\n</template>\n```\n\n### Message\n\n```html\n<template>\n  <var-alert message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\" />\n</template>\n```\n\n### Type \n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"success\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"warning\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"danger\"\n    />\n  </var-space>\n</template>\n```\n\n### Variant\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert\n      variant=\"outlined\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n  </var-space>\n</template>\n```\n\n### Custom Icon\n\n```html\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### Allow To Close\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    closeable\n    @close=\"show = false\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n\n## API\n\n### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `type` | Type, optional values are `info`, `success`, `warning`, `danger` | _string_ | `info` | \n| `variant`   | Variant, optional values are `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | Background color | string | `-` | \n| `title` | Title | string | `-` | \n| `message` | Message | string | `-` | \n| `elevation` | Elevation, optional values are true, false, and levels from 0-24 | _string \\| number \\| boolean_ | `false` | \n| `closeable` | Whether the alert is closeable | boolean | `false` | \n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | The message of alert | `-` |\n| `content` | The content of alert | `-` |\n| `title`   | The title of alert | `-` |\n| `icon` | The prepend icon of alert | `-` |\n| `close-icon`   | The close icon of alert | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `close` | Triggered when the Close button is clicked and can only be used when the Close button is displayed | `event: Event` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n|-----------------------------| --- |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |","isInternal":false,"tokens":1618,"sizeBytes":5720},{"name":"zh-CN.md","path":"packages/varlet-ui/src/alert/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/alert/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 警告信息\n\n### 介绍\n\n警告信息组件会向用户显示简短的消息，但不会中断他们的使用。\n\n### 标题\n\n```html\n<template>\n  <var-alert title=\"傲慢与偏见\" />\n</template>\n```\n\n### 信息\n\n```html\n<template>\n  <var-alert message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\" />\n</template>\n```\n\n### 类型\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"success\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      type=\"warning\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert\n      type=\"danger\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 变体\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n    <var-alert \n      variant=\"outlined\"\n      title=\"傲慢与偏见\" \n      message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    />\n  </var-space>\n</template>\n```\n\n### 自定义图标\n\n```html\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### 允许关闭\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"傲慢与偏见\" \n    message=\"我也说不准是在什么时间，什么地点，看见你的什么神情，听见你的什么言语，便开始爱上了你。\"\n    closeable\n    @close=\"show = false\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `info` `success` `warning` `danger` | _string_ | `info` |\n| `variant`      | 变体，可选值为 `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | 背景色 | _string_ | `-` |\n| `title` | 标题 | _string_ | `-` |\n| `message`  | 信息 | _string_ | `-` |\n| `elevation`  | 海拔高度，可选值为 `true`、`false` 和 `0-24` 的等级  | _string \\| number \\| boolean_ | `false`  |\n| `closeable` | 是否为可关闭警告 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 警告信息 | `-` |\n| `content` | 警告内容 | `-` |\n| `title`   | 警告标题 | `-` |\n| `icon` | 警告的前置图标 | `-` |\n| `close-icon`   | 警告的关闭图标 | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `close` | 点击关闭按钮时触发，只有在显示关闭按钮的时候才能使用 | `event: Event`  |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                         | 默认值 |\n|-----------------------------  | ---   |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |\n","isInternal":false,"tokens":1924,"sizeBytes":5625},{"name":"en-US.md","path":"packages/varlet-ui/src/app-bar/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/app-bar/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# AppBar\n\n### Intro\n\nProvide navigation function for the page, often used at the top of the page.\n\n### Basic Usage\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Use Border Radius\n\nTurn on rounded border with the `round` prop.\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Large Size\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Add Left And Right Slot\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Surface App Bar\n\nUse `type=\"surface\"` for a low-emphasis surface appearance, suitable for desktop and admin pages.\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### Custom Content\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n        <var-tab>OPTION</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop             | Description                                          | Type | Default |\n|------------------|------------------------------------------------------| --- |---------|\n| `color`          | Background                                           | _string_ | `-`     |\n| `text-color`     | Text color                                           | _string_ | `-`     |\n| `type` ***3.18.0*** | AppBar type, can be set to `primary` `surface`       | _string_ | `primary` |\n| `size` ***3.18.0*** | Size, can be set to `normal` `large`                | _string_ | `normal` |\n| `title`          | Title                                                | _string_ | -       |\n| `title-position` | Title location, can be set to `left`, `center`, `right` | _string_ | `left`  |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | Whether to fixed to the top     | _boolean_ | `false` |\n| `placeholder` ***3.2.14***  | Whether to generate placeholder elements of the same height at the top (`fixed` required)  | _boolean_ | `false` |\n| `z-index`          | AppBar element z-index                            | _number \\| string_ | `1` |\n| `round`          | Whether to use rounded border                        | _boolean_ | `false` |\n| `border` ***3.3.2***          | Whether to use bottom border                            | _boolean_ | `false` |\n| `image`          | Background image                            | _string_ | `-` |\n| `image-linear-gradient` | Background image linear gradient | _string_ | `-` |\n| `safe-area-top` | Whether to enable top safe area adaptation | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description                                                 | SlotProps |\n| --- |-------------------------------------------------------------| --- |\n| `default` | Customize the title content to override the `title` content | `-` |\n| `left` | Insert the content to the left of the app bar               | `-` |\n| `right` | Insert the content to the right of the app bar              | `-` |\n| `content` | Insert the content to the extra content of the app bar   | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--app-bar-color` | `var(--color-primary)` |\n| `--app-bar-text-color` | `#fff` |\n| `--app-bar-height` | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap` | `6px` |\n| `--app-bar-right-gap` | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","isInternal":false,"tokens":1938,"sizeBytes":7205},{"name":"zh-CN.md","path":"packages/varlet-ui/src/app-bar/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/app-bar/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 导航栏\n\n### 介绍\n\n为页面提供导航功能，常用于页面顶部。\n\n### 基本使用\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 开启圆角\n\n通过 `round` 属性开启圆角。\n\n```html\n<template>\n  <var-app-bar round>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 大尺寸\n\n```html\n<template>\n  <var-app-bar size=\"large\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 添加左右插槽\n\n```html\n<template>\n  <var-app-bar>\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 弱背景色\n\n通过 `type=\"surface\"` 使用弱背景色外观，适合桌面端或中后台页面。\n\n```html\n<template>\n  <var-app-bar type=\"surface\" :elevation=\"false\">\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n### 扩展内容\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-app-bar\n    round\n    image=\"https://varletjs.org/tree.jpeg\"\n    image-linear-gradient=\"to right top, rgba(29, 68, 147, 0.5) 0%, rgba(74, 198, 170, 0.9) 100%\"\n  >\n    <template #left>\n      <var-button round text>\n        <var-icon name=\"arrow-left\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #right>\n      <var-button round text>\n        <var-icon name=\"magnify\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"heart\" :size=\"24\" />\n      </var-button>\n      <var-button round text>\n        <var-icon name=\"dots-vertical\" :size=\"24\" />\n      </var-button>\n    </template>\n\n    <template #content>\n      <var-tabs\n        style=\"margin-top: 100px\"\n        color=\"transparent\"\n        active-color=\"#fff\"\n        inactive-color=\"#ddd\"\n        v-model:active=\"active\"\n      >\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n        <var-tab>选项卡</var-tab>\n      </var-tabs>\n    </template>\n  </var-app-bar>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数               | 说明                                | 类型 | 默认值     |\n|------------------|-----------------------------------| ---- |---------|\n| `color`          | 背景颜色                              | _string_ | `-`     |\n| `text-color`     | 文字颜色                              | _string_ | `-`     |\n| `type` ***3.18.0*** | 外观类型，可选值为 `primary` `surface` | _string_ | `primary` |\n| `size` ***3.18.0*** | 尺寸，可选值为 `normal` `large` | _string_ | `normal` |\n| `title`          | 标题                                | _string_ | -       |\n| `title-position` | 标题位置，可选值为 `left` `center` `right` | _string_ | `left`  |\n| `elevation` | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `fixed`          | 是否固定到顶部                            | _boolean_ | `false` |\n| `placeholder`  ***3.2.14***   | 是否在顶部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `z-index`          | 元素 z-index                            | _number \\| string_ | `1` |\n| `round`          | 是否使用圆角                            | _boolean_ | `false` |\n| `border` ***3.3.2***          | 是否使用底部边框                            | _boolean_ | `false` |\n| `image`          | 背景图片                            | _string_ | `-` |\n| `image-linear-gradient` | 背景图片渐变色 | _string_ | `-` |\n| `safe-area-top` | 是否开启顶部安全区适配 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标题内容，会覆盖 `title` 的内容 | `-` |\n| `left` | 插入至导航栏左侧的内容 | `-` |\n| `right` | 插入至导航栏右侧的内容 | `-` |\n| `content` | 扩展内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名                       | 默认值 |\n|---------------------------| --- |\n| `--app-bar-color`         | `var(--color-primary)` |\n| `--app-bar-text-color`    | `#fff` |\n| `--app-bar-height`        | `54px` |\n| `--app-bar-large-height` | `64px` |\n| `--app-bar-surface-color` | `#fff` |\n| `--app-bar-surface-text-color` | `rgba(0, 0, 0, 0.87)` |\n| `--app-bar-surface-border-bottom` | `thin solid var(--color-outline)` |\n| `--app-bar-title-padding` | `0 12px` |\n| `--app-bar-title-font-size` | `var(--font-size-lg)` |\n| `--app-bar-left-gap`      | `6px` |\n| `--app-bar-right-gap`     | `6px` |\n| `--app-bar-border-radius` | `4px` |\n| `--app-bar-font-size` | `var(--font-size-lg)` |\n| `--app-bar-border-bottom` | `thin solid var(--color-outline)` |\n","isInternal":false,"tokens":2082,"sizeBytes":6949},{"name":"en-US.md","path":"packages/varlet-ui/src/auto-complete/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/auto-complete/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# AutoComplete\n\n### Intro\n\nAutocomplete function of input field.\n\n### Standard Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Outlined Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### Filled Variant\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  retu drn {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"Please enter text\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"Readonly\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"Disabled\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Clearable\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"Use the clear icon slot\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || 'Text length must be greater than 6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Validate With Zod\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, 'Text length must be greater than 6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"Display Icon\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Maxlength\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"Custom Menu Show Timing\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"Small Size\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### Props\n\n#### AutoComplete Props\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `v-model` | The value of the binding                   | _string_ | `-` |\n| `variant` | Input variants, The optional value is `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | Input size, The optional value is `normal` `small`     | _string_ | `normal` |\n| `placeholder` | placeholder          | _string_ | `-` |\n| `options`  | Specifies options | _AutoCompleteOption[]_ | `[]` |\n| `label-key` | As the key that uniquely identifies label | _string_ | `label` |\n| `value-key` | As the key that uniquely identifies value | _string_ | `value` |\n| `maxlength` | Maxlength               | _string \\| number_ | `-` |\n| `readonly` | Whether the readonly          | _boolean_ | `false` |\n| `disabled` | Whether the disabled             | _boolean_ | `false` |\n| `validate-trigger` | Timing to trigger validation, The optional value is `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput`                        | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | Validation rules, return `true` to indicate verification passes, other types of values ​​will be converted into text as user prompts. [Zod validation](#/en-US/zodValidation) is supported since `3.5.0` | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | Customize the enter key style, See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | Whether the clearable       | _boolean_ | `false` |\n| `line` | Whether to display a dividing line     | _boolean_ | `true` |\n| `hint` | Whether to use placeholder as hint       | _boolean_ | `true` |\n| `text-color` | Text color                     | _string_ | `-` |\n| `focus-color` | The primary color in focus  | _string_ | `-` |\n| `blur-color` | The primary color in blur      | _string_ | `-` |\n| `get-show` | Determine whether the menu is displayed according to the input value | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | Consistent with the tabindex property of native input  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| Prop | Description | Type | Default |\n| ------- | --- |----------------|-----------|\n| `label`    |   The text of option    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    The value of option    | _any_      | `-`   |\n| `disabled`    |    Whether to disable option   | _boolean_      | `-`   |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `focus` | Focus | `-` | `-` |\n| `blur` | Blur | `-` | `-` |\n| `validate` | Trigger validate | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | Clear validate messages | `-` | `-` |\n| `reset` | Clear the value of the binding and validate messages | `-` | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `focus` | Triggered while focusing | `-` |\n| `blur` | Triggered when out of focus | `-` |\n| `click` | Triggered on Click | `event: Event` |\n| `clear` | Triggered on Clearance | `value: string` |\n| `input` | Triggered on input | `value: string`, `event: Event` |\n| `change` | Triggered on change | `value: string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `prepend-icon` | Prepend Icon | `-` |\n| `append-icon` | Append Icon | `-` |\n| `clear-icon` | Clear Icon | `clear: (e: Event) => void` clear function (can be used to clear input box contents when using slots) |\n| `extra-message` | Extra message | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### AutoComplete Variables\n\n| Variable | Default |\n| --- | --- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\nFor style variables related to variant, please refer to the style variables of the [Input component](#/en-US/input#yang4shi4bian4liang4).\n","isInternal":false,"tokens":3648,"sizeBytes":13856},{"name":"zh-CN.md","path":"packages/varlet-ui/src/auto-complete/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/auto-complete/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 自动完成\n\n### 介绍\n\n输入框自动完成功能。\n\n### 标准外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value10.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 外边框外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"outlined\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"outlined\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"outlined\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"outlined\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"outlined\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"outlined\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"outlined\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n### 填充外观\n\n```html\n<script setup>\nimport { ref, computed } from 'vue'\nimport { z } from 'zod'\n\nconst { value, options } = useAutoComplete()\nconst { value: value2, options: options2 } = useAutoComplete()\nconst { value: value3, options: options3 } = useAutoComplete()\nconst { value: value4, options: options4 } = useAutoComplete()\nconst { value: value5, options: options5 } = useAutoComplete()\nconst { value: value6, options: options6 } = useAutoComplete()\nconst { value: value7, options: options7 } = useAutoComplete()\nconst { value: value8, options: options8 } = useAutoComplete()\nconst { value: value9, options: options9 } = useAutoComplete()\nconst { value: value10, options: options10 } = useAutoComplete()\nconst { value: value11, options: options11 } = useAutoComplete()\n\nfunction useAutoComplete() {\n  const value = ref('')\n  const options = computed(() =>\n    ['@qq.com', '@163.com', '@gmail.com'].map((suffix) => {\n      const [prefix] = value.value.split('@')\n      return {\n        label: `${prefix}${suffix}`,\n        value: `${prefix}${suffix}`,\n      }\n    })\n  )\n\n  return {\n    value,\n    options,\n  }\n}\n</script>\n\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-auto-complete variant=\"filled\" placeholder=\"请输入文本\" :options=\"options\" v-model=\"value\" />\n    <var-auto-complete variant=\"filled\" readonly placeholder=\"只读\" :options=\"options2\" v-model=\"value2\" />\n    <var-auto-complete variant=\"filled\" disabled placeholder=\"禁用\" :options=\"options3\" v-model=\"value3\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"可清除\" :options=\"options4\" v-model=\"value4\" />\n    <var-auto-complete variant=\"filled\" clearable placeholder=\"使用插槽自定义清除图标\" :options=\"options5\" v-model=\"value5\">\n      <template #clear-icon=\"{ clear }\">\n        <var-icon name=\"error\" @click=\"clear\" />\n      </template>\n    </var-auto-complete>\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"字段校验\"\n      :options=\"options6\"\n      :rules=\"v => v.length > 6 || '文本长度必须大于6'\"\n      v-model=\"value6\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"使用 Zod 进行校验\"\n      :options=\"options7\"\n      :rules=\"z.string().min(7, '文本长度必须大于6')\"\n      v-model=\"value7\"\n    />\n    <var-auto-complete variant=\"filled\" placeholder=\"显示图标\" :options=\"options8\" v-model=\"value8\">\n      <template #prepend-icon>\n        <var-icon class=\"prepend-icon\" name=\"github\" />\n      </template>\n      <template #append-icon>\n        <var-icon class=\"append-icon\" name=\"github\" />\n      </template>\n    </var-auto-complete>  \n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"最大长度\"\n      :maxlength=\"10\"\n      :options=\"options9\"\n      v-model=\"value9\"\n    />\n    <var-auto-complete\n      variant=\"filled\"\n      placeholder=\"自定义菜单显示时机\"\n      :get-show=\"(value) => value.length > 3\"\n      :options=\"options10\"\n      v-model=\"value10\"\n    />  \n    <var-auto-complete\n      variant=\"filled\"\n      size=\"small\"\n      placeholder=\"小尺寸\"\n      :options=\"options11\"\n      v-model=\"value11\"\n    />  \n  </var-space>\n</template>\n\n<style>\n.prepend-icon {\n  margin-right: 6px;\n}\n\n.append-icon {\n  margin-left: 6px;\n}\n</style>\n```\n\n## API\n\n### 属性\n\n#### AutoComplete Props\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `v-model` | 绑定的值 | _string_ | `-` |\n| `variant` | 输入框风格, 可选值为 `standard` `outlined` `filled`   | _string_ | `standard` |\n| `size` | 输入框尺寸，可选值 `normal` `small`              | _string_ | `normal` |\n| `placeholder` | 占位符                      | _string_ | `-` |\n| `options`  | 指定可选项 | _AutoCompleteOption[]_ | `[]` |\n| `label-key`  | 作为 label 唯一标识的键名 | _string_ | `label` |\n| `value-key`  | 作为 value 唯一标识的键名 | _string_ | `value` |\n| `maxlength` | 最大长度           | _string \\| number_ | `-` |\n| `readonly` | 是否只读            | _boolean_ | `false` |\n| `disabled` | 是否禁用            | _boolean_ | `false` |\n| `validate-trigger` | 触发验证的时机，可选值为 `onFocus` `onBlur` `onChange` `onClick` `onClear` `onInput` | _AutoCompleteValidateTrigger[]_ | `['onInput', 'onClear', 'onChange']` |\n| `rules` | 验证规则，返回 `true` 表示验证通过，其余的值则转换为文本作为用户提示     | _((v: string) => any) \\| ZodType \\| Array<((v: string) => any) \\| ZodType>_ | `-` |\n| `enterkeyhint` | 定制回车键样式，参见 [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) | _string_ | `-` |\n| `clearable` | 是否可清除              | _boolean_ | `false` |\n| `line` | 是否显示分割线                | _boolean_ | `true` |\n| `hint` | 是否使用占位符作为提示          | _boolean_ | `true` |\n| `text-color` | 文字颜色                 | _string_ | `-` |\n| `focus-color` | 聚焦时的主要颜色                  | _string_ | `-` |\n| `blur-color` | 失焦时的主要颜色               | _string_ | `-` |\n| `get-show` | 根据输入值决定是否显示菜单 | _(v: string) => boolean_ | `-` |\n| `tabindex` ***3.12.1*** | 与原生 input 的 tabindex 属性一致  | _string_ | `-` |\n\n#### AutoCompleteOption\n\n| 参数 | 说明 | 类型             | 默认值       |\n| ------- | --- |----------------|-----------|\n| `label`    |    选项的标签    | _string \\| VNode \\| (option: AutoCompleteOption, checked: boolean) => VNodeChild_      | `-`   |\n| `value`  |    选项的值    | _any_      | `-`   |\n| `disabled`    |    是否禁用   | _boolean_      | `-`   |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `focus` | 聚焦 | `-` | `-` |\n| `blur` | 失焦 | `-` | `-` |\n| `validate` | 触发校验 | `-` | `valid: Promise<boolean>` |\n| `resetValidation` | 清空校验信息 | `-` | `-` |\n| `reset` | 清空绑定的值和校验信息 | `-` | `-` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `focus` | 聚焦时触发 | `-` |\n| `blur` | 失焦时触发 | `-` |\n| `click` | 点击时触发 | `event: Event` |\n| `clear` | 清除时触发 | `value: string` |\n| `input` | 输入时触发 | `value: string`, `event: Event` |\n| `change` | 更新时触发 | `value: string` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `prepend-icon` | 前置图标 | `-` |\n| `append-icon` | 后置图标 | `-` |\n| `clear-icon` | 清除图标 | `clear: (e: Event) => void` 清除函数(在使用插槽时, 可用于清除输入框内容) |\n| `extra-message` | 附加信息 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### AutoComplete Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--auto-complete-options-padding` | `6px 0`  |\n\n#### Variant Variables\n\n外观相关的样式变量请参考 [Input 组件](#/zh-CN/input#yang4shi4bian4liang4) 的样式变量\n","isInternal":false,"tokens":3910,"sizeBytes":13600},{"name":"en-US.md","path":"packages/varlet-ui/src/avatar-group/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/avatar-group/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"## API\n\n### Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |","isInternal":false,"tokens":106,"sizeBytes":517},{"name":"zh-CN.md","path":"packages/varlet-ui/src/avatar-group/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/avatar-group/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `offset`          | 组内头像的头像偏移量\t| _number \\| string_ | `-` |\n| `vertical`        | 组内头像是否垂直排列 | _boolean_ | `false` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 头像组内容 | `-` |","isInternal":false,"tokens":128,"sizeBytes":494},{"name":"en-US.md","path":"packages/varlet-ui/src/avatar/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/avatar/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Avatar\n\n### Intro\n\nUsed as avatar display, supporting images, icons and characters.\n\n### Avatar Size\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### Avatar Shape\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### Fit Mode\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### Text Adaptive\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### Background Color\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### Avatar Horizontal Group\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Vertical Group\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Avatar Hoverable\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### Use Local Paths\n\nIn the file `.vue`,\nthe `Vue component` will not be automatically processed by the build tool like the native img module,\nso you need to import the image resources manually.\nHere's how the different build tools are used.\n\n#### Vite\n\nAutomatic preprocessing with [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling).\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\nOr import separately\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n## API\n\n### Props\n\n#### Avatar Props\n\n| Prop          | Description                                                 | Type   | Default          |\n|---------------|-------------------------------------------------------------|------|--------------|\n| `round`       | Whether the avatar is round or not                                                | _boolean_          | `true` |\n| `size`        | The size of the avatar, with optional values of `mini small normal large`                 | _string \\| number_ | `normal` |\n| `color`       | Background color of the avatar                                                | _string_           | `-` |\n| `src`         | Address of avatar                                                   | _string_            | `-` |\n| `alt` | Image alt text, the same as the native attribute of the `img` tag              | _string_ | `-` |\n| `fit`         | Filling mode of avatar image, optional value `fill contain cover none scale-down` | _string_            | `cover` |\n| `bordered`    | Avatar with or without border                                                | _boolean_ | `false` |\n| `border-color`| Avatar border color                                                  | _string_ | `-` |\n| `loading`     | When lazy loading is enabled, the image displayed in the load                                 | _string_ | `-` |\n| `error`       | When lazy loading is enabled, the image displayed when loading fails                           | _string_ | `-` |\n| `lazy`        | Whether to enable lazy loading                                               | _boolean_ | `false` |\n| `hoverable`   | Whether to enable hover effect | _boolean_ | `false` |\n\n#### AvatarGroup Props\n\n| Prop              | Description                                        | Type   | Default          |\n|-------------------|-------------------------------------------|------|--------------|\n| `offset`          | Avatar Offset within Avatar Group\t| _number \\| string_ | `-` |\n| `vertical`        | Whether the group avatars are vertically aligned | _boolean_ | `false` |\n\n### Events\n\n#### Avatar Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `click` | Triggered when clicking on avatar | `event: Event` |\n| `load`  | Triggered when the avatar image is successfully loaded (failure in lazy loading mode will try to load the avatar image multiple times and will only be triggered when successfully loaded) | `event: Event` |\n| `error` | Triggered when the avatar image fails to load (failure in lazy loading mode will try to load the avatar image multiple times, will only be triggered at the end of the number of attempts) | `event: Event` |\n\n### Slots\n\n#### Avatar Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar content | `-` |\n\n#### AvatarGroup Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Avatar group content | `-` |\n\n### Style Variables\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### Avatar Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-text-color` |  `#f5f5f5`|\n| `--avatar-border-radius` | `4px` |\n| `--avatar-mini-size` | `28px`|\n| `--avatar-small-size` |  `36px`|\n| `--avatar-normal-size` |  `48px`|\n| `--avatar-large-size` |  `64px`|\n| `--avatar-border` |  `2px solid #fff`|\n| `--avatar-background-color` |  `#bebebe`|\n| `--avatar-hover-transform` | `scale(1.1)`      |\n\n#### AvatarGroup Variables\n\n| Variable | Default |\n| --- | --- |\n| `--avatar-group-offset` | `-10px` |","isInternal":false,"tokens":1960,"sizeBytes":7884},{"name":"zh-CN.md","path":"packages/varlet-ui/src/avatar/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/avatar/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 头像\n\n### 介绍\n\n用作头像显示，支持图片、图标和字符。\n\n### 头像尺寸\n\n```html\n<template>\n  <var-space align=\"center\">\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"mini\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"small\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" size=\"large\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :size=\"78\" />\n  </var-space>\n</template>\n```\n\n### 头像形状\n\n```html\n<template>\n  <var-space>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" :round=\"false\" />\n  </var-space>\n</template>\n```\n\n### 填充模式\n\n```html\n<template>\n  <var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" />\n      <span>cover</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"fill\" />\n      <span>fill</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"contain\" />\n      <span>contain</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"none\" />\n      <span>none</span>\n    </var-space>\n    <var-space direction=\"column\" align=\"center\">\n      <var-avatar src=\"https://varletjs.org/cat.jpg\" fit=\"scale-down\" />\n      <span>scale-down</span>\n    </var-space>\n  </var-space>\n</template>\n```\n\n### 文字自适应\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst text = ref('VARLET')\n</script>\n\n<template>\n  <var-space direction=\"column\">\n    <var-space>\n      <var-avatar>{{ text }}</var-avatar>\n      <var-avatar :round=\"false\">{{ text }}</var-avatar>\n    </var-space>\n    <var-input v-model=\"text\" />\n  </var-space>\n</template>\n```\n\n### 背景颜色\n\n```html\n<template>\n  <var-space>\n    <var-avatar color=\"var(--color-warning)\">\n      <var-icon name=\"fire\" />\n    </var-avatar>\n    <var-avatar color=\"var(--color-danger)\">VARLET</var-avatar>\n  </var-space>\n</template>\n```\n\n### 头像水平分组\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像垂直分组\n\n```html\n<template>\n  <var-avatar-group vertical>\n    <var-avatar src=\"https://varletjs.org/cat.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat2.jpg\" bordered />\n    <var-avatar src=\"https://varletjs.org/cat3.jpg\" bordered />\n    <var-avatar bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 头像可悬停\n\n```html\n<template>\n  <var-avatar-group>\n    <var-avatar hoverable src=\"https://varletjs.org/cat.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat2.jpg\" />\n    <var-avatar hoverable src=\"https://varletjs.org/cat3.jpg\" />\n    <var-avatar hoverable bordered>+2</var-avatar>\n  </var-avatar-group>\n</template>\n```\n\n### 使用本地路径\n\n在 `.vue` 文件中，`Vue组件` 不会如同原生 img 一样被构建工具自动处理模块请求，所以需要手动导入图片资源。\n下面是不同构建工具的使用方式。\n\n#### Vite\n\n推荐使用 [@vitejs/plugin-vue](https://github.com/vitejs/vite/tree/main/packages/plugin-vue#asset-url-handling) 进行路径预处理。\n\n```ts\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      template: {\n        transformAssetUrls: {\n          'var-avatar': ['src']\n        }\n      }\n    })\n  ],\n})\n```\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar src=\"../../assets/logo.png\"/>\n</template>\n```\n\n或者单独导入\n\n```html\n<!-- playground-ignore -->\n<script setup>\nimport logo from '../../assets/logo.png'\n</script>\n\n<template>\n  <var-avatar :src=\"logo\"/>\n</template>\n```\n\n#### Webpack\n\n```html\n<!-- playground-ignore -->\n<template>\n  <var-avatar :src=\"require('../../assets/logo.png')\"/>\n</template>\n```\n\n\n## API\n\n### 属性\n\n#### Avatar Props\n\n| 参数           | 说明                                                            | 类型               | 默认值   |\n| -------------- | --------------------------------------------------------------- | ------------------ | -------- |\n| `round`        | 头像是否为圆形                                                  | _boolean_          | `true`   |\n| `size`         | 头像的尺寸，可选值为 `mini small normal large`                  | _string \\| number_ | `normal` |\n| `color`        | 头像的背景颜色                                                  | _string_           | `-`      |\n| `src`          | 头像的地址                                                      | _string_           | `-`      |\n| `alt`          | 替代文本，和 `img` 标签原生属性一致                             | _string_           | `-`      |\n| `fit`          | 头像图片的填充模式，可选值 `fill contain cover none scale-down` | _string_           | `cover`  |\n| `bordered`     | 头像是否带边框                                                  | _boolean_          | `false`  |\n| `border-color` | 头像边框颜色                                                    | _string_           | `-`      |\n| `loading`      | 当开启懒加载时, 加载中显示的图片                                | _string_           | `-`      |\n| `error`        | 当开启懒加载时, 加载失败显示的图片                              | _string_           | `-`      |\n| `lazy`         | 是否开启懒加载                                                  | _boolean_          | `false`  |\n| `hoverable`    | 是否开启悬停效果                                        | _boolean_          | `false`  |\n\n#### AvatarGroup Props\n\n| 参数       | 说明                 | 类型               | 默认值  |\n| ---------- | -------------------- | ------------------ | ------- |\n| `offset`   | 组内头像的头像偏移量 | _number \\| string_ | `-`     |\n| `vertical` | 组内头像是否垂直排列 | _boolean_          | `false` |\n\n### 事件\n\n#### Avatar Events\n\n| 事件名  | 说明                                                                                       | 参数           |\n| ------- | ------------------------------------------------------------------------------------------ | -------------- |\n| `click` | 点击头像时触发                                                                             | `event: Event` |\n| `load`  | 头像图片成功加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在成功加载时触发）     | `event: Event` |\n| `error` | 头像图片失败加载时触发（懒加载模式下失败时会多次尝试加载头像图片，只会在尝试次数结束时触发） | `event: Event` |\n\n### 插槽\n\n#### Avatar Slots\n\n| 名称      | 说明     | 参数 |\n| --------- | -------- | ---- |\n| `default` | 头像内容 | `-`  |\n\n#### AvatarGroup Slots\n\n| 名称      | 说明       | 参数 |\n| --------- | ---------- | ---- |\n| `default` | 头像组内容 | `-`  |\n\n### 样式变量\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### Avatar Variables\n\n| 变量名                      | 默认值           |\n| --------------------------- | ---------------- |\n| `--avatar-text-color`       | `#f5f5f5`        |\n| `--avatar-border-radius`    | `4px`            |\n| `--avatar-mini-size`        | `28px`           |\n| `--avatar-small-size`       | `36px`           |\n| `--avatar-normal-size`      | `48px`           |\n| `--avatar-large-size`       | `64px`           |\n| `--avatar-border`           | `2px solid #fff` |\n| `--avatar-background-color` | `#bebebe`        |\n| `--avatar-hover-transform`  | `scale(1.1)`     |\n\n#### AvatarGroup Variables\n\n| 变量名                  | 默认值  |\n| ----------------------- | ------- |\n| `--avatar-group-offset` | `-10px` |","isInternal":false,"tokens":2191,"sizeBytes":8267},{"name":"en-US.md","path":"packages/varlet-ui/src/back-top/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/back-top/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# BackTop\n\n### Intro\n\nA button to back to top.\n\n### Basic Usage\n\nWhen the page scrolls to `200px`, a back to top button will appear in the lower right corner.\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                             | Type   | Default |\n| ----- |---------------------------------------------------------------------------------------------------------|--------|-------|\n| `target` | The target to trigger scroll. If it is `undefined`, back top will listen to the nearest scrollable parent. | _string \\| HTMLElement_     | `-` |\n| `visibility-height` | The button will not show until the scroll height reaches this value                                     | _string \\| number_ | `200` |\n| `bottom`            | Distance between `BackTop` and page bottom                                                              | _string \\| number_ | `-` |\n| `right`            | Distance between `BackTop` and page right                                                               | _string \\| number_ | `-` |\n| `size`             | BackTop button size                                                                                     | _string \\| number_ | `-` |\n| `elevation` | Elevation level, options `true` `false` and level of `0-24` | _string \\| number \\| boolean_|   `true`    |\n| `duration` | Time to return to top(ms)                                                                               | _number_ | `300` |\n\n### Events\n\n| Event | Description | arguments |\n| ----- | -------------- | -------- |\n| `click` | Triggered when click | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----- | -------------- | -------- |\n| `default` | Custom the content | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","isInternal":false,"tokens":502,"sizeBytes":2331},{"name":"zh-CN.md","path":"packages/varlet-ui/src/back-top/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/back-top/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 回到顶部\n\n### 介绍\n\n返回页面顶部的操作按钮。\n\n### 基本使用\n\n当页面滚动到 `200px` 时，右下角会出现返回顶部按钮。\n\n```html\n<script setup>\nconst lists = [...Array(100).keys()]\n</script>\n\n<template>\n  <div>\n    <var-cell v-for=\"list in lists\" :key=\"list\">Scroll to bottom {{ list }}</var-cell>\n    <var-back-top :duration=\"300\" />\n  </div>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数                  | 说明                                        | 类型   | 默认值          |\n|---------------------|-------------------------------------------|------|--------------|\n| `target`            | 触发滚动的对象，如果为 `undefined` 会监听距离最近的一个可滚动的祖先节点\t | _string \\| HTMLElement_ | `-` |\n| `visibility-height` | 滚动高度达到此参数值才出现                             | _string \\| number_      | `200` |\n| `bottom`            | `BackTop` 距离页面底部的距离                       | _string \\| number_      | `-` |\n| `right`             | `BackTop` 距离页面右侧的距离                       | _string \\| number_      | `-` |\n| `size`              | `BackTop` 按钮大小                              | _string \\| number_      | `-` |\n| `elevation`         | 海拔高度，可选值为 `true` `false` 和 `0-24` 的等级 | _string \\| number \\| boolean_|   `true`    |\n| `duration`          | 回到顶部所需时间（ms）                              | _number_ | `300`        |\n\n### 事件\n\n| 事件名 | 说明 | 回调参数 |\n| ----- | -------------- | -------- |\n| `click` | 点击按钮触发的事件 | `event: Event` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ----- | -------------- | -------- |\n| `default` | 自定义按钮内容 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--back-top-right` | `40px` |\n| `--back-top-bottom` | `40px` |\n| `--back-top-button-size` | `40px` |\n| `--back-top-button-border-radius` | `50%` |\n","isInternal":false,"tokens":612,"sizeBytes":2100},{"name":"en-US.md","path":"packages/varlet-ui/src/badge/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/badge/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Badge\n\n### Intro\n\nA red dot, number, or text that appears in the upper corner of an icon or text indicates that there is new content or pending information.\n\n### Theme Color Badge\n\nSet different color badge through the `type` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### Dot Badge\n\nSet the badge as a dot through the `dot` attribute.\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n### Custom Badge Content\n\nSet the content of the badge through the `value` attribute.\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n### Maximum\n\nControl the range of badge display values through `value` and `max-value` (effective when both `value` and `max-value` exist).\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### Different Positioning Badges\n\nSet the position of the badge through the `position` property.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>The Upper Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>The Lower Right</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>The Upper Left</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>The Lower Left</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Custom Offset\n\nSet the horizontal and vertical offset of the logo via the `offset-x` and `offset-y` properties.\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### Hidden Badge\n\nControl whether the badge is hidden or not via the `hidden` prop.\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip>Badge</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">Click To Change The State</var-button>\n  </var-space>\n</template>\n```\n\n### Custom Badge Color\n\nSet the color of the badge through the `color` property.\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Icon\n\nSet Badge Icon through `icon` property.\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip>Badge</var-chip>\n  </var-badge>\n</template>\n```\n\n### Customize Badge Icon With Slot\n\nUse the `icon` slot to customize the badge icon.\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>Badge</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### Custom Badge Value\n\n```html\n<template>\n  <var-badge>\n    <var-chip>Badge</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### Props\n\n| Prop | Description                                                                                                                                                          | Type | Default |\n| --- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- | --- |\n| `type` | Badge type, can be set to `default` `primary` `info` `success` `warning` `danger`                                                                                    | _string_ | `default` |\n| `hidden` | Whether to hidden badge                                                                                                                                              | _boolean_ | `false` |\n| `dot` | Whether the badge is a dot                                                                                                                                           | _boolean_ | `false`|\n| `value` | The value shown in the badge (takes effect when `dot` is `false`)                                                                                                    | _string \\| number_ | `0`|\n| `max-value`| The maximum value shown in the logo, when `value` is greater than `max-value`, displays `max-value+` (effective when both `value` and `max-value` exist)             | _number_| `-` |\n| `position` | Define the position of the logo on other labels when there are other labels in the logo tag. Optional values are `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | The horizontal offset of badge | _number \\| string_ | `0` |\n| `offset-y`  | The vertical offset of badge | _number \\| string_ | `0` |\n| `color` | Custom badge colors                                                                                                                                                  | _string_ | `-` |\n| `icon` | Customize the content of the icon in the badge (priority is higher than `value`)                                                                                      | _string_ | `-` |\n| `namespace`      | Customize the namespace of the icon in the badge | _string_ | `var-icon` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --- | --- | --- |\n| `default` |  Badge content | `-` |\n| `value` | The value shown in the badge | `-` |\n| `icon` ***3.19.0*** | Badge icon | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","isInternal":false,"tokens":1980,"sizeBytes":7652},{"name":"zh-CN.md","path":"packages/varlet-ui/src/badge/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/badge/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 徽标\n\n### 介绍\n\n出现在图标或文字上的红色圆点、数字或者文字，表示有新内容或者待处理的信息。\n\n### 主题色徽标\n\n通过 `type` 属性设置不同主题色的徽标。\n\n```html\n<template>\n  <var-space>\n    <var-badge />\n    <var-badge type=\"primary\" />\n    <var-badge type=\"info\" />\n    <var-badge type=\"success\" />\n    <var-badge type=\"warning\" />\n    <var-badge type=\"danger\" />\n  </var-space>\n</template>\n```\n\n### 圆点徽标\n\n通过 `dot` 属性将徽标设置为圆点。\n\n```html\n<template>\n  <var-badge type=\"danger\" dot />\n</template>\n```\n\n### 自定义徽标内容\n\n通过 `value` 属性设置徽标的内容。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"66\" />\n    <var-badge type=\"danger\" value=\"badge\" />\n    <var-badge type=\"danger\" value=\"hot\" />\n  </var-space>\n</template>\n```\n\n### 最大值\n\n通过 `value` 和 `max-value` 控制徽标显示值的范围（当 `value` 与 `max-value` 都存在时生效）。\n\n```html\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :value=\"88\" :max-value=\"99\" />\n    <var-badge type=\"danger\" :value=\"188\" :max-value=\"99\" />\n  </var-space>\n</template>\n```\n\n### 不同定位徽标\n\n通过 `position` 属性设置徽标的位置。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\">\n      <var-chip>右上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\">\n      <var-chip>右下</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\">\n      <var-chip>左上</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\">\n      <var-chip>左下</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 自定义偏移量\n\n通过 `offset-x` 和 `offset-y` 属性设置徽标的水平和垂直方向的偏移量。\n\n```html\n<template>\n  <var-space :size=\"[8, 20]\">\n    <var-badge type=\"danger\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"right-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-top\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n    <var-badge type=\"danger\" position=\"left-bottom\" :offset-x=\"6\" :offset-y=\"6\">\n      <var-chip>徽标</var-chip>\n    </var-badge>\n  </var-space>\n</template>\n```\n\n### 隐藏徽标\n\n通过 `hidden` 属性控制是否隐藏徽标。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst hidden = ref(false)\n\nfunction handleChange() {\n  hidden.value = !hidden.value\n}\n</script>\n\n<template>\n  <var-space>\n    <var-badge type=\"danger\" :hidden=\"hidden\">\n      <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n    </var-badge>\n\n    <var-button type=\"success\" @click=\"handleChange\">点击改变状态</var-button>\n  </var-space>\n</template>\n```\n\n### 自定义徽标颜色\n\n通过 `color` 属性设置徽标的颜色。\n\n```html\n<template>\n  <var-badge type=\"primary\" color=\"#6200ea\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标图标\n\n通过 `icon` 属性设置徽标图标。\n\n```html\n<template>\n  <var-badge icon=\"notebook\">\n    <var-chip plain :round=\"false\" color=\"#009688\">徽标</var-chip>\n  </var-badge>\n</template>\n```\n\n### 通过插槽自定义徽标图标\n\n通过 `icon` 插槽自定义徽标图标。\n\n```html\n<template>\n  <var-badge type=\"primary\">\n    <var-chip>徽标</var-chip>\n\n    <template #icon>\n      <svg viewBox=\"0 0 24 24\" style=\"width: 1em; height: 1em\">\n        <path\n          fill=\"currentColor\"\n          d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n        />\n      </svg>\n    </template>\n  </var-badge>\n</template>\n```\n\n### 自定义徽标值\n\n```html\n<template>\n  <var-badge>\n    <var-chip>徽标</var-chip>\n\n    <template #value>\n      <var-ellipsis style=\"max-width: 40px\" :tooltip=\"{ sameWidth: false }\">100000000</var-ellipsis>\n    </template>\n  </var-badge>\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数          | 说明 | 类型 | 默认值 |\n|-------------| ---- | ---- | ---- |\n| `type`      | 类型，可选值为 `default` `primary` `info` `success` `warning` `danger` | _string_ | `default` |\n| `hidden`    | 是否隐藏徽标 | _boolean_ | `false` |\n| `dot`       | 徽标是否为小圆点 | _boolean_ | `false` |\n| `value`     | 徽标中显示的值（当 `dot` 为 `false` 时生效）| _string \\| number_ | `0` |\n| `max-value` | 徽标中显示的最大值，当 `value` 大于 `max-value` 时会显示 `max-value+` (当 `value` 与 `max-value` 都存在时生效)| _string \\| number_ | `-` |\n| `position`  | 徽标标签中有其他标签时定义徽标在其他标签上的位置，可选值 `right-top` `right-bottom` `left-top` `left-bottom` | _string_ | `right-top` |\n| `offset-x`  | 徽标的水平偏移量 | _number \\| string_ | `0` |\n| `offset-y`  | 徽标的垂直偏移量 | _number \\| string_ | `0` |\n| `color`     | 自定义徽标颜色 | _string_ | `-` |\n| `icon`      | 自定义徽标中图标的内容（优先级高于 `value`） | _string_ | `-` |\n| `namespace`      | 自定义徽标中图标的命名空间 | _string_ | `var-icon` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` |  徽标内容 | `-` |\n| `value` | 徽标中显示的值 | `-` |\n| `icon` ***3.19.0*** | 徽标图标 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--badge-content-padding` | `2px 6px` |\n| `--badge-content-border`| `none` |\n| `--badge-content-border-radius`| `100px` |\n| `--badge-content-font-size` | `12px` |\n| `--badge-icon-size` | `12px` |\n| `--badge-default-color` | `#e0e0e0` |\n| `--badge-primary-color` | `var(--color-primary)`|\n| `--badge-danger-color` |  `var(--color-danger)`|\n| `--badge-success-color` | `var(--color-success)`|\n| `--badge-warning-color` |  `var(--color-warning)`|\n| `--badge-info-color` | `var(--color-info)`|\n| `--badge-default-text-color` | `#1D1B20` |\n| `--badge-primary-text-color` | `var(--color-on-primary)` |\n| `--badge-danger-text-color` | `var(--color-on-danger)` |\n| `--badge-success-text-color` | `var(--color-on-success)` |\n| `--badge-warning-text-color` | `var(--color-on-warning)` |\n| `--badge-info-text-color` | `var(--color-on-info)` |\n| `--badge-dot-width` |  `8px`|\n| `--badge-dot-height` | `8px`|\n","isInternal":false,"tokens":2188,"sizeBytes":6573},{"name":"en-US.md","path":"packages/varlet-ui/src/bottom-navigation-item/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/bottom-navigation-item/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](/#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](/#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n| Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |","isInternal":false,"tokens":237,"sizeBytes":856},{"name":"zh-CN.md","path":"packages/varlet-ui/src/bottom-navigation-item/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/bottom-navigation-item/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"## API\n\n### 属性\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name 属性](/#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace 属性](/#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |","isInternal":false,"tokens":295,"sizeBytes":858},{"name":"en-US.md","path":"packages/varlet-ui/src/bottom-navigation/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/bottom-navigation/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# BottomNavigation\n\n### Intro\n\nDisplay navigation and key actions at the bottom of the page.\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Match By Name\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Show Badge\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Custom Color\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Change Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### Click Event\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" @click=\"handleClick\"/>\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" @click=\"handleClick\"/>\n  </var-bottom-navigation>\n</template>\n```\n\n### Fab\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation\n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"label\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {   \n  margin-top: 40px;\n}\n</style>\n```\n\n### Variant\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"label\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"label\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### Props\n\n#### BottomNavigation Props\n\n| Prop            | Description                                         | Type | Default |\n|-----------------|-----------------------------------------------------| ---- | ---- |\n| `v-model:active` | Identifier of current tab                           | _number \\| string_ | `0` |\n| `fixed`         |  Whether to fixed bottom                            | _boolean_ | `false` |\n| `bordered`      | Whether to show border                              | _boolean_ | `false` |\n| `safe-area`       | Whether to enable bottom safe area adaptation | _boolean_ | `false` |\n| `z-index`       | Z-index                                             | _number \\| string_ | `1` |\n| `active-color`  | Color of active tab item                            | _string_ | `-` |\n| `inactive-color` | Color of inactive tab item                          | _string_ | `-` |\n| `placeholder` ***3.2.11***  | Whether to generate placeholder elements of the same height at the bottom (`fixed` required)  | _boolean_ | `false` |\n| `fab-props`     | Fab button props                                    | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | Variant mode | _boolean_ | `false` |\n| `animated` ***3.13.1*** | Whether to enable content switching animation | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `name` | Identifier | _string_ | `-` |\n| `icon` | Icon name, equivalent to the [name](#/en-US/icon) of Icon component | _string_ | `-` |\n| `label` | Label text content | _string_ | - |\n| `namespace` | Icon namespace, extensible custom icon library, equivalent to the [namespace](#/en-US/icon)  of Icon component | _string_ | `var-icon` |\n| `badge` | Logo in the upper right corner of the icon | _boolean \\| BadgeProps_ | `false` |\n\n### Events\n\n#### BottomNavigation Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `before-change` | The callback function before switching labels, which returns falsy value to prevent switching, supports the return of promise | `active: number \\| string` |\n| `change` | Triggered when switching labels | `active: number \\| string` |\n| `fab-click` | Triggered when clicking fab button | `-` |\n\n#### BottomNavigationItem Events\n\n|Event | Description | Arguments |\n| ---- | ---- | ---- |\n| `click` | Triggered when clicking | `active: number \\| string` |\n\n### Slots\n\n#### BottomNavigation Slots\n\n| Name | Description                                                | SlotProps |\n| ---- |------------------------------------------------------------| ----|\n| `default` | Content of bottom navigation                               | `-` |\n| `fab` | Support for inserting a custom Fab button into a component | `-` |\n\n#### BottomNavigationItem Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | Custom label text content that overwrites the content of `label`  | `-` |\n| `icon` | Custom Icon | `active: boolean` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n#### BottomNavigation Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| Variable | Default |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","isInternal":false,"tokens":2271,"sizeBytes":9243},{"name":"zh-CN.md","path":"packages/varlet-ui/src/bottom-navigation/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/bottom-navigation/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# 底部导航栏\n\n### 介绍\n\n在页面底部显示导航和关键操作。\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 通过名称匹配\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref('home')\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item name=\"home\" label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item name=\"search\" label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item name=\"heart\" label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item name=\"user\" label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 徽标提示\n\n```html\n<script setup>\nimport { ref, reactive } from 'vue'\n\nconst active = ref(0)\nconst badgeProps = reactive({\n  type: 'primary',\n  value: '66'\n})\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" badge />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" :badge=\"badgeProps\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 自定义颜色\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation active-color=\"var(--color-warning)\" v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听切换事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleChange(active) {\n  Snackbar.info(`changed to ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\" @change=\"handleChange\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 监听点击事件\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst active = ref(0)\n\nfunction handleClick(active) {\n  Snackbar.success(`clicked ${active}`)\n}\n</script>\n\n<template>\n  <var-bottom-navigation v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" @click=\"handleClick\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" @click=\"handleClick\" />\n  </var-bottom-navigation>\n</template>\n```\n\n### 悬浮按钮\n\nItem 数量为偶数时，悬浮按钮在中间位置，为奇数时在最右侧。\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\nconst isEven = ref(true)\n</script>\n\n<template>\n  <var-bottom-navigation \n    class=\"bottom-navigation-example\"\n    v-model:active=\"active\"\n    @fab-click=\"isEven = !isEven\"\n  >\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"bell\" />\n    <var-bottom-navigation-item v-if=\"!isEven\" label=\"标签\" icon=\"account-circle\" />\n\n    <template #fab>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-bottom-navigation>\n</template>\n\n<style>\n.bottom-navigation-example {\n  margin-top: 40px;\n}\n</style>\n```\n\n### 变体\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst active = ref(0)\n</script>\n\n<template>\n  <var-bottom-navigation variant v-model:active=\"active\">\n    <var-bottom-navigation-item label=\"标签\" icon=\"home\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"magnify\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"heart\" />\n    <var-bottom-navigation-item label=\"标签\" icon=\"account-circle\" />\n  </var-bottom-navigation>\n</template>\n```\n\n## API\n\n### 属性\n\n#### BottomNavigation Props\n\n| 参数               | 说明              | 类型 | 默认值 |\n|------------------|-----------------| ---- | ---- |\n| `v-model:active` | 选中标签的名称或者索引值    | _number \\| string_ | `0` |\n| `fixed`          | 是否固定在底部         | _boolean_ | `false` |\n| `bordered`       | 是否显示外边框         | _boolean_ | `false` |\n| `safe-area`       | 是否开启底部安全区适配 | _boolean_ | `false` |\n| `z-index`        | 元素 z-index      | _number \\| string_ | `1` |\n| `active-color`   | 选中标签的颜色         | _string_ | `-` |\n| `inactive-color` | 未选中标签的颜色        | _string_ | `-` |\n| `placeholder`  ***3.2.11***   | 是否在底部生成相同高度的占位元素(需设置 `fixed`)  | _boolean_ | `false` |\n| `fab-props`      | 悬浮按钮属性          | _ButtonProps_ | `{ type: 'primary' }` |\n| `variant` ***3.2.0***      | 变体模式          | _boolean_ | `false` |\n| `animated` ***3.13.1*** | 是否启用内容切换动画 | _boolean_ | `true` |\n\n#### BottomNavigationItem Props\n\n|参数 | 说明 | 类型 | 默认值 |\n| ---- | ---- | ---- | ---- |\n| `name` | 标签名称，作为匹配的标识符 | _string_ | `-` |\n| `icon` | 图标名称，等同于 Icon 组件的 [name](#/zh-CN/icon) | _string_ | `-` |\n| `label` | 标签文字内容 | _string_ | - |\n| `namespace` | 图标的命名空间, 可扩展自定义图标库，等同于 Icon 组件的 [namespace](#/zh-CN/icon) | _string_ | `var-icon` |\n| `badge` | 图标右上角徽标 | _boolean \\| BadgeProps_ | `false` |\n\n### 事件\n\n#### BottomNavigation Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `before-change` | 切换标签前的回调函数，返回假值可阻止切换，支持返回 Promise | `active: number \\| string` |\n| `change` | 切换标签时触发 | `active: number \\| string` |\n| `fab-click` | 悬浮按钮点击时触发 | `-` |\n\n#### BottomNavigationItem Events\n\n|事件名 | 说明 | 回调参数 |\n| ---- | ---- | ---- |\n| `click` | 点击时触发 | `active: number \\| string` |\n\n### 插槽\n\n#### BottomNavigation Slots\n\n| 名称 | 说明                    | 参数 |\n| ---- |-----------------------| ----|\n| `default` | 底部导航栏内容               |`-` |\n| `fab` | 支持在组件中插入一个自定义的 fab 按钮 | `-` |\n\n#### BottomNavigationItem Slots\n\n| 名称 | 说明 | 参数 |\n| ---- | ---- | ----|\n| `default` | 自定义标签文字内容，会覆盖 `label` 的内容  | `-` |\n| `icon` | 自定义图标 | `active: boolean` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n#### BottomNavigation Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-height` | `50px` |\n| `--bottom-navigation-variant-height` | `66px` |\n| `--bottom-navigation-z-index` | `1` |\n| `--bottom-navigation-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-border-color` | `var(--color-outline)` |\n| `--bottom-navigation-fab-offset` | `4px` |\n\n#### BottomNavigationItem Variables\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--bottom-navigation-item-font-size` | `var(--font-size-sm)` |\n| `--bottom-navigation-item-inactive-color` | `#646566` |\n| `--bottom-navigation-item-active-color` | `var(--color-primary)` |\n| `--bottom-navigation-item-active-background-color` | `var(--color-surface-container-high)` |\n| `--bottom-navigation-item-line-height` | `1` |\n| `--bottom-navigation-item-icon-size` | `22px` |\n| `--bottom-navigation-item-icon-margin-bottom` | `5px` |\n| `--bottom-navigation-fab-border-radius` | `50%` |\n| `--bottom-navigation-item-variant-icon-margin-bottom` | `6px` |\n| `--bottom-navigation-item-variant-icon-container-height` | `30px` |\n| `--bottom-navigation-item-variant-icon-container-border-radius` | `100px` |\n| `--bottom-navigation-item-variant-icon-container-max-width` | `58px` |\n| `--bottom-navigation-item-variant-active-background-color` | `var(--color-primary-container)` |\n| `--bottom-navigation-item-variant-active-color` | `var(--color-on-primary-container)` |\n","isInternal":false,"tokens":2526,"sizeBytes":8955},{"name":"en-US.md","path":"packages/varlet-ui/src/breadcrumb/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/breadcrumb/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"## API\n\n### Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |","isInternal":false,"tokens":128,"sizeBytes":630},{"name":"zh-CN.md","path":"packages/varlet-ui/src/breadcrumb/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/breadcrumb/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"## API\n\n### 属性\n\n| 参数        | 说明                                       | 类型                          | 默认值 |\n| ----------- | ------------------------------------------ | ----------------------------- |-----|\n| `separator` | 分隔符                                     | _string_                      | `-` |\n\n### 事件\n\n| 事件名  | 说明                                   | 参数                                          |\n| ------- |--------------------------------------| --------------------------------------------- |\n| `click` | 点击面包屑时触发 | `event: Event` |\n\n### 插槽\n\n| 参数        | 说明             | 参数 |\n| ----------- | ---------------- | ---- |\n| `default`   | 自定义默认内容   | `-`  |\n| `separator` | 自定义分隔符内容 | `-`  |","isInternal":false,"tokens":158,"sizeBytes":809},{"name":"en-US.md","path":"packages/varlet-ui/src/breadcrumbs/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/breadcrumbs/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Breadcrumbs\n\n### Intro\n\nUsed to display information hierarchically.\n\n### Basic Usage\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator\n\n```html\n<template>\n   <var-breadcrumbs separator=\"\\\">\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb>Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Child Separator\n\n```html\n<template>\n   <var-breadcrumbs>\n     <var-breadcrumb>Home</var-breadcrumb>\n     <var-breadcrumb separator=\"~\">Link 1</var-breadcrumb>\n     <var-breadcrumb>Link 2</var-breadcrumb>\n   </var-breadcrumbs>\n</template>\n```\n\n### Separator Slot\n\nCustom content can be used as separator by setting slot.\n\n```html\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb>\n      Home\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>\n      Link 1\n      <template #separator>\n        <var-icon name=\"menu-right\" style=\"margin: 1px 4px 0\" />\n      </template>\n    </var-breadcrumb>\n    <var-breadcrumb>Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n### Click Event\n\nRegister the click event of the breadcrumb through `@click`, the last breadcrumb will not trigger the click event.\n\n```html\n<script setup>\nimport { Snackbar } from '@varlet/ui'\n</script>\n\n<template>\n  <var-breadcrumbs>\n    <var-breadcrumb @click=\"Snackbar('Home')\">Home</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 1')\">Link 1</var-breadcrumb>\n    <var-breadcrumb @click=\"Snackbar('Link 2')\">Link 2</var-breadcrumb>\n  </var-breadcrumbs>\n</template>\n```\n\n## API\n\n### Props\n\n#### Breadcrumbs Props\n\n| Prop               | Description          | Type               | Default      |\n| ----------- | ------ | -------- | ------ |\n| `separator` | Separator | _string_ | `/` |\n\n#### Breadcrumb Props\n\n| Prop       | Description            | Type               | Default |\n| ----------- | -------------- | ----------------------------- |-----|\n| `separator` | Separator | _string_ | `-` |\n\n### Events\n\n#### Breadcrumb Events\n\n| Event    | Description   | Arguments                 |\n| ------- |-----------------------------------------| ---------------------- |\n| `click` | Triggered when a breadcrumb is clicked | `event: Event` |\n\n### Slots\n\n#### Breadcrumbs Slots\n\n| Name | Description | SlotProps |\n| --------- | -------------- | ---- |\n| `default` | Customize the default content | `-` |\n\n#### Breadcrumb Slots\n\n| Name | Description | SlotProps |\n| ----------- |------------------------------| ---- |\n| `default` | Customize the default content | `-` |\n| `separator` | Customize separator content  | `-` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n#### Breadcrumb Variables\n\n| Variable                        | Default                |\n| -------------------------------------- | ---------------------- |\n| `--breadcrumb-active-color` | `var(--color-primary)` |\n| `--breadcrumb-inactive-color` | `#888` |\n| `--breadcrumb-separator-margin` | `0 10px` |\n| `--breadcrumb-separator-font-size` | `14px` |","isInternal":false,"tokens":823,"sizeBytes":3347},{"name":"zh-CN.md","path":"packages/varlet-ui/src/breadcrumbs/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/breadcrumbs/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbreadcrumbs%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":912,"sizeBytes":3479},{"name":"en-US.md","path":"packages/varlet-ui/src/button-group/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/button-group/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":281,"sizeBytes":1369},{"name":"zh-CN.md","path":"packages/varlet-ui/src/button-group/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/button-group/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton-group%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":329,"sizeBytes":1275},{"name":"en-US.md","path":"packages/varlet-ui/src/button/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/button/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4577,"sizeBytes":18442},{"name":"zh-CN.md","path":"packages/varlet-ui/src/button/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/button/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fbutton%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4886,"sizeBytes":17838},{"name":"en-US.md","path":"packages/varlet-ui/src/card/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/card/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":3151,"sizeBytes":13299},{"name":"zh-CN.md","path":"packages/varlet-ui/src/card/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/card/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcard%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4358,"sizeBytes":13009},{"name":"en-US.md","path":"packages/varlet-ui/src/cell/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/cell/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1014,"sizeBytes":3707},{"name":"zh-CN.md","path":"packages/varlet-ui/src/cell/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/cell/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcell%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1137,"sizeBytes":3527},{"name":"en-US.md","path":"packages/varlet-ui/src/checkbox-group/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/checkbox-group/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2808,"sizeBytes":10312},{"name":"zh-CN.md","path":"packages/varlet-ui/src/checkbox-group/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/checkbox-group/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox-group%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":3162,"sizeBytes":10021},{"name":"en-US.md","path":"packages/varlet-ui/src/checkbox/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/checkbox/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":453,"sizeBytes":1557},{"name":"zh-CN.md","path":"packages/varlet-ui/src/checkbox/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/checkbox/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcheckbox%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":538,"sizeBytes":1506},{"name":"en-US.md","path":"packages/varlet-ui/src/chip/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/chip/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2209,"sizeBytes":7175},{"name":"zh-CN.md","path":"packages/varlet-ui/src/chip/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/chip/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fchip%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2506,"sizeBytes":7284},{"name":"en-US.md","path":"packages/varlet-ui/src/code/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/code/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":807,"sizeBytes":3707},{"name":"zh-CN.md","path":"packages/varlet-ui/src/code/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/code/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcode%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":894,"sizeBytes":3705},{"name":"en-US.md","path":"packages/varlet-ui/src/col/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/col/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":476,"sizeBytes":2001},{"name":"zh-CN.md","path":"packages/varlet-ui/src/col/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/col/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcol%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":541,"sizeBytes":1547},{"name":"en-US.md","path":"packages/varlet-ui/src/collapse-item/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse-item/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":146,"sizeBytes":502},{"name":"zh-CN.md","path":"packages/varlet-ui/src/collapse-item/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse-item/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-item%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":182,"sizeBytes":545},{"name":"en-US.md","path":"packages/varlet-ui/src/collapse-transition/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse-transition/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":267,"sizeBytes":1292},{"name":"zh-CN.md","path":"packages/varlet-ui/src/collapse-transition/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse-transition/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse-transition%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":404,"sizeBytes":1146},{"name":"en-US.md","path":"packages/varlet-ui/src/collapse/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2058,"sizeBytes":9194},{"name":"zh-CN.md","path":"packages/varlet-ui/src/collapse/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/collapse/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcollapse%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2280,"sizeBytes":8926},{"name":"en-US.md","path":"packages/varlet-ui/src/count-to/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/count-to/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":799,"sizeBytes":3443},{"name":"zh-CN.md","path":"packages/varlet-ui/src/count-to/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/count-to/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcount-to%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":931,"sizeBytes":3226},{"name":"en-US.md","path":"packages/varlet-ui/src/countdown/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/countdown/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1221,"sizeBytes":4704},{"name":"zh-CN.md","path":"packages/varlet-ui/src/countdown/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/countdown/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcountdown%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1387,"sizeBytes":4344},{"name":"en-US.md","path":"packages/varlet-ui/src/counter/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/counter/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1702,"sizeBytes":6395},{"name":"zh-CN.md","path":"packages/varlet-ui/src/counter/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/counter/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fcounter%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1880,"sizeBytes":6110},{"name":"en-US.md","path":"packages/varlet-ui/src/data-table/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/data-table/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":8673,"sizeBytes":28000},{"name":"zh-CN.md","path":"packages/varlet-ui/src/data-table/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/data-table/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdata-table%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":9420,"sizeBytes":27975},{"name":"en-US.md","path":"packages/varlet-ui/src/date-input/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/date-input/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4819,"sizeBytes":17652},{"name":"zh-CN.md","path":"packages/varlet-ui/src/date-input/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/date-input/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-input%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":5259,"sizeBytes":17752},{"name":"en-US.md","path":"packages/varlet-ui/src/date-picker/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/date-picker/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2732,"sizeBytes":10993},{"name":"zh-CN.md","path":"packages/varlet-ui/src/date-picker/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/date-picker/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdate-picker%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":3026,"sizeBytes":10440},{"name":"en-US.md","path":"packages/varlet-ui/src/dialog/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/dialog/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":3966,"sizeBytes":22141},{"name":"zh-CN.md","path":"packages/varlet-ui/src/dialog/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/dialog/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdialog%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4208,"sizeBytes":13129},{"name":"en-US.md","path":"packages/varlet-ui/src/divider/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/divider/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":666,"sizeBytes":2389},{"name":"zh-CN.md","path":"packages/varlet-ui/src/divider/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/divider/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdivider%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":763,"sizeBytes":2303},{"name":"en-US.md","path":"packages/varlet-ui/src/drag/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/drag/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":779,"sizeBytes":2870},{"name":"zh-CN.md","path":"packages/varlet-ui/src/drag/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/drag/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fdrag%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":890,"sizeBytes":2529},{"name":"en-US.md","path":"packages/varlet-ui/src/ellipsis/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/ellipsis/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1065,"sizeBytes":3926},{"name":"zh-CN.md","path":"packages/varlet-ui/src/ellipsis/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/ellipsis/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fellipsis%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1233,"sizeBytes":3699},{"name":"en-US.md","path":"packages/varlet-ui/src/fab/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/fab/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2330,"sizeBytes":8508},{"name":"zh-CN.md","path":"packages/varlet-ui/src/fab/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/fab/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffab%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2744,"sizeBytes":9021},{"name":"en-US.md","path":"packages/varlet-ui/src/floating-panel/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/floating-panel/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":965,"sizeBytes":3586},{"name":"zh-CN.md","path":"packages/varlet-ui/src/floating-panel/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/floating-panel/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ffloating-panel%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1107,"sizeBytes":3586},{"name":"en-US.md","path":"packages/varlet-ui/src/form-details/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/form-details/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":88,"sizeBytes":320},{"name":"zh-CN.md","path":"packages/varlet-ui/src/form-details/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/form-details/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform-details%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":113,"sizeBytes":339},{"name":"en-US.md","path":"packages/varlet-ui/src/form/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/form/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2833,"sizeBytes":11266},{"name":"zh-CN.md","path":"packages/varlet-ui/src/form/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/form/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fform%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2988,"sizeBytes":11065},{"name":"en-US.md","path":"packages/varlet-ui/src/highlighter-provider/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/highlighter-provider/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":118,"sizeBytes":725},{"name":"zh-CN.md","path":"packages/varlet-ui/src/highlighter-provider/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/highlighter-provider/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhighlighter-provider%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":140,"sizeBytes":746},{"name":"en-US.md","path":"packages/varlet-ui/src/hover/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/hover/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":543,"sizeBytes":2128},{"name":"zh-CN.md","path":"packages/varlet-ui/src/hover/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/hover/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fhover%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":623,"sizeBytes":1964},{"name":"en-US.md","path":"packages/varlet-ui/src/icon/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/icon/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1294,"sizeBytes":5255},{"name":"zh-CN.md","path":"packages/varlet-ui/src/icon/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/icon/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ficon%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1415,"sizeBytes":4771},{"name":"en-US.md","path":"packages/varlet-ui/src/image-preview/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/image-preview/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2494,"sizeBytes":9323},{"name":"zh-CN.md","path":"packages/varlet-ui/src/image-preview/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/image-preview/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage-preview%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2700,"sizeBytes":8640},{"name":"en-US.md","path":"packages/varlet-ui/src/image/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/image/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1663,"sizeBytes":6191},{"name":"zh-CN.md","path":"packages/varlet-ui/src/image/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/image/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fimage%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1852,"sizeBytes":5973},{"name":"en-US.md","path":"packages/varlet-ui/src/index-anchor/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/index-anchor/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":71,"sizeBytes":268},{"name":"zh-CN.md","path":"packages/varlet-ui/src/index-anchor/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/index-anchor/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-anchor%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":86,"sizeBytes":269},{"name":"en-US.md","path":"packages/varlet-ui/src/index-bar/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/index-bar/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":981,"sizeBytes":3815},{"name":"zh-CN.md","path":"packages/varlet-ui/src/index-bar/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/index-bar/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Findex-bar%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1119,"sizeBytes":3731},{"name":"en-US.md","path":"packages/varlet-ui/src/input/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/input/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4118,"sizeBytes":16873},{"name":"zh-CN.md","path":"packages/varlet-ui/src/input/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/input/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Finput%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4400,"sizeBytes":15770},{"name":"en-US.md","path":"packages/varlet-ui/src/lazy/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/lazy/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":685,"sizeBytes":2549},{"name":"zh-CN.md","path":"packages/varlet-ui/src/lazy/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/lazy/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flazy%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":768,"sizeBytes":2443},{"name":"en-US.md","path":"packages/varlet-ui/src/link/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/link/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1017,"sizeBytes":4273},{"name":"zh-CN.md","path":"packages/varlet-ui/src/link/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/link/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flink%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1117,"sizeBytes":4061},{"name":"en-US.md","path":"packages/varlet-ui/src/list/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/list/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1593,"sizeBytes":6679},{"name":"zh-CN.md","path":"packages/varlet-ui/src/list/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/list/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flist%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1781,"sizeBytes":6183},{"name":"en-US.md","path":"packages/varlet-ui/src/loading-bar/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/loading-bar/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":626,"sizeBytes":2441},{"name":"zh-CN.md","path":"packages/varlet-ui/src/loading-bar/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/loading-bar/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading-bar%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":731,"sizeBytes":2549},{"name":"en-US.md","path":"packages/varlet-ui/src/loading/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/loading/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":757,"sizeBytes":2955},{"name":"zh-CN.md","path":"packages/varlet-ui/src/loading/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/loading/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Floading%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":864,"sizeBytes":3140},{"name":"en-US.md","path":"packages/varlet-ui/src/locale-provider/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/locale-provider/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":123,"sizeBytes":501},{"name":"zh-CN.md","path":"packages/varlet-ui/src/locale-provider/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/locale-provider/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale-provider%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":144,"sizeBytes":492},{"name":"en-US.md","path":"packages/varlet-ui/src/locale/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/locale/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":666,"sizeBytes":2455},{"name":"zh-CN.md","path":"packages/varlet-ui/src/locale/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/locale/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Flocale%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":783,"sizeBytes":2328},{"name":"en-US.md","path":"packages/varlet-ui/src/menu-option/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu-option/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":137,"sizeBytes":459},{"name":"zh-CN.md","path":"packages/varlet-ui/src/menu-option/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu-option/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-option%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":161,"sizeBytes":420},{"name":"en-US.md","path":"packages/varlet-ui/src/menu-select/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu-select/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4057,"sizeBytes":16672},{"name":"zh-CN.md","path":"packages/varlet-ui/src/menu-select/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu-select/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu-select%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4610,"sizeBytes":15432},{"name":"en-US.md","path":"packages/varlet-ui/src/menu/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2302,"sizeBytes":10137},{"name":"zh-CN.md","path":"packages/varlet-ui/src/menu/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/menu/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fmenu%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2684,"sizeBytes":8771},{"name":"en-US.md","path":"packages/varlet-ui/src/option/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/option/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":143,"sizeBytes":491},{"name":"zh-CN.md","path":"packages/varlet-ui/src/option/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/option/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foption%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":165,"sizeBytes":447},{"name":"en-US.md","path":"packages/varlet-ui/src/otp-input/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/otp-input/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1677,"sizeBytes":6012},{"name":"zh-CN.md","path":"packages/varlet-ui/src/otp-input/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/otp-input/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fotp-input%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1934,"sizeBytes":5907},{"name":"en-US.md","path":"packages/varlet-ui/src/overlay/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/overlay/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":631,"sizeBytes":2900},{"name":"zh-CN.md","path":"packages/varlet-ui/src/overlay/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/overlay/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Foverlay%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":846,"sizeBytes":2642},{"name":"en-US.md","path":"packages/varlet-ui/src/pagination/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/pagination/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1303,"sizeBytes":5191},{"name":"zh-CN.md","path":"packages/varlet-ui/src/pagination/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/pagination/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpagination%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1471,"sizeBytes":4962},{"name":"en-US.md","path":"packages/varlet-ui/src/paper/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/paper/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1258,"sizeBytes":4516},{"name":"zh-CN.md","path":"packages/varlet-ui/src/paper/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/paper/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpaper%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1529,"sizeBytes":4588},{"name":"en-US.md","path":"packages/varlet-ui/src/picker/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/picker/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4316,"sizeBytes":15664},{"name":"zh-CN.md","path":"packages/varlet-ui/src/picker/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/picker/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpicker%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4624,"sizeBytes":15299},{"name":"en-US.md","path":"packages/varlet-ui/src/popup/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/popup/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1768,"sizeBytes":7527},{"name":"zh-CN.md","path":"packages/varlet-ui/src/popup/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/popup/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpopup%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2401,"sizeBytes":7384},{"name":"en-US.md","path":"packages/varlet-ui/src/progress/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/progress/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1345,"sizeBytes":5349},{"name":"zh-CN.md","path":"packages/varlet-ui/src/progress/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/progress/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fprogress%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1442,"sizeBytes":5164},{"name":"en-US.md","path":"packages/varlet-ui/src/pull-refresh/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/pull-refresh/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1026,"sizeBytes":3809},{"name":"zh-CN.md","path":"packages/varlet-ui/src/pull-refresh/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/pull-refresh/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fpull-refresh%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1134,"sizeBytes":3650},{"name":"en-US.md","path":"packages/varlet-ui/src/radio-group/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/radio-group/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2435,"sizeBytes":8662},{"name":"zh-CN.md","path":"packages/varlet-ui/src/radio-group/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/radio-group/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio-group%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2777,"sizeBytes":8449},{"name":"en-US.md","path":"packages/varlet-ui/src/radio/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/radio/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":409,"sizeBytes":1376},{"name":"zh-CN.md","path":"packages/varlet-ui/src/radio/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/radio/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fradio%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":486,"sizeBytes":1329},{"name":"en-US.md","path":"packages/varlet-ui/src/rail-navigation-item/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rail-navigation-item/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":548,"sizeBytes":2023},{"name":"zh-CN.md","path":"packages/varlet-ui/src/rail-navigation-item/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rail-navigation-item/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation-item%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":618,"sizeBytes":1996},{"name":"en-US.md","path":"packages/varlet-ui/src/rail-navigation/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rail-navigation/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2634,"sizeBytes":10075},{"name":"zh-CN.md","path":"packages/varlet-ui/src/rail-navigation/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rail-navigation/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frail-navigation%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2815,"sizeBytes":10004},{"name":"en-US.md","path":"packages/varlet-ui/src/rate/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rate/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1846,"sizeBytes":6797},{"name":"zh-CN.md","path":"packages/varlet-ui/src/rate/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/rate/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frate%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2066,"sizeBytes":6439},{"name":"en-US.md","path":"packages/varlet-ui/src/result/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/result/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1692,"sizeBytes":6722},{"name":"zh-CN.md","path":"packages/varlet-ui/src/result/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/result/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fresult%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1837,"sizeBytes":6792},{"name":"en-US.md","path":"packages/varlet-ui/src/ripple/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/ripple/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":539,"sizeBytes":1993},{"name":"zh-CN.md","path":"packages/varlet-ui/src/ripple/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/ripple/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fripple%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":591,"sizeBytes":1959},{"name":"en-US.md","path":"packages/varlet-ui/src/row/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/row/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2542,"sizeBytes":8422},{"name":"zh-CN.md","path":"packages/varlet-ui/src/row/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/row/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Frow%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2698,"sizeBytes":7537},{"name":"en-US.md","path":"packages/varlet-ui/src/segmented-button/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/segmented-button/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":223,"sizeBytes":879},{"name":"zh-CN.md","path":"packages/varlet-ui/src/segmented-button/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/segmented-button/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-button%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":261,"sizeBytes":796},{"name":"en-US.md","path":"packages/varlet-ui/src/segmented-buttons/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/segmented-buttons/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2688,"sizeBytes":9952},{"name":"zh-CN.md","path":"packages/varlet-ui/src/segmented-buttons/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/segmented-buttons/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsegmented-buttons%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2887,"sizeBytes":9615},{"name":"en-US.md","path":"packages/varlet-ui/src/select/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/select/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":6192,"sizeBytes":23206},{"name":"zh-CN.md","path":"packages/varlet-ui/src/select/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/select/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fselect%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":7084,"sizeBytes":23021},{"name":"en-US.md","path":"packages/varlet-ui/src/shimmer-text/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/shimmer-text/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":380,"sizeBytes":1386},{"name":"zh-CN.md","path":"packages/varlet-ui/src/shimmer-text/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/shimmer-text/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fshimmer-text%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":423,"sizeBytes":1341},{"name":"en-US.md","path":"packages/varlet-ui/src/signature/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/signature/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":741,"sizeBytes":2904},{"name":"zh-CN.md","path":"packages/varlet-ui/src/signature/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/signature/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsignature%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":823,"sizeBytes":2781},{"name":"en-US.md","path":"packages/varlet-ui/src/skeleton/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/skeleton/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1097,"sizeBytes":3667},{"name":"zh-CN.md","path":"packages/varlet-ui/src/skeleton/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/skeleton/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fskeleton%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1201,"sizeBytes":3582},{"name":"en-US.md","path":"packages/varlet-ui/src/slider/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/slider/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2051,"sizeBytes":8139},{"name":"zh-CN.md","path":"packages/varlet-ui/src/slider/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/slider/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fslider%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2259,"sizeBytes":7759},{"name":"en-US.md","path":"packages/varlet-ui/src/snackbar/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/snackbar/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":3210,"sizeBytes":13413},{"name":"zh-CN.md","path":"packages/varlet-ui/src/snackbar/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/snackbar/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsnackbar%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":3514,"sizeBytes":12852},{"name":"en-US.md","path":"packages/varlet-ui/src/space/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/space/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":894,"sizeBytes":3499},{"name":"zh-CN.md","path":"packages/varlet-ui/src/space/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/space/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fspace%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":986,"sizeBytes":3277},{"name":"en-US.md","path":"packages/varlet-ui/src/step/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/step/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":235,"sizeBytes":798},{"name":"zh-CN.md","path":"packages/varlet-ui/src/step/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/step/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstep%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":304,"sizeBytes":866},{"name":"en-US.md","path":"packages/varlet-ui/src/steps/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/steps/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1370,"sizeBytes":4792},{"name":"zh-CN.md","path":"packages/varlet-ui/src/steps/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/steps/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsteps%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1595,"sizeBytes":4870},{"name":"en-US.md","path":"packages/varlet-ui/src/sticky/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/sticky/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":514,"sizeBytes":1874},{"name":"zh-CN.md","path":"packages/varlet-ui/src/sticky/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/sticky/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fsticky%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":626,"sizeBytes":1968},{"name":"en-US.md","path":"packages/varlet-ui/src/style-provider/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/style-provider/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":425,"sizeBytes":1843},{"name":"zh-CN.md","path":"packages/varlet-ui/src/style-provider/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/style-provider/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyle-provider%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":485,"sizeBytes":1710},{"name":"en-US.md","path":"packages/varlet-ui/src/styles/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/styles/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":249,"sizeBytes":885},{"name":"zh-CN.md","path":"packages/varlet-ui/src/styles/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/styles/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fstyles%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":277,"sizeBytes":830},{"name":"en-US.md","path":"packages/varlet-ui/src/swipe-item/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/swipe-item/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":33,"sizeBytes":129},{"name":"zh-CN.md","path":"packages/varlet-ui/src/swipe-item/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/swipe-item/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe-item%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":52,"sizeBytes":122},{"name":"en-US.md","path":"packages/varlet-ui/src/swipe/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/swipe/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2682,"sizeBytes":9898},{"name":"zh-CN.md","path":"packages/varlet-ui/src/swipe/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/swipe/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswipe%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2827,"sizeBytes":8787},{"name":"en-US.md","path":"packages/varlet-ui/src/switch/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/switch/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1760,"sizeBytes":6314},{"name":"zh-CN.md","path":"packages/varlet-ui/src/switch/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/switch/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fswitch%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1898,"sizeBytes":6095},{"name":"en-US.md","path":"packages/varlet-ui/src/tab-item/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tab-item/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":78,"sizeBytes":322},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tab-item/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tab-item/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab-item%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":94,"sizeBytes":261},{"name":"en-US.md","path":"packages/varlet-ui/src/tab/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tab/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":189,"sizeBytes":972},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tab/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tab/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftab%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":207,"sizeBytes":566},{"name":"en-US.md","path":"packages/varlet-ui/src/table/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/table/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2009,"sizeBytes":6661},{"name":"zh-CN.md","path":"packages/varlet-ui/src/table/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/table/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftable%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2199,"sizeBytes":6638},{"name":"en-US.md","path":"packages/varlet-ui/src/tabs-items/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tabs-items/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":202,"sizeBytes":925},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tabs-items/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tabs-items/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs-items%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":228,"sizeBytes":649},{"name":"en-US.md","path":"packages/varlet-ui/src/tabs/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tabs/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":3321,"sizeBytes":13847},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tabs/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tabs/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftabs%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":3995,"sizeBytes":13498},{"name":"en-US.md","path":"packages/varlet-ui/src/themes/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/themes/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2330,"sizeBytes":9225},{"name":"zh-CN.md","path":"packages/varlet-ui/src/themes/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/themes/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fthemes%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2423,"sizeBytes":9013},{"name":"en-US.md","path":"packages/varlet-ui/src/time-picker/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/time-picker/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1967,"sizeBytes":7524},{"name":"zh-CN.md","path":"packages/varlet-ui/src/time-picker/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/time-picker/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftime-picker%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2077,"sizeBytes":7071},{"name":"en-US.md","path":"packages/varlet-ui/src/tooltip/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tooltip/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":2153,"sizeBytes":8929},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tooltip/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tooltip/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftooltip%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":2354,"sizeBytes":7499},{"name":"en-US.md","path":"packages/varlet-ui/src/tree-menu/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tree-menu/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":3297,"sizeBytes":11879},{"name":"zh-CN.md","path":"packages/varlet-ui/src/tree-menu/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/tree-menu/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Ftree-menu%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":3583,"sizeBytes":11807},{"name":"en-US.md","path":"packages/varlet-ui/src/uploader/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/uploader/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":4570,"sizeBytes":18813},{"name":"zh-CN.md","path":"packages/varlet-ui/src/uploader/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/uploader/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fuploader%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":4820,"sizeBytes":18167},{"name":"en-US.md","path":"packages/varlet-ui/src/watermark/docs/en-US.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/watermark/docs/en-US.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fen-US.md -->","isInternal":false,"tokens":1359,"sizeBytes":4754},{"name":"zh-CN.md","path":"packages/varlet-ui/src/watermark/docs/zh-CN.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/src/watermark/docs/zh-CN.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2Fsrc%2Fwatermark%2Fdocs%2Fzh-CN.md -->","isInternal":false,"tokens":1540,"sizeBytes":4674},{"name":"README.md","path":"packages/varlet-cli/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-cli/README.md","title":"varlet-cli Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2FREADME.md -->","isInternal":false,"tokens":2680,"sizeBytes":10244},{"name":"README.md","path":"packages/varlet-cli/template/generators/base/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-cli/template/generators/base/README.md","title":"base Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-cli%2Ftemplate%2Fgenerators%2Fbase%2FREADME.md -->","isInternal":false,"tokens":469,"sizeBytes":1737},{"name":"README.md","path":"packages/varlet-import-resolver/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-import-resolver/README.md","title":"varlet-import-resolver Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-import-resolver%2FREADME.md -->","isInternal":false,"tokens":838,"sizeBytes":3441},{"name":"README.md","path":"packages/varlet-ui-playground/src/download/template/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui-playground/src/download/template/README.md","title":"template Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui-playground%2Fsrc%2Fdownload%2Ftemplate%2FREADME.md -->","isInternal":false,"tokens":33,"sizeBytes":103},{"name":"README.md","path":"packages/varlet-ui/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-ui/README.md","title":"varlet-ui Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-ui%2FREADME.md -->","isInternal":false,"tokens":1696,"sizeBytes":6459},{"name":"README.md","path":"packages/varlet-vscode-extension/README.md","rawUrl":"https://raw.githubusercontent.com/varletjs/varlet/HEAD/packages/varlet-vscode-extension/README.md","title":"varlet-vscode-extension Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/varletjs/varlet?path=packages%2Fvarlet-vscode-extension%2FREADME.md -->","isInternal":false,"tokens":593,"sizeBytes":2292}],"systemPromptSnippet":"<yakaai_skills repo=\"varletjs/varlet\">\n<!-- File: packages/varlet-cli/template/generators/config/default/base/docs/home.zh-CN.md (Tokens: ~31 | Category: anthropic-skill) -->\n### 介绍\n\n这里可以介绍一下组件库, 想写什么就写什么...\n\n<!-- File: packages/varlet-cli/template/generators/config/default/sfc/src/button/docs/zh-CN.md (Tokens: ~218 | Category: anthropic-skill) -->\n# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |\n\n<!-- File: packages/varlet-cli/template/generators/config/default/tsx/src/button/docs/zh-CN.md (Tokens: ~218 | Category: anthropic-skill) -->\n# 按钮\n\n### 基本使用\n```html\n<va-button>按钮起步</va-button>\n```\n\n```vue\nimport BasicUse from '../example/BasicUse'\n```\n\n### 主题色按钮\n```html\n<va-button color=\"#009688\">按钮起步</va-button>\n```\n\n```vue\nimport ModifyColor from '../example/ModifyColor'\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 | \n| --- | --- | --- | --- | \n| `color` | 按钮颜色 | _string_ | `default` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `click` | 点击按钮时触发 | `event: Event` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `default` | 按钮内容 | `-` |\n\n<!-- File: packages/varlet-ui/docs/atomicCssSupport.en-US.md (Tokens: ~601 | Category: anthropic-skill) -->\n# Atomic CSS support\n\n### Intro\n\nWe've provided common CSS atomization framework presets, made it easier to access the component library's underlying style variables, and standardized page responsiveness breakpoints.\n\n### UnoCSS\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### Configuration\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts).\n\n### Tailwindcss\n\n#### Install\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 Configuration\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n### More Options\n\nPresets detailed definition [please watch here](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts).\n\n### Usage\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\nWe also support the HSL variables, which makes the transparency of adjusting the color easier.\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/atomicCssSupport.zh-CN.md (Tokens: ~674 | Category: anthropic-skill) -->\n# 原子化 CSS 支持\n\n### 介绍\n\n我们提供了常见的 CSS 原子化框架预设，使访问组件库的基础样式变量更加容易，并且一致化了页面响应式断点。\n\n### UnoCSS\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-unocss -D\n# yarn\nyarn add @varlet/preset-unocss -D\n# pnpm\npnpm add @varlet/preset-unocss -D\n```\n\n#### 配置\n\n```js\n// playground-ignore\n// uno.config.ts\nimport { defineConfig, presetUno } from 'unocss'\nimport { presetVarlet } from '@varlet/preset-unocss'\n\nexport default defineConfig({\n  presets: [presetUno(), presetVarlet()]\n})\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-unocss/src/index.ts)。\n\n### Tailwindcss\n\n#### 安装\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/preset-tailwindcss -D\n# yarn\nyarn add @varlet/preset-tailwindcss -D\n# pnpm\npnpm add @varlet/preset-tailwindcss -D\n```\n\n#### Tailwindcss V3 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  content: [\n    './index.html',\n    './src/**/*.{vue,js,ts,jsx,tsx}',\n  ],\n  presets: [presetVarlet()]\n}\n```\n\n#### Tailwindcss V4 配置\n\n```js\n// playground-ignore\n// tailwind.config.js\nimport { presetVarlet } from '@varlet/preset-tailwindcss'\n\nexport default {\n  presets: [presetVarlet()]\n}\n```\n\n```css\n/** src/style.css */\n@import \"tailwindcss\";\n@config \"../tailwind.config.js\";\n```\n\n#### 更多配置\n\n预设的详细定义[请看这里](https://github.com/varletjs/varlet/blob/main/packages/varlet-preset-tailwindcss/src/index.ts)。\n\n### 使用方式\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"text-on-primary bg-primary text-md\">hello</div>\n  <div class=\"text-on-primary-container bg-primary-container text-lg\">world</div>\n  <div class=\"bg-primary sm:bg-info md:bg-warning lg:bg-danger xl:bg-success\">varlet</div>\n</template>\n```\n\n我们同时也支持了 hsl 变量，这使得调整颜色的透明度变得更加容易。\n\n```html\n<!-- playground-ignore -->\n<template>\n  <div class=\"bg-hsl-primary/50 text-hsl-text/70\">hello</div>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/browserAdaptation.en-US.md (Tokens: ~686 | Category: anthropic-skill) -->\n# Browser Adaptation\n\n### Intro\n\nThe component library provides mobile and desktop adaptations,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation,\nscheme `varlet-touch-emulator` is used for mobile terminal adaptation.\n\n### Mobile Adaptation\n\n#### CSS Unit Adaptation\n\nThe component library design is based on the `375px` width design draft. \nIt is recommended to use [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) to convert `px` units into `vw` units to achieve mobile terminal adaptation.\nCreate `postcss.config.js` under the `Webpack/Vite` project root path And do the following configuration `375px -> 100vw`.\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### Theme Unit Adaptation (Viewport)\n\nBecause the theme is mounted at runtime and is not affected by postcss, the component library provides a utility tool `Themes.toViewport` for adaptation. The theme returned by the function will use the `375px -> 100vmin` rule by default.\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\nYou can also make changes to the conversion rules\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // defaults 375\n  viewportWidth: 750,\n  // defaults 'vmin'\n  viewportUnit: 'vw',\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n#### Theme Unit Adaptation (Rem)\n\nSimilar to the Viewport solution\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\nOr customize\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // defaults 16\n  rootFontSize: 32,\n  // defaults 6\n  unitPrecision: 4,\n})\n```\n\n### Desktop Adaptation\n\nBecause component library interaction events are developed using `touch` events, `mouse` events on the desktop side are not supported.\nIt is recommended to use `@varlet/touch-emulator` to set `touch -> mouse` for desktop adaptation.\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```\n\n<!-- File: packages/varlet-ui/docs/browserAdaptation.zh-CN.md (Tokens: ~795 | Category: anthropic-skill) -->\n# 浏览器适配\n\n### 介绍\n\n组件库提供移动端和桌面端适配方案，\n移动端使用 [postcss-px-to-viewport](https://github.com/evrone/postcss-px-to-viewport) 方案进行适配，\n桌面端使用 `@varlet/touch-emulator` 方案进行适配。\n\n### 移动端适配\n\n#### CSS 单位适配\n\n组件库设计基于 `375px` 宽度设计稿，推荐使用 postcss 插件将 `px` 单位转换成 `vmin` 单位从而实现移动端适配。\n在 `webpack/vite` 项目根路径下创建 `postcss.config.js` 并做如下配置之后 `375px -> 100vmin`。\n\n```shell\n# playground-ignore\n# npm\nnpm i postcss-px-to-viewport -D\n\n# yarn\nyarn add postcss-px-to-viewport -D\n\n# pnpm\npnpm add postcss-px-to-viewport -D\n```\n\n```js\n// playground-ignore\n// postcss.config.js\nmodule.exports = {\n  plugins: {\n    'postcss-px-to-viewport': {\n      viewportWidth: 375,\n      unitPrecision: 6,\n      unitToConvert: 'px',\n      viewportUnit: 'vmin',\n      fontViewportUnit: 'vmin',\n      propList: ['*'],\n    }\n  }\n}\n```\n\n#### 主题包单位适配 (Viewport)\n\n因为主题包是运行时挂载的，不受 postcss 影响，组件库提供了实用工具 `Themes.toViewport` 进行适配，函数返回的主题将默认使用 `375px -> 100vmin` 的规则。\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark)\n```\n\n也可以对转换规则进行更改\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toViewport(Themes.md3Dark, {\n  // 默认值为 375\n  viewportWidth: 750,\n  // 默认值为 'vmin'\n  viewportUnit: 'vw',\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n####  主题包单位适配 (Rem)\n\n与 `Viewport` 方案类似\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst remTheme = Themes.toRem(Themes.md3Dark)\n```\n\n也支持自定义\n\n```js\nimport { Themes } from '@varlet/ui'\n\nconst viewportTheme = Themes.toRem(Themes.md3Dark, {\n  // 默认值为 16\n  rootFontSize: 32,\n  // 默认值为 6\n  unitPrecision: 4,\n})\n```\n\n### 桌面端适配\n\n由于组件库交互事件使用 `touch` 事件进行开发，不支持桌面端的 `mouse` 事件，\n推荐使用 `@varlet/touch-emulator` 将 `touch -> mouse` 从而实现桌面端适配。\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/touch-emulator\n# yarn\nyarn add @varlet/touch-emulator\n# pnpm\npnpm add @varlet/touch-emulator\n```\n\n```js\n// playground-ignore\nimport '@varlet/touch-emulator'\n```\n\n<!-- File: packages/varlet-ui/docs/cli.en-US.md (Tokens: ~2666 | Category: anthropic-skill) -->\n# Components Library Tools\n\n### Intro\n\nThe out-of-the-box `Vue3 component library` rapid prototyping tool provides a series of commands and tools to solve the problem of component library development.\n\n### Features\n\n- 📦 &nbsp;Out-of-the-box component library development environment\n- 📦 &nbsp;An out-of-the-box component library compilation tool that supports exporting `esm`, `cjs`, `umd` module codes\n- 🛠️ &nbsp;Configuration file-based component library documentation site, support Baidu statistics and theme customization\n- 🛠️ &nbsp;Supports both `sfc` and `tsx` styles for writing component libraries\n- 📦 &nbsp;Out-of-the-box code inspection tool\n- 📦 &nbsp;Out-of-the-box unit testing tools\n- 📦 &nbsp;Out-of-the-box code publishing tool, publishes to both `npm` and `github`, and automatically generates changelogs\n- 💪 &nbsp;Support for `VSCode` extension development\n- 💪 &nbsp;Support `build svg to web fonts`\n- 💪 &nbsp;Support for `Typescript`\n- 💪 &nbsp;Support `Various themes, including Material Design 2, Material Design 3`\n- 🌍 &nbsp;Support `Internationalization`\n- 🚀 &nbsp;Based on `pnpm`\n\n### Recommended toolchain\n\nUnder Varlet’s current `component-library toolchain`, we recommend combining `@varlet/cli`, [`vite-plus`](https://viteplus.dev/) (`vp`), and [`rattail`](https://rattail.varletjs.org/) (`rt`): `@varlet/cli` covers first-party library workflows (docs, compile, tests, …), `vp` covers lint/format and app/extension build entrypoints aligned with the Oxc/Rolldown stack, and `rattail` covers `clean`, git hooks, `changelog`, `release`, `commit-lint`, and similar automation. Use this trio for new libraries and scaffold upgrades.\n\n| Piece | Role |\n| --- | --- |\n| `@varlet/cli` | First-party Varlet workflows: `create`, `gen`, `dev`, `build`, `preview`, `compile`, `compile:style-vars`, `build:icons`, `test`, … |\n| [`vite-plus`](https://viteplus.dev/) (`vp`) | Lint, format, app/extension `build`/`dev`/`preview`, and other toolchain entrypoints aligned with the Oxc/Rolldown stack |\n| [`rattail`](https://rattail.varletjs.org/) (`rt`) | `clean`, git hooks, `changelog`, `release`, `commit-lint`, and other repo automation |\n\n### Commands pending deprecation\n\nThese commands still run for backward compatibility and may print a deprecation notice. Do not rely on them in new scripts or new projects — prefer `vp` / `rt` (or `vr` where documented). Any future changes will be called out in release notes.\n\n| Command | Use instead |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch` (with a local `vite.config.ts` for the extension) |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | Minimal value; deprecated without replacement |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### Quickstart\n\n`@varlet/cli` has built-in `sfc` and `tsx` style component library project templates, which can be generated directly by the `gen` command.\nIt is convenient for you to directly enter the component library development.\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## Advanced customization\n\n### Configuration file\n\nThe `varlet.config.mjs` in the project root directory is used to manage the specific details of the entire component library project.\nThe default configuration can be viewed [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts).\nAlso refer to `@varlet/ui` [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs).\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `name` | The full name of the component library, which will be used as the package name | _string_ | `Varlet` |\n| `namespace` | Component library namespace, will be used as component prefix | _string_ | `var` |\n| `host` | Development server host | _number_ | `localhost` |\n| `port` | Development server port | _number_ | `8080` |\n| `proxy` | Development server proxy | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | The title of the component library in the document | _string_ | `VARLET` |\n| `logo` | The logo of the component library in the document | _string_ | `-` |\n| `alias` | Path alias (root is src folder when use relative path) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | Document default language | _string_ | `zh-CN` |\n| `defaultLightTheme` | The default light theme | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | The default dark theme | _string_ | `md3DarkTheme` |\n| `useMobile` | Whether to display the mobile phone preview on the right | _boolean_ | `false` |\n| `themeKey` | The key of the theme in local storage | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 light mode document theme | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 dark mode document theme | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 light mode document theme | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 dark mode document theme | _Record<string, any>_ | `-` |\n| `highlight` | Document code snippet style related | _{ style: string }_ | `-` |\n| `analysis` | Document statistics related | _{ baidu: string }_ | `-` |\n| `pc` | PC side document structure configuration | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | Mobile document structure configuration | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | Bundle output options | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite plugins | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | Component library directive folder name | _string[]_ | `[]` |\n| `copy` | Copy file configuration | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `- ` |\n| `icons` | Font icon packaging related configurations | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts) _ | `-` |\n| `esbuild` | esbuild configuration | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n| `seo` | seo options | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| Parameter | Description | Type | Default |\n| --- | -------------- | -------- | ---------- |\n| `doc` | The document page corresponds to the matching file name, required | _string_ | `-` |\n| `type` | The type of menu, when the type is `1`, it means the category menu, when the type is `2`, the doc field matches the component file under src, when the type is `3`, the doc field matches the md file under docs, required | _MenuTypes_ | `-` |\n| `text` | The text displayed in the menu, English display text can be configured when internationalization is set, required | _Record<string, string>_ | `-` |\n| `useMobile` | Whether to display the mobile phone preview on the right side on the current document page, if not filled, the default value is useMobile in config  | _boolean_ | `-` |\n\n### Custom pages\n\nIf you want to insert other pages into the component library, you can create a `pages` folder in the project root directory to write a vue component to generate other pages.\nThe directory structure is as follows:\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n      \n```\n\nThe resulting route is as follows:\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### Command related\n\n#### Start the development server\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### Build a documentation site\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### Preview documentation site\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### Compile component library\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### Compile style vars types declaration file\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### Build svg to web fonts\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### Execute all unit tests\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### Execute a unit test\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### Execute unit tests in watch mode\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### Execute unit tests and report coverage\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### Generate a project template\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style project templates\n-t\n--tsx\n  Generate tsx-style project templates\n-l\n--locale\n  Need to support internationalization\n```\n\n#### Create a component template file\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  project name\n-s\n--sfc\n  Generate sfc-style component\n-t\n--tsx\n  Generate tsx-style component\n-l\n--locale\n  Need to support internationalization\n```\n\n### Note before publish\n\n1. `npm` repository registry must set to `npm` official mirror\n2. Execute `npm login` to log in\n\n### Q & A\n\n#### How to solve failure of installing sharp ?\n\n- You can choose to change mirror site which contains binaries for both sharp and libvips.\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n\n<!-- File: packages/varlet-ui/docs/cli.zh-CN.md (Tokens: ~3157 | Category: anthropic-skill) -->\n# 组件库快速成型工具\n\n### 介绍\n\n开箱即用的 `Vue3组件库` 快速成型工具，提供了一系列命令和工具去解决组件库开发上的问题。\n\n### 特性\n\n- 📦 &nbsp;开箱即用的组件库开发环境\n- 📦 &nbsp;开箱即用的组件库编译工具，支持导出 `esm`, `cjs`, `umd` 三种模块代码\n- 🛠️ &nbsp;基于配置文件的组件库文档站点，支持百度统计和主题定制\n- 🛠️ &nbsp;支持 `sfc` 和 `tsx` 两种风格的组件库编写风格\n- 📦 &nbsp;开箱即用的代码检查工具\n- 📦 &nbsp;开箱即用的单元测试工具\n- 📦 &nbsp;开箱即用的代码发布工具,同时发布到 `npm` 和 `github`, 并自动生成更新日志\n- 💪 &nbsp;支持 `VSCode` 插件开发\n- 💪 &nbsp;支持 `字体图标打包`\n- 💪 &nbsp;支持 `Typescript`\n- 💪 &nbsp;支持 `多种主题, 包含 Material Design 2、Material Design 3`\n- 🌍 &nbsp;支持 `国际化`\n- 🚀 &nbsp;基于 `pnpm`\n\n### 推荐技术栈\n\n在全新的 `Varlet 组件库工具链` 体系下，我们建议将 `@varlet/cli`、[`vite-plus`](https://viteplus.dev/)（`vp`）与 [`rattail`](https://rattail.varletjs.org/)（`rt`）组合使用：前者覆盖组件库文档站与编译等一等能力，后两者承接与 Oxc / Rolldown 栈一致的 lint、format、打包入口，以及 `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化。无论是从零搭建新库，还是升级旧脚手架、需要与模板对齐时，都推荐沿用这一组合。\n\n| 部分 | 作用 |\n| --- | --- |\n| `@varlet/cli` | Varlet 一等能力：`create`、`gen`、`dev`、`build`、`preview`、`compile`、`compile:style-vars`、`build:icons`、`test` 等 |\n| [`vite-plus`](https://viteplus.dev/)（`vp`） | 与 Oxc / Rolldown 栈一致的 lint、format、应用/扩展的 `build`/`dev`/`preview` 等入口 |\n| [`rattail`](https://rattail.varletjs.org/)（`rt`） | `clean`、git hooks、`changelog`、`release`、`commit-lint` 等工程自动化 |\n\n### 以下命令即将废弃\n\n以下命令仍可执行（会给出废弃相关提示），但不应在新脚本或新工程中再依赖，请优先改用 `vp` / `rt`（或文档中的 `vr`）。具体时间表以后续发布说明为准。\n\n| 命令 | 请改用 |\n| --- | --- |\n| `varlet-cli dev:vite` | `vp dev` |\n| `varlet-cli build:vite` | `vp build` |\n| `varlet-cli dev:extension` | `vp pack --watch`（扩展包内需有本地 `vite.config.ts`） |\n| `varlet-cli build:extension` | `vp pack` |\n| `varlet-cli commit-lint` | `rt commit-lint` |\n| `varlet-cli checklist` | 用处极小，直接废弃 |\n| `varlet-cli changelog` | `rt changelog` |\n| `varlet-cli release` | `rt release` |\n\n### 快速开始\n\n`@varlet/cli` 内置了 `sfc` 和 `tsx` 两种风格的组件库项目模板，可以通过 `gen` 命令直接生成。\n方便您直接进入组件库开发。\n\n```shell\n# playground-ignore\npnpm add @varlet/cli -g\nvarlet-cli gen\n```\n\n## 高级定制\n\n### 配置文件\n\n项目根目录下的 `varlet.config.mjs` 用来管理整个组件库项目的具体细节。\n默认配置可查阅 [varlet.default.config.ts](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.default.config.ts)。\n也可以参考 `@varlet/ui` 的 [varlet.config.mjs](https://github.com/varletjs/varlet/blob/dev/packages/varlet-ui/varlet.config.mjs)。\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `name` | 组件库全名，会作为包名 | _string_ | `Varlet` |\n| `namespace` | 组件库命名空间, 会作为组件前缀 | _string_ | `var` |\n| `host` | 开发服务器主机 | _number_ | `localhost` |\n| `port` | 开发服务器端口 | _number_ | `8080` |\n| `proxy` | 开发服务器代理 | _Record<string, string \\| ProxyOptions>_ | `-` |\n| `title` | 文档中组件库的标题 | _string_ | `VARLET` |\n| `logo` | 文档中组件库的 logo | _string_ | `-` |\n| `alias` | 路径别名 (使用相对路径时，根路径为 src 文件夹) | _Record<string, string>_ | `-` |\n| `defaultLanguage` | 文档默认语言 | _string_ | `zh-CN` |\n| `defaultLightTheme` | 默认的亮色主题 | _string_ | `md3LightTheme` |\n| `defaultDarkTheme` | 默认的暗色主题 | _string_ | `md3DarkTheme` |\n| `useMobile` | 是否显示右侧手机预览 | _boolean_ | `false` |\n| `themeKey` | 主题在本地存储中的 key | _string_ | `VARLET_THEME` |\n| `lightTheme` | md2 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `darkTheme` | md2 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `md3LightTheme` | md3 亮色模式文档主题 | _Record<string, any>_ | `-` |\n| `md3DarkTheme` | md3 暗黑模式文档主题 | _Record<string, any>_ | `-` |\n| `highlight` | 文档代码片段样式相关 | _{ style: string }_ | `-` |\n| `analysis` | 文档统计相关 | _{ baidu: string }_ | `-` |\n| `pc` | pc 端文档结构配置 | _[VarletConfigPc](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `mobile` | mobile 端文档结构配置 | _[VarletConfigMobile](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `bundle` | 组件库编译的捆绑产物配置 | _{ external: string[], globals: Record<string, string> }_ | `-` |\n| `vitePlugins` | vite 插件 | _[Plugin](https://vite.dev/guide/using-plugins.html)[]_ \\| `(plugins: Plugin[]) => Plugin[])` | `-` |\n| `directives` | 组件库指令文件夹名称 | _string[]_ | `[]` |\n| `copy` | 复制文件配置 | _[CopyPath[]](https://github.com/varletjs/varlet/blob/dev/packages/varlet-vite-plugins/src/copy.ts)_ | `-` |\n| `icons` | 字体图标打包相关配置 | _[VarletConfigIcons](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `esbuild` | esbuild 配置 | _[VarletConfigEsbuild](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | `-` |\n| `seo` | seo 选项 | _[VarletConfigSeo](https://github.com/varletjs/varlet/blob/dev/packages/varlet-cli/src/node/config/varlet.config.ts)_ | ` -` |\n\n#### Menu\n\n| 参数 | 说明 | 类型 | 默认值 |\n| -- | -------------- | -------- | ---------- |\n| `doc` | 文档页面应匹配的文件名称, 必填 | _string_ | `-` |\n| `type` | menu 类型, 当 type 为 `1` 时表示分类 menu, 类型为 `2` 时 doc 字段匹配 src 下的组件文件, 类型为`3`时 doc 字段匹配 docs 下的 md 文件 | _MenuTypes_ | `-` |\n| `text` | menu 所展示的文字, 当设置国际化时可配置英文展示文字 | _Record<string, string>_ | `-` |\n| `useMobile` | 是否在当前文档页显示右侧手机预览, 如不填写, 默认取 config 中的 useMobile | _boolean_ | `-` |\n\n### 自定义页面\n\n如果想在组件库中插入其他页面，可以在项目根目录下的创建 `pages` 文件夹编写 vue 组件， 用来生成其他的页面。\n目录结构如下：\n\n```text\n// playground-ignore\n|-- varlet-ui\n  |-- src\n  |-- docs\n  |-- pages\n    |-- sponsor\n      |-- index.vue\n    |-- contributor\n      |-- locale\n        |-- en-US.ts\n      |-- index.vue\n    |-- changelog\n      |-- locale\n        |-- zh-CN.ts\n        |-- en-US.ts\n      |-- index.vue\n```\n\n生成的路由如下：\n\n```text\n// playground-ignore\n/zh-CN/sponsor\n/en-US/contributor\n/zh-CN/changelog\n/en-US/changelog\n```\n\n### 命令相关\n\n#### 启动开发服务器\n\n```shell\n# playground-ignore\nvarlet-cli dev\n# force mode\nvarlet-cli dev -f\n# draft mode\nvarlet-cli dev -d\n```\n\n#### 构建文档站点\n\n```shell\n# playground-ignore\nvarlet-cli build\n```\n\n#### 预览文档站点\n\n```shell\n# playground-ignore\nvarlet-cli preview\n```\n\n#### 构建组件库\n\n```shell\n# playground-ignore\nvarlet-cli compile\n```\n\n#### 构建样式变量类型声明文件\n\n```shell\n# playground-ignore\nvarlet-cli compile:style-vars\n```\n\n#### 打包字体图标\n\n```shell\n# playground-ignore\nvarlet-cli build:icons -w\nvarlet-cli build:icons\n```\n\n#### 执行所有的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test\n```\n\n#### 执行单个组件的单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -c <componentName>\n```\n\n#### 以 watch 模式执行单元测试\n\n```shell\n# playground-ignore\nvarlet-cli test -w\n```\n\n#### 执行所有的单元测试并报告覆盖率\n\n```shell\n# playground-ignore\nvarlet-cli test -cov\n```\n\n#### 生成一个项目模板\n\n```shell\n# playground-ignore\nvarlet-cli gen\n\n# Options\n-n\n--name\n  项目名\n-s\n--sfc\n  生成 sfc 风格的项目模板\n-t\n--tsx\n  生成 tsx 格式项目\n-l\n--locale\n  需要支持国际化\n```\n\n#### 创建组件模板文件\n\n```shell\n# playground-ignore\nvarlet-cli create\n\n# Options\n-n\n--name\n  组件名\n-s\n--sfc\n  生成 sfc 风格的组件\n-t\n--tsx\n  生成 tsx 风格的文件\n-l\n--locale\n  需要支持国际化\n```\n\n### 发布前注意\n\n1. `npm` 的仓库源必须指向 `npm` 官方镜像\n2. 执行 `npm login` 进行登录\n\n### 问答\n\n#### 如何解决安装 sharp 失败的问题 ?\n\n- 您可以选择更改包含 sharp 和 libvips 二进制文件的镜像站点\n\n``` shell\npnpm config set sharp_binary_host \"https://npmmirror.com/mirrors/sharp\"\npnpm config set sharp_libvips_binary_host \"https://npmmirror.com/mirrors/sharp-libvips\"\n```\n\n<!-- File: packages/varlet-ui/docs/defaultsCustomization.en-US.md (Tokens: ~193 | Category: anthropic-skill) -->\n# Defaults Customization\n\n### Intro\n\nThe component library provides the ability to customize the default values of component props.\n\n### Basic Usage\n\nCustomize the component's property definition through the static method `setPropsDefaults` provided by the component. It should be noted that attribute customization only takes effect for declarative components, and the customized behavior should be before the component is initialized.\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\nAfter customization, the following two writing methods will be equivalent.\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/defaultsCustomization.zh-CN.md (Tokens: ~219 | Category: anthropic-skill) -->\n# 默认值定制\n\n### 介绍\n\n组件库提供对组件属性的默认值进行定制的能力。\n\n### 基本用法\n\n通过组件提供的静态方法 `setPropsDefaults` 对组件的属性定义进行定制。需要注意的是，属性定制只对声明式组件生效，并且定制行为应在组件初始化之前。\n\n```js\n// playground-ignore\n// main.ts\nimport { Button } from '@varlet/ui'\n\nButton.setPropsDefaults({\n  type: 'primary',\n  elevation: 10\n})\n```\n\n定制之后，下面两种写法将会是等价的。\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button>Hello</var-button>\n</template>\n```\n\n```html\n<!-- playground-ignore -->\n<!-- App.vue -->\n<template>\n  <var-button type=\"primary\" :elevation=\"10\">Hello</var-button>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/designResources.en-US.md (Tokens: ~208 | Category: anthropic-skill) -->\n# Design Resources\n\n### Intro\n\nWe provide design resources for designers, you can select the required resources on this page to download.\n\n### Components Resources\n\nComponent resources include `color`, `text`, and `component resources`. At present, only the design resources of the Material Design 2 light color mode are provided, and the dark mode is not yet available. Community contributions are welcome.\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### Icons Resources\n\nThe icon resource contains `100+` icons built into the component library.\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n<!-- File: packages/varlet-ui/docs/designResources.zh-CN.md (Tokens: ~237 | Category: anthropic-skill) -->\n# 设计资源\n\n### 介绍\n\n我们为设计师提供了设计资源，您可以在本页面选择所需的资源进行下载。\n\n### 组件资源\n\n组件资源包含了`色彩`、`文字`、`组件资源`。目前只提供 Material Design 2 亮色模式的设计资源，其他资源暂未提供，欢迎社区贡献。\n\n<img src=\"https://varletjs.org/design/components.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport ComponentResourcesDownload from './components/ComponentResourcesDownload.vue'\n```\n\n### 图标资源\n\n图标资源包含了组件库内置的 `100+` 图标。\n\n<img src=\"https://varletjs.org/design/icons.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n```vue\nimport IconResourcesDownload from './components/IconResourcesDownload.vue'\n```\n\n<!-- File: packages/varlet-ui/docs/extension.en-US.md (Tokens: ~601 | Category: anthropic-skill) -->\n# VSCode Extension\n\n### Intro\n\nFor a better development experience, we built a `VSCode plugin`.\n\n### Features\n\n- 🛠️ &nbsp;Support syntax hints and quick completion for all components.\n- 🛠️ &nbsp;Support document address preview and quick jump for all components.\n- 🛠️ &nbsp;Support frame selection of code snippets to quickly open `Playground`.\n- 🛠️ &nbsp;Support full icon preview for icon components.\n- 🌍 &nbsp;Support switching between Chinese and English.\n\n### Install\n\nVsCode Extension Marketplace Search [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension).\n\n### How To Use\n\nGrammatical hints appear when you enter the keyword of the component name, and you can quickly complete it after selecting it.\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nMoving the mouse to the component name will display the document address of the component, which can be clicked to jump, and it also directly displays the properties, events and slots of the component in the form of a table.\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nPress space or attribute keywords in the attribute input range of the label to display attribute completion prompts and attribute information.\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nWhen the `name` property of the `Icon` component is input, an icon preview will appear, and syntax completion will be performed after selection.\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nFrame the code snippet, and you can quickly open `Playground` in the right-click menu to preview the framed code online.\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\nSupport switching between Chinese and English, more friendly to Chinese people.\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n\n<!-- File: packages/varlet-ui/docs/extension.zh-CN.md (Tokens: ~685 | Category: anthropic-skill) -->\n# VSCode 插件\n\n### 介绍\n\n为了更优秀的开发体验，我们构建了一个 `VSCode 插件`。\n\n### 特性\n\n- 🛠️ &nbsp;支持全组件的语法提示、快速补全。\n- 🛠️ &nbsp;支持全组件的文档地址预览、快速跳转。\n- 🛠️ &nbsp;支持框选代码片段，快速打开 `Playground`。\n- 🛠️ &nbsp;支持图标组件的全图标预览。\n- 🌍 &nbsp;支持中英文切换。\n\n### 安装\n\nVsCode 插件市场搜索 [varlet-vscode-extension](https://marketplace.visualstudio.com/items?itemName=haoziqaq.varlet-vscode-extension)。\n\n### 如何使用\n\n输入组件名称关键字时出现语法提示，选中后进行快速补全。\n\n<img src=\"https://varletjs.org/vscode/1.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n鼠标移动到组件名会显示组件的文档地址用来点击跳转，也直接以表格的形式展示组件的属性、事件和插槽。\n\n<img src=\"https://varletjs.org/vscode/2.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n在标签的属性输入范围按下空格或属性关键字，显示属性补全提示和属性信息。\n\n<img src=\"https://varletjs.org/vscode/3.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n输入 `Icon` 组件的 `name` 属性时出现图标预览，选中后进行语法补全。\n\n<img src=\"https://varletjs.org/vscode/4.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n框选代码片段，右键菜单中可以快速打开 `Playground` 对框选的代码进行线上预览。\n\n<img src=\"https://varletjs.org/vscode/7.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n\n支持中英文切换，对中国人更加友好。\n\n<img src=\"https://varletjs.org/vscode/5.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 16px\">\n<img src=\"https://varletjs.org/vscode/6.png\" style=\"width: 100%; display: block; border-radius: 4px; margin-top: 10px\">\n\n<!-- File: packages/varlet-ui/docs/home.en-US.md (Tokens: ~1251 | Category: anthropic-skill) -->\n# Basic Introduce\n\n### Intro\n\nVarlet is a `Vue3` component library based on Material Design 2 and 3, supporting mobile and desktop, developed and maintained by `varletjs` organization.\n\n### Features\n\n- 🚀 &nbsp; Provide 60+ high quality general purpose components\n- 🚀 &nbsp; Components are very lightweight\n- 💪 &nbsp; Developed by Chinese, complete Chinese and English documentation and logistics support\n- 🛠️ &nbsp; Support on-demand introduction\n- 🛠️ &nbsp; Support theme customization\n- 🌍 &nbsp; Support internationalization\n- 💡 &nbsp; Support WebStorm syntax highlighting\n- 💪 &nbsp; Support the SSR\n- 📦 &nbsp; Support [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; Support the Typescript\n- 💪 &nbsp; Make sure more than 90 percent unit test coverage, providing stability assurance\n- 🎨 &nbsp; Supports both Material Design 2 and Material Design 3 design systems\n- 🛠️ &nbsp; Support dark mode\n- 🔧 &nbsp; Provide official VSCode extension\n- ⌨️ &nbsp; Support Accessibility (still improving)\n\n\n### Official Ecosystem\n\nThe following projects are maintained by the official team for a long time.\n\n| Name | Description |\n|------------------------------------------------------------------------------------------------------|--------------------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli) | `Vue3 component library rapid prototyping tool` |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `Desktop adapter, so that the mobile component library can run on the desktop` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground) | `Varlet component library online editing tool` |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | `A resolver for` [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) ` used to implement Varlet and import it on demand`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | [UnoCss](https://unocss.dev/) `presets for varlet` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | [tailwindcss](https://tailwindcss.com/) `presets for varlet` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `Theme generator for generating theme variables for varlet Material Design 3` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension) | `Varlet Component Library VSCode Plugin` |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode Theme`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet component library app template`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Case collection of Varlet component library and various ecosystem integration` |\n\n### Community Ecosystem\n\nThe following projects are maintained by community personnel, welcome to add.\n\n| Name | Description |\n|----------------------------------------------------------------|-----------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `Vue-based mobile template scaffolding, providing mobile presets for Varlet component library` |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `A desktop template scaffolding based on Vue3, providing desktop presets for Varlet component library` |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `A VS Code extension that provides better intellisense to Varlet developers` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `A mobile template based on Vue 3 and Varlet Component Library` |\n\n### PR & Issue\nIf you have any problems during use, you can [issue](https://github.com/varletjs/varlet/issues) them to us on [github](https://github.com/varletjs/varlet),\nwe will deal with it as soon as possible. You can also give us [PR](https://github.com/varletjs/varlet/pulls).\n\n### Open source licenses\nComponent library based on `MIT` licenses.\n\n### Contribution Guide\nSee [Varlet Contribution](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md).\n\n### Thanks to contributors\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### Thanks to the following sponsors\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>\n\n<!-- File: packages/varlet-ui/docs/home.zh-CN.md (Tokens: ~1542 | Category: anthropic-skill) -->\n# 基本介绍\n\n### 介绍\n\nVarlet 是一个 `Vue3` 组件库，基于 Material Design 2 和 3，支持移动端、桌面端，由 `varletjs` 组织维护。\n\n### 特性\n\n- 🚀 &nbsp; 提供 60+ 个高质量通用组件\n- 🚀 &nbsp; 组件十分轻量\n- 💪 &nbsp; 由国人开发，完善的中英文文档和后勤保障\n- 🛠️ &nbsp; 支持按需引入\n- 🛠️ &nbsp; 支持主题定制\n- 🌍 &nbsp; 支持国际化\n- 💡 &nbsp; 支持 webstorm 组件属性高亮\n- 💪 &nbsp; 支持 SSR\n- 📦 &nbsp; 支持 [Nuxt Module](https://github.com/varletjs/varlet-nuxt)\n- 💡 &nbsp; 支持 Typescript\n- 💪 &nbsp; 确保 90% 以上单元测试覆盖率，提供稳定性保证\n- 🎨 &nbsp; 同时支持 Material Design 2 和 Material Design 3 两套设计系统\n- 🛠️ &nbsp; 支持暗黑模式\n- 🔧 &nbsp; 提供官方的 VSCode 插件\n- ⌨️ &nbsp; 支持无障碍访问（持续改进中）\n\n### 官方生态\n\n以下项目由官方团队长期维护。\n\n| 名称                                                                                                   | 描述                       |\n|------------------------------------------------------------------------------------------------------|--------------------------|\n| [@varlet/cli](https://github.com/varletjs/varlet/tree/dev/packages/varlet-cli)                       | `Vue3 组件库快速成型工具`         |\n| [@varlet/touch-emulator](https://github.com/varletjs/varlet/tree/dev/packages/varlet-touch-emulator) | `桌面端适配器，让移动端组件库可以在桌面端运行` |\n| [@varlet/ui-playground](https://github.com/varletjs/varlet/tree/dev/packages/varlet-ui-playground)  | `Varlet 组件库在线编辑工具`       |\n| [@varlet/import-resolver](https://github.com/varletjs/varlet/tree/dev/packages/varlet-import-resolver)  | [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) `的一个解析器，用于实现 Varlet 按需引入`   |\n| [@varlet/preset-unocss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-unocss)  | `varlet 的` [UnoCss](https://unocss.dev/) `预设` |\n| [@varlet/preset-tailwindcss](https://github.com/varletjs/varlet/tree/dev/packages/varlet-preset-tailwindcss)  | `varlet 的` [tailwindcss](https://tailwindcss.com/) `预设` |\n| [varlet-theme-builder](https://github.com/varletjs/varlet-theme-builder) | `主题生成器，用于为 varlet material design 3 生成主题变量` | \n| [varlet-vscode-extension](https://github.com/varletjs/varlet/tree/dev/packages/varlet-vscode-extension)  | `Varlet 组件库 VSCode 插件`   |\n| [vscode-theme-varlet](https://github.com/varletjs/vscode-theme-varlet)  | `Varlet VSCode 主题`   |\n| [varlet-app-example](https://github.com/varletjs/varlet-app-template)  | `Varlet 组件库移动端模板`   |\n| [varlet-install-example](https://github.com/varletjs/varlet-install-example)  | `Varlet 组件库与各种生态集成的案例集合`   |\n\n### 社区生态\n\n以下项目由社区人员维护，欢迎补充。\n\n| 名称                                                             | 描述                                        |\n|----------------------------------------------------------------|-------------------------------------------|\n| [vue-h5-template](https://github.com/sunniejs/vue-h5-template) | `基于 Vue 的移动端模板脚手架，提供了 Varlet 组件库的移动端预设`   |\n| [create-vite-app](https://github.com/ErKeLost/create-vite-app) | `基于 Vue3 的桌面端模板脚手架，提供了 Varlet 组件库的桌面端预设`  |\n| [vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) | `为 Varlet 开发人员提供更好的智能感知的 VSCode 扩展` |\n| [vue3-varlet-mobile](https://github.com/vue-zone/vue3-varlet-mobile) | `基于 Vue 3 和 Varlet 组件库的移动模板` |\n\n### PR & Issue\n使用过程中出现的问题可以到 [github](https://github.com/varletjs/varlet) 来给我们提 [issue](https://github.com/varletjs/varlet/issues)，\n我们会在第一时间处理问题。也可以给我们提 [PR](https://github.com/varletjs/varlet/pulls)，我们也十分欢迎小伙伴们来参与贡献。\n\n### 开源协议\n组件库基于 `MIT` 协议。\n\n### 贡献指南\n详情见 [Varlet 贡献指南](https://github.com/varletjs/varlet/blob/dev/.github/CONTRIBUTING.md)。\n\n### 感谢贡献者们做出的努力\n\n<a href=\"https://github.com/varletjs/varlet/graphs/contributors\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://contrib.rocks/image?repo=varletjs/varlet\" style=\"width: 100%; display: block; border-radius: 4px;\" />\n</a>\n\n### 感谢以下赞助者\n\n<a href=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; margin-top: 16px\">\n  <img src=\"https://cdn.jsdelivr.net/gh/varletjs/varlet-static/sponsorkit/sponsors.svg\" style=\"width: 100%; display: block; border-radius: 4px;\">\n</a>\n\n<!-- File: packages/varlet-ui/docs/importOnDemand.en-US.md (Tokens: ~784 | Category: anthropic-skill) -->\n# Import On Demand\n\n### Intro\n\nOn-demand import avoids the full import of components, which can effectively reduce the size of the release package.\n\n### Automatic Import\n\nvia plugin\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) and\n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\nImplement components to automatically import on demand, This is our most recommended way.\n\n#### Install Plugin\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript configuration note\n\nIn order to get good IDE syntax highlighting, \nplease make sure that the type declaration files generated by the above two plugins are include by `typescript`,\nwhich can be configured as follows in `tsconfig.json`:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### Manual import\n\nEach component is a `Vue plugin` and consists of `component logic` and `style files`, which are manually imported and used as follows.\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\nOR\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>Say Hello</var-button>\n</template>\n```\n\n### Manual import and automatic import comparison\n\nManual import\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```\n\nAutomatic import\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('Hello!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">Say Hello</var-button>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/importOnDemand.zh-CN.md (Tokens: ~859 | Category: anthropic-skill) -->\n# 按需引入\n\n### 介绍\n\n按需引入避免了组件的全量导入，可以有效的减少发布包的大小。\n\n### 自动引入\n\n通过插件\n[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) 和 \n[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)\n实现组件自动按需导入，这也是我们最推荐的方式。\n\n#### 安装插件\n\n```shell\n# playground-ignore\n# npm\nnpm i @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# yarn\nyarn add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n\n# pnpm\npnpm add @varlet/import-resolver unplugin-vue-components unplugin-auto-import -D\n```\n\n#### Vite\n\n```js\n// playground-ignore\n// vite.config.js\nimport vue from '@vitejs/plugin-vue'\nimport components from 'unplugin-vue-components/vite'\nimport autoImport from 'unplugin-auto-import/vite'\nimport { VarletImportResolver } from '@varlet/import-resolver'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    vue(),\n    components({\n      resolvers: [VarletImportResolver()]\n    }),\n    autoImport({\n      resolvers: [VarletImportResolver({ autoImport: true })]\n    })\n  ]\n})\n```\n\n#### Vue CLI\n```js\n// playground-ignore\n// vue.config.js\nconst Components = require('unplugin-vue-components/webpack')\nconst AutoImport = require('unplugin-auto-import/webpack')\nconst { VarletImportResolver } = require('@varlet/import-resolver')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [\n      Components.default({\n        resolvers: [VarletImportResolver()]\n      }),\n      AutoImport.default({\n        resolvers: [VarletImportResolver({ autoImport: true })]\n      })\n    ]\n  }\n}\n```\n\n#### Typescript 配置注意\n\n为了得到良好的 IDE 语法高亮，请确保上述两个插件生成的类型声明文件被 `typescript` 识别，可在 `tsconfig.json` 中进行如下配置:\n\n```json\n// playground-ignore\n{\n  \"include\": [\"auto-imports.d.ts\", \"components.d.ts\"]\n}\n```\n\n### 手动引入\n\n每一个组件都是一个 `Vue插件`，并由 `组件逻辑` 和 `样式文件` 组成，手动引入的使用方式如下。\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport { createApp } from 'vue'\nimport { Button } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n\ncreateApp(App).use(Button)\n```\n\n或\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\n</script>\n\n<template>\n  <var-button>说你好</var-button>\n</template>\n```\n\n### 手动引入和自动引入对比\n\n#### 手动引入\n\n```html\n// playground-ignore\n<script setup>\nimport { Button as VarButton, Snackbar } from '@varlet/ui'\nimport '@varlet/ui/es/button/style/index'\nimport '@varlet/ui/es/snackbar/style/index'\n\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```\n\n#### 自动引入\n\n```html\n// playground-ignore\n<script setup>\nfunction handleClick() {\n  Snackbar('你好!')\n}\n</script>\n\n<template>\n  <var-button @click=\"handleClick\">说你好</var-button>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/migrationGuide.en-US.md (Tokens: ~1101 | Category: anthropic-skill) -->\n# Migrating from 2.x\n\n### Intro\n\nThis section mainly introduces the considerations for migrating from `2.x` to `3.x`\n\n### Component function changes\n\n- DatePicker component removes compatibility with `headerColor` property\n- TimePicker component removes compatibility with `headerColor` property\n- ImagePreview component removes compatibility with `current` property\n- Chip component removed compatibility with `closable` property\n- Progress component removed compatibility with `ripple` property\n- IndexBar component removes compatibility with `cssMode` property\n- LoadingBar component removed compatibility with `mergeConfig` method\n\n### Component style variable changes\n\nIn order to make component style definition easier and support `Material Design 3`, the `3.x` version has restructured the style variables of the component library and added some new basic style variables.\n\n| Variable  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\nHere are some variables that may affect the appearance of your page.\n\n- DatePicker \n\n  - `--picker-header-padding` change to `--date-picker-header-padding`\n  - `--picker-header-color` change to `--date-picker-header-color`\n  - `--picker-actions-padding` change to `--date-picker-actions-padding`\n\n- Pagination\n\n  Remove\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  Remove\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  Remove `--progress-ripple-color`\n\n- Select/Input\n\n  The component has undergone a major refactoring and supports hint animation when the prepend icon exists.\n  \n  | Removed Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | Added Variable  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |\n\n<!-- File: packages/varlet-ui/docs/migrationGuide.zh-CN.md (Tokens: ~1228 | Category: anthropic-skill) -->\n# 从 2.x 迁移\n\n### 介绍\n\n本节主要介绍从 `2.x` 迁移至 `3.x` 的注意事项\n\n### 组件功能变更\n\n- DatePicker 组件移除了对 `headerColor` 属性的兼容\n- TimePicker 组件移除了对 `headerColor` 属性的兼容\n- ImagePreview 组件移除了对 `current` 属性的兼容\n- Chip 组件移除了对 `closable` 属性的兼容\n- Progress 组件移除了对 `ripple` 属性的兼容\n- IndexBar 组件移除了对 `cssMode` 属性的兼容\n- LoadingBar 组件移除了对 `mergeConfig` 方法的兼容\n\n### 组件样式变量变更\n\n为了使组件样式定义更加容易，并且支持 `Material Design 3`，`3.x` 版本对组件库的样式变量进行了一次重构，新增了一些基础样式变量。\n\n| 变量名  |\n|----------------|\n| `--color-on-primary` |\n| `--color-on-info` |\n| `--color-on-success` |\n| `--color-on-warning` |\n| `--color-on-danger` |\n| `--color-primary-container` |\n| `--color-info-container` |\n| `--color-success-container` |\n| `--color-warning-container` |\n| `--color-danger-container` |\n| `--color-on-primary-container` |\n| `--color-on-info-container` |\n| `--color-on-success-container` |\n| `--color-on-warning-container` |\n| `--color-on-danger-container` |\n| `--color-outline` |\n| `--color-surface-container` |\n| `--color-surface-container-low` |\n| `--color-surface-container-high` |\n| `--color-surface-container-highest` |\n| `--color-inverse-surface` |\n| `--color-on-surface-variant` |\n| `--opacity-hover` |\n| `--opacity-focus` |\n\n以下列举了一些可能会影响页面样式的变量变更。\n\n- DatePicker \n\n  - `--picker-header-padding` 变更为 `--date-picker-header-padding`\n  - `--picker-header-color` 变更为 `--date-picker-header-color`\n  - `--picker-actions-padding` 变更为 `--date-picker-actions-padding`\n\n- Pagination\n\n  移除\n  `--pagination-list-bg-color`,\n  `--pagination-list-active-bg-color`,\n  `--pagination-list-active-color`\n\n- Step\n\n  移除\n  `--step-min-size`,\n  `--step-line-size`\n\n- Progress\n\n  移除 `--progress-ripple-color`\n\n- Select/Input\n\n  组件进行了一次较大的重构，支持了前置图标存在时的占位符 (hint) 动画\n  \n  | 移除变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-padding-top` |\n  | `--field-decorator-standard-normal-padding-bottom` |\n  | `--field-decorator-standard-normal-icon-padding` |\n  | `--field-decorator-standard-normal-non-hint-padding-top` |\n  | `--field-decorator-standard-normal-placeholder-translate-y` |\n  | `--field-decorator-standard-small-padding-top` |\n  | `--field-decorator-standard-small-padding-bottom` |\n  | `--field-decorator-standard-small-icon-padding` |\n  | `--field-decorator-standard-small-non-hint-padding-top` |\n  | `--field-decorator-standard-small-placeholder-translate-y` |\n  | `--field-decorator-outlined-normal-padding-top` |\n  | `--field-decorator-outlined-normal-padding-bottom` |\n  | `--field-decorator-outlined-normal-icon-padding` |\n  | `--field-decorator-outlined-normal-placeholder-translate-y` |\n  | `--field-decorator-outlined-small-padding-top` |\n  | `--field-decorator-outlined-small-padding-bottom` |\n  | `--field-decorator-outlined-small-icon-padding` |\n  | `--field-decorator-outlined-small-placeholder-translate-y` |\n\n  | 新增变量  |\n  | ----------------| \n  | `--field-decorator-standard-normal-margin-top` |\n  | `--field-decorator-standard-normal-margin-bottom` |\n  | `--field-decorator-standard-normal-icon-margin-top` |\n  | `--field-decorator-standard-normal-icon-margin-bottom` |\n  | `--field-decorator-standard-normal-non-hint-margin-top` |\n  | `--field-decorator-standard-small-margin-top` |\n  | `--field-decorator-standard-small-margin-bottom` |\n  | `--field-decorator-standard-small-icon-margin-top` |\n  | `--field-decorator-standard-small-icon-margin-bottom` |\n  | `--field-decorator-standard-small-non-hint-margin-top` |\n  | `--field-decorator-outlined-normal-margin-top` |\n  | `--field-decorator-outlined-normal-margin-bottom` |\n  | `--field-decorator-outlined-normal-icon-margin-top` |\n  | `--field-decorator-outlined-normal-icon-margin-bottom` |\n  | `--field-decorator-outlined-small-margin-top` |\n  | `--field-decorator-outlined-small-margin-bottom` |\n  | `--field-decorator-outlined-small-icon-margin-top` |\n  | `--field-decorator-outlined-small-icon-margin-bottom` |\n\n<!-- File: packages/varlet-ui/docs/quickstart.en-US.md (Tokens: ~536 | Category: anthropic-skill) -->\n# Quick Start\n\n### Intro\n\nHere are the most basic ways to access component libraries in common development patterns.\n\n### Install\n\n#### CDN\n\n`varlet.js` contain all the styles and logic of the component library, and you can import them.\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>Button</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# Install with npm, yarn or pnpm\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### Support Desktop\n\n`Varlet` is a mobile-first component library. To support desktop, you need to install an adapter. See [browser adaptation](#/en-US/browserAdaptation) for details.\n\n### Choose a design system\n\nStarting from version 3.x, Varlet supports both Material Design 2 and Material Design 3 design systems.\n\n```js\n// playground-ignore\n// Varlet defaults to Material Design 2 light mode\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 Dark Mode\nStyleProvider(Themes.dark)\n// Material Design 3 Light Mode\nStyleProvider(Themes.md3Light)\n// Material Design 3 Dark Mode\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### Components Playground\n\nWe provide a web version of the component editor,\nwhich is convenient for you to quickly get started with each component of the component library,\nedit it online, share it with others, or download the code package to run locally.\nYou can click the `{...}` icon in the upper right corner of the page or [go here](https://varletjs.org/playground).\n\n<!-- File: packages/varlet-ui/docs/quickstart.zh-CN.md (Tokens: ~618 | Category: anthropic-skill) -->\n# 快速开始\n\n### 介绍\n\n这里为您介绍常见开发模式下接入组件库的最基本方式。\n\n### 安装\n\n#### CDN\n\n`varlet.js` 包含组件库的所有样式和逻辑, 引入即可。\n\n```html\n<!-- playground-ignore -->\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/vue\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@varlet/ui/umd/varlet.js\"></script>\n<script>\n  const app = Vue.createApp({\n    template: '<var-button>按钮</var-button>'\n  })\n  app.use(Varlet).mount('#app')\n</script>\n```\n\n#### Webpack/Vite\n\n```shell\n# playground-ignore\n# 通过 npm、yarn 或 pnpm 安装\n\n# npm\nnpm i @varlet/ui -S\n\n# yarn\nyarn add @varlet/ui\n\n# pnpm\npnpm add @varlet/ui\n```\n\n```js\n// playground-ignore\nimport App from './App.vue'\nimport Varlet from '@varlet/ui'\nimport { createApp } from 'vue'\nimport '@varlet/ui/es/style'\n\ncreateApp(App).use(Varlet).mount('#app')\n```\n\n### 支持桌面端\n\n`Varlet` 是一个移动端优先的组件库，支持桌面端需要安装一个适配器，详情见[浏览器适配](#/zh-CN/browserAdaptation)。\n\n### 选择设计系统\n\n从 3.x 版本开始，Varlet 同时支持了 Material Design 2 和 Material Design 3 两种设计系统。\n\n```js\n// playground-ignore\n// Varlet 默认为 Material Design 2 亮色模式\nimport { Themes, StyleProvider } from '@varlet/ui'\n\n// Material Design 2 暗色模式\nStyleProvider(Themes.dark)\n// Material Design 3 亮色模式\nStyleProvider(Themes.md3Light)\n// Material Design 3 暗色模式\nStyleProvider(Themes.md3Dark)\n```\n\n```css\n// playground-ignore\nbody {\n  transition: background-color .25s, color .25s;\n  color: var(--color-text);\n  background-color: var(--color-body);\n  color-scheme: var(--color-scheme);\n}\n```\n\n### 在线体验组件\n\n我们提供了网页版的组件编辑器，方便您对组件库的各个组件进行快速上手、在线编辑、分享给他人或是下载代码包本地运行。\n您可以点击网页右上角的 `{...}` 图标或是 [这里前往](https://varletjs.org/playground)。\n\n<!-- File: packages/varlet-ui/docs/serverSideRendering.en-US.md (Tokens: ~176 | Category: anthropic-skill) -->\n# Server Side Rendering\n\n### Intro\n\nHere we introduce you to the basic way of introducing `Varlet` into `Nuxt`.\n\n### Create a Nuxt project\n\n`Nuxt.js` is a server-side rendering application framework based on `Vue.js`. For detailed tutorials, please go to [Nuxt](https://nuxt.com).\n\n### Nuxt Module\n\nThe first party of the component library provides [Varlet Nuxt Module](https://nuxt.com/modules/varlet) to support on-demand import and automatic import. Execute the following command to install it. After successful installation, nuxt related configuration will be automatically completed.\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### Example Repo\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n\n<!-- File: packages/varlet-ui/docs/serverSideRendering.zh-CN.md (Tokens: ~213 | Category: anthropic-skill) -->\n# 服务端渲染\n\n### 介绍\n\n这里为您介绍在 `Nuxt` 中引入 `Varlet` 的基本方式。\n\n### 创建 Nuxt 项目\n\n`Nuxt.js` 是一个基于 `Vue.js` 的服务端渲染应用框架，详细教程请移步 [Nuxt](https://nuxt.com)。\n\n### Nuxt Module\n\n组件库第一方提供了 [Varlet Nuxt Module](https://nuxt.com/modules/varlet)。以支持按需引入和自动引入，执行下面的命令进行安装，安装成功后将自动完成 nuxt 相关配置。\n\n```shell\n# playground-ignore\nnpx nuxi@latest module add varlet\n```\n\n### 示例仓库\n\n[varlet-install-example/nuxt](https://github.com/varletjs/varlet-install-example/tree/main/nuxt)\n\n<!-- File: packages/varlet-ui/docs/zodValidation.en-US.md (Tokens: ~861 | Category: anthropic-skill) -->\n# Zod Validation\n\n### Intro\n\nWe support form validation based on [Zod](https://zod.dev/) in `3.5.0+`. \n`Zod` is a very powerful data validation tool and is very friendly to `Typescript`.\n\n### Install Zod\n\nIn order to control the size of the component library, we do not build-in `Zod`, so you need to install it manually.\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### Basic Usage\n\nThe `rules` property of each form component supports passing in one or more `Zod Schema`.\nThe component will use the rules of the `Schema` for validation, \nand when validation fails, the error message defined in it will be used as a user prompt.\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"z.string().min(1, 'Name required')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"z.string().email('Email format error')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"z.string().min(6, 'Password must be at least 6 characters')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[z.string().min(6, 'Confirmation password must be at least 6 characters'), v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### Use With Typescript\n\nIf you use `Typescript`, define a `Zod Schema` to get both Typescript types and form rules.\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, 'Name required'),\n  email: z.string().email('Email format error'),\n  password: z.string().min(6, 'Password must be at least 6 characters'),\n  repeatPassword: z.string().min(6, 'Confirmation password must be at least 6 characters'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"Name\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"Email\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"Password\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"Confirmation Password\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || 'Does not match password']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">Submit</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n<!-- File: packages/varlet-ui/docs/zodValidation.zh-CN.md (Tokens: ~891 | Category: anthropic-skill) -->\n# Zod 验证\n\n### 介绍\n\n我们在 `3.5.0+` 支持了基于 [Zod](https://zod.dev/) 的表单验证方式，`Zod` 是一个非常强大的数据验证工具，并且对 `Typescript` 十分友好。\n\n### 安装 Zod\n\n为了控制组件库的尺寸，我们不内置 `Zod`，所以需要手动安装。\n\n```shell\n# npm\nnpm i zod -S   \n\n# yarn\nyarn add zod    \n\n# pnpm\npnpm add zod\n```\n\n### 基本使用\n\n每个表单组件的 `rules` 属性支持传入一个或多个 `Zod Schema`。\n组件将使用该 `Schema` 的规则进行验证，验证失败时将使用其定义的错误信息作为用户提示。\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst user = ref({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"z.string().min(1, '名称不能为空')\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"z.string().email('邮箱格式有误')\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"z.string().min(6, '密码最少6位')\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[z.string().min(6, '密码最少6位'), v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n### 结合 Typescript 使用\n\n如果您使用 `Typescript`，定义一个 `Zod Schema` 可以同时得到 Typescript 类型和表单 rules。\n\n```html\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { z } from 'zod'\n\nconst UserSchema = z.object({\n  name: z.string().min(1, '名称不能为空'),\n  email: z.string().email('邮箱格式有误'),\n  password: z.string().min(6, '密码最少6位'),\n  repeatPassword: z.string().min(6, '确认密码最少6位'),\n})\n\nconst user = ref<z.infer<typeof UserSchema>>({\n  name: '',\n  email: '',\n  password: '',\n  repeatPassword: ''\n})\n\nfunction handleSubmit(valid) {\n  console.log(valid)\n}\n</script>\n\n<template>\n  <var-form @submit=\"handleSubmit\">\n    <var-space direction=\"column\" size=\"large\">\n      <var-input \n        placeholder=\"名称\" \n        :rules=\"UserSchema.shape.name\" \n        v-model=\"user.name\"\n       />\n      <var-input \n        placeholder=\"邮箱\" \n        :rules=\"UserSchema.shape.email\" \n        v-model=\"user.email\" \n      />\n      <var-input \n        type=\"password\"\n        placeholder=\"密码\" \n        :rules=\"UserSchema.shape.password\"\n        v-model=\"user.password\" \n      />\n      <var-input \n        type=\"password\" \n        placeholder=\"确认密码\"\n        :rules=\"[UserSchema.shape.repeatPassword, v => v === user.password || '与密码不一致']\" \n        v-model=\"user.repeatPassword\" \n      />\n      <var-button type=\"primary\" native-type=\"submit\">提交</var-button>\n    </var-space>\n  </var-form>\n</template>\n```\n\n<!-- File: packages/varlet-ui/src/action-sheet/docs/en-US.md (Tokens: ~3776 | Category: anthropic-skill) -->\n# ActionSheet\n\n### Intro\n\nAn action sheet pops up to give the user the ability to select options.\n`ActionSheet` Functional and component use methods are provided, and there is no essential difference between the two effects and parameters.\nThe function returns a `Promise`, on selection return `action`. Click modal close to return `close`.\n\n## Function Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">Basic Use</var-button>\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    title: 'Choose whichever you like'\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Modify Title</var-button>\n</template>\n```\n\n### Action Disabled\n\nThe option is passed `disabled` to leave the action in the disabled state.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({\n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Action Disabled</var-button>\n</template>\n```\n\n### Disable Close On Click Action\n\nPassing in `CloseOnClickAction` disallows the action of `ActionSheet` closing automatically when the option is selected. The user can select the action multiple times. Because `Promise` is only resolved once, it is recommended to use `onSelect` to listen for the action of the user.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`Your selected is:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Disable Close On Click Action</var-button>\n</template>\n```\n\n### Custom Action Styles\n\nOptions provide parameters to configure the style. See the `Action` data structure for options.\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ]\n  })\n  \n  action !== 'close' && Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">Custom Action Styles</var-button>\n</template>\n```\n\n## Component Call\n\n### Basic Usage\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Basic Usage</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Modify Title\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Modify Title</var-button>\n  <var-action-sheet \n    title=\"Choose whichever you like\" \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Action Disabled\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Action Disabled</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Disable Close On Click Action\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Disable close on click action</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### Custom Action Styles\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`Your selected is:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">Custom Action Styles</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### Props\n\n| Prop                     | Description                                                                                                    | Type                  | Default      |\n| ------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------- | ------------ |\n| `v-model:show`           | Whether to display the action sheet                                                                            | _boolean_             | `false`      |\n| `actions`                | Action list                                                                                                    | _Actions_             | `[]`         |\n| `title`                  | Action sheet title                                                                                             | _string_              | `Select One` |\n| `overlay`                | Whether to display the overlay                                                                                 | _boolean_             | `true`       |\n| `overlay-class`          | Custom overlay class                                                                                           | _string_              | `-`          |\n| `overlay-style`          | Custom overlay style                                                                                           | _object_              | `-`          |\n| `lock-scroll`            | Whether to disable scrolling penetration, scrolling the Dialog when disabled will not cause the body to scroll | _boolean_             | `true`       |\n| `close-on-click-action`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `close-on-click-overlay` | Whether to click the overlay to close the action sheet                                                         | _boolean_             | `true`       |\n| `close-on-key-escape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `teleport`               | The location of the action sheet to mount                                                                      | _TeleportProps['to'] \\| false_ | `body`          |\n\n### Events\n\n| Event           | Description                                          | Arguments        |\n| --------------- | ---------------------------------------------------- | ---------------- |\n| `select`        | Triggered when selecting an action sheet                  | `action: Action` |\n| `open`          | Triggered when opening an action sheet              | `-`              |\n| `opened`        | Triggered when an action sheet open-animation ends  | `-`              |\n| `close`         | Triggered when closing an action sheet            | `-`              |\n| `closed`        | Triggered when an action sheet close-animation ends | `-`              |\n| `click-overlay` | Triggered when clicking on overlay                  | `-`              |\n| `key-escape` | Triggered when click keyboard ESC  | `-` |\n\n### Methods\n\n| Method | Description | Arguments | Return |\n| --- | --- | --- | --- |\n| `ActionSheet` | Show action sheet | _options \\| string_ | `-` |\n| `ActionSheet.close` | Close action sheet | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | Set default option configuration | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | Reset default option configuration | _-_ | `-` |\n\n### ActionSheet Options\n\n#### Options passed in for a functional call\n\n| Option                  | Description                                                                                                          | Type                       | Default      |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------ |\n| `title`               | Action sheet title                                                                                                   | _string_                   | `Select One` |\n| `overlay`             | Whether to display the overlay                                                                                       | _boolean_                  | `true`       |\n| `overlayClass`        | Custom overlay class                                                                                                 | _string_                   | `-`          |\n| `overlayStyle`        | Custom overlay style                                                                                                 | _object_                   | `-`          |\n| `lockScroll`          | Whether to disable scrolling penetration, scrolling the action sheet when disabled will not cause the body to scroll | _boolean_                  | `true`       |\n| `closeOnClickAction`  | Whether to close the actions sheet when clicking action                                                        | _boolean_             | `true`       |\n| `closeOnClickOverlay` | Whether to click the overlay to close the action sheet                                                               | _boolean_                  | `true`       |\n| `closeOnKeyEscape` | Whether to support keyboard ESC to close the action sheet | _boolean_ | `true`  |\n| `safe-area`              | Whether to enable bottom safety zone adaptation\t                                                              | _boolean_             | `false`  |\n| `onOpen`              | Action sheet open callback                                                                                           | _() => void_               | `-`          |\n| `onOpened`            | Action sheet open-animation ends callback                                                                            | _() => void_               | `-`          |\n| `onClose`             | Action sheet close callback                                                                                          | _() => void_               | `-`          |\n| `onClosed`            | Action sheet close-animation ends callback                                                                           | _() => void_               | `-`          |\n| `onSelect`            | Action sheet click action callback                                                                                   | _(action: Action) => void_ | `-`          |\n| `onClickOverlay`      | Click overlay callback                                                                                               | _() => void_               | `-`          |\n| `onKeyEscape` | Triggered when click keyboard ESC  | _() => void_  | `-` |\n\n### ActionSheet Action\n\n| Prop        | Description                         | Type      | Default |\n| ----------- | ----------------------------------- | --------- | ------- |\n| `name`      | Action name                         | _string_  | `-`     |\n| `color`     | Action text color                   | _string_  | `-`     |\n| `icon`      | Icon, support network image address, VNode, or render function | _string \\| VNode \\| () => VNode_  | `-`     |\n| `iconSize`  | Icon size                           | _string_  | `-`     |\n| `namespace` | Icon namespace | _string_ | `-` |\n| `className` | Class name                          | _string_  | `-`     |\n| `disabled`  | Disable or not option               | _boolean_ | `false` |\n\n### Slots\n\n| Name | Description | SlotProps |\n| --------- | ------------------ | --------- |\n| `actions` | Action list        | `-`       |\n| `title`   | Action sheet title | `-`       |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable                                    | Default                      |\n| ------------------------------------------- | ---------------------------- |\n| `--action-sheet-border-radius`              | `2px`                        |\n| `--action-sheet-border-top`                 | `none`                       |\n| `--action-sheet-background`                 | `#fff`                       |\n| `--action-sheet-title-color`                | `#888`                       |\n| `--action-sheet-title-padding`              | `10px 16px`                  |\n| `--action-sheet-title-font-size`            | `14px`                       |\n| `--action-sheet-action-item-height`         | `48px`                       |\n| `--action-sheet-action-item-padding`        | `0px 18px`                   |\n| `--action-sheet-action-item-color`          | `#333`                       |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin`                | `0 0 20px 0`                 |\n| `--action-sheet-icon-size`                  | `24px`                       |\n\n<!-- File: packages/varlet-ui/src/action-sheet/docs/zh-CN.md (Tokens: ~3983 | Category: anthropic-skill) -->\n# 动作面板\n\n### 介绍\n\n弹出一个动作面板提供用户选择选项的能力。\n`ActionSheet` 提供了函数式和组件式两种使用方式，两种使用效果和参数并没有本质区别。\n函数返回一个 `Promise`，选择时返回 `当前选择的 action`，点击遮罩层关闭返回 `close`。\n\n## 函数调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function createBasic() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"createBasic\">基本使用</var-button>\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ],\n    title: '选择一个你喜欢的吧' \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">修改标题</var-button>\n</template>\n```\n\n### 禁用选项\n\n选项传入 `disabled` 可以使选项处于禁用状态。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        disabled: true,\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用选项</var-button>\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n方法传入 `closeOnClickAction` 可以禁用在选择选项时 `ActionSheet` 自动关闭的行为，用户可以多次选择，\n由于 `Promise` 只会被 `resolve` 一次，所以推荐使用 `onSelect` 监听用户选择行为。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\n\nasync function handleSelect(){\n  await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n      },\n      {\n        name: 'Item 02',\n        icon: 'notebook',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n      },\n    ], \n    closeOnClickAction: false,\n    onSelect: action => Snackbar(`您选择的是:${action.name}`), \n  })\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">禁用关闭动作面板</var-button>\n</template>\n```\n\n### 自定义选项样式\n\n选项提供了可以配置样式的参数，具体选项的参数可选项见 `Action 的数据结构`。\n\n```html\n<script setup>\nimport { Snackbar, ActionSheet } from '@varlet/ui'\nimport { h } from 'vue'\n\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\n\nasync function handleSelect() {\n  const action = await ActionSheet({ \n    actions: [\n      {\n        name: 'Item 01',\n        icon: 'account-circle',\n        color: 'var(--color-success)',\n      },\n      {\n        name: 'Item 02',\n        icon: svgIcon,\n        color: 'var(--color-warning)',\n      },\n      {\n        name: 'Item 03',\n        icon: 'wifi',\n        color: 'var(--color-info)',\n      },\n    ] \n  })\n  \n  action !== 'close' && Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"primary\" block @click=\"handleSelect\">自定义选项样式</var-button>\n</template>\n```\n\n## 组件调用\n\n### 基本使用\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">基本使用</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 修改标题\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action){\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">修改标题</var-button>\n  <var-action-sheet \n    title=\"选择一个你喜欢的吧\"\n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用选项\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    disabled: true,\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用选项</var-button>\n  <var-action-sheet \n    :actions=\"actions\"\n    v-model:show=\"show\"\n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 禁用点击选项时关闭动作面板\n\n```html\n<script setup>\nimport { ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n  },\n  {\n    name: 'Item 02',\n    icon: 'notebook',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">禁用点击选项时关闭动作面板</var-button>\n  <var-action-sheet \n    :close-on-click-action=\"false\"\n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n### 自定义选项样式\n\n```html\n<script setup>\nimport { h, ref } from 'vue'\nimport { Snackbar } from '@varlet/ui'\n\nconst show = ref(false)\nconst svgIcon = h('svg', { viewBox: '0 0 24 24', style: { width: '1em', height: '1em' } }, [\n  h('path', {\n    fill: 'currentColor',\n    d: 'M12 2 2 7l10 5 10-5zm0 7.8L6.45 7 12 4.2 17.55 7zm-8 1.7 8 4 8-4v2.2l-8 4-8-4zm0 4 8 4 8-4v2.2l-8 4-8-4z',\n  }),\n])\nconst actions = ref([\n  {\n    name: 'Item 01',\n    icon: 'account-circle',\n    color: 'var(--color-success)',\n  },\n  {\n    name: 'Item 02',\n    icon: svgIcon,\n    color: 'var(--color-warning)',\n  },\n  {\n    name: 'Item 03',\n    icon: 'wifi',\n    color: 'var(--color-info)',\n  },\n])\n\nfunction handleSelect(action) {\n  Snackbar(`您选择的是:${action.name}`)\n}\n</script>\n\n<template>\n  <var-button type=\"warning\" block @click=\"show = true\">自定义选项样式</var-button>\n  <var-action-sheet \n    :actions=\"actions\" \n    v-model:show=\"show\" \n    @select=\"handleSelect\"\n  />\n</template>\n```\n\n## API\n\n### 属性\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `v-model:show` | 是否显示动作面板 | _boolean_ | `false` |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlay-class` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlay-style` | 自定义遮罩层的 style | _object_ | `-` |\n| `lock-scroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `close-on-click-action` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `close-on-click-overlay` | 是否点击遮罩层关闭动作面板 | _boolean_ | `true` |\n| `close-on-key-escape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true` |\n| `safe-area`   | 是否开启底部安全区适配      | _boolean_             | `false`  |\n| `teleport` | 动作面板挂载的位置 | _TeleportProps['to'] \\| false_ | `body` |\n\n### 事件\n\n| 事件名 | 说明 | 参数 |\n| --- | --- | --- |\n| `select` | 选择选项时触发 | `action: Action` |\n| `open` | 打开动作面板时触发 | `-` |\n| `opened` | 打开动作面板动画结束时触发 | `-` |\n| `close` | 关闭动作面板时触发 | `-` |\n| `closed` | 关闭动作面板动画结束时触发 | `-` |\n| `click-overlay` | 点击遮罩层时触发 | `-` |\n| `key-escape` | 点击键盘 ESC 时触发 | `-` |\n\n### 方法\n\n| 方法名 | 说明 | 参数 | 返回值 |\n| --- | --- | --- | --- |\n| `ActionSheet` | 显示动作面板 | _options_ | `-` |\n| `ActionSheet.close` | 关闭动作面板 | _-_ | `-` |\n| `ActionSheet.setDefaultOptions` | 设置默认的选项配置 | _options_ | `-` |\n| `ActionSheet.resetDefaultOptions` | 重置默认的选项配置 | _-_ | `-` |\n\n### ActionSheet Options\n\n#### 函数式调用时传入的选项\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `actions` | 选项列表 | _Actions_ | `[]` |\n| `title` | 动作面板标题 | _string_ | `请选择` |\n| `overlay` | 是否显示遮罩层 | _boolean_ | `true` |\n| `overlayClass` | 自定义遮罩层的 class | _string_ | `-` |\n| `overlayStyle` | 自定义遮罩层的 style | _object_ | `-` |\n| `lockScroll` | 是否禁止滚动穿透，禁止时滚动弹出层不会引发 body 的滚动 | _boolean_ | `true` |\n| `closeOnClickAction` | 是否点击选项时关闭动作面板 | _boolean_ | `true` |\n| `closeOnClickOverlay` | 是否点击遮罩层关闭弹出层 | _boolean_ | `true` |\n| `closeOnKeyEscape` | 是否支持键盘 ESC 关闭动作面板 | _boolean_ | `true`\n| `safe-area`              | 是否开启底部安全区适配\t                                     | _boolean_             | `false`  |\n| `onOpen` | 动作面板开启回调 | _() => void_ | `-` |\n| `onOpened` | 动作面板开启动画结束回调 | _() => void_ | `-` |\n| `onClose` | 动作面板关闭回调 | _() => void_ | `-` |\n| `onClosed` |动作面板关闭动画结束回调 | _() => void_ | `-` |\n| `onSelect` | 选项选择时回调 | _(action: Action) => void_ | `-` |\n| `onClickOverlay` | 遮罩层点击回调 | _() => void_ | `-` |\n| `onKeyEscape` | 点击键盘 ESC 时触发 | _() => void_ | `-` |\n\n### ActionSheet Action\n\n| 参数 | 说明 | 类型 | 默认值 |\n| --- | --- | --- | --- |\n| `name` | 选项名称 | _string_ | `-` |\n| `color` | 选项文字颜色 | _string_ | `-` |\n| `icon` | icon 图标，支持网络图片地址、VNode 或渲染函数 | _string \\| VNode \\| () => VNode_ | `-` |\n| `iconSize` | 图标尺寸 | _string_ | `-` |\n| `namespace` | 图标命名空间 | _string_ | `-` |\n| `className` | 选项附加类名 | _string_ | `-` |\n| `disabled` | 是否禁用选项 | _boolean_ | `false` |\n\n### 插槽\n\n| 插槽名 | 说明 | 参数 |\n| --- | --- | --- |\n| `actions` | 选项列表 | `-` |\n| `title` | 动作面板标题 | `-` |\n\n### 样式变量\n\n以下为组件使用的 css 变量，可以使用 [StyleProvider 组件](#/zh-CN/style-provider) 进行样式定制。\n\n| 变量名 | 默认值 |\n| --- | --- |\n| `--action-sheet-border-radius` | `2px` |\n| `--action-sheet-border-top` | `none` |\n| `--action-sheet-background` | `#fff` |\n| `--action-sheet-title-color` | `#888` |\n| `--action-sheet-title-padding` | `10px 16px` |\n| `--action-sheet-title-font-size` | `14px` |\n| `--action-sheet-action-item-height` | `48px` |\n| `--action-sheet-action-item-padding` | `0px 18px` |\n| `--action-sheet-action-item-color` | `#333` |\n| `--action-sheet-action-item-disabled-color` | `var(--color-text-disabled)` |\n| `--action-sheet-icon-margin` | `0 0 20px 0` |\n| `--action-sheet-icon-size` | `24px` |\n\n<!-- File: packages/varlet-ui/src/alert/docs/en-US.md (Tokens: ~1618 | Category: anthropic-skill) -->\n# Alert\n\n### Intro\n\nAlerts display brief messages for the user without interrupting their use.\n\n### Title\n\n```html\n<template>\n  <var-alert title=\"Pride And Prejudice\" />\n</template>\n```\n\n### Message\n\n```html\n<template>\n  <var-alert message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\" />\n</template>\n```\n\n### Type \n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"success\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"warning\"\n    />\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n      type=\"danger\"\n    />\n  </var-space>\n</template>\n```\n\n### Variant\n\n```html\n<template>\n  <var-space direction=\"column\" size=\"large\">\n    <var-alert \n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert \n      variant=\"tonal\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n    <var-alert\n      variant=\"outlined\"\n      title=\"Pride And Prejudice\" \n      message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    />\n  </var-space>\n</template>\n```\n\n### Custom Icon\n\n```html\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n### Allow To Close\n\n```html\n<script setup>\nimport { ref } from 'vue'\n\nconst show = ref(true)\n</script>\n\n<template>\n  <var-alert \n    title=\"Pride And Prejudice\" \n    message=\"I can't say exactly when, where, what expression I saw on your face, or what words I heard, that made me fall in love with you.\"\n    closeable\n    @close=\"show = false\"\n  >\n    <template #icon>\n      <var-icon name=\"heart\" />\n    </template>\n  </var-alert>\n</template>\n```\n\n\n## API\n\n### Props\n\n| Prop | Description | Type | Default |\n| ---- | ---- | ---- | ---- |\n| `type` | Type, optional values are `info`, `success`, `warning`, `danger` | _string_ | `info` | \n| `variant`   | Variant, optional values are `standard` `outlined` `tonal` | _string_ | `standard` |\n| `color` | Background color | string | `-` | \n| `title` | Title | string | `-` | \n| `message` | Message | string | `-` | \n| `elevation` | Elevation, optional values are true, false, and levels from 0-24 | _string \\| number \\| boolean_ | `false` | \n| `closeable` | Whether the alert is closeable | boolean | `false` | \n\n### Slots\n\n| Name | Description | SlotProps |\n| ---- | ---- | ----|\n| `default` | The message of alert | `-` |\n| `content` | The content of alert | `-` |\n| `title`   | The title of alert | `-` |\n| `icon` | The prepend icon of alert | `-` |\n| `close-icon`   | The close icon of alert | `-` |\n\n### Events\n\n| Event | Description | Arguments |\n| --- | --- | --- |\n| `close` | Triggered when the Close button is clicked and can only be used when the Close button is displayed | `event: Event` |\n\n### Style Variables\n\nHere are the CSS variables used by the component. Styles can be customized using [StyleProvider](#/en-US/style-provider).\n\n| Variable | Default |\n|-----------------------------| --- |\n| `--alert-padding` | `16px` |\n| `--alert-border-radius` | `4px` |\n| `--alert-icon-size` | `22px` |\n| `--alert-icon-margin` | `1px 12px 0 0` |\n| `--alert-close-icon-size` | `22px` |\n| `--alert-close-icon-margin` | `1px 0 0 12px` |\n| `--alert-standard-info-text-color` | `var(--color-on-info)` |\n| `--alert-standard-danger-text-color` | `var(--color-on-danger)` |\n| `--alert-standard-success-text-color` | `var(--color-on-success)` |\n| `--alert-standard-warning-text-color` | `var(--color-on-warning)` |\n| `--alert-danger-background` | `var(--color-danger)` |\n| `--alert-success-background` | `var(--color-success)` |\n| `--alert-warning-background` | `var(--color-warning)` |\n| `--alert-info-background` | `var(--color-info)` |\n| `--alert-tonal-danger-background` | `hsla(var(--hsl-danger), 0.12)` |\n| `--alert-tonal-success-background` | `hsla(var(--hsl-success), 0.12)` |\n| `--alert-tonal-warning-background` | `hsla(var(--hsl-warning), 0.12)` |\n| `--alert-tonal-info-background` | `hsla(var(--hsl-info), 0.12)` |\n| `--alert-tonal-danger-text-color` | `var(--color-danger)` |\n| `--alert-tonal-success-text-color` | `var(--color-success)` |\n| `--alert-tonal-warning-text-color` | `var(--color-warning)` |\n| `--alert-tonal-info-text-color` | `var(--color-info)` |\n| `--alert-message-font-size` | `14px` |\n| `--alert-title-font-size` | `16px` |\n| `--alert-title-font-weight` | `500` |\n| `--alert-message-margin-top` | `4px` |\n| `--alert-message-line-height` | `1.5` |\n| `--alert-title-line-height` | `1.5` |\n\n<!-- ... +205 more modular skills available via /api/skills/varletjs/varlet?path={path} -->\n</yakaai_skills>"}