@tdesign/uniapp 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +32 -2
  3. package/dist/action-sheet/README.md +1 -1
  4. package/dist/action-sheet/action-sheet.vue +158 -150
  5. package/dist/action-sheet/props.ts +2 -2
  6. package/dist/action-sheet/type.ts +1 -1
  7. package/dist/avatar/avatar.vue +89 -87
  8. package/dist/avatar-group/avatar-group.vue +69 -67
  9. package/dist/back-top/back-top.vue +60 -58
  10. package/dist/badge/badge.vue +69 -59
  11. package/dist/button/button.vue +121 -116
  12. package/dist/button/props.ts +2 -2
  13. package/dist/button/type.ts +1 -1
  14. package/dist/calendar/calendar-header.vue +4 -4
  15. package/dist/calendar/calendar.vue +308 -297
  16. package/dist/calendar/template.vue +1 -1
  17. package/dist/cascader/README.en-US.md +2 -1
  18. package/dist/cascader/README.md +2 -1
  19. package/dist/cascader/cascader.vue +340 -328
  20. package/dist/cascader/props.ts +6 -1
  21. package/dist/cascader/type.ts +6 -0
  22. package/dist/cell/cell.vue +127 -121
  23. package/dist/cell-group/cell-group.vue +32 -30
  24. package/dist/check-tag/check-tag.vue +73 -71
  25. package/dist/checkbox/README.en-US.md +6 -6
  26. package/dist/checkbox/README.md +5 -5
  27. package/dist/checkbox/checkbox.vue +127 -127
  28. package/dist/checkbox/props.ts +6 -6
  29. package/dist/checkbox/type.ts +6 -4
  30. package/dist/checkbox-group/checkbox-group.vue +175 -173
  31. package/dist/checkbox-group/props.ts +6 -6
  32. package/dist/checkbox-group/type.ts +6 -4
  33. package/dist/col/col.vue +26 -24
  34. package/dist/collapse/collapse.vue +83 -81
  35. package/dist/collapse-panel/collapse-panel.vue +121 -119
  36. package/dist/collapse-panel/props.ts +4 -4
  37. package/dist/collapse-panel/type.ts +2 -2
  38. package/dist/color-picker/README.md +1 -1
  39. package/dist/color-picker/color-picker.vue +324 -322
  40. package/dist/color-picker/props.ts +2 -2
  41. package/dist/color-picker/template.vue +14 -10
  42. package/dist/common/common.ts +1 -0
  43. package/dist/common/style/theme/index.css +57 -61
  44. package/dist/common/utils.js +7 -2
  45. package/dist/common/validator.js +172 -0
  46. package/dist/config-provider/README.en-US.md +184 -0
  47. package/dist/config-provider/README.md +234 -0
  48. package/dist/config-provider/config-provider.vue +105 -0
  49. package/dist/config-provider/config-store.js +70 -0
  50. package/dist/config-provider/props.ts +16 -0
  51. package/dist/config-provider/reactive-state.js +39 -0
  52. package/dist/config-provider/type.ts +401 -0
  53. package/dist/config-provider/use-config.js +29 -0
  54. package/dist/config-provider/utils.js +29 -0
  55. package/dist/count-down/count-down.vue +98 -97
  56. package/dist/date-time-picker/date-time-picker.vue +410 -395
  57. package/dist/demo/demo.vue +1 -0
  58. package/dist/dialog/dialog.vue +176 -173
  59. package/dist/divider/divider.vue +38 -36
  60. package/dist/draggable/draggable.vue +60 -58
  61. package/dist/drawer/README.md +1 -1
  62. package/dist/drawer/drawer.vue +48 -46
  63. package/dist/dropdown-item/dropdown-item.vue +209 -207
  64. package/dist/dropdown-item/props.ts +4 -4
  65. package/dist/dropdown-item/type.ts +3 -3
  66. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  67. package/dist/empty/empty.vue +43 -42
  68. package/dist/fab/fab.vue +88 -86
  69. package/dist/footer/footer.vue +36 -34
  70. package/dist/form/README.en-US.md +17 -24
  71. package/dist/form/README.md +18 -25
  72. package/dist/form/form.css +1 -166
  73. package/dist/form/form.vue +251 -236
  74. package/dist/form/props.ts +2 -21
  75. package/dist/form/type.ts +7 -70
  76. package/dist/form-item/README.en-US.md +4 -5
  77. package/dist/form-item/README.md +4 -5
  78. package/dist/form-item/form-item.css +69 -96
  79. package/dist/form-item/form-item.vue +315 -336
  80. package/dist/form-item/form-model.ts +125 -173
  81. package/dist/form-item/props.ts +4 -17
  82. package/dist/form-item/type.ts +43 -1
  83. package/dist/grid/grid.vue +53 -51
  84. package/dist/grid-item/grid-item.vue +121 -119
  85. package/dist/guide/README.md +1 -1
  86. package/dist/guide/guide.vue +281 -277
  87. package/dist/icon/README.md +2 -4
  88. package/dist/icon/icon.vue +78 -76
  89. package/dist/image/README.md +1 -1
  90. package/dist/image/image.vue +103 -101
  91. package/dist/image-viewer/image-viewer.vue +160 -158
  92. package/dist/image-viewer/props.ts +2 -2
  93. package/dist/image-viewer/type.ts +1 -1
  94. package/dist/index.js +3 -0
  95. package/dist/indexes/indexes.vue +264 -267
  96. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  97. package/dist/input/input.vue +192 -192
  98. package/dist/input/props.ts +6 -6
  99. package/dist/input/type.ts +3 -3
  100. package/dist/link/link.vue +73 -71
  101. package/dist/loading/loading.vue +59 -59
  102. package/dist/locale/ar_KW.ts +157 -0
  103. package/dist/locale/en_US.ts +146 -0
  104. package/dist/locale/it_IT.ts +145 -0
  105. package/dist/locale/ja_JP.ts +132 -0
  106. package/dist/locale/ko_KR.ts +132 -0
  107. package/dist/locale/ru_RU.ts +157 -0
  108. package/dist/locale/zh_CN.ts +133 -0
  109. package/dist/locale/zh_TW.ts +132 -0
  110. package/dist/message/message.vue +181 -173
  111. package/dist/message/props.ts +2 -2
  112. package/dist/message/type.ts +1 -1
  113. package/dist/message-item/message-item.vue +192 -184
  114. package/dist/mixins/using-config.js +39 -0
  115. package/dist/navbar/navbar.vue +201 -199
  116. package/dist/notice-bar/notice-bar.vue +175 -171
  117. package/dist/notice-bar/props.ts +2 -2
  118. package/dist/notice-bar/type.ts +1 -1
  119. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  120. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  121. package/dist/overlay/overlay.vue +50 -48
  122. package/dist/picker/picker.vue +168 -161
  123. package/dist/picker-item/picker-item.vue +269 -269
  124. package/dist/popover/README.md +1 -1
  125. package/dist/popover/popover.vue +262 -261
  126. package/dist/popover/props.ts +4 -4
  127. package/dist/popover/type.ts +2 -2
  128. package/dist/popup/popup.vue +46 -45
  129. package/dist/progress/README.md +1 -1
  130. package/dist/progress/progress.vue +76 -76
  131. package/dist/pull-down-refresh/props.ts +2 -2
  132. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  133. package/dist/pull-down-refresh/type.ts +1 -1
  134. package/dist/qrcode/README.md +1 -1
  135. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  136. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  137. package/dist/qrcode/qrcode.vue +93 -87
  138. package/dist/radio/props.ts +6 -6
  139. package/dist/radio/radio.vue +118 -120
  140. package/dist/radio/type.ts +3 -3
  141. package/dist/radio-group/props.ts +4 -4
  142. package/dist/radio-group/radio-group.vue +136 -134
  143. package/dist/radio-group/type.ts +4 -4
  144. package/dist/rate/computed.js +2 -2
  145. package/dist/rate/props.ts +4 -4
  146. package/dist/rate/rate.vue +155 -154
  147. package/dist/rate/type.ts +2 -2
  148. package/dist/result/result.vue +41 -39
  149. package/dist/row/row.vue +38 -36
  150. package/dist/scroll-view/scroll-view.vue +24 -22
  151. package/dist/search/props.ts +2 -2
  152. package/dist/search/search.vue +127 -125
  153. package/dist/search/type.ts +1 -1
  154. package/dist/side-bar/side-bar.vue +57 -55
  155. package/dist/side-bar-item/side-bar-item.vue +86 -86
  156. package/dist/skeleton/skeleton.vue +126 -124
  157. package/dist/slider/README.md +1 -1
  158. package/dist/slider/props.ts +2 -2
  159. package/dist/slider/slider.vue +457 -457
  160. package/dist/slider/type.ts +1 -1
  161. package/dist/step-item/step-item.vue +77 -75
  162. package/dist/stepper/props.ts +2 -2
  163. package/dist/stepper/stepper.vue +168 -149
  164. package/dist/stepper/type.ts +1 -1
  165. package/dist/steps/props.ts +2 -2
  166. package/dist/steps/steps.vue +83 -81
  167. package/dist/steps/type.ts +1 -1
  168. package/dist/sticky/sticky.vue +104 -102
  169. package/dist/swipe-cell/swipe-cell.vue +91 -89
  170. package/dist/swiper/README.md +1 -1
  171. package/dist/swiper/swiper.vue +91 -89
  172. package/dist/swiper-nav/swiper-nav.vue +38 -36
  173. package/dist/switch/props.ts +2 -2
  174. package/dist/switch/switch.vue +62 -62
  175. package/dist/switch/type.ts +1 -1
  176. package/dist/tab-bar/tab-bar.vue +88 -86
  177. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  178. package/dist/tab-panel/tab-panel.vue +66 -64
  179. package/dist/tabs/tabs.vue +294 -287
  180. package/dist/tag/tag.vue +79 -77
  181. package/dist/textarea/props.ts +6 -6
  182. package/dist/textarea/textarea.vue +127 -126
  183. package/dist/textarea/type.ts +3 -3
  184. package/dist/toast/toast.vue +107 -106
  185. package/dist/transition/transition.vue +30 -28
  186. package/dist/tree-select/tree-select.vue +151 -151
  187. package/dist/types/config-provider.d.ts +7 -0
  188. package/dist/types/index.d.ts +2 -0
  189. package/dist/types/popover.d.ts +7 -0
  190. package/dist/upload/README.en-US.md +13 -14
  191. package/dist/upload/README.md +11 -12
  192. package/dist/upload/props.ts +2 -4
  193. package/dist/upload/type.ts +12 -11
  194. package/dist/upload/upload.css +1 -1
  195. package/dist/upload/upload.vue +672 -512
  196. package/dist/watermark/watermark.vue +151 -149
  197. package/global.d.ts +2 -0
  198. package/package.json +16 -2
  199. package/dist/form/form-item-props.ts +0 -56
package/dist/form/type.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC
5
5
  * */
6
6
 
7
- import type { IsEmailOptions } from '../common/common';
8
- import type { IsURLOptions } from '../common/common';
7
+ import type { IsEmailOptions } from 'validator/es/lib/isEmail';
8
+ import type { IsURLOptions } from 'validator/es/lib/isURL';
9
9
  import type { FormResetEvent, FormSubmitEvent } from '../common/common';
10
10
 
11
11
  export interface TdFormProps<FormData extends Data = Data> {
@@ -14,20 +14,11 @@ export interface TdFormProps<FormData extends Data = Data> {
14
14
  * @default false
15
15
  */
16
16
  colon?: boolean;
17
- /**
18
- * 表单内容对齐方式:左对齐、右对齐
19
- * @default left
20
- */
21
- contentAlign?: 'left' | 'right';
22
17
  /**
23
18
  * 表单数据
24
19
  * @default {}
25
20
  */
26
21
  data?: FormData;
27
- /**
28
- * 是否禁用整个表单
29
- */
30
- disabled?: boolean;
31
22
  /**
32
23
  * 表单错误信息配置,示例:`{ idcard: '请输入正确的身份证号码', max: '字符长度不能超过 ${max}' }`
33
24
  */
@@ -42,10 +33,6 @@ export interface TdFormProps<FormData extends Data = Data> {
42
33
  * @default '81px'
43
34
  */
44
35
  labelWidth?: string | number;
45
- /**
46
- * 是否整个表单只读
47
- */
48
- readonly?: boolean;
49
36
  /**
50
37
  * 是否显示必填符号(*),默认显示
51
38
  */
@@ -115,58 +102,6 @@ export interface FormInstanceFunctions<FormData extends Data = Data> {
115
102
  validate: (params?: FormValidateParams) => Promise<FormValidateResult<FormData>>;
116
103
  }
117
104
 
118
-
119
- export interface TdFormItemProps {
120
- /**
121
- * 是否显示右侧箭头
122
- * @default false
123
- */
124
- arrow?: boolean;
125
- /**
126
- * 表单内容对齐方式,优先级高于 Form.contentAlign
127
- */
128
- contentAlign?: 'left' | 'right';
129
- /**
130
- * label 原生属性
131
- * @default ''
132
- */
133
- for?: string;
134
- /**
135
- * 表单项说明内容
136
- */
137
- help?: string;
138
- /**
139
- * 字段标签名称
140
- * @default ''
141
- */
142
- label?: string;
143
- /**
144
- * 表单字段标签对齐方式:左对齐、右对齐、顶部对齐。默认使用 Form 的对齐方式,优先级高于 Form.labelAlign
145
- */
146
- labelAlign?: 'left' | 'right' | 'top';
147
- /**
148
- * 可以整体设置标签宽度,优先级高于 Form.labelWidth
149
- */
150
- labelWidth?: string | number;
151
- /**
152
- * 表单字段名称
153
- * @default ''
154
- */
155
- name?: string;
156
- /**
157
- * 是否显示必填符号(*),优先级高于 Form.requiredMark
158
- */
159
- requiredMark?: boolean;
160
- /**
161
- * 表单字段校验规则
162
- */
163
- rules?: Array<FormRule>;
164
- /**
165
- * 校验不通过时,是否显示错误提示信息,优先级高于 `Form.showErrorMessage`
166
- */
167
- showErrorMessage?: boolean;
168
- }
169
-
170
105
  export interface FormRule {
171
106
  /**
172
107
  * 内置校验方法,校验值类型是否为布尔类型,示例:`{ boolean: true, message: '数据类型必须是布尔类型' }`
@@ -236,7 +171,7 @@ export interface FormRule {
236
171
  */
237
172
  url?: boolean | IsURLOptions;
238
173
  /**
239
- * 自定义校验规则,示例:`{ validator: (val) => val.length > 0, message: '请输入内容'}`
174
+ * 自定义校验规则,context 中 formData 为当前完整表单值,name为该字段的标识,示例:`{ validator: (val) => val.length > 0, message: '请输入内容'}`
240
175
  */
241
176
  validator?: CustomValidator;
242
177
  /**
@@ -373,7 +308,10 @@ export interface IsDateOptions {
373
308
  delimiters: string[];
374
309
  }
375
310
 
376
- export type CustomValidator = (val: ValueType) => CustomValidateResolveType | Promise<CustomValidateResolveType>;
311
+ export type CustomValidator = (
312
+ val: ValueType,
313
+ context?: { formData: Data; name: string },
314
+ ) => CustomValidateResolveType | Promise<CustomValidateResolveType>;
377
315
 
378
316
  export type CustomValidateResolveType = boolean | CustomValidateObj;
379
317
 
@@ -384,4 +322,3 @@ export interface CustomValidateObj {
384
322
  }
385
323
 
386
324
  export type ValueType = any;
387
-
@@ -8,15 +8,13 @@ name | type | default | description | required
8
8
  -- | -- | -- | -- | --
9
9
  custom-style | Object | - | CSS(Cascading Style Sheets) | N
10
10
  arrow | Boolean | false | \- | N
11
- content-align | String | - | options: left/right | N
12
- for | String | - | \- | N
13
11
  help | String | - | \- | N
14
12
  label | String | '' | \- | N
15
13
  label-align | String | - | options: left/right/top | N
16
14
  label-width | String / Number | - | \- | N
17
15
  name | String | - | \- | N
18
16
  required-mark | Boolean | undefined | \- | N
19
- rules | Array | - | Typescript: `Array<FormRule>` | N
17
+ rules | Array | - | Typescript: `Array<FormRule> `,[Form API Documents](./form?tab=api)。[see more ts definition](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/form-item/type.ts) | N
20
18
  show-error-message | Boolean | undefined | \- | N
21
19
 
22
20
  ### FormItem Slots
@@ -31,7 +29,8 @@ label | \-
31
29
  The component provides the following CSS variables, which can be used to customize styles.
32
30
  Name | Default Value | Description
33
31
  -- | -- | --
32
+ --td-form-item-border-color | @component-stroke | -
33
+ --td-form-item-border-left-space | @form-item-vertical-padding | -
34
+ --td-form-item-border-right-space | 0 | -
34
35
  --td-form-item-horizontal-padding | 32rpx | -
35
- --td-form-item-justify-content | space-between | -
36
- --td-form-item-label-width | 160rpx | -
37
36
  --td-form-item-vertical-padding | 32rpx | -
@@ -8,15 +8,13 @@
8
8
  -- | -- | -- | -- | --
9
9
  custom-style | Object | - | 自定义样式 | N
10
10
  arrow | Boolean | false | 是否显示右侧箭头 | N
11
- content-align | String | - | 表单内容对齐方式,优先级高于 Form.contentAlign。可选项:left/right | N
12
- for | String | - | label 原生属性 | N
13
11
  help | String | - | 表单项说明内容 | N
14
12
  label | String | '' | 字段标签名称 | N
15
13
  label-align | String | - | 表单字段标签对齐方式:左对齐、右对齐、顶部对齐。默认使用 Form 的对齐方式,优先级高于 Form.labelAlign。可选项:left/right/top | N
16
14
  label-width | String / Number | - | 可以整体设置标签宽度,优先级高于 Form.labelWidth | N
17
15
  name | String | - | 表单字段名称 | N
18
16
  required-mark | Boolean | undefined | 是否显示必填符号(*),优先级高于 Form.requiredMark | N
19
- rules | Array | - | 表单字段校验规则。TS 类型:`Array<FormRule>` | N
17
+ rules | Array | - | 表单字段校验规则。TS 类型:`Array<FormRule> `,[Form API Documents](./form?tab=api)。[详细类型定义](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/form-item/type.ts) | N
20
18
  show-error-message | Boolean | undefined | 校验不通过时,是否显示错误提示信息,优先级高于 `Form.showErrorMessage` | N
21
19
 
22
20
  ### FormItem Slots
@@ -31,7 +29,8 @@ label | 自定义 `label` 显示内容
31
29
  组件提供了下列 CSS 变量,可用于自定义样式。
32
30
  名称 | 默认值 | 描述
33
31
  -- | -- | --
32
+ --td-form-item-border-color | @component-stroke | -
33
+ --td-form-item-border-left-space | @form-item-vertical-padding | -
34
+ --td-form-item-border-right-space | 0 | -
34
35
  --td-form-item-horizontal-padding | 32rpx | -
35
- --td-form-item-justify-content | space-between | -
36
- --td-form-item-label-width | 160rpx | -
37
36
  --td-form-item-vertical-padding | 32rpx | -
@@ -1,125 +1,98 @@
1
1
  /* Less 支持测试 - 监听功能验证 */
2
- .t-form-item {
3
- position: relative;
2
+ .t-form__item {
4
3
  display: flex;
5
- align-items: flex-start;
6
- justify-content: var(--td-form-item-justify-content, space-between);
7
- width: 100%;
8
- padding: var(--td-form-item-vertical-padding, 32rpx) var(--td-form-item-horizontal-padding, 32rpx);
9
- background-color: var(--td-form-bg-color, var(--td-bg-color-container, var(--td-font-white-1, #ffffff)));
10
- --td-input-vertical-padding: 0rpx;
11
- --td-textarea-vertical-padding: 0rpx;
12
- --td-textarea-horizontal-padding: 0rpx;
13
4
  box-sizing: border-box;
5
+ padding: var(--td-form-item-vertical-padding, 32rpx) var(--td-form-item-horizontal-padding, 32rpx);
6
+ position: relative;
7
+ --td-cell-vertical-padding: 0;
8
+ --td-cell-horizontal-padding: 0;
9
+ --td-input-vertical-padding: 0;
10
+ --td-textarea-padding: 0;
14
11
  }
15
- .t-form-item--top {
12
+ .t-form__item:not(:last-child)::after {
13
+ position: absolute;
14
+ box-sizing: border-box;
15
+ content: ' ';
16
+ pointer-events: none;
17
+ right: 0;
18
+ left: 0;
19
+ bottom: 0;
20
+ border-bottom: 1px solid var(--td-form-item-border-color, var(--td-component-stroke, var(--td-gray-color-3, #e7e7e7)));
21
+ transform: scaleY(0.5);
22
+ left: var(--td-form-item-border-left-space, var(--td-form-item-vertical-padding, 32rpx));
23
+ right: var(--td-form-item-border-right-space, 0);
24
+ }
25
+ .t-form__item-help,
26
+ .t-form__item-extra {
16
27
  display: flex;
17
- flex-direction: column;
18
- }
19
- .t-form-item--bordered {
20
- border-bottom: 1rpx solid var(--td-border-color, var(--td-gray-color-3, #e7e7e7));
21
- }
22
- .t-form-item--error .t-form-item__error {
23
- color: var(--td-error-color, var(--td-error-color-6, #d54941));
24
- }
25
- .t-form-item--success .t-form-item__success {
26
- color: var(--td-success-color, var(--td-success-color-5, #2ba471));
28
+ font-size: var(--td-font-size-s, 24rpx);
29
+ margin: 0;
30
+ width: 100%;
31
+ height: auto;
32
+ min-height: 40rpx;
33
+ margin-top: 8rpx;
27
34
  }
28
- .t-form-item__label {
29
- position: relative;
30
- display: flex;
31
- align-items: center;
32
- width: var(--td-form-item-label-width, 160rpx);
33
- margin-right: 16rpx;
34
- font-size: var(--td-font-size-m, 32rpx);
35
- color: var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9)));
36
- line-height: 1.5;
35
+ .t-form__item-help {
36
+ color: var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26)));
37
37
  }
38
- .t-form-item__label--required {
39
- color: var(--td-error-color, var(--td-error-color-6, #d54941));
40
- margin-right: 4rpx;
38
+ .t-form__item--error {
39
+ color: var(--td-error-color-6, #d54941);
41
40
  }
42
- .t-form-item__label--colon {
43
- margin-left: 4rpx;
41
+ .t-form__item--warning {
42
+ color: var(--td-warning-color-5, #e37318);
44
43
  }
45
- .t-form-item__label--left {
44
+ .t-form__item-wrap {
45
+ width: 100%;
46
46
  display: flex;
47
- align-items: center;
48
- justify-content: flex-start;
49
47
  }
50
- .t-form-item__label--right {
48
+ .t-form__item--top {
51
49
  display: flex;
52
- align-items: center;
53
- justify-content: flex-end;
54
- }
55
- .t-form-item__label--top {
56
- position: relative;
57
- margin-right: 0;
58
- width: 100%;
59
- }
60
- .t-form-item__controls {
61
- flex: 1;
62
- width: 100%;
50
+ flex-direction: column;
63
51
  }
64
- .t-form-item__controls-content {
65
- width: 100%;
66
- display: flex;
52
+ .t-form--top {
67
53
  align-items: center;
68
- justify-content: space-between;
69
54
  }
70
- .t-form-item__controls-content--left {
71
- justify-content: flex-start;
72
- }
73
- .t-form-item__controls-content--right {
74
- justify-content: flex-end;
55
+ .t-form__label {
56
+ padding-right: 32rpx;
57
+ vertical-align: middle;
58
+ line-height: 48rpx;
59
+ color: var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9)));
60
+ box-sizing: border-box;
61
+ word-break: break-all;
75
62
  }
76
- .t-form-item__help {
77
- font-size: var(--td-font-size-s, 24rpx);
78
- color: var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26)));
79
- line-height: 1.4;
63
+ .t-form__label--top {
64
+ padding-bottom: 16rpx;
80
65
  }
81
- .t-form-item__help--left {
66
+ .t-form__label--left {
82
67
  text-align: left;
83
68
  }
84
- .t-form-item__help--right {
69
+ .t-form__label--right {
85
70
  text-align: right;
86
71
  }
87
- .t-form-item__desc-link {
88
- margin-top: 8rpx;
89
- color: var(--td-primary-color-7, #0052d9);
90
- font-size: var(--td-font-size-s, 24rpx);
91
- line-height: 1.4;
92
- }
93
- .t-form-item__error {
94
- margin-top: 4rpx;
95
- font-size: var(--td-font-size-s, 24rpx);
96
- line-height: 1.4;
97
- }
98
- .t-form-item__error--error {
99
- color: var(--td-error-color, var(--td-error-color-6, #d54941));
72
+ .t-form__label--required:not(.t-form__label--required-right) label::before {
73
+ display: inline;
74
+ margin-right: calc(var(--td-spacer, 16rpx) / 2);
75
+ color: var(--td-error-color-6, #d54941);
76
+ content: '*';
100
77
  }
101
- .t-form-item__error--warning {
102
- color: var(--td-warning-color, var(--td-warning-color-5, #e37318));
78
+ .t-form__label--required-right label::after {
79
+ display: inline;
80
+ margin-left: calc(var(--td-spacer, 16rpx) / 2);
81
+ color: var(--td-error-color-6, #d54941);
82
+ content: '*';
103
83
  }
104
- .t-form-item__success {
105
- margin-top: 4rpx;
106
- font-size: var(--td-font-size-s, 24rpx);
107
- color: var(--td-success-color, var(--td-success-color-5, #2ba471));
108
- line-height: 1.4;
84
+ .t-form__controls {
85
+ flex: 1;
86
+ position: relative;
109
87
  }
110
- .t-form-item__arrow {
88
+ .t-form__controls-content {
111
89
  display: flex;
112
90
  align-items: center;
113
- margin-left: 8rpx;
114
- color: var(--td-text-color-placeholder, var(--td-font-gray-3, rgba(0, 0, 0, 0.4)));
91
+ min-height: 48rpx;
115
92
  }
116
- .t-form-item__extra {
117
- margin-left: 16rpx;
93
+ .t-form__controls--left {
94
+ justify-content: flex-start;
118
95
  }
119
- .desc-wrapper {
120
- display: flex;
121
- align-items: center;
122
- gap: 12rpx;
123
- height: 50rpx;
124
- --td-button-font-weight: 400;
96
+ .t-form__controls--right {
97
+ justify-content: flex-end;
125
98
  }