From c42bbcfc61ea7acf78c75d3096c1afdd99dc3622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89?= <49851571+suncohey@users.noreply.github.com> Date: Sat, 9 Mar 2024 18:28:45 +0800 Subject: [PATCH 01/87] feat(ImagePreview): add vertical prop (#12660) Co-authored-by: sunguohui --- packages/vant/src/image-preview/ImagePreview.tsx | 2 ++ packages/vant/src/image-preview/types.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/packages/vant/src/image-preview/ImagePreview.tsx b/packages/vant/src/image-preview/ImagePreview.tsx index 6240ce9b4fe..e2e2a23981f 100644 --- a/packages/vant/src/image-preview/ImagePreview.tsx +++ b/packages/vant/src/image-preview/ImagePreview.tsx @@ -60,6 +60,7 @@ export const imagePreviewProps = { minZoom: makeNumericProp(1 / 3), maxZoom: makeNumericProp(3), overlay: truthProp, + vertical: Boolean, closeable: Boolean, showIndex: truthProp, className: unknownProp, @@ -159,6 +160,7 @@ export default defineComponent({ lazyRender loop={props.loop} class={bem('swipe')} + vertical={props.vertical} duration={props.swipeDuration} initialSwipe={props.startPosition} showIndicators={props.showIndicators} diff --git a/packages/vant/src/image-preview/types.ts b/packages/vant/src/image-preview/types.ts index f0942ada64e..be2f72c521f 100644 --- a/packages/vant/src/image-preview/types.ts +++ b/packages/vant/src/image-preview/types.ts @@ -14,6 +14,7 @@ export type ImagePreviewOptions = { images: string[]; maxZoom?: number; minZoom?: number; + vertical?: boolean; teleport?: TeleportProps['to']; className?: unknown; showIndex?: boolean; From db766766335101db78a66be8b7ee08191dc2259a Mon Sep 17 00:00:00 2001 From: neverland Date: Sat, 9 Mar 2024 20:23:18 +0800 Subject: [PATCH 02/87] docs(ImagePreview): add vertical prop (#12663) --- packages/vant/src/image-preview/README.md | 2 ++ packages/vant/src/image-preview/README.zh-CN.md | 2 ++ packages/vant/src/image-preview/function-call.tsx | 1 + 3 files changed, 5 insertions(+) diff --git a/packages/vant/src/image-preview/README.md b/packages/vant/src/image-preview/README.md index 7ca4a86ed04..ffe527247a2 100644 --- a/packages/vant/src/image-preview/README.md +++ b/packages/vant/src/image-preview/README.md @@ -212,6 +212,7 @@ Vant exports following ImagePreview utility functions: | doubleScale `v4.7.2` | Whether to enable double tap zoom gesture. When disabled, the image preview will be closed immediately upon clicking | _boolean_ | `true` | | closeOnClickImage `v4.8.3` | Whether to close when image is clicked | _boolean_ | `true` | | closeOnClickOverlay `v4.6.4` | Whether to close when overlay is clicked | _boolean_ | `true` | +| vertical `v4.8.6` | Whether to enable vertical gesture sliding | _boolean_ | `false` | | beforeClose | Callback function before close | _(action) => boolean \| Promise_ | - | | className | Custom className | _string \| Array \| object_ | - | | maxZoom | Max zoom | _number \| string_ | `3` | @@ -240,6 +241,7 @@ Vant exports following ImagePreview utility functions: | close-on-popstate | Whether to close when popstate | _boolean_ | `true` | | close-on-click-image `v4.8.3` | Whether to close when image is clicked | _boolean_ | `true` | | close-on-click-overlay `v4.6.4` | Whether to close when overlay is clicked | _boolean_ | `true` | +| vertical `v4.8.6` | Whether to enable vertical gesture sliding | _boolean_ | `false` | | class-name | Custom className (apply to Popup in image preview) | _string \| Array \| object_ | - | | max-zoom | Max zoom | _number \| string_ | `3` | | min-zoom | Min zoom | _number \| string_ | `1/3` | diff --git a/packages/vant/src/image-preview/README.zh-CN.md b/packages/vant/src/image-preview/README.zh-CN.md index c10fcedcaa8..e69e8ebb043 100644 --- a/packages/vant/src/image-preview/README.zh-CN.md +++ b/packages/vant/src/image-preview/README.zh-CN.md @@ -216,6 +216,7 @@ Vant 中导出了以下 ImagePreview 相关的辅助函数: | closeOnPopstate | 是否在页面回退时自动关闭 | _boolean_ | `true` | | closeOnClickImage `v4.8.3` | 是否在点击图片后关闭图片预览 | _boolean_ | `true` | | closeOnClickOverlay `v4.6.4` | 是否在点击遮罩层后关闭图片预览 | _boolean_ | `true` | +| vertical `v4.8.6` | 是否开启纵向手势滑动 | _boolean_ | `false` | | className | 自定义类名 (应用在图片预览的弹出层) | _string \| Array \| object_ | - | | maxZoom | 手势缩放时,最大缩放比例 | _number \| string_ | `3` | | minZoom | 手势缩放时,最小缩放比例 | _number \| string_ | `1/3` | @@ -245,6 +246,7 @@ Vant 中导出了以下 ImagePreview 相关的辅助函数: | close-on-popstate | 是否在页面回退时自动关闭 | _boolean_ | `true` | | close-on-click-image `v4.8.3` | 是否在点击图片后关闭图片预览 | _boolean_ | `true` | | close-on-click-overlay `v4.6.4` | 是否在点击遮罩层后关闭图片预览 | _boolean_ | `true` | +| vertical `v4.8.6` | 是否开启纵向手势滑动 | _boolean_ | `false` | | class-name | 自定义类名 | _string \| Array \| object_ | - | | max-zoom | 手势缩放时,最大缩放比例 | _number \| string_ | `3` | | min-zoom | 手势缩放时,最小缩放比例 | _number \| string_ | `1/3` | diff --git a/packages/vant/src/image-preview/function-call.tsx b/packages/vant/src/image-preview/function-call.tsx index 04ba194e095..a38c2aa426d 100644 --- a/packages/vant/src/image-preview/function-call.tsx +++ b/packages/vant/src/image-preview/function-call.tsx @@ -13,6 +13,7 @@ const defaultConfig: ImagePreviewOptions = { onScale: undefined, onClose: undefined, onChange: undefined, + vertical: false, teleport: 'body', className: '', showIndex: true, From 2b9abfe174a130d6d5b2577912731f3706f7e0fe Mon Sep 17 00:00:00 2001 From: neverland Date: Sat, 9 Mar 2024 20:35:44 +0800 Subject: [PATCH 03/87] chore(deps): bump Rsbuild 0.4.12 (#12665) --- packages/vant-cli/package.json | 8 +- pnpm-lock.yaml | 174 +++++++++++++++------------------ 2 files changed, 82 insertions(+), 100 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 04adf8b20fc..21fea87ed84 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -48,10 +48,10 @@ "dependencies": { "@babel/core": "^7.23.2", "@babel/preset-typescript": "^7.23.2", - "@rsbuild/core": "0.4.1", - "@rsbuild/plugin-babel": "0.4.1", - "@rsbuild/plugin-vue": "0.4.1", - "@rsbuild/plugin-vue-jsx": "0.4.1", + "@rsbuild/core": "0.4.12", + "@rsbuild/plugin-babel": "0.4.12", + "@rsbuild/plugin-vue": "0.4.12", + "@rsbuild/plugin-vue-jsx": "0.4.12", "@vant/eslint-config": "workspace:^", "@vant/touch-emulator": "workspace:^", "@vitejs/plugin-vue": "^4.5.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e22ed05c4e5..09be78e24b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -155,17 +155,17 @@ importers: specifier: ^7.23.2 version: 7.23.3(@babel/core@7.23.7) '@rsbuild/core': - specifier: 0.4.1 - version: 0.4.1 + specifier: 0.4.12 + version: 0.4.12 '@rsbuild/plugin-babel': - specifier: 0.4.1 - version: 0.4.1(@rsbuild/core@0.4.1) + specifier: 0.4.12 + version: 0.4.12(@rsbuild/core@0.4.12) '@rsbuild/plugin-vue': - specifier: 0.4.1 - version: 0.4.1(@rsbuild/core@0.4.1)(esbuild@0.19.11)(vue@3.4.13) + specifier: 0.4.12 + version: 0.4.12(@rsbuild/core@0.4.12)(esbuild@0.19.11)(vue@3.4.13) '@rsbuild/plugin-vue-jsx': - specifier: 0.4.1 - version: 0.4.1(@babel/core@7.23.7)(@rsbuild/core@0.4.1) + specifier: 0.4.12 + version: 0.4.12(@babel/core@7.23.7)(@rsbuild/core@0.4.12) '@vant/eslint-config': specifier: workspace:^ version: link:../vant-eslint-config @@ -1129,29 +1129,31 @@ packages: requiresBuild: true optional: true - /@rsbuild/core@0.4.1: - resolution: {integrity: sha512-PvN2OlPwIqvG0LNlFRZViN7xOcAVxzXof1N+/wkXRcEQRQR599ZO+LYyYiKhs+cTuMtKQZn0u5FN347/5IGeWQ==} + /@rsbuild/core@0.4.12: + resolution: {integrity: sha512-OIRHXEAugbEtnw22tdos6Hiep2i8CIa1DdHU1HVVIf+WeTbVvWplW2JcsPgjbY31S3z0tg6xn3QaVT8uTzrz5w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - '@rsbuild/shared': 0.4.1(@swc/helpers@0.5.3) - '@rspack/core': 0.5.4(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) + '@rspack/core': 0.5.6(@swc/helpers@0.5.3) '@swc/helpers': 0.5.3 core-js: 3.32.2 - html-webpack-plugin: /html-rspack-plugin@5.5.7 + html-webpack-plugin: /html-rspack-plugin@5.6.1(@rspack/core@0.5.6) postcss: 8.4.33 + transitivePeerDependencies: + - webpack dev: false - /@rsbuild/plugin-babel@0.4.1(@rsbuild/core@0.4.1): - resolution: {integrity: sha512-FkS/E3DjxaLqe/uDopnyHa+wX4mhxoU0Kvma/S/WmGoR8rRnNOcmwloyhbV5AAnUSuErgnxhKN4+jB3U73lteA==} + /@rsbuild/plugin-babel@0.4.12(@rsbuild/core@0.4.12): + resolution: {integrity: sha512-6ibxTBpTXcTqTnExeELw5bvAVopz00is+m2I8e0gsl3lmjeET5e4VOLf3ofO53L3tgCCjj+zYAlGeirdT7PbBA==} peerDependencies: - '@rsbuild/core': ^0.4.1 + '@rsbuild/core': ^0.4.12 dependencies: '@babel/core': 7.23.7 '@babel/plugin-proposal-decorators': 7.23.9(@babel/core@7.23.7) '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@rsbuild/core': 0.4.1 - '@rsbuild/shared': 0.4.1(@swc/helpers@0.5.3) + '@rsbuild/core': 0.4.12 + '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 upath: 2.0.1 transitivePeerDependencies: @@ -1159,13 +1161,13 @@ packages: - supports-color dev: false - /@rsbuild/plugin-vue-jsx@0.4.1(@babel/core@7.23.7)(@rsbuild/core@0.4.1): - resolution: {integrity: sha512-f+xKxErcA4pfTGOZhgnPZrreomEyIUoqkkhDDDjYbX9MfjuhCt4RsmB7ObNz0qrYsijMvEdC3nZ3YjY0niqeCQ==} + /@rsbuild/plugin-vue-jsx@0.4.12(@babel/core@7.23.7)(@rsbuild/core@0.4.12): + resolution: {integrity: sha512-Obr0uRgw0I/sOGMGbFiobne6VnYjkxAGAyi1uT9eAMeqLtZhR5SzFWZ3+OkiCq6yWaRhz1oeFlOqWHI9Sk4UxA==} peerDependencies: - '@rsbuild/core': ^0.4.1 + '@rsbuild/core': ^0.4.12 dependencies: - '@rsbuild/core': 0.4.1 - '@rsbuild/plugin-babel': 0.4.1(@rsbuild/core@0.4.1) + '@rsbuild/core': 0.4.12 + '@rsbuild/plugin-babel': 0.4.12(@rsbuild/core@0.4.12) '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.7) transitivePeerDependencies: - '@babel/core' @@ -1173,13 +1175,13 @@ packages: - supports-color dev: false - /@rsbuild/plugin-vue@0.4.1(@rsbuild/core@0.4.1)(esbuild@0.19.11)(vue@3.4.13): - resolution: {integrity: sha512-rYTvbXTUPSfzsIlH7FOvP0ECAaiJPyXt9KvIDomnAD+Pt2I9jhubVSPlxzQT7nSAWxzlvNPaS0yJ9EDg77RPtA==} + /@rsbuild/plugin-vue@0.4.12(@rsbuild/core@0.4.12)(esbuild@0.19.11)(vue@3.4.13): + resolution: {integrity: sha512-pDa505rrw1PmYmVClwJO/5qeutYvjAXj70BXEV1F6tHgV2pqcblE2z46SGYymI5/dAkFuvM7icqmQXbZOnSWpA==} peerDependencies: - '@rsbuild/core': ^0.4.1 + '@rsbuild/core': ^0.4.12 dependencies: - '@rsbuild/core': 0.4.1 - '@rsbuild/shared': 0.4.1(@swc/helpers@0.5.3) + '@rsbuild/core': 0.4.12 + '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) vue-loader: 17.4.2(vue@3.4.13)(webpack@5.89.0) webpack: 5.89.0(esbuild@0.19.11) transitivePeerDependencies: @@ -1192,104 +1194,104 @@ packages: - webpack-cli dev: false - /@rsbuild/shared@0.4.1(@swc/helpers@0.5.3): - resolution: {integrity: sha512-b8iGxiicD2dgGkXhD2DvwSP46hIoCOfShzPjYyIWgml1ohSZakVgtIJtAnu8ldridMTybSHDue5G6gfgHA9r0g==} + /@rsbuild/shared@0.4.12(@swc/helpers@0.5.3): + resolution: {integrity: sha512-2lPbqcLNjUoHfdQCB6XdoqCqiLwpVeXcydv8cvTeiNCGseLY1WWTSn14b/L6Aj72TJbWWCqAAsm7YVL7Oibqvg==} dependencies: - '@rspack/core': 0.5.4(@swc/helpers@0.5.3) + '@rspack/core': 0.5.6(@swc/helpers@0.5.3) caniuse-lite: 1.0.30001585 postcss: 8.4.33 transitivePeerDependencies: - '@swc/helpers' dev: false - /@rspack/binding-darwin-arm64@0.5.4: - resolution: {integrity: sha512-MWTLMzrgWk5enKGfctVIhbU5WlpJbXpvUnHKzxSr4dclf+IeBIaXBEs1fwogrS87VdfWTOh+lndyzrozBnxMmQ==} + /@rspack/binding-darwin-arm64@0.5.6: + resolution: {integrity: sha512-Aafs4gjzFeJW3DeTHVjom7NpSGeLNOoCtipJlCYCPp2C0J2Bz/uVxQC7xG+CPwL/RDIQOAZTa0jcLiWytBRwzA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-darwin-x64@0.5.4: - resolution: {integrity: sha512-+8kvYjN9IllQSSzTrKp74Cf2efFNJZNMk6PWoOeakk43+Z1BgMgzLJTs/1xIDFhzylvLSMYSLO8AhbMMX48TCw==} + /@rspack/binding-darwin-x64@0.5.6: + resolution: {integrity: sha512-W+WgYpdN5WboR2y36189MnJeuGJwCxAIgxYOM9LH4pXW8nhb+EANqUNPet5725AOeFX74tj1gl19lnbxOVSTcw==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-gnu@0.5.4: - resolution: {integrity: sha512-mXtRKCblBT+H1KPWUfeJt6gQFGoMt+lnhk2POcoCeS1AxnxcTFpnci4BC4Ro5zKS2QWSdGdUMtc5GKlBmgwxvg==} + /@rspack/binding-linux-arm64-gnu@0.5.6: + resolution: {integrity: sha512-pAWIBeuO2OiIToNNi7oL7FDiBE4QxwLzeUpRAJnNwnARHuPSfMyJ6TXljJyTqUpkEi+NCRi4DBjUkQh7Sa1evw==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-musl@0.5.4: - resolution: {integrity: sha512-P96R8yLT4BKtwYCtomIJE4uIGAh+5I8qLbrTrGamj/6N1D79GgwORW6CllCEnVU9l/Tjkdd+yMJkT9zoACa9gQ==} + /@rspack/binding-linux-arm64-musl@0.5.6: + resolution: {integrity: sha512-fB0P2C2w9A+FV2u9X40ZXnnCMelypsFmZqllavXKAkK77eCXp0lKsNG1+h4uDoeFZSmoQPeNhgjVcdqQJsSWBA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-gnu@0.5.4: - resolution: {integrity: sha512-/EjM7CkALS7uUF0laVp+wtOICrX2sR5gy4liIYVHKDLu+b4PGRtEQvubrDxikkzPpOYRvF38R7OBMUOJBuBW7A==} + /@rspack/binding-linux-x64-gnu@0.5.6: + resolution: {integrity: sha512-HAV1ki2/IHQD5LrqVJ7Dh2QeSL3S9AZ1vvI0u8+wGMoF9vR6qyz+NFqUNlvZdsojVSs5bE0a7NOQ+0ao4l3sDg==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-musl@0.5.4: - resolution: {integrity: sha512-dMT9QW4IZ7IGzczsOmzdpGf84IzIecvitSwj7DnulRkxj3++IWLAo80+HDtgn+nPm+1gNVFb11wg5L9x+VjFXw==} + /@rspack/binding-linux-x64-musl@0.5.6: + resolution: {integrity: sha512-N/j4b+i+O/ZX8UlHt9OEcVcVZDXuBfm9Fj9xbPrJPPQM5xCSVH9vYEsCcsNZ9Rt05Q4IdZXlUgzju7kGND5sDg==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-arm64-msvc@0.5.4: - resolution: {integrity: sha512-SsnOqWRw5VQnbz/63wtKsoyj6lfUpQQZyFWfQAMsNt8suIauWI/kf3QLWL/vmBX5Q24Sq16Kl5cMIjxAIJQfiQ==} + /@rspack/binding-win32-arm64-msvc@0.5.6: + resolution: {integrity: sha512-lWs1FZ/ZVLPBDSuk5NjY7jCUfZ6vilJwDYefEueYzVo97jvJMxP3p095doaBWW6bb8qMfrtFh2o77ESHVwmgiw==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-ia32-msvc@0.5.4: - resolution: {integrity: sha512-xLlUHn712WhnWN40JeljQCiWBIRd/meMRKSEqTJJdZfNwozd4cZUbq5rxexX6HNjZvkwLACpATDotPVfCKPjbQ==} + /@rspack/binding-win32-ia32-msvc@0.5.6: + resolution: {integrity: sha512-5zz2XkM0PI13D98ErtMCkheMTzLNnuKFIlCqKemDjYOK9msC3lGU6/1Wp7/1YV/ll+wezD/4Kjzn51rq3bqiig==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-x64-msvc@0.5.4: - resolution: {integrity: sha512-33IBq3yuJTyUKhTGbPwP/kvSf58wpOCBdPvye+ExNSw0uEVwXMs2AqDWDnbBPtZjP8DVN/zu0EoeLhYk9fwkYg==} + /@rspack/binding-win32-x64-msvc@0.5.6: + resolution: {integrity: sha512-CmRr2yfTZvs4koVbmElNcT31JS0tAx2nvd0nXE8RPs/CSnC9liXtDLctcF3dQekAXzQVM2NtGn9JfMJ9mXUppw==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding@0.5.4: - resolution: {integrity: sha512-WoAq+pkNAe4jetIwIoUbiqO4cLSvpll90GtpYHqaNS9r9n28l4LBQY/A15W0/XBZeoj0wvMkYEvEZtn64PULLw==} + /@rspack/binding@0.5.6: + resolution: {integrity: sha512-FXqLqovSDxbibpQtOri5QVd9sEe6YtRH1rCUKJ4n5Wly7fCublUSKDtq6pmt9UP3cG2ZG0faHva7R1eb1b7XEg==} optionalDependencies: - '@rspack/binding-darwin-arm64': 0.5.4 - '@rspack/binding-darwin-x64': 0.5.4 - '@rspack/binding-linux-arm64-gnu': 0.5.4 - '@rspack/binding-linux-arm64-musl': 0.5.4 - '@rspack/binding-linux-x64-gnu': 0.5.4 - '@rspack/binding-linux-x64-musl': 0.5.4 - '@rspack/binding-win32-arm64-msvc': 0.5.4 - '@rspack/binding-win32-ia32-msvc': 0.5.4 - '@rspack/binding-win32-x64-msvc': 0.5.4 - dev: false - - /@rspack/core@0.5.4(@swc/helpers@0.5.3): - resolution: {integrity: sha512-3yxOllEC93gf4pNiLlgtzE8dPo0QV2naQY24gAPk+EoWlwpmR6p1r7ZdD53etFZPGB4hMm78J/zgwx8jy1TRsw==} + '@rspack/binding-darwin-arm64': 0.5.6 + '@rspack/binding-darwin-x64': 0.5.6 + '@rspack/binding-linux-arm64-gnu': 0.5.6 + '@rspack/binding-linux-arm64-musl': 0.5.6 + '@rspack/binding-linux-x64-gnu': 0.5.6 + '@rspack/binding-linux-x64-musl': 0.5.6 + '@rspack/binding-win32-arm64-msvc': 0.5.6 + '@rspack/binding-win32-ia32-msvc': 0.5.6 + '@rspack/binding-win32-x64-msvc': 0.5.6 + dev: false + + /@rspack/core@0.5.6(@swc/helpers@0.5.3): + resolution: {integrity: sha512-VH5IyYSdTpNLeoxTc9Vm+fgqzUJMa19sGVjuas7eTNNNZTrevxV0k9e/QGMHzUV9QzlNvLHLOVY/U4LfcZerYA==} engines: {node: '>=16.0.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -1298,7 +1300,7 @@ packages: optional: true dependencies: '@module-federation/runtime-tools': 0.0.8 - '@rspack/binding': 0.5.4 + '@rspack/binding': 0.5.6 '@swc/helpers': 0.5.3 browserslist: 4.22.2 enhanced-resolve: 5.12.0 @@ -1307,7 +1309,6 @@ packages: json-parse-even-better-errors: 3.0.1 neo-async: 2.6.2 tapable: 2.2.1 - terminal-link: 2.1.1 watchpack: 2.4.0 webpack-sources: 3.2.3 zod: 3.22.4 @@ -2012,13 +2013,6 @@ packages: engines: {node: '>=6'} dev: false - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: false - /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -3026,10 +3020,19 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /html-rspack-plugin@5.5.7: - resolution: {integrity: sha512-7dNAURj9XBHWoYg59F8VU6hT7J7w+od4Lr5hc/rrgN6sy6QfqVpoPqW9Qw4IGFOgit8Pul7iQp1yysBSIhOlsg==} + /html-rspack-plugin@5.6.1(@rspack/core@0.5.6): + resolution: {integrity: sha512-HxBMh931QBxzUAA12j4iPIK1yVgnQrz3ziU/CHU7hUWuolpCy+wcUgcn9Zy4YPsq8PisE9lSg2K8+3i0a//H8A==} engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: + '@rspack/core': 0.5.6(@swc/helpers@0.5.3) lodash: 4.17.21 tapable: 2.2.1 dev: false @@ -4079,14 +4082,6 @@ packages: has-flag: 4.0.0 dev: false - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: false - /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} @@ -4099,14 +4094,6 @@ packages: engines: {node: '>=6'} dev: false - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: false - /terser-webpack-plugin@5.3.10(esbuild@0.19.11)(webpack@5.89.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} @@ -4233,11 +4220,6 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: false - /typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} From f70feab438380ce5cdfa8343d7aa48b4cbc698dd Mon Sep 17 00:00:00 2001 From: inottn Date: Mon, 11 Mar 2024 20:55:13 +0800 Subject: [PATCH 04/87] fix(ImagePreview): allow user to swipe to next image when the current image is moved to the edge (#12666) --- packages/vant/src/image-preview/ImagePreview.tsx | 1 + packages/vant/src/image-preview/ImagePreviewItem.tsx | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/vant/src/image-preview/ImagePreview.tsx b/packages/vant/src/image-preview/ImagePreview.tsx index e2e2a23981f..91df7a15752 100644 --- a/packages/vant/src/image-preview/ImagePreview.tsx +++ b/packages/vant/src/image-preview/ImagePreview.tsx @@ -190,6 +190,7 @@ export default defineComponent({ doubleScale={props.doubleScale} closeOnClickImage={props.closeOnClickImage} closeOnClickOverlay={props.closeOnClickOverlay} + vertical={props.vertical} onScale={emitScale} onClose={emitClose} onLongPress={() => emit('longPress', { index })} diff --git a/packages/vant/src/image-preview/ImagePreviewItem.tsx b/packages/vant/src/image-preview/ImagePreviewItem.tsx index 3476d7c817c..8a34f28ec41 100644 --- a/packages/vant/src/image-preview/ImagePreviewItem.tsx +++ b/packages/vant/src/image-preview/ImagePreviewItem.tsx @@ -56,6 +56,7 @@ const imagePreviewItemProps = { doubleScale: Boolean, closeOnClickImage: Boolean, closeOnClickOverlay: Boolean, + vertical: Boolean, }; export type ImagePreviewItemProps = ExtractPropTypes< @@ -225,9 +226,10 @@ export default defineComponent({ // if the image is moved to the edge, no longer trigger move, // allow user to swipe to next image if ( - (moveX > maxMoveX.value || moveX < -maxMoveX.value) && - !isImageMoved && - touch.isHorizontal() + (props.vertical + ? touch.isVertical() && Math.abs(moveY) > maxMoveY.value + : touch.isHorizontal() && Math.abs(moveX) > maxMoveX.value) && + !isImageMoved ) { state.moving = false; return; From 2353549d06fc7ee8567c822260925b2b55bfd179 Mon Sep 17 00:00:00 2001 From: chouchouji <70570907+chouchouji@users.noreply.github.com> Date: Fri, 15 Mar 2024 20:55:28 +0800 Subject: [PATCH 05/87] feat(signature): export clear and submit method (#12654) --- packages/vant/src/signature/README.md | 2 ++ packages/vant/src/signature/README.zh-CN.md | 2 ++ packages/vant/src/signature/Signature.tsx | 2 ++ packages/vant/src/signature/types.ts | 2 ++ 4 files changed, 8 insertions(+) diff --git a/packages/vant/src/signature/README.md b/packages/vant/src/signature/README.md index 494fa9a8e7a..08b4ef89827 100644 --- a/packages/vant/src/signature/README.md +++ b/packages/vant/src/signature/README.md @@ -106,6 +106,8 @@ Use [ref](https://vuejs.org/guide/essentials/template-refs.html) to get Signatur | Name | Description | Attribute | Return value | | --- | --- | --- | --- | | resize `v4.7.3` | Resize Signature when container element resized or visibility changed | - | - | +| clear `v4.8.6` | Can be called to clear the signature | - | - | +| submit `v4.8.6` | Trigger the `submit` event, which is equivalent to clicking the confirm button. | - | - | ### Types diff --git a/packages/vant/src/signature/README.zh-CN.md b/packages/vant/src/signature/README.zh-CN.md index dccf64ca376..3ab70b9b48f 100644 --- a/packages/vant/src/signature/README.zh-CN.md +++ b/packages/vant/src/signature/README.zh-CN.md @@ -106,6 +106,8 @@ export default { | 方法名 | 说明 | 参数 | 返回值 | | --- | --- | --- | --- | | resize `v4.7.3` | 外层元素大小或组件显示状态变化时,可以调用此方法来触发重绘 | - | - | +| clear `v4.8.6` | 可调用此方法来清除签名 | - | - | +| submit `v4.8.6` | 触发 `submit` 事件,与点击确认按钮的效果等价 | - | - | ### 类型定义 diff --git a/packages/vant/src/signature/Signature.tsx b/packages/vant/src/signature/Signature.tsx index adbe22a702e..2a52ba95ba0 100644 --- a/packages/vant/src/signature/Signature.tsx +++ b/packages/vant/src/signature/Signature.tsx @@ -181,6 +181,8 @@ export default defineComponent({ useExpose({ resize, + clear, + submit, }); return () => ( diff --git a/packages/vant/src/signature/types.ts b/packages/vant/src/signature/types.ts index d69469cb19e..352c6d3050c 100644 --- a/packages/vant/src/signature/types.ts +++ b/packages/vant/src/signature/types.ts @@ -3,6 +3,8 @@ import type { SignatureProps } from './Signature'; export type SignatureExpose = { resize: () => void; + clear: () => void; + submit: () => void; }; export type SignatureInstance = ComponentPublicInstance< From be6f57bda878655de63f0801e24e7f8a9cff0618 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 20:59:29 +0800 Subject: [PATCH 06/87] chore(deps): update dependency @vue/test-utils to v2.4.5 (#12681) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09be78e24b8..1a5e6fb6dee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,7 +96,7 @@ importers: version: 3.4.13 '@vue/test-utils': specifier: ^2.3.2 - version: 2.4.3(vue@3.4.13) + version: 2.4.5 csstype: specifier: ^3.1.3 version: 3.1.3 @@ -1818,18 +1818,11 @@ packages: resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} dev: false - /@vue/test-utils@2.4.3(vue@3.4.13): - resolution: {integrity: sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==} - peerDependencies: - '@vue/server-renderer': ^3.0.1 - vue: ^3.0.1 - peerDependenciesMeta: - '@vue/server-renderer': - optional: true + /@vue/test-utils@2.4.5: + resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} dependencies: - js-beautify: 1.14.11 - vue: 3.4.13(typescript@5.3.3) - vue-component-type-helpers: 1.8.27 + js-beautify: 1.15.1 + vue-component-type-helpers: 2.0.6 dev: true /@webassemblyjs/ast@1.11.6: @@ -2384,7 +2377,7 @@ packages: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.5.4 + semver: 7.6.0 dev: true /electron-to-chromium@1.4.630: @@ -3235,17 +3228,23 @@ packages: supports-color: 8.1.1 dev: false - /js-beautify@1.14.11: - resolution: {integrity: sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==} + /js-beautify@1.15.1: + resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} hasBin: true dependencies: config-chain: 1.1.13 editorconfig: 1.0.4 glob: 10.3.10 + js-cookie: 3.0.5 nopt: 7.2.0 dev: true + /js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3918,6 +3917,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + requiresBuild: true /sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} @@ -3959,6 +3959,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: @@ -4436,8 +4444,8 @@ packages: - terser dev: true - /vue-component-type-helpers@1.8.27: - resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} + /vue-component-type-helpers@2.0.6: + resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} dev: true /vue-eslint-parser@9.4.0(eslint@8.56.0): From 83fd65fc9a844dbebc3558b38b9289c035d3c4e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 21:00:23 +0800 Subject: [PATCH 07/87] chore(deps): update dependency autoprefixer to v10.4.18 (#12682) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a5e6fb6dee..92c51549ecf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,7 +183,7 @@ importers: version: 1.1.6(@babel/core@7.23.7) autoprefixer: specifier: ^10.4.8 - version: 10.4.16(postcss@8.4.33) + version: 10.4.18(postcss@8.4.33) commander: specifier: ^11.0.0 version: 11.1.0 @@ -2053,15 +2053,15 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /autoprefixer@10.4.16(postcss@8.4.33): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.18(postcss@8.4.33): + resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001576 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001597 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -2104,6 +2104,17 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001597 + electron-to-chromium: 1.4.707 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: false @@ -2128,6 +2139,10 @@ packages: resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} dev: false + /caniuse-lite@1.0.30001597: + resolution: {integrity: sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==} + dev: false + /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -2383,6 +2398,10 @@ packages: /electron-to-chromium@1.4.630: resolution: {integrity: sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==} + /electron-to-chromium@1.4.707: + resolution: {integrity: sha512-qRq74Mo7ChePOU6GHdfAJ0NREXU8vQTlVlfWz3wNygFay6xrd/fY2J7oGHwrhFeU30OVctGLdTh/FcnokTWpng==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4269,6 +4288,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: From 997495699680e122737b58659527dacace71af25 Mon Sep 17 00:00:00 2001 From: neverland Date: Fri, 15 Mar 2024 21:02:39 +0800 Subject: [PATCH 08/87] chore(workflow): disable dependency dashboard (#12686) --- .github/renovate.json5 | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index a6fbc54820a..7d9e65886ff 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,6 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended"], + "dependencyDashboard": false, "packageRules": [ // Use chore as semantic commit type for commit messages { From 4f55535776de56dfd389ac10f70d7b69a9c95c35 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 13:04:50 +0000 Subject: [PATCH 09/87] chore(deps): update dependency prettier to v3.2.5 (#12685) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92c51549ecf..03524465262 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ importers: version: 0.8.0 prettier: specifier: ^3.0.0 - version: 3.2.1 + version: 3.2.5 packages/create-vant-cli-app: dependencies: @@ -237,7 +237,7 @@ importers: version: 4.0.2(postcss@8.4.33) prettier: specifier: ^3.0.0 - version: 3.2.1 + version: 3.2.5 rslog: specifier: ^1.1.0 version: 1.2.0 @@ -3800,8 +3800,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prettier@3.2.1: - resolution: {integrity: sha512-qSUWshj1IobVbKc226Gw2pync27t0Kf0EdufZa9j7uBSJay1CC+B3K5lAAZoqgX3ASiKuWsk6OmzKRetXNObWg==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true From c19e51015a8ffd084f2f112750869ffa50966676 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 04:32:43 +0800 Subject: [PATCH 10/87] chore(deps): update rsbuild to v0.4.15 (#12688) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/vant-cli/package.json | 8 +- pnpm-lock.yaml | 157 ++++++++++++++++----------------- 2 files changed, 78 insertions(+), 87 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 21fea87ed84..5fd6c960c3a 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -48,10 +48,10 @@ "dependencies": { "@babel/core": "^7.23.2", "@babel/preset-typescript": "^7.23.2", - "@rsbuild/core": "0.4.12", - "@rsbuild/plugin-babel": "0.4.12", - "@rsbuild/plugin-vue": "0.4.12", - "@rsbuild/plugin-vue-jsx": "0.4.12", + "@rsbuild/core": "0.4.15", + "@rsbuild/plugin-babel": "0.4.15", + "@rsbuild/plugin-vue": "0.4.15", + "@rsbuild/plugin-vue-jsx": "0.4.15", "@vant/eslint-config": "workspace:^", "@vant/touch-emulator": "workspace:^", "@vitejs/plugin-vue": "^4.5.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03524465262..6fc2c8c8733 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -155,17 +155,17 @@ importers: specifier: ^7.23.2 version: 7.23.3(@babel/core@7.23.7) '@rsbuild/core': - specifier: 0.4.12 - version: 0.4.12 + specifier: 0.4.15 + version: 0.4.15 '@rsbuild/plugin-babel': - specifier: 0.4.12 - version: 0.4.12(@rsbuild/core@0.4.12) + specifier: 0.4.15 + version: 0.4.15(@rsbuild/core@0.4.15) '@rsbuild/plugin-vue': - specifier: 0.4.12 - version: 0.4.12(@rsbuild/core@0.4.12)(esbuild@0.19.11)(vue@3.4.13) + specifier: 0.4.15 + version: 0.4.15(@rsbuild/core@0.4.15)(esbuild@0.19.11)(vue@3.4.13) '@rsbuild/plugin-vue-jsx': - specifier: 0.4.12 - version: 0.4.12(@babel/core@7.23.7)(@rsbuild/core@0.4.12) + specifier: 0.4.15 + version: 0.4.15(@babel/core@7.23.7)(@rsbuild/core@0.4.15) '@vant/eslint-config': specifier: workspace:^ version: link:../vant-eslint-config @@ -1129,31 +1129,29 @@ packages: requiresBuild: true optional: true - /@rsbuild/core@0.4.12: - resolution: {integrity: sha512-OIRHXEAugbEtnw22tdos6Hiep2i8CIa1DdHU1HVVIf+WeTbVvWplW2JcsPgjbY31S3z0tg6xn3QaVT8uTzrz5w==} + /@rsbuild/core@0.4.15: + resolution: {integrity: sha512-rQAfPt36uaOe3KYtD3/QBgvjDnY0kzGsE61/ZIEg1MdKZJ6cY5WsbS3MtzQDDM/FAXT5r/+GcFAZTKxJlgzkrQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) - '@rspack/core': 0.5.6(@swc/helpers@0.5.3) + '@rsbuild/shared': 0.4.15(@swc/helpers@0.5.3) + '@rspack/core': 0.5.7(@swc/helpers@0.5.3) '@swc/helpers': 0.5.3 - core-js: 3.32.2 - html-webpack-plugin: /html-rspack-plugin@5.6.1(@rspack/core@0.5.6) + core-js: 3.36.0 + html-webpack-plugin: /html-rspack-plugin@5.6.2(@rspack/core@0.5.7) postcss: 8.4.33 - transitivePeerDependencies: - - webpack dev: false - /@rsbuild/plugin-babel@0.4.12(@rsbuild/core@0.4.12): - resolution: {integrity: sha512-6ibxTBpTXcTqTnExeELw5bvAVopz00is+m2I8e0gsl3lmjeET5e4VOLf3ofO53L3tgCCjj+zYAlGeirdT7PbBA==} + /@rsbuild/plugin-babel@0.4.15(@rsbuild/core@0.4.15): + resolution: {integrity: sha512-wAD6sjnF3As1G5gsUvZZ+ZeowY6CoIKojPdgyKOMHKbzCYbrgT/IDYMA5UeVqH4x4ZLjez45pzeZJjiRGyD1wQ==} peerDependencies: - '@rsbuild/core': ^0.4.12 + '@rsbuild/core': ^0.4.15 dependencies: '@babel/core': 7.23.7 '@babel/plugin-proposal-decorators': 7.23.9(@babel/core@7.23.7) '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@rsbuild/core': 0.4.12 - '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) + '@rsbuild/core': 0.4.15 + '@rsbuild/shared': 0.4.15(@swc/helpers@0.5.3) '@types/babel__core': 7.20.5 upath: 2.0.1 transitivePeerDependencies: @@ -1161,13 +1159,13 @@ packages: - supports-color dev: false - /@rsbuild/plugin-vue-jsx@0.4.12(@babel/core@7.23.7)(@rsbuild/core@0.4.12): - resolution: {integrity: sha512-Obr0uRgw0I/sOGMGbFiobne6VnYjkxAGAyi1uT9eAMeqLtZhR5SzFWZ3+OkiCq6yWaRhz1oeFlOqWHI9Sk4UxA==} + /@rsbuild/plugin-vue-jsx@0.4.15(@babel/core@7.23.7)(@rsbuild/core@0.4.15): + resolution: {integrity: sha512-fTvA+LbsgbPY94AUKGcNQiR5Dzsk98+iLpptaJR3ryqIT5c160Mv10EOTRH/57jGBcyZpZux2Lio8kw7VymqPw==} peerDependencies: - '@rsbuild/core': ^0.4.12 + '@rsbuild/core': ^0.4.15 dependencies: - '@rsbuild/core': 0.4.12 - '@rsbuild/plugin-babel': 0.4.12(@rsbuild/core@0.4.12) + '@rsbuild/core': 0.4.15 + '@rsbuild/plugin-babel': 0.4.15(@rsbuild/core@0.4.15) '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.7) transitivePeerDependencies: - '@babel/core' @@ -1175,13 +1173,13 @@ packages: - supports-color dev: false - /@rsbuild/plugin-vue@0.4.12(@rsbuild/core@0.4.12)(esbuild@0.19.11)(vue@3.4.13): - resolution: {integrity: sha512-pDa505rrw1PmYmVClwJO/5qeutYvjAXj70BXEV1F6tHgV2pqcblE2z46SGYymI5/dAkFuvM7icqmQXbZOnSWpA==} + /@rsbuild/plugin-vue@0.4.15(@rsbuild/core@0.4.15)(esbuild@0.19.11)(vue@3.4.13): + resolution: {integrity: sha512-ammQ8DP3rzGlgIUmMYbXeMcd+/x9hqEZznM3h06m/wqVdK4cyXG0h/sq4lW56s6JpTjhVOPOoXzQuEl3nSPXXw==} peerDependencies: - '@rsbuild/core': ^0.4.12 + '@rsbuild/core': ^0.4.15 dependencies: - '@rsbuild/core': 0.4.12 - '@rsbuild/shared': 0.4.12(@swc/helpers@0.5.3) + '@rsbuild/core': 0.4.15 + '@rsbuild/shared': 0.4.15(@swc/helpers@0.5.3) vue-loader: 17.4.2(vue@3.4.13)(webpack@5.89.0) webpack: 5.89.0(esbuild@0.19.11) transitivePeerDependencies: @@ -1194,104 +1192,104 @@ packages: - webpack-cli dev: false - /@rsbuild/shared@0.4.12(@swc/helpers@0.5.3): - resolution: {integrity: sha512-2lPbqcLNjUoHfdQCB6XdoqCqiLwpVeXcydv8cvTeiNCGseLY1WWTSn14b/L6Aj72TJbWWCqAAsm7YVL7Oibqvg==} + /@rsbuild/shared@0.4.15(@swc/helpers@0.5.3): + resolution: {integrity: sha512-INItMj+7QotcbJzm5CCTZQSy8EGkbGeND3Gu+kd7ZD/tU0F9yAh0MNyCGuqVWXivqUS9qEO/y7Ln9Td51XWrEw==} dependencies: - '@rspack/core': 0.5.6(@swc/helpers@0.5.3) - caniuse-lite: 1.0.30001585 + '@rspack/core': 0.5.7(@swc/helpers@0.5.3) + caniuse-lite: 1.0.30001597 postcss: 8.4.33 transitivePeerDependencies: - '@swc/helpers' dev: false - /@rspack/binding-darwin-arm64@0.5.6: - resolution: {integrity: sha512-Aafs4gjzFeJW3DeTHVjom7NpSGeLNOoCtipJlCYCPp2C0J2Bz/uVxQC7xG+CPwL/RDIQOAZTa0jcLiWytBRwzA==} + /@rspack/binding-darwin-arm64@0.5.7: + resolution: {integrity: sha512-zYTMILRyrON25MW7ifEhkZ6jL33mz8bAHTOhgR8yMpYVJjrKu60+s1qPa+t+GkaH7nNnVmzkTVGECCvaA75hJQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-darwin-x64@0.5.6: - resolution: {integrity: sha512-W+WgYpdN5WboR2y36189MnJeuGJwCxAIgxYOM9LH4pXW8nhb+EANqUNPet5725AOeFX74tj1gl19lnbxOVSTcw==} + /@rspack/binding-darwin-x64@0.5.7: + resolution: {integrity: sha512-4THSPWVKPMSSD/y3/TWZ5xlSeh1B33I+YnBu/Y3lDFcFrFPtc3ojIDHw3is6l2wcACX6Rro4RgN6zcUij7eEmQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-gnu@0.5.6: - resolution: {integrity: sha512-pAWIBeuO2OiIToNNi7oL7FDiBE4QxwLzeUpRAJnNwnARHuPSfMyJ6TXljJyTqUpkEi+NCRi4DBjUkQh7Sa1evw==} + /@rspack/binding-linux-arm64-gnu@0.5.7: + resolution: {integrity: sha512-JB9FAYWjYAeNCPFh0mQu3SZdFHiA+EY37z1AktLDl789SoEec2HPGkvvOs+OIET1pKWgjUGD4Z4Uq4P/r5JFNA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-musl@0.5.6: - resolution: {integrity: sha512-fB0P2C2w9A+FV2u9X40ZXnnCMelypsFmZqllavXKAkK77eCXp0lKsNG1+h4uDoeFZSmoQPeNhgjVcdqQJsSWBA==} + /@rspack/binding-linux-arm64-musl@0.5.7: + resolution: {integrity: sha512-3fNhPvA9Kj/L7rwr2Pj1bvxWBLBgqfkqSvt91iUxPbxgfTiSBQh0Tfb9+hkHv2VCTyNQI/vytkOH+4i4DNXCBw==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-gnu@0.5.6: - resolution: {integrity: sha512-HAV1ki2/IHQD5LrqVJ7Dh2QeSL3S9AZ1vvI0u8+wGMoF9vR6qyz+NFqUNlvZdsojVSs5bE0a7NOQ+0ao4l3sDg==} + /@rspack/binding-linux-x64-gnu@0.5.7: + resolution: {integrity: sha512-y/GnXt1hhbKSqzBSy+ALWwievlejQhIIF8FPXL1kKFh60zl7DE+iYHSJ128jIJiph9dQkBnHw0ABJ5D+vbSqdA==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-musl@0.5.6: - resolution: {integrity: sha512-N/j4b+i+O/ZX8UlHt9OEcVcVZDXuBfm9Fj9xbPrJPPQM5xCSVH9vYEsCcsNZ9Rt05Q4IdZXlUgzju7kGND5sDg==} + /@rspack/binding-linux-x64-musl@0.5.7: + resolution: {integrity: sha512-US/FUv6cvbxbe4nymINwer/EQTvGEgCaAIrvKuAP0yAfK0eyqIHYZj/zCBM2qOS69Mpc2FWVMC/ftRyCvAz/xw==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-arm64-msvc@0.5.6: - resolution: {integrity: sha512-lWs1FZ/ZVLPBDSuk5NjY7jCUfZ6vilJwDYefEueYzVo97jvJMxP3p095doaBWW6bb8qMfrtFh2o77ESHVwmgiw==} + /@rspack/binding-win32-arm64-msvc@0.5.7: + resolution: {integrity: sha512-g7NWXa5EGvh6j1VPXGOFaWuOVxdPYYLh3wpUl46Skrd6qFZKB2r+yNhuXo6lqezwYvbtHEDrmFOHF2S6epXO5g==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-ia32-msvc@0.5.6: - resolution: {integrity: sha512-5zz2XkM0PI13D98ErtMCkheMTzLNnuKFIlCqKemDjYOK9msC3lGU6/1Wp7/1YV/ll+wezD/4Kjzn51rq3bqiig==} + /@rspack/binding-win32-ia32-msvc@0.5.7: + resolution: {integrity: sha512-5Udt4pYpPSd1wlbVKTdWzjha8oV+FQ/EXILHhoS9G7l9rbpqhMs6oIqAgEavQS3t6fKtQU837b+MSBNprudTtw==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-x64-msvc@0.5.6: - resolution: {integrity: sha512-CmRr2yfTZvs4koVbmElNcT31JS0tAx2nvd0nXE8RPs/CSnC9liXtDLctcF3dQekAXzQVM2NtGn9JfMJ9mXUppw==} + /@rspack/binding-win32-x64-msvc@0.5.7: + resolution: {integrity: sha512-tB/SB27BBDVV0+GpEUHkl2uanCP4Jk/hlnbvl5u6lSGcIxCFm+da4OsyiGDRE24bSEdMc91dmyWVlx5425je+A==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding@0.5.6: - resolution: {integrity: sha512-FXqLqovSDxbibpQtOri5QVd9sEe6YtRH1rCUKJ4n5Wly7fCublUSKDtq6pmt9UP3cG2ZG0faHva7R1eb1b7XEg==} + /@rspack/binding@0.5.7: + resolution: {integrity: sha512-47MX6wNF1lP/LdShPVhbg689FX1W96Zji7QgbxhRhXmkpOKor7gdajhxqszFHxHYJtqNTLA9BSG38rpIGxJ+fw==} optionalDependencies: - '@rspack/binding-darwin-arm64': 0.5.6 - '@rspack/binding-darwin-x64': 0.5.6 - '@rspack/binding-linux-arm64-gnu': 0.5.6 - '@rspack/binding-linux-arm64-musl': 0.5.6 - '@rspack/binding-linux-x64-gnu': 0.5.6 - '@rspack/binding-linux-x64-musl': 0.5.6 - '@rspack/binding-win32-arm64-msvc': 0.5.6 - '@rspack/binding-win32-ia32-msvc': 0.5.6 - '@rspack/binding-win32-x64-msvc': 0.5.6 - dev: false - - /@rspack/core@0.5.6(@swc/helpers@0.5.3): - resolution: {integrity: sha512-VH5IyYSdTpNLeoxTc9Vm+fgqzUJMa19sGVjuas7eTNNNZTrevxV0k9e/QGMHzUV9QzlNvLHLOVY/U4LfcZerYA==} + '@rspack/binding-darwin-arm64': 0.5.7 + '@rspack/binding-darwin-x64': 0.5.7 + '@rspack/binding-linux-arm64-gnu': 0.5.7 + '@rspack/binding-linux-arm64-musl': 0.5.7 + '@rspack/binding-linux-x64-gnu': 0.5.7 + '@rspack/binding-linux-x64-musl': 0.5.7 + '@rspack/binding-win32-arm64-msvc': 0.5.7 + '@rspack/binding-win32-ia32-msvc': 0.5.7 + '@rspack/binding-win32-x64-msvc': 0.5.7 + dev: false + + /@rspack/core@0.5.7(@swc/helpers@0.5.3): + resolution: {integrity: sha512-gUF0PcanPrC2cVfFA4e+qmG66X7FkEKlRbnaUfB4LKw9JQuwiMOXCAtrBdveDjB89KE/3cw/nuYVQwd106uqWA==} engines: {node: '>=16.0.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -1300,9 +1298,9 @@ packages: optional: true dependencies: '@module-federation/runtime-tools': 0.0.8 - '@rspack/binding': 0.5.6 + '@rspack/binding': 0.5.7 '@swc/helpers': 0.5.3 - browserslist: 4.22.2 + browserslist: 4.23.0 enhanced-resolve: 5.12.0 events: 3.3.0 graceful-fs: 4.2.10 @@ -2135,10 +2133,6 @@ packages: /caniuse-lite@1.0.30001576: resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==} - /caniuse-lite@1.0.30001585: - resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} - dev: false - /caniuse-lite@1.0.30001597: resolution: {integrity: sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==} dev: false @@ -2248,8 +2242,8 @@ packages: is-what: 3.14.1 dev: false - /core-js@3.32.2: - resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==} + /core-js@3.36.0: + resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} requiresBuild: true dev: false @@ -3032,19 +3026,16 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /html-rspack-plugin@5.6.1(@rspack/core@0.5.6): - resolution: {integrity: sha512-HxBMh931QBxzUAA12j4iPIK1yVgnQrz3ziU/CHU7hUWuolpCy+wcUgcn9Zy4YPsq8PisE9lSg2K8+3i0a//H8A==} + /html-rspack-plugin@5.6.2(@rspack/core@0.5.7): + resolution: {integrity: sha512-cPGwV3odvKJ7DBAG/DxF5e0nMMvBl1zGfyDciT2xMETRrIwajwC7LtEB3cf7auoGMK6xJOOLjWJgaKHLu/FzkQ==} engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 peerDependenciesMeta: '@rspack/core': optional: true - webpack: - optional: true dependencies: - '@rspack/core': 0.5.6(@swc/helpers@0.5.3) + '@rspack/core': 0.5.7(@swc/helpers@0.5.3) lodash: 4.17.21 tapable: 2.2.1 dev: false @@ -4580,7 +4571,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 From 39291ee79aa211ba7a090d3cf37904642f062b96 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 11:11:37 +0800 Subject: [PATCH 11/87] chore(deps): update dependency eslint to v8.57.0 (#12697) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 87 ++++++++++++++++++++++++++------------------------ 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6fc2c8c8733..c6ca640b132 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: link:packages/vant-eslint-config eslint: specifier: ^8.46.0 - version: 8.56.0 + version: 8.57.0 husky: specifier: ^8.0.1 version: 8.0.3 @@ -195,7 +195,7 @@ importers: version: 0.19.11 eslint: specifier: ^8.46.0 - version: 8.56.0 + version: 8.57.0 fast-glob: specifier: ^3.2.11 version: 3.3.2 @@ -304,20 +304,20 @@ importers: dependencies: '@typescript-eslint/eslint-plugin': specifier: ^6.2.1 - version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3) + version: 6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^6.2.1 - version: 6.18.1(eslint@8.56.0)(typescript@5.3.3) + version: 6.18.1(eslint@8.57.0)(typescript@5.3.3) eslint-config-prettier: specifier: ^9.0.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-plugin-vue: specifier: ^9.16.1 - version: 9.20.1(eslint@8.56.0) + version: 9.20.1(eslint@8.57.0) devDependencies: eslint: specifier: ^8.46.0 - version: 8.56.0 + version: 8.57.0 typescript: specifier: ^5.0.4 version: 5.3.3 @@ -875,13 +875,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: @@ -896,7 +896,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -904,8 +904,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@humanwhocodes/config-array@0.11.14: @@ -1420,7 +1420,7 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: false - /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1432,13 +1432,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.18.1(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.18.1 - '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.18.1(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.18.1(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 @@ -1449,7 +1449,7 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.18.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1464,7 +1464,7 @@ packages: '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.18.1 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1478,7 +1478,7 @@ packages: '@typescript-eslint/visitor-keys': 6.18.1 dev: false - /@typescript-eslint/type-utils@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.18.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1489,9 +1489,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.18.1(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -1525,19 +1525,19 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@6.18.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.18.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.18.1 '@typescript-eslint/types': 6.18.1 '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) - eslint: 8.56.0 + eslint: 8.57.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2658,28 +2658,28 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-prettier@9.1.0(eslint@8.56.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-vue@9.20.1(eslint@8.56.0): + /eslint-plugin-vue@9.20.1(eslint@8.57.0): resolution: {integrity: sha512-GyCs8K3lkEvoyC1VV97GJhP1SvqsKCiWGHnbn0gVUYiUhaH2+nB+Dv1uekv1THFMPbBfYxukrzQdltw950k+LQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - eslint: 8.56.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.15 semver: 7.5.4 - vue-eslint-parser: 9.4.0(eslint@8.56.0) + vue-eslint-parser: 9.4.0(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -2704,15 +2704,15 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 + '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2734,7 +2734,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2861,12 +2861,12 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} @@ -3095,6 +3095,11 @@ packages: /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} + dev: false + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} /image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} @@ -4469,14 +4474,14 @@ packages: resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} dev: true - /vue-eslint-parser@9.4.0(eslint@8.56.0): + /vue-eslint-parser@9.4.0(eslint@8.57.0): resolution: {integrity: sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 From 942b190e07a17793ec49d4a432fc12b9f5ac3047 Mon Sep 17 00:00:00 2001 From: Gomi Date: Sat, 16 Mar 2024 11:12:20 +0800 Subject: [PATCH 12/87] docs: change tab's 'Before Change' into a real async function (#12693) --- packages/vant/src/tab/README.md | 2 +- packages/vant/src/tab/README.zh-CN.md | 2 +- packages/vant/src/tab/demo/index.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vant/src/tab/README.md b/packages/vant/src/tab/README.md index f25785d3786..522810a606c 100644 --- a/packages/vant/src/tab/README.md +++ b/packages/vant/src/tab/README.md @@ -219,7 +219,7 @@ export default { // async return new Promise((resolve) => { - resolve(index !== 3); + setTimeout(() => resolve(index !== 3), 1000); }); }; diff --git a/packages/vant/src/tab/README.zh-CN.md b/packages/vant/src/tab/README.zh-CN.md index ff11ee07afa..e9efd2fac56 100644 --- a/packages/vant/src/tab/README.zh-CN.md +++ b/packages/vant/src/tab/README.zh-CN.md @@ -231,7 +231,7 @@ export default { // 返回 Promise 来执行异步逻辑 return new Promise((resolve) => { // 在 resolve 函数中返回 true 或 false - resolve(index !== 3); + setTimeout(() => resolve(index !== 3), 1000); }); }; diff --git a/packages/vant/src/tab/demo/index.vue b/packages/vant/src/tab/demo/index.vue index 9964dec0f37..3664bceff91 100644 --- a/packages/vant/src/tab/demo/index.vue +++ b/packages/vant/src/tab/demo/index.vue @@ -65,7 +65,7 @@ const beforeChange = (name: number) => { return false; } return new Promise((resolve) => { - resolve(name !== 3); + setTimeout(() => resolve(name !== 3), 1000); }); }; From 66d8a1800c196aa2554d6ea0b458f9ec84c1f27d Mon Sep 17 00:00:00 2001 From: dragonzhang <52599892+DragonnZhang@users.noreply.github.com> Date: Sun, 17 Mar 2024 09:41:00 +0800 Subject: [PATCH 13/87] feat: support unplugin-auto-import plugin (#12679) --- packages/vant-auto-import-resolver/README.md | 32 ++++++++-- .../vant-auto-import-resolver/README.zh-CN.md | 32 ++++++++-- .../vant-auto-import-resolver/src/index.ts | 50 +++++++++++++++ .../vant/docs/markdown/quickstart.en-US.md | 60 +++++++++--------- .../vant/docs/markdown/quickstart.zh-CN.md | 62 +++++++++---------- 5 files changed, 165 insertions(+), 71 deletions(-) diff --git a/packages/vant-auto-import-resolver/README.md b/packages/vant-auto-import-resolver/README.md index 0d013fe8f08..42e20caa17d 100644 --- a/packages/vant-auto-import-resolver/README.md +++ b/packages/vant-auto-import-resolver/README.md @@ -14,16 +14,16 @@ English | [简体中文](./README.zh-CN.md) ```shell # via npm -npm i @vant/auto-import-resolver unplugin-vue-components -D +npm i @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via yarn -yarn add @vant/auto-import-resolver unplugin-vue-components -D +yarn add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via pnpm -pnpm add @vant/auto-import-resolver unplugin-vue-components -D +pnpm add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via Bun -bun add @vant/auto-import-resolver unplugin-vue-components -D +bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D ``` ## Usage @@ -32,11 +32,15 @@ bun add @vant/auto-import-resolver unplugin-vue-components -D ```ts // vite.config.ts +import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { VantResolver } from '@vant/auto-import-resolver'; export default defineConfig({ plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -48,11 +52,15 @@ export default defineConfig({ ```ts // rollup.config.js +import AutoImport from 'unplugin-auto-import/rollup'; import Components from 'unplugin-vue-components/rollup'; import { VantResolver } from '@vant/auto-import-resolver'; export default { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -64,11 +72,15 @@ export default { ```ts // webpack.config.js +import AutoImport from 'unplugin-auto-import/webpack'; import Components from 'unplugin-vue-components/webpack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -80,11 +92,15 @@ module.exports = { ```ts // rspack.config.js +import AutoImport from 'unplugin-auto-import/rspack'; import Components from 'unplugin-vue-components/rspack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -96,12 +112,16 @@ module.exports = { ```ts // vue.config.js +import AutoImport from 'unplugin-auto-import/webpack'; import Components from 'unplugin-vue-components/webpack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { configureWebpack: { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -115,11 +135,15 @@ module.exports = { ```ts // esbuild.config.js import { build } from 'esbuild'; +import AutoImport from 'unplugin-auto-import/esbuild'; import Components from 'unplugin-vue-components/esbuild'; import { VantResolver } from '@vant/auto-import-resolver'; build({ plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), diff --git a/packages/vant-auto-import-resolver/README.zh-CN.md b/packages/vant-auto-import-resolver/README.zh-CN.md index cf10550aafe..f8abe675f09 100644 --- a/packages/vant-auto-import-resolver/README.zh-CN.md +++ b/packages/vant-auto-import-resolver/README.zh-CN.md @@ -14,16 +14,16 @@ ```shell # via npm -npm i @vant/auto-import-resolver unplugin-vue-components -D +npm i @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via yarn -yarn add @vant/auto-import-resolver unplugin-vue-components -D +yarn add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via pnpm -pnpm add @vant/auto-import-resolver unplugin-vue-components -D +pnpm add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # via Bun -bun add @vant/auto-import-resolver unplugin-vue-components -D +bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D ``` ## 使用 @@ -32,11 +32,15 @@ bun add @vant/auto-import-resolver unplugin-vue-components -D ```ts // vite.config.ts +import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { VantResolver } from '@vant/auto-import-resolver'; export default defineConfig({ plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -48,11 +52,15 @@ export default defineConfig({ ```ts // rollup.config.js +import AutoImport from 'unplugin-auto-import/rollup'; import Components from 'unplugin-vue-components/rollup'; import { VantResolver } from '@vant/auto-import-resolver'; export default { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -64,11 +72,15 @@ export default { ```ts // webpack.config.js +import AutoImport from 'unplugin-auto-import/webpack'; import Components from 'unplugin-vue-components/webpack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -80,11 +92,15 @@ module.exports = { ```ts // rspack.config.js +import AutoImport from 'unplugin-auto-import/rspack'; import Components from 'unplugin-vue-components/rspack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -96,12 +112,16 @@ module.exports = { ```ts // vue.config.js +import AutoImport from 'unplugin-auto-import/webpack'; import Components from 'unplugin-vue-components/webpack'; import { VantResolver } from '@vant/auto-import-resolver'; module.exports = { configureWebpack: { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -115,11 +135,15 @@ module.exports = { ```ts // esbuild.config.js import { build } from 'esbuild'; +import AutoImport from 'unplugin-auto-import/esbuild'; import Components from 'unplugin-vue-components/esbuild'; import { VantResolver } from '@vant/auto-import-resolver'; build({ plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), diff --git a/packages/vant-auto-import-resolver/src/index.ts b/packages/vant-auto-import-resolver/src/index.ts index 46ce1f0e70a..cb540d28184 100644 --- a/packages/vant-auto-import-resolver/src/index.ts +++ b/packages/vant-auto-import-resolver/src/index.ts @@ -56,8 +56,48 @@ function getSideEffects(dirName: string, options: VantResolverOptions) { return `vant/${moduleType}/${dirName}/style/index`; } +function getAPIMap() { + const apiMap = new Map(); + + const api = { + dialog: [ + 'showDialog', + 'closeDialog', + 'showConfirmDialog', + 'setDialogDefaultOptions', + 'resetDialogDefaultOptions', + ], + imagePreview: ['showImagePreview'], + notify: [ + 'showNotify', + 'closeNotify', + 'setNotifyDefaultOptions', + 'resetNotifyDefaultOptions', + ], + toast: [ + 'showToast', + 'closeToast', + 'showFailToast', + 'showLoadingToast', + 'showSuccessToast', + 'allowMultipleToast', + 'setToastDefaultOptions', + 'resetToastDefaultOptions', + ], + }; + + Object.entries(api).forEach(([importName, apiList]) => { + apiList.forEach((api) => { + apiMap.set(api, importName); + }); + }); + + return apiMap; +} + export function VantResolver(options: VantResolverOptions = {}) { const moduleType = getModuleType(options); + const apiMap = getAPIMap(); return { type: 'component' as const, @@ -71,6 +111,16 @@ export function VantResolver(options: VantResolverOptions = {}) { sideEffects: getSideEffects(kebabCase(partialName), options), }; } + + // import API + if (apiMap.has(name)) { + const partialName = apiMap.get(name)!; + return { + name, + from: `vant/${moduleType}`, + sideEffects: getSideEffects(kebabCase(partialName), options), + }; + } }, }; } diff --git a/packages/vant/docs/markdown/quickstart.en-US.md b/packages/vant/docs/markdown/quickstart.en-US.md index 940ecbfa170..19c067fc6f7 100644 --- a/packages/vant/docs/markdown/quickstart.en-US.md +++ b/packages/vant/docs/markdown/quickstart.en-US.md @@ -131,16 +131,16 @@ Compared with conventional usage, this method can introduce the CSS style of com ```bash # with npm -npm i @vant/auto-import-resolver unplugin-vue-components -D +npm i @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # with yarn -yarn add @vant/auto-import-resolver unplugin-vue-components -D +yarn add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # with pnpm -pnpm add @vant/auto-import-resolver unplugin-vue-components -D +pnpm add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # with Bun -bun add @vant/auto-import-resolver unplugin-vue-components -D +bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D ``` #### 2. Configure Plugin @@ -150,6 +150,7 @@ For Rsbuild based project,configure the plugin in the `rsbuild.config.js` file ```js import { defineConfig } from '@rsbuild/core'; import { pluginVue } from '@rsbuild/plugin-vue'; +import AutoImport from 'unplugin-auto-import/rspack'; import Components from 'unplugin-vue-components/rspack'; import { VantResolver } from '@vant/auto-import-resolver'; @@ -158,6 +159,9 @@ export default defineConfig({ tools: { rspack: { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -171,12 +175,16 @@ For Vite based project,configure the plugin in the `vite.config.js` file: ```js import vue from '@vitejs/plugin-vue'; +import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { VantResolver } from '@vant/auto-import-resolver'; export default { plugins: [ vue(), + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -188,15 +196,18 @@ For vue-cli based project,configure the plugin in the `vue.config.js` file: ```js const { VantResolver } = require('@vant/auto-import-resolver'); -const ComponentsPlugin = require('unplugin-vue-components/webpack'); +const AutoImport = require('unplugin-auto-import/webpack'); +const Components = require('unplugin-vue-components/webpack'); module.exports = { configureWebpack: { plugins: [ // When the version of unplugin-vue-components is less than 0.26.0: - ComponentsPlugin({ resolvers: [VantResolver()] }), + AutoImport({ resolvers: [VantResolver()] }), + Components({ resolvers: [VantResolver()] }), // when the unplugin-vue-components version is greater than or equal to 0.26.0: - ComponentsPlugin.default({ resolvers: [VantResolver()] }), + AutoImport.default({ resolvers: [VantResolver()] }), + Components.default({ resolvers: [VantResolver()] }), ], }, }; @@ -206,14 +217,17 @@ For webpack based project,configure the plugin in the `webpack.config.js` file ```js const { VantResolver } = require('@vant/auto-import-resolver'); -const ComponentsPlugin = require('unplugin-vue-components/webpack'); +const AutoImport = require('unplugin-auto-import/webpack'); +const Components = require('unplugin-vue-components/webpack'); module.exports = { plugins: [ // When the version of unplugin-vue-components is less than 0.26.0: - ComponentsPlugin({ resolvers: [VantResolver()] }), + AutoImport({ resolvers: [VantResolver()] }), + Components({ resolvers: [VantResolver()] }), // when the unplugin-vue-components version is greater than or equal to 0.26.0: - ComponentsPlugin.default({ resolvers: [VantResolver()] }), + AutoImport.default({ resolvers: [VantResolver()] }), + Components.default({ resolvers: [VantResolver()] }), ], }; ``` @@ -228,30 +242,14 @@ Then you can using components from Vant in the template, the `unplugin-vue-compo ``` -#### 4. Style of Function Components - -Some components of Vant are provided as function, including `Toast`, `Dialog`, `Notify` and `ImagePreview`. When using function components, `unplugin-vue-components` cannot parse the automatic registration component, resulting in `@vant/auto-import-resolver` unable to parse the style, so the style needs to be introduced manually. - -```js -// Toast -import { showToast } from 'vant'; -import 'vant/es/toast/style'; +`unplugin-auto-import` will automatically import the corresponding Vant API and styles. -// Dialog -import { showDialog } from 'vant'; -import 'vant/es/dialog/style'; - -// Notify -import { showNotify } from 'vant'; -import 'vant/es/notify/style'; - -// ImagePreview -import { showImagePreview } from 'vant'; -import 'vant/es/image-preview/style'; +```html + ``` -> Tip: "Full Import" and "On-demand Import" should not be used at the same time, otherwise it will lead to problems such as code duplication and style overrides. - #### Tips - "Full Import" and "On-demand Import" should not be used at the same time, otherwise it will lead to problems such as code duplication and style overrides. diff --git a/packages/vant/docs/markdown/quickstart.zh-CN.md b/packages/vant/docs/markdown/quickstart.zh-CN.md index 78899ac5e21..6a4b91e58c8 100644 --- a/packages/vant/docs/markdown/quickstart.zh-CN.md +++ b/packages/vant/docs/markdown/quickstart.zh-CN.md @@ -153,16 +153,16 @@ Vant 官方基于 `unplugin-vue-components` 提供了自动导入样式的解析 ```bash # 通过 npm 安装 -npm i @vant/auto-import-resolver unplugin-vue-components -D +npm i @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # 通过 yarn 安装 -yarn add @vant/auto-import-resolver unplugin-vue-components -D +yarn add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # 通过 pnpm 安装 -pnpm add @vant/auto-import-resolver unplugin-vue-components -D +pnpm add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D # 通过 bun 安装 -bun add @vant/auto-import-resolver unplugin-vue-components -D +bun add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D ``` #### 2. 配置插件 @@ -172,6 +172,7 @@ bun add @vant/auto-import-resolver unplugin-vue-components -D ```js import { defineConfig } from '@rsbuild/core'; import { pluginVue } from '@rsbuild/plugin-vue'; +import AutoImport from 'unplugin-auto-import/rspack'; import Components from 'unplugin-vue-components/rspack'; import { VantResolver } from '@vant/auto-import-resolver'; @@ -180,6 +181,9 @@ export default defineConfig({ tools: { rspack: { plugins: [ + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -193,12 +197,16 @@ export default defineConfig({ ```js import vue from '@vitejs/plugin-vue'; +import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { VantResolver } from '@vant/auto-import-resolver'; export default { plugins: [ vue(), + AutoImport({ + resolvers: [VantResolver()], + }), Components({ resolvers: [VantResolver()], }), @@ -210,15 +218,18 @@ export default { ```js const { VantResolver } = require('@vant/auto-import-resolver'); -const ComponentsPlugin = require('unplugin-vue-components/webpack'); +const AutoImport = require('unplugin-auto-import/webpack'); +const Components = require('unplugin-vue-components/webpack'); module.exports = { configureWebpack: { plugins: [ // 当 unplugin-vue-components 版本小于 0.26.0 时,使用以下写法 - ComponentsPlugin({ resolvers: [VantResolver()] }), + AutoImport({ resolvers: [VantResolver()] }), + Components({ resolvers: [VantResolver()] }), //当 unplugin-vue-components 版本大于等于 0.26.0 时,使用以下写法 - ComponentsPlugin.default({ resolvers: [VantResolver()] }), + AutoImport.default({ resolvers: [VantResolver()] }), + Components.default({ resolvers: [VantResolver()] }), ], }, }; @@ -228,19 +239,22 @@ module.exports = { ```js const { VantResolver } = require('@vant/auto-import-resolver'); -const ComponentsPlugin = require('unplugin-vue-components/webpack'); +const AutoImport = require('unplugin-auto-import/webpack'); +const Components = require('unplugin-vue-components/webpack'); module.exports = { plugins: [ // 当 unplugin-vue-components 版本小于 0.26.0 时,使用以下写法 - ComponentsPlugin({ resolvers: [VantResolver()] }), + AutoImport({ resolvers: [VantResolver()] }), + Components({ resolvers: [VantResolver()] }), //当 unplugin-vue-components 版本大于等于 0.26.0 时,使用以下写法 - ComponentsPlugin.default({ resolvers: [VantResolver()] }), + AutoImport.default({ resolvers: [VantResolver()] }), + Components.default({ resolvers: [VantResolver()] }), ], }; ``` -#### 3. 使用组件 +#### 3. 使用组件和 API 完成以上两步,就可以直接在模板中使用 Vant 组件了,`unplugin-vue-components` 会解析模板并自动注册对应的组件, `@vant/auto-import-resolver` 会自动引入对应的组件样式。 @@ -250,30 +264,14 @@ module.exports = { ``` -#### 4. 引入函数组件的样式 - -Vant 中有个别组件是以函数的形式提供的,包括 `Toast`,`Dialog`,`Notify` 和 `ImagePreview` 组件。在使用函数组件时,`unplugin-vue-components` 无法解析自动注册组件,导致 `@vant/auto-import-resolver` 无法解析样式,因此需要手动引入样式。 - -```js -// Toast -import { showToast } from 'vant'; -import 'vant/es/toast/style'; - -// Dialog -import { showDialog } from 'vant'; -import 'vant/es/dialog/style'; +`unplugin-auto-import` 会自动导入对应的 Vant API 以及样式。 -// Notify -import { showNotify } from 'vant'; -import 'vant/es/notify/style'; - -// ImagePreview -import { showImagePreview } from 'vant'; -import 'vant/es/image-preview/style'; +```html + ``` -你可以在项目的入口文件或公共模块中引入以上组件的样式,这样在业务代码中使用组件时,便不再需要重复引入样式了。 - #### 使用提示 - 请避免同时使用「全量引入」和「按需引入」这两种引入方式,否则会导致代码重复、样式错乱等问题。 From b69f4b6b9f76ba6b8284eba96947d575cb170ee6 Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 17 Mar 2024 09:42:11 +0800 Subject: [PATCH 14/87] release: @vant/auto-import-resolver v1.1.0-beta.0 --- packages/vant-auto-import-resolver/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vant-auto-import-resolver/package.json b/packages/vant-auto-import-resolver/package.json index 47ed41fa92a..a978214f2a6 100644 --- a/packages/vant-auto-import-resolver/package.json +++ b/packages/vant-auto-import-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@vant/auto-import-resolver", - "version": "1.0.2", + "version": "1.1.0-beta.0", "description": "Vant auto import resolver based on unplugin-vue-components", "main": "dist/index.cjs.js", "module": "dist/index.esm.mjs", From a9201b24db3ad6144232e19758615bb7c8f3f267 Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 17 Mar 2024 09:50:10 +0800 Subject: [PATCH 15/87] release: @vant/auto-import-resolver v1.1.0 --- packages/vant-auto-import-resolver/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vant-auto-import-resolver/package.json b/packages/vant-auto-import-resolver/package.json index a978214f2a6..490bec3d96c 100644 --- a/packages/vant-auto-import-resolver/package.json +++ b/packages/vant-auto-import-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@vant/auto-import-resolver", - "version": "1.1.0-beta.0", + "version": "1.1.0", "description": "Vant auto import resolver based on unplugin-vue-components", "main": "dist/index.cjs.js", "module": "dist/index.esm.mjs", From a4bb0a3aaacd991bbe0fedb4b683e7443df54479 Mon Sep 17 00:00:00 2001 From: Gavin Date: Sun, 17 Mar 2024 19:51:58 +0800 Subject: [PATCH 16/87] feat(ActionSheet): add icon support to the actions data (#12671) --- .../vant/src/action-sheet/ActionSheet.tsx | 8 +++ packages/vant/src/action-sheet/README.md | 56 ++++++++++++++++--- .../vant/src/action-sheet/README.zh-CN.md | 56 ++++++++++++++++--- packages/vant/src/action-sheet/demo/index.vue | 21 +++++++ packages/vant/src/action-sheet/index.less | 14 ++++- .../test/__snapshots__/demo-ssr.spec.ts.snap | 21 +++++++ .../test/__snapshots__/demo.spec.ts.snap | 29 ++++++++++ 7 files changed, 186 insertions(+), 19 deletions(-) diff --git a/packages/vant/src/action-sheet/ActionSheet.tsx b/packages/vant/src/action-sheet/ActionSheet.tsx index 5816d07f2a9..08e73a56ea0 100644 --- a/packages/vant/src/action-sheet/ActionSheet.tsx +++ b/packages/vant/src/action-sheet/ActionSheet.tsx @@ -20,6 +20,7 @@ import { popupSharedProps, popupSharedPropKeys } from '../popup/shared'; const [name, bem] = createNamespace('action-sheet'); export type ActionSheetAction = { + icon?: string; name?: string; color?: string; subname?: string; @@ -94,6 +95,12 @@ export default defineComponent({ } }; + const renderIcon = (action: ActionSheetAction) => { + if (action.icon) { + return ; + } + }; + const renderActionContent = (action: ActionSheetAction, index: number) => { if (action.loading) { return ; @@ -135,6 +142,7 @@ export default defineComponent({ class={[bem('item', { loading, disabled }), className]} onClick={onClick} > + {renderIcon(action)} {renderActionContent(action, index)} ); diff --git a/packages/vant/src/action-sheet/README.md b/packages/vant/src/action-sheet/README.md index 5dae39b2bbc..319f0efaf9c 100644 --- a/packages/vant/src/action-sheet/README.md +++ b/packages/vant/src/action-sheet/README.md @@ -53,6 +53,41 @@ export default { }; ``` +### Show Icon + +Use the `icon` field of `actions` to set the icon for the option. + +```html + + +``` + +```js +import { ref } from 'vue'; +import { showToast } from 'vant'; + +export default { + setup() { + const show = ref(false); + const actions = [ + { name: 'Option 1', icon: 'cart-o' }, + { name: 'Option 2', icon: 'shop-o' }, + { name: 'Option 3', icon: 'star-o' }, + ]; + const onSelect = (item) => { + show.value = false; + showToast(item.name); + }; + + return { + show, + actions, + onSelect, + }; + }, +}; +``` + ### Show Cancel Button ```html @@ -195,15 +230,16 @@ export default { ### Data Structure of ActionSheetAction -| Key | Description | Type | -| --------- | ------------------------------- | --------------------------- | -| name | Title | _string_ | -| subname | Subtitle | _string_ | -| color | Text color | _string_ | -| className | className for the option | _string \| Array \| object_ | -| loading | Whether to be loading status | _boolean_ | -| disabled | Whether to be disabled | _boolean_ | -| callback | Callback function after clicked | _action: ActionSheetAction_ | +| Key | Description | Type | +| --- | --- | --- | +| name | Title | _string_ | +| subname | Subtitle | _string_ | +| color | Text color | _string_ | +| icon `v4.8.6` | Icon name or URL | _string_ | +| className | className for the option | _string \| Array \| object_ | +| loading | Whether to be loading status | _boolean_ | +| disabled | Whether to be disabled | _boolean_ | +| callback | Callback function after clicked | _action: ActionSheetAction_ | ### Events @@ -253,6 +289,8 @@ The component provides the following CSS variables, which can be used to customi | --van-action-sheet-item-line-height | _var(--van-line-height-lg)_ | - | | --van-action-sheet-item-text-color | _var(--van-text-color)_ | - | | --van-action-sheet-item-disabled-text-color | _var(--van-text-color-3)_ | - | +| --van-action-sheet-item-icon-size | _18px_ | - | +| --van-action-sheet-item-icon-margin-right | _var(--van-padding-xs)_ | - | | --van-action-sheet-subname-color | _var(--van-text-color-2)_ | - | | --van-action-sheet-subname-font-size | _var(--van-font-size-sm)_ | - | | --van-action-sheet-subname-line-height | _var(--van-line-height-sm)_ | - | diff --git a/packages/vant/src/action-sheet/README.zh-CN.md b/packages/vant/src/action-sheet/README.zh-CN.md index fc09a7d11b2..128f8f81162 100644 --- a/packages/vant/src/action-sheet/README.zh-CN.md +++ b/packages/vant/src/action-sheet/README.zh-CN.md @@ -55,6 +55,41 @@ export default { }; ``` +### 展示图标 + +使用 `actions` 的 `icon` 字段可以为选项设置图标。 + +```html + + +``` + +```js +import { ref } from 'vue'; +import { showToast } from 'vant'; + +export default { + setup() { + const show = ref(false); + const actions = [ + { name: '选项一', icon: 'cart-o' }, + { name: '选项二', icon: 'shop-o' }, + { name: '选项三', icon: 'star-o' }, + ]; + const onSelect = (item) => { + show.value = false; + showToast(item.name); + }; + + return { + show, + actions, + onSelect, + }; + }, +}; +``` + ### 展示取消按钮 设置 `cancel-text` 属性后,会在底部展示取消按钮,点击后关闭当前面板并触发 `cancel` 事件。 @@ -207,15 +242,16 @@ export default { `actions` 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值: -| 键名 | 说明 | 类型 | -| --------- | ------------------------ | --------------------------- | -| name | 标题 | _string_ | -| subname | 二级标题 | _string_ | -| color | 选项文字颜色 | _string_ | -| className | 为对应列添加额外的 class | _string \| Array \| object_ | -| loading | 是否为加载状态 | _boolean_ | -| disabled | 是否为禁用状态 | _boolean_ | -| callback | 点击时触发的回调函数 | _action: ActionSheetAction_ | +| 键名 | 说明 | 类型 | +| ------------- | ------------------------ | --------------------------- | +| name | 标题 | _string_ | +| subname | 二级标题 | _string_ | +| color | 选项文字颜色 | _string_ | +| icon `v4.8.6` | 选项图标名称或图片链接 | _string_ | +| className | 为对应列添加额外的 class | _string \| Array \| object_ | +| loading | 是否为加载状态 | _boolean_ | +| disabled | 是否为禁用状态 | _boolean_ | +| callback | 点击时触发的回调函数 | _action: ActionSheetAction_ | ### Events @@ -265,6 +301,8 @@ import type { ActionSheetProps, ActionSheetAction } from 'vant'; | --van-action-sheet-item-line-height | _var(--van-line-height-lg)_ | - | | --van-action-sheet-item-text-color | _var(--van-text-color)_ | - | | --van-action-sheet-item-disabled-text-color | _var(--van-text-color-3)_ | - | +| --van-action-sheet-item-icon-size | _18px_ | - | +| --van-action-sheet-item-icon-margin-right | _var(--van-padding-xs)_ | - | | --van-action-sheet-subname-color | _var(--van-text-color-2)_ | - | | --van-action-sheet-subname-font-size | _var(--van-font-size-sm)_ | - | | --van-action-sheet-subname-line-height | _var(--van-line-height-sm)_ | - | diff --git a/packages/vant/src/action-sheet/demo/index.vue b/packages/vant/src/action-sheet/demo/index.vue index af0a8c5cbda..f297e5b1269 100644 --- a/packages/vant/src/action-sheet/demo/index.vue +++ b/packages/vant/src/action-sheet/demo/index.vue @@ -11,6 +11,7 @@ const t = useTranslate({ option2: '选项二', option3: '选项三', subname: '描述信息', + showIcon: '展示图标', showCancel: '展示取消按钮', buttonText: '弹出菜单', customPanel: '自定义面板', @@ -25,6 +26,7 @@ const t = useTranslate({ option2: 'Option 2', option3: 'Option 3', subname: 'Description', + showIcon: 'Show Icon', showCancel: 'Show Cancel Button', buttonText: 'Show ActionSheet', customPanel: 'Custom Panel', @@ -36,6 +38,7 @@ const t = useTranslate({ }, }); const showBasic = ref(false); +const showIcon = ref(false); const showCancel = ref(false); const showTitle = ref(false); const showStatus = ref(false); @@ -47,6 +50,12 @@ const simpleActions = computed(() => [ { name: t('option3') }, ]); +const iconActions = computed(() => [ + { name: t('option1'), icon: 'cart-o' }, + { name: t('option2'), icon: 'shop-o' }, + { name: t('option3'), icon: 'star-o' }, +]); + const statusActions = computed(() => [ { name: t('coloredOption'), color: '#ee0a24' }, { name: t('disabledOption'), disabled: true }, @@ -64,12 +73,18 @@ const onSelect = (item: ActionSheetAction) => { showToast(item.name); }; +const onSelectIcon = (item: ActionSheetAction) => { + showIcon.value = false; + showToast(item.name); +}; + const onCancel = () => showToast(t('cancel'));