@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
@@ -31,8 +31,8 @@ export default {
31
31
  },
32
32
  /** 系统预设的颜色样例,值为 `null` 或 `[]` 则不显示系统色,值为 `undefined` 会显示组件内置的系统默认色 */
33
33
  swatchColors: {
34
- type: Array,
35
- default: undefined as TdColorPickerProps['swatchColors'],
34
+ type: [Array, null],
35
+ default: null as TdColorPickerProps['swatchColors'],
36
36
  },
37
37
  /** 颜色选择器类型。(base 表示仅展示系统预设内容; multiple 表示展示色板和系统预设内容 */
38
38
  type: {
@@ -16,7 +16,7 @@
16
16
  v-if="isMultiple"
17
17
  :class="classPrefix + '__saturation'"
18
18
  data-type="saturation"
19
- :style="'background: hsl(' + sliderInfo.value + ', 100%, 50%)'"
19
+ :style="'' + `background: hsl(${sliderInfo.value}, 100%, 50%)`"
20
20
  @touchstart.stop.prevent="onTouchStart"
21
21
  @touchmove.stop.prevent="onTouchMove"
22
22
  @touchend.stop.prevent="onTouchEnd"
@@ -24,7 +24,7 @@
24
24
  <view
25
25
  :class="classPrefix + '__thumb'"
26
26
  :tab-index="0"
27
- :style="utils._style(saturationThumbStyle)"
27
+ :style="'' + utils._style(saturationThumbStyle)"
28
28
  />
29
29
  </view>
30
30
  <!-- #ifdef MP-ALIPAY -->
@@ -53,7 +53,7 @@
53
53
  <view :class="classPrefix + '__rail'" />
54
54
  <view
55
55
  :class="classPrefix + '__thumb'"
56
- :style="utils._style(hueSliderStyle)"
56
+ :style="'' + utils._style(hueSliderStyle)"
57
57
  />
58
58
  </view>
59
59
  </view>
@@ -64,9 +64,7 @@
64
64
  >
65
65
  <view
66
66
  :class="classPrefix + '__slider-padding'"
67
- :style="
68
- 'background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, ' + alphaSliderStyle.color + ' 93%, ' + alphaSliderStyle.color + ' 100%)'
69
- "
67
+ :style="'' + `background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, ${alphaSliderStyle.color} 93%, ${alphaSliderStyle.color} 100%)`"
70
68
  :disable-scroll="false"
71
69
  />
72
70
  <view
@@ -78,11 +76,11 @@
78
76
  >
79
77
  <view
80
78
  :class="classPrefix + '__rail'"
81
- :style="'background: linear-gradient(to right, rgba(0, 0, 0, 0), ' + alphaSliderStyle.color + ')'"
79
+ :style="'' + `background: linear-gradient(to right, rgba(0, 0, 0, 0), ${alphaSliderStyle.color})`"
82
80
  />
83
81
  <view
84
82
  :class="classPrefix + '__thumb'"
85
- :style="utils._style(alphaSliderStyle)"
83
+ :style="'' + utils._style(alphaSliderStyle)"
86
84
  />
87
85
  </view>
88
86
  </view>
@@ -129,7 +127,13 @@
129
127
  >
130
128
  系统预设色彩
131
129
  </view>
132
- <view :class="classPrefix + '__swatches-items'">
130
+ <scroll-view
131
+ :class="classPrefix + '__swatches-items'"
132
+ scroll-x
133
+ enable-flex
134
+ scroll-anchoring
135
+ type="list"
136
+ >
133
137
  <view
134
138
  v-for="(swatch, index) in innerSwatchList"
135
139
  :key="index"
@@ -142,7 +146,7 @@
142
146
  :style="'background-color: ' + swatch + ';'"
143
147
  />
144
148
  </view>
145
- </view>
149
+ </scroll-view>
146
150
  </view>
147
151
  </view>
148
152
  </view>
@@ -96,6 +96,7 @@ export interface IsURLOptions {
96
96
  disallow_auth?: boolean;
97
97
  validate_length?: boolean;
98
98
  }
99
+
99
100
  /**
100
101
  * 通用全局类型
101
102
  * */
@@ -327,10 +327,10 @@
327
327
  /* ./raw/_radius.less */
328
328
  page,
329
329
  .page {
330
- --td-radius-small: 12px;
331
- --td-radius-default: 24px;
332
- --td-radius-large: 36px;
333
- --td-radius-extraLarge: 48px;
330
+ --td-radius-small: 3px;
331
+ --td-radius-default: 6px;
332
+ --td-radius-large: 9px;
333
+ --td-radius-extraLarge: 12px;
334
334
  --td-radius-round: 999px;
335
335
  --td-radius-circle: 50%;
336
336
  }
@@ -413,7 +413,7 @@ page,
413
413
  --td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large)
414
414
  var(--td-font-family);
415
415
 
416
- --td-font-size: 40px;
416
+ --td-font-size: 10px;
417
417
  --td-font-size-xs: var(--td-font-size-body-extraSmall);
418
418
  --td-font-size-s: var(--td-font-size-body-small);
419
419
  --td-font-size-base: var(--td-font-size-title-small);
@@ -236,7 +236,7 @@ export const chunk = (arr, size) => Array.from({ length: Math.ceil(arr.length /
236
236
  const getPageContext = () => {
237
237
  const pages = getCurrentPages();
238
238
  const page = pages[pages.length - 1];
239
- return (page).$$basePage || page;
239
+ return page?.$vm || page;
240
240
  };
241
241
 
242
242
 
@@ -244,9 +244,14 @@ const findInstance = (context, pageContext, pureSelector) => {
244
244
  if (context && context.$refs[pureSelector]) {
245
245
  return context.$refs[pureSelector];
246
246
  }
247
- if (pageContext && pageContext.$refs[pureSelector]) {
247
+
248
+ if (pageContext
249
+ && pageContext.$refs
250
+ && pageContext.$refs[pureSelector]
251
+ ) {
248
252
  return pageContext.$refs[pureSelector];
249
253
  }
254
+
250
255
  return null;
251
256
  };
252
257
 
@@ -36,3 +36,175 @@ export function isObject(x) {
36
36
  export function isPlainObject(val) {
37
37
  return val !== null && typeof val === 'object' && Object.prototype.toString.call(val) === '[object Object]';
38
38
  }
39
+
40
+ export function isEmpty(val) {
41
+ if (val === null || val === undefined) return true;
42
+ if (typeof val === 'string' || Array.isArray(val)) return val.length === 0;
43
+ if (val instanceof Map || val instanceof Set) return val.size === 0;
44
+ if (typeof val === 'object') return Object.keys(val).length === 0;
45
+ return true;
46
+ }
47
+
48
+ /**
49
+ * 验证是否为有效日期
50
+ * 支持字符串格式(YYYY/MM/DD、YYYY-MM-DD 等)和 Date 对象
51
+ */
52
+ export function isDate(input, options) {
53
+ const defaultOptions = {
54
+ format: 'YYYY/MM/DD',
55
+ delimiters: ['/', '-'],
56
+ strictMode: false,
57
+ };
58
+ const opts = { ...defaultOptions, ...options };
59
+
60
+ if (typeof input === 'string') {
61
+ const delimiter = opts.delimiters.find((d) => opts.format.includes(d));
62
+ if (!delimiter) return false;
63
+
64
+ const formatParts = opts.format.split(delimiter);
65
+ const dateParts = input.split(delimiter);
66
+ if (formatParts.length !== dateParts.length) return false;
67
+
68
+ let year = '';
69
+ let month = '';
70
+ let day = '';
71
+ for (let i = 0; i < formatParts.length; i += 1) {
72
+ const fmt = formatParts[i].toUpperCase();
73
+ const val = dateParts[i];
74
+ if (fmt.includes('Y')) year = val;
75
+ else if (fmt.includes('M')) month = val;
76
+ else if (fmt.includes('D')) day = val;
77
+ }
78
+
79
+ if (month.length === 1) month = `0${month}`;
80
+ if (day.length === 1) day = `0${day}`;
81
+
82
+ if (year.length === 2) {
83
+ const currentYearSuffix = new Date().getFullYear() % 100;
84
+ year = Number(year) <= currentYearSuffix ? `20${year}` : `19${year}`;
85
+ }
86
+
87
+ const date = new Date(`${year}-${month}-${day}T00:00:00.000Z`);
88
+ return (
89
+ date.getUTCFullYear() === Number(year)
90
+ && date.getUTCMonth() + 1 === Number(month)
91
+ && date.getUTCDate() === Number(day)
92
+ );
93
+ }
94
+
95
+ if (!opts.strictMode) {
96
+ if (Object.prototype.toString.call(input) === '[object Date]' && Number.isFinite(input.getTime())) {
97
+ return true;
98
+ }
99
+ }
100
+
101
+ return false;
102
+ }
103
+
104
+ /**
105
+ * 验证是否为有效邮箱地址
106
+ */
107
+ export function isEmail(str) {
108
+ if (typeof str !== 'string') return false;
109
+ if (str.length > 254) return false;
110
+
111
+ const parts = str.split('@');
112
+ if (parts.length !== 2) return false;
113
+
114
+ const [user, domain] = parts;
115
+ if (!user || user.length > 64) return false;
116
+ if (!domain) return false;
117
+
118
+ if (/^[-.]/.test(domain) || /[-.]$/.test(domain)) return false;
119
+ if (!/^[a-zA-Z0-9.-]+$/.test(domain)) return false;
120
+ if (!domain.includes('.')) return false;
121
+
122
+ const tld = domain.split('.').pop();
123
+ if (!tld || tld.length < 2) return false;
124
+
125
+ const emailUserReg = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/;
126
+ return emailUserReg.test(user);
127
+ }
128
+
129
+ /**
130
+ * 验证是否为有效 URL
131
+ */
132
+ export function isURL(str, options) {
133
+ if (typeof str !== 'string') return false;
134
+ if (str.length === 0 || /\s/.test(str)) return false;
135
+ if (str.length > 2084) return false;
136
+
137
+ const defaultOpts = {
138
+ protocols: ['http', 'https', 'ftp'],
139
+ require_tld: true,
140
+ require_protocol: false,
141
+ require_host: true,
142
+ allow_protocol_relative_urls: false,
143
+ };
144
+ const opts = { ...defaultOpts, ...options };
145
+
146
+ let url = str;
147
+
148
+ const protocolRegex = /^([a-z][a-z0-9+\-.]*):\/\//i;
149
+ const protocolMatch = url.match(protocolRegex);
150
+ if (protocolMatch) {
151
+ const protocol = protocolMatch[1].toLowerCase();
152
+ if (!opts.protocols.includes(protocol)) return false;
153
+ url = url.slice(protocolMatch[0].length);
154
+ } else if (opts.require_protocol) {
155
+ if (opts.allow_protocol_relative_urls && str.startsWith('//')) {
156
+ url = url.slice(2);
157
+ } else {
158
+ return false;
159
+ }
160
+ } else if (str.startsWith('//')) {
161
+ if (!opts.allow_protocol_relative_urls) return false;
162
+ url = url.slice(2);
163
+ }
164
+
165
+ if (!url && opts.require_host) return false;
166
+
167
+ const [hostPart] = url.split(/[/?#]/);
168
+ if (!hostPart && opts.require_host) return false;
169
+
170
+ let host = hostPart;
171
+ if (host.includes('@')) {
172
+ host = host.split('@').pop() || '';
173
+ }
174
+
175
+ let hostname = host;
176
+ const portMatch = host.match(/:(\d+)$/);
177
+ if (portMatch) {
178
+ const port = Number(portMatch[1]);
179
+ if (port < 0 || port > 65535) return false;
180
+ hostname = host.slice(0, host.lastIndexOf(':'));
181
+ }
182
+
183
+ if (!hostname) return false;
184
+
185
+ const ipv4Regex = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
186
+ const ipv4Match = hostname.match(ipv4Regex);
187
+ if (ipv4Match) {
188
+ return ipv4Match.slice(1).every((part) => Number(part) >= 0 && Number(part) <= 255);
189
+ }
190
+
191
+ if (hostname.startsWith('[') && hostname.endsWith(']')) {
192
+ return true;
193
+ }
194
+
195
+ const domainParts = hostname.split('.');
196
+ if (opts.require_tld && domainParts.length < 2) return false;
197
+ const hasInvalidPart = domainParts.some((part) => {
198
+ if (!part || part.length > 63) return true;
199
+ if (!/^[a-zA-Z0-9-]+$/.test(part)) return true;
200
+ if (part.startsWith('-') || part.endsWith('-')) return true;
201
+ return false;
202
+ });
203
+ if (hasInvalidPart) return false;
204
+ if (opts.require_tld) {
205
+ const tld = domainParts[domainParts.length - 1];
206
+ if (/^\d+$/.test(tld)) return false;
207
+ }
208
+
209
+ return true;
210
+ }
@@ -0,0 +1,184 @@
1
+ :: BASE_DOC ::
2
+
3
+ ## API
4
+
5
+ ### ConfigProvider Props
6
+
7
+ name | type | default | description | required
8
+ -- | -- | -- | -- | --
9
+ custom-style | Object | - | CSS(Cascading Style Sheets) | N
10
+ global-config | Object | - | global config。Typescript: `GlobalConfigProvider` | N
11
+ theme-vars | Object | - | theme Variables | N
12
+
13
+ ### GlobalConfigProvider
14
+
15
+ name | type | default | description | required
16
+ -- | -- | -- | -- | --
17
+ action-sheet | Object | - | ActionSheet global configs。Typescript: `ActionSheetConfig` | N
18
+ calendar | Object | - | Calendar global configs。Typescript: `CalendarConfig` | N
19
+ cascader | Object | - | Cascader global configs。Typescript: `CascaderConfig` | N
20
+ class-prefix | String | t | \- | N
21
+ date-time-picker | Object | - | DateTimePicker global configs。Typescript: `DateTimePickerConfig` | N
22
+ dropdown-menu | Object | - | DropdownMenu global configs。Typescript: `DropdownMenuConfig` | N
23
+ guide | Object | - | Guide global configs。Typescript: `GuideConfig` | N
24
+ picker | Object | - | Picker global configs。Typescript: `PickerConfig` | N
25
+ pull-down-refresh | Object | - | PullDownRefresh global configs。Typescript: `PullDownRefreshConfig` | N
26
+ qrcode | Object | - | QRCode global configs。Typescript: `QRCodeConfig` | N
27
+ rate | Object | - | Rate global configs。Typescript: `RateConfig` | N
28
+ tab-bar | Object | - | TabBar global configs。Typescript: `TabBarConfig` | N
29
+ upload | Object | - | Upload global configs。Typescript: `UploadConfig` | N
30
+
31
+ ### ActionSheetConfig
32
+
33
+ name | type | default | description | required
34
+ -- | -- | -- | -- | --
35
+ cancel | String | - | cancel text | N
36
+
37
+ ### AttachmentsConfig
38
+
39
+ name | type | default | description | required
40
+ -- | -- | -- | -- | --
41
+ status | Object | - | Typescript: `{ pending: string; fail: string; }` | N
42
+
43
+ ### CalendarConfig
44
+
45
+ name | type | default | description | required
46
+ -- | -- | -- | -- | --
47
+ confirm | String | - | confirm text | N
48
+ month-title | String | - | \- | N
49
+ months | Array | - | Typescript: `string[]` | N
50
+ title | String | - | \- | N
51
+ weekdays | Array | - | Typescript: `string[]` | N
52
+
53
+ ### CascaderConfig
54
+
55
+ name | type | default | description | required
56
+ -- | -- | -- | -- | --
57
+ placeholder | String | - | \- | N
58
+ title | String | - | \- | N
59
+
60
+ ### ChatActionbarConfig
61
+
62
+ name | type | default | description | required
63
+ -- | -- | -- | -- | --
64
+ action-bar | Object | - | Typescript: `{ replay: string; copy: string; good: string; bad: string; share: string; quote: string; }` | N
65
+
66
+ ### ChatSenderConfig
67
+
68
+ name | type | default | description | required
69
+ -- | -- | -- | -- | --
70
+ placeholder | String | - | \- | N
71
+ send-text | String | - | \- | N
72
+ stop-text | String | - | \- | N
73
+
74
+ ### ChatThinkingConfig
75
+
76
+ name | type | default | description | required
77
+ -- | -- | -- | -- | --
78
+ status | Object | - | Typescript: `{ pending: string; complete: string; stop: string; }` | N
79
+
80
+ ### DateTimePickerConfig
81
+
82
+ name | type | default | description | required
83
+ -- | -- | -- | -- | --
84
+ cancel | String | - | \- | N
85
+ confirm | String | - | \- | N
86
+ date-label | String | - | \- | N
87
+ format | String | 'YYYY-MM-DD HH:mm:ss' | \- | N
88
+ hour-label | String | - | \- | N
89
+ minute-label | String | - | \- | N
90
+ month-label | String | - | \- | N
91
+ second-label | String | - | \- | N
92
+ title | String | - | \- | N
93
+ year-label | String | - | \- | N
94
+
95
+ ### DropdownMenuConfig
96
+
97
+ name | type | default | description | required
98
+ -- | -- | -- | -- | --
99
+ confirm | String | - | confirm text | N
100
+ reset | String | - | reset text | N
101
+
102
+ ### FormConfig
103
+
104
+ name | type | default | description | required
105
+ -- | -- | -- | -- | --
106
+ colon-text | String | - | colon on the right of label ":" | N
107
+ error-message | Object | - | Typescript: `FormErrorMessage`,[Form API Documents](./form?tab=api)。[see more ts definition](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/config-provider/type.ts) | N
108
+ required-mark | Boolean | true | \- | N
109
+ required-mark-position | String | left | Display position of required symbols。options: left/right | N
110
+
111
+ ### GuideConfig
112
+
113
+ name | type | default | description | required
114
+ -- | -- | -- | -- | --
115
+ back | String | - | \- | N
116
+ finish | String | - | \- | N
117
+ next | String | - | \- | N
118
+ skip | String | - | \- | N
119
+
120
+ ### ImageConfig
121
+
122
+ name | type | default | description | required
123
+ -- | -- | -- | -- | --
124
+ error-text | String | - | loading text, default value is "Error" | N
125
+ loading-text | String | - | loading text, default value is "loading" | N
126
+ replace-image-src | Function | - | replace all `src` attribute of images。Typescript: `(params: ImageProps) => string`,[Image API Documents](./image?tab=api)。[see more ts definition](https://github.com/tencent/tdesign-miniprogram/blob/develop/packages/uniapp-components/config-provider/type.ts) | N
127
+
128
+ ### InputConfig
129
+
130
+ name | type | default | description | required
131
+ -- | -- | -- | -- | --
132
+ placeholder | String | - | \- | N
133
+
134
+ ### PickerConfig
135
+
136
+ name | type | default | description | required
137
+ -- | -- | -- | -- | --
138
+ cancel | String | - | cancel text | N
139
+ confirm | String | - | confirm text | N
140
+
141
+ ### PullDownRefreshConfig
142
+
143
+ name | type | default | description | required
144
+ -- | -- | -- | -- | --
145
+ loading-texts | Array | - | Typescript: `string[]` | N
146
+
147
+ ### QRCodeConfig
148
+
149
+ name | type | default | description | required
150
+ -- | -- | -- | -- | --
151
+ expired-text | String | - | Language configuration, "QR code expired" description text | N
152
+ refresh-text | String | - | Language configuration, "QR code refresh" description text | N
153
+ scanned-text | String | - | Language configuration, "QR code scanned" description text | N
154
+
155
+ ### RateConfig
156
+
157
+ name | type | default | description | required
158
+ -- | -- | -- | -- | --
159
+ no-value-text | String | - | \- | N
160
+ value-text | String | - | \- | N
161
+
162
+ ### TabBarConfig
163
+
164
+ name | type | default | description | required
165
+ -- | -- | -- | -- | --
166
+ have-more-news-aria-label | String | - | \- | N
167
+ have-news-aria-label | String | - | \- | N
168
+ more-news-aria-label | String | - | \- | N
169
+ news-aria-label | String | - | \- | N
170
+
171
+ ### UploadConfig
172
+
173
+ name | type | default | description | required
174
+ -- | -- | -- | -- | --
175
+ progress | Object | - | Typescript: `UploadConfigProgress` | N
176
+
177
+ ### UploadConfigProgress
178
+
179
+ name | type | default | description | required
180
+ -- | -- | -- | -- | --
181
+ fail-text | String | - | \- | N
182
+ success-text | String | - | \- | N
183
+ uploading-text | String | - | \- | N
184
+ waiting-text | String | - | \- | N