mirror of
https://gitee.com/vant-contrib/vant.git
synced 2026-01-02 21:36:56 +08:00
Compare commits
2 Commits
v4.0.0-rc.
...
next
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b45b0b7608 | ||
|
|
c309ca2aaf |
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,6 +1,6 @@
|
|||||||
### Before submitting a pull request, please make sure the following is done:
|
### Before submitting a pull request, please make sure the following is done:
|
||||||
|
|
||||||
1. Read the [contributing guide](https://github.com/vant-ui/vant/blob/main/.github/CONTRIBUTING.md).
|
1. Read the [contributing guide](https://github.com/vant-ui/vant/blob/dev/.github/CONTRIBUTING.md).
|
||||||
2. If you've added code that should be tested, add tests.
|
2. If you've added code that should be tested, add tests.
|
||||||
3. If you've changed APIs, update the documentation.
|
3. If you've changed APIs, update the documentation.
|
||||||
4. Ensure the test suite passes (`npm test`).
|
4. Ensure the test suite passes (`npm test`).
|
||||||
|
|||||||
4
.github/workflows/codeql-analysis.yml
vendored
4
.github/workflows/codeql-analysis.yml
vendored
@ -13,10 +13,10 @@ name: "CodeQL"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ dev ]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [ main ]
|
branches: [ dev ]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '36 21 * * 2'
|
- cron: '36 21 * * 2'
|
||||||
|
|
||||||
|
|||||||
18
.github/workflows/deploy-v4-site.yml
vendored
18
.github/workflows/deploy-v4-site.yml
vendored
@ -2,7 +2,7 @@ name: Deploy V4 Site
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [dev]
|
||||||
paths:
|
paths:
|
||||||
- 'packages/vant/docs/**'
|
- 'packages/vant/docs/**'
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ jobs:
|
|||||||
- name: Checkout 🛎️
|
- name: Checkout 🛎️
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
ref: 'main'
|
ref: 'next'
|
||||||
|
|
||||||
- name: Install pnpm
|
- name: Install pnpm
|
||||||
run: npm i pnpm@7 -g
|
run: npm i pnpm@7 -g
|
||||||
@ -31,18 +31,10 @@ jobs:
|
|||||||
- name: Build Site
|
- name: Build Site
|
||||||
run: npm run build:site
|
run: npm run build:site
|
||||||
|
|
||||||
- name: Deploy for Gitee 🚀
|
- name: Deploy 🚀
|
||||||
uses: JamesIves/github-pages-deploy-action@v4.4.0
|
uses: JamesIves/github-pages-deploy-action@4.1.1
|
||||||
with:
|
with:
|
||||||
branch: gh-pages
|
branch: gh-pages
|
||||||
folder: packages/vant/site-dist
|
folder: packages/vant/site-dist
|
||||||
target-folder: v4
|
target-folder: v4
|
||||||
|
clean: false
|
||||||
- name: Deploy for GitHub 🚀
|
|
||||||
uses: JamesIves/github-pages-deploy-action@v4.4.0
|
|
||||||
with:
|
|
||||||
branch: main
|
|
||||||
folder: packages/vant/site-dist
|
|
||||||
token: ${{ secrets.VANT_UI_TOKEN }}
|
|
||||||
repository-name: vant-ui/vant-ui.github.io
|
|
||||||
target-folder: vant/v4
|
|
||||||
|
|||||||
2
.github/workflows/sync-gitee.yml
vendored
2
.github/workflows/sync-gitee.yml
vendored
@ -2,7 +2,7 @@ name: Sync to Gitee
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, 2.x, 3.x, gh-pages]
|
branches: [dev, 2.x, 3.x, gh-pages]
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- dev
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
@ -92,15 +92,16 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | WeChat MiniProgram UI |
|
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | WeChat MiniProgram UI |
|
||||||
| [vant-demo](https://github.com/vant-ui/vant-demo) | Collection of Vant demos |
|
| [vant-demo](https://github.com/vant-ui/vant-demo) | Collection of Vant demos |
|
||||||
| [vant-cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli) | Scaffold for UI library |
|
| [vant-cli](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli) | Scaffold for UI library |
|
||||||
| [vant-icons](https://github.com/vant-ui/vant/tree/main/packages/vant-icons) | Vant icons |
|
| [vant-icons](https://github.com/vant-ui/vant/tree/dev/packages/vant-icons) | Vant icons |
|
||||||
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) | Using vant in desktop browsers |
|
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator) | Using vant in desktop browsers |
|
||||||
|
|
||||||
## Community Ecosystem
|
## Community Ecosystem
|
||||||
|
|
||||||
| Project | Description |
|
| Project | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | React mobile UI Components based on Vant |
|
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | React mobile UI Components based on Vant |
|
||||||
|
| [rc-ui-lib](https://github.com/rancui/rc-ui-lib) | React mobile UI Components based on Vant |
|
||||||
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Alipay MiniProgram UI |
|
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Alipay MiniProgram UI |
|
||||||
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro |
|
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro |
|
||||||
| [vant-theme](https://github.com/Aisen60/vant-theme) | Online theme preview built on Vant UI |
|
| [vant-theme](https://github.com/Aisen60/vant-theme) | Online theme preview built on Vant UI |
|
||||||
@ -111,7 +112,7 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
|
|||||||
|
|
||||||
- [Documentation](https://vant-ui.github.io/vant)
|
- [Documentation](https://vant-ui.github.io/vant)
|
||||||
- [Changelog](https://vant-ui.github.io/vant#/en-US/changelog)
|
- [Changelog](https://vant-ui.github.io/vant#/en-US/changelog)
|
||||||
- [Discussions](https://github.com/vant-ui/vant/discussions)
|
- [Gitter](https://gitter.im/vant-contrib/discuss?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
|
||||||
|
|
||||||
## Preview
|
## Preview
|
||||||
|
|
||||||
|
|||||||
@ -98,9 +98,9 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | Vant 微信小程序版 |
|
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | Vant 微信小程序版 |
|
||||||
| [vant-demo](https://github.com/vant-ui/vant-demo) | Vant 官方示例合集 |
|
| [vant-demo](https://github.com/vant-ui/vant-demo) | Vant 官方示例合集 |
|
||||||
| [vant-cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli) | 开箱即用的组件库搭建工具 |
|
| [vant-cli](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli) | 开箱即用的组件库搭建工具 |
|
||||||
| [vant-icons](https://github.com/vant-ui/vant/tree/main/packages/vant-icons) | Vant 图标库 |
|
| [vant-icons](https://github.com/vant-ui/vant/tree/dev/packages/vant-icons) | Vant 图标库 |
|
||||||
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 |
|
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 |
|
||||||
|
|
||||||
## 社区生态
|
## 社区生态
|
||||||
|
|
||||||
@ -109,6 +109,7 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
| 项目 | 描述 |
|
| 项目 | 描述 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | 参照 Vant 打造的 React 框架移动端组件库 |
|
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | 参照 Vant 打造的 React 框架移动端组件库 |
|
||||||
|
| [rc-ui-lib](https://github.com/rancui/rc-ui-lib) | 参照 Vant 打造的 React 框架移动端组件库 |
|
||||||
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Vant 支付宝小程序版 |
|
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Vant 支付宝小程序版 |
|
||||||
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro 版 |
|
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro 版 |
|
||||||
| [vant-theme](https://github.com/Aisen60/vant-theme) | Vant 在线主题预览工具 |
|
| [vant-theme](https://github.com/Aisen60/vant-theme) | Vant 在线主题预览工具 |
|
||||||
@ -119,8 +120,7 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
|
|
||||||
- [详细文档](https://vant-contrib.gitee.io/vant)
|
- [详细文档](https://vant-contrib.gitee.io/vant)
|
||||||
- [更新日志](https://vant-contrib.gitee.io/vant#/zh-CN/changelog)
|
- [更新日志](https://vant-contrib.gitee.io/vant#/zh-CN/changelog)
|
||||||
- [码云镜像仓库](https://gitee.com/vant-contrib/vant)
|
- [Gitter 讨论组](https://gitter.im/vant-contrib/discuss?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
|
||||||
- [Discussions 讨论区](https://github.com/vant-ui/vant/discussions)
|
|
||||||
|
|
||||||
## 手机预览
|
## 手机预览
|
||||||
|
|
||||||
|
|||||||
@ -14,9 +14,6 @@
|
|||||||
"*.{ts,tsx,js,vue,less}": "prettier --write",
|
"*.{ts,tsx,js,vue,less}": "prettier --write",
|
||||||
"*.{ts,tsx,js,vue}": "eslint --fix"
|
"*.{ts,tsx,js,vue}": "eslint --fix"
|
||||||
},
|
},
|
||||||
"engines": {
|
|
||||||
"pnpm": ">= 7.0.0"
|
|
||||||
},
|
|
||||||
"packageManager": "pnpm@7.11.0",
|
"packageManager": "pnpm@7.11.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vant/cli": "workspace:*",
|
"@vant/cli": "workspace:*",
|
||||||
@ -28,9 +25,6 @@
|
|||||||
"rimraf": "^3.0.2"
|
"rimraf": "^3.0.2"
|
||||||
},
|
},
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"overrides": {
|
|
||||||
"esbuild": "^0.14"
|
|
||||||
},
|
|
||||||
"peerDependencyRules": {
|
"peerDependencyRules": {
|
||||||
"ignoreMissing": [
|
"ignoreMissing": [
|
||||||
"@algolia/client-search",
|
"@algolia/client-search",
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
"vue": "^3.0.0"
|
"vue": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vant/cli": "^5.0.0",
|
"@vant/cli": "^4.0.0",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"sass": "^1.49.7"
|
"sass": "^1.49.7"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "create-vant-cli-app",
|
"name": "create-vant-cli-app",
|
||||||
"version": "2.1.0",
|
"version": "2.0.1",
|
||||||
"description": "Create Vant CLI App",
|
"description": "Create Vant CLI App",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@ -36,7 +36,7 @@
|
|||||||
"author": "chenjiahan",
|
"author": "chenjiahan",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"esbuild": "^0.15.9",
|
"esbuild": "^0.14.54",
|
||||||
"release-it": "^15.4.1",
|
"release-it": "^15.4.1",
|
||||||
"typescript": "^4.8.2"
|
"typescript": "^4.8.2"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -65,7 +65,7 @@ Please add the followed config to `package.json` file.
|
|||||||
|
|
||||||
## More Details
|
## More Details
|
||||||
|
|
||||||
- [cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/commands.md)
|
- [cli](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/commands.md)
|
||||||
- [config](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/config.md)
|
- [config](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/config.md)
|
||||||
- [directory structure](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/directory.md)
|
- [directory structure](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/directory.md)
|
||||||
- [CHANGELOG](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/changelog.md)
|
- [CHANGELOG](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/changelog.md)
|
||||||
|
|||||||
@ -62,7 +62,7 @@ pnpm add @vant/cli -D
|
|||||||
|
|
||||||
## 详细文档
|
## 详细文档
|
||||||
|
|
||||||
- [命令](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/commands.zh-CN.md)
|
- [命令](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/commands.zh-CN.md)
|
||||||
- [配置指南](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/config.zh-CN.md)
|
- [配置指南](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/config.zh-CN.md)
|
||||||
- [目录结构](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/directory.zh-CN.md)
|
- [目录结构](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/directory.zh-CN.md)
|
||||||
- [更新日志](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/changelog.md)
|
- [更新日志](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/changelog.md)
|
||||||
|
|||||||
@ -1,29 +1,14 @@
|
|||||||
# 更新日志
|
# 更新日志
|
||||||
|
|
||||||
## v5.0.2
|
## v5.0.0 (未发布)
|
||||||
|
|
||||||
`2022-10-07`
|
|
||||||
|
|
||||||
- 修复首次运行 dev 时 vite 引入了两份 Vue 代码导致渲染失败的问题
|
|
||||||
|
|
||||||
## v5.0.1
|
|
||||||
|
|
||||||
`2022-10-06`
|
|
||||||
|
|
||||||
- 修复 jest 版本未正确升级的问题
|
|
||||||
|
|
||||||
## v5.0.0
|
|
||||||
|
|
||||||
### 依赖升级
|
### 依赖升级
|
||||||
|
|
||||||
`2022-10-06`
|
|
||||||
|
|
||||||
对以下依赖进行了大版本升级:
|
对以下依赖进行了大版本升级:
|
||||||
|
|
||||||
- vite: 由 v2 升级至 v3
|
- vite v3
|
||||||
- jest: 由 v27 升级至 v29
|
- @vitejs/plugin-vue v3
|
||||||
- @vitejs/plugin-vue: 由 v2 升级至 v3
|
- @vitejs/plugin-vue-jsx v2
|
||||||
- @vitejs/plugin-vue-jsx: 由 v1 升级至 v2
|
|
||||||
|
|
||||||
### 依赖精简
|
### 依赖精简
|
||||||
|
|
||||||
|
|||||||
@ -29,10 +29,6 @@ const DEFAULT_CONFIG = {
|
|||||||
],
|
],
|
||||||
coverageReporters: ['html', 'lcov', 'text-summary'],
|
coverageReporters: ['html', 'lcov', 'text-summary'],
|
||||||
coverageDirectory: './test/coverage',
|
coverageDirectory: './test/coverage',
|
||||||
testEnvironmentOptions: {
|
|
||||||
// https://stackoverflow.com/questions/72428323/jest-referenceerror-vue-is-not-defined
|
|
||||||
customExportConditions: ['node', 'node-addons'],
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function readRootConfig() {
|
function readRootConfig() {
|
||||||
|
|||||||
@ -87,8 +87,6 @@ module.exports = {
|
|||||||
if (isJsxFile(path)) {
|
if (isJsxFile(path)) {
|
||||||
code = transformJsx(code, path);
|
code = transformJsx(code, path);
|
||||||
}
|
}
|
||||||
return {
|
return transformScript(code);
|
||||||
code: transformScript(code)
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -29,7 +29,7 @@ Start local dev server for browsering components and demo.
|
|||||||
|
|
||||||
Build Vue component library.
|
Build Vue component library.
|
||||||
|
|
||||||
Files will be output to `es` and `lib` directory. More details [directory structure](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/directory.md)
|
Files will be output to `es` and `lib` directory. More details [directory structure](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/directory.md)
|
||||||
|
|
||||||
Please add the followed config to `package.json` when publish to npm.
|
Please add the followed config to `package.json` when publish to npm.
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ npx vant-cli dev
|
|||||||
|
|
||||||
构建组件库。
|
构建组件库。
|
||||||
|
|
||||||
运行 build 命令会在 `es` 和 `lib` 目录下生成可用于生产环境的组件代码,详见 [目录结构](https://github.com/vant-ui/vant/tree/main/packages/vant-cli/docs/directory.zh-CN.md)。
|
运行 build 命令会在 `es` 和 `lib` 目录下生成可用于生产环境的组件代码,详见 [目录结构](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli/docs/directory.zh-CN.md)。
|
||||||
|
|
||||||
发布 npm 时,请将以下配置加入到 `package.json` 中,使 npm 包能被正确识别:
|
发布 npm 时,请将以下配置加入到 `package.json` 中,使 npm 包能被正确识别:
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@vant/cli",
|
"name": "@vant/cli",
|
||||||
"version": "5.0.2",
|
"version": "4.0.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"typings": "lib/index.d.ts",
|
"typings": "lib/index.d.ts",
|
||||||
@ -39,7 +39,7 @@
|
|||||||
"author": "chenjiahan",
|
"author": "chenjiahan",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/types": "^29.1.2",
|
"@jest/types": "^27.5.1",
|
||||||
"@types/fs-extra": "^9.0.13",
|
"@types/fs-extra": "^9.0.13",
|
||||||
"@types/less": "^3.0.3",
|
"@types/less": "^3.0.3",
|
||||||
"@types/markdown-it": "^12.2.3",
|
"@types/markdown-it": "^12.2.3",
|
||||||
@ -52,7 +52,7 @@
|
|||||||
"@babel/preset-typescript": "^7.18.6",
|
"@babel/preset-typescript": "^7.18.6",
|
||||||
"@docsearch/css": "^3.2.1",
|
"@docsearch/css": "^3.2.1",
|
||||||
"@docsearch/js": "^3.2.1",
|
"@docsearch/js": "^3.2.1",
|
||||||
"@types/jest": "^29.1.1",
|
"@types/jest": "^27.5.2",
|
||||||
"@vant/eslint-config": "^3.5.0",
|
"@vant/eslint-config": "^3.5.0",
|
||||||
"@vant/touch-emulator": "^1.4.0",
|
"@vant/touch-emulator": "^1.4.0",
|
||||||
"@vitejs/plugin-vue": "^3.0.3",
|
"@vitejs/plugin-vue": "^3.0.3",
|
||||||
@ -62,7 +62,7 @@
|
|||||||
"commander": "^9.4.0",
|
"commander": "^9.4.0",
|
||||||
"consola": "^2.15.3",
|
"consola": "^2.15.3",
|
||||||
"conventional-changelog": "^3.1.25",
|
"conventional-changelog": "^3.1.25",
|
||||||
"esbuild": "^0.15.9",
|
"esbuild": "^0.14.54",
|
||||||
"eslint": "^8.23.0",
|
"eslint": "^8.23.0",
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"fast-glob": "^3.2.11",
|
"fast-glob": "^3.2.11",
|
||||||
@ -70,10 +70,9 @@
|
|||||||
"hash-sum": "^2.0.0",
|
"hash-sum": "^2.0.0",
|
||||||
"highlight.js": "^11.6.0",
|
"highlight.js": "^11.6.0",
|
||||||
"husky": "^8.0.1",
|
"husky": "^8.0.1",
|
||||||
"jest": "^29.1.2",
|
"jest": "^27.5.1",
|
||||||
"jest-canvas-mock": "^2.4.0",
|
"jest-canvas-mock": "^2.4.0",
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"jest-environment-jsdom": "^29.1.2",
|
|
||||||
"less": "^4.1.3",
|
"less": "^4.1.3",
|
||||||
"markdown-it": "^12.3.2",
|
"markdown-it": "^12.3.2",
|
||||||
"markdown-it-anchor": "^8.6.4",
|
"markdown-it-anchor": "^8.6.4",
|
||||||
@ -86,7 +85,7 @@
|
|||||||
"release-it": "^15.4.1",
|
"release-it": "^15.4.1",
|
||||||
"transliteration": "^2.3.5",
|
"transliteration": "^2.3.5",
|
||||||
"typescript": "^4.8.2",
|
"typescript": "^4.8.2",
|
||||||
"vite": "3.1.8",
|
"vite": "^3.0.9",
|
||||||
"vite-plugin-html": "^2.1.2",
|
"vite-plugin-html": "^2.1.2",
|
||||||
"vite-plugin-md": "^0.11.9",
|
"vite-plugin-md": "^0.11.9",
|
||||||
"vue-router": "^4.1.5"
|
"vue-router": "^4.1.5"
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
// colors
|
// colors
|
||||||
--van-doc-black: #000;
|
--van-doc-black: #000;
|
||||||
--van-doc-white: #fff;
|
--van-doc-white: #fff;
|
||||||
|
|||||||
@ -138,8 +138,8 @@ export default {
|
|||||||
currentTheme: {
|
currentTheme: {
|
||||||
handler(newVal, oldVal) {
|
handler(newVal, oldVal) {
|
||||||
window.localStorage.setItem('vantTheme', newVal);
|
window.localStorage.setItem('vantTheme', newVal);
|
||||||
document.documentElement.classList.remove(`van-doc-theme-${oldVal}`);
|
document.body.classList.remove(`van-doc-theme-${oldVal}`);
|
||||||
document.documentElement.classList.add(`van-doc-theme-${newVal}`);
|
document.body.classList.add(`van-doc-theme-${newVal}`);
|
||||||
syncThemeToChild(newVal);
|
syncThemeToChild(newVal);
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
|
|||||||
@ -24,21 +24,12 @@ export default {
|
|||||||
watch(
|
watch(
|
||||||
theme,
|
theme,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
document.documentElement.classList.remove(`van-doc-theme-${oldVal}`);
|
document.body.classList.remove(`van-doc-theme-${oldVal}`);
|
||||||
document.documentElement.classList.add(`van-doc-theme-${newVal}`);
|
document.body.classList.add(`van-doc-theme-${newVal}`);
|
||||||
|
|
||||||
const { darkModeClass, lightModeClass } = config.site;
|
const { darkModeClass } = config.site;
|
||||||
if (darkModeClass) {
|
if (darkModeClass) {
|
||||||
document.documentElement.classList.toggle(
|
document.body.classList.toggle(darkModeClass, newVal === 'dark');
|
||||||
darkModeClass,
|
|
||||||
newVal === 'dark'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (lightModeClass) {
|
|
||||||
document.documentElement.classList.toggle(
|
|
||||||
lightModeClass,
|
|
||||||
newVal === 'light'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
@ -52,7 +43,6 @@ export default {
|
|||||||
|
|
||||||
body {
|
body {
|
||||||
min-width: 100vw;
|
min-width: 100vw;
|
||||||
background-color: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.van-doc-theme-light {
|
.van-doc-theme-light {
|
||||||
|
|||||||
@ -1,7 +1,12 @@
|
|||||||
import glob from 'fast-glob';
|
import glob from 'fast-glob';
|
||||||
import { join, parse } from 'path';
|
import { join, parse } from 'path';
|
||||||
import { existsSync, readFileSync, readdirSync } from 'fs';
|
import { existsSync, readFileSync, readdirSync } from 'fs';
|
||||||
import { pascalize, getVantConfig, normalizePath } from '../common/index.js';
|
import {
|
||||||
|
isDev,
|
||||||
|
pascalize,
|
||||||
|
getVantConfig,
|
||||||
|
normalizePath,
|
||||||
|
} from '../common/index.js';
|
||||||
import {
|
import {
|
||||||
SRC_DIR,
|
SRC_DIR,
|
||||||
DOCS_DIR,
|
DOCS_DIR,
|
||||||
@ -75,7 +80,10 @@ function genImportDocuments(items: DocumentItem[]) {
|
|||||||
return items
|
return items
|
||||||
.map((item) => {
|
.map((item) => {
|
||||||
const path = normalizePath(item.path);
|
const path = normalizePath(item.path);
|
||||||
return `const ${item.name} = () => import('${path}');`;
|
if (isDev()) {
|
||||||
|
return `const ${item.name} = () => import('${path}');`;
|
||||||
|
}
|
||||||
|
return `import ${item.name} from '${path}';`;
|
||||||
})
|
})
|
||||||
.join('\n');
|
.join('\n');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -144,11 +144,6 @@ export function getViteConfigForSiteDev(): InlineConfig {
|
|||||||
return {
|
return {
|
||||||
root: SITE_SRC_DIR,
|
root: SITE_SRC_DIR,
|
||||||
|
|
||||||
optimizeDeps: {
|
|
||||||
// https://github.com/youzan/vant/issues/10930
|
|
||||||
include: ['vue', 'vue-router'],
|
|
||||||
},
|
|
||||||
|
|
||||||
plugins: [
|
plugins: [
|
||||||
vitePluginGenVantBaseCode(),
|
vitePluginGenVantBaseCode(),
|
||||||
vitePluginVue({
|
vitePluginVue({
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
"@vue/runtime-core": "^3.2.27",
|
"@vue/runtime-core": "^3.2.27",
|
||||||
"vant": "workspace:*",
|
"vant": "workspace:*",
|
||||||
"vue": "^3.2.27",
|
"vue": "^3.2.27",
|
||||||
"esbuild": "^0.15.9",
|
"esbuild": "^0.14.29",
|
||||||
"release-it": "^15.1.1",
|
"release-it": "^15.1.1",
|
||||||
"typescript": "^4.7.4"
|
"typescript": "^4.7.4"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@vant/popperjs",
|
"name": "@vant/popperjs",
|
||||||
"version": "1.3.0",
|
"version": "1.2.1",
|
||||||
"description": "Pre-compiled popperjs core",
|
"description": "Pre-compiled popperjs core",
|
||||||
"main": "dist/index.cjs.js",
|
"main": "dist/index.cjs.js",
|
||||||
"module": "dist/index.esm.mjs",
|
"module": "dist/index.esm.mjs",
|
||||||
@ -36,9 +36,11 @@
|
|||||||
"bugs": "https://github.com/vant-ui/vant/issues",
|
"bugs": "https://github.com/vant-ui/vant/issues",
|
||||||
"author": "chenjiahan",
|
"author": "chenjiahan",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@popperjs/core": "^2.11.6"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@popperjs/core": "^2.11.6",
|
"esbuild": "^0.14.54",
|
||||||
"esbuild": "^0.15.9",
|
|
||||||
"release-it": "^15.4.1",
|
"release-it": "^15.4.1",
|
||||||
"typescript": "^4.8.2"
|
"typescript": "^4.8.2"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { createPopper } from '@popperjs/core/lib/popper-lite';
|
import { createPopper } from '@popperjs/core/lib/popper-lite';
|
||||||
import offsetModifier from '@popperjs/core/lib/modifiers/offset';
|
import offsetModifier from '@popperjs/core/lib/modifiers/offset';
|
||||||
import type { Instance } from '@popperjs/core';
|
import type { Instance, Placement } from '@popperjs/core';
|
||||||
|
|
||||||
export { createPopper, offsetModifier };
|
export { createPopper, offsetModifier };
|
||||||
export type { Instance };
|
export type { Instance, Placement };
|
||||||
|
|||||||
@ -1,13 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## v1.4.3
|
|
||||||
|
|
||||||
- improve `useEventListener` typing
|
|
||||||
|
|
||||||
## v1.4.2
|
|
||||||
|
|
||||||
- `useClickAway` support multiple targets
|
|
||||||
|
|
||||||
## v1.4.1
|
## v1.4.1
|
||||||
|
|
||||||
- Add `exports` field to package.json, support nuxt 3.
|
- Add `exports` field to package.json, support nuxt 3.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@vant/use",
|
"name": "@vant/use",
|
||||||
"version": "1.4.3",
|
"version": "1.4.2",
|
||||||
"description": "Vant Composition API",
|
"description": "Vant Composition API",
|
||||||
"main": "dist/index.cjs.js",
|
"main": "dist/index.cjs.js",
|
||||||
"module": "dist/index.esm.mjs",
|
"module": "dist/index.esm.mjs",
|
||||||
@ -37,7 +37,7 @@
|
|||||||
"author": "chenjiahan",
|
"author": "chenjiahan",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"esbuild": "^0.15.9",
|
"esbuild": "^0.14.54",
|
||||||
"release-it": "^15.4.1",
|
"release-it": "^15.4.1",
|
||||||
"typescript": "^4.8.2",
|
"typescript": "^4.8.2",
|
||||||
"vue": "^3.2.38"
|
"vue": "^3.2.38"
|
||||||
|
|||||||
4
packages/vant/.stylelintignore
Normal file
4
packages/vant/.stylelintignore
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
lib
|
||||||
|
*.tsx
|
||||||
@ -132,7 +132,7 @@ module.exports = {
|
|||||||
|
|
||||||
### Adapt to PC Browsers
|
### Adapt to PC Browsers
|
||||||
|
|
||||||
Vant is a mobile-first component library, if you want to use Vant in PC browsers, you can use the [@vant/touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) module. This module will automatically convert the mouse events of the PC browser into the touch events of the mobile browser.
|
Vant is a mobile-first component library, if you want to use Vant in PC browsers, you can use the [@vant/touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator) module. This module will automatically convert the mouse events of the PC browser into the touch events of the mobile browser.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install
|
# Install
|
||||||
|
|||||||
@ -197,7 +197,7 @@ module.exports = {
|
|||||||
|
|
||||||
Vant 是一个面向移动端的组件库,因此默认只适配了移动端设备,这意味着组件只监听了移动端的 `touch` 事件,没有监听桌面端的 `mouse` 事件。
|
Vant 是一个面向移动端的组件库,因此默认只适配了移动端设备,这意味着组件只监听了移动端的 `touch` 事件,没有监听桌面端的 `mouse` 事件。
|
||||||
|
|
||||||
如果你需要在桌面端使用 Vant,可以引入我们提供的 [@vant/touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator),这个库会在桌面端自动将 `mouse` 事件转换成对应的 `touch` 事件,使得组件能够在桌面端使用。
|
如果你需要在桌面端使用 Vant,可以引入我们提供的 [@vant/touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator),这个库会在桌面端自动将 `mouse` 事件转换成对应的 `touch` 事件,使得组件能够在桌面端使用。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 安装模块
|
# 安装模块
|
||||||
|
|||||||
@ -19,79 +19,6 @@ Vant follows [Semantic Versioning 2.0.0](https://semver.org/lang/zh-CN/).
|
|||||||
|
|
||||||
## Details
|
## Details
|
||||||
|
|
||||||
### [v4.0.0-rc.5](https://github.com/vant-ui/vant/compare/v4.0.0-rc.4...v4.0.0-rc.5)
|
|
||||||
|
|
||||||
`2022-10-07`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- Field: support label-position top [#11102](https://github.com/vant-ui/vant/issues/11102)
|
|
||||||
- Loading: add icon slot [#11109](https://github.com/vant-ui/vant/issues/11109)
|
|
||||||
- NavBar: add clickable prop [#11048](https://github.com/vant-ui/vant/issues/11048)
|
|
||||||
- Stepper: add auto-fixed prop [#11071](https://github.com/vant-ui/vant/issues/11071)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- DatePicker: format value when exceed max date [#11122](https://github.com/vant-ui/vant/issues/11122)
|
|
||||||
- Tabs: incorrect nav scroll animation in some cases [#11116](https://github.com/vant-ui/vant/issues/11116)
|
|
||||||
- Tabs: scroll position when using nav-bottom slot [#11115](https://github.com/vant-ui/vant/issues/11115)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.4](https://github.com/vant-ui/vant/compare/v4.0.0-rc.3...v4.0.0-rc.4)
|
|
||||||
|
|
||||||
`2022-09-25`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- Field: add message param to 'end-validate' method [#11080](https://github.com/vant-ui/vant/issues/11080)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Tabs: incorrect scroll position in some cases [#11085](https://github.com/vant-ui/vant/issues/11085)
|
|
||||||
- Tabs: incorrect scroll position when inited [#11059](https://github.com/vant-ui/vant/issues/11059)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.3](https://github.com/vant-ui/vant/compare/v4.0.0-rc.2...v4.0.0-rc.3)
|
|
||||||
|
|
||||||
`2022-09-12`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- ConfigProvider: add ConfigProviderThemeVars type [#11034](https://github.com/vant-ui/vant/issues/11034)
|
|
||||||
- Notify: add z-index prop [#11032](https://github.com/vant-ui/vant/issues/11032)
|
|
||||||
- remove popperjs to reduce install size [#11030](https://github.com/vant-ui/vant/issues/11030)
|
|
||||||
|
|
||||||
**Types**
|
|
||||||
|
|
||||||
- Toast: fix missing global components type [#11033](https://github.com/vant-ui/vant/issues/11033)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.2](https://github.com/vant-ui/vant/compare/v4.0.0-rc.1...v4.0.0-rc.2)
|
|
||||||
|
|
||||||
`2022-09-11`
|
|
||||||
|
|
||||||
**Breaking Changes**
|
|
||||||
|
|
||||||
- attach css variables to :root element [#11026](https://github.com/vant-ui/vant/issues/11026)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Dialog: incorrect transform behavior [#11028](https://github.com/vant-ui/vant/issues/11028)
|
|
||||||
- Empty: fix opacity in dark mode [#11027](https://github.com/vant-ui/vant/issues/11027)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.1](https://github.com/vant-ui/vant/compare/v4.0.0-rc.0...v4.0.0-rc.1)
|
|
||||||
|
|
||||||
`2022-09-10`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- export props of all components [#11024](https://github.com/vant-ui/vant/issues/11024)
|
|
||||||
- Dialog: message-align can be justify [#11014](https://github.com/vant-ui/vant/issues/11014)
|
|
||||||
- Image: add block prop [#11022](https://github.com/vant-ui/vant/issues/11022)
|
|
||||||
- Toast: add message slot [#11018](https://github.com/vant-ui/vant/issues/11018)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Picker: failed to update value in some cases [#11009](https://github.com/vant-ui/vant/issues/11009)
|
|
||||||
- Locale: avoid getting unexpected value [#11010](https://github.com/vant-ui/vant/issues/11010)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.0](https://github.com/vant-ui/vant/compare/v3.6.2...v4.0.0-rc.0)
|
### [v4.0.0-rc.0](https://github.com/vant-ui/vant/compare/v3.6.2...v4.0.0-rc.0)
|
||||||
|
|
||||||
`2022-09-04`
|
`2022-09-04`
|
||||||
|
|||||||
@ -19,79 +19,6 @@ Vant 遵循 [Semver](https://semver.org/lang/zh-CN/) 语义化版本规范。
|
|||||||
|
|
||||||
## 更新内容
|
## 更新内容
|
||||||
|
|
||||||
### [v4.0.0-rc.5](https://github.com/vant-ui/vant/compare/v4.0.0-rc.4...v4.0.0-rc.5)
|
|
||||||
|
|
||||||
`2022-10-07`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- Field: 支持将 label-position 设置为 top [#11102](https://github.com/vant-ui/vant/issues/11102)
|
|
||||||
- Loading: 新增 icon 插槽 [#11109](https://github.com/vant-ui/vant/issues/11109)
|
|
||||||
- NavBar: 新增 clickable 属性 [#11048](https://github.com/vant-ui/vant/issues/11048)
|
|
||||||
- Stepper: 新增 auto-fixed 属性 [#11071](https://github.com/vant-ui/vant/issues/11071)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- DatePicker: 修复日期超出 maxDate 时格式化不正确的问题 [#11122](https://github.com/vant-ui/vant/issues/11122)
|
|
||||||
- Tabs: 修复开启 scrollspy 时个别情况下标题栏滚动位置错误的问题 [#11116](https://github.com/vant-ui/vant/issues/11116)
|
|
||||||
- Tabs: 修复开启 scrollspy 时 nav-bottom 插槽遮挡内容的问题 [#11115](https://github.com/vant-ui/vant/issues/11115)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.4](https://github.com/vant-ui/vant/compare/v4.0.0-rc.3...v4.0.0-rc.4)
|
|
||||||
|
|
||||||
`2022-09-25`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- Field: end-validate 事件新增 message 参数 [#11080](https://github.com/vant-ui/vant/issues/11080)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Tabs: 修复个别情况下页面滚动位置错误的问题 [#11085](https://github.com/vant-ui/vant/issues/11085)
|
|
||||||
- Tabs: 修复初始化时菜单横向滚动位置错误的问题 [#11059](https://github.com/vant-ui/vant/issues/11059)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.3](https://github.com/vant-ui/vant/compare/v4.0.0-rc.2...v4.0.0-rc.3)
|
|
||||||
|
|
||||||
`2022-09-12`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- ConfigProvider: 新增 ConfigProviderThemeVars 类型 [#11034](https://github.com/vant-ui/vant/issues/11034)
|
|
||||||
- Notify: 新增 z-index 属性 [#11032](https://github.com/vant-ui/vant/issues/11032)
|
|
||||||
- 移除 `@popperjs/core` 依赖,减少安装体积 1.6MB [#11030](https://github.com/vant-ui/vant/issues/11030)
|
|
||||||
|
|
||||||
**Types**
|
|
||||||
|
|
||||||
- Toast: 修复缺少全局类型定义的问题 [#11033](https://github.com/vant-ui/vant/issues/11033)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.2](https://github.com/vant-ui/vant/compare/v4.0.0-rc.1...v4.0.0-rc.2)
|
|
||||||
|
|
||||||
`2022-09-11`
|
|
||||||
|
|
||||||
**Breaking Changes**
|
|
||||||
|
|
||||||
- 调整了所有 CSS 变量的挂载位置,由 `body` 节点调整回 `:root` 节点,调整后与 Vant v3 版本保持一致,以便于 v3 项目更平滑地升级到 v4 版本。 [#11026](https://github.com/vant-ui/vant/issues/11026)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Dialog: 修复过渡动画异常的问题 [#11028](https://github.com/vant-ui/vant/issues/11028)
|
|
||||||
- Empty: 修复深色模式下亮度过高的问题 [#11027](https://github.com/vant-ui/vant/issues/11027)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.1](https://github.com/vant-ui/vant/compare/v4.0.0-rc.0...v4.0.0-rc.1)
|
|
||||||
|
|
||||||
`2022-09-10`
|
|
||||||
|
|
||||||
**Feature**
|
|
||||||
|
|
||||||
- 导出所有组件的 props,方便进行二次封装 [#11024](https://github.com/vant-ui/vant/issues/11024)
|
|
||||||
- Dialog: message-align 属性支持设置为 justify [#11014](https://github.com/vant-ui/vant/issues/11014)
|
|
||||||
- Image: 新增 block 属性 [#11022](https://github.com/vant-ui/vant/issues/11022)
|
|
||||||
- Toast: 新增 message 插槽 [#11018](https://github.com/vant-ui/vant/issues/11018)
|
|
||||||
|
|
||||||
**Bug Fixes**
|
|
||||||
|
|
||||||
- Picker: 修复部分情况下未正确更新选中值的问题 [#11009](https://github.com/vant-ui/vant/issues/11009)
|
|
||||||
- Locale: 修复读取 i18n 文案时可能获取到 JS 原生方法的问题 [#11010](https://github.com/vant-ui/vant/issues/11010)
|
|
||||||
|
|
||||||
### [v4.0.0-rc.0](https://github.com/vant-ui/vant/compare/v3.6.2...v4.0.0-rc.0)
|
### [v4.0.0-rc.0](https://github.com/vant-ui/vant/compare/v3.6.2...v4.0.0-rc.0)
|
||||||
|
|
||||||
`2022-09-04`
|
`2022-09-04`
|
||||||
|
|||||||
@ -22,7 +22,7 @@ Contains color specifications, font specifications, and component design specifi
|
|||||||
|
|
||||||
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/tab_202009101415.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/tab_202009101415.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
||||||
|
|
||||||
<a class="design-download" href="https://github.com/vant-ui/vant/blob/main/packages/vant/docs/assets/design.sketch?raw=true">Download</a>
|
<a class="design-download" href="https://github.com/vant-ui/vant/blob/dev/packages/vant/docs/assets/design.sketch?raw=true">Download</a>
|
||||||
|
|
||||||
### Icons (Sketch)
|
### Icons (Sketch)
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ Contains icon library resources.
|
|||||||
|
|
||||||
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/design-icons-0321.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/design-icons-0321.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
||||||
|
|
||||||
<a class="design-download" href="https://github.com/vant-ui/vant/blob/main/packages/vant-icons/assets/icons.sketch?raw=true">Download</a>
|
<a class="design-download" href="https://github.com/vant-ui/vant/blob/dev/packages/vant-icons/assets/icons.sketch?raw=true">Download</a>
|
||||||
|
|
||||||
### Axure
|
### Axure
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/tab_202009101415.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/tab_202009101415.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
||||||
|
|
||||||
<a class="design-download" href="https://github.com/vant-ui/vant/blob/main/packages/vant/docs/assets/design.sketch?raw=true">下载</a>
|
<a class="design-download" href="https://github.com/vant-ui/vant/blob/dev/packages/vant/docs/assets/design.sketch?raw=true">下载</a>
|
||||||
|
|
||||||
### 图标设计稿(Sketch)
|
### 图标设计稿(Sketch)
|
||||||
|
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/design-icons-0321.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
<img src="https://fastly.jsdelivr.net/npm/@vant/assets/design-icons-0321.png" style="width: 80%; box-shadow: 0 1px 2px rgba(0,0,0,.2)">
|
||||||
|
|
||||||
<a class="design-download" href="https://github.com/vant-ui/vant/blob/main/packages/vant-icons/assets/icons.sketch?raw=true">下载</a>
|
<a class="design-download" href="https://github.com/vant-ui/vant/blob/dev/packages/vant-icons/assets/icons.sketch?raw=true">下载</a>
|
||||||
|
|
||||||
#### 在线资源
|
#### 在线资源
|
||||||
|
|
||||||
|
|||||||
@ -68,12 +68,6 @@ Select 是桌面端常用的组件,但它的交互形式不适合移动端。
|
|||||||
|
|
||||||
在移动端,我们推荐使用 [Picker 选择器组件](#/zh-CN/picker) 作为代替。
|
在移动端,我们推荐使用 [Picker 选择器组件](#/zh-CN/picker) 作为代替。
|
||||||
|
|
||||||
### 是否支持在 uni-app 中使用?
|
|
||||||
|
|
||||||
Vant 所有组件都是基于 Vue 框架实现的,没有针对 uni-app 进行适配,因此不保证各个组件在 uni-app 下的可用性。
|
|
||||||
|
|
||||||
如果你在 uni-app 中使用 Vant 遇到问题,建议向 uni-app 进行反馈。
|
|
||||||
|
|
||||||
### 部分组件无法在桌面端进行操作?
|
### 部分组件无法在桌面端进行操作?
|
||||||
|
|
||||||
参见[桌面端适配](#/zh-CN/advanced-usage#zhuo-mian-duan-gua-pei)。
|
参见[桌面端适配](#/zh-CN/advanced-usage#zhuo-mian-duan-gua-pei)。
|
||||||
|
|||||||
@ -41,15 +41,16 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | WeChat MiniProgram UI |
|
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | WeChat MiniProgram UI |
|
||||||
| [vant-demo](https://github.com/vant-ui/vant-demo) | Collection of Vant demos |
|
| [vant-demo](https://github.com/vant-ui/vant-demo) | Collection of Vant demos |
|
||||||
| [vant-cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli) | Scaffold for UI library |
|
| [vant-cli](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli) | Scaffold for UI library |
|
||||||
| [vant-icons](https://github.com/vant-ui/vant/tree/main/packages/vant-icons) | Vant icons |
|
| [vant-icons](https://github.com/vant-ui/vant/tree/dev/packages/vant-icons) | Vant icons |
|
||||||
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) | Using vant in desktop browsers |
|
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator) | Using vant in desktop browsers |
|
||||||
|
|
||||||
### Community Ecosystem
|
### Community Ecosystem
|
||||||
|
|
||||||
| Project | Description |
|
| Project | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | React mobile UI Components based on Vant |
|
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | React mobile UI Components based on Vant |
|
||||||
|
| [rc-ui-lib](https://github.com/rancui/rc-ui-lib) | React Mobile UI Components Library |
|
||||||
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Alipay MiniProgram UI |
|
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Alipay MiniProgram UI |
|
||||||
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro |
|
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro |
|
||||||
| [vant-theme](https://github.com/Aisen60/vant-theme) | Online theme preview built on Vant UI |
|
| [vant-theme](https://github.com/Aisen60/vant-theme) | Online theme preview built on Vant UI |
|
||||||
@ -60,7 +61,7 @@ Vant 3/4 supports modern browsers and Chrome >= 51、iOS >= 10.0 (same as Vue 3)
|
|||||||
|
|
||||||
- [Feedback](https://github.com/vant-ui/vant/issues)
|
- [Feedback](https://github.com/vant-ui/vant/issues)
|
||||||
- [Changelog](#/en-US/changelog)
|
- [Changelog](#/en-US/changelog)
|
||||||
- [Discussions](https://github.com/vant-ui/vant/discussions)
|
- [Gitter](https://gitter.im/vant-contrib/discuss?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
|
||||||
|
|
||||||
## Contribution
|
## Contribution
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ Thanks to the following friends for their contributions to Vant:
|
|||||||
|
|
||||||
### Contribution Guide
|
### Contribution Guide
|
||||||
|
|
||||||
Please make sure to read the [Contributing Guide](https://github.com/vant-ui/vant/blob/main/.github/CONTRIBUTING.md) before making a pull request.
|
Please make sure to read the [Contributing Guide](https://github.com/vant-ui/vant/blob/dev/.github/CONTRIBUTING.md) before making a pull request.
|
||||||
|
|
||||||
### LICENSE
|
### LICENSE
|
||||||
|
|
||||||
|
|||||||
@ -53,9 +53,9 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | Vant 微信小程序版 |
|
| [vant-weapp](https://github.com/vant-ui/vant-weapp) | Vant 微信小程序版 |
|
||||||
| [vant-demo](https://github.com/vant-ui/vant-demo) | Vant 官方示例合集 |
|
| [vant-demo](https://github.com/vant-ui/vant-demo) | Vant 官方示例合集 |
|
||||||
| [vant-cli](https://github.com/vant-ui/vant/tree/main/packages/vant-cli) | 开箱即用的组件库搭建工具 |
|
| [vant-cli](https://github.com/vant-ui/vant/tree/dev/packages/vant-cli) | 开箱即用的组件库搭建工具 |
|
||||||
| [vant-icons](https://github.com/vant-ui/vant/tree/main/packages/vant-icons) | Vant 图标库 |
|
| [vant-icons](https://github.com/vant-ui/vant/tree/dev/packages/vant-icons) | Vant 图标库 |
|
||||||
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/main/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 |
|
| [vant-touch-emulator](https://github.com/vant-ui/vant/tree/dev/packages/vant-touch-emulator) | 在桌面端使用 Vant 的辅助库 |
|
||||||
|
|
||||||
### 社区生态
|
### 社区生态
|
||||||
|
|
||||||
@ -64,6 +64,7 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
| 项目 | 描述 |
|
| 项目 | 描述 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | 参照 Vant 打造的 React 移动端组件库 |
|
| [3lang3/react-vant](https://github.com/3lang3/react-vant) | 参照 Vant 打造的 React 移动端组件库 |
|
||||||
|
| [rc-ui-lib](https://github.com/rancui/rc-ui-lib) | 基于 Vant 的 React 版本移动端 UI 组件库 |
|
||||||
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Vant 支付宝小程序版 |
|
| [vant-aliapp](https://github.com/ant-move/Vant-Aliapp) | Vant 支付宝小程序版 |
|
||||||
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro 版 |
|
| [taroify](https://gitee.com/mallfoundry/taroify) | Vant Taro 版 |
|
||||||
| [vant-theme](https://github.com/Aisen60/vant-theme) | Vant 在线主题预览工具 |
|
| [vant-theme](https://github.com/Aisen60/vant-theme) | Vant 在线主题预览工具 |
|
||||||
@ -74,8 +75,8 @@ Vant 3/4 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一
|
|||||||
|
|
||||||
- [意见反馈](https://github.com/vant-ui/vant/issues)
|
- [意见反馈](https://github.com/vant-ui/vant/issues)
|
||||||
- [更新日志](#/zh-CN/changelog)
|
- [更新日志](#/zh-CN/changelog)
|
||||||
- [码云镜像仓库](https://gitee.com/vant-contrib/vant)
|
- [码云镜像](https://gitee.com/vant-contrib/vant)
|
||||||
- [Discussions 讨论区](https://github.com/vant-ui/vant/discussions)
|
- [Gitter 讨论组](https://gitter.im/vant-contrib/discuss?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
|
||||||
|
|
||||||
## 贡献
|
## 贡献
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vant",
|
"name": "vant",
|
||||||
"version": "4.0.0-rc.6",
|
"version": "4.0.0-rc.0",
|
||||||
"description": "Mobile UI Components built on Vue",
|
"description": "Mobile UI Components built on Vue",
|
||||||
"main": "lib/vant.cjs.js",
|
"main": "lib/vant.cjs.js",
|
||||||
"module": "es/index.mjs",
|
"module": "es/index.mjs",
|
||||||
@ -47,19 +47,19 @@
|
|||||||
"components"
|
"components"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vant/popperjs": "^1.3.0",
|
"@vant/icons": "^1.8.0",
|
||||||
"@vant/use": "^1.4.3"
|
"@vant/popperjs": "^1.2.1",
|
||||||
|
"@vant/use": "^1.4.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "^3.0.0"
|
"vue": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.11.56",
|
"@types/node": "^16.11.56",
|
||||||
"@types/jest": "^29.1.1",
|
"@types/jest": "^27.0.0",
|
||||||
"@vant/area-data": "workspace:*",
|
"@vant/area-data": "workspace:*",
|
||||||
"@vant/cli": "workspace:*",
|
"@vant/cli": "workspace:*",
|
||||||
"@vant/eslint-config": "workspace:*",
|
"@vant/eslint-config": "workspace:*",
|
||||||
"@vant/icons": "workspace:*",
|
|
||||||
"@vue/runtime-core": "^3.2.38",
|
"@vue/runtime-core": "^3.2.38",
|
||||||
"@vue/test-utils": "^2.0.2",
|
"@vue/test-utils": "^2.0.2",
|
||||||
"typescript": "^4.8.2",
|
"typescript": "^4.8.2",
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-action-bar-button-height: 40px;
|
--van-action-bar-button-height: 40px;
|
||||||
--van-action-bar-button-warning-color: var(--van-gradient-orange);
|
--van-action-bar-button-warning-color: var(--van-gradient-orange);
|
||||||
--van-action-bar-button-danger-color: var(--van-gradient-red);
|
--van-action-bar-button-danger-color: var(--van-gradient-red);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const ActionBarButton = withInstall(_ActionBarButton);
|
|||||||
export default ActionBarButton;
|
export default ActionBarButton;
|
||||||
export { actionBarButtonProps } from './ActionBarButton';
|
export { actionBarButtonProps } from './ActionBarButton';
|
||||||
export type { ActionBarButtonProps } from './ActionBarButton';
|
export type { ActionBarButtonProps } from './ActionBarButton';
|
||||||
export type { ActionBarButtonThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
export type ActionBarButtonThemeVars = {
|
|
||||||
actionBarButtonHeight?: string;
|
|
||||||
actionBarButtonWarningColor?: string;
|
|
||||||
actionBarButtonDangerColor?: string;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-action-bar-icon-width: 48px;
|
--van-action-bar-icon-width: 48px;
|
||||||
--van-action-bar-icon-height: 100%;
|
--van-action-bar-icon-height: 100%;
|
||||||
--van-action-bar-icon-color: var(--van-text-color);
|
--van-action-bar-icon-color: var(--van-text-color);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const ActionBarIcon = withInstall(_ActionBarIcon);
|
|||||||
export default ActionBarIcon;
|
export default ActionBarIcon;
|
||||||
export { actionBarIconProps } from './ActionBarIcon';
|
export { actionBarIconProps } from './ActionBarIcon';
|
||||||
export type { ActionBarIconProps } from './ActionBarIcon';
|
export type { ActionBarIconProps } from './ActionBarIcon';
|
||||||
export type { ActionBarIconThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
export type ActionBarIconThemeVars = {
|
|
||||||
actionBarIconWidth?: string;
|
|
||||||
actionBarIconHeight?: string;
|
|
||||||
actionBarIconColor?: string;
|
|
||||||
actionBarIconSize?: string;
|
|
||||||
actionBarIconFontSize?: string;
|
|
||||||
actionBarIconActiveColor?: string;
|
|
||||||
actionBarIconTextColor?: string;
|
|
||||||
actionBarIconBackground?: string;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-action-bar-background: var(--van-background-2);
|
--van-action-bar-background: var(--van-background-2);
|
||||||
--van-action-bar-height: 50px;
|
--van-action-bar-height: 50px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const ActionBar = withInstall(_ActionBar);
|
|||||||
export default ActionBar;
|
export default ActionBar;
|
||||||
export { actionBarProps } from './ActionBar';
|
export { actionBarProps } from './ActionBar';
|
||||||
export type { ActionBarProps } from './ActionBar';
|
export type { ActionBarProps } from './ActionBar';
|
||||||
export type { ActionBarThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,4 +0,0 @@
|
|||||||
export type ActionBarThemeVars = {
|
|
||||||
actionBarBackground?: string;
|
|
||||||
actionBarHeight?: string;
|
|
||||||
};
|
|
||||||
@ -179,7 +179,6 @@ export default {
|
|||||||
| closeable | Whether to show close icon | _boolean_ | `true` |
|
| closeable | Whether to show close icon | _boolean_ | `true` |
|
||||||
| close-icon | Close icon name | _string_ | `cross` |
|
| close-icon | Close icon name | _string_ | `cross` |
|
||||||
| duration | Transition duration, unit second | _number \| string_ | `0.3` |
|
| duration | Transition duration, unit second | _number \| string_ | `0.3` |
|
||||||
| z-index | Set the z-index to a fixed value | _number \| string_ | `2000+` |
|
|
||||||
| round | Whether to show round corner | _boolean_ | `true` |
|
| round | Whether to show round corner | _boolean_ | `true` |
|
||||||
| overlay | Whether to show overlay | _boolean_ | `true` |
|
| overlay | Whether to show overlay | _boolean_ | `true` |
|
||||||
| overlay-class | Custom overlay class | _string \| Array \| object_ | - |
|
| overlay-class | Custom overlay class | _string \| Array \| object_ | - |
|
||||||
|
|||||||
@ -189,7 +189,6 @@ export default {
|
|||||||
| closeable | 是否显示关闭图标 | _boolean_ | `true` |
|
| closeable | 是否显示关闭图标 | _boolean_ | `true` |
|
||||||
| close-icon | 关闭图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | `cross` |
|
| close-icon | 关闭图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | `cross` |
|
||||||
| duration | 动画时长,单位秒,设置为 0 可以禁用动画 | _number \| string_ | `0.3` |
|
| duration | 动画时长,单位秒,设置为 0 可以禁用动画 | _number \| string_ | `0.3` |
|
||||||
| z-index | 将面板的 z-index 层级设置为一个固定值 | _number \| string_ | `2000+` |
|
|
||||||
| round | 是否显示圆角 | _boolean_ | `true` |
|
| round | 是否显示圆角 | _boolean_ | `true` |
|
||||||
| overlay | 是否显示遮罩层 | _boolean_ | `true` |
|
| overlay | 是否显示遮罩层 | _boolean_ | `true` |
|
||||||
| overlay-class | 自定义遮罩层类名 | _string \| Array \| object_ | - |
|
| overlay-class | 自定义遮罩层类名 | _string \| Array \| object_ | - |
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
@import '../style/mixins/hairline';
|
@import '../style/mixins/hairline';
|
||||||
|
|
||||||
:root {
|
body {
|
||||||
--van-action-sheet-max-height: 80%;
|
--van-action-sheet-max-height: 80%;
|
||||||
--van-action-sheet-header-height: 48px;
|
--van-action-sheet-header-height: 48px;
|
||||||
--van-action-sheet-header-font-size: var(--van-font-size-lg);
|
--van-action-sheet-header-font-size: var(--van-font-size-lg);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const ActionSheet = withInstall(_ActionSheet);
|
|||||||
export default ActionSheet;
|
export default ActionSheet;
|
||||||
export { actionSheetProps } from './ActionSheet';
|
export { actionSheetProps } from './ActionSheet';
|
||||||
export type { ActionSheetProps, ActionSheetAction } from './ActionSheet';
|
export type { ActionSheetProps, ActionSheetAction } from './ActionSheet';
|
||||||
export type { ActionSheetThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,23 +0,0 @@
|
|||||||
export type ActionSheetThemeVars = {
|
|
||||||
actionSheetMaxHeight?: string;
|
|
||||||
actionSheetHeaderHeight?: string;
|
|
||||||
actionSheetHeaderFontSize?: string;
|
|
||||||
actionSheetDescriptionColor?: string;
|
|
||||||
actionSheetDescriptionFontSize?: string;
|
|
||||||
actionSheetDescriptionLineHeight?: number | string;
|
|
||||||
actionSheetItemBackground?: string;
|
|
||||||
actionSheetItemFontSize?: string;
|
|
||||||
actionSheetItemLineHeight?: number | string;
|
|
||||||
actionSheetItemTextColor?: string;
|
|
||||||
actionSheetItemDisabledTextColor?: string;
|
|
||||||
actionSheetSubnameColor?: string;
|
|
||||||
actionSheetSubnameFontSize?: string;
|
|
||||||
actionSheetSubnameLineHeight?: number | string;
|
|
||||||
actionSheetCloseIconSize?: string;
|
|
||||||
actionSheetCloseIconColor?: string;
|
|
||||||
actionSheetCloseIconPadding?: string;
|
|
||||||
actionSheetCancelTextColor?: string;
|
|
||||||
actionSheetCancelPaddingTop?: string;
|
|
||||||
actionSheetCancelPaddingColor?: string;
|
|
||||||
actionSheetLoadingIconSize?: string;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-address-edit-padding: var(--van-padding-sm);
|
--van-address-edit-padding: var(--van-padding-sm);
|
||||||
--van-address-edit-buttons-padding: var(--van-padding-xl)
|
--van-address-edit-buttons-padding: var(--van-padding-xl)
|
||||||
var(--van-padding-base);
|
var(--van-padding-base);
|
||||||
|
|||||||
@ -8,7 +8,6 @@ export type { AddressEditProps };
|
|||||||
export type {
|
export type {
|
||||||
AddressEditInfo,
|
AddressEditInfo,
|
||||||
AddressEditInstance,
|
AddressEditInstance,
|
||||||
AddressEditThemeVars,
|
|
||||||
AddressEditSearchItem,
|
AddressEditSearchItem,
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
|
|||||||
@ -27,10 +27,3 @@ export type AddressEditInstance = ComponentPublicInstance<
|
|||||||
AddressEditProps,
|
AddressEditProps,
|
||||||
AddressEditExpose
|
AddressEditExpose
|
||||||
>;
|
>;
|
||||||
|
|
||||||
export type AddressEditThemeVars = {
|
|
||||||
addressEditPadding?: string;
|
|
||||||
addressEditButtonsPadding?: string;
|
|
||||||
addressEditButtonMarginBottom?: string;
|
|
||||||
addressEditButtonFontSize?: string;
|
|
||||||
};
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-address-list-padding: var(--van-padding-sm) var(--van-padding-sm) 80px;
|
--van-address-list-padding: var(--van-padding-sm) var(--van-padding-sm) 80px;
|
||||||
--van-address-list-disabled-text-color: var(--van-text-color-2);
|
--van-address-list-disabled-text-color: var(--van-text-color-2);
|
||||||
--van-address-list-disabled-text-padding: calc(var(--van-padding-base) * 5) 0;
|
--van-address-list-disabled-text-padding: calc(var(--van-padding-base) * 5) 0;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ export default AddressList;
|
|||||||
export { addressListProps } from './AddressList';
|
export { addressListProps } from './AddressList';
|
||||||
export type { AddressListProps } from './AddressList';
|
export type { AddressListProps } from './AddressList';
|
||||||
export type { AddressListAddress } from './AddressListItem';
|
export type { AddressListAddress } from './AddressListItem';
|
||||||
export type { AddressListThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,15 +0,0 @@
|
|||||||
export type AddressListThemeVars = {
|
|
||||||
addressListPadding?: string;
|
|
||||||
addressListDisabledTextColor?: string;
|
|
||||||
addressListDisabledTextPadding?: string;
|
|
||||||
addressListDisabledTextFontSize?: string;
|
|
||||||
addressListDisabledTextLineHeight?: number | string;
|
|
||||||
addressListAddButtonZIndex?: number | string;
|
|
||||||
addressListItemPadding?: string;
|
|
||||||
addressListItemTextColor?: string;
|
|
||||||
addressListItemDisabledTextColor?: string;
|
|
||||||
addressListItemFontSize?: string;
|
|
||||||
addressListItemLineHeight?: number | string;
|
|
||||||
addressListRadioColor?: string;
|
|
||||||
addressListEditIconSize?: string;
|
|
||||||
};
|
|
||||||
@ -52,7 +52,7 @@ export default {
|
|||||||
|
|
||||||
### @vant/area-data
|
### @vant/area-data
|
||||||
|
|
||||||
Vant officially provides a default China area data, which can be imported through [@vant/area-data](https://github.com/vant-ui/vant/tree/main/packages/vant-area-data):
|
Vant officially provides a default China area data, which can be imported through [@vant/area-data](https://github.com/vant-ui/vant/tree/dev/packages/vant-area-data):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# with npm
|
# with npm
|
||||||
|
|||||||
@ -54,7 +54,7 @@ const areaList = {
|
|||||||
|
|
||||||
### @vant/area-data
|
### @vant/area-data
|
||||||
|
|
||||||
Vant 官方提供了一份默认的中国省市区数据,可以通过 [@vant/area-data](https://github.com/vant-ui/vant/tree/main/packages/vant-area-data) 引入:
|
Vant 官方提供了一份默认的中国省市区数据,可以通过 [@vant/area-data](https://github.com/vant-ui/vant/tree/dev/packages/vant-area-data) 引入:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 通过 npm
|
# 通过 npm
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-badge-size: 16px;
|
--van-badge-size: 16px;
|
||||||
--van-badge-color: var(--van-white);
|
--van-badge-color: var(--van-white);
|
||||||
--van-badge-padding: 0 3px;
|
--van-badge-padding: 0 3px;
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const Badge = withInstall(_Badge);
|
|||||||
export default Badge;
|
export default Badge;
|
||||||
export { badgeProps } from './Badge';
|
export { badgeProps } from './Badge';
|
||||||
export type { BadgeProps, BadgePosition } from './Badge';
|
export type { BadgeProps, BadgePosition } from './Badge';
|
||||||
export type { BadgeThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,12 +0,0 @@
|
|||||||
export type BadgeThemeVars = {
|
|
||||||
badgeSize?: string;
|
|
||||||
badgeColor?: string;
|
|
||||||
badgePadding?: string;
|
|
||||||
badgeFontSize?: string;
|
|
||||||
badgeFontWeight?: string;
|
|
||||||
badgeBorderWidth?: string;
|
|
||||||
badgeBackground?: string;
|
|
||||||
badgeDotColor?: string;
|
|
||||||
badgeDotSize?: string;
|
|
||||||
badgeFont?: string;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-button-mini-height: 24px;
|
--van-button-mini-height: 24px;
|
||||||
--van-button-mini-padding: 0 var(--van-padding-base);
|
--van-button-mini-padding: 0 var(--van-padding-base);
|
||||||
--van-button-mini-font-size: var(--van-font-size-xs);
|
--van-button-mini-font-size: var(--van-font-size-xs);
|
||||||
|
|||||||
@ -8,7 +8,6 @@ export type { ButtonProps } from './Button';
|
|||||||
export type {
|
export type {
|
||||||
ButtonType,
|
ButtonType,
|
||||||
ButtonSize,
|
ButtonSize,
|
||||||
ButtonThemeVars,
|
|
||||||
ButtonNativeType,
|
ButtonNativeType,
|
||||||
ButtonIconPosition,
|
ButtonIconPosition,
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|||||||
@ -12,40 +12,3 @@ export type ButtonSize = 'large' | 'normal' | 'small' | 'mini';
|
|||||||
export type ButtonNativeType = NonNullable<ButtonHTMLAttributes['type']>;
|
export type ButtonNativeType = NonNullable<ButtonHTMLAttributes['type']>;
|
||||||
|
|
||||||
export type ButtonIconPosition = 'left' | 'right';
|
export type ButtonIconPosition = 'left' | 'right';
|
||||||
|
|
||||||
export type ButtonThemeVars = {
|
|
||||||
buttonMiniHeight?: string;
|
|
||||||
buttonMiniPadding?: string;
|
|
||||||
buttonMiniFontSize?: string;
|
|
||||||
buttonSmallHeight?: string;
|
|
||||||
buttonSmallPadding?: string;
|
|
||||||
buttonSmallFontSize?: string;
|
|
||||||
buttonNormalPadding?: string;
|
|
||||||
buttonNormalFontSize?: string;
|
|
||||||
buttonLargeHeight?: string;
|
|
||||||
buttonDefaultHeight?: string;
|
|
||||||
buttonDefaultLineHeight?: number | string;
|
|
||||||
buttonDefaultFontSize?: string;
|
|
||||||
buttonDefaultColor?: string;
|
|
||||||
buttonDefaultBackground?: string;
|
|
||||||
buttonDefaultBorderColor?: string;
|
|
||||||
buttonPrimaryColor?: string;
|
|
||||||
buttonPrimaryBackground?: string;
|
|
||||||
buttonPrimaryBorderColor?: string;
|
|
||||||
buttonSuccessColor?: string;
|
|
||||||
buttonSuccessBackground?: string;
|
|
||||||
buttonSuccessBorderColor?: string;
|
|
||||||
buttonDangerColor?: string;
|
|
||||||
buttonDangerBackground?: string;
|
|
||||||
buttonDangerBorderColor?: string;
|
|
||||||
buttonWarningColor?: string;
|
|
||||||
buttonWarningBackground?: string;
|
|
||||||
buttonWarningBorderColor?: string;
|
|
||||||
buttonBorderWidth?: string;
|
|
||||||
buttonRadius?: string;
|
|
||||||
buttonRoundRadius?: string;
|
|
||||||
buttonPlainBackground?: string;
|
|
||||||
buttonDisabledOpacity?: number | string;
|
|
||||||
buttonIconSize?: string;
|
|
||||||
buttonLoadingIconSize?: string;
|
|
||||||
};
|
|
||||||
|
|||||||
@ -175,10 +175,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const bodyRef = ref<HTMLElement>();
|
const bodyRef = ref<HTMLElement>();
|
||||||
|
|
||||||
const subtitle = ref<{ text: string; date?: Date }>({
|
const subtitle = ref('');
|
||||||
text: '',
|
|
||||||
date: undefined,
|
|
||||||
});
|
|
||||||
const currentDate = ref(getInitialDate());
|
const currentDate = ref(getInitialDate());
|
||||||
|
|
||||||
const [monthRefs, setMonthRefs] = useRefs<CalendarMonthInstance>();
|
const [monthRefs, setMonthRefs] = useRefs<CalendarMonthInstance>();
|
||||||
@ -270,10 +267,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
/* istanbul ignore else */
|
/* istanbul ignore else */
|
||||||
if (currentMonth) {
|
if (currentMonth) {
|
||||||
subtitle.value = {
|
subtitle.value = currentMonth.getTitle();
|
||||||
text: currentMonth.getTitle(),
|
|
||||||
date: currentMonth.date,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -531,9 +525,8 @@ export default defineComponent({
|
|||||||
<div class={bem()}>
|
<div class={bem()}>
|
||||||
<CalendarHeader
|
<CalendarHeader
|
||||||
v-slots={pick(slots, ['title', 'subtitle'])}
|
v-slots={pick(slots, ['title', 'subtitle'])}
|
||||||
date={subtitle.value.date}
|
|
||||||
title={props.title}
|
title={props.title}
|
||||||
subtitle={subtitle.value.text}
|
subtitle={subtitle.value}
|
||||||
showTitle={props.showTitle}
|
showTitle={props.showTitle}
|
||||||
showSubtitle={props.showSubtitle}
|
showSubtitle={props.showSubtitle}
|
||||||
firstDayOfWeek={dayOffset.value}
|
firstDayOfWeek={dayOffset.value}
|
||||||
|
|||||||
@ -8,7 +8,6 @@ export default defineComponent({
|
|||||||
name,
|
name,
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
date: Date,
|
|
||||||
title: String,
|
title: String,
|
||||||
subtitle: String,
|
subtitle: String,
|
||||||
showTitle: Boolean,
|
showTitle: Boolean,
|
||||||
@ -31,12 +30,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const renderSubtitle = () => {
|
const renderSubtitle = () => {
|
||||||
if (props.showSubtitle) {
|
if (props.showSubtitle) {
|
||||||
const title = slots.subtitle
|
const title = slots.subtitle ? slots.subtitle() : props.subtitle;
|
||||||
? slots.subtitle({
|
|
||||||
date: props.date,
|
|
||||||
text: props.subtitle,
|
|
||||||
})
|
|
||||||
: props.subtitle;
|
|
||||||
return (
|
return (
|
||||||
<div class={bem('header-subtitle')} onClick={onClickSubtitle}>
|
<div class={bem('header-subtitle')} onClick={onClickSubtitle}>
|
||||||
{title}
|
{title}
|
||||||
|
|||||||
@ -331,14 +331,14 @@ Following props are supported when the type is multiple
|
|||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
| Name | Description | SlotProps |
|
| Name | Description | SlotProps |
|
||||||
| --- | --- | --- |
|
| --------------------- | ------------------------- | ----------------------- |
|
||||||
| title | Custom title | - |
|
| title | Custom title | - |
|
||||||
| subtitle `v3.1.3` | Custom subtitle | _{ text: string, date?: Date }_ |
|
| subtitle `v3.1.3` | Custom subtitle | - |
|
||||||
| footer | Custom footer | - |
|
| footer | Custom footer | - |
|
||||||
| confirm-text `v3.2.6` | Custom confirm text | _{ disabled: boolean }_ |
|
| confirm-text `v3.2.6` | Custom confirm text | _{ disabled: boolean }_ |
|
||||||
| top-info `v3.0.17` | Custom top info of day | _day: Day_ |
|
| top-info `v3.0.17` | Custom top info of day | _day: Day_ |
|
||||||
| bottom-info `v3.0.17` | Custom bottom info of day | _day: Day_ |
|
| bottom-info `v3.0.17` | Custom bottom info of day | _day: Day_ |
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
|
|
||||||
|
|||||||
@ -337,14 +337,14 @@ export default {
|
|||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
| 名称 | 说明 | 参数 |
|
| 名称 | 说明 | 参数 |
|
||||||
| --- | --- | --- |
|
| --------------------- | ------------------------ | ----------------------- |
|
||||||
| title | 自定义标题 | - |
|
| title | 自定义标题 | - |
|
||||||
| subtitle `v3.1.3` | 自定义日历副标题 | _{ text: string, date?: Date }_ |
|
| subtitle `v3.1.3` | 自定义日历副标题 | - |
|
||||||
| footer | 自定义底部区域内容 | - |
|
| footer | 自定义底部区域内容 | - |
|
||||||
| confirm-text `v3.2.6` | 自定义确认按钮的内容 | _{ disabled: boolean }_ |
|
| confirm-text `v3.2.6` | 自定义确认按钮的内容 | _{ disabled: boolean }_ |
|
||||||
| top-info `v3.0.17` | 自定义日期上方的提示信息 | _day: Day_ |
|
| top-info `v3.0.17` | 自定义日期上方的提示信息 | _day: Day_ |
|
||||||
| bottom-info `v3.0.17` | 自定义日期下方的提示信息 | _day: Day_ |
|
| bottom-info `v3.0.17` | 自定义日期下方的提示信息 | _day: Day_ |
|
||||||
|
|
||||||
### 方法
|
### 方法
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-calendar-background: var(--van-background-2);
|
--van-calendar-background: var(--van-background-2);
|
||||||
--van-calendar-popup-height: 80%;
|
--van-calendar-popup-height: 80%;
|
||||||
--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, 0.16);
|
--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, 0.16);
|
||||||
|
|||||||
@ -10,7 +10,6 @@ export type {
|
|||||||
CalendarDayItem,
|
CalendarDayItem,
|
||||||
CalendarDayType,
|
CalendarDayType,
|
||||||
CalendarInstance,
|
CalendarInstance,
|
||||||
CalendarThemeVars,
|
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
|
|||||||
@ -934,12 +934,6 @@ exports[`should render confirm-text slot correctly 1`] = `
|
|||||||
</button>
|
</button>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`should render subtitle slot with params 1`] = `
|
|
||||||
<div class="van-calendar__header-subtitle">
|
|
||||||
Custom Subtitle
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`should render title、footer、subtitle slot correctly 1`] = `
|
exports[`should render title、footer、subtitle slot correctly 1`] = `
|
||||||
<div class="van-calendar">
|
<div class="van-calendar">
|
||||||
<div class="van-calendar__header">
|
<div class="van-calendar__header">
|
||||||
|
|||||||
@ -365,27 +365,6 @@ test('should render title、footer、subtitle slot correctly', async () => {
|
|||||||
expect(wrapper.html()).toMatchSnapshot();
|
expect(wrapper.html()).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should render subtitle slot with params', async () => {
|
|
||||||
const wrapper = mount(Calendar, {
|
|
||||||
props: {
|
|
||||||
minDate,
|
|
||||||
maxDate,
|
|
||||||
poppable: false,
|
|
||||||
defaultDate: minDate,
|
|
||||||
lazyRender: false,
|
|
||||||
},
|
|
||||||
slots: {
|
|
||||||
subtitle: ({ text }) => `Custom Subtitle ${text}`,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
await later();
|
|
||||||
|
|
||||||
expect(
|
|
||||||
wrapper.find('.van-calendar__header-subtitle').html()
|
|
||||||
).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should reset when type changed', async () => {
|
test('should reset when type changed', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
|
|||||||
@ -48,32 +48,3 @@ export type CalendarMonthInstance = ComponentPublicInstance<
|
|||||||
disabledDays: Ref<ComputedRef<CalendarDayItem[]>>;
|
disabledDays: Ref<ComputedRef<CalendarDayItem[]>>;
|
||||||
}
|
}
|
||||||
>;
|
>;
|
||||||
|
|
||||||
export type CalendarThemeVars = {
|
|
||||||
calendarBackground?: string;
|
|
||||||
calendarPopupHeight?: string;
|
|
||||||
calendarHeaderShadow?: string;
|
|
||||||
calendarHeaderTitleHeight?: string;
|
|
||||||
calendarHeaderTitleFontSize?: string;
|
|
||||||
calendarHeaderSubtitleFontSize?: string;
|
|
||||||
calendarWeekdaysHeight?: string;
|
|
||||||
calendarWeekdaysFontSize?: string;
|
|
||||||
calendarMonthTitleFontSize?: string;
|
|
||||||
calendarMonthMarkColor?: string;
|
|
||||||
calendarMonthMarkFontSize?: string;
|
|
||||||
calendarDayHeight?: string;
|
|
||||||
calendarDayFontSize?: string;
|
|
||||||
calendarDayMarginBottom?: string;
|
|
||||||
calendarRangeEdgeColor?: string;
|
|
||||||
calendarRangeEdgeBackground?: string;
|
|
||||||
calendarRangeMiddleColor?: string;
|
|
||||||
calendarRangeMiddleBackgroundOpacity?: number | string;
|
|
||||||
calendarSelectedDaySize?: string;
|
|
||||||
calendarSelectedDayColor?: string;
|
|
||||||
calendarInfoFontSize?: string;
|
|
||||||
calendarInfoLineHeight?: number | string;
|
|
||||||
calendarSelectedDayBackground?: string;
|
|
||||||
calendarDayDisabledColor?: string;
|
|
||||||
calendarConfirmButtonHeight?: string;
|
|
||||||
calendarConfirmButtonMargin?: string;
|
|
||||||
};
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-card-padding: var(--van-padding-xs) var(--van-padding-md);
|
--van-card-padding: var(--van-padding-xs) var(--van-padding-md);
|
||||||
--van-card-font-size: var(--van-font-size-sm);
|
--van-card-font-size: var(--van-font-size-sm);
|
||||||
--van-card-text-color: var(--van-text-color);
|
--van-card-text-color: var(--van-text-color);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const Card = withInstall(_Card);
|
|||||||
export default Card;
|
export default Card;
|
||||||
export { cardProps } from './Card';
|
export { cardProps } from './Card';
|
||||||
export type { CardProps } from './Card';
|
export type { CardProps } from './Card';
|
||||||
export type { CardThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
export type CardThemeVars = {
|
|
||||||
cardPadding?: string;
|
|
||||||
cardFontSize?: string;
|
|
||||||
cardTextColor?: string;
|
|
||||||
cardBackground?: string;
|
|
||||||
cardThumbSize?: string;
|
|
||||||
cardThumbRadius?: string;
|
|
||||||
cardTitleLineHeight?: number | string;
|
|
||||||
cardDescColor?: string;
|
|
||||||
cardDescLineHeight?: number | string;
|
|
||||||
cardPriceColor?: string;
|
|
||||||
cardOriginPriceColor?: string;
|
|
||||||
cardNumColor?: string;
|
|
||||||
cardOriginPriceFontSize?: string;
|
|
||||||
cardPriceFontSize?: string;
|
|
||||||
cardPriceIntegerFontSize?: string;
|
|
||||||
cardPriceFont?: string;
|
|
||||||
};
|
|
||||||
@ -255,7 +255,7 @@ export default {
|
|||||||
| closeable | Whether to show close icon | _boolean_ | `true` |
|
| closeable | Whether to show close icon | _boolean_ | `true` |
|
||||||
| show-header `v3.4.2` | Whether to show header | _boolean_ | `true` |
|
| show-header `v3.4.2` | Whether to show header | _boolean_ | `true` |
|
||||||
| close-icon `v3.0.10` | Close icon name | _string_ | `cross` |
|
| close-icon `v3.0.10` | Close icon name | _string_ | `cross` |
|
||||||
| field-names `v3.0.4` | Custom the fields of options | _CascaderFieldNames_ | `{ text: 'text', value: 'value', children: 'children' }` |
|
| field-names `v3.0.4` | Custom the fields of options | _object_ | `{ text: 'text', value: 'value', children: 'children' }` |
|
||||||
|
|
||||||
### Data Structure of CascaderOption
|
### Data Structure of CascaderOption
|
||||||
|
|
||||||
|
|||||||
@ -265,7 +265,7 @@ export default {
|
|||||||
| closeable | 是否显示关闭图标 | _boolean_ | `true` |
|
| closeable | 是否显示关闭图标 | _boolean_ | `true` |
|
||||||
| show-header `v3.4.2` | 是否展示标题栏 | _boolean_ | `true` |
|
| show-header `v3.4.2` | 是否展示标题栏 | _boolean_ | `true` |
|
||||||
| close-icon `v3.0.10` | 关闭图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | `cross` |
|
| close-icon `v3.0.10` | 关闭图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | `cross` |
|
||||||
| field-names `v3.0.4` | 自定义 `options` 结构中的字段 | _CascaderFieldNames_ | `{ text: 'text', value: 'value', children: 'children' }` |
|
| field-names `v3.0.4` | 自定义 `options` 结构中的字段 | _object_ | `{ text: 'text', value: 'value', children: 'children' }` |
|
||||||
|
|
||||||
### CascaderOption 数据结构
|
### CascaderOption 数据结构
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-cascader-header-height: 48px;
|
--van-cascader-header-height: 48px;
|
||||||
--van-cascader-header-padding: 0 var(--van-padding-md);
|
--van-cascader-header-padding: 0 var(--van-padding-md);
|
||||||
--van-cascader-title-font-size: var(--van-font-size-lg);
|
--van-cascader-title-font-size: var(--van-font-size-lg);
|
||||||
|
|||||||
@ -5,11 +5,7 @@ export const Cascader = withInstall(_Cascader);
|
|||||||
export default Cascader;
|
export default Cascader;
|
||||||
export { cascaderProps } from './Cascader';
|
export { cascaderProps } from './Cascader';
|
||||||
export type { CascaderProps } from './Cascader';
|
export type { CascaderProps } from './Cascader';
|
||||||
export type {
|
export type { CascaderOption, CascaderFieldNames } from './types';
|
||||||
CascaderOption,
|
|
||||||
CascaderThemeVars,
|
|
||||||
CascaderFieldNames,
|
|
||||||
} from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -111,7 +111,7 @@ exports[`should update tabs when previous tab is clicked 1`] = `
|
|||||||
<div style="transition-duration: 0ms; transform: translateX(0px); width: 200px;"
|
<div style="transition-duration: 0ms; transform: translateX(0px); width: 200px;"
|
||||||
class="van-swipe__track"
|
class="van-swipe__track"
|
||||||
>
|
>
|
||||||
<div class="van-swipe-item van-tab__panel-wrapper"
|
<div class="van-swipe-item van-tab__panel-wrapper van-tab__panel-wrapper--inactive"
|
||||||
id="van-tab"
|
id="van-tab"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
|
|||||||
@ -21,19 +21,3 @@ export type CascaderFieldNames = {
|
|||||||
value?: string;
|
value?: string;
|
||||||
children?: string;
|
children?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type CascaderThemeVars = {
|
|
||||||
cascaderHeaderHeight?: string;
|
|
||||||
cascaderHeaderPadding?: string;
|
|
||||||
cascaderTitleFontSize?: string;
|
|
||||||
cascaderTitleLineHeight?: number | string;
|
|
||||||
cascaderCloseIconSize?: string;
|
|
||||||
cascaderCloseIconColor?: string;
|
|
||||||
cascaderSelectedIconSize?: string;
|
|
||||||
cascaderTabsHeight?: string;
|
|
||||||
cascaderActiveColor?: string;
|
|
||||||
cascaderOptionsHeight?: string;
|
|
||||||
cascaderOptionDisabledColor?: string;
|
|
||||||
cascaderTabColor?: string;
|
|
||||||
cascaderUnselectedTabColor?: string;
|
|
||||||
};
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-cell-group-background: var(--van-background-2);
|
--van-cell-group-background: var(--van-background-2);
|
||||||
--van-cell-group-title-color: var(--van-text-color-2);
|
--van-cell-group-title-color: var(--van-text-color-2);
|
||||||
--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md);
|
--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const CellGroup = withInstall(_CellGroup);
|
|||||||
export default CellGroup;
|
export default CellGroup;
|
||||||
export { cellGroupProps } from './CellGroup';
|
export { cellGroupProps } from './CellGroup';
|
||||||
export type { CellGroupProps } from './CellGroup';
|
export type { CellGroupProps } from './CellGroup';
|
||||||
export type { CellGroupThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
export type CellGroupThemeVars = {
|
|
||||||
cellGroupBackground?: string;
|
|
||||||
cellGroupTitleColor?: string;
|
|
||||||
cellGroupTitlePadding?: string;
|
|
||||||
cellGroupTitleFontSize?: string;
|
|
||||||
cellGroupTitleLineHeight?: number | string;
|
|
||||||
cellGroupInsetPadding?: string;
|
|
||||||
cellGroupInsetRadius?: string;
|
|
||||||
cellGroupInsetTitlePadding?: string;
|
|
||||||
};
|
|
||||||
@ -12,7 +12,6 @@ import {
|
|||||||
truthProp,
|
truthProp,
|
||||||
unknownProp,
|
unknownProp,
|
||||||
numericProp,
|
numericProp,
|
||||||
makeStringProp,
|
|
||||||
createNamespace,
|
createNamespace,
|
||||||
} from '../utils';
|
} from '../utils';
|
||||||
|
|
||||||
@ -29,7 +28,6 @@ export type CellSize = 'normal' | 'large';
|
|||||||
export type CellArrowDirection = 'up' | 'down' | 'left' | 'right';
|
export type CellArrowDirection = 'up' | 'down' | 'left' | 'right';
|
||||||
|
|
||||||
export const cellSharedProps = {
|
export const cellSharedProps = {
|
||||||
tag: makeStringProp<keyof HTMLElementTagNameMap>('div'),
|
|
||||||
icon: String,
|
icon: String,
|
||||||
size: String as PropType<CellSize>,
|
size: String as PropType<CellSize>,
|
||||||
title: numericProp,
|
title: numericProp,
|
||||||
@ -133,7 +131,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
const { tag, size, center, border, isLink, required } = props;
|
const { size, center, border, isLink, required } = props;
|
||||||
const clickable = props.clickable ?? isLink;
|
const clickable = props.clickable ?? isLink;
|
||||||
|
|
||||||
const classes: Record<string, boolean | undefined> = {
|
const classes: Record<string, boolean | undefined> = {
|
||||||
@ -147,7 +145,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<tag
|
<div
|
||||||
class={bem(classes)}
|
class={bem(classes)}
|
||||||
role={clickable ? 'button' : undefined}
|
role={clickable ? 'button' : undefined}
|
||||||
tabindex={clickable ? 0 : undefined}
|
tabindex={clickable ? 0 : undefined}
|
||||||
@ -158,7 +156,7 @@ export default defineComponent({
|
|||||||
{renderValue()}
|
{renderValue()}
|
||||||
{renderRightIcon()}
|
{renderRightIcon()}
|
||||||
{slots.extra?.()}
|
{slots.extra?.()}
|
||||||
</tag>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -154,12 +154,11 @@ app.use(CellGroup);
|
|||||||
| size | Size, can be set to `large` | _string_ | - |
|
| size | Size, can be set to `large` | _string_ | - |
|
||||||
| icon | Left Icon | _string_ | - |
|
| icon | Left Icon | _string_ | - |
|
||||||
| icon-prefix | Icon className prefix | _string_ | `van-icon` |
|
| icon-prefix | Icon className prefix | _string_ | `van-icon` |
|
||||||
| tag | Custom element tag | _string_ | `div` |
|
| border | Whether to show inner border | _boolean_ | `true` |
|
||||||
|
| center | Whether to center content vertically | _boolean_ | `false` |
|
||||||
| url | Link URL | _string_ | - |
|
| url | Link URL | _string_ | - |
|
||||||
| to | Target route of the link, same as to of vue-router | _string \| object_ | - |
|
| to | Target route of the link, same as to of vue-router | _string \| object_ | - |
|
||||||
| replace | If true, the navigation will not leave a history record | _boolean_ | `false` |
|
| replace | If true, the navigation will not leave a history record | _boolean_ | `false` |
|
||||||
| border | Whether to show inner border | _boolean_ | `true` |
|
|
||||||
| center | Whether to center content vertically | _boolean_ | `false` |
|
|
||||||
| clickable | Whether to show click feedback when clicked | _boolean_ | `null` |
|
| clickable | Whether to show click feedback when clicked | _boolean_ | `null` |
|
||||||
| is-link | Whether to show link icon | _boolean_ | `false` |
|
| is-link | Whether to show link icon | _boolean_ | `false` |
|
||||||
| required | Whether to show required mark | _boolean_ | `false` |
|
| required | Whether to show required mark | _boolean_ | `false` |
|
||||||
|
|||||||
@ -159,7 +159,6 @@ app.use(CellGroup);
|
|||||||
| size | 单元格大小,可选值为 `large` | _string_ | - |
|
| size | 单元格大小,可选值为 `large` | _string_ | - |
|
||||||
| icon | 左侧图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | - |
|
| icon | 左侧图标名称或图片链接,等同于 Icon 组件的 [name 属性](#/zh-CN/icon#props) | _string_ | - |
|
||||||
| icon-prefix | 图标类名前缀,等同于 Icon 组件的 [class-prefix 属性](#/zh-CN/icon#props) | _string_ | `van-icon` |
|
| icon-prefix | 图标类名前缀,等同于 Icon 组件的 [class-prefix 属性](#/zh-CN/icon#props) | _string_ | `van-icon` |
|
||||||
| tag | 根节点对应的 HTML 标签名 | _string_ | `div` |
|
|
||||||
| url | 点击后跳转的链接地址 | _string_ | - |
|
| url | 点击后跳转的链接地址 | _string_ | - |
|
||||||
| to | 点击后跳转的目标路由对象,等同于 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | _string \| object_ | - |
|
| to | 点击后跳转的目标路由对象,等同于 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | _string \| object_ | - |
|
||||||
| border | 是否显示内边框 | _boolean_ | `true` |
|
| border | 是否显示内边框 | _boolean_ | `true` |
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
@import '../style/mixins/hairline';
|
@import '../style/mixins/hairline';
|
||||||
|
|
||||||
:root {
|
body {
|
||||||
--van-cell-font-size: var(--van-font-size-md);
|
--van-cell-font-size: var(--van-font-size-md);
|
||||||
--van-cell-line-height: 24px;
|
--van-cell-line-height: 24px;
|
||||||
--van-cell-vertical-padding: 10px;
|
--van-cell-vertical-padding: 10px;
|
||||||
|
|||||||
@ -5,7 +5,6 @@ export const Cell = withInstall(_Cell);
|
|||||||
export default Cell;
|
export default Cell;
|
||||||
export { cellProps } from './Cell';
|
export { cellProps } from './Cell';
|
||||||
export type { CellSize, CellProps, CellArrowDirection } from './Cell';
|
export type { CellSize, CellProps, CellArrowDirection } from './Cell';
|
||||||
export type { CellThemeVars } from './types';
|
|
||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
|
|||||||
@ -37,11 +37,6 @@ exports[`should render label slot correctly 1`] = `
|
|||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`should render tag prop correctly 1`] = `
|
|
||||||
<a class="van-cell">
|
|
||||||
</a>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`should render title slot correctly 1`] = `
|
exports[`should render title slot correctly 1`] = `
|
||||||
<div class="van-cell">
|
<div class="van-cell">
|
||||||
<div class="van-cell__title">
|
<div class="van-cell__title">
|
||||||
|
|||||||
@ -85,7 +85,7 @@ test('should change icon class prefix when using icon-prefix prop', () => {
|
|||||||
expect(wrapper.html()).toMatchSnapshot();
|
expect(wrapper.html()).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should allow to disable clickable when using is-link prop', () => {
|
test('should allow to disable clicakble when using is-link prop', () => {
|
||||||
const wrapper = mount(Cell, {
|
const wrapper = mount(Cell, {
|
||||||
props: {
|
props: {
|
||||||
isLink: true,
|
isLink: true,
|
||||||
@ -94,12 +94,3 @@ test('should allow to disable clickable when using is-link prop', () => {
|
|||||||
});
|
});
|
||||||
expect(wrapper.classes()).not.toContain('van-cell--clickable');
|
expect(wrapper.classes()).not.toContain('van-cell--clickable');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should render tag prop correctly', () => {
|
|
||||||
const wrapper = mount(Cell, {
|
|
||||||
props: {
|
|
||||||
tag: 'a',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
expect(wrapper.html()).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
export type CellThemeVars = {
|
|
||||||
cellFontSize?: string;
|
|
||||||
cellLineHeight?: number | string;
|
|
||||||
cellVerticalPadding?: string;
|
|
||||||
cellHorizontalPadding?: string;
|
|
||||||
cellTextColor?: string;
|
|
||||||
cellBackground?: string;
|
|
||||||
cellBorderColor?: string;
|
|
||||||
cellActiveColor?: string;
|
|
||||||
cellRequiredColor?: string;
|
|
||||||
cellLabelColor?: string;
|
|
||||||
cellLabelFontSize?: string;
|
|
||||||
cellLabelLineHeight?: number | string;
|
|
||||||
cellLabelMarginTop?: string;
|
|
||||||
cellValueColor?: string;
|
|
||||||
cellIconSize?: string;
|
|
||||||
cellRightIconColor?: string;
|
|
||||||
cellLargeVerticalPadding?: string;
|
|
||||||
cellLargeTitleFontSize?: string;
|
|
||||||
cellLargeLabelFontSize?: string;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
:root {
|
body {
|
||||||
--van-checkbox-size: 20px;
|
--van-checkbox-size: 20px;
|
||||||
--van-checkbox-border-color: var(--van-gray-5);
|
--van-checkbox-border-color: var(--van-gray-5);
|
||||||
--van-checkbox-duration: var(--van-duration-fast);
|
--van-checkbox-duration: var(--van-duration-fast);
|
||||||
|
|||||||
@ -8,7 +8,6 @@ export type { CheckboxProps } from './Checkbox';
|
|||||||
export type {
|
export type {
|
||||||
CheckboxShape,
|
CheckboxShape,
|
||||||
CheckboxInstance,
|
CheckboxInstance,
|
||||||
CheckboxThemeVars,
|
|
||||||
CheckboxLabelPosition,
|
CheckboxLabelPosition,
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user