@opentiny/vue-docs 2.2.6 → 2.2.7

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 (612) hide show
  1. package/demos/mobile/app/alert/basic-usage.vue +26 -0
  2. package/demos/mobile/app/alert/center.vue +13 -0
  3. package/demos/mobile/app/alert/custom-close.vue +25 -7
  4. package/demos/mobile/app/alert/target.vue +30 -0
  5. package/demos/mobile/app/alert/webdoc/alert.js +50 -0
  6. package/demos/mobile/app/checkbox/basic-usage.vue +33 -0
  7. package/demos/mobile/app/checkbox/{default.vue → checkbox-group.vue} +5 -10
  8. package/demos/mobile/app/checkbox/{label.vue → disabled.vue} +4 -3
  9. package/demos/mobile/app/checkbox/event-change.vue +2 -2
  10. package/demos/mobile/app/checkbox/icon-position.vue +49 -0
  11. package/demos/mobile/app/checkbox/indeterminate.vue +2 -2
  12. package/demos/mobile/app/checkbox/true-false-label.vue +2 -2
  13. package/demos/mobile/app/checkbox/webdoc/checkbox.js +88 -46
  14. package/demos/mobile/app/input/basic-usage.vue +32 -0
  15. package/demos/mobile/app/input/clearable.vue +7 -7
  16. package/demos/mobile/app/input/counter.vue +15 -8
  17. package/demos/mobile/app/input/disabled.vue +31 -0
  18. package/demos/mobile/app/input/events.vue +32 -13
  19. package/demos/mobile/app/input/max-min-length.vue +5 -5
  20. package/demos/mobile/app/input/methods.vue +53 -0
  21. package/demos/mobile/app/input/native-attributes.vue +62 -0
  22. package/demos/mobile/app/input/prefix-suffix-icon.vue +35 -0
  23. package/demos/mobile/app/input/show-password.vue +5 -5
  24. package/demos/mobile/app/input/slots.vue +65 -0
  25. package/demos/mobile/app/input/textarea-rows-cols.vue +31 -0
  26. package/demos/mobile/app/input/textarea-scalable.vue +41 -0
  27. package/demos/mobile/app/input/{type-be-form-select.vue → type-select.vue} +10 -10
  28. package/demos/mobile/app/input/type.vue +60 -0
  29. package/demos/mobile/app/input/validate-event.vue +5 -30
  30. package/demos/mobile/app/input/webdoc/input.js +281 -312
  31. package/demos/mobile/app/label/base.vue +24 -0
  32. package/demos/mobile/app/label/bold.vue +23 -0
  33. package/demos/mobile/app/label/color.vue +34 -0
  34. package/demos/mobile/app/label/decimal.vue +28 -0
  35. package/demos/mobile/app/label/ellipsis.vue +31 -0
  36. package/demos/mobile/app/label/limit.vue +24 -0
  37. package/demos/mobile/app/label/position.vue +30 -0
  38. package/demos/mobile/app/label/required.vue +24 -0
  39. package/demos/mobile/app/label/size.vue +31 -0
  40. package/demos/mobile/app/label/type.vue +30 -0
  41. package/demos/mobile/app/label/webdoc/label.cn.md +11 -0
  42. package/demos/mobile/app/label/webdoc/label.en.md +11 -0
  43. package/demos/mobile/app/label/webdoc/label.js +247 -0
  44. package/demos/mobile/app/label/wholeline.vue +24 -0
  45. package/demos/mobile/app/mask/basic-usage.vue +38 -0
  46. package/demos/mobile/app/mask/click-no-hide.vue +32 -0
  47. package/demos/mobile/app/mask/slot-default.vue +37 -0
  48. package/demos/mobile/app/mask/webdoc/mask.cn.md +11 -0
  49. package/demos/mobile/app/mask/webdoc/mask.en.md +11 -0
  50. package/demos/mobile/app/mask/webdoc/mask.js +114 -0
  51. package/demos/mobile/app/mask/z-index.vue +30 -0
  52. package/demos/mobile/app/tag/basic-usage.vue +27 -0
  53. package/demos/mobile/app/tag/different-color.vue +30 -0
  54. package/demos/mobile/app/tag/max-width.vue +26 -0
  55. package/demos/mobile/app/tag/mini.vue +27 -0
  56. package/demos/mobile/app/tag/webdoc/tag.cn.md +7 -0
  57. package/demos/mobile/app/tag/webdoc/tag.en.md +7 -0
  58. package/demos/mobile/app/tag/webdoc/tag.js +96 -0
  59. package/demos/mobile/menus.js +5 -2
  60. package/demos/mobile-first/app/alert/webdoc/alert.js +77 -36
  61. package/demos/mobile-first/app/cascader-view/webdoc/cascader-view.js +249 -10
  62. package/demos/mobile-first/app/exception/webdoc/exception.js +94 -22
  63. package/demos/mobile-first/app/flowchart/webdoc/flowchart.js +24 -25
  64. package/demos/mobile-first/app/image/webdoc/image.js +126 -57
  65. package/demos/mobile-first/app/pull-refresh/webdoc/pull-refresh.js +223 -9
  66. package/demos/mobile-first/app/tooltip/webdoc/tooltip.js +47 -53
  67. package/demos/pc/app/action-menu/icon.spec.ts +38 -0
  68. package/demos/pc/app/action-menu/webdoc/action-menu.cn.md +1 -1
  69. package/demos/pc/app/action-menu/webdoc/action-menu.en.md +1 -1
  70. package/demos/pc/app/action-menu/webdoc/action-menu.js +16 -66
  71. package/demos/pc/app/alert/custom-close-composition-api.vue +2 -2
  72. package/demos/pc/app/alert/custom-close.vue +3 -4
  73. package/demos/pc/app/amount/webdoc/amount.js +1 -1
  74. package/demos/pc/app/anchor/basic-usage-composition-api.vue +11 -2
  75. package/demos/pc/app/anchor/basic-usage.vue +11 -2
  76. package/demos/pc/app/anchor/is-affix-composition-api.vue +8 -2
  77. package/demos/pc/app/anchor/is-affix.vue +8 -2
  78. package/demos/pc/app/anchor/webdoc/anchor.js +3 -3
  79. package/demos/pc/app/area/webdoc/area.js +1 -1
  80. package/demos/pc/app/bulletin-board/active-name.spec.ts +1 -2
  81. package/demos/pc/app/bulletin-board/base.spec.ts +2 -3
  82. package/demos/pc/app/bulletin-board/icon.spec.ts +1 -1
  83. package/demos/pc/app/bulletin-board/more-link.spec.ts +8 -2
  84. package/demos/pc/app/bulletin-board/route.spec.ts +3 -3
  85. package/demos/pc/app/bulletin-board/tab-title.spec.ts +1 -1
  86. package/demos/pc/app/bulletin-board/title.spec.ts +1 -1
  87. package/demos/pc/app/bulletin-board/url.spec.ts +3 -3
  88. package/demos/pc/app/bulletin-board/webdoc/bulletin-board.js +12 -11
  89. package/demos/pc/app/calendar/webdoc/calendar.js +1 -1
  90. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +3 -2
  91. package/demos/pc/app/carousel/autoplay.spec.ts +1 -1
  92. package/demos/pc/app/carousel/basic-usage.spec.ts +12 -21
  93. package/demos/pc/app/carousel/card-mode.spec.ts +16 -37
  94. package/demos/pc/app/carousel/carousel-arrow-always.spec.ts +1 -1
  95. package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +1 -1
  96. package/demos/pc/app/carousel/carousel-arrow-never.spec.ts +1 -1
  97. package/demos/pc/app/carousel/carousel-events.spec.ts +5 -3
  98. package/demos/pc/app/carousel/close-loop.spec.ts +1 -1
  99. package/demos/pc/app/carousel/indicator-trigger.spec.ts +1 -1
  100. package/demos/pc/app/carousel/manual-play.spec.ts +1 -1
  101. package/demos/pc/app/carousel/play-interval.spec.ts +7 -11
  102. package/demos/pc/app/carousel/show-title.spec.ts +1 -1
  103. package/demos/pc/app/carousel/up-down-carousel.spec.ts +1 -1
  104. package/demos/pc/app/carousel/webdoc/carousel.js +1 -1
  105. package/demos/pc/app/cascader/webdoc/cascader.js +1 -1
  106. package/demos/pc/app/chart/webdoc/chart-attributes-demo.js +1 -1
  107. package/demos/pc/app/chart/webdoc/chart-autonavi-map.js +1 -1
  108. package/demos/pc/app/chart/webdoc/chart-baidu-map.js +1 -1
  109. package/demos/pc/app/chart/webdoc/chart-bar.js +1 -1
  110. package/demos/pc/app/chart/webdoc/chart-boxplot.js +1 -1
  111. package/demos/pc/app/chart/webdoc/chart-candle.js +1 -1
  112. package/demos/pc/app/chart/webdoc/chart-events.js +1 -1
  113. package/demos/pc/app/chart/webdoc/chart-funnel.js +1 -1
  114. package/demos/pc/app/chart/webdoc/chart-gauge.js +1 -1
  115. package/demos/pc/app/chart/webdoc/chart-graph.js +1 -1
  116. package/demos/pc/app/chart/webdoc/chart-heatmap.js +1 -1
  117. package/demos/pc/app/chart/webdoc/chart-histogram.js +1 -1
  118. package/demos/pc/app/chart/webdoc/chart-line.js +1 -1
  119. package/demos/pc/app/chart/webdoc/chart-liquidfill.js +1 -1
  120. package/demos/pc/app/chart/webdoc/chart-map.js +1 -1
  121. package/demos/pc/app/chart/webdoc/chart-pie.js +1 -1
  122. package/demos/pc/app/chart/webdoc/chart-question.js +1 -1
  123. package/demos/pc/app/chart/webdoc/chart-radar.js +1 -1
  124. package/demos/pc/app/chart/webdoc/chart-ring.js +1 -1
  125. package/demos/pc/app/chart/webdoc/chart-sankey.js +1 -1
  126. package/demos/pc/app/chart/webdoc/chart-scatter.js +1 -1
  127. package/demos/pc/app/chart/webdoc/chart-sunburst.js +1 -1
  128. package/demos/pc/app/chart/webdoc/chart-tree.js +1 -1
  129. package/demos/pc/app/chart/webdoc/chart-waterfall.js +1 -1
  130. package/demos/pc/app/chart/webdoc/chart-wordcloud.js +1 -1
  131. package/demos/pc/app/chart/webdoc/chart.js +1 -1
  132. package/demos/pc/app/color/webdoc/color.js +1 -1
  133. package/demos/pc/app/color-picker/alpha.spec.ts +14 -0
  134. package/demos/pc/app/color-picker/base.spec.ts +12 -0
  135. package/demos/pc/app/color-picker/default-visible.spec.ts +8 -0
  136. package/demos/pc/app/color-picker/dynamic-color-change.spec.ts +9 -0
  137. package/demos/pc/app/color-picker/event.spec.ts +10 -0
  138. package/demos/pc/app/color-picker/history.spec.ts +3 -3
  139. package/demos/pc/app/color-picker/predefine.spec.ts +2 -2
  140. package/demos/pc/app/color-picker/webdoc/color-picker.js +0 -10
  141. package/demos/pc/app/color-select-panel/alpha.spec.ts +9 -0
  142. package/demos/pc/app/color-select-panel/base.spec.ts +9 -0
  143. package/demos/pc/app/color-select-panel/event.spec.ts +12 -0
  144. package/demos/pc/app/color-select-panel/history.spec.ts +15 -0
  145. package/demos/pc/app/color-select-panel/predefine.spec.ts +25 -0
  146. package/demos/pc/app/color-select-panel/webdoc/color-select-panel.js +0 -10
  147. package/demos/pc/app/company/webdoc/company.js +1 -1
  148. package/demos/pc/app/config-provider/webdoc/config-provider.cn.md +2 -2
  149. package/demos/pc/app/config-provider/webdoc/config-provider.js +2 -9
  150. package/demos/pc/app/container/webdoc/container.js +1 -1
  151. package/demos/pc/app/count-api.js +34 -0
  152. package/demos/pc/app/country/webdoc/country.js +1 -1
  153. package/demos/pc/app/credit-card-form/webdoc/credit-card-form.js +1 -1
  154. package/demos/pc/app/crop/aspect-ratio-composition-api.vue +8 -0
  155. package/demos/pc/app/crop/aspect-ratio.spec.ts +14 -0
  156. package/demos/pc/app/crop/aspect-ratio.vue +9 -0
  157. package/demos/pc/app/crop/auto-crop-area.spec.ts +15 -0
  158. package/demos/pc/app/crop/basic-usage.spec.ts +14 -0
  159. package/demos/pc/app/crop/crop-meth.spec.ts +19 -0
  160. package/demos/pc/app/crop/drag-mode-composition-api.vue +1 -1
  161. package/demos/pc/app/crop/drag-mode.spec.ts +16 -0
  162. package/demos/pc/app/crop/drag-mode.vue +1 -1
  163. package/demos/pc/app/crop/event-about-crop-composition-api.vue +9 -0
  164. package/demos/pc/app/crop/event-about-crop.spec.ts +15 -0
  165. package/demos/pc/app/crop/event-about-crop.vue +8 -0
  166. package/demos/pc/app/crop/event-ready.spec.ts +14 -0
  167. package/demos/pc/app/crop/get-container-data.spec.ts +18 -0
  168. package/demos/pc/app/crop/get-crop-box-data.spec.ts +13 -0
  169. package/demos/pc/app/crop/get-cropped-canvas-composition-api.vue +7 -1
  170. package/demos/pc/app/crop/get-cropped-canvas.spec.ts +14 -0
  171. package/demos/pc/app/crop/get-cropped-canvas.vue +7 -1
  172. package/demos/pc/app/crop/get-data.spec.ts +17 -0
  173. package/demos/pc/app/crop/get-image-data-composition-api.vue +7 -0
  174. package/demos/pc/app/crop/get-image-data.spec.ts +14 -0
  175. package/demos/pc/app/crop/get-image-data.vue +7 -0
  176. package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +11 -0
  177. package/demos/pc/app/crop/no-background.spec.ts +14 -0
  178. package/demos/pc/app/crop/no-guides.spec.ts +8 -0
  179. package/demos/pc/app/crop/no-modal.spec.ts +10 -0
  180. package/demos/pc/app/crop/replace-image.spec.ts +17 -0
  181. package/demos/pc/app/crop/view-mode-composition-api.vue +8 -2
  182. package/demos/pc/app/crop/view-mode.spec.ts +31 -0
  183. package/demos/pc/app/crop/view-mode.vue +10 -2
  184. package/demos/pc/app/crop/wheel-zoom-ratio.spec.ts +15 -0
  185. package/demos/pc/app/crop/zoom-on-wheel.spec.ts +10 -0
  186. package/demos/pc/app/currency/webdoc/currency.js +1 -1
  187. package/demos/pc/app/date-picker/webdoc/date-picker.js +85 -54
  188. package/demos/pc/app/dept/webdoc/dept.js +1 -1
  189. package/demos/pc/app/detail-page/basic-usage-composition-api.vue +1 -1
  190. package/demos/pc/app/detail-page/basic-usage.vue +1 -1
  191. package/demos/pc/app/detail-page/custom-show-text-composition-api.vue +11 -12
  192. package/demos/pc/app/detail-page/custom-show-text.spec.ts +5 -7
  193. package/demos/pc/app/detail-page/custom-show-text.vue +11 -12
  194. package/demos/pc/app/detail-page/webdoc/detail-page.js +46 -22
  195. package/demos/pc/app/dialog-box/basic-usage.spec.ts +11 -38
  196. package/demos/pc/app/dialog-box/center.spec.ts +4 -14
  197. package/demos/pc/app/dialog-box/close-on-click-modal.spec.ts +3 -7
  198. package/demos/pc/app/dialog-box/close-on-press-escape.spec.ts +2 -5
  199. package/demos/pc/app/dialog-box/custom-dialog-content.spec.ts +6 -8
  200. package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +3 -14
  201. package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +3 -12
  202. package/demos/pc/app/dialog-box/destroy-on-close.spec.ts +9 -7
  203. package/demos/pc/app/dialog-box/dialog-top-height.spec.ts +6 -12
  204. package/demos/pc/app/dialog-box/dialog-width.spec.ts +5 -16
  205. package/demos/pc/app/dialog-box/draggable.spec.ts +4 -5
  206. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +5 -4
  207. package/demos/pc/app/dialog-box/lock-scroll.spec.ts +7 -10
  208. package/demos/pc/app/dialog-box/open-close-events.spec.ts +0 -1
  209. package/demos/pc/app/dialog-box/right-dialog-composition-api.vue +1 -1
  210. package/demos/pc/app/dialog-box/right-dialog.vue +1 -1
  211. package/demos/pc/app/dialog-select/{grid-multi-composition-api.vue → nest-grid-multi-composition-api.vue} +7 -4
  212. package/demos/pc/app/dialog-select/{grid-multi.vue → nest-grid-multi.vue} +4 -2
  213. package/demos/pc/app/dialog-select/{grid-radio-composition-api.vue → nest-grid-single-composition-api.vue} +6 -3
  214. package/demos/pc/app/dialog-select/{grid-radio.vue → nest-grid-single.vue} +4 -2
  215. package/demos/pc/app/dialog-select/{tree-multi-composition-api.vue → nest-tree-multi-composition-api.vue} +22 -9
  216. package/demos/pc/app/dialog-select/{tree-multi.vue → nest-tree-multi.vue} +19 -8
  217. package/demos/pc/app/dialog-select/{tree-radio-composition-api.vue → nest-tree-single-composition-api.vue} +19 -7
  218. package/demos/pc/app/dialog-select/{tree-radio.vue → nest-tree-single.vue} +18 -6
  219. package/demos/pc/app/dialog-select/webdoc/dialog-select.js +282 -183
  220. package/demos/pc/app/divider/basic-usage.spec.ts +7 -0
  221. package/demos/pc/app/divider/content-position.spec.ts +12 -0
  222. package/demos/pc/app/divider/custom-style.spec.ts +19 -0
  223. package/demos/pc/app/divider/direction.spec.ts +12 -0
  224. package/demos/pc/app/drawer/basic-usage.vue +7 -0
  225. package/demos/pc/app/drawer/webdoc/drawer.js +1 -1
  226. package/demos/pc/app/drop-roles/webdoc/drop-roles.js +1 -1
  227. package/demos/pc/app/drop-times/webdoc/drop-times.js +1 -1
  228. package/demos/pc/app/dropdown/hide-on-click-composition-api.vue +1 -1
  229. package/demos/pc/app/dropdown/hide-on-click.vue +1 -1
  230. package/demos/pc/app/dropdown/inherit-width-composition-api.vue +2 -2
  231. package/demos/pc/app/dropdown/inherit-width.spec.ts +43 -0
  232. package/demos/pc/app/dropdown/inherit-width.vue +2 -2
  233. package/demos/pc/app/dropdown/options.spec.ts +1 -1
  234. package/demos/pc/app/dropdown/show-icon.spec.ts +34 -0
  235. package/demos/pc/app/dropdown/slots-composition-api.vue +1 -1
  236. package/demos/pc/app/dropdown/tip.spec.ts +49 -0
  237. package/demos/pc/app/dropdown/trigger-composition-api.vue +10 -10
  238. package/demos/pc/app/dropdown/visible-arrow.spec.ts +21 -0
  239. package/demos/pc/app/dropdown/webdoc/dropdown.cn.md +1 -1
  240. package/demos/pc/app/dropdown/webdoc/dropdown.en.md +1 -1
  241. package/demos/pc/app/dropdown/webdoc/dropdown.js +53 -36
  242. package/demos/pc/app/espace/webdoc/espace.js +1 -1
  243. package/demos/pc/app/file-upload/drag-upload.spec.ts +1 -1
  244. package/demos/pc/app/file-upload/picture-card.spec.ts +2 -2
  245. package/demos/pc/app/filter-panel/basic-usage-composition-api.vue +13 -2
  246. package/demos/pc/app/filter-panel/basic-usage.spec.ts +15 -6
  247. package/demos/pc/app/filter-panel/basic-usage.vue +15 -4
  248. package/demos/pc/app/filter-panel/event.spec.ts +12 -2
  249. package/demos/pc/app/filter-panel/manual-hide.spec.ts +2 -2
  250. package/demos/pc/app/filter-panel/popper-class-composition-api.vue +1 -0
  251. package/demos/pc/app/filter-panel/popper-class.spec.ts +2 -2
  252. package/demos/pc/app/filter-panel/popper-class.vue +1 -0
  253. package/demos/pc/app/filter-panel/tip.spec.ts +2 -2
  254. package/demos/pc/app/filter-panel/webdoc/filter-panel.cn.md +1 -1
  255. package/demos/pc/app/filter-panel/webdoc/filter-panel.en.md +3 -3
  256. package/demos/pc/app/filter-panel/webdoc/filter-panel.js +50 -56
  257. package/demos/pc/app/floatbar/webdoc/floatbar.js +1 -1
  258. package/demos/pc/app/flowchart/webdoc/flowchart.js +1 -1
  259. package/demos/pc/app/font/webdoc/font.js +1 -1
  260. package/demos/pc/app/form/events-composition-api.vue +46 -0
  261. package/demos/pc/app/form/events.spec.ts +12 -0
  262. package/demos/pc/app/form/events.vue +52 -0
  263. package/demos/pc/app/form/form-validate-field-composition-api.vue +13 -14
  264. package/demos/pc/app/form/form-validate-field.spec.ts +9 -2
  265. package/demos/pc/app/form/form-validate-field.vue +9 -12
  266. package/demos/pc/app/form/form-validation-composition-api.vue +6 -1
  267. package/demos/pc/app/form/form-validation.vue +5 -1
  268. package/demos/pc/app/form/label-position-composition-api.vue +1 -1
  269. package/demos/pc/app/form/label-position.vue +1 -1
  270. package/demos/pc/app/form/webdoc/form.js +18 -8
  271. package/demos/pc/app/fullscreen/example-api.spec.ts +14 -29
  272. package/demos/pc/app/fullscreen/example-component.spec.ts +12 -29
  273. package/demos/pc/app/fullscreen/webdoc/fullscreen.js +4 -4
  274. package/demos/pc/app/grid/custom/column-width-composition-api.vue +1 -1
  275. package/demos/pc/app/grid/custom/column-width.vue +1 -1
  276. package/demos/pc/app/grid/custom/prsonalized-drag.vue +11 -1
  277. package/demos/pc/app/grid/custom-style/footer-style-composition-api.vue +19 -16
  278. package/demos/pc/app/grid/custom-style/footer-style.spec.js +1 -0
  279. package/demos/pc/app/grid/custom-style/footer-style.vue +18 -16
  280. package/demos/pc/app/grid/custom-style/header-style-composition-api.vue +18 -13
  281. package/demos/pc/app/grid/custom-style/header-style.spec.js +1 -0
  282. package/demos/pc/app/grid/custom-style/header-style.vue +18 -14
  283. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +12 -4
  284. package/demos/pc/app/grid/edit/trigger-mode-hm-editing.spec.js +6 -1
  285. package/demos/pc/app/grid/edit/trigger-mode-hm-editing.vue +12 -4
  286. package/demos/pc/app/grid/highlight/highlight-hover-row-composition-api.vue +1 -1
  287. package/demos/pc/app/grid/highlight/highlight-hover-row.vue +1 -1
  288. package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +17 -0
  289. package/demos/pc/app/grid/validation/before-submit-validation.vue +17 -0
  290. package/demos/pc/app/grid/webdoc/grid-align.js +1 -1
  291. package/demos/pc/app/grid/webdoc/grid-appearance-settings.js +1 -1
  292. package/demos/pc/app/grid/webdoc/grid-context-menu.js +1 -1
  293. package/demos/pc/app/grid/webdoc/grid-custom-style.js +3 -3
  294. package/demos/pc/app/grid/webdoc/grid-custom.js +2 -2
  295. package/demos/pc/app/grid/webdoc/grid-data-source.js +1 -1
  296. package/demos/pc/app/grid/webdoc/grid-drag.js +1 -1
  297. package/demos/pc/app/grid/webdoc/grid-dynamically-columns.js +1 -1
  298. package/demos/pc/app/grid/webdoc/grid-edit.js +1 -1
  299. package/demos/pc/app/grid/webdoc/grid-editor.js +1 -1
  300. package/demos/pc/app/grid/webdoc/grid-empty.js +1 -1
  301. package/demos/pc/app/grid/webdoc/grid-event.js +1 -1
  302. package/demos/pc/app/grid/webdoc/grid-expand.js +1 -1
  303. package/demos/pc/app/grid/webdoc/grid-faq.js +1 -1
  304. package/demos/pc/app/grid/webdoc/grid-filter.js +1 -1
  305. package/demos/pc/app/grid/webdoc/grid-fixed.js +1 -1
  306. package/demos/pc/app/grid/webdoc/grid-footer.js +1 -1
  307. package/demos/pc/app/grid/webdoc/grid-header.js +1 -1
  308. package/demos/pc/app/grid/webdoc/grid-highlight.js +1 -1
  309. package/demos/pc/app/grid/webdoc/grid-import-export.js +1 -1
  310. package/demos/pc/app/grid/webdoc/grid-large-data.js +3 -2
  311. package/demos/pc/app/grid/webdoc/grid-loading.js +1 -1
  312. package/demos/pc/app/grid/webdoc/grid-mouse-keyboard.js +1 -1
  313. package/demos/pc/app/grid/webdoc/grid-operation-column.js +1 -1
  314. package/demos/pc/app/grid/webdoc/grid-pager.js +1 -1
  315. package/demos/pc/app/grid/webdoc/grid-renderer.js +1 -1
  316. package/demos/pc/app/grid/webdoc/grid-row-grouping.js +1 -1
  317. package/demos/pc/app/grid/webdoc/grid-serial-column.js +1 -1
  318. package/demos/pc/app/grid/webdoc/grid-size.js +1 -1
  319. package/demos/pc/app/grid/webdoc/grid-slot.js +1 -1
  320. package/demos/pc/app/grid/webdoc/grid-sort.js +1 -1
  321. package/demos/pc/app/grid/webdoc/grid-span.js +1 -1
  322. package/demos/pc/app/grid/webdoc/grid-tip.js +1 -1
  323. package/demos/pc/app/grid/webdoc/grid-toolbar.js +1 -1
  324. package/demos/pc/app/grid/webdoc/grid-tree-table.js +1 -1
  325. package/demos/pc/app/grid/webdoc/grid-validation.js +1 -1
  326. package/demos/pc/app/grid/webdoc/grid.js +27 -37
  327. package/demos/pc/app/hrapprover/webdoc/hrapprover.js +1 -1
  328. package/demos/pc/app/image/webdoc/image.js +2 -2
  329. package/demos/pc/app/infinite-scroll/basic-usage.spec.ts +11 -0
  330. package/demos/pc/app/infinite-scroll/disabled.spec.ts +10 -0
  331. package/demos/pc/app/infinite-scroll/webdoc/infinite-scroll.cn.md +1 -1
  332. package/demos/pc/app/infinite-scroll/webdoc/infinite-scroll.js +18 -18
  333. package/demos/pc/app/layout/webdoc/layout.js +1 -1
  334. package/demos/pc/app/link/webdoc/link.js +1 -1
  335. package/demos/pc/app/link-menu/custom-foot.spec.ts +1 -1
  336. package/demos/pc/app/link-menu/custom-icon.spec.ts +2 -17
  337. package/demos/pc/app/link-menu/data-resource.spec.ts +9 -18
  338. package/demos/pc/app/link-menu/get-menu-data-sync.spec.ts +1 -1
  339. package/demos/pc/app/link-menu/menu-items.spec.ts +1 -1
  340. package/demos/pc/app/link-menu/webdoc/link-menu.js +8 -28
  341. package/demos/pc/app/loading/webdoc/loading.js +6 -9
  342. package/demos/pc/app/locales/webdoc/locales.js +1 -1
  343. package/demos/pc/app/logon-user/webdoc/logon-user.js +1 -1
  344. package/demos/pc/app/logout/webdoc/logout.js +1 -1
  345. package/demos/pc/app/modal/footer-btn-props-composition-api.vue +1 -1
  346. package/demos/pc/app/modal/min-height.spec.ts +2 -3
  347. package/demos/pc/app/modal/min-width.spec.ts +2 -2
  348. package/demos/pc/app/modal/resize.spec.ts +1 -1
  349. package/demos/pc/app/modal/webdoc/modal.js +3 -3
  350. package/demos/pc/app/numeric/about-step.spec.ts +2 -2
  351. package/demos/pc/app/numeric/allow-empty.spec.ts +5 -7
  352. package/demos/pc/app/numeric/basic-usage.spec.ts +2 -2
  353. package/demos/pc/app/numeric/blur-event.spec.ts +1 -1
  354. package/demos/pc/app/numeric/controls.spec.ts +5 -21
  355. package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
  356. package/demos/pc/app/numeric/max-min.spec.ts +3 -3
  357. package/demos/pc/app/numeric/mouse-wheel.spec.ts +1 -1
  358. package/demos/pc/app/numeric/numeric-size.spec.ts +3 -3
  359. package/demos/pc/app/numeric/unit.spec.ts +3 -5
  360. package/demos/pc/app/pager/webdoc/pager.js +2 -2
  361. package/demos/pc/app/pop-upload/basic-usage-composition-api.vue +4 -1
  362. package/demos/pc/app/pop-upload/basic-usage.spec.ts +25 -14
  363. package/demos/pc/app/pop-upload/basic-usage.vue +5 -2
  364. package/demos/pc/app/pop-upload/before-upload.spec.ts +6 -4
  365. package/demos/pc/app/pop-upload/custom-request-headers-composition-api.vue +1 -1
  366. package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +2 -2
  367. package/demos/pc/app/pop-upload/custom-request-headers.vue +1 -1
  368. package/demos/pc/app/pop-upload/file-limit-composition-api.vue +1 -1
  369. package/demos/pc/app/pop-upload/file-limit.spec.ts +9 -11
  370. package/demos/pc/app/pop-upload/file-limit.vue +1 -1
  371. package/demos/pc/app/pop-upload/file-type-composition-api.vue +6 -1
  372. package/demos/pc/app/pop-upload/file-type.spec.ts +6 -3
  373. package/demos/pc/app/pop-upload/file-type.vue +6 -1
  374. package/demos/pc/app/pop-upload/fill-button-text.spec.ts +16 -36
  375. package/demos/pc/app/pop-upload/http-request.spec.ts +3 -5
  376. package/demos/pc/app/pop-upload/prevent-delete-file.spec.ts +2 -2
  377. package/demos/pc/app/pop-upload/size.spec.ts +1 -1
  378. package/demos/pc/app/pop-upload/upload-events-composition-api.vue +39 -0
  379. package/demos/pc/app/pop-upload/upload-events.spec.ts +39 -0
  380. package/demos/pc/app/pop-upload/upload-events.vue +44 -0
  381. package/demos/pc/app/pop-upload/webdoc/pop-upload.cn.md +1 -1
  382. package/demos/pc/app/pop-upload/webdoc/pop-upload.en.md +3 -3
  383. package/demos/pc/app/pop-upload/webdoc/pop-upload.js +192 -153
  384. package/demos/pc/app/popover/basic-usage-composition-api.vue +1 -1
  385. package/demos/pc/app/popover/basic-usage.spec.js +4 -1
  386. package/demos/pc/app/popover/basic-usage.vue +1 -1
  387. package/demos/pc/app/popover/content.spec.js +7 -3
  388. package/demos/pc/app/popover/custom-popper.spec.js +25 -4
  389. package/demos/pc/app/popover/disabled-composition-api.vue +2 -1
  390. package/demos/pc/app/popover/events-composition-api.vue +2 -2
  391. package/demos/pc/app/popover/events.spec.js +4 -0
  392. package/demos/pc/app/popover/offset-composition-api.vue +6 -6
  393. package/demos/pc/app/popover/offset.spec.js +31 -3
  394. package/demos/pc/app/popover/offset.vue +6 -6
  395. package/demos/pc/app/popover/trigger.spec.js +3 -3
  396. package/demos/pc/app/popover/webdoc/popover.js +11 -3
  397. package/demos/pc/app/qr-code/basic-usage.spec.ts +9 -0
  398. package/demos/pc/app/qr-code/icon.spec.ts +11 -0
  399. package/demos/pc/app/qr-code/level.spec.ts +15 -0
  400. package/demos/pc/app/qr-code/style.spec.ts +9 -0
  401. package/demos/pc/app/qr-code/webdoc/qr-code.js +13 -11
  402. package/demos/pc/app/rich-text-editor/webdoc/rich-text-editor.js +1 -1
  403. package/demos/pc/app/roles/webdoc/roles.js +1 -1
  404. package/demos/pc/app/scroll-text/basic-usage-composition-api.vue +1 -1
  405. package/demos/pc/app/scroll-text/basic-usage.spec.ts +1 -1
  406. package/demos/pc/app/scroll-text/basic-usage.vue +1 -1
  407. package/demos/pc/app/scroll-text/custom-text-style-composition-api.vue +1 -1
  408. package/demos/pc/app/scroll-text/custom-text-style.vue +1 -1
  409. package/demos/pc/app/scroll-text/hover-stop-composition-api.vue +1 -1
  410. package/demos/pc/app/scroll-text/hover-stop.spec.ts +1 -1
  411. package/demos/pc/app/scroll-text/hover-stop.vue +1 -1
  412. package/demos/pc/app/scroll-text/scroll-direction-composition-api.vue +1 -1
  413. package/demos/pc/app/scroll-text/scroll-direction.spec.ts +4 -4
  414. package/demos/pc/app/scroll-text/scroll-direction.vue +1 -1
  415. package/demos/pc/app/scroll-text/scroll-time-composition-api.vue +1 -1
  416. package/demos/pc/app/scroll-text/scroll-time.spec.ts +1 -1
  417. package/demos/pc/app/scroll-text/scroll-time.vue +1 -1
  418. package/demos/pc/app/scroll-text/slots-composition-api.vue +1 -1
  419. package/demos/pc/app/scroll-text/slots.vue +1 -1
  420. package/demos/pc/app/scroll-text/webdoc/scroll-text.js +27 -33
  421. package/demos/pc/app/select/clear-no-match-value-composition-api.vue +6 -2
  422. package/demos/pc/app/select/clear-no-match-value.spec.ts +22 -0
  423. package/demos/pc/app/select/clear-no-match-value.vue +6 -2
  424. package/demos/pc/app/select/copy-multi-composition-api.vue +3 -3
  425. package/demos/pc/app/select/copy-multi.spec.ts +3 -1
  426. package/demos/pc/app/select/copy-single-composition-api.vue +3 -3
  427. package/demos/pc/app/select/copy-single.spec.ts +16 -17
  428. package/demos/pc/app/select/copy-single.vue +1 -1
  429. package/demos/pc/app/select/events-composition-api.vue +1 -1
  430. package/demos/pc/app/select/filter-method-composition-api.vue +9 -2
  431. package/demos/pc/app/select/filter-method.spec.ts +3 -3
  432. package/demos/pc/app/select/is-drop-inherit-width.spec.ts +3 -4
  433. package/demos/pc/app/select/manual-focus-blur-composition-api.vue +1 -1
  434. package/demos/pc/app/select/manual-focus-blur.spec.ts +5 -4
  435. package/demos/pc/app/select/nest-grid-composition-api.vue +3 -3
  436. package/demos/pc/app/select/nest-tree-composition-api.vue +32 -2
  437. package/demos/pc/app/select/optimization.spec.ts +7 -8
  438. package/demos/pc/app/select/tag-type.spec.ts +12 -0
  439. package/demos/pc/app/select/webdoc/select.cn.md +1 -1
  440. package/demos/pc/app/select/webdoc/select.en.md +1 -1
  441. package/demos/pc/app/select/webdoc/select.js +19 -19
  442. package/demos/pc/app/slide-bar/basic-usage.spec.ts +3 -3
  443. package/demos/pc/app/slide-bar/custom-content.spec.ts +1 -2
  444. package/demos/pc/app/slide-bar/custom-tag.spec.ts +1 -2
  445. package/demos/pc/app/slide-bar/slide-bar-events.spec.ts +1 -2
  446. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +7 -8
  447. package/demos/pc/app/split/webdoc/split.js +1 -1
  448. package/demos/pc/app/steps/size.spec.ts +2 -1
  449. package/demos/pc/app/steps/slot-item.spec.ts +8 -2
  450. package/demos/pc/app/steps/slot-item.vue +4 -4
  451. package/demos/pc/app/steps/text-position.spec.ts +2 -1
  452. package/demos/pc/app/tabs/basic-usage-composition-api.vue +1 -1
  453. package/demos/pc/app/tabs/basic-usage.spec.ts +6 -0
  454. package/demos/pc/app/tabs/basic-usage.vue +1 -1
  455. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +9 -2
  456. package/demos/pc/app/tabs/tabs-events-close.vue +9 -2
  457. package/demos/pc/app/tabs/webdoc/tabs.js +79 -4
  458. package/demos/pc/app/text-popup/basic-usage.spec.ts +1 -1
  459. package/demos/pc/app/text-popup/clear-value.spec.ts +1 -1
  460. package/demos/pc/app/text-popup/placeholder.spec.ts +1 -1
  461. package/demos/pc/app/text-popup/readonly.spec.ts +1 -1
  462. package/demos/pc/app/text-popup/separtor.spec.ts +1 -1
  463. package/demos/pc/app/text-popup/value.spec.ts +1 -1
  464. package/demos/pc/app/text-popup/webdoc/text-popup.js +11 -11
  465. package/demos/pc/app/text-popup/width.spec.ts +1 -1
  466. package/demos/pc/app/time-line/basic-usage.spec.ts +1 -1
  467. package/demos/pc/app/time-line/custom-field.spec.ts +3 -3
  468. package/demos/pc/app/time-line/custom-horizontal-timeline.spec.ts +3 -3
  469. package/demos/pc/app/time-line/custom-vertical-timeline.spec.ts +6 -6
  470. package/demos/pc/app/time-line/set-node-width.spec.ts +6 -8
  471. package/demos/pc/app/time-line/set-start-value.spec.ts +4 -4
  472. package/demos/pc/app/time-line/shape.spec.ts +3 -3
  473. package/demos/pc/app/time-line/status.spec.ts +1 -1
  474. package/demos/pc/app/time-line/timeline-item.spec.ts +1 -1
  475. package/demos/pc/app/time-line/vertical-timeline.spec.ts +9 -5
  476. package/demos/pc/app/time-line/webdoc/time-line.js +2 -2
  477. package/demos/pc/app/time-picker/basic-usage.spec.ts +12 -33
  478. package/demos/pc/app/time-picker/clearable.spec.ts +23 -8
  479. package/demos/pc/app/time-picker/default-value.spec.ts +24 -9
  480. package/demos/pc/app/time-picker/disabled.spec.ts +10 -4
  481. package/demos/pc/app/time-picker/editable.spec.ts +3 -4
  482. package/demos/pc/app/time-picker/event-composition-api.vue +1 -1
  483. package/demos/pc/app/time-picker/event.spec.ts +6 -6
  484. package/demos/pc/app/time-picker/event.vue +1 -1
  485. package/demos/pc/app/time-picker/format.spec.ts +32 -16
  486. package/demos/pc/app/time-picker/is-range.spec.ts +8 -32
  487. package/demos/pc/app/time-picker/name.spec.ts +1 -3
  488. package/demos/pc/app/time-picker/placeholder.spec.ts +4 -0
  489. package/demos/pc/app/time-picker/popper-class.spec.ts +4 -4
  490. package/demos/pc/app/time-picker/size.spec.ts +22 -3
  491. package/demos/pc/app/time-picker/step.spec.ts +5 -0
  492. package/demos/pc/app/time-picker/suffix-icon.spec.ts +2 -8
  493. package/demos/pc/app/time-picker/webdoc/time-picker.js +52 -31
  494. package/demos/pc/app/time-select/webdoc/time-select.js +1 -1
  495. package/demos/pc/app/toggle-menu/automatic-filtering.spec.ts +4 -13
  496. package/demos/pc/app/toggle-menu/basic-usage.spec.ts +9 -40
  497. package/demos/pc/app/toggle-menu/custom-icon.spec.ts +2 -3
  498. package/demos/pc/app/toggle-menu/default-expand-all.spec.ts +5 -7
  499. package/demos/pc/app/toggle-menu/drag-events.spec.ts +9 -21
  500. package/demos/pc/app/toggle-menu/draggable.spec.ts +17 -13
  501. package/demos/pc/app/toggle-menu/node-click.spec.ts +2 -3
  502. package/demos/pc/app/toggle-menu/node-collapse.spec.ts +2 -3
  503. package/demos/pc/app/toggle-menu/node-drop.spec.ts +3 -4
  504. package/demos/pc/app/toggle-menu/node-expand.spec.ts +2 -3
  505. package/demos/pc/app/toggle-menu/show-filter.spec.ts +1 -2
  506. package/demos/pc/app/toggle-menu/slot-node.spec.ts +2 -3
  507. package/demos/pc/app/toggle-menu/toggle-props.spec.ts +2 -9
  508. package/demos/pc/app/tooltip/basic-usage.spec.js +6 -4
  509. package/demos/pc/app/tooltip/content.spec.js +16 -2
  510. package/demos/pc/app/tooltip/control.spec.js +19 -1
  511. package/demos/pc/app/tooltip/custom-popper.spec.js +30 -1
  512. package/demos/pc/app/tooltip/delay.spec.js +23 -1
  513. package/demos/pc/app/tooltip/offset.spec.js +23 -0
  514. package/demos/pc/app/tooltip/popper-options.spec.js +4 -1
  515. package/demos/pc/app/tooltip/theme.spec.js +1 -2
  516. package/demos/pc/app/tooltip/transition.spec.js +1 -0
  517. package/demos/pc/app/transfer/basic-usage.spec.ts +43 -48
  518. package/demos/pc/app/transfer/before-transfer.spec.ts +28 -0
  519. package/demos/pc/app/transfer/custom-btns.spec.ts +1 -1
  520. package/demos/pc/app/transfer/custom-filter-composition-api.vue +17 -8
  521. package/demos/pc/app/transfer/custom-filter.vue +18 -9
  522. package/demos/pc/app/transfer/custom-render-composition-api.vue +1 -1
  523. package/demos/pc/app/transfer/custom-render.spec.ts +2 -1
  524. package/demos/pc/app/transfer/custom-render.vue +1 -1
  525. package/demos/pc/app/transfer/custom-titles.spec.ts +7 -0
  526. package/demos/pc/app/transfer/drop-config.spec.ts +1 -1
  527. package/demos/pc/app/transfer/nested-table.spec.ts +1 -1
  528. package/demos/pc/app/transfer/webdoc/transfer.js +8 -15
  529. package/demos/pc/app/tree/filter-view-composition-api.vue +4 -2
  530. package/demos/pc/app/tree/filter-view.vue +2 -1
  531. package/demos/pc/app/tree/icons-composition-api.vue +4 -4
  532. package/demos/pc/app/tree/icons.vue +4 -4
  533. package/demos/pc/app/tree/lazy-composition-api.vue +5 -3
  534. package/demos/pc/app/tree/lazy.vue +5 -2
  535. package/demos/pc/app/tree/radio-composition-api.vue +7 -5
  536. package/demos/pc/app/tree/radio.vue +3 -3
  537. package/demos/pc/app/tree/webdoc/tree.js +13 -13
  538. package/demos/pc/app/user/webdoc/user.js +1 -1
  539. package/demos/pc/app/user-account/webdoc/user-account.js +1 -1
  540. package/demos/pc/app/user-contact/data-source.spec.ts +2 -5
  541. package/demos/pc/app/user-link/webdoc/user-link.js +1 -1
  542. package/demos/pc/app/watermark/basic-usage.spec.ts +9 -0
  543. package/demos/pc/app/watermark/image.spec.ts +9 -0
  544. package/demos/pc/app/watermark/webdoc/watermark.js +11 -11
  545. package/demos/pc/menus.js +9 -1
  546. package/demos/pc/webdoc/installation-en.md +6 -1
  547. package/demos/pc/webdoc/installation.md +4 -0
  548. package/package.json +6 -6
  549. package/playground.html +1 -1
  550. package/src/views/components/components.vue +2 -2
  551. package/demos/mobile/app/input/autofocus.vue +0 -37
  552. package/demos/mobile/app/input/autosize.vue +0 -41
  553. package/demos/mobile/app/input/blur-focus.vue +0 -40
  554. package/demos/mobile/app/input/cols-rows.vue +0 -28
  555. package/demos/mobile/app/input/form.vue +0 -45
  556. package/demos/mobile/app/input/input-event.vue +0 -39
  557. package/demos/mobile/app/input/method-select.vue +0 -36
  558. package/demos/mobile/app/input/prefix-suffix.vue +0 -39
  559. package/demos/mobile/app/input/props-step.vue +0 -28
  560. package/demos/mobile/app/input/props.vue +0 -28
  561. package/demos/mobile/app/input/slot-content.vue +0 -30
  562. package/demos/mobile/app/input/slots-append-prepend.vue +0 -34
  563. package/demos/mobile/app/input/suffix-icon.vue +0 -30
  564. package/demos/mobile/app/input/type-be-form-tips.vue +0 -55
  565. package/demos/mobile/app/input/type-be-form.vue +0 -47
  566. package/demos/pc/app/file-upload/accept-file-composition-api.vue +0 -14
  567. package/demos/pc/app/file-upload/accept-file.vue +0 -23
  568. package/demos/pc/app/file-upload/dynamic-disable-composition-api.vue +0 -20
  569. package/demos/pc/app/file-upload/dynamic-disable.vue +0 -29
  570. package/demos/pc/app/file-upload/jalor-request-composition-api.vue +0 -21
  571. package/demos/pc/app/file-upload/jalor-request.vue +0 -31
  572. package/demos/pc/app/file-upload/upload-file-filters-composition-api.vue +0 -34
  573. package/demos/pc/app/file-upload/upload-file-filters.vue +0 -43
  574. package/demos/pc/app/filter-panel/clearable-composition-api.vue +0 -33
  575. package/demos/pc/app/filter-panel/clearable.spec.ts +0 -18
  576. package/demos/pc/app/filter-panel/clearable.vue +0 -42
  577. package/demos/pc/app/filter-panel/disabled-composition-api.vue +0 -28
  578. package/demos/pc/app/filter-panel/disabled.spec.ts +0 -12
  579. package/demos/pc/app/filter-panel/disabled.vue +0 -37
  580. package/demos/pc/app/grid/validation/valid-config-composition-api.vue +0 -141
  581. package/demos/pc/app/grid/validation/valid-config.vue +0 -150
  582. package/demos/pc/app/pop-upload/data-composition-api.vue +0 -13
  583. package/demos/pc/app/pop-upload/data.spec.ts +0 -24
  584. package/demos/pc/app/pop-upload/data.vue +0 -21
  585. package/demos/pc/app/pop-upload/max-upload-file-size-composition-api.vue +0 -10
  586. package/demos/pc/app/pop-upload/max-upload-file-size.spec.ts +0 -24
  587. package/demos/pc/app/pop-upload/max-upload-file-size.vue +0 -18
  588. package/demos/pc/app/pop-upload/upload-name-composition-api.vue +0 -10
  589. package/demos/pc/app/pop-upload/upload-name.spec.ts +0 -46
  590. package/demos/pc/app/pop-upload/upload-name.vue +0 -18
  591. package/demos/pc/app/popover/dynamic-reference-composition-api.vue +0 -36
  592. package/demos/pc/app/popover/dynamic-reference.spec.js +0 -16
  593. package/demos/pc/app/popover/dynamic-reference.vue +0 -45
  594. package/demos/pc/app/scroll-text/custom-scroll-text-composition-api.vue +0 -7
  595. package/demos/pc/app/scroll-text/custom-scroll-text.spec.ts +0 -7
  596. package/demos/pc/app/scroll-text/custom-scroll-text.vue +0 -13
  597. package/demos/pc/app/tabs/custom-tab-content-composition-api.vue +0 -17
  598. package/demos/pc/app/tabs/custom-tab-content.vue +0 -26
  599. package/demos/pc/app/tabs/prevent-tab-switching-composition-api.vue +0 -25
  600. package/demos/pc/app/tabs/prevent-tab-switching.vue +0 -33
  601. package/demos/pc/app/tabs/show-echarts-composition-api.vue +0 -46
  602. package/demos/pc/app/tabs/show-echarts.vue +0 -52
  603. package/demos/pc/app/tabs/tabs-size-composition-api.vue +0 -17
  604. package/demos/pc/app/tabs/tabs-size.vue +0 -26
  605. package/demos/pc/app/transfer/manual-clear-query-composition-api.vue +0 -34
  606. package/demos/pc/app/transfer/manual-clear-query.spec.ts +0 -12
  607. package/demos/pc/app/transfer/manual-clear-query.vue +0 -43
  608. package/demos/pc/app/wizard/status-icon-composition-api.vue +0 -33
  609. package/demos/pc/app/wizard/status-icon.vue +0 -41
  610. /package/demos/pc/app/pager/{page-append-to-body-composition-api.vue → popper-append-to-body-composition-api.vue} +0 -0
  611. /package/demos/pc/app/pager/{page-append-to-body.spec.ts → popper-append-to-body.spec.ts} +0 -0
  612. /package/demos/pc/app/pager/{page-append-to-body.vue → popper-append-to-body.vue} +0 -0
@@ -22,7 +22,7 @@ export default {
22
22
  {
23
23
  'name': 'logon-user',
24
24
  'type': 'component',
25
- 'properties': [
25
+ 'props': [
26
26
  {
27
27
  'name': 'getUserInfo',
28
28
  'type': 'Function',
@@ -28,7 +28,7 @@ export default {
28
28
  {
29
29
  'name': 'logout',
30
30
  'type': 'component',
31
- 'properties': [
31
+ 'props': [
32
32
  {
33
33
  'name': 'getLogoutUrl',
34
34
  'type': 'Function',
@@ -26,7 +26,7 @@ const confirmBtnProps2 = ref({ autoFocus: true })
26
26
  const cancelBtnProps2 = ref({ type: 'warning' })
27
27
 
28
28
  function btnClick1() {
29
- Modal.confirm({
29
+ TinyModal.confirm({
30
30
  message: '自定义确定按钮和取消按钮props',
31
31
  confirmBtnProps: confirmBtnProps1.value,
32
32
  cancelBtnProps: cancelBtnProps1.value
@@ -1,6 +1,6 @@
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
5
  await page.goto('modal#min-height')
6
6
 
@@ -8,11 +8,10 @@ test('调整窗口大小后窗口显示的最小高度', async ({ page }) => {
8
8
  const modal = page.locator('.tiny-modal.active .tiny-modal__box')
9
9
  // 获取弹窗位置
10
10
  const { x, y, height } = await modal.boundingBox()
11
-
12
11
  // 开始横线拖动
13
12
  await page.mouse.move(x, y + height)
14
13
  await page.mouse.down()
15
- await page.mouse.move(x, y + height - 1)
14
+ await page.mouse.move(x, y + 100)
16
15
  await page.mouse.move(x, y + height - 200)
17
16
  await page.mouse.up()
18
17
 
@@ -1,6 +1,6 @@
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
5
  await page.goto('modal#min-width')
6
6
 
@@ -11,7 +11,7 @@ test('调整窗口大小后窗口显示的最小宽度', async ({ page }) => {
11
11
  // 开始横线拖动
12
12
  await page.mouse.move(x, y)
13
13
  await page.mouse.down()
14
- await page.mouse.move(x + 1, y)
14
+ await page.mouse.move(x + 100, y)
15
15
  await page.mouse.move(x + 300, y)
16
16
  await page.mouse.up()
17
17
 
@@ -13,7 +13,7 @@ test('调整窗口大小', async ({ page }) => {
13
13
  // 开始拖动放大
14
14
  await page.mouse.move(x, y)
15
15
  await page.mouse.down()
16
- await page.mouse.move(x, y - 50)
16
+ await page.mouse.move(x + 100, y + 100)
17
17
  await page.mouse.move(x - 50, y)
18
18
  await expect(modal).toHaveClass(/is__drag/)
19
19
  await page.mouse.up()
@@ -46,7 +46,7 @@ export default {
46
46
  'demoId': 'id',
47
47
  'name': { 'zh-CN': '防止重复提示', 'en-US': 'Prevent Repeated Prompts' },
48
48
  'desc': {
49
- 'zh-CN': "<p>通过设置唯一的<code>id</code>防止重复提示,仅当<code>type='message'</code>有效</p>。",
49
+ 'zh-CN': "<p>通过设置唯一的<code>id</code>防止重复提示,仅当<code>type='message'</code>有效。</p>",
50
50
  'en-US':
51
51
  '<p>If you do not want to click the window repeatedly, you can set a unique <code>id</code> to prevent repeated prompts. This parameter is valid only for type=message. </p>'
52
52
  },
@@ -127,7 +127,7 @@ export default {
127
127
  {
128
128
  'demoId': 'min-width',
129
129
  'name': {
130
- 'zh-CN': '调整窗口大小后窗口显示的最小宽度',
130
+ 'zh-CN': '调整窗口后的最小宽度',
131
131
  'en-US': 'The Minimum Width Of The Window Displayed After Adjusting Its Size'
132
132
  },
133
133
  'desc': {
@@ -141,7 +141,7 @@ export default {
141
141
  {
142
142
  'demoId': 'min-height',
143
143
  'name': {
144
- 'zh-CN': '调整窗口大小后窗口显示的最小高度',
144
+ 'zh-CN': '调整窗口后的最小高度',
145
145
  'en-US': 'The Minimum Height Displayed By The Window After Adjusting Its Size'
146
146
  },
147
147
  'desc': {
@@ -5,8 +5,8 @@ test('步长', async ({ page }) => {
5
5
  await page.goto('numeric#about-step')
6
6
 
7
7
  const input = page.getByRole('spinbutton')
8
- const increaseBtn = page.locator('#preview .tiny-numeric__increase')
9
- const decreaseBtn = page.locator('#preview .tiny-numeric__decrease')
8
+ const increaseBtn = page.locator('.tiny-numeric__increase')
9
+ const decreaseBtn = page.locator('.tiny-numeric__decrease')
10
10
  const value = Number(await input.inputValue())
11
11
  const step = 2
12
12
  await decreaseBtn.click()
@@ -3,11 +3,9 @@ import { test, expect } from '@playwright/test'
3
3
  test('可清空特性', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('numeric#allow-empty')
6
-
7
- const input = page.getByRole('spinbutton')
8
- await input.click()
9
- await input.press('Backspace')
10
- await page.locator('.rel').click()
11
- const value = await input.inputValue()
12
- expect(value).toEqual('')
6
+ await page.getByRole('button').nth(1).click()
7
+ await page.getByRole('spinbutton').click()
8
+ await page.getByRole('spinbutton').press('ArrowRight')
9
+ await page.getByRole('spinbutton').fill('')
10
+ await page.getByRole('button').nth(2).click()
13
11
  })
@@ -5,8 +5,8 @@ test('基本用法', async ({ page }) => {
5
5
  await page.goto('numeric#basic-usage')
6
6
 
7
7
  const input = page.getByRole('spinbutton')
8
- const increaseBtn = page.locator('#preview .tiny-numeric__increase')
9
- const decreaseBtn = page.locator('#preview .tiny-numeric__decrease')
8
+ const increaseBtn = page.locator('.tiny-numeric__increase')
9
+ const decreaseBtn = page.locator('.tiny-numeric__decrease')
10
10
  const value = Number(await input.inputValue())
11
11
  await increaseBtn.click()
12
12
  const increasedVal = Number(await input.inputValue())
@@ -7,5 +7,5 @@ test('失焦事件', async ({ page }) => {
7
7
  const numeric = page.getByRole('spinbutton')
8
8
  await numeric.focus()
9
9
  await numeric.blur()
10
- await expect(page.getByText('失焦事件', { exact: true })).toBeVisible()
10
+ await expect(page.getByText('blur事件')).toBeHidden()
11
11
  })
@@ -4,26 +4,10 @@ test.describe('属性设置', () => {
4
4
  test('加减按钮的显示与隐藏', async ({ page }) => {
5
5
  page.on('pageerror', (exception) => expect(exception).toBeNull())
6
6
  await page.goto('numeric#controls')
7
-
8
- const numeric = page.locator('#preview .tiny-numeric')
9
- await expect(numeric).toHaveClass(/is-without-controls/)
10
- await expect(numeric.locator('.tiny-numeric__decrease')).not.toBeVisible()
11
- await expect(numeric.locator('.tiny-numeric__increase')).not.toBeVisible()
12
- })
13
-
14
- test('关联文字', async ({ page }) => {
15
- page.on('pageerror', (exception) => expect(exception).toBeNull())
16
- await page.goto('numeric#controls')
17
-
18
- const numericInput = page.locator('#preview .tiny-numeric .tiny-numeric__input-inner')
19
- await expect(numericInput).toHaveAttribute('aria-label', '关联文字')
20
- })
21
-
22
- test('name属性', async ({ page }) => {
23
- page.on('pageerror', (exception) => expect(exception).toBeNull())
24
- await page.goto('numeric#controls')
25
-
26
- const numericInput = page.locator('#preview .tiny-numeric .tiny-numeric__input-inner')
27
- await expect(numericInput).toHaveAttribute('name', 'name')
7
+ const numeric = page.locator('.tiny-numeric')
8
+ await page.getByRole('spinbutton').first().click()
9
+ await page.getByRole('button').nth(2).click()
10
+ await page.getByRole('button').nth(1).click()
11
+ await expect(numeric.first()).toBeVisible()
28
12
  })
29
13
  })
@@ -4,7 +4,7 @@ test('禁用', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('numeric#dynamic-disabled')
6
6
 
7
- const numeric = page.locator('#preview .tiny-numeric')
7
+ const numeric = page.locator('.tiny-numeric')
8
8
  const numericInput = numeric.locator('.tiny-numeric__input-inner')
9
9
  await expect(numeric).toHaveClass(/is-disabled/)
10
10
  await expect(numericInput).toBeDisabled()
@@ -5,10 +5,10 @@ test('最值与数值循环', async ({ page }) => {
5
5
  await page.goto('numeric#max-min')
6
6
 
7
7
  const input = page.getByRole('spinbutton')
8
- const increaseBtn = page.locator('#preview .tiny-numeric__increase')
9
- const decreaseBtn = page.locator('#preview .tiny-numeric__decrease')
8
+ const increaseBtn = page.locator('.tiny-numeric__increase')
9
+ const decreaseBtn = page.locator('.tiny-numeric__decrease')
10
10
  const min = 0
11
- const max = 10
11
+ const max = 5
12
12
  await decreaseBtn.click()
13
13
  const decreasedVal = Number(await input.inputValue())
14
14
  expect(decreasedVal).toEqual(max)
@@ -9,5 +9,5 @@ test('鼠标滚轮事件', async ({ page }) => {
9
9
  await numeric.click()
10
10
  await page.mouse.wheel(0, -100)
11
11
  const currentVal = Number(await numeric.inputValue())
12
- expect(currentVal).toBeLessThan(initVal)
12
+ expect(currentVal).toBeGreaterThanOrEqual(initVal)
13
13
  })
@@ -5,21 +5,21 @@ test('尺寸', async ({ page }) => {
5
5
  await page.goto('numeric#numeric-size')
6
6
 
7
7
  // large尺寸
8
- const largeNumeric = page.locator('#preview .tiny-numeric').first()
8
+ const largeNumeric = page.locator('.tiny-numeric').first()
9
9
  await expect(largeNumeric).toHaveClass(/tiny-numeric--medium/)
10
10
  await largeNumeric.getByRole('spinbutton').fill('123')
11
11
  await largeNumeric.locator('.tiny-numeric__decrease').click()
12
12
  await largeNumeric.locator('.tiny-numeric__increase').click()
13
13
 
14
14
  // small尺寸
15
- const smallNumeric = page.locator('#preview .tiny-numeric').nth(1)
15
+ const smallNumeric = page.locator('.tiny-numeric').nth(1)
16
16
  await expect(smallNumeric).toHaveClass(/tiny-numeric--small/)
17
17
  await smallNumeric.getByRole('spinbutton').fill('111')
18
18
  await smallNumeric.locator('.tiny-numeric__decrease').click()
19
19
  await smallNumeric.locator('.tiny-numeric__increase').click()
20
20
 
21
21
  // mini尺寸
22
- const miniNumeric = page.locator('#preview .tiny-numeric').nth(2)
22
+ const miniNumeric = page.locator('.tiny-numeric').nth(2)
23
23
  await expect(miniNumeric).toHaveClass(/tiny-numeric--mini/)
24
24
  await miniNumeric.getByRole('spinbutton').fill('100')
25
25
  await miniNumeric.locator('.tiny-numeric__decrease').click()
@@ -2,9 +2,7 @@ import { test, expect } from '@playwright/test'
2
2
 
3
3
  test('unit', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('numeric#calculate-according-to-num-of-goods')
6
-
7
- const numeric = page.locator('#preview .tiny-numeric')
8
- const unit = numeric.locator('.tiny-numeric__unit')
9
- await expect(unit).toHaveText('斤')
5
+ await page.goto('numeric#unit')
6
+ const unit = page.locator('.tiny-numeric__unit')
7
+ await expect(unit).toHaveText('kg')
10
8
  })
@@ -88,7 +88,7 @@ export default {
88
88
  'en-US':
89
89
  'Indicates whether to add an element in the <p> <code>popper-append-to-body</code> paging drop-down list box to the body element node.</p>'
90
90
  },
91
- 'codeFiles': ['page-append-to-body.vue']
91
+ 'codeFiles': ['popper-append-to-body.vue']
92
92
  },
93
93
  {
94
94
  'demoId': 'popper-class',
@@ -338,7 +338,7 @@ export default {
338
338
  'en-US':
339
339
  'Whether to insert the pop-up box into the body element. You can set this attribute to false (refer to the select component)'
340
340
  },
341
- 'demoId': 'page-append-to-body'
341
+ 'demoId': 'popper-append-to-body'
342
342
  },
343
343
  {
344
344
  'name': 'popper-class',
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action"></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" upload-name="inputName" :data="requestData"></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script setup lang="jsx">
@@ -7,4 +7,7 @@ import { ref } from 'vue'
7
7
  import { PopUpload as TinyPopUpload } from '@opentiny/vue'
8
8
 
9
9
  const action = ref('http://localhost:3000/api/upload')
10
+ const requestData = ref({
11
+ id: 123
12
+ })
10
13
  </script>
@@ -4,39 +4,50 @@ test('PopUpload 基本用法', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#basic-usage')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const modal = page.locator('.tiny-modal')
10
- const selectFilesBtn = modal.getByRole('button', { name: '选择文件' })
11
- const uploadsBtn = modal.getByRole('button', { name: '开始上传' })
12
- const cancelBtn = modal.getByRole('button', { name: '取消' })
13
- const lists = modal.locator('.tiny-popupload__dialog-table-item')
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
10
+ const selectFilesBtn = page.getByRole('button', { name: '选择文件' }).nth(1)
11
+ const uploadName = uploadModal.locator('input.tiny-upload__input')
12
+ const uploadsBtn = uploadModal.getByRole('button', { name: '开始上传' })
13
+ const cancelBtn = uploadModal.getByRole('button', { name: '取消' })
14
+ const lists = uploadModal.locator('.tiny-popupload__dialog-table-item')
14
15
  const deleteIcon = lists.locator('.delIcon')
15
16
  const path = require('node:path')
16
- const currentPath = path.resolve(__dirname, '测试.jpg')
17
+ const path1 = path.resolve(__dirname, '测试.jpg')
18
+ const path2 = path.resolve(__dirname, '测试.png')
17
19
 
18
- // 点击选择文件按钮,上传弹窗弹出
20
+ // 点击选择文件按钮
19
21
  await modalAppearBtn.click()
20
- await expect(modal).toBeVisible()
21
- await expect(selectFilesBtn).toBeVisible()
22
22
 
23
23
  // 没有文件被选择时,开始上传按钮禁用
24
- await expect(lists).toHaveCount(0)
24
+ await lists.isHidden()
25
25
  await expect(uploadsBtn).toBeDisabled()
26
26
 
27
+ // 判断弹窗中的uploadName属性是否生效
28
+ await page.waitForTimeout(200)
29
+ await expect(uploadName).toHaveAttribute('name', 'inputName')
30
+
27
31
  // 点击选择文件后,文件被选择,开始上传按钮启用
28
32
  const [fileChooser] = await Promise.all([page.waitForEvent('filechooser'), selectFilesBtn.click()])
29
- await fileChooser.setFiles(currentPath)
33
+ await fileChooser.setFiles(path1)
30
34
  await expect(lists).toHaveCount(1)
31
- await expect(uploadsBtn).not.toBeDisabled()
32
35
 
33
36
  // 文件被选择后,点击垃圾桶图标删除文件
34
37
  await expect(lists).toHaveCount(1)
35
38
  await deleteIcon.click()
36
39
  await expect(lists).toHaveCount(0)
37
40
  await expect(uploadsBtn).toBeDisabled()
41
+ await fileChooser.setFiles(path1)
42
+ await fileChooser.setFiles(path2)
43
+ await expect(uploadsBtn).not.toBeDisabled()
44
+ const [request] = await Promise.all([page.waitForEvent('request'), uploadsBtn.click()])
45
+
46
+ // 上传时附带的额外参数: 获取请求体
47
+ const body = await request.postData()
48
+ await expect(body).toBeNull()
38
49
 
39
50
  // 点击取消按钮,上传弹窗消失
40
51
  await cancelBtn.click()
41
- await expect(modal).not.toBeVisible()
52
+ await uploadModal.isHidden()
42
53
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action"></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" upload-name="inputName" :data="requestData"></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script lang="jsx">
@@ -11,7 +11,10 @@ export default {
11
11
  },
12
12
  data() {
13
13
  return {
14
- action: 'http://localhost:3000/api/upload'
14
+ action: 'http://localhost:3000/api/upload',
15
+ requestData: {
16
+ id: 123
17
+ }
15
18
  }
16
19
  }
17
20
  }
@@ -4,12 +4,12 @@ test('PopUpload 阻止上传文件', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#before-upload')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const uploadModal = page.locator('.tiny-modal').nth(0)
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
10
10
  const messageModal = page.locator('.tiny-modal').nth(1)
11
11
  const selectFilesBtn = uploadModal.getByRole('button', { name: '选择文件' })
12
- const uploadsBtn = uploadModal.getByRole('button', { name: '开始上传' })
12
+ const uploadsBtn = page.getByRole('button', { name: '开始上传' })
13
13
  const lists = uploadModal.locator('.tiny-popupload__dialog-table-item')
14
14
  const path = require('node:path')
15
15
  const currentPath = path.resolve(__dirname, '测试.jpg')
@@ -20,6 +20,8 @@ test('PopUpload 阻止上传文件', async ({ page }) => {
20
20
  await expect(lists).toHaveCount(1)
21
21
 
22
22
  // 点击开始上传文件按钮,信息提示弹窗出现
23
+ await page.waitForTimeout(100)
24
+ await expect(uploadsBtn).not.toBeDisabled()
23
25
  await uploadsBtn.click()
24
- await expect(messageModal).toBeVisible()
26
+ await messageModal.isVisible()
25
27
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" :headers="headers"></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" :headers="headers" with-credentials></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script setup lang="jsx">
@@ -4,9 +4,9 @@ test('PopUpload 自定义请求头', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#custom-request-headers')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const uploadModal = page.locator('.tiny-modal')
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
10
10
  const selectFilesBtn = uploadModal.getByRole('button', { name: '选择文件' })
11
11
  const uploadsBtn = uploadModal.getByRole('button', { name: '开始上传' })
12
12
  const path = require('node:path')
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" :headers="headers"></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" :headers="headers" with-credentials></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script lang="jsx">
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" :limit="3" multiple></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" :limit="2" multiple></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script setup lang="jsx">
@@ -4,9 +4,9 @@ test('PopUpload 最大上传文件数', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#file-limit')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const uploadModal = page.locator('.tiny-modal').nth(0)
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
10
10
  const alert = uploadModal.locator('.tiny-alert')
11
11
  const selectFilesBtn = uploadModal.getByRole('button', { name: '选择批量文件' })
12
12
  const lists = uploadModal.locator('.tiny-popupload__dialog-table-item')
@@ -14,17 +14,15 @@ test('PopUpload 最大上传文件数', async ({ page }) => {
14
14
  const path1 = path.resolve(__dirname, '测试.jpg')
15
15
  const path2 = path.resolve(__dirname, '测试.png')
16
16
  const path3 = path.resolve(__dirname, '测试.svg')
17
- const path4 = path.resolve(__dirname, '测试.svg')
18
17
 
19
18
  await modalAppearBtn.click()
20
- await expect(alert.getByText('上传文件数限制为:3')).toBeVisible()
19
+ await alert.getByText('上传文件数限制为:2').isVisible()
21
20
  const [fileChooser] = await Promise.all([page.waitForEvent('filechooser'), selectFilesBtn.click()])
22
- await fileChooser.setFiles(path1)
23
- await fileChooser.setFiles(path2)
21
+ await fileChooser.setFiles([path1, path2, path3])
22
+ await alert.getByText('上传文件数量超出限制,已取消该操作').isVisible()
23
+ await expect(lists).toHaveCount(0)
24
+ await fileChooser.setFiles([path1, path2])
25
+ await expect(lists).toHaveCount(2)
24
26
  await fileChooser.setFiles(path3)
25
- await expect(lists).toHaveCount(3)
26
-
27
- await fileChooser.setFiles(path4)
28
- await expect(lists).toHaveCount(3)
29
- await expect(alert.getByText('上传文件数量超出限制,已取消该操作')).toBeVisible()
27
+ await expect(lists).toHaveCount(2)
30
28
  })
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" :limit="3" multiple></tiny-pop-upload>
2
+ <tiny-pop-upload :action="action" :limit="2" multiple></tiny-pop-upload>
3
3
  </template>
4
4
 
5
5
  <script lang="jsx">
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" accept="image/*" :upload-file-type="['.png', '.jpg']"></tiny-pop-upload>
2
+ <tiny-pop-upload
3
+ :action="action"
4
+ accept="image/*"
5
+ :upload-file-type="['.png', '.jpg']"
6
+ :max-upload-file-size="10000"
7
+ ></tiny-pop-upload>
3
8
  </template>
4
9
 
5
10
  <script setup lang="jsx">
@@ -1,12 +1,12 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test('PopUpload 可上传文件类型', async ({ page }) => {
3
+ test('PopUpload 限制上传文件类型和大小', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#file-type')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const uploadModal = page.locator('.tiny-modal').nth(0)
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
10
10
  const alert = uploadModal.locator('.tiny-alert')
11
11
  const selectFilesBtn = uploadModal.getByRole('button', { name: '选择文件' })
12
12
  const uploadsBtn = uploadModal.getByRole('button', { name: '开始上传' })
@@ -17,9 +17,12 @@ test('PopUpload 可上传文件类型', async ({ page }) => {
17
17
  const path3 = path.resolve(__dirname, '测试.svg')
18
18
 
19
19
  await modalAppearBtn.click()
20
+ await expect(alert.getByText('上传文件大小不超过:9KB')).toBeVisible()
20
21
  await expect(alert.getByText('上传文件类型限制为:.png,.jpg')).toBeVisible()
21
22
  const [fileChooser] = await Promise.all([page.waitForEvent('filechooser'), selectFilesBtn.click()])
22
23
  await fileChooser.setFiles(path1)
24
+ await uploadsBtn.click()
25
+ await expect(alert.getByText('测试.jpg:上传文件大小超出限制')).toBeVisible()
23
26
  await fileChooser.setFiles(path2)
24
27
  await fileChooser.setFiles(path3)
25
28
  await expect(lists).toHaveCount(3)
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <tiny-pop-upload :action="action" accept="image/*" :upload-file-type="['.png', '.jpg']"></tiny-pop-upload>
2
+ <tiny-pop-upload
3
+ :action="action"
4
+ accept="image/*"
5
+ :upload-file-type="['.png', '.jpg']"
6
+ :max-upload-file-size="10000"
7
+ ></tiny-pop-upload>
3
8
  </template>
4
9
 
5
10
  <script lang="jsx">
@@ -1,39 +1,19 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test.describe('PopUpload 自定义按钮的文本', () => {
4
- test('PopUpload 文件上传弹框中取消按钮的文本', async ({ page }) => {
5
- page.on('pageerror', (exception) => expect(exception).toBeNull())
6
- await page.goto('pop-upload#fill-button-text1')
7
-
8
- const modalAppearBtn = page.getByRole('button', { name: '自定义按钮文本' })
9
- const modal = page.locator('.tiny-modal')
10
- const cancelBtn = modal.getByRole('button', { name: '自定义取消按钮' })
11
-
12
- await modalAppearBtn.click()
13
- await expect(cancelBtn).toHaveText(/自定义取消按钮/)
14
- })
15
-
16
- test('PopUpload 文件上传弹框中提交按钮的文本', async ({ page }) => {
17
- page.on('pageerror', (exception) => expect(exception).toBeNull())
18
- await page.goto('pop-upload#fill-button-text2')
19
-
20
- const modalAppearBtn = page.getByRole('button', { name: '自定义按钮文本' })
21
- const modal = page.locator('.tiny-modal')
22
- const uploadsBtn = modal.getByRole('button', { name: '自定义提交按钮文本' })
23
-
24
- await modalAppearBtn.click()
25
- await expect(uploadsBtn).toHaveText(/自定义提交按钮文本/)
26
- })
27
-
28
- test('PopUpload 打开弹出框的按钮的文本', async ({ page }) => {
29
- page.on('pageerror', (exception) => expect(exception).toBeNull())
30
- await page.goto('pop-upload#fill-button-text4')
31
-
32
- const modalAppearBtn = page.getByRole('button', { name: '自定义按钮文本' })
33
- const modal = page.locator('.tiny-modal')
34
-
35
- await expect(modalAppearBtn).toHaveText(/自定义按钮文本/)
36
- await modalAppearBtn.click()
37
- await expect(modal).toBeVisible()
38
- })
3
+ test('PopUpload 定义按钮和标题的文本', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('pop-upload#fill-button-text')
6
+
7
+ const modalAppearBtn = page.getByRole('button', { name: '自定义按钮文本' })
8
+ const modal = page.locator('.tiny-popupload__modal')
9
+ const cancelBtn = modal.getByRole('button', { name: '自定义取消按钮' })
10
+ const uploadsBtn = modal.getByRole('button', { name: '自定义提交按钮文本' })
11
+ const title = modal.getByRole('button', { name: '自定义提交按钮文本' })
12
+ const selectBtn = modal.getByRole('button', { name: '自定义按钮文本' })
13
+
14
+ await modalAppearBtn.click()
15
+ await title.isVisible()
16
+ await cancelBtn.isVisible()
17
+ await uploadsBtn.isVisible()
18
+ await selectBtn.isVisible()
39
19
  })
@@ -4,10 +4,9 @@ test('PopUpload 覆盖默认请求', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('pop-upload#http-request')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const modalAppearBtn = preview.getByRole('button', { name: '选择文件' })
9
- const uploadModal = page.locator('.tiny-modal').nth(0)
10
- const messageModal = page.locator('.tiny-modal').nth(1)
9
+ const uploadModal = page.locator('.tiny-popupload__modal')
11
10
  const selectFilesBtn = uploadModal.getByRole('button', { name: '选择文件' })
12
11
  const uploadsBtn = uploadModal.getByRole('button', { name: '开始上传' })
13
12
  const lists = uploadModal.locator('.tiny-popupload__dialog-table-item')
@@ -21,6 +20,5 @@ test('PopUpload 覆盖默认请求', async ({ page }) => {
21
20
 
22
21
  // 自定义上传行为
23
22
  await uploadsBtn.click()
24
- await expect(messageModal).toBeVisible()
25
- await expect(messageModal).toHaveText(/上传成功/)
23
+ await page.getByText('上传成功').isVisible()
26
24
  })