@tdesign/uniapp 0.7.3 → 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 (197) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  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/checkbox.vue +127 -127
  26. package/dist/checkbox/props.ts +6 -6
  27. package/dist/checkbox/type.ts +3 -3
  28. package/dist/checkbox-group/checkbox-group.vue +175 -173
  29. package/dist/checkbox-group/props.ts +6 -6
  30. package/dist/checkbox-group/type.ts +4 -4
  31. package/dist/col/col.vue +26 -24
  32. package/dist/collapse/collapse.vue +83 -81
  33. package/dist/collapse-panel/collapse-panel.vue +121 -119
  34. package/dist/collapse-panel/props.ts +4 -4
  35. package/dist/collapse-panel/type.ts +2 -2
  36. package/dist/color-picker/README.md +1 -1
  37. package/dist/color-picker/color-picker.vue +324 -322
  38. package/dist/color-picker/props.ts +2 -2
  39. package/dist/color-picker/template.vue +14 -10
  40. package/dist/common/common.ts +1 -0
  41. package/dist/common/style/theme/index.css +5 -5
  42. package/dist/common/utils.js +7 -2
  43. package/dist/common/validator.js +172 -0
  44. package/dist/config-provider/README.en-US.md +184 -0
  45. package/dist/config-provider/README.md +234 -0
  46. package/dist/config-provider/config-provider.vue +105 -0
  47. package/dist/config-provider/config-store.js +70 -0
  48. package/dist/config-provider/props.ts +16 -0
  49. package/dist/config-provider/reactive-state.js +39 -0
  50. package/dist/config-provider/type.ts +401 -0
  51. package/dist/config-provider/use-config.js +29 -0
  52. package/dist/config-provider/utils.js +29 -0
  53. package/dist/count-down/count-down.vue +98 -97
  54. package/dist/date-time-picker/date-time-picker.vue +410 -395
  55. package/dist/demo/demo.vue +1 -0
  56. package/dist/dialog/dialog.vue +175 -173
  57. package/dist/divider/divider.vue +38 -36
  58. package/dist/draggable/draggable.vue +60 -58
  59. package/dist/drawer/README.md +1 -1
  60. package/dist/drawer/drawer.vue +48 -46
  61. package/dist/dropdown-item/dropdown-item.vue +209 -207
  62. package/dist/dropdown-item/props.ts +4 -4
  63. package/dist/dropdown-item/type.ts +3 -3
  64. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  65. package/dist/empty/empty.vue +43 -42
  66. package/dist/fab/fab.vue +88 -86
  67. package/dist/footer/footer.vue +36 -34
  68. package/dist/form/README.en-US.md +17 -24
  69. package/dist/form/README.md +18 -25
  70. package/dist/form/form.css +1 -166
  71. package/dist/form/form.vue +251 -236
  72. package/dist/form/props.ts +2 -21
  73. package/dist/form/type.ts +7 -70
  74. package/dist/form-item/README.en-US.md +4 -5
  75. package/dist/form-item/README.md +4 -5
  76. package/dist/form-item/form-item.css +69 -96
  77. package/dist/form-item/form-item.vue +315 -336
  78. package/dist/form-item/form-model.ts +125 -173
  79. package/dist/form-item/props.ts +4 -17
  80. package/dist/form-item/type.ts +43 -1
  81. package/dist/grid/grid.vue +53 -51
  82. package/dist/grid-item/grid-item.vue +121 -119
  83. package/dist/guide/README.md +1 -1
  84. package/dist/guide/guide.vue +281 -277
  85. package/dist/icon/README.md +2 -4
  86. package/dist/icon/icon.vue +78 -76
  87. package/dist/image/README.md +1 -1
  88. package/dist/image/image.vue +103 -101
  89. package/dist/image-viewer/image-viewer.vue +160 -158
  90. package/dist/image-viewer/props.ts +2 -2
  91. package/dist/image-viewer/type.ts +1 -1
  92. package/dist/index.js +3 -0
  93. package/dist/indexes/indexes.vue +264 -267
  94. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  95. package/dist/input/input.vue +192 -192
  96. package/dist/input/props.ts +6 -6
  97. package/dist/input/type.ts +3 -3
  98. package/dist/link/link.vue +73 -71
  99. package/dist/loading/loading.vue +59 -59
  100. package/dist/locale/ar_KW.ts +157 -0
  101. package/dist/locale/en_US.ts +146 -0
  102. package/dist/locale/it_IT.ts +145 -0
  103. package/dist/locale/ja_JP.ts +132 -0
  104. package/dist/locale/ko_KR.ts +132 -0
  105. package/dist/locale/ru_RU.ts +157 -0
  106. package/dist/locale/zh_CN.ts +133 -0
  107. package/dist/locale/zh_TW.ts +132 -0
  108. package/dist/message/message.vue +181 -173
  109. package/dist/message/props.ts +2 -2
  110. package/dist/message/type.ts +1 -1
  111. package/dist/message-item/message-item.vue +192 -184
  112. package/dist/mixins/using-config.js +39 -0
  113. package/dist/navbar/navbar.vue +201 -199
  114. package/dist/notice-bar/notice-bar.vue +175 -171
  115. package/dist/notice-bar/props.ts +2 -2
  116. package/dist/notice-bar/type.ts +1 -1
  117. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  118. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  119. package/dist/overlay/overlay.vue +50 -48
  120. package/dist/picker/picker.vue +168 -161
  121. package/dist/picker-item/picker-item.vue +269 -269
  122. package/dist/popover/README.md +1 -1
  123. package/dist/popover/popover.vue +262 -261
  124. package/dist/popover/props.ts +4 -4
  125. package/dist/popover/type.ts +2 -2
  126. package/dist/popup/popup.vue +46 -45
  127. package/dist/progress/README.md +1 -1
  128. package/dist/progress/progress.vue +76 -76
  129. package/dist/pull-down-refresh/props.ts +2 -2
  130. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  131. package/dist/pull-down-refresh/type.ts +1 -1
  132. package/dist/qrcode/README.md +1 -1
  133. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  134. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  135. package/dist/qrcode/qrcode.vue +93 -87
  136. package/dist/radio/props.ts +6 -6
  137. package/dist/radio/radio.vue +118 -120
  138. package/dist/radio/type.ts +3 -3
  139. package/dist/radio-group/props.ts +4 -4
  140. package/dist/radio-group/radio-group.vue +136 -134
  141. package/dist/radio-group/type.ts +4 -4
  142. package/dist/rate/computed.js +2 -2
  143. package/dist/rate/props.ts +4 -4
  144. package/dist/rate/rate.vue +155 -154
  145. package/dist/rate/type.ts +2 -2
  146. package/dist/result/result.vue +41 -39
  147. package/dist/row/row.vue +38 -36
  148. package/dist/scroll-view/scroll-view.vue +24 -22
  149. package/dist/search/props.ts +2 -2
  150. package/dist/search/search.vue +127 -125
  151. package/dist/search/type.ts +1 -1
  152. package/dist/side-bar/side-bar.vue +57 -55
  153. package/dist/side-bar-item/side-bar-item.vue +86 -86
  154. package/dist/skeleton/skeleton.vue +126 -124
  155. package/dist/slider/README.md +1 -1
  156. package/dist/slider/props.ts +2 -2
  157. package/dist/slider/slider.vue +457 -457
  158. package/dist/slider/type.ts +1 -1
  159. package/dist/step-item/step-item.vue +77 -75
  160. package/dist/stepper/props.ts +2 -2
  161. package/dist/stepper/stepper.vue +168 -149
  162. package/dist/stepper/type.ts +1 -1
  163. package/dist/steps/props.ts +2 -2
  164. package/dist/steps/steps.vue +83 -81
  165. package/dist/steps/type.ts +1 -1
  166. package/dist/sticky/sticky.vue +104 -102
  167. package/dist/swipe-cell/swipe-cell.vue +91 -89
  168. package/dist/swiper/README.md +1 -1
  169. package/dist/swiper/swiper.vue +91 -89
  170. package/dist/swiper-nav/swiper-nav.vue +38 -36
  171. package/dist/switch/props.ts +2 -2
  172. package/dist/switch/switch.vue +62 -62
  173. package/dist/switch/type.ts +1 -1
  174. package/dist/tab-bar/tab-bar.vue +88 -86
  175. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  176. package/dist/tab-panel/tab-panel.vue +66 -64
  177. package/dist/tabs/tabs.vue +294 -287
  178. package/dist/tag/tag.vue +79 -77
  179. package/dist/textarea/props.ts +6 -6
  180. package/dist/textarea/textarea.vue +127 -126
  181. package/dist/textarea/type.ts +3 -3
  182. package/dist/toast/toast.vue +107 -106
  183. package/dist/transition/transition.vue +30 -28
  184. package/dist/tree-select/tree-select.vue +151 -151
  185. package/dist/types/config-provider.d.ts +7 -0
  186. package/dist/types/index.d.ts +2 -0
  187. package/dist/types/popover.d.ts +7 -0
  188. package/dist/upload/README.en-US.md +13 -14
  189. package/dist/upload/README.md +11 -12
  190. package/dist/upload/props.ts +2 -4
  191. package/dist/upload/type.ts +12 -11
  192. package/dist/upload/upload.css +1 -1
  193. package/dist/upload/upload.vue +672 -512
  194. package/dist/watermark/watermark.vue +151 -149
  195. package/global.d.ts +2 -0
  196. package/package.json +15 -3
  197. 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
  }