@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
@@ -2,8 +2,8 @@
2
2
  <view>
3
3
  <view
4
4
  v-if="realVisible"
5
- :class="tools.cls(classPrefix, [dataDirection, dataTheme, ['with-text', dataMessage]]) + ' ' + tClass + ' ' + transitionClass"
6
- :style="tools._style(['top:' + (dataPlacement === 'top' ? '25%' : dataPlacement === 'bottom' ? '75%' : '45%'), customStyle])"
5
+ :class="'' + tools.cls(classPrefix, [dataDirection, dataTheme, ['with-text', dataMessage]]) + ' ' + tClass + ' ' + transitionClass"
6
+ :style="'' + tools._style(['top:' + (dataPlacement === 'top' ? '25%' : dataPlacement === 'bottom' ? '75%' : '45%'), customStyle])"
7
7
  @transitionend="onTransitionEnd"
8
8
  @touchstart.stop.prevent="loop"
9
9
  >
@@ -80,48 +80,48 @@ const needTransformKeys = [
80
80
  'theme',
81
81
  ];
82
82
 
83
- export default uniComponent({
84
- name,
85
- options: {
86
- styleIsolation: 'shared',
87
- },
88
- externalClasses: [
89
- `${prefix}-class`,
90
- ],
91
- mixins: [transitionMixins, useCustomNavbar],
83
+ export default {
92
84
  components: {
93
85
  TIcon,
94
86
  TLoading,
95
87
  TOverlay,
96
88
  },
97
- props: {
98
- ...props,
99
- },
100
- emits: [
101
- 'leaved',
102
- 'destory',
103
- 'close',
104
- ],
105
- data() {
106
- const info = needTransformKeys.reduce((acc, key) => ({
107
- ...acc,
108
- [toCamel(`data-${key}`)]: props[key].default,
109
- }), {});
110
-
111
- return {
112
- prefix,
113
- classPrefix: name,
114
- innerIcon: null,
115
- ...info,
116
-
117
- isLoading: false,
118
- hideTimer: null,
119
- tools,
120
- };
121
- },
89
+ ...uniComponent({
90
+ name,
91
+ options: {
92
+ styleIsolation: 'shared',
93
+ },
94
+ externalClasses: [
95
+ `${prefix}-class`,
96
+ ],
97
+ mixins: [transitionMixins, useCustomNavbar],
98
+ props: {
99
+ ...props,
100
+ },
101
+ emits: [
102
+ 'leaved',
103
+ 'destory',
104
+ 'close',
105
+ ],
106
+ data() {
107
+ const info = needTransformKeys.reduce((acc, key) => ({
108
+ ...acc,
109
+ [toCamel(`data-${key}`)]: props[key].default,
110
+ }), {});
111
+
112
+ return {
113
+ prefix,
114
+ classPrefix: name,
115
+ innerIcon: null,
116
+ ...info,
117
+
118
+ isLoading: false,
119
+ hideTimer: null,
120
+ tools,
121
+ };
122
+ },
122
123
 
123
- computed: {
124
- iconTClass() {
124
+ computed: { iconTClass() {
125
125
  return canUseVirtualHost() ? this.iconRealClass : '';
126
126
  },
127
127
  iconClass() {
@@ -131,81 +131,82 @@ export default uniComponent({
131
131
  const { classPrefix, dataDirection } = this;
132
132
  return `${classPrefix}__icon ${classPrefix}__icon--${dataDirection}`;
133
133
  },
134
- },
135
-
136
- pageLifetimes: {
137
- hide() {
138
- this.hide();
139
134
  },
140
- },
141
135
 
142
- beforeUnmount() {
143
- this.destroyed();
144
- },
145
- methods: {
146
- show(options) {
147
- if (this.hideTimer) clearTimeout(this.hideTimer);
148
- const iconMap = {
149
- loading: 'loading',
150
- success: 'check-circle',
151
- warning: 'error-circle',
152
- error: 'close-circle',
153
- };
154
- const typeMapIcon = iconMap[options?.theme];
155
- const defaultOptions = {
156
- direction: props.direction.default,
157
- duration: props.duration.default,
158
- icon: props.icon.default,
159
- message: props.message.default,
160
- placement: props.placement.default,
161
- preventScrollThrough: props.preventScrollThrough.default,
162
- theme: props.theme.default,
163
- close: null,
164
- };
165
-
166
- const data = {
167
- ...defaultOptions,
168
- ...options,
169
- realVisible: true,
170
- isLoading: options?.theme === 'loading',
171
- innerIcon: calcIcon(coalesce(typeMapIcon, options.icon)),
172
- };
173
-
174
- const { duration } = data;
175
-
176
- Object.keys(data).forEach((key) => {
177
- if (needTransformKeys.includes(key)) {
178
- this[toCamel(`data-${key}`)] = data[key];
179
- } else {
180
- this[key] = data[key];
181
- }
182
- });
183
-
184
- if (duration > 0) {
185
- this.hideTimer = setTimeout(() => {
186
- this.hide();
187
- }, duration);
188
- }
136
+ pageLifetimes: {
137
+ hide() {
138
+ this.hide();
139
+ },
189
140
  },
190
141
 
191
- hide() {
192
- if (!this.realVisible) return; // 避免重复触发(页面关闭、定时关闭都会触发)
193
- this.realVisible = false;
194
- this?.close?.();
195
- this.$emit('close');
142
+ beforeUnmount() {
143
+ this.destroyed();
196
144
  },
145
+ methods: {
146
+ show(options) {
147
+ if (this.hideTimer) clearTimeout(this.hideTimer);
148
+ const iconMap = {
149
+ loading: 'loading',
150
+ success: 'check-circle',
151
+ warning: 'error-circle',
152
+ error: 'close-circle',
153
+ };
154
+ const typeMapIcon = iconMap[options?.theme];
155
+ const defaultOptions = {
156
+ direction: props.direction.default,
157
+ duration: props.duration.default,
158
+ icon: props.icon.default,
159
+ message: props.message.default,
160
+ placement: props.placement.default,
161
+ preventScrollThrough: props.preventScrollThrough.default,
162
+ theme: props.theme.default,
163
+ close: null,
164
+ };
165
+
166
+ const data = {
167
+ ...defaultOptions,
168
+ ...options,
169
+ realVisible: true,
170
+ isLoading: options?.theme === 'loading',
171
+ innerIcon: calcIcon(coalesce(typeMapIcon, options.icon)),
172
+ };
173
+
174
+ const { duration } = data;
175
+
176
+ Object.keys(data).forEach((key) => {
177
+ if (needTransformKeys.includes(key)) {
178
+ this[toCamel(`data-${key}`)] = data[key];
179
+ } else {
180
+ this[key] = data[key];
181
+ }
182
+ });
183
+
184
+ if (duration > 0) {
185
+ this.hideTimer = setTimeout(() => {
186
+ this.hide();
187
+ }, duration);
188
+ }
189
+ },
190
+
191
+ hide() {
192
+ if (!this.realVisible) return; // 避免重复触发(页面关闭、定时关闭都会触发)
193
+ this.realVisible = false;
194
+ this?.close?.();
195
+ this.$emit('close');
196
+ },
197
+
198
+ destroyed() {
199
+ if (this.hideTimer) {
200
+ clearTimeout(this.hideTimer);
201
+ this.hideTimer = null;
202
+ }
203
+ this.$emit('destory');
204
+ },
197
205
 
198
- destroyed() {
199
- if (this.hideTimer) {
200
- clearTimeout(this.hideTimer);
201
- this.hideTimer = null;
202
- }
203
- this.$emit('destory');
206
+ loop() {},
204
207
  },
205
-
206
- loop() {},
207
- },
208
- });
208
+ }),
209
+ };
209
210
 
210
211
  </script>
211
212
  <style scoped src="./toast.css"></style>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view
3
3
  :class="tClass + ' ' + classPrefix + ' ' + transitionClass"
4
- :style="tools._style([visible ? '' : 'display: none', customStyle])"
4
+ :style="'' + tools._style([visible ? '' : 'display: none', customStyle])"
5
5
  @transitionend="onTransitionEnd"
6
6
  >
7
7
  <slot />
@@ -17,33 +17,35 @@ import tools from '../common/utils.wxs';
17
17
  const name = `${prefix}-transition`;
18
18
 
19
19
 
20
- export default uniComponent({
21
- name,
22
- options: {
23
- styleIsolation: 'shared',
24
- },
25
- externalClasses: [
26
- `${prefix}-class`,
27
- ],
28
- mixins: [transition()],
29
- props: {
30
- },
31
- data() {
32
- return {
33
- classPrefix: name,
34
- tools,
35
- };
36
- },
37
- watch: {
38
-
39
- },
40
- mounted() {
41
-
42
- },
43
- methods: {
44
-
45
- },
46
- });
20
+ export default {
21
+ ...uniComponent({
22
+ name,
23
+ options: {
24
+ styleIsolation: 'shared',
25
+ },
26
+ externalClasses: [
27
+ `${prefix}-class`,
28
+ ],
29
+ mixins: [transition()],
30
+ props: {
31
+ },
32
+ data() {
33
+ return {
34
+ classPrefix: name,
35
+ tools,
36
+ };
37
+ },
38
+ watch: {
39
+
40
+ },
41
+ mounted() {
42
+
43
+ },
44
+ methods: {
45
+
46
+ },
47
+ }),
48
+ };
47
49
 
48
50
  </script>
49
51
  <style scoped src="./transition.css"></style>