@opentiny/vue-docs 2.2.17 → 2.2.19

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 (366) hide show
  1. package/demos/apis/card.js +56 -23
  2. package/demos/apis/dialog-box.js +12 -5
  3. package/demos/apis/fall-menu.js +2 -2
  4. package/demos/apis/file-upload.js +2 -1
  5. package/demos/apis/float-button.js +211 -0
  6. package/demos/apis/grid.js +40 -40
  7. package/demos/apis/ip-address.js +3 -3
  8. package/demos/apis/multi-select.js +141 -22
  9. package/demos/apis/numeric.js +13 -0
  10. package/demos/apis/popeditor.js +20 -14
  11. package/demos/apis/search.js +11 -0
  12. package/demos/apis/slider.js +13 -2
  13. package/demos/apis/steps.js +6 -6
  14. package/demos/apis/tabs.js +39 -0
  15. package/demos/apis/time-line.js +34 -1
  16. package/demos/apis/time-select.js +1 -1
  17. package/demos/apis/tooltip.js +1 -1
  18. package/demos/apis/tree-menu.js +5 -5
  19. package/demos/mobile/app/alert/icon.vue +1 -1
  20. package/demos/mobile/app/alert/size.vue +1 -1
  21. package/demos/mobile/app/alert/slot-default.vue +8 -2
  22. package/demos/mobile/app/exception/buttonText.vue +4 -2
  23. package/demos/mobile/app/exception/exceptionClass.vue +4 -2
  24. package/demos/mobile/app/exception/message.vue +4 -7
  25. package/demos/mobile/app/exception/type.vue +4 -2
  26. package/demos/mobile/app/loading/background.vue +24 -0
  27. package/demos/mobile/app/loading/base.vue +16 -6
  28. package/demos/mobile/app/loading/custom-class.vue +29 -0
  29. package/demos/mobile/app/loading/global-registry.vue +61 -0
  30. package/demos/mobile/app/loading/size.vue +59 -0
  31. package/demos/mobile/app/loading/spinner.vue +26 -0
  32. package/demos/mobile/app/loading/tip-text.vue +23 -0
  33. package/demos/mobile/app/loading/webdoc/loading.js +155 -9
  34. package/demos/mobile/app/multi-select/basic-usage.vue +221 -73
  35. package/demos/mobile/app/multi-select/disabled.vue +174 -206
  36. package/demos/mobile/app/multi-select/event-click-item.vue +60 -75
  37. package/demos/mobile/app/multi-select/filter.vue +65 -93
  38. package/demos/mobile/app/multi-select/mask.vue +60 -0
  39. package/demos/mobile/app/multi-select/slots.vue +66 -0
  40. package/demos/mobile/app/multi-select/type-wheel.vue +39 -49
  41. package/demos/mobile/app/multi-select/webdoc/multi-select.js +49 -10
  42. package/demos/mobile/app/popover/base.vue +2 -3
  43. package/demos/mobile/app/search/base.vue +2 -2
  44. package/demos/mobile/app/user-head/basic-usage.vue +2 -5
  45. package/demos/mobile-first/app/card/basic-usage.vue +4 -2
  46. package/demos/mobile-first/app/card/card-type.vue +6 -12
  47. package/demos/mobile-first/app/card/slot.vue +2 -5
  48. package/demos/mobile-first/app/carousel/close-loop.vue +12 -4
  49. package/demos/mobile-first/app/column-list-item/basic-usage.vue +3 -7
  50. package/demos/mobile-first/app/column-list-item/custom-width.vue +4 -7
  51. package/demos/mobile-first/app/column-list-item/icon-click-event.vue +2 -5
  52. package/demos/mobile-first/app/column-list-item/icon-disabled.vue +2 -5
  53. package/demos/mobile-first/app/column-list-item/size.vue +3 -6
  54. package/demos/mobile-first/app/select/filter-method.vue +47 -18
  55. package/demos/mobile-first/app/time-line/limited-nodes.vue +29 -0
  56. package/demos/mobile-first/app/time-line/node-max.vue +26 -0
  57. package/demos/mobile-first/app/time-line/webdoc/time-line.js +26 -1
  58. package/demos/pc/app/alert/custom-close-composition-api.vue +7 -2
  59. package/demos/pc/app/alert/custom-close.spec.ts +1 -1
  60. package/demos/pc/app/alert/custom-close.vue +7 -2
  61. package/demos/pc/app/area/custom-service.spec.ts +1 -2
  62. package/demos/pc/app/button/ghost.spec.ts +6 -6
  63. package/demos/pc/app/card/basic-usage-composition-api.vue +24 -0
  64. package/demos/pc/app/card/basic-usage.vue +32 -0
  65. package/demos/pc/app/card/card-disabled-composition-api.vue +45 -0
  66. package/demos/pc/app/card/card-disabled.vue +53 -0
  67. package/demos/pc/app/card/card-events-composition-api.vue +66 -0
  68. package/demos/pc/app/card/card-events.vue +75 -0
  69. package/demos/pc/app/card/card-group-composition-api.vue +69 -0
  70. package/demos/pc/app/card/card-group.vue +79 -0
  71. package/demos/pc/app/card/card-size-composition-api.vue +59 -0
  72. package/demos/pc/app/card/card-size.vue +67 -0
  73. package/demos/pc/app/card/card-status-composition-api.vue +49 -0
  74. package/demos/pc/app/card/card-status.vue +58 -0
  75. package/demos/pc/app/card/card-type-composition-api.vue +47 -0
  76. package/demos/pc/app/card/card-type.vue +55 -0
  77. package/demos/pc/app/card/check-type-checkbox-composition-api.vue +31 -0
  78. package/demos/pc/app/card/check-type-checkbox.vue +40 -0
  79. package/demos/pc/app/card/check-type-radio-composition-api.vue +31 -0
  80. package/demos/pc/app/card/check-type-radio.vue +39 -0
  81. package/demos/pc/app/card/custom-class-composition-api.vue +51 -0
  82. package/demos/pc/app/card/custom-class.vue +59 -0
  83. package/demos/pc/app/card/operate-bar-composition-api.vue +53 -0
  84. package/demos/pc/app/card/operate-bar.vue +60 -0
  85. package/demos/pc/app/card/slot-composition-api.vue +67 -0
  86. package/demos/pc/app/card/slot.vue +76 -0
  87. package/demos/pc/app/card/webdoc/card.cn.md +7 -0
  88. package/demos/pc/app/card/webdoc/card.en.md +7 -0
  89. package/demos/pc/app/card/webdoc/card.js +148 -0
  90. package/demos/pc/app/carousel/basic-usage.spec.ts +3 -3
  91. package/demos/pc/app/carousel/card-mode.spec.ts +4 -11
  92. package/demos/pc/app/carousel/carousel-arrow-hover.spec.ts +5 -7
  93. package/demos/pc/app/carousel/carousel-events.spec.ts +7 -16
  94. package/demos/pc/app/carousel/manual-play.spec.ts +0 -2
  95. package/demos/pc/app/carousel/play-interval.spec.ts +1 -4
  96. package/demos/pc/app/cascader/auto-load-checkStrictly.spec.ts +1 -1
  97. package/demos/pc/app/cascader/auto-load.spec.ts +5 -2
  98. package/demos/pc/app/color-picker/base.spec.ts +2 -2
  99. package/demos/pc/app/color-picker/event.spec.ts +1 -1
  100. package/demos/pc/app/color-picker/history.spec.ts +2 -6
  101. package/demos/pc/app/color-picker/predefine.spec.ts +2 -5
  102. package/demos/pc/app/company/basic-usage.spec.ts +3 -6
  103. package/demos/pc/app/company/custom-service.spec.ts +4 -8
  104. package/demos/pc/app/country/custom-service.spec.js +4 -4
  105. package/demos/pc/app/country/fields.spec.js +2 -2
  106. package/demos/pc/app/crop/aspect-ratio.spec.ts +1 -2
  107. package/demos/pc/app/crop/auto-crop-area.spec.ts +1 -4
  108. package/demos/pc/app/crop/basic-usage.spec.ts +0 -2
  109. package/demos/pc/app/crop/crop-meth.spec.ts +0 -2
  110. package/demos/pc/app/crop/event-ready.spec.ts +0 -1
  111. package/demos/pc/app/crop/get-container-data.spec.ts +0 -1
  112. package/demos/pc/app/crop/get-crop-box-data.spec.ts +0 -2
  113. package/demos/pc/app/crop/get-data.spec.ts +0 -1
  114. package/demos/pc/app/crop/min-crop-box-width-height.spec.ts +0 -2
  115. package/demos/pc/app/crop/no-background.spec.ts +0 -1
  116. package/demos/pc/app/crop/no-modal.spec.ts +0 -2
  117. package/demos/pc/app/crop/replace-image.spec.ts +4 -5
  118. package/demos/pc/app/crop/view-mode.spec.ts +1 -16
  119. package/demos/pc/app/date-picker/align.spec.ts +17 -14
  120. package/demos/pc/app/date-picker/basic-usage.spec.ts +17 -22
  121. package/demos/pc/app/date-picker/clear.spec.ts +13 -7
  122. package/demos/pc/app/date-picker/date-range.spec.ts +39 -10
  123. package/demos/pc/app/date-picker/events.spec.ts +11 -3
  124. package/demos/pc/app/date-picker/format.spec.ts +2 -2
  125. package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -2
  126. package/demos/pc/app/dept/custom-service.spec.ts +16 -4
  127. package/demos/pc/app/detail-page/basic-usage.spec.ts +4 -4
  128. package/demos/pc/app/dialog-box/basic-usage-composition-api.vue +1 -1
  129. package/demos/pc/app/dialog-box/basic-usage.vue +1 -1
  130. package/demos/pc/app/dialog-box/center-composition-api.vue +1 -1
  131. package/demos/pc/app/dialog-box/center.vue +1 -1
  132. package/demos/pc/app/dialog-box/close-on-click-modal-composition-api.vue +1 -1
  133. package/demos/pc/app/dialog-box/close-on-click-modal.vue +1 -1
  134. package/demos/pc/app/dialog-box/close-on-press-escape-composition-api.vue +1 -1
  135. package/demos/pc/app/dialog-box/close-on-press-escape.vue +1 -1
  136. package/demos/pc/app/dialog-box/custom-dialog-content-composition-api.vue +1 -1
  137. package/demos/pc/app/dialog-box/custom-dialog-content.vue +1 -1
  138. package/demos/pc/app/dialog-box/custom-dialog-footer-composition-api.vue +2 -2
  139. package/demos/pc/app/dialog-box/custom-dialog-footer.spec.ts +1 -1
  140. package/demos/pc/app/dialog-box/custom-dialog-title-composition-api.vue +2 -2
  141. package/demos/pc/app/dialog-box/custom-dialog-title.spec.ts +1 -1
  142. package/demos/pc/app/dialog-box/custom-dialog-title.vue +2 -2
  143. package/demos/pc/app/dialog-box/dialog-top-height-composition-api.vue +2 -2
  144. package/demos/pc/app/dialog-box/dialog-top-height.vue +2 -2
  145. package/demos/pc/app/dialog-box/dialog-width-composition-api.vue +2 -2
  146. package/demos/pc/app/dialog-box/dialog-width.vue +2 -2
  147. package/demos/pc/app/dialog-box/draggable-composition-api.vue +15 -3
  148. package/demos/pc/app/dialog-box/draggable.spec.ts +2 -2
  149. package/demos/pc/app/dialog-box/draggable.vue +15 -3
  150. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +0 -1
  151. package/demos/pc/app/dialog-box/open-close-events-composition-api.vue +1 -1
  152. package/demos/pc/app/dialog-box/open-close-events.vue +1 -1
  153. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +2 -2
  154. package/demos/pc/app/drawer/tips-props-composition-api.vue +23 -0
  155. package/demos/pc/app/drawer/tips-props.spec.ts +15 -0
  156. package/demos/pc/app/drawer/tips-props.vue +33 -0
  157. package/demos/pc/app/drawer/webdoc/drawer.js +10 -12
  158. package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
  159. package/demos/pc/app/file-upload/custom-prefix.spec.ts +1 -1
  160. package/demos/pc/app/file-upload/file-picture-card.spec.ts +1 -1
  161. package/demos/pc/app/file-upload/manual-upload.spec.ts +1 -1
  162. package/demos/pc/app/file-upload/picture-card.spec.ts +3 -2
  163. package/demos/pc/app/file-upload/picture-list.spec.ts +3 -3
  164. package/demos/pc/app/file-upload/upload-file-list.spec.ts +1 -1
  165. package/demos/pc/app/file-upload/upload-request.spec.ts +11 -6
  166. package/demos/pc/app/float-button/backTop-composition-api.vue +40 -0
  167. package/demos/pc/app/float-button/backTop.vue +51 -0
  168. package/demos/pc/app/float-button/basic-usage-composition-api.vue +39 -0
  169. package/demos/pc/app/float-button/basic-usage.vue +48 -0
  170. package/demos/pc/app/float-button/icon-composition-api.vue +21 -0
  171. package/demos/pc/app/float-button/icon.vue +31 -0
  172. package/demos/pc/app/float-button/jump-composition-api.vue +19 -0
  173. package/demos/pc/app/float-button/jump.vue +26 -0
  174. package/demos/pc/app/float-button/reset-time-composition-api.vue +22 -0
  175. package/demos/pc/app/float-button/reset-time.vue +26 -0
  176. package/demos/pc/app/float-button/trigger-composition-api.vue +31 -0
  177. package/demos/pc/app/float-button/trigger.vue +40 -0
  178. package/demos/pc/app/float-button/webdoc/float-button.cn.md +7 -0
  179. package/demos/pc/app/float-button/webdoc/float-button.en.md +7 -0
  180. package/demos/pc/app/float-button/webdoc/float-button.js +68 -0
  181. package/demos/pc/app/floatbar/base.spec.ts +1 -1
  182. package/demos/pc/app/floatbar/custom-floatbar-item.spec.ts +1 -1
  183. package/demos/pc/app/floatbar/custom-style.spec.ts +1 -1
  184. package/demos/pc/app/floatbar/operation-floatbar-item.spec.ts +1 -1
  185. package/demos/pc/app/form/form-row-col.spec.js +2 -0
  186. package/demos/pc/app/form/label-position.spec.ts +3 -3
  187. package/demos/pc/app/grid/custom/ordercolumn-local.spec.js +2 -2
  188. package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
  189. package/demos/pc/app/grid/data-source/static-data.spec.js +1 -1
  190. package/demos/pc/app/grid/data-source/static-data.vue +1 -1
  191. package/demos/pc/app/grid/edit/grid-equals-composition-api.vue +50 -0
  192. package/demos/pc/app/grid/edit/grid-equals.spec.js +10 -0
  193. package/demos/pc/app/grid/edit/grid-equals.vue +60 -0
  194. package/demos/pc/app/grid/edit/has-row-change.spec.js +2 -2
  195. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +11 -11
  196. package/demos/pc/app/grid/editor/mutil-render.spec.js +1 -1
  197. package/demos/pc/app/grid/event/get-row-method.spec.js +4 -4
  198. package/demos/pc/app/grid/filter/server-filter.spec.js +1 -1
  199. package/demos/pc/app/grid/fixed/left-fixed.vue +1 -1
  200. package/demos/pc/app/grid/large-data/column-anchor.vue +132 -0
  201. package/demos/pc/app/grid/large-data/scroll-to.spec.js +1 -1
  202. package/demos/pc/app/grid/loading/grid-loading-tip.spec.js +1 -1
  203. package/demos/pc/app/grid/pager/show-save-msg-composition-api.vue +1 -1
  204. package/demos/pc/app/grid/pager/show-save-msg.vue +1 -1
  205. package/demos/pc/app/grid/renderer/inner-renderer-date-composition-api.vue +40 -0
  206. package/demos/pc/app/grid/renderer/inner-renderer-date.spec.js +9 -0
  207. package/demos/pc/app/grid/renderer/inner-renderer-date.vue +50 -0
  208. package/demos/pc/app/grid/size/grid-size-composition-api.vue +33 -26
  209. package/demos/pc/app/grid/size/grid-size.spec.js +7 -3
  210. package/demos/pc/app/grid/size/grid-size.vue +34 -26
  211. package/demos/pc/app/grid/sort/sort.vue +0 -1
  212. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport-composition-api.vue +65 -0
  213. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.spec.js +10 -0
  214. package/demos/pc/app/grid/toolbar/grid-full-screen-teleport.vue +73 -0
  215. package/demos/pc/app/grid/tree-table/tree-grid-insert-delete-update.spec.js +1 -1
  216. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +1 -1
  217. package/demos/pc/app/grid/webdoc/grid-edit.js +11 -0
  218. package/demos/pc/app/grid/webdoc/grid-large-data.js +1 -49
  219. package/demos/pc/app/grid/webdoc/grid-renderer.js +11 -0
  220. package/demos/pc/app/grid/webdoc/grid-toolbar.js +10 -1
  221. package/demos/pc/app/guide/basic-usage.spec.ts +3 -2
  222. package/demos/pc/app/guide/offset.spec.ts +3 -1
  223. package/demos/pc/app/hrapprover/basic-usage.spec.ts +2 -6
  224. package/demos/pc/app/hrapprover/custom-service.spec.ts +5 -2
  225. package/demos/pc/app/hrapprover/disabled.spec.ts +1 -1
  226. package/demos/pc/app/ip-address/delimiter.spec.ts +1 -1
  227. package/demos/pc/app/loading/webdoc/loading.js +1 -1
  228. package/demos/pc/app/locales/custom-service.spec.ts +0 -3
  229. package/demos/pc/app/logout/basic-usage.spec.ts +5 -5
  230. package/demos/pc/app/milestone/show-number.spec.ts +1 -1
  231. package/demos/pc/app/milestone/solid-style.spec.ts +1 -1
  232. package/demos/pc/app/modal/basic-usage.spec.ts +1 -1
  233. package/demos/pc/app/modal/duration.spec.ts +1 -2
  234. package/demos/pc/app/modal/{min-width-composition-api.vue → min-width-height-composition-api.vue} +4 -2
  235. package/demos/pc/app/modal/{min-width.spec.ts → min-width-height.spec.ts} +3 -3
  236. package/demos/pc/app/modal/{min-width.vue → min-width-height.vue} +4 -2
  237. package/demos/pc/app/modal/prop-slots-composition-api.vue +2 -2
  238. package/demos/pc/app/modal/show-header-footer-composition-api.vue +11 -0
  239. package/demos/pc/app/modal/{showHeader.spec.ts → show-header-footer.spec.ts} +3 -3
  240. package/demos/pc/app/modal/{showHeader.vue → show-header-footer.vue} +2 -2
  241. package/demos/pc/app/modal/webdoc/modal.js +12 -36
  242. package/demos/pc/app/notify/closeIcon.spec.ts +1 -1
  243. package/demos/pc/app/numeric/change-event-composition-api.vue +9 -2
  244. package/demos/pc/app/numeric/change-event.vue +10 -3
  245. package/demos/pc/app/numeric/dynamic-disabled-composition-api.vue +10 -2
  246. package/demos/pc/app/numeric/dynamic-disabled.spec.ts +1 -1
  247. package/demos/pc/app/numeric/dynamic-disabled.vue +11 -3
  248. package/demos/pc/app/numeric/precision-composition-api.vue +1 -1
  249. package/demos/pc/app/numeric/precision.spec.ts +10 -11
  250. package/demos/pc/app/pager/before-page-change.spec.ts +1 -1
  251. package/demos/pc/app/pager/disabled-and-size.spec.ts +1 -1
  252. package/demos/pc/app/pop-upload/basic-usage.spec.ts +1 -1
  253. package/demos/pc/app/pop-upload/custom-request-headers.spec.ts +1 -1
  254. package/demos/pc/app/popeditor/condition-form-composition-api.vue +0 -1
  255. package/demos/pc/app/popeditor/condition-form.vue +0 -1
  256. package/demos/pc/app/popeditor/events-composition-api.vue +8 -2
  257. package/demos/pc/app/popeditor/events.vue +8 -2
  258. package/demos/pc/app/popeditor/webdoc/popeditor.js +9 -9
  259. package/demos/pc/app/popover/webdoc/popover.js +69 -28
  260. package/demos/pc/app/radio/group-options-composition-api.vue +1 -1
  261. package/demos/pc/app/rate/custom-3-threshold-colors.spec.js +0 -13
  262. package/demos/pc/app/rate/custom-3-threshold-icon.spec.js +5 -5
  263. package/demos/pc/app/rate/disabled-not-selected-class.spec.js +1 -1
  264. package/demos/pc/app/rate/not-selected-class.spec.js +1 -1
  265. package/demos/pc/app/rate/threshold-value.spec.js +0 -13
  266. package/demos/pc/app/search/basic-usage-composition-api.vue +1 -1
  267. package/demos/pc/app/search/basic-usage.vue +1 -1
  268. package/demos/pc/app/search/webdoc/search.js +3 -2
  269. package/demos/pc/app/select/copy-multi.spec.ts +6 -5
  270. package/demos/pc/app/select/copy-single.spec.ts +7 -4
  271. package/demos/pc/app/select/events.spec.ts +2 -2
  272. package/demos/pc/app/select/optimization.spec.ts +3 -7
  273. package/demos/pc/app/select/option-group-composition-api.vue +2 -2
  274. package/demos/pc/app/select/option-group.vue +2 -2
  275. package/demos/pc/app/select/searchable.spec.ts +1 -1
  276. package/demos/pc/app/select/size.spec.ts +1 -1
  277. package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
  278. package/demos/pc/app/select/tag-type.spec.ts +1 -1
  279. package/demos/pc/app/select/tag-type.vue +1 -1
  280. package/demos/pc/app/slide-bar/basic-usage.spec.ts +0 -5
  281. package/demos/pc/app/slide-bar/wheel-blocks.spec.ts +2 -6
  282. package/demos/pc/app/slider/marks-composition-api.vue +20 -0
  283. package/demos/pc/app/slider/marks.spec.ts +12 -0
  284. package/demos/pc/app/slider/marks.vue +27 -0
  285. package/demos/pc/app/slider/show-input-composition-api.vue +2 -0
  286. package/demos/pc/app/slider/show-input.vue +3 -1
  287. package/demos/pc/app/slider/show-iput.spec.ts +14 -4
  288. package/demos/pc/app/slider/webdoc/slider.js +12 -0
  289. package/demos/pc/app/steps/advanced-steps-composition-api.vue +2 -2
  290. package/demos/pc/app/steps/advanced-steps.spec.ts +3 -3
  291. package/demos/pc/app/steps/advanced-steps.vue +2 -2
  292. package/demos/pc/app/steps/click-composition-api.vue +3 -10
  293. package/demos/pc/app/steps/click.vue +4 -12
  294. package/demos/pc/app/steps/line-horizontal-composition-api.vue +1 -1
  295. package/demos/pc/app/steps/line-horizontal.vue +1 -1
  296. package/demos/pc/app/steps/line-vertical-composition-api.vue +1 -1
  297. package/demos/pc/app/steps/line-vertical.vue +1 -1
  298. package/demos/pc/app/tabs/overflow-title-composition-api.vue +19 -0
  299. package/demos/pc/app/tabs/overflow-title.vue +28 -0
  300. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +5 -1
  301. package/demos/pc/app/tabs/tabs-events-close.vue +5 -1
  302. package/demos/pc/app/tabs/webdoc/tabs.js +18 -4
  303. package/demos/pc/app/tag/delete.spec.ts +3 -3
  304. package/demos/pc/app/time-line/shape-composition-api.vue +5 -2
  305. package/demos/pc/app/time-line/shape.spec.ts +2 -0
  306. package/demos/pc/app/time-line/shape.vue +5 -1
  307. package/demos/pc/app/time-line/show-divider-composition-api.vue +1 -1
  308. package/demos/pc/app/time-line/show-divider.vue +1 -1
  309. package/demos/pc/app/time-picker/disabled.spec.ts +9 -1
  310. package/demos/pc/app/time-picker/event.spec.ts +1 -2
  311. package/demos/pc/app/time-picker/format.spec.ts +10 -3
  312. package/demos/pc/app/time-picker/step.spec.ts +4 -1
  313. package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
  314. package/demos/pc/app/time-select/clear-icon.spec.ts +1 -1
  315. package/demos/pc/app/time-select/default-value.spec.ts +1 -1
  316. package/demos/pc/app/time-select/event-blur-composition-api.vue +3 -3
  317. package/demos/pc/app/time-select/event-blur.spec.ts +1 -1
  318. package/demos/pc/app/time-select/event-blur.vue +3 -3
  319. package/demos/pc/app/time-select/focus-composition-api.vue +1 -1
  320. package/demos/pc/app/time-select/focus.spec.ts +2 -3
  321. package/demos/pc/app/time-select/focus.vue +1 -1
  322. package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
  323. package/demos/pc/app/tooltip/theme-composition-api.vue +28 -26
  324. package/demos/pc/app/tooltip/theme.vue +28 -26
  325. package/demos/pc/app/tooltip/webdoc/tooltip.js +55 -29
  326. package/demos/pc/app/transfer/webdoc/transfer.js +130 -44
  327. package/demos/pc/app/tree/webdoc/tree.js +319 -68
  328. package/demos/pc/app/tree-menu/basic-usage.spec.ts +0 -1
  329. package/demos/pc/app/tree-menu/props.spec.ts +2 -1
  330. package/demos/pc/app/user/custom-service.spec.ts +1 -1
  331. package/demos/pc/app/user-account/custom-service.spec.ts +2 -8
  332. package/demos/pc/app/user-contact/contact-espace-composition-api.vue +1 -0
  333. package/demos/pc/app/user-link/custom-service.spec.ts +2 -2
  334. package/demos/pc/app/watermark/webdoc/watermark.js +1 -1
  335. package/demos/pc/menus.js +2 -1
  336. package/demos/pc/resource/newVars.json +2 -2
  337. package/demos/pc/webdoc/changelog.md +138 -0
  338. package/demos/pc/webdoc/import-components-en.md +40 -2
  339. package/demos/pc/webdoc/import-components.md +40 -2
  340. package/package.json +11 -11
  341. package/playground/App.vue +2 -2
  342. package/src/App.vue +3 -2
  343. package/src/const.ts +27 -0
  344. package/src/router.js +5 -3
  345. package/src/tools/useTheme.js +60 -50
  346. package/src/views/components/components.vue +12 -33
  347. package/src/views/components/demo.vue +4 -4
  348. package/src/views/layout/layout.vue +6 -6
  349. package/src/views/overview.vue +6 -3
  350. package/demos/pc/app/credit-card-form/background-image.spec.ts +0 -10
  351. package/demos/pc/app/credit-card-form/basic-usage.spec.ts +0 -13
  352. package/demos/pc/app/credit-card-form/credit-card-form-events.spec.ts +0 -18
  353. package/demos/pc/app/drawer/default-slot-composition-api.vue +0 -25
  354. package/demos/pc/app/drawer/default-slot.spec.ts +0 -11
  355. package/demos/pc/app/drawer/default-slot.vue +0 -35
  356. package/demos/pc/app/font/Font-usage-specifications.spec.js +0 -41
  357. package/demos/pc/app/font/chinese-font-set.spec.js +0 -10
  358. package/demos/pc/app/font/english-fonts.spec.js +0 -10
  359. package/demos/pc/app/hrapprover/category-type.spec.ts +0 -13
  360. package/demos/pc/app/modal/min-height-composition-api.vue +0 -16
  361. package/demos/pc/app/modal/min-height.spec.ts +0 -21
  362. package/demos/pc/app/modal/min-height.vue +0 -23
  363. package/demos/pc/app/modal/showFooter-composition-api.vue +0 -11
  364. package/demos/pc/app/modal/showFooter.spec.ts +0 -10
  365. package/demos/pc/app/modal/showFooter.vue +0 -18
  366. package/demos/pc/app/modal/showHeader-composition-api.vue +0 -11
@@ -21,6 +21,6 @@ const data = reactive([
21
21
 
22
22
  const handleClick = (index, node) => {
23
23
  active.value = index
24
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
24
+ Modal.message({ message: `节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`, status: 'info' })
25
25
  }
26
26
  </script>
@@ -29,7 +29,7 @@ export default {
29
29
  advancedClick(index, node) {
30
30
  this.advancedActive = index
31
31
 
32
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
32
+ Modal.message({ message: `节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`, status: 'info' })
33
33
  }
34
34
  }
35
35
  }
@@ -26,6 +26,6 @@ const data = reactive([
26
26
  const advancedClick = (index, node) => {
27
27
  active.value = index
28
28
 
29
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
29
+ Modal.message({ message: `节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`, status: 'info' })
30
30
  }
31
31
  </script>
@@ -33,7 +33,7 @@ export default {
33
33
  advancedClick(index, node) {
34
34
  this.active = index
35
35
 
36
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
36
+ Modal.message({ message: `节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`, status: 'info' })
37
37
  }
38
38
  }
39
39
  }
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <tiny-tabs v-model="activeName" overflow-title title-width="100px">
3
+ <tiny-tab-item title="表单组件表单组件表单组件" name="first">
4
+ 表单组件,具有与用户交互,并可完成数据采集功能的控件。
5
+ </tiny-tab-item>
6
+ <tiny-tab-item title="数据组件数据组件数据组件" name="second">
7
+ 数据组件,提供了非常强大数据表格功能,在Grid可以展示数据列表,可以对数据列表进行选择、编辑等
8
+ </tiny-tab-item>
9
+ <tiny-tab-item title="导航组件" name="third"> 导航组件,帮助网站访问者浏览站点的组件. </tiny-tab-item>
10
+ <tiny-tab-item title="业务组件" name="fourth"> 业务组件,与业务紧密相关实现某种业务功能的组件集 </tiny-tab-item>
11
+ </tiny-tabs>
12
+ </template>
13
+
14
+ <script setup>
15
+ import { ref } from 'vue'
16
+ import { Tabs as TinyTabs, TabItem as TinyTabItem } from '@opentiny/vue'
17
+
18
+ const activeName = ref('second')
19
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <tiny-tabs v-model="activeName" overflow-title title-width="100px">
3
+ <tiny-tab-item title="表单组件表单组件表单组件" name="first">
4
+ 表单组件,具有与用户交互,并可完成数据采集功能的控件。
5
+ </tiny-tab-item>
6
+ <tiny-tab-item title="数据组件数据组件数据组件" name="second">
7
+ 数据组件,提供了非常强大数据表格功能,在Grid可以展示数据列表,可以对数据列表进行选择、编辑等
8
+ </tiny-tab-item>
9
+ <tiny-tab-item title="导航组件" name="third"> 导航组件,帮助网站访问者浏览站点的组件. </tiny-tab-item>
10
+ <tiny-tab-item title="业务组件" name="fourth"> 业务组件,与业务紧密相关实现某种业务功能的组件集 </tiny-tab-item>
11
+ </tiny-tabs>
12
+ </template>
13
+
14
+ <script>
15
+ import { Tabs, TabItem } from '@opentiny/vue'
16
+
17
+ export default {
18
+ components: {
19
+ TinyTabs: Tabs,
20
+ TinyTabItem: TabItem
21
+ },
22
+ data() {
23
+ return {
24
+ activeName: 'second'
25
+ }
26
+ }
27
+ }
28
+ </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-tabs v-model="activeName" tab-style="card" :with-close="true" @close="close">
2
+ <tiny-tabs v-model="activeName" tab-style="card" :with-close="true" :before-close="beforeClose" @close="close">
3
3
  <tiny-tab-item
4
4
  :key="item.name"
5
5
  v-for="item in Tabs"
@@ -48,6 +48,10 @@ const Tabs = ref([
48
48
  const instance = getCurrentInstance()
49
49
  const { $message } = instance.appContext.config.globalProperties
50
50
 
51
+ function beforeClose(name) {
52
+ // 只能关闭标签页“其他组件”
53
+ return name === 'fifth'
54
+ }
51
55
  function close(name) {
52
56
  $message({
53
57
  title: 'close 事件',
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <tiny-tabs v-model="activeName" tab-style="card" :with-close="true" @close="close">
2
+ <tiny-tabs v-model="activeName" tab-style="card" :with-close="true" :before-close="beforeClose" @close="close">
3
3
  <tiny-tab-item
4
4
  :key="item.name"
5
5
  v-for="item in Tabs"
@@ -54,6 +54,10 @@ export default {
54
54
  }
55
55
  },
56
56
  methods: {
57
+ beforeClose(name) {
58
+ // 只能关闭标签页“其他组件”
59
+ return name === 'fifth'
60
+ },
57
61
  close(name) {
58
62
  this.$message({
59
63
  title: 'close 事件',
@@ -90,10 +90,10 @@ export default {
90
90
  'en-US': 'Delete'
91
91
  },
92
92
  desc: {
93
- 'zh-CN':
94
- '通过 <code>with-close</code> 打开关闭按钮,并监听 <code>close</code> 事件自定义实现删除页签项的逻辑。',
95
- 'en-US':
96
- 'Open the close button through <code>with-close</code> and listen to the <code>close</code> event to customize the logic of deleting tag items.'
93
+ 'zh-CN': `通过 <code>with-close</code> 打开关闭按钮,并监听 <code>close</code> 事件自定义实现删除页签项的逻辑。
94
+ 通过 <code>beforeClose</code> 函数属性,在关闭前回调该函数,其类型声明为:<code>(name: string)=> boolean | Promise&lt;boolean&gt;</code>`,
95
+ 'en-US': `Use <code>with-close</code> to enable the close button and listen to the <code>close</code> event to customize the logic for deleting tab items.
96
+ The <code>beforeClose</code> function attribute is used to call back the function before the function is closed. The type of the function is declared as <code>(name: string)=> boolean | Promise<boolean></code>.`
97
97
  },
98
98
  codeFiles: ['tabs-events-close.vue']
99
99
  },
@@ -240,6 +240,20 @@ export default {
240
240
  'By setting <code>edit</code> to display both <code>delete</code> and <code>add</code> buttons, <code>edit</code> listens for click events of these two types of buttons.'
241
241
  },
242
242
  codeFiles: ['tabs-events-edit.vue']
243
+ },
244
+ {
245
+ demoId: 'overflow-title',
246
+ name: {
247
+ 'zh-CN': '标题超出显示 tooltip',
248
+ 'en-US': 'The title exceeds the displayed tooltip.'
249
+ },
250
+ desc: {
251
+ 'zh-CN':
252
+ '设置<code>overflow-title</code>属性可让标题超出一定长度(默认 256px)时隐藏并显示...,鼠标移到标题上可显示 tooltip,<code>title-width</code>属性可设置标题超出的长度。',
253
+ 'en-US':
254
+ 'Set the <code>overflow-title</code> attribute to hide and display the title when the title exceeds a certain length (256px by default). Move the cursor to the title to display the tooltip. Set the <code>title-width</code> attribute to set the length of the title.'
255
+ },
256
+ codeFiles: ['overflow-title.vue']
243
257
  }
244
258
  ]
245
259
  }
@@ -9,11 +9,11 @@ test('是否能阻止删除或正常删除标签', async ({ page }) => {
9
9
  const modal = page.locator('.tiny-modal__box').getByText('消息提示确认删除?确认取消')
10
10
 
11
11
  await close.click()
12
- await modal.waitFor({ state: 'attached', timeout: 100 })
12
+ await modal.isVisible()
13
13
  await page.getByRole('button', { name: '取消' }).click()
14
14
  await first.isVisible()
15
15
  await close.click()
16
- await modal.waitFor({ state: 'attached', timeout: 100 })
17
- await page.getByRole('button', { name: '确认' }).click()
16
+ await modal.isVisible()
17
+ await page.getByRole('button', { name: '确定' }).click()
18
18
  await expect(first).not.toBeVisible()
19
19
  })
@@ -3,7 +3,7 @@
3
3
  <tiny-button type="primary" @click="changeShape">
4
4
  点击切换 shape 为 {{ shape === 'dot' ? 'circle' : 'dot' }}
5
5
  </tiny-button>
6
- <tiny-time-line vertical :data="data" :shape="shape"></tiny-time-line>
6
+ <tiny-time-line vertical :data="data" :shape="shape" :active="active" @click="onClick"></tiny-time-line>
7
7
  </div>
8
8
  </template>
9
9
 
@@ -17,12 +17,15 @@ const data = reactive([
17
17
  { name: '已签收', time: '2019-11-13 20:45:50' },
18
18
  { name: '已评价', time: '2019-11-14 20:45:50' }
19
19
  ])
20
-
20
+ const active = ref(1)
21
21
  const shape = ref('dot')
22
22
 
23
23
  const changeShape = () => {
24
24
  shape.value = shape.value === 'dot' ? 'circle' : 'dot'
25
25
  }
26
+ const onClick = (index: number) => {
27
+ active.value = index
28
+ }
26
29
  </script>
27
30
 
28
31
  <style>
@@ -7,6 +7,8 @@ test('圆点外观', async ({ page }) => {
7
7
  const timeline = page.locator('#shape .tiny-steps-timeline')
8
8
  await expect(timeline.locator('.dot').first()).toBeVisible()
9
9
  await expect(timeline.locator('.tiny-timeline-item__content .time').first()).toBeVisible()
10
+ await timeline.getByText('已签收').click()
11
+ await expect(timeline.locator('.tiny-timeline-item').nth(2)).toHaveClass(/process-current/)
10
12
 
11
13
  await page.getByRole('button', { name: '点击切换 shape 为 circle' }).click()
12
14
  await expect(timeline.locator('.dot').first()).not.toBeVisible()
@@ -3,7 +3,7 @@
3
3
  <tiny-button type="primary" @click="changeShape">
4
4
  点击切换 shape 为 {{ shape === 'dot' ? 'circle' : 'dot' }}
5
5
  </tiny-button>
6
- <tiny-time-line vertical :data="data" :shape="shape"></tiny-time-line>
6
+ <tiny-time-line vertical :data="data" :shape="shape" :active="active" @click="onClick"></tiny-time-line>
7
7
  </div>
8
8
  </template>
9
9
 
@@ -23,12 +23,16 @@ export default {
23
23
  { name: '已签收', time: '2019-11-13 20:45:50' },
24
24
  { name: '已评价', time: '2019-11-14 20:45:50' }
25
25
  ],
26
+ active: 1,
26
27
  shape: 'dot'
27
28
  }
28
29
  },
29
30
  methods: {
30
31
  changeShape() {
31
32
  this.shape = this.shape === 'dot' ? 'circle' : 'dot'
33
+ },
34
+ onClick(index: number) {
35
+ this.active = index
32
36
  }
33
37
  }
34
38
  }
@@ -13,6 +13,6 @@ const data = reactive([{ name: 'Basic Info' }, { name: 'BOQ Info' }, { name: 'In
13
13
  const normalClick = (index, node) => {
14
14
  normalActive.value = index
15
15
 
16
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
16
+ Modal.message({ message: `节点 index: ${index}; 节点信息: ${JSON.stringify(node)}`, status: 'info' })
17
17
  }
18
18
  </script>
@@ -20,7 +20,7 @@ export default {
20
20
  normalClick(index, node) {
21
21
  this.normalActive = index
22
22
 
23
- Modal.message(`节点index: ${index}; 节点信息: ${JSON.stringify(node)}.`)
23
+ Modal.message({ message: `节点 index: ${index}; 节点信息: ${JSON.stringify(node)}`, status: 'info' })
24
24
  }
25
25
  }
26
26
  }
@@ -12,7 +12,15 @@ test('测试禁用状态', async ({ page }) => {
12
12
  // 部分禁用
13
13
  const timePicker = page.getByRole('textbox', { name: '18:40:00' }).nth(1)
14
14
  await page.getByRole('textbox', { name: '18:40:00' }).nth(1).click()
15
- await page.locator('div:nth-child(9) > .tiny-time-panel__content > .tiny-time-spinner > div > .tiny-scrollbar__wrap > .tiny-scrollbar__view > li:nth-child(18) > span').first().click()
15
+ await page.waitForTimeout(100)
16
+ await page
17
+ .locator(
18
+ 'div:nth-child(8) > .tiny-time-panel__content > .tiny-time-spinner > div > .tiny-scrollbar__wrap > .tiny-scrollbar__view > li:nth-child(18)'
19
+ )
20
+ .first()
21
+ .click()
22
+ await page.waitForTimeout(100)
16
23
  await page.getByRole('button', { name: '确定' }).click()
24
+ await page.waitForTimeout(100)
17
25
  await expect(timePicker).toBeVisible()
18
26
  })
@@ -15,6 +15,5 @@ test('事件', async ({ page }) => {
15
15
  await confirmBtn.click()
16
16
  await expect(modal.filter({ hasText: 'blur事件' })).toBeVisible()
17
17
  await focusBtn.click()
18
- // TINY-TODO: focus 方法不生效,picker 组件 renderless 中的 focus 方法存在问题
19
- // await expect(timeSelect).toBeVisible()
18
+ await expect(timeSelect).toBeVisible()
20
19
  })
@@ -32,10 +32,17 @@ test('时间格式化', async ({ page }) => {
32
32
  await expect(page.getByRole('textbox', { name: '19:30:00' })).toBeVisible()
33
33
 
34
34
  // picker-options.format: 下拉框中显示的格式
35
- const timePickerHour = page.locator('.of-hidden > div:nth-child(14) .tiny-scrollbar').nth(0)
36
- const timePickerMinute = page.locator('.of-hidden > div:nth-child(14) .tiny-scrollbar').nth(1)
37
- const timePickerSecond = page.locator('.of-hidden > div:nth-child(14) .tiny-scrollbar').nth(2)
35
+ const timePickerHour = page
36
+ .locator(
37
+ 'div:nth-child(13) > .tiny-time-panel__content > .tiny-time-spinner > div > .tiny-scrollbar__wrap > .tiny-scrollbar__view > li:nth-child(19)'
38
+ )
39
+ .first()
40
+ const timePickerMinute = page.locator(
41
+ 'div:nth-child(13) > .tiny-time-panel__content > .tiny-time-spinner > div:nth-child(2) > .tiny-scrollbar__wrap > .tiny-scrollbar__view > li:nth-child(41)'
42
+ )
43
+ const timePickerSecond = page.locator('.of-hidden > div:nth-child(12) .tiny-scrollbar').nth(2)
38
44
  await page.getByRole('textbox', { name: '18:40:00' }).click()
45
+ await page.waitForTimeout(200)
39
46
  await expect(timePickerHour).toBeVisible()
40
47
  await expect(timePickerMinute).toBeVisible()
41
48
  await expect(timePickerSecond).not.toBeVisible()
@@ -5,7 +5,10 @@ test('步长', async ({ page }) => {
5
5
  await page.goto('time-picker#step')
6
6
 
7
7
  await page.getByRole('textbox', { name: '18:40:00' }).click()
8
- await page.locator('div:nth-child(9) > .tiny-time-panel__content > .tiny-time-spinner > div > .tiny-scrollbar__wrap > .tiny-scrollbar__view > li:nth-child(11) > span').first().click()
8
+ await page.waitForTimeout(100)
9
+ await page.locator('li').filter({ hasText: '20' }).first().click()
10
+ await page.waitForTimeout(100)
9
11
  await page.getByRole('button', { name: '确定' }).click()
12
+ await page.waitForTimeout(100)
10
13
  await expect(page.getByRole('textbox', { name: '20:40:00' })).toBeVisible()
11
14
  })
@@ -6,7 +6,7 @@ test('基础用法', async ({ page }) => {
6
6
  const input = page.locator('#basic-usage').locator('.tiny-input__inner')
7
7
  const timeInput = page.locator('#basic-usage').getByRole('textbox', { name: '选择时间' })
8
8
  await timeInput.click()
9
- await page.getByText('10:00').nth(1).click()
9
+ await page.getByText('10:00').click()
10
10
  await expect(input).toHaveValue('10:00')
11
11
 
12
12
  // 手动输入
@@ -7,7 +7,7 @@ test('自定义清空图标', async ({ page }) => {
7
7
  const timeInput = page.getByRole('textbox', { name: '选择时间' })
8
8
  const input = demo.locator('.tiny-input__inner')
9
9
  await timeInput.click()
10
- await page.getByText('10:00').nth(1).click()
10
+ await page.getByText('10:00').click()
11
11
  await input.hover()
12
12
  // 点击图标,清除输入框内容
13
13
  await page.locator('#clear-icon svg').first().click()
@@ -5,6 +5,6 @@ test('选择器打开时默认时间设置', async ({ page }) => {
5
5
  await page.goto('time-select#default-value')
6
6
  const demo = page.locator('#default-value')
7
7
  await demo.locator('.tiny-date-editor').click()
8
- const defaultSelect = page.getByText('10:00').nth(1)
8
+ const defaultSelect = page.getByText('10:00')
9
9
  await expect(defaultSelect).toHaveClass(/default/)
10
10
  })
@@ -17,15 +17,15 @@ import { TimeSelect as TinyTimeSelect, Modal } from '@opentiny/vue'
17
17
  const value1 = ref('08:30')
18
18
 
19
19
  function bulr() {
20
- Modal.message('blur事件')
20
+ Modal.message({ message: 'blur事件', status: 'info' })
21
21
  }
22
22
 
23
23
  function change() {
24
- Modal.message('change事件')
24
+ Modal.message({ message: 'change事件', status: 'info' })
25
25
  }
26
26
 
27
27
  function focus() {
28
- Modal.message('focus事件')
28
+ Modal.message({ message: 'focus事件', status: 'info' })
29
29
  }
30
30
  </script>
31
31
 
@@ -6,7 +6,7 @@ test('事件', async ({ page }) => {
6
6
  await page.getByPlaceholder('选择时间范围').getByTitle('08:30').first().click()
7
7
  const focusDiv = page.locator('div').filter({ hasText: 'focus事件' }).nth(1)
8
8
  await expect(focusDiv).toBeVisible()
9
- await page.getByText('10:00').nth(1).click()
9
+ await page.getByText('10:00').click()
10
10
  const change = page.locator('div:nth-child(9) > .tiny-modal__box')
11
11
  await expect(change).toBeVisible
12
12
  const blurDiv = page.locator('div').filter({ hasText: 'blur事件' }).nth(1)
@@ -24,13 +24,13 @@ export default {
24
24
  },
25
25
  methods: {
26
26
  bulr() {
27
- Modal.message('blur事件')
27
+ Modal.message({ message: 'blur事件', status: 'info' })
28
28
  },
29
29
  change(value) {
30
- Modal.message(value)
30
+ Modal.message({ message: value, status: 'info' })
31
31
  },
32
32
  focus() {
33
- Modal.message('focus事件')
33
+ Modal.message({ message: 'focus事件', status: 'info' })
34
34
  }
35
35
  }
36
36
  }
@@ -13,7 +13,7 @@ const value = ref('')
13
13
  const timeSelectRef = ref()
14
14
 
15
15
  function hanleFocus() {
16
- timeSelectRef.value.handleFocus()
16
+ timeSelectRef.value.focus()
17
17
  }
18
18
  </script>
19
19
 
@@ -4,7 +4,6 @@ test('事件', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('time-select#focus')
6
6
  await page.getByRole('button', { name: '手动获取焦点' }).click()
7
- // 需要先解决time-select的focus事件
8
- // const focus = page.getByRole('textbox', { name: '选择时间' })
9
- // await expect(focus).toBeFocused()
7
+ const focus = page.getByRole('textbox', { name: '选择时间' })
8
+ await expect(focus).toBeFocused()
10
9
  })
@@ -20,7 +20,7 @@ export default {
20
20
  },
21
21
  methods: {
22
22
  hanleFocus() {
23
- this.$refs.timeSelect.handleFocus()
23
+ this.$refs.timeSelect.focus()
24
24
  }
25
25
  }
26
26
  }
@@ -4,7 +4,7 @@ test('固定时间范围', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).toBeNull())
5
5
  await page.goto('time-select#range-placeholder')
6
6
  const timeInput = page.getByRole('textbox', { name: '起始时间' })
7
- const options = page.locator('.tiny-picker-panel').nth(3).locator('div')
7
+ const options = page.locator('.tiny-picker-panel').nth(1).locator('div')
8
8
  await timeInput.click()
9
9
  // options的第一条是options.first(),时间是08:30;最后一条(最大时间)是options.nth(43),时间是18:30
10
10
  await expect(options.first()).toContainText('08:30')
@@ -14,7 +14,7 @@ test('固定时间范围', async ({ page }) => {
14
14
  await expect(page.locator('.tiny-input-suffix .tiny-input__inner').first()).toHaveValue('10:00')
15
15
 
16
16
  const timeEnd = page.getByRole('textbox', { name: '结束时间' })
17
- const endOptions = page.locator('.tiny-picker-panel').nth(3).locator('div')
17
+ const endOptions = page.locator('.tiny-picker-panel').nth(1).locator('div')
18
18
  await timeEnd.click()
19
19
  await expect(endOptions.first()).toContainText('08:30')
20
20
  await expect(endOptions.nth(43)).toContainText('18:30')
@@ -1,30 +1,32 @@
1
1
  <template>
2
- <div class="box">
3
- Effects 示例:
4
- <tiny-tooltip content="dark 提示文字" placement="top">
5
- <tiny-button>Dark</tiny-button>
6
- </tiny-tooltip>
7
- <tiny-tooltip effect="light" content="light 提示文字" placement="top">
8
- <tiny-button>Light</tiny-button>
9
- </tiny-tooltip>
10
- </div>
11
- <div class="box">
12
- Types 示例:
13
- <tiny-tooltip type="normal" content="normal 提示文字" placement="top">
14
- <tiny-button>normal</tiny-button>
15
- </tiny-tooltip>
16
- <tiny-tooltip type="warning" content="warning 提示文字" placement="top">
17
- <tiny-button>warning</tiny-button>
18
- </tiny-tooltip>
19
- <tiny-tooltip type="error" content="error 提示文字" placement="top">
20
- <tiny-button>error</tiny-button>
21
- </tiny-tooltip>
22
- <tiny-tooltip type="info" content="info 提示文字" placement="top">
23
- <tiny-button>info</tiny-button>
24
- </tiny-tooltip>
25
- <tiny-tooltip type="success" content="success 提示文字" placement="top">
26
- <tiny-button>success</tiny-button>
27
- </tiny-tooltip>
2
+ <div>
3
+ <div class="box">
4
+ Effects 示例:
5
+ <tiny-tooltip content="dark 提示文字" placement="top">
6
+ <tiny-button>Dark</tiny-button>
7
+ </tiny-tooltip>
8
+ <tiny-tooltip effect="light" content="light 提示文字" placement="top">
9
+ <tiny-button>Light</tiny-button>
10
+ </tiny-tooltip>
11
+ </div>
12
+ <div class="box">
13
+ Types 示例:
14
+ <tiny-tooltip type="normal" content="normal 提示文字" placement="top">
15
+ <tiny-button>normal</tiny-button>
16
+ </tiny-tooltip>
17
+ <tiny-tooltip type="warning" content="warning 提示文字" placement="top">
18
+ <tiny-button>warning</tiny-button>
19
+ </tiny-tooltip>
20
+ <tiny-tooltip type="error" content="error 提示文字" placement="top">
21
+ <tiny-button>error</tiny-button>
22
+ </tiny-tooltip>
23
+ <tiny-tooltip type="info" content="info 提示文字" placement="top">
24
+ <tiny-button>info</tiny-button>
25
+ </tiny-tooltip>
26
+ <tiny-tooltip type="success" content="success 提示文字" placement="top">
27
+ <tiny-button>success</tiny-button>
28
+ </tiny-tooltip>
29
+ </div>
28
30
  </div>
29
31
  </template>
30
32
 
@@ -1,30 +1,32 @@
1
1
  <template>
2
- <div class="box">
3
- Effects 示例:
4
- <tiny-tooltip content="dark 提示文字" placement="top">
5
- <tiny-button>Dark</tiny-button>
6
- </tiny-tooltip>
7
- <tiny-tooltip effect="light" content="light 提示文字" placement="top">
8
- <tiny-button>Light</tiny-button>
9
- </tiny-tooltip>
10
- </div>
11
- <div class="box">
12
- Types 示例:
13
- <tiny-tooltip type="normal" content="normal 提示文字" placement="top">
14
- <tiny-button>normal</tiny-button>
15
- </tiny-tooltip>
16
- <tiny-tooltip type="warning" content="warning 提示文字" placement="top">
17
- <tiny-button>warning</tiny-button>
18
- </tiny-tooltip>
19
- <tiny-tooltip type="error" content="error 提示文字" placement="top">
20
- <tiny-button>error</tiny-button>
21
- </tiny-tooltip>
22
- <tiny-tooltip type="info" content="info 提示文字" placement="top">
23
- <tiny-button>info</tiny-button>
24
- </tiny-tooltip>
25
- <tiny-tooltip type="success" content="success 提示文字" placement="top">
26
- <tiny-button>success</tiny-button>
27
- </tiny-tooltip>
2
+ <div>
3
+ <div class="box">
4
+ Effects 示例:
5
+ <tiny-tooltip content="dark 提示文字" placement="top">
6
+ <tiny-button>Dark</tiny-button>
7
+ </tiny-tooltip>
8
+ <tiny-tooltip effect="light" content="light 提示文字" placement="top">
9
+ <tiny-button>Light</tiny-button>
10
+ </tiny-tooltip>
11
+ </div>
12
+ <div class="box">
13
+ Types 示例:
14
+ <tiny-tooltip type="normal" content="normal 提示文字" placement="top">
15
+ <tiny-button>normal</tiny-button>
16
+ </tiny-tooltip>
17
+ <tiny-tooltip type="warning" content="warning 提示文字" placement="top">
18
+ <tiny-button>warning</tiny-button>
19
+ </tiny-tooltip>
20
+ <tiny-tooltip type="error" content="error 提示文字" placement="top">
21
+ <tiny-button>error</tiny-button>
22
+ </tiny-tooltip>
23
+ <tiny-tooltip type="info" content="info 提示文字" placement="top">
24
+ <tiny-button>info</tiny-button>
25
+ </tiny-tooltip>
26
+ <tiny-tooltip type="success" content="success 提示文字" placement="top">
27
+ <tiny-button>success</tiny-button>
28
+ </tiny-tooltip>
29
+ </div>
28
30
  </div>
29
31
  </template>
30
32