@opentiny/vue-docs 2.2.7 → 2.2.9

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 (494) hide show
  1. package/demos/mobile/app/button/base.vue +42 -0
  2. package/demos/mobile/app/button/disabled.vue +42 -0
  3. package/demos/mobile/app/button/event.vue +46 -0
  4. package/demos/mobile/app/button/icon.vue +8 -7
  5. package/demos/mobile/app/button/loading.vue +21 -9
  6. package/demos/mobile/app/button/reset-time.vue +9 -16
  7. package/demos/mobile/app/button/size.vue +28 -11
  8. package/demos/mobile/app/button/webdoc/button.js +43 -98
  9. package/demos/mobile/app/file-upload/custom-upload-tip.vue +1 -1
  10. package/demos/mobile/app/switch/webdoc/switch.cn.md +3 -4
  11. package/demos/mobile-first/app/switch/webdoc/switch.cn.md +1 -1
  12. package/demos/mobile-first/app/switch/webdoc/switch.en.md +1 -1
  13. package/demos/pc/app/action-menu/webdoc/action-menu.js +2 -2
  14. package/demos/pc/app/alert/basic-usage-composition-api.vue +1 -0
  15. package/demos/pc/app/alert/basic-usage.vue +1 -0
  16. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  17. package/demos/pc/app/alert/icon-composition-api.vue +3 -2
  18. package/demos/pc/app/alert/icon.vue +4 -3
  19. package/demos/pc/app/alert/webdoc/alert.js +12 -2
  20. package/demos/pc/app/anchor/basic-usage-composition-api.vue +7 -7
  21. package/demos/pc/app/anchor/basic-usage.spec.ts +2 -2
  22. package/demos/pc/app/anchor/basic-usage.vue +7 -7
  23. package/demos/pc/app/anchor/change-composition-api.vue +7 -7
  24. package/demos/pc/app/anchor/change.spec.ts +2 -2
  25. package/demos/pc/app/anchor/change.vue +7 -7
  26. package/demos/pc/app/anchor/is-affix-composition-api.vue +7 -7
  27. package/demos/pc/app/anchor/is-affix.vue +7 -7
  28. package/demos/pc/app/anchor/webdoc/anchor.js +4 -4
  29. package/demos/pc/app/autocomplete/webdoc/autocomplete.js +2 -2
  30. package/demos/pc/app/badge/webdoc/badge.js +1 -1
  31. package/demos/pc/app/button/webdoc/button.js +1 -1
  32. package/demos/pc/app/button-group/basic-usage.spec.ts +1 -0
  33. package/demos/pc/app/button-group/slot-empty-composition-api.vue +25 -0
  34. package/demos/pc/app/button-group/slot-empty.spec.ts +11 -0
  35. package/demos/pc/app/button-group/slot-empty.vue +33 -0
  36. package/demos/pc/app/button-group/webdoc/button-group.js +9 -0
  37. package/demos/pc/app/calendar/basic-usage-composition-api.vue +1 -1
  38. package/demos/pc/app/calendar/basic-usage.spec.ts +33 -0
  39. package/demos/pc/app/calendar/basic-usage.vue +1 -1
  40. package/demos/pc/app/calendar/calendar-mode-composition-api.vue +1 -1
  41. package/demos/pc/app/calendar/calendar-mode.spec.ts +33 -0
  42. package/demos/pc/app/calendar/calendar-mode.vue +1 -1
  43. package/demos/pc/app/calendar/custom-calendar-toolbar-composition-api.vue +3 -3
  44. package/demos/pc/app/calendar/custom-calendar-toolbar.spec.ts +18 -0
  45. package/demos/pc/app/calendar/custom-calendar-toolbar.vue +3 -3
  46. package/demos/pc/app/calendar/custom-day-cell-composition-api.vue +1 -1
  47. package/demos/pc/app/calendar/custom-day-cell.spec.ts +10 -0
  48. package/demos/pc/app/calendar/custom-day-cell.vue +1 -1
  49. package/demos/pc/app/calendar/dynamic-add-schedule-composition-api.vue +1 -1
  50. package/demos/pc/app/calendar/dynamic-add-schedule.spec.ts +26 -0
  51. package/demos/pc/app/calendar/dynamic-add-schedule.vue +1 -1
  52. package/demos/pc/app/calendar/show-selected-date-composition-api.vue +1 -1
  53. package/demos/pc/app/calendar/show-selected-date.spec.ts +14 -0
  54. package/demos/pc/app/calendar/show-selected-date.vue +1 -1
  55. package/demos/pc/app/calendar/webdoc/calendar.js +22 -8
  56. package/demos/pc/app/calendar-view/basic-usage.spec.ts +18 -0
  57. package/demos/pc/app/calendar-view/calendar-day-mark.spec.ts +23 -0
  58. package/demos/pc/app/calendar-view/calendar-disabled-day-composition-api.vue +2 -2
  59. package/demos/pc/app/calendar-view/calendar-disabled-day.spec.ts +12 -0
  60. package/demos/pc/app/calendar-view/calendar-disabled-day.vue +1 -1
  61. package/demos/pc/app/calendar-view/calendar-event.spec.ts +25 -0
  62. package/demos/pc/app/calendar-view/calendar-mode.spec.ts +25 -0
  63. package/demos/pc/app/calendar-view/calendar-schedule-slot.spec.ts +18 -0
  64. package/demos/pc/app/calendar-view/calendar-timeline-range.spec.ts +11 -0
  65. package/demos/pc/app/calendar-view/calendar-timeline-slot.spec.ts +23 -0
  66. package/demos/pc/app/calendar-view/custom-calendar-toolbar.spec.ts +8 -0
  67. package/demos/pc/app/calendar-view/custom-day-bg-color.spec.ts +8 -0
  68. package/demos/pc/app/calendar-view/custom-header.spec.ts +11 -0
  69. package/demos/pc/app/calendar-view/multi-select-composition-api.vue +2 -2
  70. package/demos/pc/app/calendar-view/multi-select.spec.ts +13 -0
  71. package/demos/pc/app/calendar-view/multi-select.vue +1 -1
  72. package/demos/pc/app/calendar-view/set-working-day-composition-api.vue +3 -7
  73. package/demos/pc/app/calendar-view/set-working-day.spec.ts +22 -0
  74. package/demos/pc/app/calendar-view/set-working-day.vue +1 -1
  75. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +1 -1
  76. package/demos/pc/app/carousel/autoplay-composition-api.vue +2 -2
  77. package/demos/pc/app/carousel/autoplay.spec.ts +2 -0
  78. package/demos/pc/app/carousel/autoplay.vue +2 -2
  79. package/demos/pc/app/carousel/basic-usage-composition-api.vue +2 -2
  80. package/demos/pc/app/carousel/basic-usage.spec.ts +1 -8
  81. package/demos/pc/app/carousel/basic-usage.vue +2 -2
  82. package/demos/pc/app/carousel/card-mode-composition-api.vue +2 -2
  83. package/demos/pc/app/carousel/card-mode.vue +2 -2
  84. package/demos/pc/app/carousel/carousel-arrow-always-composition-api.vue +2 -2
  85. package/demos/pc/app/carousel/carousel-arrow-always.vue +2 -2
  86. package/demos/pc/app/carousel/carousel-arrow-hover-composition-api.vue +2 -2
  87. package/demos/pc/app/carousel/carousel-arrow-hover.vue +2 -2
  88. package/demos/pc/app/carousel/carousel-arrow-never-composition-api.vue +2 -2
  89. package/demos/pc/app/carousel/carousel-arrow-never.vue +2 -2
  90. package/demos/pc/app/carousel/carousel-events-composition-api.vue +2 -2
  91. package/demos/pc/app/carousel/carousel-events.vue +2 -2
  92. package/demos/pc/app/carousel/close-loop-composition-api.vue +2 -2
  93. package/demos/pc/app/carousel/close-loop.vue +2 -2
  94. package/demos/pc/app/carousel/custom-height-composition-api.vue +2 -2
  95. package/demos/pc/app/carousel/custom-height.vue +2 -2
  96. package/demos/pc/app/carousel/indicator-trigger-composition-api.vue +2 -2
  97. package/demos/pc/app/carousel/indicator-trigger.vue +2 -2
  98. package/demos/pc/app/carousel/initial-index-composition-api.vue +2 -2
  99. package/demos/pc/app/carousel/initial-index.vue +2 -2
  100. package/demos/pc/app/carousel/manual-play-composition-api.vue +19 -8
  101. package/demos/pc/app/carousel/manual-play.vue +18 -8
  102. package/demos/pc/app/carousel/play-interval-composition-api.vue +2 -2
  103. package/demos/pc/app/carousel/play-interval.vue +2 -2
  104. package/demos/pc/app/carousel/show-title-composition-api.vue +2 -2
  105. package/demos/pc/app/carousel/show-title.vue +2 -2
  106. package/demos/pc/app/carousel/up-down-carousel-composition-api.vue +2 -2
  107. package/demos/pc/app/carousel/up-down-carousel.vue +2 -2
  108. package/demos/pc/app/chart/histogram/demo4-composition-api.vue +0 -2
  109. package/demos/pc/app/chart/histogram/demo4.vue +0 -2
  110. package/demos/pc/app/checkbox/checkbox-events-composition-api.vue +2 -3
  111. package/demos/pc/app/checkbox/checkbox-events.vue +2 -3
  112. package/demos/pc/app/checkbox/group-options-composition-api.vue +1 -1
  113. package/demos/pc/app/checkbox/group-options.vue +1 -1
  114. package/demos/pc/app/checkbox/size-composition-api.vue +0 -1
  115. package/demos/pc/app/checkbox/text-composition-api.vue +3 -2
  116. package/demos/pc/app/checkbox/text.vue +2 -1
  117. package/demos/pc/app/checkbox/webdoc/checkbox.js +3 -3
  118. package/demos/pc/app/collapse/title-composition-api.vue +3 -2
  119. package/demos/pc/app/collapse/title.vue +3 -2
  120. package/demos/pc/app/collapse/webdoc/collapse.js +11 -11
  121. package/demos/pc/app/config-provider/webdoc/config-provider.js +3 -3
  122. package/demos/pc/app/date-picker/align.spec.ts +11 -12
  123. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -23
  124. package/demos/pc/app/date-picker/clear.spec.ts +24 -5
  125. package/demos/pc/app/date-picker/date-range.spec.ts +63 -11
  126. package/demos/pc/app/date-picker/default-value.spec.ts +19 -4
  127. package/demos/pc/app/date-picker/events.spec.ts +24 -10
  128. package/demos/pc/app/date-picker/format.spec.ts +12 -11
  129. package/demos/pc/app/date-picker/shortcuts.spec.ts +6 -5
  130. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  132. package/demos/pc/app/dialog-box/center-composition-api.vue +2 -2
  133. package/demos/pc/app/dialog-box/center.vue +2 -2
  134. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +2 -2
  135. package/demos/pc/app/dialog-box/close-on-click-modal.vue +2 -2
  136. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +2 -2
  137. package/demos/pc/app/dialog-box/close-on-press-escape.vue +2 -2
  138. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-content.vue +2 -2
  140. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-footer.vue +4 -4
  142. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  143. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +3 -3
  147. package/demos/pc/app/dialog-box/dialog-width.vue +3 -3
  148. package/demos/pc/app/dialog-box/lock-scroll-composition-api.vue +2 -2
  149. package/demos/pc/app/dialog-box/lock-scroll.vue +2 -2
  150. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +63 -63
  151. package/demos/pc/app/dialog-select/nest-grid-multi-composition-api.vue +9 -3
  152. package/demos/pc/app/dialog-select/nest-grid-multi.vue +8 -3
  153. package/demos/pc/app/dialog-select/nest-grid-single-composition-api.vue +3 -2
  154. package/demos/pc/app/dialog-select/nest-grid-single.vue +3 -2
  155. package/demos/pc/app/dialog-select/nest-tree-multi-composition-api.vue +3 -2
  156. package/demos/pc/app/dialog-select/nest-tree-multi.vue +3 -2
  157. package/demos/pc/app/dialog-select/nest-tree-single-composition-api.vue +3 -2
  158. package/demos/pc/app/dialog-select/nest-tree-single.vue +3 -2
  159. package/demos/pc/app/dialog-select/webdoc/dialog-select.js +90 -42
  160. package/demos/pc/app/drawer/confirm-event-composition-api.vue +1 -1
  161. package/demos/pc/app/drawer/confirm-event.vue +1 -1
  162. package/demos/pc/app/drawer/webdoc/drawer.cn.md +1 -1
  163. package/demos/pc/app/drawer/webdoc/drawer.en.md +7 -0
  164. package/demos/pc/app/drawer/webdoc/drawer.js +94 -47
  165. package/demos/pc/app/drawer/z-index-composition-api.vue +1 -1
  166. package/demos/pc/app/drawer/z-index.spec.ts +1 -1
  167. package/demos/pc/app/drawer/z-index.vue +1 -1
  168. package/demos/pc/app/drop-times/basic-usage-composition-api.vue +7 -1
  169. package/demos/pc/app/drop-times/basic-usage.spec.ts +1 -1
  170. package/demos/pc/app/drop-times/basic-usage.vue +8 -2
  171. package/demos/pc/app/drop-times/size-composition-api.vue +14 -4
  172. package/demos/pc/app/drop-times/size.spec.ts +5 -1
  173. package/demos/pc/app/drop-times/size.vue +14 -4
  174. package/demos/pc/app/drop-times/start-end-step-composition-api.vue +8 -13
  175. package/demos/pc/app/drop-times/start-end-step.spec.ts +1 -1
  176. package/demos/pc/app/drop-times/start-end-step.vue +10 -16
  177. package/demos/pc/app/drop-times/webdoc/drop-times.js +27 -17
  178. package/demos/pc/app/dropdown/webdoc/dropdown.js +2 -2
  179. package/demos/pc/app/fall-menu/webdoc/fall-menu.js +4 -10
  180. package/demos/pc/app/file-upload/abort-quest-composition-api.vue +1 -1
  181. package/demos/pc/app/file-upload/abort-quest.vue +1 -1
  182. package/demos/pc/app/file-upload/basic-usage.spec.ts +2 -2
  183. package/demos/pc/app/file-upload/{prevent-upload-file-composition-api.vue → before-upload-limit-composition-api.vue} +13 -5
  184. package/demos/pc/app/file-upload/{prevent-upload-file.spec.ts → before-upload-limit.spec.ts} +9 -4
  185. package/demos/pc/app/file-upload/{prevent-upload-file.vue → before-upload-limit.vue} +15 -5
  186. package/demos/pc/app/file-upload/custom-upload-tip-composition-api.vue +1 -1
  187. package/demos/pc/app/file-upload/custom-upload-tip.spec.ts +1 -1
  188. package/demos/pc/app/file-upload/custom-upload-tip.vue +1 -1
  189. package/demos/pc/app/file-upload/form-validation-composition-api.vue +10 -4
  190. package/demos/pc/app/file-upload/form-validation.vue +9 -3
  191. package/demos/pc/app/file-upload/multiple-file.spec.ts +3 -1
  192. package/demos/pc/app/file-upload/upload-events-composition-api.vue +8 -8
  193. package/demos/pc/app/file-upload/upload-events.vue +8 -8
  194. package/demos/pc/app/file-upload/upload-request-composition-api.vue +1 -1
  195. package/demos/pc/app/file-upload/upload-request.vue +1 -1
  196. package/demos/pc/app/file-upload/webdoc/file-upload.js +97 -96
  197. package/demos/pc/app/form/form-validation-composition-api.vue +2 -2
  198. package/demos/pc/app/form/form-validation.vue +1 -1
  199. package/demos/pc/app/form/label-position.spec.ts +3 -0
  200. package/demos/pc/app/form/popper-options.spec.ts +1 -0
  201. package/demos/pc/app/form/slot-label-composition-api.vue +1 -1
  202. package/demos/pc/app/form/validate-debounce-composition-api.vue +3 -3
  203. package/demos/pc/app/form/validate-debounce.vue +3 -3
  204. package/demos/pc/app/form/webdoc/form.js +10 -9
  205. package/demos/pc/app/grid/dynamically-columns/dynamically-columns-composition-api.vue +6 -4
  206. package/demos/pc/app/grid/dynamically-columns/dynamically-columns.vue +6 -4
  207. package/demos/pc/app/grid/dynamically-columns/reverse-row-composition-api.vue +3 -1
  208. package/demos/pc/app/grid/dynamically-columns/reverse-row.vue +3 -1
  209. package/demos/pc/app/grid/faq/grid-in-dialog-box-composition-api.vue +1 -1
  210. package/demos/pc/app/grid/faq/grid-in-dialog-box.spec.js +1 -1
  211. package/demos/pc/app/grid/faq/grid-in-dialog-box.vue +1 -1
  212. package/demos/pc/app/grid/filter/advanced-filter-composition-api.vue +0 -15
  213. package/demos/pc/app/grid/filter/advanced-filter.spec.js +1 -1
  214. package/demos/pc/app/grid/filter/advanced-filter.vue +0 -14
  215. package/demos/pc/app/grid/filter/custom-filter.spec.js +1 -1
  216. package/demos/pc/app/grid/filter/default-filter-composition-api.vue +1 -1
  217. package/demos/pc/app/grid/filter/default-filter.spec.ts +1 -1
  218. package/demos/pc/app/grid/filter/default-filter.vue +1 -1
  219. package/demos/pc/app/grid/filter/simple-default-value-filter-composition-api.vue +0 -14
  220. package/demos/pc/app/grid/filter/simple-default-value-filter.vue +0 -14
  221. package/demos/pc/app/grid/filter/simple-filter-composition-api.vue +0 -14
  222. package/demos/pc/app/grid/filter/simple-filter.vue +0 -14
  223. package/demos/pc/app/grid/footer/configuration-summary.spec.js +1 -1
  224. package/demos/pc/app/grid/highlight/set-current-row-composition-api.vue +4 -1
  225. package/demos/pc/app/grid/highlight/set-current-row.vue +4 -1
  226. package/demos/pc/app/grid/large-data/scroll-to-composition-api.vue +6 -3
  227. package/demos/pc/app/grid/large-data/scroll-to.vue +6 -3
  228. package/demos/pc/app/grid/pager/inner-pager-composition-api.vue +1 -1
  229. package/demos/pc/app/grid/pager/inner-pager.spec.js +1 -1
  230. package/demos/pc/app/grid/pager/inner-pager.vue +1 -1
  231. package/demos/pc/app/grid/sort/server-sort-composition-api.vue +3 -3
  232. package/demos/pc/app/grid/sort/server-sort.vue +2 -2
  233. package/demos/pc/app/grid/sort/sort-composition-api.vue +4 -1
  234. package/demos/pc/app/grid/sort/sort.spec.js +1 -1
  235. package/demos/pc/app/grid/sort/sort.vue +4 -1
  236. package/demos/pc/app/grid/toolbar/insert-delete-update-composition-api.vue +2 -1
  237. package/demos/pc/app/grid/toolbar/insert-delete-update.vue +2 -1
  238. package/demos/pc/app/grid/toolbar/toolbar-op-config-composition-api.vue +3 -2
  239. package/demos/pc/app/grid/toolbar/toolbar-op-config.vue +3 -2
  240. package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +5 -5
  241. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +2 -2
  242. package/demos/pc/app/grid/validation/before-submit-validation.vue +5 -5
  243. package/demos/pc/app/grid/webdoc/grid-appearance-settings.js +2 -2
  244. package/demos/pc/app/grid/webdoc/grid-context-menu.js +4 -4
  245. package/demos/pc/app/grid/webdoc/grid-custom-style.js +2 -2
  246. package/demos/pc/app/grid/webdoc/grid-custom.js +31 -31
  247. package/demos/pc/app/grid/webdoc/grid-drag.js +1 -1
  248. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +4 -1
  249. package/demos/pc/app/grid/webdoc/grid-editor.js +2 -2
  250. package/demos/pc/app/grid/webdoc/grid-empty.js +4 -1
  251. package/demos/pc/app/grid/webdoc/grid-expand.js +3 -3
  252. package/demos/pc/app/grid/webdoc/grid-faq.js +4 -4
  253. package/demos/pc/app/grid/webdoc/grid-filter.js +4 -4
  254. package/demos/pc/app/grid/webdoc/grid-footer.js +1 -1
  255. package/demos/pc/app/grid/webdoc/grid-highlight.js +2 -2
  256. package/demos/pc/app/grid/webdoc/grid-import-export.js +5 -2
  257. package/demos/pc/app/grid/webdoc/grid-large-data.js +6 -5
  258. package/demos/pc/app/grid/webdoc/grid-mouse-keyboard.js +2 -2
  259. package/demos/pc/app/grid/webdoc/grid-pager.js +11 -2
  260. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -11
  261. package/demos/pc/app/grid/webdoc/grid-row-grouping.js +2 -2
  262. package/demos/pc/app/grid/webdoc/grid-size.js +6 -6
  263. package/demos/pc/app/grid/webdoc/grid-slot.js +16 -4
  264. package/demos/pc/app/grid/webdoc/grid-tip.js +3 -3
  265. package/demos/pc/app/grid/webdoc/grid-toolbar.js +17 -9
  266. package/demos/pc/app/grid/webdoc/grid-tree-table.js +9 -7
  267. package/demos/pc/app/grid/webdoc/grid-validation.js +6 -6
  268. package/demos/pc/app/grid/webdoc/grid.js +160 -85
  269. package/demos/pc/app/icon/iconGroups.js +1 -0
  270. package/demos/pc/app/icon/list-composition-api.vue +8 -0
  271. package/demos/pc/app/icon/list.vue +7 -0
  272. package/demos/pc/app/image/basic-usage.spec.ts +1 -1
  273. package/demos/pc/app/image/events.spec.ts +1 -1
  274. package/demos/pc/app/image/lazy.spec.ts +1 -1
  275. package/demos/pc/app/image/preview-in-dialog.spec.ts +1 -1
  276. package/demos/pc/app/image/preview.spec.ts +1 -1
  277. package/demos/pc/app/image/slot.spec.ts +1 -1
  278. package/demos/pc/app/image/webdoc/image.cn.md +3 -1
  279. package/demos/pc/app/image/webdoc/image.en.md +3 -1
  280. package/demos/pc/app/image/webdoc/image.js +34 -18
  281. package/demos/pc/app/input/method-addMemory-composition-api.vue +1 -0
  282. package/demos/pc/app/input/method-addMemory.spec.ts +11 -0
  283. package/demos/pc/app/input/method-addMemory.vue +1 -0
  284. package/demos/pc/app/input/webdoc/input.js +12 -2
  285. package/demos/pc/app/ip-address/webdoc/ip-address.cn.md +2 -2
  286. package/demos/pc/app/ip-address/webdoc/ip-address.js +2 -2
  287. package/demos/pc/app/link/webdoc/link.js +1 -1
  288. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  289. package/demos/pc/app/milestone/show-number-composition-api.vue +1 -1
  290. package/demos/pc/app/milestone/show-number.vue +1 -1
  291. package/demos/pc/app/milestone/solid-style-composition-api.vue +1 -1
  292. package/demos/pc/app/milestone/solid-style.vue +1 -1
  293. package/demos/pc/app/milestone/webdoc/milestone.js +9 -9
  294. package/demos/pc/app/mind-map/basic-usage-composition-api.vue +14 -0
  295. package/demos/pc/app/mind-map/basic-usage.spec.ts +36 -0
  296. package/demos/pc/app/mind-map/basic-usage.vue +20 -0
  297. package/demos/pc/app/mind-map/event-composition-api.vue +125 -0
  298. package/demos/pc/app/mind-map/event.spec.ts +52 -0
  299. package/demos/pc/app/mind-map/event.vue +136 -0
  300. package/demos/pc/app/mind-map/export-data-composition-api.vue +108 -0
  301. package/demos/pc/app/mind-map/export-data.spec.ts +19 -0
  302. package/demos/pc/app/mind-map/export-data.vue +119 -0
  303. package/demos/pc/app/mind-map/webdoc/mind-map.cn.md +7 -0
  304. package/demos/pc/app/mind-map/webdoc/mind-map.en.md +7 -0
  305. package/demos/pc/app/mind-map/webdoc/mind-map.js +250 -0
  306. package/demos/pc/app/modal/webdoc/modal.js +47 -47
  307. package/demos/pc/app/nav-menu/custom-service-composition-api.vue +5 -5
  308. package/demos/pc/app/nav-menu/custom-service.vue +5 -5
  309. package/demos/pc/app/notify/webdoc/notify.js +9 -6
  310. package/demos/pc/app/numeric/webdoc/numeric.js +23 -23
  311. package/demos/pc/app/pager/before-page-change-composition-api.vue +1 -1
  312. package/demos/pc/app/pager/before-page-change.vue +1 -1
  313. package/demos/pc/app/pager/custom-layout-composition-api.vue +8 -6
  314. package/demos/pc/app/pager/custom-layout.vue +8 -6
  315. package/demos/pc/app/pager/custom-total-composition-api.vue +20 -18
  316. package/demos/pc/app/pager/custom-total.vue +20 -18
  317. package/demos/pc/app/pager/hide-on-single-page-composition-api.vue +1 -1
  318. package/demos/pc/app/pager/hide-on-single-page.spec.ts +1 -1
  319. package/demos/pc/app/pager/hide-on-single-page.vue +1 -1
  320. package/demos/pc/app/pager/pager-event-composition-api.vue +10 -5
  321. package/demos/pc/app/pager/pager-event.vue +10 -5
  322. package/demos/pc/app/pager/webdoc/pager.js +3 -3
  323. package/demos/pc/app/pop-upload/webdoc/pop-upload.js +3 -3
  324. package/demos/pc/app/popconfirm/webdoc/popconfirm.js +1 -1
  325. package/demos/pc/app/progress/custom-color-composition-api.vue +10 -5
  326. package/demos/pc/app/progress/custom-color.spec.ts +14 -1
  327. package/demos/pc/app/progress/custom-color.vue +10 -5
  328. package/demos/pc/app/progress/custom-status-composition-api.vue +30 -11
  329. package/demos/pc/app/progress/custom-status.vue +30 -11
  330. package/demos/pc/app/progress/webdoc/progress.js +7 -8
  331. package/demos/pc/app/qr-code/level-composition-api.vue +5 -8
  332. package/demos/pc/app/qr-code/style-composition-api.vue +1 -0
  333. package/demos/pc/app/qr-code/style.vue +1 -0
  334. package/demos/pc/app/qr-code/webdoc/qr-code.js +22 -10
  335. package/demos/pc/app/radio/group-options-composition-api.vue +13 -0
  336. package/demos/pc/app/radio/group-options.vue +20 -2
  337. package/demos/pc/app/radio/webdoc/radio.js +3 -3
  338. package/demos/pc/app/rate/webdoc/rate.js +8 -10
  339. package/demos/pc/app/search/events-composition-api.vue +4 -4
  340. package/demos/pc/app/search/events.vue +4 -4
  341. package/demos/pc/app/search/slot-prefix-composition-api.vue +1 -1
  342. package/demos/pc/app/search/slot-prefix.vue +1 -1
  343. package/demos/pc/app/search/webdoc/search.js +2 -2
  344. package/demos/pc/app/select/basic-usage-composition-api.vue +11 -6
  345. package/demos/pc/app/select/basic-usage.spec.ts +34 -9
  346. package/demos/pc/app/select/basic-usage.vue +11 -6
  347. package/demos/pc/app/select/clear-no-match-value-composition-api.vue +1 -1
  348. package/demos/pc/app/select/clear-no-match-value.vue +1 -1
  349. package/demos/pc/app/select/events-composition-api.vue +12 -6
  350. package/demos/pc/app/select/events.vue +10 -5
  351. package/demos/pc/app/select/is-drop-inherit-width-composition-api.vue +1 -2
  352. package/demos/pc/app/select/is-drop-inherit-width.vue +1 -2
  353. package/demos/pc/app/select/no-data-text-composition-api.vue +1 -1
  354. package/demos/pc/app/select/no-data-text.spec.ts +1 -1
  355. package/demos/pc/app/select/no-data-text.vue +1 -1
  356. package/demos/pc/app/select/optimization-composition-api.vue +5 -2
  357. package/demos/pc/app/select/optimization.vue +4 -1
  358. package/demos/pc/app/select/option-group-composition-api.vue +33 -11
  359. package/demos/pc/app/select/option-group.spec.ts +2 -2
  360. package/demos/pc/app/select/option-group.vue +34 -13
  361. package/demos/pc/app/select/slot-default-composition-api.vue +49 -13
  362. package/demos/pc/app/select/slot-default.spec.ts +5 -2
  363. package/demos/pc/app/select/slot-default.vue +50 -14
  364. package/demos/pc/app/select/slot-empty-composition-api.vue +16 -3
  365. package/demos/pc/app/select/slot-empty.spec.ts +1 -1
  366. package/demos/pc/app/select/slot-empty.vue +18 -4
  367. package/demos/pc/app/select/webdoc/select.js +89 -16
  368. package/demos/pc/app/slider/basic-usage-composition-api.vue +1 -1
  369. package/demos/pc/app/slider/basic-usage.vue +1 -1
  370. package/demos/pc/app/switch/before-change-composition-api.vue +4 -1
  371. package/demos/pc/app/switch/before-change.vue +4 -3
  372. package/demos/pc/app/switch/custom-true-false-value-composition-api.vue +1 -1
  373. package/demos/pc/app/switch/custom-true-false-value.spec.ts +2 -2
  374. package/demos/pc/app/switch/custom-true-false-value.vue +1 -1
  375. package/demos/pc/app/switch/event-change-composition-api.vue +1 -1
  376. package/demos/pc/app/switch/event-change.vue +1 -1
  377. package/demos/pc/app/switch/webdoc/switch.cn.md +1 -1
  378. package/demos/pc/app/switch/webdoc/switch.js +1 -1
  379. package/demos/pc/app/tabs/webdoc/tabs.js +3 -3
  380. package/demos/pc/app/tag/webdoc/tag.js +1 -1
  381. package/demos/pc/app/tag-group/basic-usage.vue +1 -1
  382. package/demos/pc/app/tag-group/webdoc/tag-group.js +2 -2
  383. package/demos/pc/app/time-select/basic-usage-composition-api.vue +10 -2
  384. package/demos/pc/app/time-select/basic-usage.spec.ts +6 -5
  385. package/demos/pc/app/time-select/basic-usage.vue +10 -2
  386. package/demos/pc/app/time-select/clear-icon-composition-api.vue +17 -9
  387. package/demos/pc/app/time-select/clear-icon.spec.ts +7 -5
  388. package/demos/pc/app/time-select/clear-icon.vue +17 -9
  389. package/demos/pc/app/time-select/default-value-composition-api.vue +10 -2
  390. package/demos/pc/app/time-select/default-value.spec.ts +3 -2
  391. package/demos/pc/app/time-select/default-value.vue +10 -2
  392. package/demos/pc/app/time-select/editable-composition-api.vue +10 -2
  393. package/demos/pc/app/time-select/editable.vue +10 -2
  394. package/demos/pc/app/time-select/event-blur-composition-api.vue +8 -2
  395. package/demos/pc/app/time-select/event-blur.spec.ts +2 -2
  396. package/demos/pc/app/time-select/event-blur.vue +10 -4
  397. package/demos/pc/app/time-select/focus-composition-api.vue +12 -3
  398. package/demos/pc/app/time-select/focus.spec.ts +5 -4
  399. package/demos/pc/app/time-select/focus.vue +12 -3
  400. package/demos/pc/app/time-select/picker-options-composition-api.vue +21 -13
  401. package/demos/pc/app/time-select/picker-options.spec.ts +1 -1
  402. package/demos/pc/app/time-select/picker-options.vue +21 -13
  403. package/demos/pc/app/time-select/range-placeholder-composition-api.vue +17 -3
  404. package/demos/pc/app/time-select/range-placeholder.spec.ts +16 -13
  405. package/demos/pc/app/time-select/range-placeholder.vue +17 -3
  406. package/demos/pc/app/time-select/size-medium-composition-api.vue +15 -2
  407. package/demos/pc/app/time-select/size-medium.spec.ts +5 -1
  408. package/demos/pc/app/time-select/size-medium.vue +15 -2
  409. package/demos/pc/app/time-select/suffix-icon-composition-api.vue +8 -2
  410. package/demos/pc/app/time-select/suffix-icon.vue +8 -2
  411. package/demos/pc/app/time-select/webdoc/time-select.js +57 -78
  412. package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +2 -2
  413. package/demos/pc/app/transfer/basic-usage.spec.ts +1 -1
  414. package/demos/pc/app/transfer/before-transfer.spec.ts +1 -1
  415. package/demos/pc/app/transfer/custom-btns.spec.ts +1 -1
  416. package/demos/pc/app/transfer/custom-filter.spec.ts +1 -1
  417. package/demos/pc/app/transfer/custom-footer.spec.ts +2 -1
  418. package/demos/pc/app/transfer/custom-render.spec.ts +1 -1
  419. package/demos/pc/app/transfer/custom-titles.spec.ts +1 -1
  420. package/demos/pc/app/transfer/default-checked.spec.ts +1 -1
  421. package/demos/pc/app/transfer/drop-config.spec.ts +1 -1
  422. package/demos/pc/app/transfer/nested-table.spec.ts +1 -1
  423. package/demos/pc/app/transfer/nested-tree.spec.ts +1 -1
  424. package/demos/pc/app/transfer/target-order.spec.ts +1 -1
  425. package/demos/pc/app/transfer/transfer-events.spec.ts +1 -1
  426. package/demos/pc/app/transfer/webdoc/transfer.cn.md +1 -1
  427. package/demos/pc/app/transfer/webdoc/transfer.en.md +3 -3
  428. package/demos/pc/app/transfer/webdoc/transfer.js +76 -43
  429. package/demos/pc/app/tree/basic-usage.spec.ts +1 -1
  430. package/demos/pc/app/tree/check-op.spec.ts +1 -1
  431. package/demos/pc/app/tree/checkbox.spec.ts +1 -1
  432. package/demos/pc/app/tree/contextmenu.spec.ts +1 -1
  433. package/demos/pc/app/tree/drag.spec.ts +1 -1
  434. package/demos/pc/app/tree/edit.spec.ts +1 -1
  435. package/demos/pc/app/tree/expand-control.spec.ts +1 -1
  436. package/demos/pc/app/tree/filter-view.spec.ts +1 -1
  437. package/demos/pc/app/tree/icons.spec.ts +1 -1
  438. package/demos/pc/app/tree/lazy.spec.ts +1 -1
  439. package/demos/pc/app/tree/node-hl.spec.ts +1 -1
  440. package/demos/pc/app/tree/node-op.spec.ts +1 -1
  441. package/demos/pc/app/tree/other.spec.ts +1 -1
  442. package/demos/pc/app/tree/props.spec.ts +1 -1
  443. package/demos/pc/app/tree/radio.spec.ts +1 -1
  444. package/demos/pc/app/tree/slot.spec.ts +1 -1
  445. package/demos/pc/app/tree/webdoc/tree.cn.md +1 -1
  446. package/demos/pc/app/tree/webdoc/tree.en.md +1 -1
  447. package/demos/pc/app/tree/webdoc/tree.js +67 -19
  448. package/demos/pc/app/tree-menu/custom-icon.spec.ts +1 -0
  449. package/demos/pc/app/tree-menu/only-check-children.spec.ts +24 -2
  450. package/demos/pc/app/tree-menu/props.spec.ts +22 -2
  451. package/demos/pc/app/tree-menu/show-expand.spec.ts +36 -4
  452. package/demos/pc/app/tree-menu/show-filter.spec.ts +54 -3
  453. package/demos/pc/app/tree-menu/show-number.spec.ts +14 -1
  454. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +4 -4
  455. package/demos/pc/app/user-head/image-user-head-composition-api.vue +1 -1
  456. package/demos/pc/app/user-head/image-user-head.vue +1 -1
  457. package/demos/pc/app/user-head/webdoc/user-head.js +17 -17
  458. package/demos/pc/app/watermark/webdoc/watermark.js +32 -16
  459. package/demos/pc/menus.js +6 -1
  460. package/demos/pc/webdoc/form-valid-en.md +9 -3
  461. package/demos/pc/webdoc/form-valid.md +3 -1
  462. package/demos/pc/webdoc/theme-en.md +10 -8
  463. package/package.json +9 -8
  464. package/playground/App.vue +9 -0
  465. package/demos/mobile/app/button/event-click.vue +0 -40
  466. package/demos/mobile/app/button/native-type.vue +0 -105
  467. package/demos/mobile/app/button/plain.vue +0 -33
  468. package/demos/mobile/app/button/round.vue +0 -34
  469. package/demos/mobile/app/button/text.vue +0 -38
  470. package/demos/pc/app/calendar-view/hide-mode-composition-api.vue +0 -7
  471. package/demos/pc/app/calendar-view/hide-mode.vue +0 -13
  472. package/demos/pc/app/calendar-view/mode-combination-composition-api.vue +0 -7
  473. package/demos/pc/app/calendar-view/mode-combination.vue +0 -14
  474. package/demos/pc/app/file-upload/upload-limit-composition-api.vue +0 -22
  475. package/demos/pc/app/file-upload/upload-limit.spec.ts +0 -20
  476. package/demos/pc/app/file-upload/upload-limit.vue +0 -32
  477. package/demos/pc/app/time-select/default-time-composition-api.vue +0 -11
  478. package/demos/pc/app/time-select/default-time.vue +0 -19
  479. package/demos/pc/app/time-select/disabled-composition-api.vue +0 -10
  480. package/demos/pc/app/time-select/disabled.spec.ts +0 -8
  481. package/demos/pc/app/time-select/disabled.vue +0 -18
  482. package/demos/pc/app/time-select/event-change-composition-api.vue +0 -16
  483. package/demos/pc/app/time-select/event-change.vue +0 -25
  484. package/demos/pc/app/time-select/popper-class-composition-api.vue +0 -27
  485. package/demos/pc/app/time-select/popper-class.spec.ts +0 -9
  486. package/demos/pc/app/time-select/popper-class.vue +0 -35
  487. package/demos/pc/app/time-select/size-mini-composition-api.vue +0 -10
  488. package/demos/pc/app/time-select/size-mini.spec.ts +0 -8
  489. package/demos/pc/app/time-select/size-mini.vue +0 -18
  490. package/demos/pc/app/time-select/size-small-composition-api.vue +0 -10
  491. package/demos/pc/app/time-select/size-small.spec.ts +0 -8
  492. package/demos/pc/app/time-select/size-small.vue +0 -18
  493. package/demos/pc/resource/user-group-2.png +0 -0
  494. package/demos/pc/resource/user-group.png +0 -0
@@ -1,11 +1,11 @@
1
1
  <template>
2
- <div style="width: 270px">
2
+ <div class="drop-time-demo-basic">
3
3
  <tiny-drop-times v-model="value" placeholder="请选择" @change="change"></tiny-drop-times>
4
4
  <p>当前选中值:{{ value }}</p>
5
5
  </div>
6
6
  </template>
7
7
 
8
- <script lang="jsx">
8
+ <script>
9
9
  import { DropTimes, Modal } from '@opentiny/vue'
10
10
 
11
11
  export default {
@@ -24,3 +24,9 @@ export default {
24
24
  }
25
25
  }
26
26
  </script>
27
+
28
+ <style scoped>
29
+ .drop-time-demo-basic {
30
+ width: 270px;
31
+ }
32
+ </style>
@@ -1,13 +1,23 @@
1
1
  <template>
2
- <div style="width: 270px">
3
- <tiny-drop-times size="medium" v-model="value" placeholder="请选择"></tiny-drop-times>
4
- <p>当前选中值:{{ value }}</p>
2
+ <div class="drop-time-demo-size">
3
+ <tiny-drop-times size="medium" v-model="value" placeholder="尺寸:medium"></tiny-drop-times>
4
+ <tiny-drop-times size="small" v-model="value" placeholder="尺寸:small"></tiny-drop-times>
5
+ <tiny-drop-times size="mini" v-model="value" placeholder="尺寸:mini"></tiny-drop-times>
5
6
  </div>
6
7
  </template>
7
8
 
8
- <script setup lang="jsx">
9
+ <script setup>
9
10
  import { ref } from 'vue'
10
11
  import { DropTimes as TinyDropTimes } from '@opentiny/vue'
11
12
 
12
13
  const value = ref('')
13
14
  </script>
15
+
16
+ <style lang="less" scoped>
17
+ .drop-time-demo-size {
18
+ width: 270px;
19
+ & > * {
20
+ margin-top: 12px;
21
+ }
22
+ }
23
+ </style>
@@ -4,6 +4,10 @@ test('设置组件尺寸', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('drop-times#size')
6
6
 
7
- const droptimes = page.locator('.tiny-select')
7
+ const droptimes = page.locator('.drop-time-demo-size > div:nth-child(1)')
8
8
  await expect(droptimes).toHaveClass(/tiny-select--medium/)
9
+ const droptimesSmall = page.locator('.drop-time-demo-size > div:nth-child(2)')
10
+ await expect(droptimesSmall).toHaveClass(/tiny-select--small/)
11
+ const droptimesMini = page.locator('.drop-time-demo-size > div:nth-child(3)')
12
+ await expect(droptimesMini).toHaveClass(/tiny-select--mini/)
9
13
  })
@@ -1,11 +1,12 @@
1
1
  <template>
2
- <div style="width: 270px">
3
- <tiny-drop-times size="medium" v-model="value" placeholder="请选择"></tiny-drop-times>
4
- <p>当前选中值:{{ value }}</p>
2
+ <div class="drop-time-demo-size">
3
+ <tiny-drop-times size="medium" v-model="value" placeholder="尺寸:medium"></tiny-drop-times>
4
+ <tiny-drop-times size="small" v-model="value" placeholder="尺寸:small"></tiny-drop-times>
5
+ <tiny-drop-times size="mini" v-model="value" placeholder="尺寸:mini"></tiny-drop-times>
5
6
  </div>
6
7
  </template>
7
8
 
8
- <script lang="jsx">
9
+ <script>
9
10
  import { DropTimes } from '@opentiny/vue'
10
11
 
11
12
  export default {
@@ -19,3 +20,12 @@ export default {
19
20
  }
20
21
  }
21
22
  </script>
23
+
24
+ <style lang="less" scoped>
25
+ .drop-time-demo-size {
26
+ width: 270px;
27
+ & > * {
28
+ margin-top: 12px;
29
+ }
30
+ }
31
+ </style>
@@ -1,23 +1,18 @@
1
1
  <template>
2
- <div style="width: 270px">
3
- <tiny-drop-times
4
- v-model="value"
5
- placeholder="请选择"
6
- :end="720"
7
- :start="60"
8
- :step="5"
9
- @change="change"
10
- ></tiny-drop-times>
2
+ <div class="drop-time-demo-sse">
3
+ <tiny-drop-times v-model="value" placeholder="请选择" :start="60" :step="5" :end="720"></tiny-drop-times>
11
4
  </div>
12
5
  </template>
13
6
 
14
7
  <script setup>
15
8
  import { ref } from 'vue'
16
- import { DropTimes as TinyDropTimes, Modal } from '@opentiny/vue'
9
+ import { DropTimes as TinyDropTimes } from '@opentiny/vue'
17
10
 
18
11
  const value = ref('')
12
+ </script>
19
13
 
20
- function change(value) {
21
- Modal.message({ message: 'change 事件,当前值为 ' + value })
14
+ <style scoped>
15
+ .drop-time-demo-sse {
16
+ width: 270px;
22
17
  }
23
- </script>
18
+ </style>
@@ -4,7 +4,7 @@ test('步长与时间区间', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('drop-times#start-end-step')
6
6
 
7
- const droptimes = page.getByPlaceholder('请选择')
7
+ const droptimes = page.locator('#start-end-step').getByRole('textbox', { name: '请选择' })
8
8
  const option1 = page.locator('.tiny-select-dropdown__item').first()
9
9
  const option2 = page.locator('.tiny-select-dropdown__item').nth(1)
10
10
  const option3 = page.locator('.tiny-select-dropdown__item').last()
@@ -1,18 +1,11 @@
1
1
  <template>
2
- <div style="width: 270px">
3
- <tiny-drop-times
4
- v-model="value"
5
- placeholder="请选择"
6
- :end="720"
7
- :start="60"
8
- :step="5"
9
- @change="change"
10
- ></tiny-drop-times>
2
+ <div class="drop-time-demo-sse">
3
+ <tiny-drop-times v-model="value" placeholder="请选择" :start="60" :step="5" :end="720"></tiny-drop-times>
11
4
  </div>
12
5
  </template>
13
6
 
14
- <script lang="jsx">
15
- import { DropTimes, Modal } from '@opentiny/vue'
7
+ <script>
8
+ import { DropTimes } from '@opentiny/vue'
16
9
 
17
10
  export default {
18
11
  components: {
@@ -22,11 +15,12 @@ export default {
22
15
  return {
23
16
  value: ''
24
17
  }
25
- },
26
- methods: {
27
- change(value) {
28
- Modal.message({ message: 'change 事件,当前值为 ' + value })
29
- }
30
18
  }
31
19
  }
32
20
  </script>
21
+
22
+ <style scoped>
23
+ .drop-time-demo-sse {
24
+ width: 270px;
25
+ }
26
+ </style>
@@ -21,7 +21,7 @@ export default {
21
21
  },
22
22
  {
23
23
  'demoId': 'size',
24
- 'name': { 'zh-CN': '设置组件大小的size属性', 'en-US': 'Set the size attribute of the component size' },
24
+ 'name': { 'zh-CN': '尺寸', 'en-US': 'Set the size attribute of the component size' },
25
25
  'desc': {
26
26
  'zh-CN': '<p>可设置为:medium,small,mini</p>\n',
27
27
  'en-US': '<p>The value can be medium, small, or mini</p>\n'
@@ -36,17 +36,17 @@ export default {
36
36
  'props': [
37
37
  {
38
38
  'name': 'modelValue / v-model',
39
- 'type': '',
40
- 'defaultValue': '该属性的默认值为 {}',
39
+ 'type': 'string',
40
+ 'defaultValue': '--',
41
41
  'desc': { 'zh-CN': '绑定值', 'en-US': 'Set the component size. The value can be medium, small, or mini.' },
42
- 'demoId': 'start-end-step'
42
+ 'demoId': 'basic-usage'
43
43
  },
44
44
  {
45
45
  'name': 'size',
46
46
  'type': 'string',
47
- 'defaultValue': '',
47
+ 'defaultValue': '--',
48
48
  'desc': {
49
- 'zh-CN': '设置组件大小,可以设置为:medium,small,mini',
49
+ 'zh-CN': '输入框尺寸',
50
50
  'en-US': 'Class name added to the DropTimes drop-down list box'
51
51
  },
52
52
  'demoId': 'size'
@@ -54,7 +54,7 @@ export default {
54
54
  {
55
55
  'name': 'popper-class',
56
56
  'type': 'string',
57
- 'defaultValue': '',
57
+ 'defaultValue': '--',
58
58
  'desc': {
59
59
  'zh-CN': '为 DropTimes 下拉弹框添加的 class 类名',
60
60
  'en-US':
@@ -65,7 +65,7 @@ export default {
65
65
  {
66
66
  'name': 'popper-append-to-body',
67
67
  'type': 'boolean',
68
- 'defaultValue': '该属性的默认值为 true',
68
+ 'defaultValue': ' true',
69
69
  'desc': {
70
70
  'zh-CN':
71
71
  '是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false (可参考 select 组件)',
@@ -81,14 +81,14 @@ export default {
81
81
  'zh-CN': '设置输入框内的提示占位文本',
82
82
  'en-US': 'Set the prompt placeholder text in the text box.'
83
83
  },
84
- 'demoId': 'start-end-step'
84
+ 'demoId': 'basic-usage'
85
85
  },
86
86
  {
87
87
  'name': 'end',
88
88
  'type': 'number',
89
- 'defaultValue': '该属性的默认值为 1440',
89
+ 'defaultValue': ' 1440',
90
90
  'desc': {
91
- 'zh-CN': '结束时间,以分钟计算,默认值为 1440。',
91
+ 'zh-CN': '结束时间,以分钟计算',
92
92
  'en-US': 'End time, in minutes. The default value is 1440.'
93
93
  },
94
94
  'demoId': 'start-end-step'
@@ -96,9 +96,9 @@ export default {
96
96
  {
97
97
  'name': 'start',
98
98
  'type': 'number',
99
- 'defaultValue': '该属性的默认值为 0',
99
+ 'defaultValue': ' 0',
100
100
  'desc': {
101
- 'zh-CN': '开始时间,以分钟计算,默认值为 0。',
101
+ 'zh-CN': '开始时间,以分钟计算',
102
102
  'en-US': 'Start time, in minutes. The default value is 0.'
103
103
  },
104
104
  'demoId': 'start-end-step'
@@ -106,24 +106,34 @@ export default {
106
106
  {
107
107
  'name': 'step',
108
108
  'type': 'number',
109
- 'defaultValue': '该属性的默认值为 15',
109
+ 'defaultValue': ' 15',
110
110
  'desc': {
111
- 'zh-CN': '间隔时间,以分钟计算,默认值为 15。',
111
+ 'zh-CN': '间隔时间,以分钟计算',
112
112
  'en-US': 'Interval, in minutes. The default value is 15.'
113
113
  },
114
114
  'demoId': 'start-end-step'
115
+ },
116
+ {
117
+ 'name': 'disabled',
118
+ 'type': 'boolean',
119
+ 'defaultValue': ' false',
120
+ 'desc': {
121
+ 'zh-CN': '禁用状态',
122
+ 'en-US': 'Disabled state'
123
+ },
124
+ 'demoId': ''
115
125
  }
116
126
  ],
117
127
  'events': [
118
128
  {
119
129
  'name': 'change',
120
- 'type': '',
130
+ 'type': '(value: string) => void',
121
131
  'defaultValue': '',
122
132
  'desc': {
123
133
  'zh-CN': '下拉切换当前时间后触发该事件',
124
134
  'en-US': 'This event is triggered after the current time is switched by the pull-down button.'
125
135
  },
126
- 'demoId': 'start-end-step'
136
+ 'demoId': 'basic-usage'
127
137
  }
128
138
  ],
129
139
  'slots': []
@@ -271,7 +271,7 @@ export default {
271
271
  },
272
272
  {
273
273
  'name': 'suffix-icon',
274
- 'type': 'VueComponent',
274
+ 'type': 'Component',
275
275
  'defaultValue': '',
276
276
  'desc': {
277
277
  'zh-CN': '下拉触发源图标',
@@ -473,7 +473,7 @@ export default {
473
473
  },
474
474
  {
475
475
  'name': 'icon',
476
- 'type': 'VueComponent',
476
+ 'type': 'Component',
477
477
  'defaultValue': '',
478
478
  'desc': {
479
479
  'zh-CN': '内嵌图标',
@@ -5,15 +5,9 @@ export default {
5
5
  {
6
6
  'demoId': 'data-basic',
7
7
  'name': { 'zh-CN': '基本用法', 'en-US': 'Basic Usage' },
8
- 'desc': { 'zh-CN': '详细用法参考如下示例。', 'en-US': 'For details, see the following example.' },
9
- 'codeFiles': ['data-resource.vue']
10
- },
11
- {
12
- 'demoId': 'data-resource',
13
- 'name': { 'zh-CN': '数据源', 'en-US': 'Data Source' },
14
8
  'desc': {
15
- 'zh-CN': '<p>通过 <code>data</code> 设置瀑布菜单的数据。</p>\n',
16
- 'en-US': '<p>Set the data of the waterfall menu through <code>data</code>. </p>\n'
9
+ 'zh-CN': '可通过<code>data</code>属性设置瀑布菜单数据。',
10
+ 'en-US': 'Menu data can be set through the<code>data</code>attribute.'
17
11
  },
18
12
  'codeFiles': ['data-resource.vue']
19
13
  },
@@ -22,7 +16,7 @@ export default {
22
16
  'name': { 'zh-CN': '自定义左/右侧图标', 'en-US': 'Customizing Left/Right Icons' },
23
17
  'desc': {
24
18
  'zh-CN':
25
- '<p>通过 <code>left</code> 插槽自定义左侧切换图标为 IconLeft ,通过 <code>right</code> 插槽右侧切换图标 IconRight 。</p>\n',
19
+ '<p>可通过 <code>left</code> 属性设置插槽自定义左侧切换图标为 IconLeft <code>right</code> 属性设置插槽右侧切换图标 IconRight 。</p>\n',
26
20
  'en-US':
27
21
  '<p>Use the <code>left</code> slot to set the left switch icon to IconLeft, and use the <code>right</code> slot to set the right switch icon to IconRight. </p>\n'
28
22
  },
@@ -33,7 +27,7 @@ export default {
33
27
  'name': { 'zh-CN': '自定义内容', 'en-US': 'Custom Content' },
34
28
  'desc': {
35
29
  'zh-CN':
36
- '<p>通过 <code>level1</code> 插槽自定义一级菜单内容,通过 <code>level2</code> 插槽自定义二级菜单内容,通过 <code>level3</code> 插槽自定义三级菜单内容。</p>\n',
30
+ '<p>可通过 <code>level1</code>属性设置插槽自定义一级菜单内容,<code>level2</code> 属性设置插槽自定义二级菜单内容,<code>level3</code>属性设置插槽自定义三级菜单内容。</p>\n',
37
31
  'en-US':
38
32
  '<p>The level-1 menu content is customized through the <code>level1</code> slot, the level-2 menu content is customized through the <code>level2</code> slot, and the level-3 menu content is customized through the <code>level3</code> slot. </p>\n'
39
33
  },
@@ -16,7 +16,7 @@ const action = ref('http://localhost:3000/api/upload')
16
16
  const uploadRef = ref()
17
17
 
18
18
  function cancelUpload() {
19
- Modal.message('手动取消上传')
19
+ Modal.message({ message: '手动取消上传', status: 'info' })
20
20
  uploadRef.value.abort()
21
21
  }
22
22
  </script>
@@ -23,7 +23,7 @@ export default {
23
23
  },
24
24
  methods: {
25
25
  cancelUpload() {
26
- Modal.message('手动取消上传')
26
+ Modal.message({ message: '手动取消上传', status: 'info' })
27
27
  this.$refs.upload.abort()
28
28
  }
29
29
  }
@@ -5,13 +5,13 @@ test('基本用法', async ({ page }) => {
5
5
  await page.goto('file-upload#basic-usage')
6
6
 
7
7
  const upload = page.getByRole('button', { name: '点击上传' })
8
- const lists = page.locator('.tiny-upload-list__item')
8
+ const lists = page.locator('.tiny-upload-list__li')
9
9
  const [fileChooser] = await Promise.all([page.waitForEvent('filechooser'), upload.click()])
10
10
 
11
11
  const path = require('node:path')
12
12
  const currentPath = path.resolve(__dirname, '测试.jpg')
13
13
 
14
14
  await fileChooser.setFiles(currentPath)
15
- await expect(lists).toHaveCount(1)
15
+ await page.getByText('测试.jpg').isVisible()
16
16
  await expect(lists).toHaveText('测试.jpg按 delete 键可删除')
17
17
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-file-upload ref="uploadRef" :action="action" :file-list="fileList" :before-upload="beforeUpload">
2
+ <tiny-file-upload ref="uploadRef" :action="action" :file-list="fileList" :before-upload="beforeAvatarUpload">
3
3
  <template #trigger>
4
4
  <tiny-button type="primary">选取文件</tiny-button>
5
5
  </template>
@@ -18,11 +18,19 @@ const fileList = ref([
18
18
  }
19
19
  ])
20
20
 
21
- function beforeUpload(file) {
21
+ function beforeAvatarUpload(file) {
22
22
  return new Promise((resolve, reject) => {
23
- Modal.confirm(`确定要上传 ${file.name}?`).then((res) => {
24
- res === 'confirm' ? resolve() : reject()
25
- })
23
+ const isJPG = file.type === 'image/jpeg'
24
+ const isLt2M = file.size / 1024 / 1024 < 2
25
+ const allow = isJPG && isLt2M
26
+
27
+ if (!allow) {
28
+ Modal.confirm(`自定义提示:《${file.name}》文件不合规范,文件类型或大小超出限制,确定要上传吗?`).then((res) => {
29
+ res === 'confirm' ? resolve() : reject()
30
+ })
31
+ } else {
32
+ resolve()
33
+ }
26
34
  })
27
35
  }
28
36
  </script>
@@ -1,8 +1,8 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test('阻止上传文件', async ({ page }) => {
3
+ test('定义上传前限制', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('file-upload#prevent-upload-file')
5
+ await page.goto('file-upload#before-upload-limit')
6
6
 
7
7
  const upload = page.getByRole('button', { name: '选取文件' })
8
8
  const modal = page.locator('.tiny-modal').nth(1)
@@ -12,12 +12,17 @@ test('阻止上传文件', async ({ page }) => {
12
12
 
13
13
  const path = require('node:path')
14
14
  const currentPath = path.resolve(__dirname, '测试.jpg')
15
+ const exceedFilePath = path.resolve(__dirname, 'before-upload-limit.vue')
15
16
 
16
17
  await expect(lists).toHaveCount(1)
17
- await expect(lists).toHaveText(/test1/)
18
+ await page.getByText('test1').isVisible()
19
+ await page.getByText('测试.jpg').isVisible()
18
20
  await fileChooser.setFiles(currentPath)
21
+ await page.getByText('测试.jpg').isVisible()
22
+
23
+ await fileChooser.setFiles(exceedFilePath)
19
24
  await modal.waitFor({ state: 'attached', timeout: 100 })
20
25
  await modalCancel.click()
21
26
  await expect(lists).toHaveCount(1)
22
- await expect(lists).toHaveText(/test1/)
27
+ await page.getByText('test1').isVisible()
23
28
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-file-upload ref="upload" :action="action" :file-list="fileList" :before-upload="beforeUpload">
2
+ <tiny-file-upload ref="upload" :action="action" :file-list="fileList" :before-upload="beforeAvatarUpload">
3
3
  <template #trigger>
4
4
  <tiny-button type="primary">选取文件</tiny-button>
5
5
  </template>
@@ -26,11 +26,21 @@ export default {
26
26
  }
27
27
  },
28
28
  methods: {
29
- beforeUpload(file) {
29
+ beforeAvatarUpload(file) {
30
30
  return new Promise((resolve, reject) => {
31
- Modal.confirm(`确定要上传 ${file.name}?`).then((res) => {
32
- res === 'confirm' ? resolve() : reject()
33
- })
31
+ const isJPG = file.type === 'image/jpeg'
32
+ const isLt2M = file.size / 1024 / 1024 < 2
33
+ const allow = isJPG && isLt2M
34
+
35
+ if (!allow) {
36
+ Modal.confirm(`自定义提示:《${file.name}》文件不合规范,文件类型或大小超出限制,确定要上传吗?`).then(
37
+ (res) => {
38
+ res === 'confirm' ? resolve() : reject()
39
+ }
40
+ )
41
+ } else {
42
+ resolve()
43
+ }
34
44
  })
35
45
  }
36
46
  }
@@ -4,7 +4,7 @@
4
4
  <tiny-button type="primary">选取文件</tiny-button>
5
5
  </template>
6
6
  <template #tip>
7
- <div class="tiny-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
7
+ <div class="tiny-upload__tip">只能上传 jpg/png 文件,且不超过500 kb</div>
8
8
  </template>
9
9
  </tiny-file-upload>
10
10
  </template>
@@ -6,5 +6,5 @@ test('自定义上传提示', async ({ page }) => {
6
6
 
7
7
  const tip = page.locator('.tiny-upload__tip')
8
8
 
9
- await expect(tip).toHaveText('只能上传jpg/png文件,且不超过500kb')
9
+ await expect(tip).toHaveText('只能上传 jpg/png 文件,且不超过500 kb')
10
10
  })
@@ -4,7 +4,7 @@
4
4
  <tiny-button type="primary">选取文件</tiny-button>
5
5
  </template>
6
6
  <template #tip>
7
- <div class="tiny-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
7
+ <div class="tiny-upload__tip">只能上传 jpg/png 文件,且不超过500 kb</div>
8
8
  </template>
9
9
  </tiny-file-upload>
10
10
  </template>
@@ -20,7 +20,7 @@
20
20
  <tiny-button type="primary">选取文件</tiny-button>
21
21
  </template>
22
22
  <template #tip>
23
- <div class="tiny-upload__tip">只能上传jpg/png文件</div>
23
+ <div class="tiny-upload__tip">只能上传 jpg/png 文件</div>
24
24
  </template>
25
25
  </tiny-file-upload>
26
26
  </tiny-form-item>
@@ -65,6 +65,9 @@ const rules = reactive({
65
65
  const uploadSuccess = () => {
66
66
  // 模拟上传成功后,返回的数据信息,以此通过validatePass的校验
67
67
  createData.files = `https://res.hc-cdn.com/tiny-vue-web-doc/3.10.5.20230903162611/static/images/book.jpg`
68
+
69
+ // 上传成功后再进行表单验证
70
+ formValidate()
68
71
  }
69
72
 
70
73
  const beforeUpload = (file) => {
@@ -72,21 +75,24 @@ const beforeUpload = (file) => {
72
75
  uploadSuccess()
73
76
  }
74
77
 
75
- const handleSubmit = () => {
78
+ const formValidate = () => {
76
79
  ruleFormRef.value.validate((valid) => {
77
80
  if (valid) {
78
81
  Modal.alert('校验通过')
79
82
  } else {
80
- Modal.message({ message: '校验不通过!!', status: 'warning' })
83
+ Modal.message({ message: '校验不通过', status: 'warning' })
81
84
  return false
82
85
  }
83
86
  })
84
87
  }
85
88
 
89
+ const handleSubmit = () => {
90
+ formValidate()
91
+ }
92
+
86
93
  const handleRemove = (file) => {
87
94
  const index = fileList.findIndex((item) => item.name === file.name)
88
95
  fileList.splice(index, 1)
89
- console.log('fileList', fileList)
90
96
  createData.files = ''
91
97
  }
92
98
  </script>
@@ -21,7 +21,7 @@
21
21
  <tiny-button type="primary">选取文件</tiny-button>
22
22
  </template>
23
23
  <template #tip>
24
- <div class="tiny-upload__tip">只能上传jpg/png文件</div>
24
+ <div class="tiny-upload__tip">只能上传 jpg/png 文件</div>
25
25
  </template>
26
26
  </tiny-file-upload>
27
27
  </tiny-form-item>
@@ -67,21 +67,27 @@ export default {
67
67
  uploadSuccess() {
68
68
  // 模拟上传成功后,返回的数据信息,以此通过validatePass的校验
69
69
  this.createData.files = `https://res.hc-cdn.com/tiny-vue-web-doc/3.10.5.20230903162611/static/images/book.jpg`
70
+
71
+ // 上传成功后再进行表单验证
72
+ this.formValidate()
70
73
  },
71
74
  beforeUpload(file) {
72
75
  this.fileList.push({ name: file.name, url: file.url })
73
76
  this.uploadSuccess()
74
77
  },
75
- handleSubmit() {
78
+ formValidate() {
76
79
  this.$refs.ruleFormRef.validate((valid) => {
77
80
  if (valid) {
78
81
  Modal.alert('校验通过')
79
82
  } else {
80
- Modal.message({ message: '校验不通过!!', status: 'warning' })
83
+ Modal.message({ message: '校验不通过', status: 'warning' })
81
84
  return false
82
85
  }
83
86
  })
84
87
  },
88
+ handleSubmit() {
89
+ this.formValidate()
90
+ },
85
91
  handleRemove(file) {
86
92
  const index = this.fileList.findIndex((item) => item.name === file.name)
87
93
  this.fileList.splice(index, 1)
@@ -16,6 +16,8 @@ test('文件多选', async ({ page }) => {
16
16
 
17
17
  await expect(fileChooser.isMultiple()).toBe(true)
18
18
  await fileChooser.setFiles([path1, path2, path3])
19
- await expect(lists).toHaveCount(3)
19
+ await lists.getByText('测试.jpg').isVisible()
20
+ await lists.getByText('测试.svg').isVisible()
21
+ await lists.getByText('测试.png').isVisible()
20
22
  await expect(input).toHaveAttribute('multiple', '')
21
23
  })