From 29a490ceb6a2d761b739a59a493d812069fc890e Mon Sep 17 00:00:00 2001 From: qzhuo Date: Thu, 4 Sep 2025 14:45:44 +0800 Subject: [PATCH] chore(release): publish 3.6.6 --- CHANGELOG.md | 18 +++++- lerna.json | 2 +- packages/vantui-cli/package.json | 2 +- packages/vantui-demo/package.json | 2 +- packages/vantui/package.json | 4 +- packages/vantui/src/dialog/README.md | 38 ++++++------ packages/vantui/src/form/README.md | 48 +++++++-------- packages/vantui/src/highlight/index.tsx | 1 - packages/vantui/src/picker/README.md | 20 +++++++ packages/vantui/src/uploader/utils.ts | 78 ++++++++++++------------- 10 files changed, 124 insertions(+), 89 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29e6beed4..7d99f7acc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,20 @@ -# [](https://github.com/AntmJS/vantui/compare/v3.6.4...v) (2025-06-12) +# [](https://github.com/AntmJS/vantui/compare/v3.6.5...v) (2025-09-04) + + +### Bug Fixes + +* Form判断异步rule方法时,传callback以兼容同步rule的调用 ([#779](https://github.com/AntmJS/vantui/issues/779)) ([8800858](https://github.com/AntmJS/vantui/commit/88008586f3f65cc911a9bd36a0e10ad7d95343d0)) +* **uploader:** 不再使用过时的chooseImage和chooseVideo方法 ([#780](https://github.com/AntmJS/vantui/issues/780)) ([bc7f438](https://github.com/AntmJS/vantui/commit/bc7f438aec9c5113145a4a296b300a79522ab0fb)) +* 轮播组件禁用手动滑动功能 ([015f265](https://github.com/AntmJS/vantui/commit/015f26513d9c5baf6a137036fdaff11be507a53e)) + + +### Features + +* **highlight:** 新增 Highlight 高亮文本组件 ([#782](https://github.com/AntmJS/vantui/issues/782)) ([95b9ba9](https://github.com/AntmJS/vantui/commit/95b9ba9f5b67b7a2b85bb843425099ad8d5e600a)) + + + +## [3.6.5](https://github.com/AntmJS/vantui/compare/v3.6.4...v3.6.5) (2025-06-12) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 93a49ec80..e8f90e32a 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "**/*.md", "**/__test__/**" ], - "version": "3.6.5" + "version": "3.6.6" } \ No newline at end of file diff --git a/packages/vantui-cli/package.json b/packages/vantui-cli/package.json index af00bde98..29137bb0d 100644 --- a/packages/vantui-cli/package.json +++ b/packages/vantui-cli/package.json @@ -1,6 +1,6 @@ { "name": "@antmjs/vantui-cli", - "version": "3.6.5", + "version": "3.6.6", "type": "module", "main": "dest/cli.js", "bin": { diff --git a/packages/vantui-demo/package.json b/packages/vantui-demo/package.json index 351b298fc..c609c0773 100644 --- a/packages/vantui-demo/package.json +++ b/packages/vantui-demo/package.json @@ -1,6 +1,6 @@ { "name": "vantui-demo", - "version": "3.6.5", + "version": "3.6.6", "private": true, "description": "Taro应用模版", "templateInfo": { diff --git a/packages/vantui/package.json b/packages/vantui/package.json index c743a22cd..cec98eee4 100644 --- a/packages/vantui/package.json +++ b/packages/vantui/package.json @@ -1,6 +1,6 @@ { "name": "@antmjs/vantui", - "version": "3.6.5", + "version": "3.6.6", "main": "lib/index.js", "module": "es/index.esm.js", "style": "lib/index.css", @@ -74,4 +74,4 @@ "style-resources-loader": "^1.5.0", "swc-loader": "^0.2.3" } -} \ No newline at end of file +} diff --git a/packages/vantui/src/dialog/README.md b/packages/vantui/src/dialog/README.md index dd21394d9..9c0f67b2c 100644 --- a/packages/vantui/src/dialog/README.md +++ b/packages/vantui/src/dialog/README.md @@ -97,22 +97,22 @@ import { Dialog } from '@antmjs/vantui' 组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考[ConfigProvider 组件](https://antmjs.github.io/vantui/#/config-provider) -| 名称 | 默认值 | -| -------------------------------------- | -------------------- | -| --dialog-width | `640px;` | -| --dialog-small-screen-width | `90%;` | -| --dialog-font-size | `@font-size-lg;` | -| --dialog-border-radius | `32px;` | -| --dialog-background-color | `@white;` | -| --dialog-header-font-weight | `@font-weight-bold;` | -| --dialog-header-line-height | `48px;` | -| --dialog-header-padding-top | `@padding-lg;` | -| --dialog-header-isolated-padding | `@padding-lg 0;` | -| --dialog-message-padding | `@padding-lg;` | -| --dialog-message-font-size | `@font-size-md;` | -| --dialog-message-line-height | `40px;` | -| --dialog-message-max-height | `60vh;` | -| --dialog-has-title-message-text-color | `@gray-7;` | -| --dialog-has-title-message-padding-top | `@padding-xs;` | -| --dialog-cancel-button-color | `@gray-7;` | -| --dialog-confirm-button-color | `@text-link-color;` | +| 名称 | 默认值 | +| -------------------------------------- | --------------------- | +| --dialog-width | ` 640px;` | +| --dialog-small-screen-width | ` 90%;` | +| --dialog-font-size | ` @font-size-lg;` | +| --dialog-border-radius | ` 32px;` | +| --dialog-background-color | ` @white;` | +| --dialog-header-font-weight | ` @font-weight-bold;` | +| --dialog-header-line-height | ` 48px;` | +| --dialog-header-padding-top | ` @padding-lg;` | +| --dialog-header-isolated-padding | ` @padding-lg 0;` | +| --dialog-message-padding | ` @padding-lg;` | +| --dialog-message-font-size | ` @font-size-md;` | +| --dialog-message-line-height | ` 40px;` | +| --dialog-message-max-height | ` 60vh;` | +| --dialog-has-title-message-text-color | ` @gray-7;` | +| --dialog-has-title-message-padding-top | ` @padding-xs;` | +| --dialog-cancel-button-color | ` @gray-7;` | +| --dialog-confirm-button-color | ` @text-link-color;` | diff --git a/packages/vantui/src/form/README.md b/packages/vantui/src/form/README.md index 228fb64e2..bc1739339 100644 --- a/packages/vantui/src/form/README.md +++ b/packages/vantui/src/form/README.md @@ -66,30 +66,30 @@ FormItem 需要代理下级表单组件的值和触发事件 ### FormItemProps [[详情]](https://github.com/AntmJS/vantui/tree/main/packages/vantui/types/form.d.ts) -| 参数 | 说明 | 类型 | 默认值 | 必填 | -| ----------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------- | -| mutiLevel | 组件值默认数据类型为基本类型(string、number...), 对象数组形式的数据需要设置为 true | _  boolean
_ | - | `false` | -| name | 对应表单字段名 | _  attr:
    ¦ string
    ¦ Array<
        string ¦ number
      >
_ | - | `true` | -| children | 第一级操作表单组件 | _  ReactNode
_ | - | `true` | -| label | 表单 label | _  ReactNode
_ | - | `true` | -| labelName | 表单 label 字符串, 当 label 不为字符串的时候,传入 labelName | _  string
_ | - | `false` | -| layout | 垂直 | 水平 | _  attr:
    ¦ "vertical"
    ¦ "horizontal"
_ | horizontal | `false` | -| required | 是否必填 | _  boolean
_ | `false` | `false` | -| validateTrigger | 验证表单触发方法名 | _  string
_ | `onChange` | `false` | -| borderBottom | 下边框 | _  boolean
_ | `false` | `false` | -| labelClassName | label 的外层 className | _  string
_ | - | `false` | -| messageClassName | 提示信息的 className,某些错误情况可以自定义样式 | _  string
_ | - | `false` | -| requiredClassName | required 的外层 className | _  string
_ | - | `false` | -| controllClassName | 表单组件的外层 className | _  string
_ | - | `false` | -| controllFlexEnd | 表单组件的靠右布局 | _  boolean
_ | - | `false` | -| className | formItem 最外层 className | _  string
_ | - | `false` | -| requiredIcon | 自定义必填标识 | _  ReactNode
_ | - | `false` | -| feedback | 验证后反馈的信息,可设置为校验成功、失败、都展示或隐藏 | _  attr:
    ¦ "success"
    ¦ "failed"
    ¦ "all"
    ¦ "hidden"
_ | `failed` | `false` | -| renderRight | 自定义渲染右边内容 | _  ReactNode
_ | - | `false` | -| trigger | 表单交互触发方法 | _  string
_ | `onChange` | `false` | -| valueKey | 表单控制展示的具体值的字段名 | _  string
_ | `value` | `false` | -| valueFormat | 根据表单交互回掉函数(时间)参数的重新定义 | _  (
    value: any,
    name:
      ¦ string
      ¦ Array<
          string ¦ number
        >,
    IFormInstance: IFormInstanceAPI
  ) => any
_ | `value` | `false` | -| rules | 正则校验值,或者自定义校验后 call 回掉函数返回错误信息,支持数组或单项设置 | _  attr:
    ¦ {
        rule:
          ¦ ((
              value: any,
              call: (
                errMess: string
              ) => void
            ) => void)
          ¦ RegExp
        message?: string
      }[]
    ¦ {
        rule:
          ¦ ((
              value: any,
              call: (
                errMess: string
              ) => void
            ) => void)
          ¦ RegExp
        message?: string
      }
_ | - | `false` | +| 参数 | 说明 | 类型 | 默认值 | 必填 | +| ----------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------- | +| mutiLevel | 组件值默认数据类型为基本类型(string、number...), 对象数组形式的数据需要设置为 true | _  boolean
_ | - | `false` | +| name | 对应表单字段名 | _  attr:
    ¦ string
    ¦ Array<
        string ¦ number
      >
_ | - | `true` | +| children | 第一级操作表单组件 | _  ReactNode
_ | - | `true` | +| label | 表单 label | _  ReactNode
_ | - | `true` | +| labelName | 表单 label 字符串, 当 label 不为字符串的时候,传入 labelName | _  string
_ | - | `false` | +| layout | 垂直 | 水平 | _  attr:
    ¦ "vertical"
    ¦ "horizontal"
_ | horizontal | `false` | +| required | 是否必填 | _  boolean
_ | `false` | `false` | +| validateTrigger | 验证表单触发方法名 | _  string
_ | `onChange` | `false` | +| borderBottom | 下边框 | _  boolean
_ | `false` | `false` | +| labelClassName | label 的外层 className | _  string
_ | - | `false` | +| messageClassName | 提示信息的 className,某些错误情况可以自定义样式 | _  string
_ | - | `false` | +| requiredClassName | required 的外层 className | _  string
_ | - | `false` | +| controllClassName | 表单组件的外层 className | _  string
_ | - | `false` | +| controllFlexEnd | 表单组件的靠右布局 | _  boolean
_ | - | `false` | +| className | formItem 最外层 className | _  string
_ | - | `false` | +| requiredIcon | 自定义必填标识 | _  ReactNode
_ | - | `false` | +| feedback | 验证后反馈的信息,可设置为校验成功、失败、都展示或隐藏 | _  attr:
    ¦ "success"
    ¦ "failed"
    ¦ "all"
    ¦ "hidden"
_ | `failed` | `false` | +| renderRight | 自定义渲染右边内容 | _  ReactNode
_ | - | `false` | +| trigger | 表单交互触发方法 | _  string
_ | `onChange` | `false` | +| valueKey | 表单控制展示的具体值的字段名 | _  string
_ | `value` | `false` | +| valueFormat | 根据表单交互回掉函数(时间)参数的重新定义 | _  (
    value: any,
    name:
      ¦ string
      ¦ Array<
          string ¦ number
        >,
    IFormInstance: IFormInstanceAPI
  ) => any
_ | `value` | `false` | +| rules | 正则校验值,或者自定义校验后 call 回掉函数返回错误信息,支持数组或单项设置 | _  attr:
    ¦ {
        rule:
          ¦ ((
              value: any,
              call: (
                errMess: string
              ) => void
            ) => void)
          ¦ RegExp
        message?: string
      }[]
    ¦ {
        rule:
          ¦ ((
              value: any,
              call: (
                errMess: string
              ) => void
            ) => void)
          ¦ RegExp
        message?: string
      }
    ¦ {
        rule: (
          value: any
        ) => Promise<
          ¦ string
          ¦ undefined
          ¦ null
        >
        message?: string
      }
_ | - | `false` | ### IFormInstance [[详情]](https://github.com/AntmJS/vantui/tree/main/packages/vantui/types/form.d.ts) diff --git a/packages/vantui/src/highlight/index.tsx b/packages/vantui/src/highlight/index.tsx index c315bae8d..dc3881a58 100644 --- a/packages/vantui/src/highlight/index.tsx +++ b/packages/vantui/src/highlight/index.tsx @@ -3,7 +3,6 @@ import { useMemo } from 'react' import classNames from 'classnames' import { HighlightProps } from '../../types/highlight' import * as utils from '../wxs/utils' -import './index.less' interface Chunk { start: number diff --git a/packages/vantui/src/picker/README.md b/packages/vantui/src/picker/README.md index ee9d8c251..35bc59f01 100644 --- a/packages/vantui/src/picker/README.md +++ b/packages/vantui/src/picker/README.md @@ -117,3 +117,23 @@ import { Picker } from '@antmjs/vantui' | setIndexes | 设置每一列展示的下标 | _  (
    indexes: number[]
  ) => void
_ | | getValues | 每一列展示的值 | _  () => any
_ | | confirm | 触发确认的方法 | _  () => void
_ | + +### 样式变量 + +组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考[ConfigProvider 组件](https://antmjs.github.io/vantui/#/config-provider) + +| 名称 | 默认值 | +| ----------------------------------- | ---------------------------- | +| --picker-background-color | ` @white;` | +| --picker-toolbar-height | ` 88px;` | +| --picker-title-font-size | ` @font-size-lg;` | +| --picker-action-padding | ` 0 @padding-md;` | +| --picker-action-font-size | ` @font-size-md;` | +| --picker-confirm-action-color | ` @text-link-color;` | +| --picker-cancel-action-color | ` @gray-6;` | +| --picker-option-font-size | ` @font-size-lg;` | +| --picker-option-text-color | ` @black;` | +| --picker-loading-icon-color | ` var(--primary-color);` | +| --picker-loading-mask-color | ` rgba(255, 255, 255, 0.9);` | +| --picker-option-disabled-opacity | ` 0.3;` | +| --picker-option-selected-text-color | ` @text-color;` | diff --git a/packages/vantui/src/uploader/utils.ts b/packages/vantui/src/uploader/utils.ts index b13cdd16d..df4adb5c4 100644 --- a/packages/vantui/src/uploader/utils.ts +++ b/packages/vantui/src/uploader/utils.ts @@ -94,24 +94,24 @@ export function chooseFile({ return new Promise((resolve, reject) => { switch (accept) { case 'image': - process.env.TARO_ENV === 'weapp' ? - chooseMedia({ - count: multiple ? Math.min(maxCount, 9) : 1, - mediaType: ['image'], - sourceType: capture || ['album', 'camera'], - maxDuration, - sizeType: sizeType || ['original', 'compressed'], - camera: camera || 'back', - success: (res) => resolve(formatMedia(res)), - fail: reject, - }) : - chooseImage({ - count: multiple ? Math.min(maxCount, 9) : 1, - sourceType: capture || ['album', 'camera'], - sizeType: sizeType || ['original', 'compressed'], - success: (res) => resolve(formatImage(res)), - fail: reject, - }) + process.env.TARO_ENV === 'weapp' + ? chooseMedia({ + count: multiple ? Math.min(maxCount, 9) : 1, + mediaType: ['image'], + sourceType: capture || ['album', 'camera'], + maxDuration, + sizeType: sizeType || ['original', 'compressed'], + camera: camera || 'back', + success: (res) => resolve(formatMedia(res)), + fail: reject, + }) + : chooseImage({ + count: multiple ? Math.min(maxCount, 9) : 1, + sourceType: capture || ['album', 'camera'], + sizeType: sizeType || ['original', 'compressed'], + success: (res) => resolve(formatImage(res)), + fail: reject, + }) break case 'media': chooseMedia({ @@ -125,27 +125,27 @@ export function chooseFile({ }) break case 'video': - process.env.TARO_ENV === 'weapp' ? - chooseMedia({ - count: multiple ? Math.min(maxCount, 9) : 1, - mediaType: ['video'], - sourceType: capture || ['album', 'camera'], - maxDuration, - sizeType: compressed - ? ['compressed'] - : sizeType || ['original', 'compressed'], - camera: camera || 'back', - success: (res) => resolve(formatMedia(res)), - fail: reject, - }) : - chooseVideo({ - sourceType: capture || ['album', 'camera'], - compressed, - maxDuration: maxDuration || 60, - camera: camera || 'back', - success: (res) => resolve(formatVideo(res)), - fail: reject, - }) + process.env.TARO_ENV === 'weapp' + ? chooseMedia({ + count: multiple ? Math.min(maxCount, 9) : 1, + mediaType: ['video'], + sourceType: capture || ['album', 'camera'], + maxDuration, + sizeType: compressed + ? ['compressed'] + : sizeType || ['original', 'compressed'], + camera: camera || 'back', + success: (res) => resolve(formatMedia(res)), + fail: reject, + }) + : chooseVideo({ + sourceType: capture || ['album', 'camera'], + compressed, + maxDuration: maxDuration || 60, + camera: camera || 'back', + success: (res) => resolve(formatVideo(res)), + fail: reject, + }) break default: chooseMessageFile({