@tdesign/uniapp 0.7.3 → 0.8.1

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 (258) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +44 -35
  3. package/dist/action-sheet/README.md +9 -4
  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/README.md +3 -1
  8. package/dist/avatar/avatar.vue +89 -87
  9. package/dist/avatar-group/avatar-group.vue +69 -67
  10. package/dist/back-top/README.md +3 -1
  11. package/dist/back-top/back-top.vue +60 -58
  12. package/dist/badge/README.md +3 -1
  13. package/dist/badge/badge.vue +69 -59
  14. package/dist/button/README.md +3 -1
  15. package/dist/button/button.vue +121 -116
  16. package/dist/button/props.ts +2 -2
  17. package/dist/button/type.ts +1 -1
  18. package/dist/calendar/README.md +3 -1
  19. package/dist/calendar/calendar-header.vue +4 -4
  20. package/dist/calendar/calendar.vue +308 -297
  21. package/dist/calendar/template.vue +1 -1
  22. package/dist/cascader/README.en-US.md +2 -1
  23. package/dist/cascader/README.md +5 -2
  24. package/dist/cascader/cascader.vue +340 -328
  25. package/dist/cascader/props.ts +6 -1
  26. package/dist/cascader/type.ts +6 -0
  27. package/dist/cell/README.md +3 -1
  28. package/dist/cell/cell.vue +127 -121
  29. package/dist/cell-group/cell-group.vue +32 -30
  30. package/dist/check-tag/check-tag.vue +73 -71
  31. package/dist/checkbox/README.md +3 -1
  32. package/dist/checkbox/checkbox.vue +127 -127
  33. package/dist/checkbox/props.ts +6 -6
  34. package/dist/checkbox/type.ts +3 -3
  35. package/dist/checkbox-group/checkbox-group.vue +175 -173
  36. package/dist/checkbox-group/props.ts +6 -6
  37. package/dist/checkbox-group/type.ts +4 -4
  38. package/dist/col/README.md +3 -1
  39. package/dist/col/col.vue +26 -24
  40. package/dist/collapse/README.md +3 -1
  41. package/dist/collapse/collapse.vue +83 -81
  42. package/dist/collapse-panel/collapse-panel.vue +121 -119
  43. package/dist/collapse-panel/props.ts +4 -4
  44. package/dist/collapse-panel/type.ts +2 -2
  45. package/dist/color-picker/README.md +4 -2
  46. package/dist/color-picker/color-picker.vue +324 -322
  47. package/dist/color-picker/props.ts +2 -2
  48. package/dist/color-picker/template.vue +14 -10
  49. package/dist/common/common.ts +122 -5
  50. package/dist/common/src/index.js +0 -1
  51. package/dist/common/style/theme/index.css +5 -5
  52. package/dist/common/utils.js +7 -2
  53. package/dist/common/validator.ts +496 -0
  54. package/dist/config-provider/README.en-US.md +184 -0
  55. package/dist/config-provider/README.md +236 -0
  56. package/dist/config-provider/config-provider.vue +105 -0
  57. package/dist/config-provider/config-store.js +70 -0
  58. package/dist/config-provider/props.ts +16 -0
  59. package/dist/config-provider/reactive-state.js +39 -0
  60. package/dist/config-provider/type.ts +401 -0
  61. package/dist/config-provider/use-config.js +29 -0
  62. package/dist/config-provider/utils.js +29 -0
  63. package/dist/count-down/README.md +3 -1
  64. package/dist/count-down/count-down.vue +98 -97
  65. package/dist/date-time-picker/README.md +3 -1
  66. package/dist/date-time-picker/date-time-picker.vue +410 -395
  67. package/dist/demo/demo.vue +1 -0
  68. package/dist/dialog/README.md +3 -1
  69. package/dist/dialog/dialog.vue +175 -173
  70. package/dist/divider/README.md +3 -1
  71. package/dist/divider/divider.vue +38 -36
  72. package/dist/draggable/draggable.vue +60 -58
  73. package/dist/drawer/README.md +4 -2
  74. package/dist/drawer/drawer.vue +48 -46
  75. package/dist/dropdown-item/dropdown-item.vue +209 -207
  76. package/dist/dropdown-item/props.ts +4 -4
  77. package/dist/dropdown-item/type.ts +3 -3
  78. package/dist/dropdown-menu/README.md +2 -2
  79. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  80. package/dist/empty/README.md +3 -1
  81. package/dist/empty/empty.vue +43 -42
  82. package/dist/fab/README.md +3 -1
  83. package/dist/fab/fab.vue +88 -86
  84. package/dist/footer/README.md +3 -1
  85. package/dist/footer/footer.vue +36 -34
  86. package/dist/form/README.en-US.md +17 -24
  87. package/dist/form/README.md +21 -26
  88. package/dist/form/form.css +1 -166
  89. package/dist/form/form.vue +251 -236
  90. package/dist/form/props.ts +2 -21
  91. package/dist/form/type.ts +6 -69
  92. package/dist/form-item/README.en-US.md +4 -5
  93. package/dist/form-item/README.md +4 -5
  94. package/dist/form-item/form-item.css +72 -95
  95. package/dist/form-item/form-item.vue +315 -337
  96. package/dist/form-item/form-model.ts +125 -173
  97. package/dist/form-item/props.ts +4 -17
  98. package/dist/form-item/type.ts +43 -1
  99. package/dist/grid/README.md +3 -1
  100. package/dist/grid/grid.vue +53 -51
  101. package/dist/grid-item/grid-item.vue +121 -119
  102. package/dist/guide/README.md +4 -2
  103. package/dist/guide/guide.vue +281 -277
  104. package/dist/icon/README.md +12 -11
  105. package/dist/icon/icon.css +1633 -1624
  106. package/dist/icon/icon.vue +78 -76
  107. package/dist/image/README.md +4 -2
  108. package/dist/image/image.vue +103 -101
  109. package/dist/image-viewer/README.md +3 -1
  110. package/dist/image-viewer/image-viewer.vue +160 -158
  111. package/dist/image-viewer/props.ts +2 -2
  112. package/dist/image-viewer/type.ts +1 -1
  113. package/dist/index.js +16 -0
  114. package/dist/indexes/README.md +3 -1
  115. package/dist/indexes/indexes.vue +264 -267
  116. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  117. package/dist/input/README.md +3 -1
  118. package/dist/input/input.vue +172 -198
  119. package/dist/input/props.ts +6 -6
  120. package/dist/input/type.ts +3 -3
  121. package/dist/link/README.md +3 -1
  122. package/dist/link/link.vue +73 -71
  123. package/dist/loading/README.md +3 -1
  124. package/dist/loading/loading.vue +59 -59
  125. package/dist/locale/ar_KW.ts +157 -0
  126. package/dist/locale/en_US.ts +146 -0
  127. package/dist/locale/it_IT.ts +145 -0
  128. package/dist/locale/ja_JP.ts +132 -0
  129. package/dist/locale/ko_KR.ts +132 -0
  130. package/dist/locale/ru_RU.ts +157 -0
  131. package/dist/locale/zh_CN.ts +133 -0
  132. package/dist/locale/zh_TW.ts +132 -0
  133. package/dist/message/README.md +8 -3
  134. package/dist/message/message.vue +181 -173
  135. package/dist/message/props.ts +2 -2
  136. package/dist/message/type.ts +1 -1
  137. package/dist/message-item/message-item.vue +192 -184
  138. package/dist/mixins/page-scroll.d.ts +19 -0
  139. package/dist/mixins/skyline.js +1 -1
  140. package/dist/mixins/using-config.js +39 -0
  141. package/dist/navbar/README.md +3 -1
  142. package/dist/navbar/navbar.vue +201 -199
  143. package/dist/notice-bar/README.md +3 -1
  144. package/dist/notice-bar/notice-bar.vue +175 -171
  145. package/dist/notice-bar/props.ts +2 -2
  146. package/dist/notice-bar/type.ts +1 -1
  147. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  148. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  149. package/dist/overlay/README.md +3 -1
  150. package/dist/overlay/overlay.vue +50 -48
  151. package/dist/picker/README.md +3 -1
  152. package/dist/picker/picker.vue +168 -161
  153. package/dist/picker-item/picker-item.vue +269 -269
  154. package/dist/popover/README.md +4 -2
  155. package/dist/popover/popover.vue +262 -261
  156. package/dist/popover/props.ts +4 -4
  157. package/dist/popover/type.ts +2 -2
  158. package/dist/popup/README.md +3 -1
  159. package/dist/popup/popup.vue +46 -45
  160. package/dist/progress/README.md +3 -3
  161. package/dist/progress/progress.vue +76 -76
  162. package/dist/pull-down-refresh/README.md +3 -1
  163. package/dist/pull-down-refresh/props.ts +2 -2
  164. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  165. package/dist/pull-down-refresh/type.ts +1 -1
  166. package/dist/qrcode/README.md +4 -2
  167. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  168. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  169. package/dist/qrcode/qrcode.vue +93 -87
  170. package/dist/radio/README.md +3 -1
  171. package/dist/radio/props.ts +6 -6
  172. package/dist/radio/radio.vue +118 -120
  173. package/dist/radio/type.ts +3 -3
  174. package/dist/radio-group/props.ts +4 -4
  175. package/dist/radio-group/radio-group.vue +136 -134
  176. package/dist/radio-group/type.ts +4 -4
  177. package/dist/rate/README.md +3 -1
  178. package/dist/rate/computed.js +2 -2
  179. package/dist/rate/props.ts +4 -4
  180. package/dist/rate/rate.css +1 -0
  181. package/dist/rate/rate.vue +155 -154
  182. package/dist/rate/type.ts +2 -2
  183. package/dist/result/README.md +3 -1
  184. package/dist/result/result.vue +41 -39
  185. package/dist/row/row.vue +38 -36
  186. package/dist/script/postinstall.js +49 -24
  187. package/dist/scroll-view/scroll-view.vue +24 -22
  188. package/dist/search/README.md +3 -1
  189. package/dist/search/props.ts +2 -2
  190. package/dist/search/search.vue +127 -125
  191. package/dist/search/type.ts +1 -1
  192. package/dist/side-bar/README.md +3 -1
  193. package/dist/side-bar/side-bar.vue +57 -55
  194. package/dist/side-bar-item/side-bar-item.vue +86 -86
  195. package/dist/skeleton/README.md +3 -1
  196. package/dist/skeleton/skeleton.vue +126 -124
  197. package/dist/slider/README.md +4 -2
  198. package/dist/slider/props.ts +2 -2
  199. package/dist/slider/slider.vue +457 -457
  200. package/dist/slider/type.ts +1 -1
  201. package/dist/step-item/step-item.vue +77 -75
  202. package/dist/stepper/README.md +3 -1
  203. package/dist/stepper/props.ts +2 -2
  204. package/dist/stepper/stepper.vue +168 -149
  205. package/dist/stepper/type.ts +1 -1
  206. package/dist/steps/README.md +3 -1
  207. package/dist/steps/props.ts +2 -2
  208. package/dist/steps/steps.vue +83 -81
  209. package/dist/steps/type.ts +1 -1
  210. package/dist/sticky/README.md +3 -1
  211. package/dist/sticky/sticky.vue +104 -102
  212. package/dist/swipe-cell/README.md +3 -1
  213. package/dist/swipe-cell/swipe-cell.vue +91 -89
  214. package/dist/swiper/README.md +4 -2
  215. package/dist/swiper/swiper.vue +91 -89
  216. package/dist/swiper-nav/swiper-nav.vue +38 -36
  217. package/dist/switch/README.md +3 -1
  218. package/dist/switch/props.ts +2 -2
  219. package/dist/switch/switch.vue +62 -62
  220. package/dist/switch/type.ts +1 -1
  221. package/dist/tab-bar/README.md +3 -1
  222. package/dist/tab-bar/tab-bar.vue +88 -86
  223. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  224. package/dist/tab-panel/tab-panel.vue +66 -64
  225. package/dist/tabs/README.md +3 -1
  226. package/dist/tabs/tabs.vue +294 -287
  227. package/dist/tag/README.md +3 -1
  228. package/dist/tag/tag.vue +79 -77
  229. package/dist/textarea/README.md +3 -1
  230. package/dist/textarea/props.ts +6 -6
  231. package/dist/textarea/textarea.vue +128 -151
  232. package/dist/textarea/type.ts +3 -3
  233. package/dist/theme.css +467 -0
  234. package/dist/theme.css.d.ts +2 -0
  235. package/dist/theme.less +1 -0
  236. package/dist/theme.less.d.ts +2 -0
  237. package/dist/toast/README.md +3 -1
  238. package/dist/toast/toast.vue +107 -106
  239. package/dist/transition/README.md +4 -6
  240. package/dist/transition/transition.vue +30 -28
  241. package/dist/tree-select/README.md +3 -1
  242. package/dist/tree-select/tree-select.vue +151 -151
  243. package/dist/types/config-provider.d.ts +7 -0
  244. package/dist/types/index.d.ts +17 -0
  245. package/dist/types/popover.d.ts +7 -0
  246. package/dist/upload/README.en-US.md +13 -14
  247. package/dist/upload/README.md +14 -13
  248. package/dist/upload/props.ts +2 -4
  249. package/dist/upload/type.ts +12 -11
  250. package/dist/upload/upload.css +1 -1
  251. package/dist/upload/upload.vue +672 -512
  252. package/dist/watermark/README.md +3 -1
  253. package/dist/watermark/watermark.vue +151 -149
  254. package/global.d.ts +2 -0
  255. package/package.json +51 -5
  256. package/dist/common/src/superComponent.js +0 -5
  257. package/dist/common/validator.js +0 -38
  258. package/dist/form/form-item-props.ts +0 -56
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view
3
3
  v-if="visible"
4
- :style="tools._style([customStyle])"
4
+ :style="'' + tools._style([customStyle])"
5
5
  :class="[
6
6
  classPrefix + ' ' + classPrefix + '--' + theme,
7
7
  tClass
@@ -118,207 +118,211 @@ const THEME_ICON = {
118
118
  error: 'error-circle-filled',
119
119
  };
120
120
 
121
- export default uniComponent({
122
- name,
123
- options: {
124
- styleIsolation: 'shared',
125
- },
126
- externalClasses: [
127
- `${prefix}-class`,
128
- `${prefix}-class-content`,
129
- `${prefix}-class-prefix-icon`,
130
- `${prefix}-class-operation`,
131
- `${prefix}-class-suffix-icon`,
132
- ],
121
+ export default {
133
122
  components: {
134
123
  TIcon,
135
124
  },
136
- props: {
137
- ...props,
138
- },
139
- emits: [
140
- 'click',
141
- 'change',
142
- ],
143
- data() {
144
- return {
145
- prefix,
146
- classPrefix: name,
147
- loop: -1,
148
- __ready: false,
149
- animationData: null,
150
- tools,
151
- };
152
- },
153
- watch: {
154
- marquee: {
155
- handler(val) {
156
- if (JSON.stringify(val) === '{}' || JSON.stringify(val) === 'true') {
157
- this.dataMarquee = {
158
- speed: 50,
159
- loop: -1,
160
- delay: 0,
161
- };
162
- }
163
- },
164
- immediate: true,
125
+ ...uniComponent({
126
+ name,
127
+ options: {
128
+ styleIsolation: 'shared',
165
129
  },
130
+ externalClasses: [
131
+ `${prefix}-class`,
132
+ `${prefix}-class-content`,
133
+ `${prefix}-class-prefix-icon`,
134
+ `${prefix}-class-operation`,
135
+ `${prefix}-class-suffix-icon`,
136
+ ],
137
+ props: {
138
+ ...props,
139
+ },
140
+ emits: [
141
+ 'click',
142
+ 'change',
143
+ ],
144
+ data() {
145
+ return {
146
+ prefix,
147
+ classPrefix: name,
148
+ loop: -1,
149
+ __ready: false,
150
+ animationData: null,
151
+ tools,
152
+ iSuffixIcon: null,
153
+ iPrefixIcon: null,
154
+ };
155
+ },
156
+ watch: {
157
+ marquee: {
158
+ handler(val) {
159
+ if (JSON.stringify(val) === '{}' || JSON.stringify(val) === 'true') {
160
+ this.dataMarquee = {
161
+ speed: 50,
162
+ loop: -1,
163
+ delay: 0,
164
+ };
165
+ }
166
+ },
167
+ immediate: true,
168
+ },
166
169
 
167
- visible: {
168
- handler(visible) {
169
- if (!this.__ready) return;
170
- if (visible) {
171
- this.show();
172
- } else {
173
- this.clearNoticeBarAnimation();
174
- }
170
+ visible: {
171
+ handler(visible) {
172
+ if (!this.__ready) return;
173
+ if (visible) {
174
+ this.show();
175
+ } else {
176
+ this.clearNoticeBarAnimation();
177
+ }
178
+ },
179
+ immediate: true,
175
180
  },
176
- immediate: true,
177
- },
178
181
 
179
- prefixIcon: {
180
- handler(prefixIcon) {
181
- this.setPrefixIcon(prefixIcon);
182
+ prefixIcon: {
183
+ handler(prefixIcon) {
184
+ this.setPrefixIcon(prefixIcon);
185
+ },
186
+ immediate: true,
182
187
  },
183
- immediate: true,
184
- },
185
188
 
186
- suffixIcon: {
187
- handler(v) {
188
- this.iSuffixIcon = calcIcon(v);
189
+ suffixIcon: {
190
+ handler(v) {
191
+ this.iSuffixIcon = calcIcon(v);
192
+ },
193
+ immediate: true,
189
194
  },
190
- immediate: true,
191
- },
192
195
 
193
- content: {
194
- handler() {
195
- if (!this.__ready) return;
196
- this.clearNoticeBarAnimation();
197
- this.initAnimation();
196
+ content: {
197
+ handler() {
198
+ if (!this.__ready) return;
199
+ this.clearNoticeBarAnimation();
200
+ this.initAnimation();
201
+ },
202
+ immediate: true,
198
203
  },
199
- immediate: true,
200
204
  },
201
- },
202
- created() {
203
- this.resetAnimation = uni.createAnimation({
204
- duration: 0,
205
- timingFunction: 'linear',
206
- });
207
- },
208
- mounted() {
209
- this.show();
210
- this.__ready = true;
211
- },
212
- beforeUnmount() {
213
- this.clearNoticeBarAnimation();
214
- },
215
- methods: {
216
- initAnimation() {
205
+ created() {
206
+ this.resetAnimation = uni.createAnimation({
207
+ duration: 0,
208
+ timingFunction: 'linear',
209
+ });
210
+ },
211
+ mounted() {
212
+ this.show();
213
+ this.__ready = true;
214
+ },
215
+ beforeUnmount() {
216
+ this.clearNoticeBarAnimation();
217
+ },
218
+ methods: {
219
+ initAnimation() {
217
220
  // 获取外部容器和滚动内容的宽度
218
- const warpID = `.${name}__content-wrap`;
219
- const nodeID = `.${name}__content`;
220
- getAnimationFrame(this, () => {
221
- Promise.all([getRect(this, nodeID), getRect(this, warpID)])
222
- .then(([nodeRect, wrapRect]) => {
223
- const { marquee } = this;
221
+ const warpID = `.${name}__content-wrap`;
222
+ const nodeID = `.${name}__content`;
223
+ getAnimationFrame(this, () => {
224
+ Promise.all([getRect(this, nodeID), getRect(this, warpID)])
225
+ .then(([nodeRect, wrapRect]) => {
226
+ const { marquee } = this;
224
227
 
225
- if (nodeRect == null || wrapRect == null || !nodeRect.width || !wrapRect.width || marquee === false) {
226
- return;
227
- }
228
+ if (nodeRect == null || wrapRect == null || !nodeRect.width || !wrapRect.width || marquee === false) {
229
+ return;
230
+ }
228
231
 
229
- if (marquee || wrapRect.width < nodeRect.width) {
230
- const speeding = marquee.speed || 50;
231
- const delaying = marquee.delay || 0;
232
- const animationDuration = ((wrapRect.width + nodeRect.width) / speeding) * 1000;
233
- const firstAnimationDuration = (nodeRect.width / speeding) * 1000;
232
+ if (marquee || wrapRect.width < nodeRect.width) {
233
+ const speeding = marquee.speed || 50;
234
+ const delaying = marquee.delay || 0;
235
+ const animationDuration = ((wrapRect.width + nodeRect.width) / speeding) * 1000;
236
+ const firstAnimationDuration = (nodeRect.width / speeding) * 1000;
234
237
 
235
- this.wrapWidth = Number(wrapRect.width);
236
- this.nodeWidth = Number(nodeRect.width);
237
- this.animationDuration = animationDuration;
238
- this.delay = delaying;
239
- this.loop = marquee.loop - 1;
240
- this.firstAnimationDuration = firstAnimationDuration;
241
- marquee.loop !== 0 && this.startScrollAnimation(true);
242
- }
243
- })
244
- .catch(() => {});
245
- });
246
- },
238
+ this.wrapWidth = Number(wrapRect.width);
239
+ this.nodeWidth = Number(nodeRect.width);
240
+ this.animationDuration = animationDuration;
241
+ this.delay = delaying;
242
+ this.loop = marquee.loop - 1;
243
+ this.firstAnimationDuration = firstAnimationDuration;
244
+ marquee.loop !== 0 && this.startScrollAnimation(true);
245
+ }
246
+ })
247
+ .catch(() => {});
248
+ });
249
+ },
247
250
 
248
- startScrollAnimation(isFirstScroll = false) {
249
- this.clearNoticeBarAnimation();
251
+ startScrollAnimation(isFirstScroll = false) {
252
+ this.clearNoticeBarAnimation();
250
253
 
251
- const { wrapWidth, nodeWidth, firstAnimationDuration, animationDuration, delay } = this;
252
- const delayTime = isFirstScroll ? delay : 0;
253
- const durationTime = isFirstScroll ? firstAnimationDuration : animationDuration;
254
- // 滚动内容: 初始位置
255
- this.animationData = this.resetAnimation
256
- .translateX(isFirstScroll ? 0 : wrapWidth)
257
- .step()
258
- .export(),
254
+ const { wrapWidth, nodeWidth, firstAnimationDuration, animationDuration, delay } = this;
255
+ const delayTime = isFirstScroll ? delay : 0;
256
+ const durationTime = isFirstScroll ? firstAnimationDuration : animationDuration;
257
+ // 滚动内容: 初始位置
258
+ this.animationData = this.resetAnimation
259
+ .translateX(isFirstScroll ? 0 : wrapWidth)
260
+ .step()
261
+ .export(),
259
262
 
260
- setTimeout(() => {
263
+ setTimeout(() => {
261
264
  // 滚动内容: 最终位置
262
- this.animationData = uni
263
- .createAnimation({ duration: durationTime, timingFunction: 'linear', delay: delayTime })
264
- .translateX(-nodeWidth)
265
- .step()
266
- .export();
267
- }, 20);
265
+ this.animationData = uni
266
+ .createAnimation({ duration: durationTime, timingFunction: 'linear', delay: delayTime })
267
+ .translateX(-nodeWidth)
268
+ .step()
269
+ .export();
270
+ }, 20);
268
271
 
269
- // 滚动一次完成, 开启下一次的滚动
270
- this.nextAnimationContext = setTimeout(() => {
271
- if (this.loop > 0) {
272
- this.loop -= 1;
273
- this.startScrollAnimation();
274
- } else if (this.loop === 0) {
272
+ // 滚动一次完成, 开启下一次的滚动
273
+ this.nextAnimationContext = setTimeout(() => {
274
+ if (this.loop > 0) {
275
+ this.loop -= 1;
276
+ this.startScrollAnimation();
277
+ } else if (this.loop === 0) {
275
278
  // 动画回到初始位置
276
- this.animationData = this.resetAnimation.translateX(0).step()
277
- .export();
278
- } else if (this.loop < 0) {
279
- this.startScrollAnimation();
280
- }
281
- }, durationTime + delayTime);
282
- },
279
+ this.animationData = this.resetAnimation.translateX(0).step()
280
+ .export();
281
+ } else if (this.loop < 0) {
282
+ this.startScrollAnimation();
283
+ }
284
+ }, durationTime + delayTime);
285
+ },
283
286
 
284
- show() {
285
- this.clearNoticeBarAnimation();
286
- this.setPrefixIcon(this.prefixIcon);
287
- this.initAnimation();
288
- },
287
+ show() {
288
+ this.clearNoticeBarAnimation();
289
+ this.setPrefixIcon(this.prefixIcon);
290
+ this.initAnimation();
291
+ },
289
292
 
290
- /** 清除动画 */
291
- clearNoticeBarAnimation() {
292
- this.nextAnimationContext && clearTimeout(this.nextAnimationContext);
293
- this.nextAnimationContext = null;
294
- },
293
+ /** 清除动画 */
294
+ clearNoticeBarAnimation() {
295
+ this.nextAnimationContext && clearTimeout(this.nextAnimationContext);
296
+ this.nextAnimationContext = null;
297
+ },
295
298
 
296
- setPrefixIcon(v) {
297
- const { theme } = this;
298
- this.iPrefixIcon = calcIcon(v, THEME_ICON[theme]);
299
- },
299
+ setPrefixIcon(v) {
300
+ const { theme } = this;
301
+ this.iPrefixIcon = calcIcon(v, THEME_ICON[theme]);
302
+ },
300
303
 
301
- onChange(e) {
302
- const { current, source } = e.detail;
303
- this.$emit('change', { current, source });
304
- },
304
+ onChange(e) {
305
+ const { current, source } = e.detail;
306
+ this.$emit('change', { current, source });
307
+ },
305
308
 
306
- clickPrefixIcon() {
307
- this.$emit('click', { trigger: 'prefix-icon' });
308
- },
309
+ clickPrefixIcon() {
310
+ this.$emit('click', { trigger: 'prefix-icon' });
311
+ },
309
312
 
310
- clickContent() {
311
- this.$emit('click', { trigger: 'content' });
312
- },
313
+ clickContent() {
314
+ this.$emit('click', { trigger: 'content' });
315
+ },
313
316
 
314
- clickSuffixIcon() {
315
- this.$emit('click', { trigger: 'suffix-icon' });
316
- },
317
+ clickSuffixIcon() {
318
+ this.$emit('click', { trigger: 'suffix-icon' });
319
+ },
317
320
 
318
- clickOperation() {
319
- this.$emit('click', { trigger: 'operation' });
321
+ clickOperation() {
322
+ this.$emit('click', { trigger: 'operation' });
323
+ },
320
324
  },
321
- },
322
- });
325
+ }),
326
+ };
323
327
  </script>
324
328
  <style scoped src="./notice-bar.css"></style>
@@ -53,8 +53,8 @@ export default {
53
53
  },
54
54
  /** 显示/隐藏 */
55
55
  visible: {
56
- type: Boolean,
57
- default: undefined,
56
+ type: [Boolean, null],
57
+ default: null as TdNoticeBarProps['visible'],
58
58
  },
59
59
  /** 显示/隐藏,非受控属性 */
60
60
  defaultVisible: Boolean,
@@ -46,7 +46,7 @@ export interface TdNoticeBarProps {
46
46
  * 显示/隐藏
47
47
  * @default false
48
48
  */
49
- visible?: boolean;
49
+ visible?: boolean | null;
50
50
  /**
51
51
  * 显示/隐藏,非受控属性
52
52
  * @default false
@@ -0,0 +1,81 @@
1
+ // Arabic [ar]
2
+ import dayjs from '../index';
3
+ var months = 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_');
4
+ var symbolMap = {
5
+ 1: '١',
6
+ 2: '٢',
7
+ 3: '٣',
8
+ 4: '٤',
9
+ 5: '٥',
10
+ 6: '٦',
11
+ 7: '٧',
12
+ 8: '٨',
13
+ 9: '٩',
14
+ 0: '٠'
15
+ };
16
+ var numberMap = {
17
+ '١': '1',
18
+ '٢': '2',
19
+ '٣': '3',
20
+ '٤': '4',
21
+ '٥': '5',
22
+ '٦': '6',
23
+ '٧': '7',
24
+ '٨': '8',
25
+ '٩': '9',
26
+ '٠': '0'
27
+ };
28
+ var fromArabNumeralsRegex = /[١٢٣٤٥٦٧٨٩٠]/g;
29
+ var fromArabComaRegex = /،/g;
30
+ var toArabNumeralsRegex = /\d/g;
31
+ var toArabComaRegex = /,/g;
32
+ var locale = {
33
+ name: 'ar',
34
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
35
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
36
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
37
+ months: months,
38
+ monthsShort: months,
39
+ weekStart: 6,
40
+ meridiem: function meridiem(hour) {
41
+ return hour > 12 ? 'م' : 'ص';
42
+ },
43
+ relativeTime: {
44
+ future: 'بعد %s',
45
+ past: 'منذ %s',
46
+ s: 'ثانية واحدة',
47
+ m: 'دقيقة واحدة',
48
+ mm: '%d دقائق',
49
+ h: 'ساعة واحدة',
50
+ hh: '%d ساعات',
51
+ d: 'يوم واحد',
52
+ dd: '%d أيام',
53
+ M: 'شهر واحد',
54
+ MM: '%d أشهر',
55
+ y: 'عام واحد',
56
+ yy: '%d أعوام'
57
+ },
58
+ preparse: function preparse(string) {
59
+ return string.replace(fromArabNumeralsRegex, function (match) {
60
+ return numberMap[match];
61
+ }).replace(fromArabComaRegex, ',');
62
+ },
63
+ postformat: function postformat(string) {
64
+ return string.replace(toArabNumeralsRegex, function (match) {
65
+ return symbolMap[match];
66
+ }).replace(toArabComaRegex, '،');
67
+ },
68
+ ordinal: function ordinal(n) {
69
+ return n;
70
+ },
71
+ formats: {
72
+ LT: 'HH:mm',
73
+ LTS: 'HH:mm:ss',
74
+ L: 'D/‏M/‏YYYY',
75
+ LL: 'D MMMM YYYY',
76
+ LLL: 'D MMMM YYYY HH:mm',
77
+ LLLL: 'dddd D MMMM YYYY HH:mm'
78
+ }
79
+ };
80
+ dayjs.locale(locale, null, true);
81
+ export default locale;
@@ -0,0 +1,39 @@
1
+ // Italian [it]
2
+ import dayjs from '../index';
3
+ var locale = {
4
+ name: 'it',
5
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
6
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
7
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
8
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
9
+ weekStart: 1,
10
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
11
+ formats: {
12
+ LT: 'HH:mm',
13
+ LTS: 'HH:mm:ss',
14
+ L: 'DD/MM/YYYY',
15
+ LL: 'D MMMM YYYY',
16
+ LLL: 'D MMMM YYYY HH:mm',
17
+ LLLL: 'dddd D MMMM YYYY HH:mm'
18
+ },
19
+ relativeTime: {
20
+ future: 'tra %s',
21
+ past: '%s fa',
22
+ s: 'qualche secondo',
23
+ m: 'un minuto',
24
+ mm: '%d minuti',
25
+ h: 'un\'ora',
26
+ hh: '%d ore',
27
+ d: 'un giorno',
28
+ dd: '%d giorni',
29
+ M: 'un mese',
30
+ MM: '%d mesi',
31
+ y: 'un anno',
32
+ yy: '%d anni'
33
+ },
34
+ ordinal: function ordinal(n) {
35
+ return n + "\xBA";
36
+ }
37
+ };
38
+ dayjs.locale(locale, null, true);
39
+ export default locale;
@@ -9,7 +9,9 @@ isComponent: true
9
9
 
10
10
  ## 引入
11
11
 
12
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
12
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-overlay />`。详细配置请参考 [快速开始](../getting-started)。
13
+
14
+ 如需手动引入:
13
15
 
14
16
  ```js
15
17
  import TOverlay from '@tdesign/uniapp/overlay/overlay.vue';
@@ -3,7 +3,7 @@
3
3
  <view
4
4
  v-if="realVisible && preventScrollThrough"
5
5
  :class="prefix + '-overlay ' + transitionClass"
6
- :style="tools._style([
6
+ :style="'' + tools._style([
7
7
  '--td-overlay-transition-duration:' + duration + 'ms',
8
8
  'z-index:' + iZIndex, 'top:' + distanceTop + 'px',
9
9
  computedStyle,
@@ -21,7 +21,7 @@
21
21
  <view
22
22
  v-else-if="realVisible"
23
23
  :class="prefix + '-overlay ' + transitionClass "
24
- :style="tools._style([
24
+ :style="'' + tools._style([
25
25
  'z-index:' + iZIndex,
26
26
  'top:' + distanceTop + 'px',
27
27
  computedStyle,
@@ -48,56 +48,58 @@ import tools from '../common/utils.wxs';
48
48
  const name = `${prefix}-overlay`;
49
49
 
50
50
 
51
- export default uniComponent({
52
- name,
53
- options: {
54
- styleIsolation: 'shared',
55
- },
56
- mixins: [
57
- transition(),
58
- useCustomNavbar,
59
- ],
60
- props: {
61
- ...props,
62
- },
63
- emits: [
64
- 'click',
65
- 'leaved',
66
- ],
67
- data() {
68
- return {
69
- prefix,
70
- classPrefix: name,
71
- computedStyle: '',
72
- iZIndex: 11000,
73
- tools,
74
- };
75
- },
76
- watch: {
77
- backgroundColor: {
78
- handler(v) {
79
- this.computedStyle = v ? `background-color: ${v};` : '';
80
- },
81
- immediate: true,
51
+ export default {
52
+ ...uniComponent({
53
+ name,
54
+ options: {
55
+ styleIsolation: 'shared',
56
+ },
57
+ mixins: [
58
+ transition(),
59
+ useCustomNavbar,
60
+ ],
61
+ props: {
62
+ ...props,
63
+ },
64
+ emits: [
65
+ 'click',
66
+ 'leaved',
67
+ ],
68
+ data() {
69
+ return {
70
+ prefix,
71
+ classPrefix: name,
72
+ computedStyle: '',
73
+ iZIndex: 11000,
74
+ tools,
75
+ };
82
76
  },
83
- zIndex: {
84
- handler(v) {
85
- if (v !== 0) {
86
- this.iZIndex = v;
87
- }
77
+ watch: {
78
+ backgroundColor: {
79
+ handler(v) {
80
+ this.computedStyle = v ? `background-color: ${v};` : '';
81
+ },
82
+ immediate: true,
88
83
  },
89
- immediate: true,
84
+ zIndex: {
85
+ handler(v) {
86
+ if (v !== 0) {
87
+ this.iZIndex = v;
88
+ }
89
+ },
90
+ immediate: true,
90
91
 
92
+ },
91
93
  },
92
- },
93
- methods: {
94
- handleClick() {
95
- this.$emit('click', {
96
- visible: !this.visible,
97
- });
94
+ methods: {
95
+ handleClick() {
96
+ this.$emit('click', {
97
+ visible: !this.visible,
98
+ });
99
+ },
100
+ noop() {},
98
101
  },
99
- noop() {},
100
- },
101
- });
102
+ }),
103
+ };
102
104
  </script>
103
105
  <style scoped src="./overlay.css"></style>
@@ -8,7 +8,9 @@ isComponent: true
8
8
 
9
9
  ## 引入
10
10
 
11
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
11
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-picker />`。详细配置请参考 [快速开始](../getting-started)。
12
+
13
+ 如需手动引入:
12
14
 
13
15
  ```js
14
16
  import TPicker from '@tdesign/uniapp/picker/picker.vue';