From fb4a31a3ad27292ebf3b2ba5fec6ad1219c5e888 Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 11:10:54 +0800 Subject: [PATCH 01/62] fix(SwipeCell): fix docs (#1634) --- src/swipe-cell/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/swipe-cell/README.md b/src/swipe-cell/README.md index 8b41f8abe..b0c80d59b 100644 --- a/src/swipe-cell/README.md +++ b/src/swipe-cell/README.md @@ -40,9 +40,9 @@ isComponent: true 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- disabled | Boolean | - | 是否禁用滑动 | N -opened | Boolean / Array | false | 操作项是否呈现为打开态,值为数组时表示分别控制左右滑动的展开和收起状态。TS 类型:`boolean| Array` | N | +opened | Boolean / Array | false | 操作项是否呈现为打开态,值为数组时表示分别控制左右滑动的展开和收起状态。TS 类型:`boolean \| Array` | N | left | Array / Slot | - | 左侧滑动操作项。所有行为同 `right`。TS 类型:`Array` | N -right | Array / Slot | - | 右侧滑动操作项。有两种定义方式,一种是使用数组,二种是使用插槽。`right.text` 表示操作文本,`right.className` 表示操作项类名,`right.style` 表示操作项样式,`right.onClick` 表示点击操作项后执行的回调函数。示例:`[{ text: '删除', icon: 'delete', style: 'background-color: red', onClick: () => {} }]`。TS 类型:`Array` `interface SwipeActionItem {text?: string; icon?: string | object, className?: string; style?: string; onClick?: () => void; [key: string]: any }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/swipe-cell/type.ts) | N +right | Array / Slot | - | 右侧滑动操作项。有两种定义方式,一种是使用数组,二种是使用插槽。`right.text` 表示操作文本,`right.className` 表示操作项类名,`right.style` 表示操作项样式,`right.onClick` 表示点击操作项后执行的回调函数。示例:`[{ text: '删除', icon: 'delete', style: 'background-color: red', onClick: () => {} }]`。TS 类型:`Array` `interface SwipeActionItem {text?: string; icon?: string \| object, className?: string; style?: string; onClick?: () => void; [key: string]: any }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/swipe-cell/type.ts) | N ### SwipeCell Events From 5da469e727a0a8966e6ca5dc40820cb879d2c959 Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 11:11:28 +0800 Subject: [PATCH 02/62] fix(Dialog): fix button style (#1633) --- src/dialog/dialog.less | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/dialog/dialog.less b/src/dialog/dialog.less index 3bd39217e..1cf4b4574 100644 --- a/src/dialog/dialog.less +++ b/src/dialog/dialog.less @@ -91,14 +91,6 @@ } } - &-button { - border-radius: 0 !important; - - &:after { - border-radius: 0; - } - } - &__button { position: relative; flex: 1; @@ -116,6 +108,7 @@ &--text { flex: 1; + --td-button-border-radius: 0; --td-button-medium-height: 112rpx; border-radius: 0; From 0813b233e16b0d0f895373f148a28788a1ac776f Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Wed, 22 Feb 2023 11:18:54 +0800 Subject: [PATCH 03/62] fix(loading): update loading color (#1627) --- src/switch/switch.less | 8 ++++++++ src/switch/switch.wxml | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/switch/switch.less b/src/switch/switch.less index 25a1788eb..e1c9383cf 100644 --- a/src/switch/switch.less +++ b/src/switch/switch.less @@ -69,6 +69,14 @@ color: @switch-label-checked-color; } + &--disabled { + color: @switch-unchecked-disabled-color; + } + + &--checked&--disabled { + color: @switch-checked-disabled-color; + } + &--large { font-size: @swtich-label-large-font-size; } diff --git a/src/switch/switch.wxml b/src/switch/switch.wxml index d4e90d245..2cfc9eced 100644 --- a/src/switch/switch.wxml +++ b/src/switch/switch.wxml @@ -17,9 +17,9 @@ > - + {{checked ? label[1] : label[0]}} Date: Wed, 22 Feb 2023 14:41:20 +0800 Subject: [PATCH 04/62] Refactor/loading remove (#1626) * fix(loading): remove bar and error theme * test(loading): update * test(image-viewer): update snapshot --- .../__test__/__snapshots__/index.test.js.snap | 135 ++++++++---------- .../__test__/__snapshots__/demo.test.js.snap | 19 --- src/loading/__test__/demo.test.js | 2 +- .../__test__/{indx.test.js => index.test.js} | 38 ----- src/loading/_example/base/index.wxss | 3 +- src/loading/_example/error/index.js | 9 -- src/loading/_example/error/index.json | 6 - src/loading/_example/error/index.wxml | 1 - src/loading/_example/error/index.wxss | 0 src/loading/_example/loading.json | 2 - src/loading/_example/loading.wxml | 7 - .../_example/loadingProgress/index.json | 4 - .../_example/loadingProgress/index.less | 0 src/loading/_example/loadingProgress/index.ts | 22 --- .../_example/loadingProgress/index.wxml | 1 - src/loading/loading.less | 28 ---- src/loading/loading.wxml | 78 +++++----- 17 files changed, 95 insertions(+), 260 deletions(-) rename src/loading/__test__/{indx.test.js => index.test.js} (79%) delete mode 100644 src/loading/_example/error/index.js delete mode 100644 src/loading/_example/error/index.json delete mode 100644 src/loading/_example/error/index.wxml delete mode 100644 src/loading/_example/error/index.wxss delete mode 100644 src/loading/_example/loadingProgress/index.json delete mode 100644 src/loading/_example/loadingProgress/index.less delete mode 100644 src/loading/_example/loadingProgress/index.ts delete mode 100644 src/loading/_example/loadingProgress/index.wxml diff --git a/src/image-viewer/__test__/__snapshots__/index.test.js.snap b/src/image-viewer/__test__/__snapshots__/index.test.js.snap index 9f07aa14a..66610fc4f 100644 --- a/src/image-viewer/__test__/__snapshots__/index.test.js.snap +++ b/src/image-viewer/__test__/__snapshots__/index.test.js.snap @@ -17,38 +17,33 @@ exports[`image-viewer :base 1`] = ` tClassText="t-image--loading-text" > - - - - + class="t-loading__dot" + style="animation-duration: 0.8s; animation-delay:0s; animation-play-state: running;" + /> + + @@ -87,38 +82,33 @@ exports[`image-viewer :base 2`] = ` tClassText="t-image--loading-text" > - - - - + class="t-loading__dot" + style="animation-duration: 0.8s; animation-delay:0s; animation-play-state: running;" + /> + + @@ -157,38 +147,33 @@ exports[`image-viewer :base 3`] = ` tClassText="t-image--loading-text" > - - - - + class="t-loading__dot" + style="animation-duration: 0.8s; animation-delay:0s; animation-play-state: running;" + /> + + diff --git a/src/loading/__test__/__snapshots__/demo.test.js.snap b/src/loading/__test__/__snapshots__/demo.test.js.snap index f2d47f834..2f176b80b 100644 --- a/src/loading/__test__/__snapshots__/demo.test.js.snap +++ b/src/loading/__test__/__snapshots__/demo.test.js.snap @@ -48,15 +48,6 @@ exports[`Loading Loading duration demo works fine 1`] = ` `; -exports[`Loading Loading error demo works fine 1`] = ` - - - -`; - exports[`Loading Loading horizontal demo works fine 1`] = ` `; -exports[`Loading Loading loadingProgress demo works fine 1`] = ` - - - -`; - exports[`Loading Loading size demo works fine 1`] = ` { mapper.forEach((demoName) => { diff --git a/src/loading/__test__/indx.test.js b/src/loading/__test__/index.test.js similarity index 79% rename from src/loading/__test__/indx.test.js rename to src/loading/__test__/index.test.js index 229deaa30..dd4bb8a1b 100644 --- a/src/loading/__test__/indx.test.js +++ b/src/loading/__test__/index.test.js @@ -114,42 +114,4 @@ describe('loading', () => { expect(window.getComputedStyle(indicator.dom).width).toBe('20px'); }); }); - - describe('event', () => { - it(`loading :`, async () => { - const handleReload = jest.fn(); - const id = simulate.load({ - template: ` - - `, - data: { - theme: 'circular', - loading: false, - }, - methods: { - handleReload, - }, - usingComponents: { - 't-loading': loading, - }, - }); - - const comp = simulate.render(id); - comp.attach(document.createElement('parent-wrapper')); - - // theme = 'error', 存在 reload 事件 - comp.setData({ theme: 'error' }); - const $refresh = comp.querySelector('.base >>> .t-loading__refresh-btn'); - $refresh.dispatchEvent('tap'); - await simulate.sleep(10); - expect(handleReload).toHaveBeenCalledTimes(1); - - comp.detach(); - }); - }); }); diff --git a/src/loading/_example/base/index.wxss b/src/loading/_example/base/index.wxss index d0cf77d72..e22e585ee 100644 --- a/src/loading/_example/base/index.wxss +++ b/src/loading/_example/base/index.wxss @@ -4,6 +4,5 @@ } .wrapper { - min-width: 20%; - margin-right: 40rpx; + margin-right: 40px; } diff --git a/src/loading/_example/error/index.js b/src/loading/_example/error/index.js deleted file mode 100644 index ae3034c18..000000000 --- a/src/loading/_example/error/index.js +++ /dev/null @@ -1,9 +0,0 @@ -Component({ - methods: { - reloadPage() { - wx.redirectTo({ - url: '/pages/loading/loading', - }); - }, - }, -}); diff --git a/src/loading/_example/error/index.json b/src/loading/_example/error/index.json deleted file mode 100644 index dc12aafa5..000000000 --- a/src/loading/_example/error/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "components": true, - "usingComponents": { - "t-loading": "tdesign-miniprogram/loading/loading" - } -} diff --git a/src/loading/_example/error/index.wxml b/src/loading/_example/error/index.wxml deleted file mode 100644 index efdf8a12a..000000000 --- a/src/loading/_example/error/index.wxml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/loading/_example/error/index.wxss b/src/loading/_example/error/index.wxss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/loading/_example/loading.json b/src/loading/_example/loading.json index 27fedd62c..61274486a 100644 --- a/src/loading/_example/loading.json +++ b/src/loading/_example/loading.json @@ -2,12 +2,10 @@ "navigationBarTitleText": "Loading", "navigationBarBackgroundColor": "#fff", "usingComponents": { - "t-button": "tdesign-miniprogram/button/button", "base": "./base", "horizontal": "./horizontal", "vertical": "./vertical", "text": "./text", - "error": "./error", "status": "./status", "duration": "./duration", "size": "./size" diff --git a/src/loading/_example/loading.wxml b/src/loading/_example/loading.wxml index 5d86d4dc7..093fa9750 100644 --- a/src/loading/_example/loading.wxml +++ b/src/loading/_example/loading.wxml @@ -15,13 +15,6 @@ - - - - - diff --git a/src/loading/_example/loadingProgress/index.json b/src/loading/_example/loadingProgress/index.json deleted file mode 100644 index 16738c730..000000000 --- a/src/loading/_example/loadingProgress/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationBarTitleText": "页面加载样式", - "usingComponents": {} -} diff --git a/src/loading/_example/loadingProgress/index.less b/src/loading/_example/loadingProgress/index.less deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/loading/_example/loadingProgress/index.ts b/src/loading/_example/loadingProgress/index.ts deleted file mode 100644 index cc993fa9e..000000000 --- a/src/loading/_example/loadingProgress/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -Page({ - data: { - progress: 100, - isLoading: false, - barLoadingTimeOut: null, - }, - - onLoad() { - const timeout = setTimeout(() => { - this.setData({ isLoading: false }); - }, 10000); - this.setData({ - progress: -1, - isLoading: true, - barLoadingTimeOut: timeout, - }); - }, - - onUnload() { - clearTimeout(this.data.barLoadingTimeOut); - }, -}); diff --git a/src/loading/_example/loadingProgress/index.wxml b/src/loading/_example/loadingProgress/index.wxml deleted file mode 100644 index 2f3d6c89c..000000000 --- a/src/loading/_example/loadingProgress/index.wxml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/loading/loading.less b/src/loading/loading.less index a7e896eb8..eeb5429c7 100644 --- a/src/loading/loading.less +++ b/src/loading/loading.less @@ -109,34 +109,6 @@ flex-direction: row; vertical-align: top; } - - &__refresh-btn { - margin-left: 16rpx; - color: @loading-color; - } - - &__bar { - height: 6rpx; - width: 80%; - transition: 0.5s; - background-color: @loading-color; - display: none; - - &--static { - display: block; - } - - &--loaded { - opacity: 0; - height: 0; - animation: t-bar-loaded 1s ease-out; - } - - &--animation { - animation: t-bar 8s linear; - display: block; - } - } } @keyframes t-bar { diff --git a/src/loading/loading.wxml b/src/loading/loading.wxml index ed50d16ed..925b4f3a9 100644 --- a/src/loading/loading.wxml +++ b/src/loading/loading.wxml @@ -1,51 +1,39 @@ - - - - - - - - - - - - - 加载失败 - 刷新 - - {{text}} - - - + wx:if="{{indicator}}" + class="{{prefix}}-class-indicator {{classPrefix}}__spinner {{classPrefix}}__spinner--{{ theme }} {{reverse ? 'reverse' : ''}}" + style="width: {{ _.addUnit(size) }}; height: {{ _.addUnit(size) }}; {{inheritColor ? 'color: inherit' : ''}} {{indicator ? '' : 'display:none'}}; {{duration ? 'animation-duration: ' + duration / 1000 + 's;' : ''}} animation-play-state: {{pause ? 'paused' : 'running'}};" + aria-role="{{ariaRole || 'img'}}" + aria-label="{{ ariaLabel || text || '加载中' }}" + > + + + + + + + + + + {{text}} + + From 61d9a43ecb9164458ea05aa16f58161b859cfc02 Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 15:00:09 +0800 Subject: [PATCH 05/62] chore(Cell): adjust className for hover-class (#1635) * chore(Cell): adjust className for hover-class * test: update snapshots --- src/cell/__test__/__snapshots__/index.test.js.snap | 4 ++-- .../__test__/__virtualHostSnapshot__/index.test.js.snap | 4 ++-- src/cell/cell.less | 2 +- src/cell/cell.wxml | 4 ++-- src/collapse/__test__/__snapshots__/index.test.js.snap | 8 ++++---- .../__test__/__virtualHostSnapshot__/index.test.js.snap | 8 ++++---- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/cell/__test__/__snapshots__/index.test.js.snap b/src/cell/__test__/__snapshots__/index.test.js.snap index 6f25cddf5..a9521a796 100644 --- a/src/cell/__test__/__snapshots__/index.test.js.snap +++ b/src/cell/__test__/__snapshots__/index.test.js.snap @@ -8,8 +8,8 @@ exports[`cell :base 1`] = ` Date: Wed, 22 Feb 2023 15:09:58 +0800 Subject: [PATCH 06/62] chore(Picker&&DateTimePicker): remove footer slot (#1631) --- src/date-time-picker/README.md | 2 +- src/date-time-picker/date-time-picker.wxml | 1 - src/date-time-picker/props.ts | 5 ----- src/date-time-picker/type.ts | 8 -------- src/picker/README.md | 2 +- src/picker/picker.wxml | 1 - 6 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/date-time-picker/README.md b/src/date-time-picker/README.md index 95681f6f2..480a77e74 100644 --- a/src/date-time-picker/README.md +++ b/src/date-time-picker/README.md @@ -47,7 +47,7 @@ cancel-btn | String | 取消 | 取消按钮文字 | N confirm-btn | String | - | 确定按钮文字 | N end | String / Number | - | 选择器的最大可选时间,默认为当前时间+10年 | N external-classes | Array | - | 组件类名,分别用于设置组件外层元素、确认按钮、取消按钮、标题等元素类名。`['t-class', 't-class-confirm', 't-class-cancel', 't-class-title']` | N -footer | Slot | true | 底部内容 | N +footer | Slot | true | 已废弃。底部内容 | N format | String | 'YYYY-MM-DD HH:mm:ss' | 用于pick、change、confirm事件参数格式化[详细文档](https://day.js.org/docs/en/display/format) | N header | Boolean / Slot | true | 头部内容。值为 true 显示空白头部,值为 false 不显示任何内容,值类型为 TNode 表示自定义头部内容 | N mode | String / Array | 'date' | year = 年;month = 年月;date = 年月日;hour = 年月日时; minute = 年月日时分;当类型为数组时,第一个值控制年月日,第二个值控制时分秒。TS 类型:`DateTimePickerMode` `type DateTimePickerMode = TimeModeValues \| Array ` `type TimeModeValues = 'year' \| 'month' \| 'date' \| 'hour' \| 'minute' \| 'second'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/date-time-picker/type.ts) | N diff --git a/src/date-time-picker/date-time-picker.wxml b/src/date-time-picker/date-time-picker.wxml index 1dd9cbc09..e0897ec33 100644 --- a/src/date-time-picker/date-time-picker.wxml +++ b/src/date-time-picker/date-time-picker.wxml @@ -23,5 +23,4 @@ options="{{item}}" index="index" /> - diff --git a/src/date-time-picker/props.ts b/src/date-time-picker/props.ts index 944e23eab..f3a206560 100644 --- a/src/date-time-picker/props.ts +++ b/src/date-time-picker/props.ts @@ -24,11 +24,6 @@ const props: TdDateTimePickerProps = { externalClasses: { type: Array, }, - /** 底部内容 */ - footer: { - type: Boolean, - value: true, - }, /** 用于格式化日期,[详细文档](https://day.js.org/docs/en/display/format) */ format: { type: String, diff --git a/src/date-time-picker/type.ts b/src/date-time-picker/type.ts index c5923610c..60f196c35 100644 --- a/src/date-time-picker/type.ts +++ b/src/date-time-picker/type.ts @@ -42,14 +42,6 @@ export interface TdDateTimePickerProps { type: ArrayConstructor; value?: ['t-class', 't-class-confirm', 't-class-cancel', 't-class-title']; }; - /** - * 底部内容 - * @default true - */ - footer?: { - type: BooleanConstructor; - value?: boolean; - }; /** * 用于格式化日期,[详细文档](https://day.js.org/docs/en/display/format) * @default '' diff --git a/src/picker/README.md b/src/picker/README.md index 1ec55d695..5a753debd 100644 --- a/src/picker/README.md +++ b/src/picker/README.md @@ -47,7 +47,7 @@ auto-close | Boolean | true | 自动关闭;在确认、取消、点击遮罩 cancel-btn | String / Boolean / Object | true | 取消按钮文字。TS 类型:`boolean \| string \| ButtonProps` | N columns | Array / Function | [] | 必需。配置每一列的选项。TS 类型:`Array \| ((item: Array) => Array)` `type PickerColumn = PickerColumnItem[]` `interface PickerColumnItem { label: string,value: string}`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/picker/type.ts) | Y confirm-btn | String / Boolean / Object | true | 确定按钮文字。TS 类型:`boolean \| string \| ButtonProps`,[Button API Documents](./button?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/picker/type.ts) | N -footer | Slot | - | 底部内容 | N +footer | Slot | - | 已废弃。底部内容 | N header | Boolean / Slot | true | 头部内容。值为 true 显示空白头部,值为 false 不显示任何内容,值类型为 TNode 表示自定义头部内容 | N render-label | String / Function | - | 自定义label。TS 类型:`(item: PickerColumnItem) => string` | N title | String | '' | 标题 | N diff --git a/src/picker/picker.wxml b/src/picker/picker.wxml index 282ee82aa..86e71d8c3 100644 --- a/src/picker/picker.wxml +++ b/src/picker/picker.wxml @@ -18,6 +18,5 @@ - From bfcf649543d772bce702de0844bb899a3b631526 Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 15:13:09 +0800 Subject: [PATCH 07/62] chore(Radio): align attribute is renamed to placement (#1630) --- src/radio-group/props.ts | 2 +- src/radio-group/radio-group.wxml | 2 +- src/radio-group/type.ts | 2 +- src/radio/README.en-US.md | 4 ++-- src/radio/README.md | 4 ++-- src/radio/__test__/__snapshots__/demo.test.js.snap | 2 +- src/radio/_example/align/index.wxml | 2 +- src/radio/props.ts | 2 +- src/radio/radio.ts | 4 ++-- src/radio/radio.wxml | 6 +++--- src/radio/type.ts | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/radio-group/props.ts b/src/radio-group/props.ts index e12f6431c..58bb4ef22 100644 --- a/src/radio-group/props.ts +++ b/src/radio-group/props.ts @@ -7,7 +7,7 @@ import { TdRadioGroupProps } from './type'; const props: TdRadioGroupProps = { /** 复选框和内容相对位置;仅在使用 options 时生效 */ - align: { + placement: { type: String, value: null, }, diff --git a/src/radio-group/radio-group.wxml b/src/radio-group/radio-group.wxml index dc622f83c..beff6f6dc 100644 --- a/src/radio-group/radio-group.wxml +++ b/src/radio-group/radio-group.wxml @@ -11,7 +11,7 @@ data-index="{{index}}" data-value="{{item.value}}" disabled="{{item.disabled}}" - align="{{align}}" + placement="{{placement}}" icon="{{icon}}" borderless="{{borderless}}" bind:change="handleRadioChange" diff --git a/src/radio-group/type.ts b/src/radio-group/type.ts index 6455b47d8..3f1bc7ccd 100644 --- a/src/radio-group/type.ts +++ b/src/radio-group/type.ts @@ -11,7 +11,7 @@ export interface TdRadioGroupProps { * 复选框和内容相对位置;仅在使用 options 时生效 * @default left */ - align?: { + placement?: { type: StringConstructor; value?: 'left' | 'right'; }; diff --git a/src/radio/README.en-US.md b/src/radio/README.en-US.md index 84b8c3ee8..c3cb732bc 100644 --- a/src/radio/README.en-US.md +++ b/src/radio/README.en-US.md @@ -5,7 +5,7 @@ name | type | default | description | required -- | -- | -- | -- | -- -align | String | left | options:left/right | N +placement | String | left | options:left/right | N allow-uncheck | Boolean | false | \- | N block | Boolean | true | \- | N checked | Boolean | false | \- | N @@ -31,7 +31,7 @@ change | `(checked: boolean)` | \- name | type | default | description | required -- | -- | -- | -- | -- -align | String | left | options:left/right | N +placement | String | left | options:left/right | N borderless | Boolean | false | \- | N disabled | Boolean | undefined | \- | N icon | String / Array | 'circle' | Typescript:`'circle' | 'line' | Array` | N diff --git a/src/radio/README.md b/src/radio/README.md index 17c828281..d267dfbf7 100644 --- a/src/radio/README.md +++ b/src/radio/README.md @@ -52,7 +52,7 @@ isComponent: true 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -align | String | left | 复选框和内容相对位置。可选项:left/right | N +placement | String | left | 复选框和内容相对位置。可选项:left/right | N allow-uncheck | Boolean | false | 【开发中】是否允许取消选中 | N block | Boolean | true | 是否为块级元素 | N checked | Boolean | false | 是否选中 | N @@ -78,7 +78,7 @@ change | `(checked: boolean)` | 值变化时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -align | String | null | 复选框和内容相对位置;仅在使用 options 时生效。可选项:left/right | N +placement | String | null | 复选框和内容相对位置;仅在使用 options 时生效。可选项:left/right | N borderless | Boolean | false | 是否开启无边框模式 | N disabled | Boolean | undefined | 是否禁用全部子单选框 | N icon | String / Array | 'fill-circle' | 自定义选中图标和非选中图标。示例:[选中态图标,非选中态图标]。值为 fill-circle 表示图标为填充型图标,值为 stroke-line 表示图标为描边型图标;仅在使用 options 时生效。TS 类型:`'fill-circle' | 'stroke-line' | Array` | N diff --git a/src/radio/__test__/__snapshots__/demo.test.js.snap b/src/radio/__test__/__snapshots__/demo.test.js.snap index 524dd53d7..77c90df23 100644 --- a/src/radio/__test__/__snapshots__/demo.test.js.snap +++ b/src/radio/__test__/__snapshots__/demo.test.js.snap @@ -11,9 +11,9 @@ exports[`Radio Radio align demo works fine 1`] = ` class="block" /> diff --git a/src/radio/_example/align/index.wxml b/src/radio/_example/align/index.wxml index a62c28a46..eb51f7dd1 100644 --- a/src/radio/_example/align/index.wxml +++ b/src/radio/_example/align/index.wxml @@ -2,4 +2,4 @@ - + diff --git a/src/radio/props.ts b/src/radio/props.ts index ab2ec8e61..486c2d12d 100644 --- a/src/radio/props.ts +++ b/src/radio/props.ts @@ -7,7 +7,7 @@ import { TdRadioProps } from './type'; const props: TdRadioProps = { /** 复选框和内容相对位置 */ - align: { + placement: { type: String, value: 'left', }, diff --git a/src/radio/radio.ts b/src/radio/radio.ts index d7546670e..4051314df 100644 --- a/src/radio/radio.ts +++ b/src/radio/radio.ts @@ -24,8 +24,8 @@ export default class Radio extends SuperComponent { type: 'ancestor', linked(parent) { this.parent = parent; - if (parent.data.align) { - this.setData({ align: parent.data.align }); + if (parent.data.placement) { + this.setData({ placement: parent.data.placement }); } if (parent.data.borderless) { this.setData({ borderless: true }); diff --git a/src/radio/radio.wxml b/src/radio/radio.wxml index c9e6fd356..d1d1f9c1b 100644 --- a/src/radio/radio.wxml +++ b/src/radio/radio.wxml @@ -2,7 +2,7 @@ @@ -56,5 +56,5 @@ - + diff --git a/src/radio/type.ts b/src/radio/type.ts index c98c0c573..d4af04476 100644 --- a/src/radio/type.ts +++ b/src/radio/type.ts @@ -9,7 +9,7 @@ export interface TdRadioProps { * 复选框和内容相对位置 * @default left */ - align?: { + placement?: { type: StringConstructor; value?: 'left' | 'right'; }; From 8f1c4b04e97fff1a550dbd2186cf80f235d6249e Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 15:13:49 +0800 Subject: [PATCH 08/62] chore(Checkbox): align attribute is renamed to placement (#1629) --- src/checkbox/README.en-US.md | 2 +- src/checkbox/README.md | 2 +- src/checkbox/checkbox.wxml | 6 +++--- src/checkbox/props.ts | 2 +- src/checkbox/type.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/checkbox/README.en-US.md b/src/checkbox/README.en-US.md index 6e77d6459..9f7940375 100644 --- a/src/checkbox/README.en-US.md +++ b/src/checkbox/README.en-US.md @@ -5,7 +5,7 @@ name | type | default | description | required -- | -- | -- | -- | -- -align | String | left | options:left/right | N +placement | String | left | options:left/right | N block | Boolean | true | \- | N check-all | Boolean | false | \- | N checked | Boolean | false | \- | N diff --git a/src/checkbox/README.md b/src/checkbox/README.md index f1ff9c659..b56f536d5 100644 --- a/src/checkbox/README.md +++ b/src/checkbox/README.md @@ -64,7 +64,7 @@ isComponent: true 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -align | String | left | 多选框和内容相对位置。可选项:left/right | N +placement | String | left | 多选框和内容相对位置。可选项:left/right | N block | Boolean | true | 是否为块级元素 | N check-all | Boolean | false | 用于标识是否为「全选选项」。单独使用无效,需在 CheckboxGroup 中使用 | N checked | Boolean | false | 是否选中 | N diff --git a/src/checkbox/checkbox.wxml b/src/checkbox/checkbox.wxml index d1bdb7e7a..9feb113dd 100644 --- a/src/checkbox/checkbox.wxml +++ b/src/checkbox/checkbox.wxml @@ -2,7 +2,7 @@ @@ -51,6 +51,6 @@ diff --git a/src/checkbox/props.ts b/src/checkbox/props.ts index e99108aa5..24fa54249 100644 --- a/src/checkbox/props.ts +++ b/src/checkbox/props.ts @@ -7,7 +7,7 @@ import { TdCheckboxProps } from './type'; const props: TdCheckboxProps = { /** 多选框和内容相对位置 */ - align: { + placement: { type: String, value: 'left', }, diff --git a/src/checkbox/type.ts b/src/checkbox/type.ts index e646810ec..247c4f622 100644 --- a/src/checkbox/type.ts +++ b/src/checkbox/type.ts @@ -9,7 +9,7 @@ export interface TdCheckboxProps { * 多选框和内容相对位置 * @default left */ - align?: { + placement?: { type: StringConstructor; value?: 'left' | 'right'; }; From cfddfb3fc136fe7bad2a39f7cfccd6ff55b75566 Mon Sep 17 00:00:00 2001 From: Y Date: Wed, 22 Feb 2023 15:19:12 +0800 Subject: [PATCH 09/62] chore(Search): remove the right-icon and add the clearable attribute (#1628) --- src/search/README.md | 5 +++-- src/search/__test__/__snapshots__/demo.test.js.snap | 1 - .../__virtualHostSnapshot__/demo.test.js.snap | 1 - src/search/__test__/index.test.js | 10 +++------- src/search/_example/action/index.wxml | 1 - src/search/props.ts | 5 +++++ src/search/search.less | 6 +++--- src/search/search.ts | 2 +- src/search/search.wxml | 13 +++---------- src/search/type.ts | 8 ++++++++ 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/search/README.md b/src/search/README.md index a58cef2bd..8517271cf 100644 --- a/src/search/README.md +++ b/src/search/README.md @@ -48,12 +48,13 @@ isComponent: true action | String / Slot | '' | 自定义右侧操作按钮文字 | N center | Boolean | false | 是否居中 | N disabled | Boolean | false | 是否禁用 | N -external-classes | Array | - | 组件外部样式类名,分别用于设置组件外层类名、输入框类名、输入框容器类名、右侧 cancel 文本类名、左侧图标类名、右侧图标类型。`['t-class', 't-class-input', 't-class-input-container', 't-class-action','t-class-left','t-class-right']` | N +external-classes | Array | - | 组件外部样式类名,分别用于设置组件外层类名、输入框类名、输入框容器类名、右侧 cancel 文本类名、左侧图标类名、右侧图标类型。`['t-class', 't-class-input', 't-class-input-container', 't-class-action','t-class-left','t-class-clear']` | N focus | Boolean | false | 是否聚焦 | N label | String | '' | 已废弃。左侧文本 | N left-icon | String / Slot | 'search' | 左侧图标 | N placeholder | String | '' | 占位符 | N -right-icon | String / Slot | 'close-circle-filled' | 右侧图标 | N +right-icon | String / Slot | 'close-circle-filled' | 已废弃。右侧图标 | N +clearable | Boolean | true | 是否启用清除控件 | N shape | String | 'square' | 搜索框形状。可选项:square/round | N value | String | '' | 值 | N diff --git a/src/search/__test__/__snapshots__/demo.test.js.snap b/src/search/__test__/__snapshots__/demo.test.js.snap index 1e88a562f..01b84450c 100644 --- a/src/search/__test__/__snapshots__/demo.test.js.snap +++ b/src/search/__test__/__snapshots__/demo.test.js.snap @@ -13,7 +13,6 @@ exports[`Search Search action demo works fine 1`] = ` bind:action-click="actionHandle" bind:blur="blurHandle" bind:change="changeHandle" - bind:clear="clearHandle" bind:focus="focusHandle" /> diff --git a/src/search/__test__/__virtualHostSnapshot__/demo.test.js.snap b/src/search/__test__/__virtualHostSnapshot__/demo.test.js.snap index 1e88a562f..01b84450c 100644 --- a/src/search/__test__/__virtualHostSnapshot__/demo.test.js.snap +++ b/src/search/__test__/__virtualHostSnapshot__/demo.test.js.snap @@ -13,7 +13,6 @@ exports[`Search Search action demo works fine 1`] = ` bind:action-click="actionHandle" bind:blur="blurHandle" bind:change="changeHandle" - bind:clear="clearHandle" bind:focus="focusHandle" /> diff --git a/src/search/__test__/index.test.js b/src/search/__test__/index.test.js index 62ca5ec6b..76f109c48 100644 --- a/src/search/__test__/index.test.js +++ b/src/search/__test__/index.test.js @@ -120,15 +120,14 @@ describe('search', () => { ).toBeTruthy(); }); - it(':left-icon & right-icon', () => { + it(':left-icon', () => { const id = simulate.load({ - template: ``, + template: ``, usingComponents: { 't-search': search, }, data: { leftIcon: 'add-circle', - rightIcon: 'caret-right', value: 'test', }, }); @@ -137,9 +136,6 @@ describe('search', () => { const $leftIcon = comp.querySelector('.search >>> .t-icon-add-circle'); expect($leftIcon).toBeDefined(); - - const $rightIcon = comp.querySelector('.search >>> .t-icon-caret-right'); - expect($rightIcon).toBeDefined(); }); it(':shape', () => { @@ -210,7 +206,7 @@ describe('search', () => { const comp = simulate.render(id); comp.attach(document.createElement('parent-wrapper')); - const $clear = comp.querySelector('.search >>> .t-search__right'); + const $clear = comp.querySelector('.search >>> .t-search__clear'); $clear.dispatchEvent('tap'); await simulate.sleep(20); expect(onClear).toHaveBeenCalledTimes(1); diff --git a/src/search/_example/action/index.wxml b/src/search/_example/action/index.wxml index 443ed59e9..12cb35e82 100644 --- a/src/search/_example/action/index.wxml +++ b/src/search/_example/action/index.wxml @@ -6,7 +6,6 @@ action="{{actionText}}" bind:blur="blurHandle" bind:focus="focusHandle" - bind:clear="clearHandle" bind:action-click="actionHandle" bind:change="changeHandle" /> diff --git a/src/search/props.ts b/src/search/props.ts index 5c679d440..62c72c8c4 100644 --- a/src/search/props.ts +++ b/src/search/props.ts @@ -60,6 +60,11 @@ const props: TdSearchProps = { type: String, value: '', }, + /** 是否启用清除控件 */ + clearable: { + type: Boolean, + value: true, + }, }; export default props; diff --git a/src/search/search.less b/src/search/search.less index b355c6b06..a06f9be03 100644 --- a/src/search/search.less +++ b/src/search/search.less @@ -11,7 +11,7 @@ @search-square-radius: var(--td-search-square-radius, @radius-default); @search-round-radius: calc(@search-height / 2); @search-action-color: var(--td-search-action-color, @brand-color); -@search-right-icon-color: var(--td-search-right-icon-color, @font-gray-3); +@search-clear-icon-color: var(--td-search-clear-icon-color, @font-gray-3); .@{prefix}-search { display: flex; @@ -62,10 +62,10 @@ } } - &__right { + &__clear { position: relative; margin-left: 10px; - color: @search-right-icon-color; + color: @search-clear-icon-color; .hotspot-expanded(); } diff --git a/src/search/search.ts b/src/search/search.ts index 9b55bcc24..9e6a820d2 100644 --- a/src/search/search.ts +++ b/src/search/search.ts @@ -13,7 +13,7 @@ export default class Search extends SuperComponent { `${prefix}-class-input`, `${prefix}-class-action`, `${prefix}-class-left`, - `${prefix}-class-right`, + `${prefix}-class-clear`, ]; options = { diff --git a/src/search/search.wxml b/src/search/search.wxml index 9eda6baf9..92156d5f4 100644 --- a/src/search/search.wxml +++ b/src/search/search.wxml @@ -30,20 +30,13 @@ bind:confirm="onConfirm" /> - - + Date: Wed, 22 Feb 2023 15:20:18 +0800 Subject: [PATCH 10/62] feat(button): support suffix slot (#1624) * feat(button): support suffix slot * test(button): update snapshot --- src/button/README.en-US.md | 6 +++--- src/button/README.md | 3 ++- src/button/__test__/__snapshots__/demo.test.js.snap | 12 ++++++------ src/button/_example/icon-btn/index.wxml | 2 +- src/button/_example/shape/index.wxml | 4 ++-- src/button/button.wxml | 3 ++- src/button/props.ts | 2 +- src/button/type.ts | 10 +--------- 8 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/button/README.en-US.md b/src/button/README.en-US.md index e05af2262..ee2b1d7e5 100644 --- a/src/button/README.en-US.md +++ b/src/button/README.en-US.md @@ -11,12 +11,12 @@ custom-dataset | Object | - | Typescript:`any` | N disabled | Boolean | false | disable the button, make it can not be clicked | N external-classes | Array | - | `['t-class', 't-class-icon', 't-class-loading']` | N ghost | Boolean | false | make background-color to be transparent | N -icon | String | - | icon name | N -icon-props | Object | {} | icon properties | N +icon | String / Object | - | icon name | N loading | Boolean | false | set button to be loading state | N loading-props | Object | - | Typescript:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N shape | String | rectangle | button shape。options:rectangle/square/round/circle | N size | String | medium | a button has three size。options:small/medium/large。Typescript:`SizeEnum` | N +suffix | Slot | - | \- | N theme | String | default | button theme。options:default/primary/danger | N type | String | - | type of button element, same as formType of Miniprogram。options:submit/reset | N variant | String | base | button variant。options:base/outline/text | N @@ -43,4 +43,4 @@ bindchooseavatar | Eventhandle | - | \- | N name | params | description -- | -- | -- -tap | `event` | \- +tap | `(e: MouseEvent)` | trigger on click diff --git a/src/button/README.md b/src/button/README.md index f99fbb4e3..f318844e7 100644 --- a/src/button/README.md +++ b/src/button/README.md @@ -73,9 +73,10 @@ external-classes | Array | - | 组件类名。`['t-class', 't-class-icon', 't-cl ghost | Boolean | false | 是否为幽灵按钮(镂空按钮) | N icon | String / Object | - | 图标名称。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon`。 | N loading | Boolean | false | 是否显示为加载状态 | N -loading-props | Object | - | 加载loading样式。TS 类型:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N +loading-props | Object | - | 透传至 Loading 组件。TS 类型:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N shape | String | rectangle | 按钮形状,有 4 种:长方形、正方形、圆角长方形、圆形。可选项:rectangle/square/round/circle | N size | String | medium | 组件尺寸。可选项:extra-small/small/medium/large。TS 类型:`SizeEnum` | N +suffix | Slot | - | 右侧内容,可用于定义右侧图标 | N theme | String | default | 组件风格,依次为品牌色、危险色。可选项:default/primary/danger/light | N type | String | - | 同小程序的 formType。可选项:submit/reset | N variant | String | base | 按钮形式,基础、线框、文字。可选项:base/outline/dashed/text | N diff --git a/src/button/__test__/__snapshots__/demo.test.js.snap b/src/button/__test__/__snapshots__/demo.test.js.snap index caeac6dbb..09d357f55 100644 --- a/src/button/__test__/__snapshots__/demo.test.js.snap +++ b/src/button/__test__/__snapshots__/demo.test.js.snap @@ -182,9 +182,9 @@ exports[`Button Button icon-btn demo works fine 1`] = ` 加载中 加载中 - + diff --git a/src/button/_example/shape/index.wxml b/src/button/_example/shape/index.wxml index 3d2f76866..c799ec0bd 100644 --- a/src/button/_example/shape/index.wxml +++ b/src/button/_example/shape/index.wxml @@ -1,8 +1,8 @@ 填充按钮 - + 填充按钮 - + 填充按钮 diff --git a/src/button/button.wxml b/src/button/button.wxml index 1e57bb661..b2389852a 100644 --- a/src/button/button.wxml +++ b/src/button/button.wxml @@ -49,10 +49,11 @@ loading t-class="{{classPrefix}}__loading {{classPrefix}}__loading--wrapper" t-class-indicator="{{classPrefix}}__loading--indicator {{prefix}}-class-loading" - > + /> {{content}} + diff --git a/src/button/props.ts b/src/button/props.ts index 0115fc96c..a08db5891 100644 --- a/src/button/props.ts +++ b/src/button/props.ts @@ -42,7 +42,7 @@ const props: TdButtonProps = { type: Boolean, value: false, }, - /** 加载loading样式 */ + /** 透传至 Loading 组件 */ loadingProps: { type: Object, }, diff --git a/src/button/type.ts b/src/button/type.ts index 8c5e87603..4069e1656 100644 --- a/src/button/type.ts +++ b/src/button/type.ts @@ -30,14 +30,6 @@ export interface TdButtonProps { type: ObjectConstructor; value?: any; }; - /** - * 自定义组件样式 - * @default '' - */ - style?: { - type: StringConstructor; - value?: string; - }; /** * 禁用状态 * @default false @@ -77,7 +69,7 @@ export interface TdButtonProps { value?: boolean; }; /** - * 加载loading样式 + * 透传至 Loading 组件 */ loadingProps?: { type: ObjectConstructor; From 062ef4316556e99daad479048a1f90f9be4dd6b0 Mon Sep 17 00:00:00 2001 From: Y Date: Thu, 23 Feb 2023 12:44:57 +0800 Subject: [PATCH 11/62] chore(Avatar): remove bordered attribute (#1632) * chore(Avatar): remove bordered attribute * fix: fix cr --- src/avatar-group/props.ts | 2 +- src/avatar/README.md | 4 ++-- .../__test__/__snapshots__/demo.test.js.snap | 14 +------------ .../__test__/__snapshots__/index.test.js.snap | 2 +- .../__virtualHostSnapshot__/demo.test.js.snap | 14 +------------ .../index.test.js.snap | 2 +- src/avatar/_example/action/index.wxml | 4 ++-- src/avatar/_example/exhibition/index.wxml | 4 ++-- src/avatar/avatar.less | 21 ------------------- src/avatar/avatar.wxml | 2 +- src/avatar/avatar.wxs | 4 +--- 11 files changed, 13 insertions(+), 60 deletions(-) diff --git a/src/avatar-group/props.ts b/src/avatar-group/props.ts index 319e30e35..598ebd22f 100644 --- a/src/avatar-group/props.ts +++ b/src/avatar-group/props.ts @@ -9,7 +9,7 @@ const props: TdAvatarGroupProps = { /** 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上 */ cascading: { type: String, - value: 'right-up', + value: 'left-up', }, /** 头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多` */ collapseAvatar: { diff --git a/src/avatar/README.md b/src/avatar/README.md index 4092efffc..d083ac64e 100644 --- a/src/avatar/README.md +++ b/src/avatar/README.md @@ -61,7 +61,7 @@ isComponent: true -- | -- | -- | -- | -- alt | String | - | 头像替换文本,仅当图片加载失败时有效 | N badge-props | Object | - | 头像右上角提示信息,继承 Badge 组件的全部特性。如:小红点,或者数字。TS 类型:`BadgeProps`,[Badge API Documents](./badge?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar/type.ts) | N -bordered | Boolean | false | 是否显示外边框 | N +bordered | Boolean | false | 已废弃。是否显示外边框 | N external-classes | Array | - | 组件类名,用于设置组件外层元素类名。`['t-class', 't-class-image', 't-class-icon', 't-class-alt', 't-class-content']` | N hide-on-load-failed | Boolean | false | 加载失败时隐藏图片 | N icon | String / Object | - | 图标。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon`。 | N @@ -80,7 +80,7 @@ error | \- | 图片加载失败时触发 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -cascading | String | 'right-up' | 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上。可选项:left-up/right-up。TS 类型:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar-group/type.ts) | N +cascading | String | 'left-up' | 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上。可选项:left-up/right-up。TS 类型:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/avatar-group/type.ts) | N collapse-avatar | String / Slot | - | 头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多` | N external-classes | Array | - | 组件类名,用于设置组件外层元素类名。`['t-class', 't-class-image', 't-class-content']` | N max | Number | - | 能够同时显示的最多头像数量 | N diff --git a/src/avatar/__test__/__snapshots__/demo.test.js.snap b/src/avatar/__test__/__snapshots__/demo.test.js.snap index 789d390bf..fa3684f29 100644 --- a/src/avatar/__test__/__snapshots__/demo.test.js.snap +++ b/src/avatar/__test__/__snapshots__/demo.test.js.snap @@ -3,30 +3,25 @@ exports[`Avatar Avatar action demo works fine 1`] = ` @@ -101,32 +96,25 @@ exports[`Avatar Avatar character-avatar demo works fine 1`] = ` exports[`Avatar Avatar exhibition demo works fine 1`] = ` diff --git a/src/avatar/__test__/__snapshots__/index.test.js.snap b/src/avatar/__test__/__snapshots__/index.test.js.snap index c581813b4..1807438ac 100644 --- a/src/avatar/__test__/__snapshots__/index.test.js.snap +++ b/src/avatar/__test__/__snapshots__/index.test.js.snap @@ -30,7 +30,7 @@ exports[`Avatar & Avatar Groups Avatar Props : style && customStyle 1`] = ` ariaHidden="{{false}}" ariaLabel="头像" ariaRole="img" - class="t-avatar t-avatar--circle t-avatar--medium t-class-image" + class="t-avatar t-avatar--circle t-avatar--medium t-class-image" style="" > @@ -101,32 +96,25 @@ exports[`Avatar Avatar character-avatar demo works fine 1`] = ` exports[`Avatar Avatar exhibition demo works fine 1`] = ` diff --git a/src/avatar/__test__/__virtualHostSnapshot__/index.test.js.snap b/src/avatar/__test__/__virtualHostSnapshot__/index.test.js.snap index c292c83f6..4d57821ab 100644 --- a/src/avatar/__test__/__virtualHostSnapshot__/index.test.js.snap +++ b/src/avatar/__test__/__virtualHostSnapshot__/index.test.js.snap @@ -30,7 +30,7 @@ exports[`Avatar & Avatar Groups Avatar Props : style && customStyle 1`] = ` ariaHidden="{{false}}" ariaLabel="头像" ariaRole="img" - class="t-avatar t-avatar--circle t-avatar--medium t-class-image" + class="t-avatar t-avatar--circle t-avatar--medium t-class-image" style="" > - + + diff --git a/src/avatar/_example/exhibition/index.wxml b/src/avatar/_example/exhibition/index.wxml index 9724d19c9..aae96784f 100644 --- a/src/avatar/_example/exhibition/index.wxml +++ b/src/avatar/_example/exhibition/index.wxml @@ -1,3 +1,3 @@ - - + + diff --git a/src/avatar/avatar.less b/src/avatar/avatar.less index 379f7e1b0..091f218aa 100644 --- a/src/avatar/avatar.less +++ b/src/avatar/avatar.less @@ -14,10 +14,6 @@ @avatar-icon-medium-font-size: var(--td-avatar-icon-medium-font-size, 48rpx); @avatar-icon-large-font-size: var(--td-avatar-icon-large-font-size, 64rpx); -@avatar-border-width-small: var(--td-avatar-border-width-small, 4rpx); -@avatar-border-width-medium: var(--td-avatar-border-width-medium, 6rpx); -@avatar-border-width-large: var(--td-avatar-border-width-large, 8rpx); -@avatar-border-color: var(--td-avatar-border-color, #fff); @avatar-circle-border-radius: var(--td-avatar-circle-border-radius, @radius-circle); @avatar-round-border-radius: var(--td-avatar-round-border-radius, @radius-default); @@ -96,21 +92,4 @@ height: 0; } } - - //头像边框 - &--border { - border-color: @avatar-border-color; - border-style: solid; - &-small { - border-width: @avatar-border-width-small; - } - - &-medium { - border-width: @avatar-border-width-medium; - } - - &-large { - border-width: @avatar-border-width-large; - } - } } diff --git a/src/avatar/avatar.wxml b/src/avatar/avatar.wxml index e908f5ad3..7a6e333da 100644 --- a/src/avatar/avatar.wxml +++ b/src/avatar/avatar.wxml @@ -21,7 +21,7 @@ t-class-count="{{badgeProps.tClassCount}}" > -1; - var borderSize = hasPx ? 'medium' : size; var classNames = [ classPrefix, classPrefix + (shape === 'round' ? '--round' : '--circle'), - bordered ? classPrefix + '--border' + ' ' + classPrefix + '--border-' + borderSize : '', hasPx ? '' : classPrefix + '--' + size, ]; return classNames.join(' '); From 221aba860a8a471a3ccc051e2ff9b9160c78c068 Mon Sep 17 00:00:00 2001 From: Y Date: Thu, 23 Feb 2023 12:47:05 +0800 Subject: [PATCH 12/62] chore(Message): remove action and add the link attribute (#1637) * chore(Message): remove action and add the link attribute * fix: fix cr --- src/link/link.wxml | 1 + src/message/README.en-US.md | 3 ++- src/message/README.md | 12 ++++----- .../__test__/__snapshots__/index.test.js.snap | 2 +- .../index.test.js.snap | 2 +- src/message/_example/base/index.js | 7 ++++- src/message/message.json | 2 +- src/message/message.less | 15 +++-------- src/message/message.ts | 24 +++++++++++++---- src/message/message.wxml | 27 +++++++++++-------- src/message/props.ts | 4 +++ src/message/type.ts | 7 +++++ 12 files changed, 68 insertions(+), 38 deletions(-) diff --git a/src/link/link.wxml b/src/link/link.wxml index d84061346..fb8015232 100644 --- a/src/link/link.wxml +++ b/src/link/link.wxml @@ -33,6 +33,7 @@ {{content}} + diff --git a/src/message/README.en-US.md b/src/message/README.en-US.md index 2b9197a3a..dd3225a21 100644 --- a/src/message/README.en-US.md +++ b/src/message/README.en-US.md @@ -10,7 +10,7 @@ align | String | left | options:left/center。Typescript:`MessageAlignType` close-btn | String / Boolean / Object / Slot | false | \- | N content | String / Slot | - | \- | N duration | Number | 3000 | \- | N -external-classes | Array | - | `['t-class', 't-class-content', 't-class-icon', 't-class-action', 't-class-close-btn']` | N +external-classes | Array | - | `['t-class', 't-class-content', 't-class-icon', 't-class-link', 't-class-close-btn']` | N icon | String / Boolean / Object/ Slot | true | Typescript:`boolean \| 'info' \| 'bell'` | N marquee | Boolean / Object | false | Typescript:`boolean \| DrawMarquee` `interface DrawMarquee { speed?: number; loop?: number; delay?: number }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/message/type.ts) | N offset | Array | - | Typescript:`Array` | N @@ -26,3 +26,4 @@ name | params | description action-btn-click | - | \- close-btn-click | - | \- duration-end | \- | \- +link-click | \- | \- diff --git a/src/message/README.md b/src/message/README.md index bcaf18211..4660f7a56 100644 --- a/src/message/README.md +++ b/src/message/README.md @@ -45,25 +45,25 @@ import Message from 'tdesign-miniprogram/message/index'; 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- -action | String / Slot | - | 操作 | N +action | String / Slot | - | 已废弃。操作 | N align | String | left | 文本对齐方式。可选项:left/center。TS 类型:`MessageAlignType` `type MessageAlignType = 'left' \| 'center'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/message/type.ts) | N close-btn | String / Boolean / Object / Slot | false | 关闭按钮,可以自定义。值为 true 显示默认关闭按钮,值为 false 不显示关闭按钮。值类型为 string ,如:'user',则显示组件内置图标。值类型为 object ,则会透传至 icon 组件。| N content | String / Slot | - | 用于自定义消息弹出内容 | N duration | Number | 3000 | 消息内置计时器,计时到达时会触发 duration-end 事件。单位:毫秒。值为 0 则表示没有计时器。 | N -external-classes | Array | - | 样式类名,分别用于设置 组件外层、消息内容、左侧图标、操作按钮、关闭按钮等元素类名。`['t-class', 't-class-content', 't-class-icon', 't-class-action', 't-class-close-btn']` | N +external-classes | Array | - | 样式类名,分别用于设置 组件外层、消息内容、左侧图标、操作按钮、关闭按钮等元素类名。`['t-class', 't-class-content', 't-class-icon', 't-class-link', 't-class-close-btn']` | N icon | String / Boolean / Object / Slot | true | 消息提醒前面的图标,可以自定义。值为 true 则根据 theme 显示对应的图标,值为 false 则不显示图标。值为 true 显示默认关闭按钮,值为 false 不显示关闭按钮。值类型为 string ,如:'info',则显示组件内置图标。值类型为 object ,则会透传至 icon 组件。| N -marquee | Boolean / Object | false | 跑马灯效果。speed 指速度控制;loop 指循环播放次数,值为 -1 表示循环播放,值为 0 表示不循环播放;delay 表示延迟多久开始播放。TS 类型:`boolean \| DrawMarquee` `interface DrawMarquee { speed?: number; loop?: number -; delay?: number }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/message/type.ts) | N +marquee | Boolean / Object | false | 跑马灯效果。speed 指速度控制;loop 指循环播放次数,值为 -1 表示循环播放,值为 0 表示不循环播放;delay 表示延迟多久开始播放。TS 类型:`boolean \| DrawMarquee` `interface DrawMarquee { speed?: number; loop?: number; delay?: number }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/message/type.ts) | N offset | Array | - | 相对于 placement 的偏移量,默认单位 rpx。示例:[-10, 20] 或 ['10rpx', '8rpx']。TS 类型:`Array` | N theme | String | info | 消息组件风格。可选项:info/success/warning/error。TS 类型:`MessageThemeList` `type MessageThemeList = 'info' \| 'success' \| 'warning' \| 'error'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/message/type.ts) | N visible | Boolean | false | 是否显示,隐藏时默认销毁组件 | N default-visible | Boolean | false | 是否显示,隐藏时默认销毁组件。非受控属性 | N z-index | Number | 15000 | 元素层级,样式默认为 15000 | N - +link | String / Object / Slot | - | 链接名称。值为字符串表示链接名称,值为 `Object` 类型,表示透传至 `Link`。 | N ### Message Events 名称 | 参数 | 描述 -- | -- | -- -action-btn-click | - | 当操作按钮存在时,用户点击操作按钮时触发 +action-btn-click | - | 已废弃。当操作按钮存在时,用户点击操作按钮时触发 close-btn-click | - | 当关闭按钮存在时,用户点击关闭按钮触发 duration-end | \- | 计时结束后触发 +link-click | - | 当`link`链接存在时,点击链接文本时触发 diff --git a/src/message/__test__/__snapshots__/index.test.js.snap b/src/message/__test__/__snapshots__/index.test.js.snap index 42453af0f..67aa8f6c8 100644 --- a/src/message/__test__/__snapshots__/index.test.js.snap +++ b/src/message/__test__/__snapshots__/index.test.js.snap @@ -52,7 +52,7 @@ exports[`message props : style && customStyle 1`] = ` bind:tap="onTap" > diff --git a/src/message/__test__/__virtualHostSnapshot__/index.test.js.snap b/src/message/__test__/__virtualHostSnapshot__/index.test.js.snap index 42453af0f..67aa8f6c8 100644 --- a/src/message/__test__/__virtualHostSnapshot__/index.test.js.snap +++ b/src/message/__test__/__virtualHostSnapshot__/index.test.js.snap @@ -52,7 +52,7 @@ exports[`message props : style && customStyle 1`] = ` bind:tap="onTap" > diff --git a/src/message/_example/base/index.js b/src/message/_example/base/index.js index 9157dbd9a..28168f484 100644 --- a/src/message/_example/base/index.js +++ b/src/message/_example/base/index.js @@ -50,7 +50,12 @@ Component({ icon: 'notification-filled', content: '这是一条带操作的消息通知', duration: -1, - action: '按钮', + link: { + content: '链接', + navigatorProps: { + url: '/page/xxx/xxx', + }, + }, }); }, }, diff --git a/src/message/message.json b/src/message/message.json index ef9e100f2..75c11ffa3 100644 --- a/src/message/message.json +++ b/src/message/message.json @@ -2,6 +2,6 @@ "component": true, "usingComponents": { "t-icon": "../icon/icon", - "t-button": "../button/button" + "t-link": "../link/link" } } diff --git a/src/message/message.less b/src/message/message.less index 9cb4186f1..319431223 100644 --- a/src/message/message.less +++ b/src/message/message.less @@ -1,7 +1,7 @@ @import '../common/style/index.less'; +@message-height: 96rpx; @message-horizontal-padding: 32rpx; -@message-vertical-padding: 24rpx; @message-z-index: 15000; @message-align: flex-start; @@ -28,9 +28,10 @@ right: 0; display: flex; justify-content: @message-align; + height: @message-height; align-items: center; z-index: @message-z-index; - padding: @message-vertical-padding @message-horizontal-padding; + padding: 0 @message-horizontal-padding; box-sizing: border-box; border-radius: @message-border-radius; line-height: 1; @@ -85,16 +86,8 @@ } &__icon--right:not(:empty), - .@{message}__btn--right { + &__link { flex: 0 0 auto; margin-left: @spacer; } - - .@{message}__btn--right { - font-size: @message-content-font-size; - line-height: @message-content-height; - height: @message-content-height; - border-radius: @message-border-radius; - padding: 0; - } } diff --git a/src/message/message.ts b/src/message/message.ts index a1dc2edec..5d2236f08 100644 --- a/src/message/message.ts +++ b/src/message/message.ts @@ -2,13 +2,22 @@ import { SuperComponent, wxComponent, ComponentsOptionsType } from '../common/sr import config from '../common/config'; import { MessageProps } from './message.interface'; import props from './props'; -import { getRect, unitConvert, calcIcon } from '../common/utils'; +import { getRect, unitConvert, calcIcon, isObject } from '../common/utils'; const { prefix } = config; const name = `${prefix}-message`; // 展示动画持续时间 const SHOW_DURATION = 500; + +// 主题图标 +const THEME_ICON = { + info: 'info-circle-filled', + success: 'check-circle-filled', + warning: 'info-circle-filled', + error: 'error-circle-filled', +}; + @wxComponent() export default class Message extends SuperComponent { externalClasses = [ @@ -50,12 +59,17 @@ export default class Message extends SuperComponent { } }, - icon(v) { + 'icon, theme'(icon, theme) { this.setData({ - _icon: calcIcon(v, 'error-circle-filled'), + _icon: calcIcon(icon, THEME_ICON[theme]), }); }, + link(v) { + const _link = isObject(v) ? { ...v } : { content: v }; + this.setData({ _link }); + }, + closeBtn(v) { this.setData({ _closeBtn: calcIcon(v, 'close'), @@ -206,7 +220,7 @@ export default class Message extends SuperComponent { this.triggerEvent('close-btn-click'); } - handleBtnClick() { - this.triggerEvent('action-btn-click', { self: this }); + handleLinkClick() { + this.triggerEvent('link-click'); } } diff --git a/src/message/message.wxml b/src/message/message.wxml index d9bb27c84..1e508c99d 100644 --- a/src/message/message.wxml +++ b/src/message/message.wxml @@ -24,19 +24,24 @@ {{content}} + - - {{action}} - + + diff --git a/src/message/props.ts b/src/message/props.ts index 445d7b85a..98bd1411c 100644 --- a/src/message/props.ts +++ b/src/message/props.ts @@ -67,6 +67,10 @@ const props: TdMessageProps = { type: Number, value: 15000, }, + /** 链接名称。值为字符串表示链接名称,值为 `Object` 类型,表示透传至 `Link`。 */ + link: { + type: null, + }, }; export default props; diff --git a/src/message/type.ts b/src/message/type.ts index cfd5053ba..b5437d6b5 100644 --- a/src/message/type.ts +++ b/src/message/type.ts @@ -113,6 +113,13 @@ export interface TdMessageProps { type: NumberConstructor; value?: number; }; + /** + * 链接名称。值为字符串表示链接名称,值为 `Object` 类型,表示透传至 `Link`。 + */ + link?: { + type: null; + value?: string | object; + }; } export type MessageAlignType = 'left' | 'center'; From ff779311369da4facebe1bf7c7271715f01f11a4 Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Thu, 23 Feb 2023 12:51:19 +0800 Subject: [PATCH 13/62] fix(navbar): resolve capsule event currectly (#1641) --- .../__test__/__snapshots__/demo.test.js.snap | 2 ++ src/navbar/_example/back-home/index.js | 5 ++++- src/navbar/_example/back-home/index.wxml | 18 ++++++++++++++++-- src/navbar/navbar.less | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/navbar/__test__/__snapshots__/demo.test.js.snap b/src/navbar/__test__/__snapshots__/demo.test.js.snap index f2e32dc4b..44e88ff13 100644 --- a/src/navbar/__test__/__snapshots__/demo.test.js.snap +++ b/src/navbar/__test__/__snapshots__/demo.test.js.snap @@ -15,6 +15,7 @@ exports[`Navbar Navbar back-home demo works fine 1`] = ` class="custom-capsule__icon" name="chevron-left" size="20" + bind:tap="onBack" /> diff --git a/src/navbar/_example/back-home/index.js b/src/navbar/_example/back-home/index.js index 95889b68a..c5bac4f95 100644 --- a/src/navbar/_example/back-home/index.js +++ b/src/navbar/_example/back-home/index.js @@ -1,7 +1,10 @@ Component({ methods: { + onBack() { + wx.navigateBack(); + }, onGoHome() { - wx.navigateTo({ + wx.reLaunch({ url: '/pages/home/home', }); }, diff --git a/src/navbar/_example/back-home/index.wxml b/src/navbar/_example/back-home/index.wxml index 639f89dd9..4d52c70b6 100644 --- a/src/navbar/_example/back-home/index.wxml +++ b/src/navbar/_example/back-home/index.wxml @@ -1,6 +1,20 @@ - - + + diff --git a/src/navbar/navbar.less b/src/navbar/navbar.less index 41836d75e..30176d247 100644 --- a/src/navbar/navbar.less +++ b/src/navbar/navbar.less @@ -93,7 +93,7 @@ display: flex; align-items: center; - &::after { + &::before { content: ''; position: absolute; top: 0; From c787a51d8757992a2b6845357a771cd053d35fd9 Mon Sep 17 00:00:00 2001 From: Y Date: Thu, 23 Feb 2023 12:52:37 +0800 Subject: [PATCH 14/62] chore(Footer): copyright attribute is renamed to text (#1642) * chore(Footer): copyright attribute is renamed to text * chore(CountDown): remove theme attribute --- src/footer/README.en-US.md | 5 ++--- src/footer/README.md | 9 ++++---- .../__test__/__snapshots__/demo.test.js.snap | 15 +++++-------- .../__test__/__snapshots__/index.test.js.snap | 2 +- .../__virtualHostSnapshot__/demo.test.js.snap | 15 +++++-------- .../index.test.js.snap | 2 +- src/footer/_example/base/index.js | 2 +- src/footer/_example/base/index.wxml | 2 +- src/footer/_example/link/index.js | 4 ++-- src/footer/_example/link/index.wxml | 4 ++-- src/footer/_example/logo/index.wxml | 4 ++-- src/footer/footer.less | 22 +++++++++++-------- src/footer/footer.wxml | 14 ++++++------ src/footer/props.ts | 9 ++------ src/footer/type.ts | 20 ++--------------- 15 files changed, 50 insertions(+), 79 deletions(-) diff --git a/src/footer/README.en-US.md b/src/footer/README.en-US.md index 5b1d31751..dc05b80d4 100644 --- a/src/footer/README.en-US.md +++ b/src/footer/README.en-US.md @@ -5,7 +5,6 @@ name | type | default | description | required -- | -- | -- | -- | -- -copyright | String | '' | \- | N +text | String | '' | \- | N logo | Object | - | Typescript:`FooterLogo` `interface FooterLogo { icon: string; title?: string; titleUrl?: string }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N -text-link-list | Array | [] | Typescript:`Array` `interface LinkObj { name: string; url?: string; openType?: 'navigate' \| 'redirect' \| 'relaunch' \| 'switchTab' \| 'navigateBack' }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N -theme | String | 'text' | options:text/logo | N +links | Array | [] | Typescript:`Array` `interface LinkObj { name: string; url?: string; openType?: 'navigate' \| 'redirect' \| 'relaunch' \| 'switchTab' \| 'navigateBack' }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N diff --git a/src/footer/README.md b/src/footer/README.md index 42da331f8..f2a8e53de 100644 --- a/src/footer/README.md +++ b/src/footer/README.md @@ -39,8 +39,7 @@ isComponent: true ### Footer Props 名称 | 类型 | 默认值 | 说明 | 必传 --- | -- | -- | -- | -- -copyright | String | '' | 版权信息,type 为`text`生效 | N -logo | Object | - | 图标配置,type 为`logo`生效。`logo.icon` 表示图标链接地址,`logo.title` 表示标题文本,`logo.url` 表示链接跳转地址。TS 类型:`FooterLogo` `interface FooterLogo { icon: string; title?: string; titleUrl?: string }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N -text-link-list | Array | [] | 链接列表,type 为`text`生效。name 表示链接名称, url 表示链接 page 路径,目前只支持小程序内部跳转,openType 表示跳转方式。TS 类型:`Array` `interface LinkObj { name: string; url?: string; openType?: 'navigate' \| 'redirect' \| 'relaunch' \| 'switchTab' \| 'navigateBack' }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N -theme | String | 'text' | 页脚展示类型。可选项:text/logo | N +-- | -- | -- | -- | +text | String | '' | 版权信息。 | N +logo | Object | - | 图标配置。`logo.icon` 表示图标链接地址,`logo.title` 表示标题文本,`logo.url` 表示链接跳转地址。TS 类型:`FooterLogo` `interface FooterLogo { icon: string; title?: string; titleUrl?: string }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N +links| Array | [] | 链接列表。name 表示链接名称, url 表示链接 page 路径,目前只支持小程序内部跳转,openType 表示跳转方式。TS 类型:`Array` `interface LinkObj { name: string; url?: string; openType?: 'navigate' \| 'redirect' \| 'relaunch' \| 'switchTab' \| 'navigateBack' }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/footer/type.ts) | N diff --git a/src/footer/__test__/__snapshots__/demo.test.js.snap b/src/footer/__test__/__snapshots__/demo.test.js.snap index c43514740..0acded27c 100644 --- a/src/footer/__test__/__snapshots__/demo.test.js.snap +++ b/src/footer/__test__/__snapshots__/demo.test.js.snap @@ -3,8 +3,7 @@ exports[`Footer Footer base demo works fine 1`] = ` `; @@ -15,8 +14,7 @@ exports[`Footer Footer link demo works fine 1`] = ` class="footer-example" > @@ -65,7 +62,6 @@ exports[`Footer Footer logo demo works fine 1`] = ` "title": "品牌名称", } }}" - theme="logo" /> diff --git a/src/footer/__test__/__snapshots__/index.test.js.snap b/src/footer/__test__/__snapshots__/index.test.js.snap index 24c3c66df..a75d29e0d 100644 --- a/src/footer/__test__/__snapshots__/index.test.js.snap +++ b/src/footer/__test__/__snapshots__/index.test.js.snap @@ -8,7 +8,7 @@ exports[`Footer :base 1`] = ` style="" > diff --git a/src/footer/__test__/__virtualHostSnapshot__/demo.test.js.snap b/src/footer/__test__/__virtualHostSnapshot__/demo.test.js.snap index c43514740..0acded27c 100644 --- a/src/footer/__test__/__virtualHostSnapshot__/demo.test.js.snap +++ b/src/footer/__test__/__virtualHostSnapshot__/demo.test.js.snap @@ -3,8 +3,7 @@ exports[`Footer Footer base demo works fine 1`] = ` `; @@ -15,8 +14,7 @@ exports[`Footer Footer link demo works fine 1`] = ` class="footer-example" > @@ -65,7 +62,6 @@ exports[`Footer Footer logo demo works fine 1`] = ` "title": "品牌名称", } }}" - theme="logo" /> diff --git a/src/footer/__test__/__virtualHostSnapshot__/index.test.js.snap b/src/footer/__test__/__virtualHostSnapshot__/index.test.js.snap index 24c3c66df..a75d29e0d 100644 --- a/src/footer/__test__/__virtualHostSnapshot__/index.test.js.snap +++ b/src/footer/__test__/__virtualHostSnapshot__/index.test.js.snap @@ -8,7 +8,7 @@ exports[`Footer :base 1`] = ` style="" > diff --git a/src/footer/_example/base/index.js b/src/footer/_example/base/index.js index a8c110c86..ff52d3cf6 100644 --- a/src/footer/_example/base/index.js +++ b/src/footer/_example/base/index.js @@ -1,5 +1,5 @@ Component({ data: { - copyright: 'Copyright © 2021-2031 TD.All Rights Reserved.', + text: 'Copyright © 2021-2031 TD.All Rights Reserved.', }, }); diff --git a/src/footer/_example/base/index.wxml b/src/footer/_example/base/index.wxml index 7034a4d00..12f05dd20 100644 --- a/src/footer/_example/base/index.wxml +++ b/src/footer/_example/base/index.wxml @@ -1,2 +1,2 @@ - + diff --git a/src/footer/_example/link/index.js b/src/footer/_example/link/index.js index 6245dfa0c..97a768c01 100644 --- a/src/footer/_example/link/index.js +++ b/src/footer/_example/link/index.js @@ -1,7 +1,7 @@ Component({ data: { - copyright: 'Copyright © 2021-2031 TD.All Rights Reserved.', - textLinkList: [ + text: 'Copyright © 2021-2031 TD.All Rights Reserved.', + links: [ [ { name: '底部链接', diff --git a/src/footer/_example/link/index.wxml b/src/footer/_example/link/index.wxml index aae441b5a..123475550 100644 --- a/src/footer/_example/link/index.wxml +++ b/src/footer/_example/link/index.wxml @@ -1,8 +1,8 @@ - + - + diff --git a/src/footer/_example/logo/index.wxml b/src/footer/_example/logo/index.wxml index fc7e4962d..421ab0cea 100644 --- a/src/footer/_example/logo/index.wxml +++ b/src/footer/_example/logo/index.wxml @@ -1,8 +1,8 @@ - + - + diff --git a/src/footer/footer.less b/src/footer/footer.less index a5edbdd75..8c5d89940 100644 --- a/src/footer/footer.less +++ b/src/footer/footer.less @@ -1,12 +1,13 @@ @import '../common/style/index.less'; -@footer-copyright-color: var(--td-footer-copyright-color, @font-gray-3); -@footer-copyright-font-size: var(--td-footer-copyright-font-size, @font-size-s); -@footer-copyright-line-height: var(--td-footer-copyright-line-height, 40rpx); +@footer-text-color: var(--td-footer-text-color, @font-gray-3); +@footer-text-font-size: var(--td-footer-text-font-size, @font-size-s); +@footer-text-line-height: var(--td-footer-text-line-height, 40rpx); +@footer-text-margin-top: var(--td-footer-text-margin-top, 8rpx); @footer-link-color: var(--td-footer-link-color, @brand-color); @footer-link-font-size: var(--td-footer-link-font-size, @font-size-s); @footer-link-line-height: var(--td-footer-link-line-height, 40rpx); -@footer-link-margin-bottom: var(--td-footer-link-margin-bottom, 8rpx); + @footer-link-dividing-line-padding: var(--td-footer-link-dividing-line-padding, @spacer-1); @footer-link-dividing-line-color: var(--td-footer-link-dividing-line-color, @font-gray-3); @footer-logo-icon-width: var(--td-footer-logo-icon-width, 48rpx); @@ -22,17 +23,20 @@ align-items: center; justify-content: flex-start; - &__copyright-info { - font-size: @footer-copyright-font-size; // 版权信息文本大小 - line-height: @footer-copyright-line-height; // 版权信息文本行高 - color: @footer-copyright-color; // 版权信息文本颜色 + &__text { + font-size: @footer-text-font-size; // 版权信息文本大小 + line-height: @footer-text-line-height; // 版权信息文本行高 + color: @footer-text-color; // 版权信息文本颜色 + } + + &__link-list + &__text:not(:empty) { + margin-top: @footer-text-margin-top; // 版权信息顶部间距 } &__link-list { display: flex; justify-content: center; align-items: center; - margin-bottom: @footer-link-margin-bottom; // 链接底部间距 } &__link-item { diff --git a/src/footer/footer.wxml b/src/footer/footer.wxml index 56e00b31f..56e8d9934 100644 --- a/src/footer/footer.wxml +++ b/src/footer/footer.wxml @@ -1,18 +1,18 @@ - - + + - + - - + + {{item.name}} - | - {{copyright}} + {{text}} diff --git a/src/footer/props.ts b/src/footer/props.ts index 6e97f5a04..25e096f3c 100644 --- a/src/footer/props.ts +++ b/src/footer/props.ts @@ -7,7 +7,7 @@ import { TdFooterProps } from './type'; const props: TdFooterProps = { /** 版权信息,type 为`text`生效 */ - copyright: { + text: { type: String, value: '', }, @@ -16,15 +16,10 @@ const props: TdFooterProps = { type: Object, }, /** 链接列表,type 为`text`生效。name 表示链接名称, url 表示链接 page 路径,目前只支持小程序内部跳转,openType 表示跳转方式 */ - textLinkList: { + links: { type: Array, value: [], }, - /** 页脚展示类型 */ - theme: { - type: String, - value: 'text', - }, }; export default props; diff --git a/src/footer/type.ts b/src/footer/type.ts index 6cdd34149..2e9c1aecd 100644 --- a/src/footer/type.ts +++ b/src/footer/type.ts @@ -9,15 +9,7 @@ export interface TdFooterProps { * 版权信息,type 为`text`生效 * @default '' */ - copyright?: { - type: StringConstructor; - value?: string; - }; - /** - * 自定义组件样式 - * @default '' - */ - style?: { + text?: { type: StringConstructor; value?: string; }; @@ -32,18 +24,10 @@ export interface TdFooterProps { * 链接列表,type 为`text`生效。name 表示链接名称, url 表示链接 page 路径,目前只支持小程序内部跳转,openType 表示跳转方式 * @default [] */ - textLinkList?: { + links?: { type: ArrayConstructor; value?: Array; }; - /** - * 页脚展示类型 - * @default 'text' - */ - theme?: { - type: StringConstructor; - value?: 'text' | 'logo'; - }; } export interface FooterLogo { From e810c0d57cf37593409584adf0ec3fe795944a77 Mon Sep 17 00:00:00 2001 From: Wang Date: Thu, 23 Feb 2023 12:52:48 +0800 Subject: [PATCH 15/62] fix(dialog): resolve word misspelling (#1644) --- src/dialog/dialog.ts | 4 ++-- src/dialog/index.ts | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/dialog/dialog.ts b/src/dialog/dialog.ts index 60d1e208a..d33912b48 100644 --- a/src/dialog/dialog.ts +++ b/src/dialog/dialog.ts @@ -104,8 +104,8 @@ export default class Dialog extends SuperComponent { onConfirm() { this.triggerEvent('confirm'); - if (this._onComfirm) { - this._onComfirm(); + if (this._onConfirm) { + this._onConfirm(); this.close(); } }, diff --git a/src/dialog/index.ts b/src/dialog/index.ts index d0a29480a..a940c0910 100644 --- a/src/dialog/index.ts +++ b/src/dialog/index.ts @@ -16,7 +16,7 @@ interface DialogAlertOptionsType { confirmBtn?: string | object; } -interface DialogComfirmOptionsType extends DialogAlertOptionsType { +interface DialogConfirmOptionsType extends DialogAlertOptionsType { cancelButtonText?: string; } @@ -62,10 +62,10 @@ export default { ...otherOptions, visible: true, }); - instance._onComfirm = resolve; + instance._onConfirm = resolve; }); }, - confirm(options: DialogComfirmOptionsType) { + confirm(options: DialogConfirmOptionsType) { const { context, selector = '#t-dialog', ...otherOptions } = { ...defaultOptions, ...options }; const instance = getInstance(context, selector); if (!instance) return Promise.reject(); @@ -75,11 +75,11 @@ export default { ...otherOptions, visible: true, }); - instance._onComfirm = resolve; + instance._onConfirm = resolve; instance._onCancel = reject; }); }, - close(options: DialogComfirmOptionsType) { + close(options: DialogConfirmOptionsType) { const { context, selector = '#t-dialog' } = { ...options }; const instance = getInstance(context, selector); if (instance) { From ee6b48b75ab07020608e0f0ba897f649bb0e6a35 Mon Sep 17 00:00:00 2001 From: Y Date: Thu, 23 Feb 2023 13:03:10 +0800 Subject: [PATCH 16/62] chore(CountDown): remove hightlight theme (#1645) --- src/count-down/README.md | 2 +- .../__test__/__snapshots__/demo.test.js.snap | 44 +------------------ .../__virtualHostSnapshot__/demo.test.js.snap | 44 +------------------ src/count-down/_example/base/index.wxml | 8 +++- src/count-down/_example/base/index.wxss | 12 +++++ src/count-down/_example/size/index.wxml | 13 ------ src/count-down/count-down.less | 35 ++++----------- src/count-down/count-down.wxml | 2 +- src/count-down/type.ts | 2 +- 9 files changed, 34 insertions(+), 128 deletions(-) diff --git a/src/count-down/README.md b/src/count-down/README.md index 64945f457..12cd2247a 100644 --- a/src/count-down/README.md +++ b/src/count-down/README.md @@ -37,7 +37,7 @@ format | String | HH:mm:ss | 时间格式,DD-日,HH-时,mm-分,ss-秒, millisecond | Boolean | false | 是否开启毫秒级渲染 | N size | String `v0.5.1` | 'medium' | 倒计时尺寸。可选项:small/medium/large | N split-with-unit `v0.5.1` | Boolean | false | 使用时间单位分割 | N -theme | String `v0.5.1` | 'default' | 倒计时风格。可选项:default/round/square/hightlight | N +theme | String `v0.5.1` | 'default' | 倒计时风格。可选项:default/round/square | N time | Number | - | 必需。倒计时时长,单位毫秒 | Y external-classes | Array | - | 组件类名,分别用于设置 组件外层类名、计时器类型、分隔线类名 等。`['t-class', 't-class-count', 't-class-split']` | N diff --git a/src/count-down/__test__/__snapshots__/demo.test.js.snap b/src/count-down/__test__/__snapshots__/demo.test.js.snap index 512d78dd8..c9ffeb78e 100644 --- a/src/count-down/__test__/__snapshots__/demo.test.js.snap +++ b/src/count-down/__test__/__snapshots__/demo.test.js.snap @@ -105,7 +105,8 @@ exports[`CountDown CountDown base demo works fine 1`] = ` @@ -302,46 +303,5 @@ exports[`CountDown CountDown size demo works fine 1`] = ` /> - - - 无底色带单位 - - - - - - - - - - - `; diff --git a/src/count-down/__test__/__virtualHostSnapshot__/demo.test.js.snap b/src/count-down/__test__/__virtualHostSnapshot__/demo.test.js.snap index 512d78dd8..c9ffeb78e 100644 --- a/src/count-down/__test__/__virtualHostSnapshot__/demo.test.js.snap +++ b/src/count-down/__test__/__virtualHostSnapshot__/demo.test.js.snap @@ -105,7 +105,8 @@ exports[`CountDown CountDown base demo works fine 1`] = ` @@ -302,46 +303,5 @@ exports[`CountDown CountDown size demo works fine 1`] = ` /> - - - 无底色带单位 - - - - - - - - - - - `; diff --git a/src/count-down/_example/base/index.wxml b/src/count-down/_example/base/index.wxml index 3e3c384c2..dbfa40914 100644 --- a/src/count-down/_example/base/index.wxml +++ b/src/count-down/_example/base/index.wxml @@ -36,6 +36,12 @@ 无底色带单位 - + diff --git a/src/count-down/_example/base/index.wxss b/src/count-down/_example/base/index.wxss index 611490f9f..61d646179 100644 --- a/src/count-down/_example/base/index.wxss +++ b/src/count-down/_example/base/index.wxss @@ -6,3 +6,15 @@ .demo-count-down-content { margin: 32rpx 0 48rpx; } + +.external-count { + color: #e34d59; + font-size: 36rpx; + line-height: 48rpx; + vertical-align: middle; +} + +.external-split { + font-size: 20rpx; + margin: 0 10rpx; +} diff --git a/src/count-down/_example/size/index.wxml b/src/count-down/_example/size/index.wxml index 07b7e1ccb..6fb7ee817 100644 --- a/src/count-down/_example/size/index.wxml +++ b/src/count-down/_example/size/index.wxml @@ -62,16 +62,3 @@ - - - 无底色带单位 - - - - - - - - - - diff --git a/src/count-down/count-down.less b/src/count-down/count-down.less index f4b91d973..478b45b8f 100644 --- a/src/count-down/count-down.less +++ b/src/count-down/count-down.less @@ -1,44 +1,38 @@ @import '../common/style/index.less'; -@countdown-small-unit-margin: calc(@spacer * 0.5); // 'small'尺寸单位分割文本左右间距 -@countdown-medium-unit-margin: calc(@spacer * 0.625); // 'medium'尺寸单位分割文本左右间距 -@countdown-large-unit-margin: calc(@spacer * 0.75); // 'large'尺寸单位分割文本左右间距 +@countdown-small-unit-margin: 8rpx; // 'small'尺寸单位分割文本左右间距 +@countdown-medium-unit-margin: 10rpx; // 'medium'尺寸单位分割文本左右间距 +@countdown-large-unit-margin: 12rpx; // 'large'尺寸单位分割文本左右间距 @countdown-unit-color: @font-gray-1; // 带单位分割线文本颜色 @countdown-no-unit-color: @error-color-6; // 无单位分割线文本颜色 -@countdown-large-no-unit-margin: calc(@spacer * 0.75); // 'large'尺寸无单位分割文本左右间距 -@countdown-medium-no-unit-margin: calc(@spacer * 0.375); // 'medium'尺寸无单位分割文本左右间距 -@countdown-small-no-unit-margin: calc(@spacer * 0.25); // 'small'尺寸无单位分割文本左右间距 +@countdown-large-no-unit-margin: 12rpx; // 'large'尺寸无单位分割文本左右间距 +@countdown-medium-no-unit-margin: 6rpx; // 'medium'尺寸无单位分割文本左右间距 +@countdown-small-no-unit-margin: 4rpx; // 'small'尺寸无单位分割文本左右间距 @countdown-small-bg-width: 40rpx; // 'small'尺寸方/圆底背景宽高 @countdown-medium-bg-width: 48rpx; // 'medium'尺寸方/圆底背景宽高 @countdown-large-bg-width: 56rpx; // 'large'尺寸方/圆底背景宽高 @countdown-small-default-font-size: @font-size-base; // 'small'尺寸纯数字倒计时文本大小 @countdown-small-square-font-size: @font-size-s; // 'small'尺寸带方形底倒计时文本大小 @countdown-small-round-font-size: @font-size-s; // 'small'尺寸带圆形底倒计时文本大小 -@countdown-small-hightlight-font-size: @font-size-m; // 'small'尺寸高亮倒计时文本大小 @countdown-small-unit-font-size: @font-size; // 'small'尺寸单位分割文本大小 @countdown-small-no-unit-font-size: @font-size-base; // 'small'尺寸无单位分割文本大小 @countdown-medium-default-font-size: @font-size-m; // 'medium'尺寸纯数字倒计时文本大小 @countdown-medium-square-font-size: @font-size-base; // 'medium'尺寸带方形底倒计时文本大小 @countdown-medium-round-font-size: @font-size-base; // 'medium'尺寸带圆形底倒计时文本大小 -@countdown-medium-hightlight-font-size: 36rpx; // 'medium'尺寸高亮倒计时文本大小 @countdown-medium-unit-font-size: @font-size-s; // 'medium'尺寸单位分割文本大小 @countdown-medium-no-unit-font-size: @font-size-m; // 'medium'尺寸无单位分割文本大小 @countdown-large-default-font-size: 36rpx; // 'large'尺寸纯数字倒计时文本大小 @countdown-large-square-font-size: @font-size-m; // 'large'尺寸带方形底倒计时文本大小 @countdown-large-round-font-size: @font-size-m; // 'large'尺寸带圆形底倒计时文本大小 -@countdown-large-hightlight-font-size: 36rpx; // 'large'尺寸高亮倒计时文本大小 @countdown-large-unit-font-size: @font-size-base; // 'large'尺寸单位分割文本大小 @countdown-large-no-unit-font-size: 36rpx; // 'large'尺寸无单位分割文本大小 // 纯数字倒计时文本颜色 @countdown-default-text-color: var(--td-countdown-default-color, @font-gray-1); -// 高亮倒计时文本颜色 -@countdown-hightlight-color: var(--td-countdown-hightlight-color, @error-color-6); // 方形/圆形底倒计时文本颜色 @countdown-text-color: var(--td-countdown-round-color, @font-white-1); // 方形/圆形底背景颜色 @countdown-bg-color: var(--td-countdown-bg-color, @error-color-6); - // 带方形底倒计时圆角大小 @countdown-square-border-radius: var(--td-countdown-square-border-radius, @radius-small); // 带圆形底倒计时圆角大小 @@ -53,7 +47,6 @@ @defaultFontSize: 'countdown-@{size}-default-font-size'; @roundFontSize: 'countdown-@{size}-round-font-size'; @squareFontSize: 'countdown-@{size}-square-font-size'; - @hightlightFontSize: 'countdown-@{size}-hightlight-font-size'; @width: 'countdown-@{size}-bg-width'; @height: 'countdown-@{size}-bg-width'; @dotMargin: 'countdown-@{size}-no-unit-margin'; @@ -78,12 +71,6 @@ } } - &.@{countdown}--hightlight { - > .@{item} { - font-size: @@hightlightFontSize; - } - } - &.@{countdown}--round, &.@{countdown}--square { > .@{item} { @@ -93,8 +80,7 @@ } &.@{countdown}--round, - &.@{countdown}--square, - &.@{countdown}--hightlight { + &.@{countdown}--square { > .@{split}--dot { margin: 0 @@dotMargin; font-size: @@dotFontSize; @@ -125,8 +111,7 @@ } &--square, - &--round, - &--hightlight { + &--round { > .@{split}--dot { color: @countdown-no-unit-color; } @@ -157,8 +142,4 @@ background: @countdown-bg-color; } } - - &--hightlight { - color: @countdown-hightlight-color; - } } diff --git a/src/count-down/count-down.wxml b/src/count-down/count-down.wxml index d9ad87d17..7add47e99 100644 --- a/src/count-down/count-down.wxml +++ b/src/count-down/count-down.wxml @@ -8,7 +8,7 @@ > - {{formattedTime}} + {{formattedTime}} {{this.format(timeData[timeRange[index]])}} diff --git a/src/count-down/type.ts b/src/count-down/type.ts index d1e3260fb..31b0fdf11 100644 --- a/src/count-down/type.ts +++ b/src/count-down/type.ts @@ -67,7 +67,7 @@ export interface TdCountDownProps { */ theme?: { type: StringConstructor; - value?: 'default' | 'round' | 'square' | 'hightlight'; + value?: 'default' | 'round' | 'square'; }; /** * 倒计时时长,单位毫秒 From dfbf99e8ecb197e8639889b3bd81d9bc5a5ad673 Mon Sep 17 00:00:00 2001 From: byqbai Date: Thu, 23 Feb 2023 15:30:20 +0800 Subject: [PATCH 17/62] =?UTF-8?q?fix(slider):=20=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=97=A0=E9=9A=9C=E7=A2=8D=E8=AF=AD=E4=B9=89.=20(#1388)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(slider): 规范无障碍语义 * fix(slider): 无障碍滑块valuetext规范.(#1402) * fix(slider): 无用动态百分比播报问题.(#1402) * fix(slider): 隐藏数值读取.(#1402) * fix(slider): 隐藏数值读取.(#1402) * fix(slider): 变量规范.(#1402) --- src/slider/slider.less | 2 +- src/slider/slider.ts | 11 +++++++++++ src/slider/slider.wxml | 25 ++++++++++++++++++------- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/slider/slider.less b/src/slider/slider.less index 4223db93d..c78c5fc7d 100644 --- a/src/slider/slider.less +++ b/src/slider/slider.less @@ -80,7 +80,7 @@ transform: translateX(-50%); top: -52rpx; text-align: center; - width: 48rpx; + width: 96rpx; height: 44rpx; line-height: 44rpx; } diff --git a/src/slider/slider.ts b/src/slider/slider.ts index 0754fc177..e025e4ea4 100644 --- a/src/slider/slider.ts +++ b/src/slider/slider.ts @@ -26,6 +26,7 @@ type dataType = { scaleTextArray: any[]; _value: SliderValue; prefix: string; + isVisibleToScreenReader: boolean; }; interface boundingClientRect { @@ -70,6 +71,7 @@ export default class Slider extends SuperComponent { scaleArray: [], scaleTextArray: [], prefix, + isVisibleToScreenReader: false, }; observers = { @@ -88,6 +90,15 @@ export default class Slider extends SuperComponent { } else { this.setSingleBarWidth(newValue as number); } + + this.setData({ + isVisibleToScreenReader: true, + }); + setTimeout(() => { + this.setData({ + isVisibleToScreenReader: false, + }); + }, 2e3); }, marks(val) { if (this.data.initialLeft != null) { diff --git a/src/slider/slider.wxml b/src/slider/slider.wxml index eafe8a6d1..4a07f59ea 100644 --- a/src/slider/slider.wxml +++ b/src/slider/slider.wxml @@ -21,6 +21,7 @@ wx:for="{{scaleArray}}" wx:key="index" style="left:{{item.left}}px; transform: translateX(-50%); {{t.getColor(disabled, _value >= item.val, disabledColor, colors)}}" + aria-hidden="{{true}}" > {{scaleTextArray[index]}} @@ -39,9 +40,11 @@ bind:touchcancel="onTouchEnd" > {{t.getValue(label, _value) || _value}} @@ -52,6 +55,7 @@ aria-valuemax="{{max}}" aria-valuemin="{{min}}" aria-valuenow="{{_value}}" + aria-valuetext="{{t.getValue(label, _value) || _value}}" > @@ -81,6 +85,7 @@ wx:for-index="index" wx:key="index" style="left: {{item.left}}px; transform: translateX(-50%); {{t.getColor(disabled, (dotTopValue[1] >= item.val && item.val >= dotTopValue[0]), disabledColor, colors)}}" + aria-hidden="{{true}}" > {{scaleTextArray[index]}} {{t.getValue(label, dotTopValue[0]) || dotTopValue[0]}} @@ -109,9 +116,10 @@ class="{{classPrefix}}__dot-slider" aria-role="slider" aria-disabled="{{disabled}}" - aria-valuemax="{{t.getValue(label, dotTopValue[1]) || dotTopValue[1]}}" + aria-valuemax="{{max}}" aria-valuemin="{{min}}" - aria-valuenow="{{t.getValue(label, dotTopValue[0]) || dotTopValue[0]}}" + aria-valuenow="{{dotTopValue[0]}}" + aria-valuetext="{{t.getValue(label, dotTopValue[0]) || dotTopValue[0]}}" > {{t.getValue(label, dotTopValue[1]) || dotTopValue[1]}} @@ -133,8 +143,9 @@ aria-role="slider" aria-disabled="{{disabled}}" aria-valuemax="{{max}}" - aria-valuemin="{{t.getValue(label, dotTopValue[0]) || dotTopValue[0]}}" - aria-valuenow="{{t.getValue(label, dotTopValue[1]) || dotTopValue[1]}}" + aria-valuemin="{{min}}" + aria-valuenow="{{dotTopValue[1]}}" + aria-valuetext="{{t.getValue(label, dotTopValue[1]) || dotTopValue[1]}}" > From 7fc03121951f2e59f416a11784882c6fcf1c0c9b Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Thu, 23 Feb 2023 17:08:50 +0800 Subject: [PATCH 18/62] docs(steps): update api --- src/steps/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/steps/README.md b/src/steps/README.md index aa79d16ea..9f852b84e 100644 --- a/src/steps/README.md +++ b/src/steps/README.md @@ -84,5 +84,5 @@ external-classes | Array | - | 组件类名,用于设置组件外层元素元 icon | String / Slot | - | 图标。传入 slot 代表使用插槽,其他字符串代表使用内置图标 | N status | String | default | 当前步骤的状态:默认状态(未开始)、进行中状态、完成状态、错误状态。可选项:default/process/finish/error。TS 类型:`StepStatus` `type StepStatus = 'default' \| 'process' \| 'finish' \| 'error'`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/step-item/type.ts) | N style | String | - | 自定义组件样式 | N -sub-step-items | Array | [] | 子步骤条,仅支持 layout = 'vertical' 时。TS 类型:`SubStepItem[]` `interface SubStepItem { status: StepStatus, title: string }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/step-item/type.ts) | N +sub-step-items | Array | [] | 废弃。子步骤条,仅支持 layout = 'vertical' 时 | N title | String / Slot | '' | 标题 | N From 82e96e736ce59d7b913f510642955686cc5be58a Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Thu, 23 Feb 2023 17:10:40 +0800 Subject: [PATCH 19/62] fix(toast): replace fail theme with error (#1647) --- src/toast/README.en-US.md | 2 +- src/toast/README.md | 2 +- src/toast/__test__/__snapshots__/demo.test.js.snap | 2 +- src/toast/_example/theme/index.js | 4 ++-- src/toast/_example/theme/index.wxml | 2 +- src/toast/index.ts | 2 +- src/toast/toast.ts | 2 +- src/toast/type.ts | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/toast/README.en-US.md b/src/toast/README.en-US.md index 63e42105c..a3f584859 100644 --- a/src/toast/README.en-US.md +++ b/src/toast/README.en-US.md @@ -14,7 +14,7 @@ overlay-props | Object | {} | \- | N placement | String | middle | options: top/middle/bottom | N prevent-scroll-through | Boolean | false | \- | N show-overlay | Boolean | false | \- | N -theme | String | - | options:loading/success/fail | N +theme | String | - | options:loading/success/error | N ### Toast Events diff --git a/src/toast/README.md b/src/toast/README.md index a1341c13f..4fc7cd78b 100644 --- a/src/toast/README.md +++ b/src/toast/README.md @@ -45,7 +45,7 @@ overlay-props | Object | {} | 遮罩层属性,透传至 Overlay | N placement | String | middle | 弹窗展示位置。可选项: top/middle/bottom | N prevent-scroll-through | Boolean | false | 防止滚动穿透,即不允许点击和滚动 | N show-overlay | Boolean | false | 是否显示遮罩层 | N -theme | String | - | 提示类型。可选项:loading/success/fail | N +theme | String | - | 提示类型。可选项:loading/success/error | N ### Toast Events diff --git a/src/toast/__test__/__snapshots__/demo.test.js.snap b/src/toast/__test__/__snapshots__/demo.test.js.snap index 5d591973e..fd6a188bd 100644 --- a/src/toast/__test__/__snapshots__/demo.test.js.snap +++ b/src/toast/__test__/__snapshots__/demo.test.js.snap @@ -167,7 +167,7 @@ exports[`Toast Toast theme demo works fine 1`] = ` variant="outline" bind:tap="showErrorToast" > - 失败提示 + 错误提示 `; diff --git a/src/toast/_example/theme/index.js b/src/toast/_example/theme/index.js index bb68ca2cf..91444cf4a 100644 --- a/src/toast/_example/theme/index.js +++ b/src/toast/_example/theme/index.js @@ -25,8 +25,8 @@ Page({ Toast({ context: this, selector: '#t-toast', - message: '失败文案', - theme: 'fail', + message: '错误文案', + theme: 'error', direction: 'column', }); }, diff --git a/src/toast/_example/theme/index.wxml b/src/toast/_example/theme/index.wxml index 69875b0e6..cee53bcf4 100644 --- a/src/toast/_example/theme/index.wxml +++ b/src/toast/_example/theme/index.wxml @@ -2,4 +2,4 @@ 成功提示 警告提示 -失败提示 +错误提示 diff --git a/src/toast/index.ts b/src/toast/index.ts index b433482d9..a2f870718 100644 --- a/src/toast/index.ts +++ b/src/toast/index.ts @@ -2,7 +2,7 @@ import { getInstance } from '../common/utils'; type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance; -type ToastType = 'loading' | 'success' | 'fail'; +type ToastType = 'loading' | 'success' | 'error'; type ToastPositionType = 'top' | 'middle' | 'bottom'; type ToastDirectionType = 'row' | 'column'; diff --git a/src/toast/toast.ts b/src/toast/toast.ts index 74e711dd5..89791acee 100644 --- a/src/toast/toast.ts +++ b/src/toast/toast.ts @@ -41,7 +41,7 @@ export default class Toast extends SuperComponent { loading: 'loading', success: 'check-circle', warning: 'error-circle', - fail: 'close-circle', + error: 'close-circle', }; const typeMapIcon = iconMap[options?.theme]; const defaultOptions = { diff --git a/src/toast/type.ts b/src/toast/type.ts index 0208fd71d..283407ed0 100644 --- a/src/toast/type.ts +++ b/src/toast/type.ts @@ -88,6 +88,6 @@ export interface TdToastProps { */ theme?: { type: StringConstructor; - value?: 'loading' | 'success' | 'fail'; + value?: 'loading' | 'success' | 'error'; }; } From 41f0689003e6d02a3e5411d35412353e3ab49c22 Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Fri, 24 Feb 2023 11:35:10 +0800 Subject: [PATCH 20/62] docs: update api & changelog --- CHANGELOG.md | 30 ++++++------------------------ src/cell-group/README.en-US.md | 11 ----------- src/cell-group/README.md | 11 ----------- src/cell/README.md | 9 +++++++++ 4 files changed, 15 insertions(+), 46 deletions(-) delete mode 100644 src/cell-group/README.en-US.md delete mode 100644 src/cell-group/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 515a3f22f..4242a6f8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ docClass: timeline - `Input`: 支持 `tips` 文本方向与 `align` 属性值一致 @anlyyao ([#1585](https://github.com/Tencent/tdesign-miniprogram/pull/1585)) - `CellGroup`: 默认最后一项 `cell` 无底部边框线 @anlyyao ([#1607](https://github.com/Tencent/tdesign-miniprogram/pull/1607)) - `Image`: 补充外部样式类名 `class` @anlyyao ([#1611](https://github.com/Tencent/tdesign-miniprogram/pull/1611)) -- `DropdownMenu`: 新增 reset 事件 @LeeJim ([#1617](https://github.com/Tencent/tdesign-miniprogram/pull/1617)) +- `DropdownMenu`: 新增 `reset` 事件 @LeeJim ([#1617](https://github.com/Tencent/tdesign-miniprogram/pull/1617)) - `Drawer`: 支持无障碍访问 @zhangpaopao0609 ([#1552](https://github.com/Tencent/tdesign-miniprogram/pull/1552)) ### 🐞 Bug Fixes @@ -29,9 +29,9 @@ docClass: timeline - `Tabs`: 修复属性不支持响应式变化的问题 @LeeJim ([#1616](https://github.com/Tencent/tdesign-miniprogram/pull/1616)) - `DropdownMenu`: 修复下拉菜单遮罩层无法点击 @RoseyW ([#1615](https://github.com/Tencent/tdesign-miniprogram/pull/1615)) - `Message`: 修复事件名称,以符合文档 @LeeJim ([#1618](https://github.com/Tencent/tdesign-miniprogram/pull/1618)) -- `Dialog`: 修复事件名,从 overlayClick 改成 overlay-click @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) -- `SwiperNav`: 修复事件名,从 navBtnChange 改成 nav-btn-change @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) -- `TextArea`: 修复事件名,从 lineChange改成 line-change @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) +- `Dialog`: 修复事件名,从 `overlayClick` 改成 `overlay-click` @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) +- `SwiperNav`: 修复事件名,从 `navBtnChange` 改成 `nav-btn-change` @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) +- `TextArea`: 修复事件名,从 `lineChange` 改成 `line-change` @LeeJim ([#1619](https://github.com/Tencent/tdesign-miniprogram/pull/1619)) - `DropdownMenu`: 修复下拉菜单遮罩层无法点击 @RoseyW ([#1615](https://github.com/Tencent/tdesign-miniprogram/pull/1615)) ## 🌈 1.0.0-rc.2 `2023-02-13` @@ -39,7 +39,7 @@ docClass: timeline - `Icon`: `size` 和 `color` 属性默认值变更为 `''` @anlyyao ([#1553](https://github.com/Tencent/tdesign-miniprogram/pull/1553)) ### 🚀 Features - 所有组件同时支持 `style` 和 `customStyle` 属性 @LeeJim ([#1532](https://github.com/Tencent/tdesign-miniprogram/pull/1532)) -- `Button`: 支持点击态边框颜色 css variable @anlyyao ([#1530](https://github.com/Tencent/tdesign-miniprogram/pull/1530)) +- `Button`: 支持点击态边框颜色 CSS Variable @anlyyao ([#1530](https://github.com/Tencent/tdesign-miniprogram/pull/1530)) - `Result`: 属性 icon 支持对象类型,透传至图标组件 @LeeJim ([#1539](https://github.com/Tencent/tdesign-miniprogram/pull/1539)) - `TabBar`: 属性 icon 支持对象类型,透传至图标组件 @LeeJim ([#1539](https://github.com/Tencent/tdesign-miniprogram/pull/1539)) - `Toast`: 属性 icon 支持对象类型,透传至图标组件 @LeeJim ([#1539](https://github.com/Tencent/tdesign-miniprogram/pull/1539)) @@ -91,23 +91,6 @@ docClass: timeline - `Picker`: 修复样式、优化布局以及交互体验 @LeeJim ([#1513](https://github.com/Tencent/tdesign-miniprogram/pull/1513)) - `Swiper`: 修复 `autoplay` 状态下,`swiper` 偶现左右抖动问题 @anlyyao ([#1494](https://github.com/Tencent/tdesign-miniprogram/pull/1494)) -## 🌈 1.0.0-rc.1 `2023-01-18` -### ❗ BREAKING CHANGES -- `Dialog`: 移除内置的 input 样式 @LeeJim ([#1516](https://github.com/Tencent/tdesign-miniprogram/pull/1516)) -- `Input`: 优化 DOM,移除外置的 wapper 元素 @LeeJim ([#1516](https://github.com/Tencent/tdesign-miniprogram/pull/1516)) - -### 🚀 Features -- `Cell`: 新增底边框左右边距 CSS Variables @anlyyao ([#1515](https://github.com/Tencent/tdesign-miniprogram/pull/1515)) -- `Cell`: 补充 CSS Variables @anlyyao ([#1517](https://github.com/Tencent/tdesign-miniprogram/pull/1517)) -- `SideBar`: 支持传入 Icon @LeeJim ([#1520](https://github.com/Tencent/tdesign-miniprogram/pull/1520)) -- `Tabs`: 支持传入 icon @LeeJim ([#1519](https://github.com/Tencent/tdesign-miniprogram/pull/1519)) -### 🐞 Bug Fixes -- `Upload`: 修复 add-content 不生效的问题 @LeeJim ([#1507](https://github.com/Tencent/tdesign-miniprogram/pull/1507)) -- `Upload`: 优化插槽渲染,不再需要传入 add-content = 'slot' @LeeJim ([#1507](https://github.com/Tencent/tdesign-miniprogram/pull/1507)) -- `Cascader`: 修复 slot 无法使用的问题 @LeeJim ([#1508](https://github.com/Tencent/tdesign-miniprogram/pull/1508)) -- `Picker`: 修复样式、优化布局以及交互体验 @LeeJim ([#1513](https://github.com/Tencent/tdesign-miniprogram/pull/1513)) -- `Swiper`: 修复 `autoplay` 状态下,`swiper` 偶现左右抖动问题 @anlyyao ([#1494](https://github.com/Tencent/tdesign-miniprogram/pull/1494)) - ## 🌈 1.0.0-rc `2023-01-12` ### ❗ Breaking Changes - 全部组件开启 vritualHost,当基础库版本低于 2.19.2 自动关闭 @LeeJim ([#1495](https://github.com/Tencent/tdesign-miniprogram/pull/1495)) @@ -158,7 +141,7 @@ docClass: timeline - `PullDownRefresh`: 新增 scroll 事件 @LeeJim ([#1424](https://github.com/Tencent/tdesign-miniprogram/pull/1424)) - `BackTop`: 放置 pull-down-refresh 内部时,将会滚动该容器到顶部 @LeeJim ([#1424](https://github.com/Tencent/tdesign-miniprogram/pull/1424)) - `Swiper`: 增加 click 事件 @LeeJim ([#1435](https://github.com/Tencent/tdesign-miniprogram/pull/1435)) -- `Collapse`: 新增 placmen 属性,支持内容面板在上方 @LeeJim ([#1446](https://github.com/Tencent/tdesign-miniprogram/pull/1446)) +- `Collapse`: 新增 placment 属性,支持内容面板在上方 @LeeJim ([#1446](https://github.com/Tencent/tdesign-miniprogram/pull/1446)) - `Calendar`: 新增 auto-close 属性,以及 close 事件 @LeeJim ([#1448](https://github.com/Tencent/tdesign-miniprogram/pull/1448)) - `Textarea`: 补充 cursor、disableDefaultPadding、showConfirmBar、 selection-Start、 selectionEnd、holdKeyboard 等属性 @anlyyao ([#1463](https://github.com/Tencent/tdesign-miniprogram/pull/1463)) - `Textarea`: 补充 keyboardheightchange 事件 @anlyyao ([#1463](https://github.com/Tencent/tdesign-miniprogram/pull/1463)) @@ -304,7 +287,6 @@ docClass: timeline - `Fab`: 支持无障碍访问 @zhangpaopao0609 ([#1231](https://github.com/Tencent/tdesign-miniprogram/pull/1231)) - `Tabs`: 支持无障碍访问 @zhangpaopao0609 ([#1227](https://github.com/Tencent/tdesign-miniprogram/pull/1227)) - `Overlay`: 支持无障碍访问 @szu-bee ([#1205](https://github.com/Tencent/tdesign-miniprogram/pull/1205)) -- `Collapse`: 支持无障碍访问 @gzzhanghao ([#1224](https://github.com/Tencent/tdesign-miniprogram/pull/1224)) - `Toast`: 支持无障碍访问 @huaiyinfeilong ([#1210](https://github.com/Tencent/tdesign-miniprogram/pull/1210)) ### 🐞 Bug Fixes diff --git a/src/cell-group/README.en-US.md b/src/cell-group/README.en-US.md deleted file mode 100644 index fa6150c3f..000000000 --- a/src/cell-group/README.en-US.md +++ /dev/null @@ -1,11 +0,0 @@ -:: BASE_DOC :: - -## API -### CellGroup Props - -name | type | default | description | required --- | -- | -- | -- | -- -bordered | Boolean | - | \- | N -external-classes | Array | - | `['t-class']` | N -theme | String | default | options:default/card | N -title | String | - | \- | N diff --git a/src/cell-group/README.md b/src/cell-group/README.md deleted file mode 100644 index c53ba8c0b..000000000 --- a/src/cell-group/README.md +++ /dev/null @@ -1,11 +0,0 @@ -:: BASE_DOC :: - -## API -### CellGroup Props - -名称 | 类型 | 默认值 | 说明 | 必传 --- | -- | -- | -- | -- -bordered | Boolean | - | 是否显示组边框 | N -external-classes | Array | - | 组件类名。`['t-class']` | N -theme | String | default | 单元格风格。可选项:default/card | N -title | String | - | 单元格组标题 | N diff --git a/src/cell/README.md b/src/cell/README.md index 4609478e5..fda3de052 100644 --- a/src/cell/README.md +++ b/src/cell/README.md @@ -63,3 +63,12 @@ url | String | - | 点击后跳转链接地址。如果值为空,则表示不 名称 | 参数 | 描述 -- | -- | -- click | - | 右侧内容 + +### CellGroup Props + +名称 | 类型 | 默认值 | 说明 | 必传 +-- | -- | -- | -- | -- +bordered | Boolean | - | 是否显示组边框 | N +external-classes | Array | - | 组件类名。`['t-class']` | N +theme | String | default | 单元格风格。可选项:default/card | N +title | String | - | 单元格组标题 | N From a0afdedaa4c976adb2cb9c05c8dbf4deb37fe09a Mon Sep 17 00:00:00 2001 From: Y Date: Fri, 24 Feb 2023 16:32:58 +0800 Subject: [PATCH 21/62] fix: fix overview.md errors (#1651) --- site/docs/overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/docs/overview.md b/site/docs/overview.md index bc9215128..b9b4ba1ce 100644 --- a/site/docs/overview.md +++ b/site/docs/overview.md @@ -78,7 +78,7 @@ spline: explain
- +

Overlay 遮罩层

From e2c7b6a060ec61fb490fdd1f750fd95a1f57e991 Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Fri, 24 Feb 2023 16:49:39 +0800 Subject: [PATCH 22/62] fix: update pages --- example/app.json | 1 - 1 file changed, 1 deletion(-) diff --git a/example/app.json b/example/app.json index 8832837c7..05c393c78 100644 --- a/example/app.json +++ b/example/app.json @@ -5,7 +5,6 @@ "pages/tabs/tabs", "pages/icon/icon", "pages/loading/loading", - "pages/loading/loadingProgress/index", "pages/progress/progress", "pages/cascader/cascader", "pages/cell/cell", From 7d3ccdb1889ac24a8c46b7d8084dd73bd09ea7e2 Mon Sep 17 00:00:00 2001 From: leejimqiu Date: Fri, 24 Feb 2023 17:03:12 +0800 Subject: [PATCH 23/62] fix(collapse): resolve disabled color (#1648) * fix(collapse): resolve disabled color * test: update snapshot --- src/cell/__test__/__snapshots__/index.test.js.snap | 4 ++-- src/cell/cell.wxml | 4 ++-- src/collapse-panel/collapse-panel.less | 4 ++-- src/collapse/__test__/__snapshots__/index.test.js.snap | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cell/__test__/__snapshots__/index.test.js.snap b/src/cell/__test__/__snapshots__/index.test.js.snap index a9521a796..049933a34 100644 --- a/src/cell/__test__/__snapshots__/index.test.js.snap +++ b/src/cell/__test__/__snapshots__/index.test.js.snap @@ -18,10 +18,10 @@ exports[`cell :base 1`] = ` class="t-cell__left t-class-left" /> - - + + {{ title}} diff --git a/src/collapse-panel/collapse-panel.less b/src/collapse-panel/collapse-panel.less index a58170dc6..ac27ec16a 100644 --- a/src/collapse-panel/collapse-panel.less +++ b/src/collapse-panel/collapse-panel.less @@ -115,13 +115,13 @@ &-note { &--disabled { - color: @font-gray-4 !important; + color: @font-gray-4; } } &-right-icon { &--disabled { - color: @font-gray-4 !important; + color: @font-gray-4; } } } diff --git a/src/collapse/__test__/__snapshots__/index.test.js.snap b/src/collapse/__test__/__snapshots__/index.test.js.snap index c4dd3cdc0..3c2af13a0 100644 --- a/src/collapse/__test__/__snapshots__/index.test.js.snap +++ b/src/collapse/__test__/__snapshots__/index.test.js.snap @@ -40,10 +40,10 @@ exports[`collapse :defaultExpandAll 1`] = ` class="t-cell__left t-class-left" /> first @@ -125,10 +125,10 @@ exports[`collapse :defaultExpandAll 1`] = ` class="t-cell__left t-class-left" /> second From 7b911dfdc6c102a47baad38e69cc9b15462b3353 Mon Sep 17 00:00:00 2001 From: Y Date: Fri, 24 Feb 2023 17:10:37 +0800 Subject: [PATCH 24/62] chore(Link): remove status and add disabled and hover (#1652) * chore(Link): remove status and add disabled and hover * feat(Link): support external-classes --- src/link/README.en-US.md | 2 + src/link/README.md | 8 +- .../__test__/__snapshots__/demo.test.js.snap | 98 +++++++++++-------- .../__virtualHostSnapshot__/demo.test.js.snap | 98 +++++++++++-------- src/link/__test__/demo.test.js | 2 +- src/link/_example/content/index.wxml | 4 +- .../_example/{status => disabled}/index.js | 0 .../_example/{status => disabled}/index.json | 0 .../_example/{status => disabled}/index.wxml | 10 +- .../_example/{status => disabled}/index.wxss | 0 src/link/_example/link.json | 2 +- src/link/_example/link.wxml | 2 +- src/link/_example/prefix/index.wxml | 4 +- src/link/_example/size/index.wxml | 6 +- src/link/_example/suffix/index.wxml | 4 +- src/link/_example/theme/index.wxml | 10 +- src/link/_example/underline/index.wxml | 4 +- src/link/link.less | 68 +++++++------ src/link/link.ts | 14 ++- src/link/link.wxml | 6 +- src/link/props.ts | 12 ++- src/link/type.ts | 17 +++- 22 files changed, 222 insertions(+), 149 deletions(-) rename src/link/_example/{status => disabled}/index.js (100%) rename src/link/_example/{status => disabled}/index.json (100%) rename src/link/_example/{status => disabled}/index.wxml (70%) rename src/link/_example/{status => disabled}/index.wxss (100%) diff --git a/src/link/README.en-US.md b/src/link/README.en-US.md index c89261acc..3b01055b4 100644 --- a/src/link/README.en-US.md +++ b/src/link/README.en-US.md @@ -10,6 +10,8 @@ navigator-props | Object | - | \- | N prefix-icon | String / Object / Slot | - | \- | N size | String | medium | options:small/medium/large。Typescript:`SizeEnum` | N status | String | normal | options:normal/active/disabled | N +disabled | Boolean | false | \- | N +hover | Boolean | - | \- | N suffix-icon | String / Object / Slot | - | \- | N theme | String | default | options:default/primary/danger/warning/success | N underline | Boolean | - | \- | N diff --git a/src/link/README.md b/src/link/README.md index d579faa56..0a279a704 100644 --- a/src/link/README.md +++ b/src/link/README.md @@ -50,7 +50,7 @@ isComponent: true 禁用状态 -{{ status }} +{{ disabled }} ### 组件样式 @@ -67,11 +67,13 @@ content | String / Slot | - | 链接内容 | N navigator-props | Object | - | 与 navigator 原生组件属性保持一致,具体使用参考:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html。 | N prefix-icon | String / Object / Slot | - | 前置图标 | N size | String | medium | 尺寸。可选项:small/medium/large。TS 类型:`SizeEnum` | N -status | String | normal | 组件状态。可选项:normal/active/disabled | N +status | String | normal | 已废弃。组件状态。可选项:normal/active/disabled | N +disabled | Boolean | false | 是否为禁用态 | N +hover | Boolean | - | 是否开启点击反馈 | N suffix-icon | String / Object / Slot | - | 前置图标 | N theme | String | default | 组件风格,依次为默认色、品牌色、危险色、警告色、成功色。可选项:default/primary/danger/warning/success | N underline | Boolean | - | 是否显示链接下划线 | N - +external-classes | Array | - | 样式类名。`['t-class', 't-class-hover', 't-class-prefix-icon', 't-class-content', 't-class-suffix-icon']` | N ### Link Events 名称 | 参数 | 描述 diff --git a/src/link/__test__/__snapshots__/demo.test.js.snap b/src/link/__test__/__snapshots__/demo.test.js.snap index 6d0a9ef88..c039856b5 100644 --- a/src/link/__test__/__snapshots__/demo.test.js.snap +++ b/src/link/__test__/__snapshots__/demo.test.js.snap @@ -7,111 +7,116 @@ exports[`Link Link content demo works fine 1`] = ` > `; -exports[`Link Link prefix demo works fine 1`] = ` - +exports[`Link Link disabled demo works fine 1`] = ` + - - -`; - -exports[`Link Link size demo works fine 1`] = ` - - + + - + `; -exports[`Link Link status demo works fine 1`] = ` - +exports[`Link Link prefix demo works fine 1`] = ` + - + +`; + +exports[`Link Link size demo works fine 1`] = ` + + - + `; exports[`Link Link suffix demo works fine 1`] = ` @@ -121,12 +126,14 @@ exports[`Link Link suffix demo works fine 1`] = ` > @@ -141,17 +148,20 @@ exports[`Link Link theme demo works fine 1`] = ` > diff --git a/src/link/__test__/__virtualHostSnapshot__/demo.test.js.snap b/src/link/__test__/__virtualHostSnapshot__/demo.test.js.snap index 6d0a9ef88..c039856b5 100644 --- a/src/link/__test__/__virtualHostSnapshot__/demo.test.js.snap +++ b/src/link/__test__/__virtualHostSnapshot__/demo.test.js.snap @@ -7,111 +7,116 @@ exports[`Link Link content demo works fine 1`] = ` > `; -exports[`Link Link prefix demo works fine 1`] = ` - +exports[`Link Link disabled demo works fine 1`] = ` + - - -`; - -exports[`Link Link size demo works fine 1`] = ` - - + + - + `; -exports[`Link Link status demo works fine 1`] = ` - +exports[`Link Link prefix demo works fine 1`] = ` + - + +`; + +exports[`Link Link size demo works fine 1`] = ` + + - + `; exports[`Link Link suffix demo works fine 1`] = ` @@ -121,12 +126,14 @@ exports[`Link Link suffix demo works fine 1`] = ` > @@ -141,17 +148,20 @@ exports[`Link Link theme demo works fine 1`] = ` > diff --git a/src/link/__test__/demo.test.js b/src/link/__test__/demo.test.js index 0b02ba828..a4d25a655 100644 --- a/src/link/__test__/demo.test.js +++ b/src/link/__test__/demo.test.js @@ -5,7 +5,7 @@ import simulate from 'miniprogram-simulate'; import path from 'path'; -const mapper = ['content', 'prefix', 'size', 'status', 'suffix', 'theme', 'underline']; +const mapper = ['content', 'disabled', 'prefix', 'size', 'suffix', 'theme', 'underline']; describe('Link', () => { mapper.forEach((demoName) => { diff --git a/src/link/_example/content/index.wxml b/src/link/_example/content/index.wxml index e2890950f..1bf3ca333 100644 --- a/src/link/_example/content/index.wxml +++ b/src/link/_example/content/index.wxml @@ -1,4 +1,4 @@ - - + + diff --git a/src/link/_example/status/index.js b/src/link/_example/disabled/index.js similarity index 100% rename from src/link/_example/status/index.js rename to src/link/_example/disabled/index.js diff --git a/src/link/_example/status/index.json b/src/link/_example/disabled/index.json similarity index 100% rename from src/link/_example/status/index.json rename to src/link/_example/disabled/index.json diff --git a/src/link/_example/status/index.wxml b/src/link/_example/disabled/index.wxml similarity index 70% rename from src/link/_example/status/index.wxml rename to src/link/_example/disabled/index.wxml index 728b31051..eb49e1a7b 100644 --- a/src/link/_example/status/index.wxml +++ b/src/link/_example/disabled/index.wxml @@ -1,9 +1,9 @@ - - - + + + - - + + diff --git a/src/link/_example/status/index.wxss b/src/link/_example/disabled/index.wxss similarity index 100% rename from src/link/_example/status/index.wxss rename to src/link/_example/disabled/index.wxss diff --git a/src/link/_example/link.json b/src/link/_example/link.json index e8cbfd9fa..662a25a30 100644 --- a/src/link/_example/link.json +++ b/src/link/_example/link.json @@ -6,7 +6,7 @@ "prefix": "./prefix", "suffix": "./suffix", "theme": "./theme", - "status": "./status", + "disabled": "./disabled", "size": "./size" } } diff --git a/src/link/_example/link.wxml b/src/link/_example/link.wxml index 6ff3b746f..0123a7915 100644 --- a/src/link/_example/link.wxml +++ b/src/link/_example/link.wxml @@ -17,7 +17,7 @@ - + diff --git a/src/link/_example/prefix/index.wxml b/src/link/_example/prefix/index.wxml index 90c4005e2..fe479dffa 100644 --- a/src/link/_example/prefix/index.wxml +++ b/src/link/_example/prefix/index.wxml @@ -1,4 +1,4 @@ - - + + diff --git a/src/link/_example/size/index.wxml b/src/link/_example/size/index.wxml index 8baaff3d5..e7a3f2ed1 100644 --- a/src/link/_example/size/index.wxml +++ b/src/link/_example/size/index.wxml @@ -1,5 +1,5 @@ - - - + + + diff --git a/src/link/_example/suffix/index.wxml b/src/link/_example/suffix/index.wxml index 2d44f14db..d6153d32d 100644 --- a/src/link/_example/suffix/index.wxml +++ b/src/link/_example/suffix/index.wxml @@ -1,4 +1,4 @@ - - + + diff --git a/src/link/_example/theme/index.wxml b/src/link/_example/theme/index.wxml index 755c0c4d6..ff97f4a3c 100644 --- a/src/link/_example/theme/index.wxml +++ b/src/link/_example/theme/index.wxml @@ -1,9 +1,9 @@ - - - + + + - - + + diff --git a/src/link/_example/underline/index.wxml b/src/link/_example/underline/index.wxml index 11f0312ea..d289c1aa0 100644 --- a/src/link/_example/underline/index.wxml +++ b/src/link/_example/underline/index.wxml @@ -1,4 +1,4 @@ - - + + diff --git a/src/link/link.less b/src/link/link.less index ae98d368f..a368d7845 100644 --- a/src/link/link.less +++ b/src/link/link.less @@ -2,29 +2,29 @@ // 状态色 - 默认色 -@link-normal-default-color: var(--td-link-normal-default-color, @font-gray-1); // default 主题默认态颜色 -@link-active-default-color: var(--td-link-active-default-color, @brand-color-active); // default 主题激活态颜色 -@link-disabled-default-color: var(--td-link-disabled-default-color, @text-color-disabled); // default 主题禁用态颜色 +@link-default-color: var(--td-link-default-color, @font-gray-1); // default 主题默认态颜色 +@link-default-active-color: var(--td-link-default-active-color, @brand-color-active); // default 主题激活态颜色 +@link-default-disabled-color: var(--td-link-default-disabled-color, @text-color-disabled); // default 主题禁用态颜色 // 状态色 - 主色 -@link-normal-primary-color: var(--td-link-normal-primary-color, @brand-color); // primary 主题默认态颜色 -@link-active-primary-color: var(--td-link-active-primary-color, @brand-color-active); // primary 主题激活态颜色 -@link-disabled-primary-color: var(--td-link-disabled-primary-color, @brand-color-disabled); // primary 主题禁用态颜色 +@link-primary-color: var(--td-link-primary-color, @brand-color); // primary 主题默认态颜色 +@link-primary-active-color: var(--td-link-primary-active-color, @brand-color-active); // primary 主题激活态颜色 +@link-primary-disabled-color: var(--td-link-primary-disabled-color, @brand-color-disabled); // primary 主题禁用态颜色 // 状态色 - 成功 -@link-normal-success-color: var(--td-link-normal-success-color, @success-color); // success 主题默认态颜色 -@link-active-success-color: var(--td-link-active-success-color, @success-color-active); // success 主题激活态颜色 -@link-disabled-success-color: var(--td-link-disabled-success-color, @success-color-disabled); // success 主题禁用态颜色 +@link-success-color: var(--td-link-success-color, @success-color); // success 主题默认态颜色 +@link-success-active-color: var(--td-link-success-active-color, @success-color-active); // success 主题激活态颜色 +@link-success-disabled-color: var(--td-link-success-disabled-color, @success-color-disabled); // success 主题禁用态颜色 // 状态色 - 警告 -@link-normal-warning-color: var(--td-link-normal-warning-color, @warning-color); // warning 主题默认态颜色 -@link-active-warning-color: var(--td-link-active-warning-color, @warning-color-active); // warning 主题激活态颜色 -@link-disabled-warning-color: var(--td-link-disabled-warning-color, @warning-color-disabled); // warning 主题禁用态颜色 +@link-warning-color: var(--td-link-warning-color, @warning-color); // warning 主题默认态颜色 +@link-warning-active-color: var(--td-link-warning-active-color, @warning-color-active); // warning 主题激活态颜色 +@link-warning-disabled-color: var(--td-link-warning-disabled-color, @warning-color-disabled); // warning 主题禁用态颜色 // 状态色 - 危险 -@link-normal-danger-color: var(--td-link-normal-danger-color, @error-color); // danger 主题默认态颜色 -@link-active-danger-color: var(--td-link-active-danger-color, @error-color-active); // danger 主题激活态颜色 -@link-disabled-danger-color: var(--td-link-disabled-danger-color, @error-color-disabled); // danger 主题禁用态颜色 +@link-danger-color: var(--td-link-danger-color, @error-color); // danger 主题默认态颜色 +@link-danger-active-color: var(--td-link-danger-active-color, @error-color-active); // danger 主题激活态颜色 +@link-danger-disabled-color: var(--td-link-danger-disabled-color, @error-color-disabled); // danger 主题禁用态颜色 // 字号 @link-content-small-font-size: 24rpx; @@ -60,31 +60,41 @@ } } -.link-status(@status) { - .for(@themes, @i: 1) when(@i =< length(@themes)) { - @theme: extract(@themes, @i); - @color: 'link-@{status}-@{theme}-color'; +.link-theme(@theme) { + @color: 'link-@{theme}-color'; + @activeColor: 'link-@{theme}-active-color'; + @disabledColor: 'link-@{theme}-disabled-color'; - .@{link}--@{status}-@{theme} { - color: @@color; + .@{link}--@{theme} { + color: @@color; + + &.@{link}--underline::after { + border-color: @@color; + } + + &.@{link}--disabled { + color: @@disabledColor; + } + + &.@{link}--hover { + color: @@activeColor; &.@{link}--underline::after { - border-color: @@color; + border-color: @@activeColor; } } - - .for(@themes, (@i + 1)); } - .for(@themes); } .link-size(small); .link-size(medium); .link-size(large); -.link-status(normal); -.link-status(active); -.link-status(disabled); +.link-theme(primary); +.link-theme(success); +.link-theme(warning); +.link-theme(default); +.link-theme(danger); .@{link} { position: relative; @@ -100,7 +110,7 @@ height: 0; bottom: 0; opacity: 1; - border-bottom: 1px solid rgb(205, 11, 231); + border-bottom: 2rpx solid rgb(205, 11, 231); } &__prefix-icon:not(:empty) + &__content:not(:empty) { diff --git a/src/link/link.ts b/src/link/link.ts index 9e066ae27..b6fa9cf25 100644 --- a/src/link/link.ts +++ b/src/link/link.ts @@ -8,7 +8,13 @@ const name = `${prefix}-link`; @wxComponent() export default class Link extends SuperComponent { - externalClasses = []; + externalClasses = [ + `${prefix}-class`, + `${prefix}-class-hover`, + `${prefix}-class-prefix-icon`, + `${prefix}-class-content`, + `${prefix}-class-suffix-icon`, + ]; properties = props; @@ -43,12 +49,12 @@ export default class Link extends SuperComponent { methods = { setClass() { - const { theme, status, size, underline, navigatorProps } = this.properties; - const classList = [name, `${name}--${status}-${theme}`, `${name}--${size}`]; + const { theme, size, underline, navigatorProps, disabled } = this.properties; + const classList = [name, `${name}--${theme}`, `${name}--${size}`]; if (underline) { classList.push(`${name}--underline`); } - if ((navigatorProps && !navigatorProps.url) || status === 'disabled') { + if ((navigatorProps && !navigatorProps.url) || disabled) { classList.push(`${name}--disabled`); } diff --git a/src/link/link.wxml b/src/link/link.wxml index fb8015232..94acf7780 100644 --- a/src/link/link.wxml +++ b/src/link/link.wxml @@ -13,7 +13,7 @@ extra-data="{{navigatorProps.extraData}}" version="{{navigatorProps.version}}" short-link="{{navigatorProps.shortLink}}" - hover-class="none {{navigatorProps.hoverClass}}" + hover-class="{{ hover && !disabled && classPrefix + '--hover' }} {{prefix}}-class-hover {{navigatorProps.hoverClass}}" hover-stop-propagation="navigatorProps.hoverStopPropagation" hover-start-time="{{navigatorProps.hoverStartTime}}" hover-stay-time="{{navigatorProps.hoverStayTime}}" @@ -22,7 +22,7 @@ bindcomplete="onComplete" aria-disabled="{{status === 'disabled'}}" > - +