@tplc/wot 1.0.6 → 1.0.8

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 (518) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/components/common/AbortablePromise.ts +3 -11
  3. package/components/common/abstracts/_config.scss +1 -1
  4. package/components/common/abstracts/_function.scss +26 -13
  5. package/components/common/abstracts/_mixin.scss +117 -71
  6. package/components/common/abstracts/variable.scss +325 -697
  7. package/components/common/base64.ts +1 -2
  8. package/components/common/canvasHelper.ts +1 -1
  9. package/components/common/interceptor.ts +43 -0
  10. package/components/common/props.ts +8 -8
  11. package/components/common/util.ts +145 -60
  12. package/components/composables/index.ts +11 -0
  13. package/components/composables/useChildren.ts +9 -18
  14. package/components/composables/useCountDown.ts +2 -2
  15. package/components/composables/useLockScroll.ts +1 -3
  16. package/components/composables/useParent.ts +4 -4
  17. package/components/composables/usePopover.ts +43 -60
  18. package/components/composables/useQueue.ts +2 -2
  19. package/components/composables/useTouch.ts +2 -3
  20. package/components/composables/useTranslate.ts +2 -13
  21. package/components/composables/useUpload.ts +389 -0
  22. package/components/wd-action-sheet/index.scss +22 -22
  23. package/components/wd-action-sheet/types.ts +11 -21
  24. package/components/wd-action-sheet/wd-action-sheet.vue +21 -40
  25. package/components/wd-backtop/index.scss +5 -5
  26. package/components/wd-backtop/types.ts +3 -15
  27. package/components/wd-backtop/wd-backtop.vue +12 -20
  28. package/components/wd-badge/index.scss +14 -10
  29. package/components/wd-badge/types.ts +6 -9
  30. package/components/wd-badge/wd-badge.vue +29 -37
  31. package/components/wd-button/index.scss +76 -80
  32. package/components/wd-button/types.ts +43 -13
  33. package/components/wd-button/wd-button.vue +41 -22
  34. package/components/wd-calendar/index.scss +58 -145
  35. package/components/wd-calendar/types.ts +23 -41
  36. package/components/wd-calendar/wd-calendar.vue +123 -130
  37. package/components/wd-calendar-view/month/index.scss +33 -65
  38. package/components/wd-calendar-view/month/month.vue +80 -113
  39. package/components/wd-calendar-view/month/types.ts +2 -1
  40. package/components/wd-calendar-view/monthPanel/index.scss +15 -15
  41. package/components/wd-calendar-view/monthPanel/month-panel.vue +64 -78
  42. package/components/wd-calendar-view/monthPanel/types.ts +58 -10
  43. package/components/wd-calendar-view/types.ts +12 -36
  44. package/components/wd-calendar-view/utils.ts +14 -36
  45. package/components/wd-calendar-view/wd-calendar-view.vue +7 -7
  46. package/components/wd-calendar-view/year/index.scss +18 -13
  47. package/components/wd-calendar-view/year/types.ts +2 -1
  48. package/components/wd-calendar-view/year/year.vue +25 -43
  49. package/components/wd-calendar-view/yearPanel/index.scss +4 -4
  50. package/components/wd-calendar-view/yearPanel/types.ts +2 -2
  51. package/components/wd-calendar-view/yearPanel/year-panel.vue +36 -41
  52. package/components/wd-card/index.scss +11 -10
  53. package/components/wd-card/types.ts +1 -1
  54. package/components/wd-card/wd-card.vue +6 -9
  55. package/components/wd-cell/index.scss +56 -41
  56. package/components/wd-cell/types.ts +23 -8
  57. package/components/wd-cell/wd-cell.vue +48 -18
  58. package/components/wd-cell-group/index.scss +8 -7
  59. package/components/wd-cell-group/types.ts +1 -1
  60. package/components/wd-cell-group/wd-cell-group.vue +5 -5
  61. package/components/wd-checkbox/index.scss +35 -35
  62. package/components/wd-checkbox/types.ts +6 -6
  63. package/components/wd-checkbox/wd-checkbox.vue +12 -20
  64. package/components/wd-checkbox-group/index.scss +4 -4
  65. package/components/wd-checkbox-group/types.ts +2 -2
  66. package/components/wd-checkbox-group/wd-checkbox-group.vue +9 -12
  67. package/components/wd-circle/index.scss +5 -5
  68. package/components/wd-circle/types.ts +2 -2
  69. package/components/wd-circle/wd-circle.vue +18 -40
  70. package/components/wd-col/index.scss +2 -2
  71. package/components/wd-col/types.ts +1 -1
  72. package/components/wd-col/wd-col.vue +11 -53
  73. package/components/wd-col-picker/index.scss +41 -115
  74. package/components/wd-col-picker/types.ts +10 -14
  75. package/components/wd-col-picker/wd-col-picker.vue +103 -155
  76. package/components/wd-collapse/index.scss +7 -13
  77. package/components/wd-collapse/types.ts +4 -10
  78. package/components/wd-collapse/wd-collapse.vue +22 -55
  79. package/components/wd-collapse-item/index.scss +16 -5
  80. package/components/wd-collapse-item/types.ts +14 -2
  81. package/components/wd-collapse-item/wd-collapse-item.vue +70 -81
  82. package/components/wd-config-provider/types.ts +69 -40
  83. package/components/wd-config-provider/wd-config-provider.vue +11 -11
  84. package/components/wd-count-down/index.scss +3 -2
  85. package/components/wd-count-down/types.ts +1 -1
  86. package/components/wd-count-down/wd-count-down.vue +5 -5
  87. package/components/wd-count-to/index.scss +2 -1
  88. package/components/wd-count-to/types.ts +10 -3
  89. package/components/wd-count-to/wd-count-to.vue +9 -18
  90. package/components/wd-curtain/index.scss +28 -23
  91. package/components/wd-curtain/types.ts +46 -9
  92. package/components/wd-curtain/wd-curtain.vue +45 -47
  93. package/components/wd-datetime-picker/index.scss +65 -145
  94. package/components/wd-datetime-picker/types.ts +41 -31
  95. package/components/wd-datetime-picker/wd-datetime-picker.vue +307 -333
  96. package/components/wd-datetime-picker-view/types.ts +29 -46
  97. package/components/wd-datetime-picker-view/util.ts +30 -0
  98. package/components/wd-datetime-picker-view/wd-datetime-picker-view.vue +104 -119
  99. package/components/wd-divider/index.scss +78 -10
  100. package/components/wd-divider/types.ts +26 -3
  101. package/components/wd-divider/wd-divider.vue +33 -10
  102. package/components/wd-drop-menu/index.scss +17 -45
  103. package/components/wd-drop-menu/types.ts +3 -3
  104. package/components/wd-drop-menu/wd-drop-menu.vue +61 -25
  105. package/components/wd-drop-menu-item/index.scss +15 -15
  106. package/components/wd-drop-menu-item/types.ts +18 -15
  107. package/components/wd-drop-menu-item/wd-drop-menu-item.vue +33 -54
  108. package/components/wd-fab/index.scss +13 -12
  109. package/components/wd-fab/types.ts +9 -4
  110. package/components/wd-fab/wd-fab.vue +70 -51
  111. package/components/wd-floating-panel/index.scss +64 -0
  112. package/components/wd-floating-panel/type.ts +32 -0
  113. package/components/wd-floating-panel/wd-floating-panel.vue +140 -0
  114. package/components/wd-form/types.ts +8 -16
  115. package/components/wd-form/wd-form.vue +67 -45
  116. package/components/wd-form-item/index.scss +3 -2
  117. package/components/wd-form-item/types.ts +2 -8
  118. package/components/wd-form-item/wd-form-item.vue +3 -3
  119. package/components/wd-grid/index.scss +2 -2
  120. package/components/wd-grid/types.ts +5 -0
  121. package/components/wd-grid/wd-grid.vue +11 -12
  122. package/components/wd-grid-item/index.scss +44 -33
  123. package/components/wd-grid-item/types.ts +7 -4
  124. package/components/wd-grid-item/wd-grid-item.vue +39 -44
  125. package/components/wd-icon/index.scss +311 -303
  126. package/components/wd-icon/types.ts +3 -3
  127. package/components/wd-icon/wd-icon.vue +6 -6
  128. package/components/wd-img/types.ts +1 -1
  129. package/components/wd-img/wd-img.vue +13 -3
  130. package/components/wd-img-cropper/index.scss +43 -39
  131. package/components/wd-img-cropper/types.ts +6 -8
  132. package/components/wd-img-cropper/wd-img-cropper.vue +132 -127
  133. package/components/wd-index-anchor/index.scss +7 -6
  134. package/components/wd-index-anchor/type.ts +2 -2
  135. package/components/wd-index-anchor/wd-index-anchor.vue +3 -9
  136. package/components/wd-index-bar/index.scss +5 -5
  137. package/components/wd-index-bar/type.ts +3 -2
  138. package/components/wd-index-bar/wd-index-bar.vue +15 -51
  139. package/components/wd-input/index.scss +44 -33
  140. package/components/wd-input/types.ts +40 -19
  141. package/components/wd-input/wd-input.vue +58 -42
  142. package/components/wd-input-number/index.scss +23 -31
  143. package/components/wd-input-number/types.ts +42 -14
  144. package/components/wd-input-number/wd-input-number.vue +374 -141
  145. package/components/wd-keyboard/constants.ts +81 -0
  146. package/components/wd-keyboard/index.scss +102 -0
  147. package/components/wd-keyboard/key/index.scss +79 -0
  148. package/components/wd-keyboard/key/index.vue +71 -0
  149. package/components/wd-keyboard/key/types.ts +11 -0
  150. package/components/wd-keyboard/types.ts +92 -0
  151. package/components/wd-keyboard/wd-keyboard.vue +206 -0
  152. package/components/wd-loading/index.scss +9 -6
  153. package/components/wd-loading/types.ts +1 -1
  154. package/components/wd-loading/wd-loading.vue +9 -9
  155. package/components/wd-loadmore/index.scss +5 -5
  156. package/components/wd-loadmore/types.ts +8 -2
  157. package/components/wd-loadmore/wd-loadmore.vue +28 -13
  158. package/components/wd-message-box/index.scss +21 -34
  159. package/components/wd-message-box/index.ts +30 -29
  160. package/components/wd-message-box/types.ts +33 -8
  161. package/components/wd-message-box/wd-message-box.vue +130 -152
  162. package/components/wd-navbar/index.scss +14 -24
  163. package/components/wd-navbar/types.ts +1 -1
  164. package/components/wd-navbar/wd-navbar.vue +14 -45
  165. package/components/wd-navbar-capsule/index.scss +16 -15
  166. package/components/wd-navbar-capsule/types.ts +8 -0
  167. package/components/wd-navbar-capsule/wd-navbar-capsule.vue +8 -4
  168. package/components/wd-notice-bar/index.scss +15 -33
  169. package/components/wd-notice-bar/types.ts +14 -3
  170. package/components/wd-notice-bar/wd-notice-bar.vue +109 -66
  171. package/components/wd-notify/index.scss +5 -5
  172. package/components/wd-notify/index.ts +17 -15
  173. package/components/wd-notify/types.ts +4 -0
  174. package/components/wd-notify/wd-notify.vue +21 -19
  175. package/components/wd-number-keyboard/index.scss +10 -10
  176. package/components/wd-number-keyboard/key/index.scss +7 -5
  177. package/components/wd-number-keyboard/key/index.vue +6 -9
  178. package/components/wd-number-keyboard/key/types.ts +1 -1
  179. package/components/wd-number-keyboard/types.ts +4 -0
  180. package/components/wd-number-keyboard/wd-number-keyboard.vue +22 -44
  181. package/components/wd-overlay/index.scss +3 -3
  182. package/components/wd-overlay/types.ts +2 -2
  183. package/components/wd-overlay/wd-overlay.vue +7 -15
  184. package/components/wd-pagination/index.scss +17 -17
  185. package/components/wd-pagination/types.ts +1 -1
  186. package/components/wd-pagination/wd-pagination.vue +10 -21
  187. package/components/wd-password-input/index.scss +7 -6
  188. package/components/wd-password-input/types.ts +2 -8
  189. package/components/wd-password-input/wd-password-input.vue +6 -15
  190. package/components/wd-picker/index.scss +46 -153
  191. package/components/wd-picker/types.ts +22 -19
  192. package/components/wd-picker/wd-picker.vue +89 -86
  193. package/components/wd-picker-view/index.scss +13 -12
  194. package/components/wd-picker-view/types.ts +16 -26
  195. package/components/wd-picker-view/wd-picker-view.vue +32 -24
  196. package/components/wd-popover/index.scss +29 -36
  197. package/components/wd-popover/types.ts +1 -1
  198. package/components/wd-popover/wd-popover.vue +20 -56
  199. package/components/wd-popup/index.scss +47 -75
  200. package/components/wd-popup/types.ts +40 -4
  201. package/components/wd-popup/wd-popup.vue +100 -157
  202. package/components/wd-progress/index.scss +20 -14
  203. package/components/wd-progress/types.ts +10 -6
  204. package/components/wd-progress/wd-progress.vue +137 -141
  205. package/components/wd-radio/index.scss +54 -53
  206. package/components/wd-radio/types.ts +15 -6
  207. package/components/wd-radio/wd-radio.vue +41 -59
  208. package/components/wd-radio-group/index.scss +5 -5
  209. package/components/wd-radio-group/types.ts +4 -1
  210. package/components/wd-radio-group/wd-radio-group.vue +6 -9
  211. package/components/wd-rate/index.scss +1 -1
  212. package/components/wd-rate/types.ts +10 -5
  213. package/components/wd-rate/wd-rate.vue +35 -17
  214. package/components/wd-resize/index.scss +2 -1
  215. package/components/wd-resize/types.ts +1 -1
  216. package/components/wd-resize/wd-resize.vue +11 -22
  217. package/components/wd-root-portal/wd-root-portal.vue +50 -0
  218. package/components/wd-row/index.scss +1 -1
  219. package/components/wd-row/types.ts +1 -1
  220. package/components/wd-row/wd-row.vue +14 -35
  221. package/components/wd-search/index.scss +29 -29
  222. package/components/wd-search/types.ts +22 -3
  223. package/components/wd-search/wd-search.vue +70 -120
  224. package/components/wd-segmented/index.scss +19 -15
  225. package/components/wd-segmented/types.ts +16 -4
  226. package/components/wd-segmented/wd-segmented.vue +34 -34
  227. package/components/wd-select-picker/index.scss +55 -122
  228. package/components/wd-select-picker/types.ts +29 -36
  229. package/components/wd-select-picker/wd-select-picker.vue +128 -274
  230. package/components/wd-sidebar/index.scss +5 -5
  231. package/components/wd-sidebar/types.ts +22 -3
  232. package/components/wd-sidebar/wd-sidebar.vue +26 -4
  233. package/components/wd-sidebar-item/index.scss +17 -13
  234. package/components/wd-sidebar-item/types.ts +3 -3
  235. package/components/wd-sidebar-item/wd-sidebar-item.vue +12 -10
  236. package/components/wd-signature/index.scss +31 -0
  237. package/components/wd-signature/types.ts +263 -0
  238. package/components/wd-signature/wd-signature.vue +630 -0
  239. package/components/wd-skeleton/index.scss +8 -13
  240. package/components/wd-skeleton/types.ts +6 -6
  241. package/components/wd-skeleton/wd-skeleton.vue +15 -31
  242. package/components/wd-slider/index.scss +24 -17
  243. package/components/wd-slider/types.ts +45 -17
  244. package/components/wd-slider/wd-slider.vue +275 -297
  245. package/components/wd-sort-button/index.scss +10 -7
  246. package/components/wd-sort-button/types.ts +1 -1
  247. package/components/wd-sort-button/wd-sort-button.vue +7 -14
  248. package/components/wd-status-tip/index.scss +8 -8
  249. package/components/wd-status-tip/types.ts +8 -2
  250. package/components/wd-status-tip/wd-status-tip.vue +14 -37
  251. package/components/wd-step/index.scss +29 -30
  252. package/components/wd-step/types.ts +1 -1
  253. package/components/wd-step/wd-step.vue +8 -9
  254. package/components/wd-steps/index.scss +1 -1
  255. package/components/wd-steps/types.ts +1 -1
  256. package/components/wd-steps/wd-steps.vue +5 -5
  257. package/components/wd-sticky/index.scss +1 -1
  258. package/components/wd-sticky/types.ts +1 -1
  259. package/components/wd-sticky/wd-sticky.vue +21 -29
  260. package/components/wd-sticky-box/index.scss +1 -1
  261. package/components/wd-sticky-box/wd-sticky-box.vue +7 -6
  262. package/components/wd-swipe-action/index.scss +1 -1
  263. package/components/wd-swipe-action/types.ts +2 -5
  264. package/components/wd-swipe-action/wd-swipe-action.vue +9 -22
  265. package/components/wd-swiper-nav/index.scss +22 -16
  266. package/components/wd-swiper-nav/types.ts +1 -9
  267. package/components/wd-swiper-nav/wd-swiper-nav.vue +2 -5
  268. package/components/wd-switch/index.scss +15 -15
  269. package/components/wd-switch/types.ts +8 -6
  270. package/components/wd-switch/wd-switch.vue +15 -15
  271. package/components/wd-tab/index.scss +11 -3
  272. package/components/wd-tab/types.ts +11 -1
  273. package/components/wd-tab/wd-tab.vue +28 -36
  274. package/components/wd-tabbar/index.scss +12 -7
  275. package/components/wd-tabbar/types.ts +3 -18
  276. package/components/wd-tabbar/wd-tabbar.vue +10 -23
  277. package/components/wd-tabbar-item/index.scss +15 -12
  278. package/components/wd-tabbar-item/types.ts +3 -3
  279. package/components/wd-tabbar-item/wd-tabbar-item.vue +11 -13
  280. package/components/wd-table/index.scss +40 -9
  281. package/components/wd-table/types.ts +13 -15
  282. package/components/wd-table/wd-table.vue +123 -94
  283. package/components/wd-table-col/index.scss +6 -4
  284. package/components/wd-table-col/types.ts +1 -1
  285. package/components/wd-table-col/wd-table-col.vue +12 -12
  286. package/components/wd-tag/index.scss +19 -19
  287. package/components/wd-tag/types.ts +1 -1
  288. package/components/wd-tag/wd-tag.vue +14 -20
  289. package/components/wd-text/index.scss +4 -1
  290. package/components/wd-text/types.ts +4 -4
  291. package/components/wd-text/wd-text.vue +12 -11
  292. package/components/wd-textarea/index.scss +51 -41
  293. package/components/wd-textarea/types.ts +24 -34
  294. package/components/wd-textarea/wd-textarea.vue +59 -66
  295. package/components/wd-toast/index.scss +31 -18
  296. package/components/wd-toast/index.ts +26 -43
  297. package/components/wd-toast/types.ts +117 -3
  298. package/components/wd-toast/wd-toast.vue +49 -69
  299. package/components/wd-tooltip/index.scss +21 -16
  300. package/components/wd-tooltip/types.ts +8 -3
  301. package/components/wd-tooltip/wd-tooltip.vue +17 -43
  302. package/components/wd-tour/index.scss +123 -0
  303. package/components/wd-tour/types.ts +153 -0
  304. package/components/wd-tour/wd-tour.vue +509 -0
  305. package/components/wd-transition/index.scss +39 -35
  306. package/components/wd-transition/types.ts +27 -9
  307. package/components/wd-transition/wd-transition.vue +45 -34
  308. package/components/wd-upload/index.scss +23 -21
  309. package/components/wd-upload/types.ts +43 -30
  310. package/components/wd-upload/wd-upload.vue +183 -247
  311. package/components/wd-video-preview/index.scss +9 -9
  312. package/components/wd-video-preview/types.ts +1 -1
  313. package/components/wd-video-preview/wd-video-preview.vue +18 -22
  314. package/components/wd-watermark/index.scss +7 -7
  315. package/components/wd-watermark/types.ts +2 -8
  316. package/components/wd-watermark/wd-watermark.vue +38 -135
  317. package/dayjs/constant.js +26 -0
  318. package/dayjs/index.d.ts +430 -0
  319. package/dayjs/index.js +542 -0
  320. package/dayjs/locale/en.js +13 -0
  321. package/dayjs/utils.js +59 -0
  322. package/global.d.ts +97 -91
  323. package/index.ts +2 -10
  324. package/locale/index.ts +3 -15
  325. package/locale/lang/ar-SA.ts +133 -0
  326. package/locale/lang/de-DE.ts +133 -0
  327. package/locale/lang/en-US.ts +31 -26
  328. package/locale/lang/es-ES.ts +133 -0
  329. package/locale/lang/fr-FR.ts +133 -0
  330. package/locale/lang/ja-JP.ts +133 -0
  331. package/locale/lang/ko-KR.ts +133 -0
  332. package/locale/lang/pt-PT.ts +133 -0
  333. package/locale/lang/ru-RU.ts +133 -0
  334. package/locale/lang/th-TH.ts +28 -22
  335. package/locale/lang/tr-TR.ts +138 -0
  336. package/locale/lang/ug-CN.ts +137 -0
  337. package/locale/lang/vi-VN.ts +27 -30
  338. package/locale/lang/zh-CN.ts +32 -22
  339. package/locale/lang/zh-HK.ts +18 -31
  340. package/locale/lang/zh-TW.ts +22 -31
  341. package/package.json +1 -1
  342. package/types/components/common/interceptor.d.ts +15 -0
  343. package/types/components/common/util.d.ts +61 -1
  344. package/types/components/composables/useCell.d.ts +1 -1
  345. package/types/components/composables/useLockScroll.d.ts +1 -2
  346. package/types/components/composables/useParent.d.ts +1 -1
  347. package/types/components/composables/usePopover.d.ts +2 -2
  348. package/types/components/composables/useUpload.d.ts +41 -0
  349. package/types/components/wd-action-sheet/types.d.ts +13 -4
  350. package/types/components/wd-action-sheet/wd-action-sheet.vue.d.ts +20 -11
  351. package/types/components/wd-backtop/types.d.ts +1 -9
  352. package/types/components/wd-backtop/wd-backtop.vue.d.ts +6 -25
  353. package/types/components/wd-badge/types.d.ts +3 -6
  354. package/types/components/wd-badge/wd-badge.vue.d.ts +7 -14
  355. package/types/components/wd-button/types.d.ts +44 -8
  356. package/types/components/wd-button/wd-button.vue.d.ts +13 -9
  357. package/types/components/wd-calendar/types.d.ts +24 -18
  358. package/types/components/wd-calendar/wd-calendar.vue.d.ts +48 -32
  359. package/types/components/wd-calendar-view/month/month.vue.d.ts +11 -3
  360. package/types/components/wd-calendar-view/month/types.d.ts +4 -0
  361. package/types/components/wd-calendar-view/monthPanel/month-panel.vue.d.ts +18 -12
  362. package/types/components/wd-calendar-view/monthPanel/types.d.ts +48 -6
  363. package/types/components/wd-calendar-view/types.d.ts +11 -4
  364. package/types/components/wd-calendar-view/utils.d.ts +3 -12
  365. package/types/components/wd-calendar-view/wd-calendar-view.vue.d.ts +1 -1
  366. package/types/components/wd-calendar-view/year/types.d.ts +4 -0
  367. package/types/components/wd-calendar-view/year/year.vue.d.ts +11 -3
  368. package/types/components/wd-cell/types.d.ts +37 -1
  369. package/types/components/wd-cell/wd-cell.vue.d.ts +53 -9
  370. package/types/components/wd-checkbox/wd-checkbox.vue.d.ts +2 -2
  371. package/types/components/wd-checkbox-group/wd-checkbox-group.vue.d.ts +2 -2
  372. package/types/components/wd-circle/wd-circle.vue.d.ts +3 -3
  373. package/types/components/wd-col-picker/types.d.ts +14 -0
  374. package/types/components/wd-col-picker/wd-col-picker.vue.d.ts +36 -19
  375. package/types/components/wd-collapse/types.d.ts +1 -5
  376. package/types/components/wd-collapse/wd-collapse.vue.d.ts +3 -11
  377. package/types/components/wd-collapse-item/types.d.ts +19 -1
  378. package/types/components/wd-collapse-item/wd-collapse-item.vue.d.ts +20 -1
  379. package/types/components/wd-config-provider/types.d.ts +64 -7
  380. package/types/components/wd-config-provider/wd-config-provider.vue.d.ts +1 -1
  381. package/types/components/wd-count-to/types.d.ts +11 -0
  382. package/types/components/wd-count-to/wd-count-to.vue.d.ts +13 -4
  383. package/types/components/wd-curtain/types.d.ts +56 -0
  384. package/types/components/wd-curtain/wd-curtain.vue.d.ts +152 -77
  385. package/types/components/wd-datetime-picker/types.d.ts +49 -15
  386. package/types/components/wd-datetime-picker/wd-datetime-picker.vue.d.ts +75 -38
  387. package/types/components/wd-datetime-picker-view/types.d.ts +36 -14
  388. package/types/components/wd-datetime-picker-view/util.d.ts +12 -0
  389. package/types/components/wd-datetime-picker-view/wd-datetime-picker-view.vue.d.ts +35 -9
  390. package/types/components/wd-divider/types.d.ts +32 -4
  391. package/types/components/wd-divider/wd-divider.vue.d.ts +30 -7
  392. package/types/components/wd-drop-menu/types.d.ts +3 -3
  393. package/types/components/wd-drop-menu/wd-drop-menu.vue.d.ts +8 -8
  394. package/types/components/wd-drop-menu-item/types.d.ts +27 -15
  395. package/types/components/wd-drop-menu-item/wd-drop-menu-item.vue.d.ts +47 -36
  396. package/types/components/wd-fab/types.d.ts +19 -3
  397. package/types/components/wd-fab/wd-fab.vue.d.ts +13 -1
  398. package/types/components/wd-floating-panel/type.d.ts +54 -0
  399. package/types/components/wd-floating-panel/wd-floating-panel.vue.d.ts +109 -0
  400. package/types/components/wd-form/types.d.ts +1 -1
  401. package/types/components/wd-form/wd-form.vue.d.ts +2 -2
  402. package/types/components/wd-form-item/wd-form-item.vue.d.ts +2 -2
  403. package/types/components/wd-grid/types.d.ts +5 -0
  404. package/types/components/wd-grid/wd-grid.vue.d.ts +2 -0
  405. package/types/components/wd-grid-item/types.d.ts +4 -1
  406. package/types/components/wd-grid-item/wd-grid-item.vue.d.ts +3 -3
  407. package/types/components/wd-icon/types.d.ts +1 -1
  408. package/types/components/wd-icon/wd-icon.vue.d.ts +3 -3
  409. package/types/components/wd-img/types.d.ts +4 -1
  410. package/types/components/wd-img/wd-img.vue.d.ts +11 -4
  411. package/types/components/wd-img-cropper/types.d.ts +7 -0
  412. package/types/components/wd-img-cropper/wd-img-cropper.vue.d.ts +12 -3
  413. package/types/components/wd-index-bar/type.d.ts +2 -1
  414. package/types/components/wd-index-bar/wd-index-bar.vue.d.ts +1 -5
  415. package/types/components/wd-input/types.d.ts +53 -37
  416. package/types/components/wd-input/wd-input.vue.d.ts +50 -52
  417. package/types/components/wd-input-number/types.d.ts +51 -6
  418. package/types/components/wd-input-number/wd-input-number.vue.d.ts +152 -125
  419. package/types/components/wd-keyboard/constants.d.ts +8 -0
  420. package/types/components/wd-keyboard/key/index.vue.d.ts +70 -0
  421. package/types/components/wd-keyboard/key/types.d.ts +23 -0
  422. package/types/components/wd-keyboard/types.d.ts +137 -0
  423. package/types/components/wd-keyboard/wd-keyboard.vue.d.ts +200 -0
  424. package/types/components/wd-loading/wd-loading.vue.d.ts +2 -2
  425. package/types/components/wd-loadmore/types.d.ts +7 -4
  426. package/types/components/wd-loadmore/wd-loadmore.vue.d.ts +5 -9
  427. package/types/components/wd-message-box/index.d.ts +3 -8
  428. package/types/components/wd-message-box/types.d.ts +36 -5
  429. package/types/components/wd-message-box/wd-message-box.vue.d.ts +18 -2
  430. package/types/components/wd-navbar/wd-navbar.vue.d.ts +3 -3
  431. package/types/components/wd-navbar-capsule/types.d.ts +12 -0
  432. package/types/components/wd-navbar-capsule/wd-navbar-capsule.vue.d.ts +27 -4
  433. package/types/components/wd-notice-bar/types.d.ts +9 -1
  434. package/types/components/wd-notice-bar/wd-notice-bar.vue.d.ts +7 -5
  435. package/types/components/wd-notify/types.d.ts +7 -0
  436. package/types/components/wd-notify/wd-notify.vue.d.ts +13 -4
  437. package/types/components/wd-number-keyboard/types.d.ts +7 -0
  438. package/types/components/wd-number-keyboard/wd-number-keyboard.vue.d.ts +18 -9
  439. package/types/components/wd-overlay/wd-overlay.vue.d.ts +2 -2
  440. package/types/components/wd-pagination/wd-pagination.vue.d.ts +1 -1
  441. package/types/components/wd-password-input/wd-password-input.vue.d.ts +2 -2
  442. package/types/components/wd-picker/types.d.ts +28 -2
  443. package/types/components/wd-picker/wd-picker.vue.d.ts +55 -19
  444. package/types/components/wd-picker-view/types.d.ts +10 -0
  445. package/types/components/wd-picker-view/wd-picker-view.vue.d.ts +15 -3
  446. package/types/components/wd-popover/wd-popover.vue.d.ts +4 -4
  447. package/types/components/wd-popup/types.d.ts +44 -5
  448. package/types/components/wd-popup/wd-popup.vue.d.ts +35 -24
  449. package/types/components/wd-progress/types.d.ts +6 -3
  450. package/types/components/wd-progress/wd-progress.vue.d.ts +4 -6
  451. package/types/components/wd-qr-code/uqrcode.vue.d.ts +3 -3
  452. package/types/components/wd-qr-code/wd-qr-code.vue.d.ts +4 -4
  453. package/types/components/wd-radio/types.d.ts +8 -0
  454. package/types/components/wd-radio/wd-radio.vue.d.ts +7 -0
  455. package/types/components/wd-radio-group/types.d.ts +7 -1
  456. package/types/components/wd-radio-group/wd-radio-group.vue.d.ts +11 -2
  457. package/types/components/wd-rate/types.d.ts +9 -0
  458. package/types/components/wd-rate/wd-rate.vue.d.ts +13 -4
  459. package/types/components/wd-root-portal/wd-root-portal.vue.d.ts +26 -0
  460. package/types/components/wd-search/types.d.ts +16 -1
  461. package/types/components/wd-search/wd-search.vue.d.ts +28 -8
  462. package/types/components/wd-segmented/types.d.ts +10 -1
  463. package/types/components/wd-segmented/wd-segmented.vue.d.ts +6 -4
  464. package/types/components/wd-select-picker/types.d.ts +37 -22
  465. package/types/components/wd-select-picker/wd-select-picker.vue.d.ts +59 -30
  466. package/types/components/wd-sidebar/types.d.ts +19 -3
  467. package/types/components/wd-sidebar/wd-sidebar.vue.d.ts +4 -2
  468. package/types/components/wd-signature/types.d.ts +252 -0
  469. package/types/components/wd-signature/wd-signature.vue.d.ts +229 -0
  470. package/types/components/wd-skeleton/types.d.ts +3 -4
  471. package/types/components/wd-skeleton/wd-skeleton.vue.d.ts +10 -10
  472. package/types/components/wd-slider/types.d.ts +39 -15
  473. package/types/components/wd-slider/wd-slider.vue.d.ts +12 -38
  474. package/types/components/wd-sort-button/wd-sort-button.vue.d.ts +3 -3
  475. package/types/components/wd-status-tip/types.d.ts +9 -0
  476. package/types/components/wd-status-tip/wd-status-tip.vue.d.ts +69 -49
  477. package/types/components/wd-steps/wd-steps.vue.d.ts +1 -1
  478. package/types/components/wd-sticky/wd-sticky.vue.d.ts +3 -7
  479. package/types/components/wd-swipe-action/wd-swipe-action.vue.d.ts +3 -3
  480. package/types/components/wd-swiper/wd-swiper.vue.d.ts +4 -4
  481. package/types/components/wd-swiper-nav/types.d.ts +0 -14
  482. package/types/components/wd-swiper-nav/wd-swiper-nav.vue.d.ts +0 -18
  483. package/types/components/wd-switch/types.d.ts +0 -1
  484. package/types/components/wd-switch/wd-switch.vue.d.ts +2 -5
  485. package/types/components/wd-tab/types.d.ts +16 -3
  486. package/types/components/wd-tab/wd-tab.vue.d.ts +12 -4
  487. package/types/components/wd-tabbar/types.d.ts +1 -1
  488. package/types/components/wd-tabbar/wd-tabbar.vue.d.ts +5 -5
  489. package/types/components/wd-tabbar-item/wd-tabbar-item.vue.d.ts +1 -1
  490. package/types/components/wd-table/types.d.ts +12 -8
  491. package/types/components/wd-table/wd-table.vue.d.ts +16 -13
  492. package/types/components/wd-table-col/wd-table-col.vue.d.ts +1 -1
  493. package/types/components/wd-tabs/wd-tabs.vue.d.ts +7 -7
  494. package/types/components/wd-tag/wd-tag.vue.d.ts +4 -4
  495. package/types/components/wd-text/types.d.ts +2 -2
  496. package/types/components/wd-text/wd-text.vue.d.ts +7 -7
  497. package/types/components/wd-textarea/types.d.ts +41 -39
  498. package/types/components/wd-textarea/wd-textarea.vue.d.ts +46 -46
  499. package/types/components/wd-toast/index.d.ts +1 -6
  500. package/types/components/wd-toast/types.d.ts +127 -5
  501. package/types/components/wd-toast/wd-toast.vue.d.ts +101 -0
  502. package/types/components/wd-tooltip/types.d.ts +1 -1
  503. package/types/components/wd-tooltip/wd-tooltip.vue.d.ts +7 -7
  504. package/types/components/wd-tour/types.d.ts +194 -0
  505. package/types/components/wd-tour/wd-tour.vue.d.ts +267 -0
  506. package/types/components/wd-transition/types.d.ts +22 -7
  507. package/types/components/wd-transition/wd-transition.vue.d.ts +33 -20
  508. package/types/components/wd-upload/types.d.ts +39 -10
  509. package/types/components/wd-upload/wd-upload.vue.d.ts +42 -16
  510. package/types/components/wd-watermark/wd-watermark.vue.d.ts +7 -7
  511. package/types/locale/index.d.ts +0 -3
  512. package/types/locale/lang/zh-CN.d.ts +9 -0
  513. package/components/wd-datetime-picker-view/index.scss +0 -0
  514. package/components/wd-form/index.scss +0 -10
  515. package/components/wd-upload/utils.ts +0 -152
  516. package/types/components/common/dayjs.d.ts +0 -26
  517. package/types/components/wd-upload/utils.d.ts +0 -11
  518. package/types/locale/lang/en-US.d.ts +0 -128
@@ -1,40 +1,34 @@
1
1
  <template>
2
- <view
3
- :class="`wd-col-picker ${cell.border.value ? 'is-border' : ''} ${customClass}`"
4
- :style="customStyle"
5
- >
6
- <view class="wd-col-picker__field" @click="showPicker">
7
- <slot v-if="useDefaultSlot"></slot>
8
- <view
9
- v-else
10
- :class="`wd-col-picker__cell ${disabled && 'is-disabled'} ${readonly && 'is-readonly'} ${alignRight && 'is-align-right'} ${
11
- error && 'is-error'
12
- } ${size && 'is-' + size}`"
13
- >
14
- <view
15
- v-if="label || useLabelSlot"
16
- :class="`wd-col-picker__label ${isRequired && 'is-required'} ${customLabelClass}`"
17
- :style="labelWidth ? 'min-width:' + labelWidth + ';max-width:' + labelWidth + ';' : ''"
18
- >
19
- <text v-if="label" class="wd-col-picker__label-inner">{{ label }}</text>
20
- <slot v-else name="label"></slot>
21
- </view>
22
- <view class="wd-col-picker__body">
23
- <view class="wd-col-picker__value-wraper">
24
- <view
25
- :class="`wd-col-picker__value ${ellipsis && 'is-ellipsis'} ${customValueClass} ${showValue ? '' : 'wd-col-picker__value--placeholder'}`"
26
- >
27
- {{ showValue || placeholder || translate('placeholder') }}
28
- </view>
29
- <wd-icon
30
- v-if="!disabled && !readonly"
31
- custom-class="wd-col-picker__arrow"
32
- name="arrow-right"
33
- />
34
- </view>
35
- <view v-if="errorMessage" class="wd-col-picker__error-message">{{ errorMessage }}</view>
36
- </view>
37
- </view>
2
+ <view :class="`wd-col-picker ${customClass}`" :style="customStyle">
3
+ <wd-cell
4
+ v-if="!$slots.default"
5
+ :title="label"
6
+ :value="showValue || placeholder || translate('placeholder')"
7
+ :required="required"
8
+ :size="size"
9
+ :title-width="labelWidth"
10
+ :prop="prop"
11
+ :rules="rules"
12
+ :clickable="!disabled && !readonly"
13
+ :value-align="alignRight ? 'right' : 'left'"
14
+ :custom-class="cellClass"
15
+ :custom-style="customStyle"
16
+ :custom-title-class="customLabelClass"
17
+ :custom-value-class="customValueClass"
18
+ :ellipsis="ellipsis"
19
+ :use-title-slot="!!$slots.label"
20
+ :marker-side="markerSide"
21
+ @click="showPicker"
22
+ >
23
+ <template v-if="$slots.label" #title>
24
+ <slot name="label"></slot>
25
+ </template>
26
+ <template #right-icon>
27
+ <wd-icon v-if="showArrow" custom-class="wd-col-picker__arrow" name="arrow-right" />
28
+ </template>
29
+ </wd-cell>
30
+ <view v-else @click="showPicker">
31
+ <slot></slot>
38
32
  </view>
39
33
  <wd-action-sheet
40
34
  v-model="pickerShow"
@@ -43,8 +37,10 @@
43
37
  :close-on-click-modal="closeOnClickModal"
44
38
  :z-index="zIndex"
45
39
  :safe-area-inset-bottom="safeAreaInsetBottom"
40
+ :root-portal="rootPortal"
46
41
  @open="handlePickerOpend"
47
42
  @close="handlePickerClose"
43
+ @closed="handlePickerClosed"
48
44
  >
49
45
  <view class="wd-col-picker__selected">
50
46
  <scroll-view :scroll-x="true" scroll-with-animation :scroll-left="scrollLeft">
@@ -78,9 +74,7 @@
78
74
  >
79
75
  <view>
80
76
  <view class="wd-col-picker__list-item-label">{{ item[labelKey] }}</view>
81
- <view v-if="item[tipKey]" class="wd-col-picker__list-item-tip">
82
- {{ item[tipKey] }}
83
- </view>
77
+ <view v-if="item[tipKey]" class="wd-col-picker__list-item-tip">{{ item[tipKey] }}</view>
84
78
  </view>
85
79
  <wd-icon custom-class="wd-col-picker__checked" name="check"></wd-icon>
86
80
  </view>
@@ -98,35 +92,18 @@ export default {
98
92
  options: {
99
93
  addGlobalClass: true,
100
94
  virtualHost: true,
101
- styleIsolation: 'shared',
102
- },
95
+ styleIsolation: 'shared'
96
+ }
103
97
  }
104
98
  </script>
105
99
 
106
100
  <script lang="ts" setup>
107
- import {
108
- computed,
109
- getCurrentInstance,
110
- onMounted,
111
- ref,
112
- watch,
113
- type CSSProperties,
114
- reactive,
115
- nextTick,
116
- } from 'vue'
117
- import {
118
- addUnit,
119
- debounce,
120
- getRect,
121
- isArray,
122
- isBoolean,
123
- isDef,
124
- isFunction,
125
- objToStyle,
126
- } from '../common/util'
127
- import { useCell } from '../composables/useCell'
128
- import { FORM_KEY, type FormItemRule } from '../wd-form/types'
129
- import { useParent } from '../composables/useParent'
101
+ import wdIcon from '../wd-icon/wd-icon.vue'
102
+ import wdLoading from '../wd-loading/wd-loading.vue'
103
+ import wdActionSheet from '../wd-action-sheet/wd-action-sheet.vue'
104
+ import wdCell from '../wd-cell/wd-cell.vue'
105
+ import { computed, getCurrentInstance, onMounted, ref, watch, type CSSProperties, reactive } from 'vue'
106
+ import { addUnit, debounce, getRect, isArray, isBoolean, isDef, isFunction, objToStyle } from '../common/util'
130
107
  import { useTranslate } from '../composables/useTranslate'
131
108
  import { colPickerProps, type ColPickerExpose } from './types'
132
109
 
@@ -152,13 +129,11 @@ const inited = ref<boolean>(false)
152
129
  const isCompleting = ref<boolean>(false)
153
130
 
154
131
  const state = reactive({
155
- lineStyle: 'display:none;', // 激活项边框线样式
132
+ lineStyle: 'display:none;' // 激活项边框线样式
156
133
  })
157
134
 
158
135
  const { proxy } = getCurrentInstance() as any
159
136
 
160
- const cell = useCell()
161
-
162
137
  const updateLineAndScroll = debounce(function (animation = true) {
163
138
  setLineStyle(animation)
164
139
  lineScrollIntoView()
@@ -180,6 +155,15 @@ const showValue = computed(() => {
180
155
  }
181
156
  })
182
157
 
158
+ const cellClass = computed(() => {
159
+ const classes = ['wd-col-picker__cell']
160
+ if (props.disabled) classes.push('is-disabled')
161
+ if (props.readonly) classes.push('is-readonly')
162
+ if (props.error) classes.push('is-error')
163
+ if (!showValue.value) classes.push('wd-col-picker__cell--placeholder')
164
+ return classes.join(' ')
165
+ })
166
+
183
167
  watch(
184
168
  () => props.modelValue,
185
169
  (newValue) => {
@@ -192,17 +176,15 @@ watch(
192
176
  },
193
177
  {
194
178
  deep: true,
195
- immediate: true,
196
- },
179
+ immediate: true
180
+ }
197
181
  )
198
182
 
199
183
  watch(
200
184
  () => props.columns,
201
185
  (newValue, oldValue) => {
202
186
  if (newValue.length && !isArray(newValue[0])) {
203
- console.error(
204
- '[wot design] error(wd-col-picker): the columns props of wd-col-picker should be a two-dimensional array',
205
- )
187
+ console.error('[wot ui] error(wd-col-picker): the columns props of wd-col-picker should be a two-dimensional array')
206
188
  return
207
189
  }
208
190
  if (newValue.length === 0 && !oldValue) return
@@ -222,8 +204,8 @@ watch(
222
204
  },
223
205
  {
224
206
  deep: true,
225
- immediate: true,
226
- },
207
+ immediate: true
208
+ }
227
209
  )
228
210
 
229
211
  watch(
@@ -235,8 +217,8 @@ watch(
235
217
  },
236
218
  {
237
219
  deep: true,
238
- immediate: true,
239
- },
220
+ immediate: true
221
+ }
240
222
  )
241
223
 
242
224
  watch(
@@ -248,8 +230,8 @@ watch(
248
230
  },
249
231
  {
250
232
  deep: true,
251
- immediate: true,
252
- },
233
+ immediate: true
234
+ }
253
235
  )
254
236
 
255
237
  watch(
@@ -261,37 +243,13 @@ watch(
261
243
  },
262
244
  {
263
245
  deep: true,
264
- immediate: true,
265
- },
266
- )
267
-
268
- const { parent: form } = useParent(FORM_KEY)
269
-
270
- // 表单校验错误信息
271
- const errorMessage = computed(() => {
272
- if (form && props.prop && form.errorMessages && form.errorMessages[props.prop]) {
273
- return form.errorMessages[props.prop]
274
- } else {
275
- return ''
246
+ immediate: true
276
247
  }
277
- })
248
+ )
278
249
 
279
- // 是否展示必填
280
- const isRequired = computed(() => {
281
- let formRequired = false
282
- if (form && form.props.rules) {
283
- const rules = form.props.rules
284
- for (const key in rules) {
285
- if (
286
- Object.prototype.hasOwnProperty.call(rules, key) &&
287
- key === props.prop &&
288
- Array.isArray(rules[key])
289
- ) {
290
- formRequired = rules[key].some((rule: FormItemRule) => rule.required)
291
- }
292
- }
293
- }
294
- return props.required || props.rules.some((rule) => rule.required) || formRequired
250
+ // 是否展示箭头
251
+ const showArrow = computed(() => {
252
+ return !props.disabled && !props.readonly
295
253
  })
296
254
 
297
255
  onMounted(() => {
@@ -312,7 +270,10 @@ function handlePickerOpend() {
312
270
 
313
271
  function handlePickerClose() {
314
272
  pickerShow.value = false
315
- // 如果目前用户正在选择,需要在popup关闭时将数据重置回上次数据,popup 关闭时间 250
273
+ emit('close')
274
+ }
275
+
276
+ function handlePickerClosed() {
316
277
  if (isChange.value) {
317
278
  setTimeout(() => {
318
279
  selectList.value = lastSelectList.value.slice(0)
@@ -324,8 +285,8 @@ function handlePickerClose() {
324
285
  isChange.value = false
325
286
  }, 250)
326
287
  }
327
- emit('close')
328
288
  }
289
+
329
290
  function showPicker() {
330
291
  const { disabled, readonly } = props
331
292
 
@@ -335,11 +296,7 @@ function showPicker() {
335
296
  lastSelectList.value = selectList.value.slice(0)
336
297
  }
337
298
 
338
- function getSelectedItem(
339
- value: string | number,
340
- colIndex: number,
341
- selectList: Record<string, any>[][],
342
- ) {
299
+ function getSelectedItem(value: string | number, colIndex: number, selectList: Record<string, any>[][]) {
343
300
  const { valueKey, labelKey } = props
344
301
  if (selectList[colIndex]) {
345
302
  const selecteds = selectList[colIndex].filter((item) => {
@@ -353,7 +310,7 @@ function getSelectedItem(
353
310
 
354
311
  return {
355
312
  [valueKey]: value,
356
- [labelKey]: '',
313
+ [labelKey]: ''
357
314
  }
358
315
  }
359
316
 
@@ -377,12 +334,7 @@ function chooseItem(colIndex: number, index: number) {
377
334
  handleColChange(colIndex, item, index)
378
335
  }
379
336
 
380
- function handleColChange(
381
- colIndex: number,
382
- item: Record<string, any>,
383
- index: number,
384
- callback?: () => void,
385
- ) {
337
+ function handleColChange(colIndex: number, item: Record<string, any>, index: number, callback?: () => void) {
386
338
  loading.value = true
387
339
  const { columnChange, beforeConfirm } = props
388
340
  columnChange &&
@@ -392,9 +344,7 @@ function handleColChange(
392
344
  rowIndex: index,
393
345
  resolve: (nextColumn: Record<string, any>[]) => {
394
346
  if (!isArray(nextColumn)) {
395
- console.error(
396
- '[wot design] error(wd-col-picker): the data of each column of wd-col-picker should be an array',
397
- )
347
+ console.error('[wot ui] error(wd-col-picker): the data of each column of wd-col-picker should be an array')
398
348
  return
399
349
  }
400
350
 
@@ -438,12 +388,12 @@ function handleColChange(
438
388
  } else {
439
389
  loading.value = false
440
390
  }
441
- },
391
+ }
442
392
  )
443
393
  } else {
444
394
  onConfirm()
445
395
  }
446
- },
396
+ }
447
397
  })
448
398
  }
449
399
  function onConfirm() {
@@ -456,7 +406,7 @@ function onConfirm() {
456
406
  value: pickerColSelected.value,
457
407
  selectedItems: pickerColSelected.value.map((item, colIndex) => {
458
408
  return getSelectedItem(item, colIndex, selectList.value)
459
- }),
409
+ })
460
410
  })
461
411
  }
462
412
  function handleColClick(index: number) {
@@ -471,46 +421,44 @@ function handleColClick(index: number) {
471
421
  function setLineStyle(animation: boolean = true) {
472
422
  if (!inited.value) return
473
423
  const { lineWidth, lineHeight } = props
474
- getRect($item, true, proxy).then((rects) => {
475
- const lineStyle: CSSProperties = {}
476
- if (isDef(lineWidth)) {
477
- lineStyle.width = addUnit(lineWidth)
478
- }
479
- if (isDef(lineHeight)) {
480
- lineStyle.height = addUnit(lineHeight)
481
- lineStyle.borderRadius = `calc(${addUnit(lineHeight)} / 2)`
482
- }
483
- const rect = rects[currentCol.value]
484
- const left =
485
- rects.slice(0, currentCol.value).reduce((prev, curr) => prev + Number(curr.width), 0) +
486
- Number(rect.width) / 2
487
- lineStyle.transform = `translateX(${left}px) translateX(-50%)`
488
-
489
- if (animation) {
490
- lineStyle.transition = 'width 300ms ease, transform 300ms ease'
491
- }
424
+ getRect($item, true, proxy)
425
+ .then((rects) => {
426
+ const lineStyle: CSSProperties = {}
427
+ if (isDef(lineWidth)) {
428
+ lineStyle.width = addUnit(lineWidth)
429
+ }
430
+ if (isDef(lineHeight)) {
431
+ lineStyle.height = addUnit(lineHeight)
432
+ lineStyle.borderRadius = `calc(${addUnit(lineHeight)} / 2)`
433
+ }
434
+ const rect = rects[currentCol.value]
435
+ let left = rects.slice(0, currentCol.value).reduce((prev, curr) => prev + Number(curr.width), 0) + Number(rect.width) / 2
436
+ lineStyle.transform = `translateX(${left}px) translateX(-50%)`
492
437
 
493
- state.lineStyle = objToStyle(lineStyle)
494
- })
438
+ if (animation) {
439
+ lineStyle.transition = 'width 300ms ease, transform 300ms ease'
440
+ }
441
+
442
+ state.lineStyle = objToStyle(lineStyle)
443
+ })
444
+ .catch(() => {})
495
445
  }
496
446
  /**
497
447
  * @description scroll-view滑动到active的tab_nav
498
448
  */
499
449
  function lineScrollIntoView() {
500
450
  if (!inited.value) return
501
- Promise.all([getRect($item, true, proxy), getRect($container, false, proxy)]).then(
502
- ([navItemsRects, navRect]) => {
451
+ Promise.all([getRect($item, true, proxy), getRect($container, false, proxy)])
452
+ .then(([navItemsRects, navRect]) => {
503
453
  if (!isArray(navItemsRects) || navItemsRects.length === 0) return
504
454
  // 选中元素
505
455
  const selectItem = navItemsRects[currentCol.value]
506
456
  // 选中元素之前的节点的宽度总和
507
- const offsetLeft = navItemsRects
508
- .slice(0, currentCol.value)
509
- .reduce((prev, curr) => prev + Number(curr.width), 0)
457
+ const offsetLeft = navItemsRects.slice(0, currentCol.value).reduce((prev, curr) => prev + Number(curr.width), 0)
510
458
  // scroll-view滑动到selectItem的偏移量
511
459
  scrollLeft.value = offsetLeft - ((navRect as any).width - Number(selectItem.width)) / 2
512
- },
513
- )
460
+ })
461
+ .catch(() => {})
514
462
  }
515
463
 
516
464
  // 递归列数据补齐
@@ -541,7 +489,7 @@ function handleAutoComplete() {
541
489
 
542
490
  defineExpose<ColPickerExpose>({
543
491
  close,
544
- open,
492
+ open
545
493
  })
546
494
  </script>
547
495
 
@@ -1,5 +1,5 @@
1
- @import '../common/abstracts/variable';
2
- @import '../common/abstracts/mixin';
1
+ @import "../common/abstracts/variable";
2
+ @import "../common/abstracts/mixin";
3
3
 
4
4
  .wot-theme-dark {
5
5
  @include b(collapse) {
@@ -17,13 +17,6 @@
17
17
  @include when(viewmore) {
18
18
  padding: $-collapse-side-padding;
19
19
  }
20
- @include e(hidden-content) {
21
- position: absolute;
22
- top: 0;
23
- left: 0;
24
- z-index: -1;
25
- opacity: 0;
26
- }
27
20
  @include e(content) {
28
21
  font-size: $-collapse-body-fs;
29
22
  color: $-collapse-body-color;
@@ -38,21 +31,22 @@
38
31
  @include e(more) {
39
32
  display: inline-block;
40
33
  font-size: $-collapse-retract-fs;
34
+ margin-top: 8px;
41
35
  color: $-collapse-more-color;
42
36
  user-select: none;
43
37
  }
44
38
  @include e(more-txt) {
45
39
  display: inline-block;
46
- margin-right: 4px;
47
40
  vertical-align: middle;
41
+ margin-right: 4px;
48
42
  }
49
43
  @include e(arrow) {
50
44
  display: inline-block;
51
- height: $-collapse-arrow-size;
52
- font-size: $-collapse-arrow-size;
53
- line-height: $-collapse-arrow-size;
54
45
  vertical-align: middle;
55
46
  transition: transform 0.1s;
47
+ font-size: $-collapse-arrow-size;
48
+ height: $-collapse-arrow-size;
49
+ line-height: $-collapse-arrow-size;
56
50
 
57
51
  @include when(retract) {
58
52
  transform: rotate(-180deg);
@@ -1,9 +1,4 @@
1
- import {
2
- type ComponentPublicInstance,
3
- type ExtractPropTypes,
4
- type InjectionKey,
5
- type PropType,
6
- } from 'vue'
1
+ import { type ComponentPublicInstance, type ExtractPropTypes, type InjectionKey, type PropType } from 'vue'
7
2
  import { baseProps, makeBooleanProp, makeNumberProp, makeStringProp } from '../common/props'
8
3
 
9
4
  export type CollapseToggleAllOptions =
@@ -26,12 +21,11 @@ export const collapseProps = {
26
21
  * 查看更多模式下的插槽外部自定义样式
27
22
  */
28
23
  customMoreSlotClass: makeStringProp(''),
29
- text: makeStringProp(''),
30
24
  /**
31
25
  * 绑定值
32
26
  */
33
27
  modelValue: {
34
- type: [String, Array, Boolean] as PropType<string | Array<string> | boolean>,
28
+ type: [String, Array, Boolean] as PropType<string | Array<string> | boolean>
35
29
  },
36
30
  /**
37
31
  * 手风琴模式
@@ -48,7 +42,7 @@ export const collapseProps = {
48
42
  /**
49
43
  * 查看更多的折叠面板,收起时的显示行数
50
44
  */
51
- lineNum: makeNumberProp(2),
45
+ lineNum: makeNumberProp(2)
52
46
  }
53
47
 
54
48
  export type CollapseProps = ExtractPropTypes<typeof collapseProps>
@@ -58,7 +52,7 @@ export type CollapseExpose = {
58
52
  * 切换所有面板展开状态,传 true 为全部展开,false 为全部收起,不传参为全部切换
59
53
  * @param options 面板状态
60
54
  */
61
- toggleAll: (options?: boolean | CollapseToggleAllOptions) => void
55
+ toggleAll: (options?: CollapseToggleAllOptions) => void
62
56
  }
63
57
 
64
58
  export type CollapseInstance = ComponentPublicInstance<CollapseProps, CollapseExpose>
@@ -7,22 +7,19 @@
7
7
  <!-- 查看更多模式 -->
8
8
  <view v-else>
9
9
  <view
10
- :class="`wd-collapse__content ${!modelValue ? 'is-retract' : ''} text-3`"
10
+ :class="`wd-collapse__content ${!modelValue ? 'is-retract' : ''} `"
11
11
  :style="`-webkit-line-clamp: ${contentLineNum}; -webkit-box-orient: vertical`"
12
12
  >
13
- {{ text }}
13
+ <slot></slot>
14
14
  </view>
15
- <view class="wd-collapse__hidden-content text-3">{{ text }}</view>
16
-
17
- <view v-if="isContentOverflow" class="wd-collapse__more" @click="handleMore">
15
+ <view class="wd-collapse__more" @click="handleMore">
18
16
  <!-- 自定义展开按钮 -->
19
17
  <view v-if="useMoreSlot" :class="customMoreSlotClass">
20
18
  <slot name="more"></slot>
21
19
  </view>
20
+ <!-- 显示展开或折叠按钮 -->
22
21
  <block v-else>
23
- <span class="wd-collapse__more-txt">
24
- {{ !modelValue ? translate('expand') : translate('retract') }}
25
- </span>
22
+ <span class="wd-collapse__more-txt">{{ !modelValue ? translate('expand') : translate('retract') }}</span>
26
23
  <view :class="`wd-collapse__arrow ${modelValue ? 'is-retract' : ''}`">
27
24
  <wd-icon name="arrow-down"></wd-icon>
28
25
  </view>
@@ -38,21 +35,17 @@ export default {
38
35
  options: {
39
36
  addGlobalClass: true,
40
37
  virtualHost: true,
41
- styleIsolation: 'shared',
42
- },
38
+ styleIsolation: 'shared'
39
+ }
43
40
  }
44
41
  </script>
45
42
 
46
43
  <script lang="ts" setup>
47
- import { onBeforeMount, onMounted, ref, watch, nextTick, getCurrentInstance } from 'vue'
48
- import {
49
- COLLAPSE_KEY,
50
- collapseProps,
51
- type CollapseExpose,
52
- type CollapseToggleAllOptions,
53
- } from './types'
44
+ import wdIcon from '../wd-icon/wd-icon.vue'
45
+ import { onBeforeMount, ref, watch } from 'vue'
46
+ import { COLLAPSE_KEY, collapseProps, type CollapseExpose, type CollapseToggleAllOptions } from './types'
54
47
  import { useChildren } from '../composables/useChildren'
55
- import { isArray, isDef } from '../common/util'
48
+ import { isArray, isBoolean, isDef } from '../common/util'
56
49
  import { useTranslate } from '../composables/useTranslate'
57
50
 
58
51
  const props = defineProps(collapseProps)
@@ -60,7 +53,6 @@ const emit = defineEmits(['change', 'update:modelValue'])
60
53
 
61
54
  const { translate } = useTranslate('collapse')
62
55
  const contentLineNum = ref<number>(0) // 查看更多的折叠面板,收起时的显示行数
63
- const isContentOverflow = ref<boolean>(false) // 内容是否超出显示行数
64
56
 
65
57
  const { linkChildren, children } = useChildren(COLLAPSE_KEY)
66
58
 
@@ -77,7 +69,7 @@ watch(
77
69
  console.error('value must be Array')
78
70
  }
79
71
  },
80
- { deep: true, immediate: true },
72
+ { deep: true }
81
73
  )
82
74
 
83
75
  watch(
@@ -87,40 +79,18 @@ watch(
87
79
  console.error('lineNum must greater than 0')
88
80
  }
89
81
  },
90
- { deep: true, immediate: true },
82
+ { deep: true, immediate: true }
91
83
  )
92
84
 
93
85
  onBeforeMount(() => {
94
86
  const { lineNum, viewmore, modelValue } = props
95
87
  contentLineNum.value = viewmore && !modelValue ? lineNum : 0
96
88
  })
97
- const { proxy } = getCurrentInstance()!
98
- // 检查内容是否超出行数限制
99
- function checkContentOverflow() {
100
- if (!props.viewmore) return
101
-
102
- nextTick(() => {
103
- const query = uni.createSelectorQuery().in(proxy)
104
- query
105
- .selectAll('.wd-collapse__content, .wd-collapse__hidden-content')
106
- .boundingClientRect((res) => {
107
- if (res[0].height < res[1].height) {
108
- isContentOverflow.value = true
109
- }
110
- })
111
- .exec()
112
- })
113
- }
114
-
115
- // 监听内容变化
116
- onMounted(() => {
117
- checkContentOverflow()
118
- })
119
89
 
120
90
  function updateChange(activeNames: string | string[] | boolean) {
121
91
  emit('update:modelValue', activeNames)
122
92
  emit('change', {
123
- value: activeNames,
93
+ value: activeNames
124
94
  })
125
95
  }
126
96
 
@@ -139,26 +109,23 @@ function toggle(name: string, expanded: boolean) {
139
109
  * 切换所有面板展开状态,传 true 为全部展开,false 为全部收起,不传参为全部切换
140
110
  * @param options 面板状态
141
111
  */
142
- const toggleAll = (options: boolean | CollapseToggleAllOptions = {}) => {
112
+ const toggleAll = (options: CollapseToggleAllOptions = {}) => {
143
113
  if (props.accordion) {
144
114
  return
145
115
  }
146
- if (typeof options === 'boolean') {
116
+ if (isBoolean(options)) {
147
117
  options = { expanded: options }
148
118
  }
149
119
 
150
120
  const { expanded, skipDisabled } = options
151
121
  const names: string[] = []
152
-
153
- children.forEach((item, index: number) => {
122
+ children.forEach((item, index) => {
154
123
  if (item.disabled && skipDisabled) {
155
124
  if (item.$.exposed!.getExpanded()) {
156
125
  names.push(item.name || index)
157
126
  }
158
- } else {
159
- if (isDef(expanded) ? expanded : !item.$.exposed!.getExpanded()) {
160
- names.push(item.name || index)
161
- }
127
+ } else if (isDef(expanded) ? expanded : !item.$.exposed!.getExpanded()) {
128
+ names.push(item.name || index)
162
129
  }
163
130
  })
164
131
  updateChange(names)
@@ -170,15 +137,15 @@ const toggleAll = (options: boolean | CollapseToggleAllOptions = {}) => {
170
137
  function handleMore() {
171
138
  emit('update:modelValue', !props.modelValue)
172
139
  emit('change', {
173
- value: !props.modelValue,
140
+ value: !props.modelValue
174
141
  })
175
142
  }
176
143
 
177
144
  defineExpose<CollapseExpose>({
178
- toggleAll,
145
+ toggleAll
179
146
  })
180
147
  </script>
181
148
 
182
149
  <style lang="scss" scoped>
183
- @import './index';
150
+ @import './index.scss';
184
151
  </style>